AutorÃa | Ultima modificación | Ver Log |
<?phpnamespace IMSGlobal\LTI\ToolProvider;use IMSGlobal\LTI\ToolProvider\DataConnector\DataConnector;use IMSGlobal\LTI\ToolProvider\MediaType;/*** Class to represent an LTI Tool Proxy** @author Stephen P Vickers <svickers@imsglobal.org>* @copyright IMS Global Learning Consortium Inc* @date 2016* @version 3.0.2* @license GNU Lesser General Public License, version 3 (<http://www.gnu.org/licenses/lgpl.html>)*/#[\AllowDynamicProperties]class ToolProxy{/*** Local id of tool consumer.** @var string $id*/public $id = null;/*** Tool Consumer for this tool proxy.** @var ToolConsumer $consumer*/private $consumer = null;/*** Tool Consumer ID for this tool proxy.** @var int $consumerId*/private $consumerId = null;/*** Consumer ID value.** @var int $id*/private $recordId = null;/*** Data connector object.** @var DataConnector $dataConnector*/private $dataConnector = null;/*** Tool Proxy document.** @var MediaType\ToolProxy $toolProxy*/private $toolProxy = null;/*** Class constructor.** @param DataConnector $dataConnector Data connector* @param string $id Tool Proxy ID (optional, default is null)*/public function __construct($dataConnector, $id = null){$this->initialize();$this->dataConnector = $dataConnector;if (!empty($id)) {$this->load($id);} else {$this->recordId = DataConnector::getRandomString(32);}}/*** Initialise the tool proxy.*/public function initialize(){$this->id = null;$this->recordId = null;$this->toolProxy = null;$this->created = null;$this->updated = null;}/*** Initialise the tool proxy.** Pseudonym for initialize().*/public function initialise(){$this->initialize();}/*** Get the tool proxy record ID.** @return int Tool Proxy record ID value*/public function getRecordId(){return $this->recordId;}/*** Sets the tool proxy record ID.** @param int $recordId Tool Proxy record ID value*/public function setRecordId($recordId){$this->recordId = $recordId;}/*** Get tool consumer.** @return ToolConsumer Tool consumer object for this context.*/public function getConsumer(){if (is_null($this->consumer)) {$this->consumer = ToolConsumer::fromRecordId($this->consumerId, $this->getDataConnector());}return $this->consumer;}/*** Set tool consumer ID.** @param int $consumerId Tool Consumer ID for this resource link.*/public function setConsumerId($consumerId){$this->consumer = null;$this->consumerId = $consumerId;}/*** Get the data connector.** @return DataConnector Data connector object*/public function getDataConnector(){return $this->dataConnector;}###### PRIVATE METHOD###/*** Load the tool proxy from the database.** @param string $id The tool proxy id value** @return boolean True if the tool proxy was successfully loaded*/private function load($id){$this->initialize();$this->id = $id;$ok = $this->dataConnector->loadToolProxy($this);if (!$ok) {$this->enabled = $autoEnable;}return $ok;}}