Beispiel #1
1
 /**
  * Delete plugin specific information.
  *
  * @param stdClass $instance
  * @return void
  */
 public function delete_instance($instance)
 {
     global $DB;
     // Get the tool associated with this instance.
     $tool = $DB->get_record('enrol_lti_tools', array('enrolid' => $instance->id), 'id', MUST_EXIST);
     // Delete any users associated with this tool.
     $DB->delete_records('enrol_lti_users', array('toolid' => $tool->id));
     // Get tool and consumer mappings.
     $rsmapping = $DB->get_recordset('enrol_lti_tool_consumer_map', array('toolid' => $tool->id));
     // Delete consumers that are linked to this tool and their related data.
     $dataconnector = new data_connector();
     foreach ($rsmapping as $mapping) {
         $consumer = new ToolConsumer(null, $dataconnector);
         $consumer->setRecordId($mapping->consumerid);
         $dataconnector->deleteToolConsumer($consumer);
     }
     $rsmapping->close();
     // Delete mapping records.
     $DB->delete_records('enrol_lti_tool_consumer_map', array('toolid' => $tool->id));
     // Delete the lti tool record.
     $DB->delete_records('enrol_lti_tools', array('id' => $tool->id));
     // Time for the parent to do it's thang, yeow.
     parent::delete_instance($instance);
 }
 public function getToolConsumers()
 {
     $consumers = array();
     $sql = 'SELECT consumer_pk, consumer_key, consumer_key, name, secret, lti_version, consumer_name, consumer_version, consumer_guid, ' . 'profile, tool_proxy, settings, ' . 'protected, enabled, enable_from, enable_until, last_access, created, updated ' . "FROM {$this->dbTableNamePrefix}" . DataConnector::CONSUMER_TABLE_NAME . ' ' . 'ORDER BY name';
     $rsConsumers = mysql_query($sql);
     if ($rsConsumers) {
         while ($row = mysql_fetch_object($rsConsumers)) {
             $consumer = new ToolProvider\ToolConsumer($row->consumer_key, $this);
             $consumer->setRecordId(intval($row->consumer_pk));
             $consumer->name = $row->name;
             $consumer->secret = $row->secret;
             $consumer->ltiVersion = $row->lti_version;
             $consumer->consumerName = $row->consumer_name;
             $consumer->consumerVersion = $row->consumer_version;
             $consumer->consumerGuid = $row->consumer_guid;
             $consumer->profile = json_decode($row->profile);
             $consumer->toolProxy = $row->tool_proxy;
             $settings = unserialize($row->settings);
             if (!is_array($settings)) {
                 $settings = array();
             }
             $consumer->setSettings($settings);
             $consumer->protected = intval($row->protected) === 1;
             $consumer->enabled = intval($row->enabled) === 1;
             $consumer->enableFrom = null;
             if (!is_null($row->enable_from)) {
                 $consumer->enableFrom = strtotime($row->enable_from);
             }
             $consumer->enableUntil = null;
             if (!is_null($row->enable_until)) {
                 $consumer->enableUntil = strtotime($row->enable_until);
             }
             $consumer->lastAccess = null;
             if (!is_null($row->last_access)) {
                 $consumer->lastAccess = strtotime($row->last_access);
             }
             $consumer->created = strtotime($row->created);
             $consumer->updated = strtotime($row->updated);
             $consumers[] = $consumer;
         }
         mysql_free_result($rsConsumers);
     }
     return $consumers;
 }
Beispiel #3
0
 /**
  * Builds a ToolConsumer object from a record object from the DB.
  *
  * @param stdClass $record The DB record object.
  * @param ToolConsumer $consumer
  */
 protected function build_tool_consumer_object($record, ToolConsumer $consumer)
 {
     $consumer->setRecordId($record->id);
     $consumer->name = $record->name;
     $key = empty($record->consumerkey) ? $record->consumerkey256 : $record->consumerkey;
     $consumer->setKey($key);
     $consumer->secret = $record->secret;
     $consumer->ltiVersion = $record->ltiversion;
     $consumer->consumerName = $record->consumername;
     $consumer->consumerVersion = $record->consumerversion;
     $consumer->consumerGuid = $record->consumerguid;
     $consumer->profile = json_decode($record->profile);
     $consumer->toolProxy = $record->toolproxy;
     $settings = unserialize($record->settings);
     if (!is_array($settings)) {
         $settings = array();
     }
     $consumer->setSettings($settings);
     $consumer->protected = $record->protected == 1;
     $consumer->enabled = $record->enabled == 1;
     $consumer->enableFrom = null;
     if (!is_null($record->enablefrom)) {
         $consumer->enableFrom = $record->enablefrom;
     }
     $consumer->enableUntil = null;
     if (!is_null($record->enableuntil)) {
         $consumer->enableUntil = $record->enableuntil;
     }
     $consumer->lastAccess = null;
     if (!is_null($record->lastaccess)) {
         $consumer->lastAccess = $record->lastaccess;
     }
     $consumer->created = $record->created;
     $consumer->updated = $record->updated;
 }
Beispiel #4
0
 /**
  * Load the tool consumer from the database by its record ID.
  *
  * @param string          $id                The consumer key record ID
  * @param DataConnector   $dataConnector    Database connection object
  *
  * @return object ToolConsumer       The tool consumer object
  */
 public static function fromRecordId($id, $dataConnector)
 {
     $toolConsumer = new ToolConsumer(null, $dataConnector);
     $toolConsumer->initialize();
     $toolConsumer->setRecordId($id);
     if (!$dataConnector->loadToolConsumer($toolConsumer)) {
         $toolConsumer->initialize();
     }
     return $toolConsumer;
 }
 public function getToolConsumers()
 {
     $consumers = array();
     $sql = 'SELECT consumer_pk, name, consumer_key256, consumer_key, secret, lti_version, ' . 'consumer_name, consumer_version, consumer_guid, ' . 'profile, tool_proxy, settings, protected, enabled, ' . 'enable_from, enable_until, last_access, created, updated ' . "FROM {$this->dbTableNamePrefix}" . DataConnector::CONSUMER_TABLE_NAME . ' ' . 'ORDER BY name';
     $query = $this->db->prepare($sql);
     $ok = $query !== FALSE;
     if ($ok) {
         $ok = $query->execute();
     }
     if ($ok) {
         while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
             $row = array_change_key_case($row);
             $key = empty($row['consumer_key']) ? $row['consumer_key256'] : $row['consumer_key'];
             $consumer = new ToolProvider\ToolConsumer($key, $this);
             $consumer->setRecordId(intval($row['consumer_pk']));
             $consumer->name = $row['name'];
             $consumer->secret = $row['secret'];
             $consumer->ltiVersion = $row['lti_version'];
             $consumer->consumerName = $row['consumer_name'];
             $consumer->consumerVersion = $row['consumer_version'];
             $consumer->consumerGuid = $row['consumer_guid'];
             $consumer->profile = json_decode($row['profile']);
             $consumer->toolProxy = $row['tool_proxy'];
             $settings = unserialize($row['settings']);
             if (!is_array($settings)) {
                 $settings = array();
             }
             $consumer->setSettings($settings);
             $consumer->protected = intval($row['protected']) === 1;
             $consumer->enabled = intval($row['enabled']) === 1;
             $consumer->enableFrom = null;
             if (!is_null($row['enable_from'])) {
                 $consumer->enableFrom = strtotime($row['enable_from']);
             }
             $consumer->enableUntil = null;
             if (!is_null($row['enable_until'])) {
                 $consumer->enableUntil = strtotime($row['enable_until']);
             }
             $consumer->lastAccess = null;
             if (!is_null($row['last_access'])) {
                 $consumer->lastAccess = strtotime($row['last_access']);
             }
             $consumer->created = strtotime($row['created']);
             $consumer->updated = strtotime($row['updated']);
             $consumers[] = $consumer;
         }
     }
     return $consumers;
 }