/** * 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; }
/** * 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; }
/** * 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; }