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; }
/** * Test for data_connector::saveToolConsumer(). */ public function test_save_consumer() { $dc = new data_connector(); $time = time(); $data = ['name' => 'TestName', 'secret' => 'TestSecret', 'ltiversion' => ToolProvider::LTI_VERSION1, 'consumername' => 'TestConsumerName', 'consumerversion' => 'TestConsumerVersion', 'consumerguid' => 'TestConsumerGuid', 'profile' => json_decode('{TestProfile}'), 'toolproxy' => 'TestProxy', 'settings' => ['setting1' => 'TestSetting 1', 'setting2' => 'TestSetting 2'], 'protected' => 1, 'enabled' => 0, 'enablefrom' => $time, 'enableuntil' => $time + 1, 'lastaccess' => strtotime(date('Y-m-d'))]; $consumer = new ToolConsumer(); $consumer->name = $data['name']; $consumer->setKey('TestKey'); $consumer->secret = $data['secret']; $consumer->ltiVersion = $data['ltiversion']; $consumer->consumerName = $data['consumername']; $consumer->consumerVersion = $data['consumerversion']; $consumer->consumerGuid = $data['consumerguid']; $consumer->profile = $data['profile']; $consumer->toolProxy = $data['toolproxy']; $consumer->setSettings($data['settings']); $consumer->protected = true; $consumer->enabled = false; $consumer->enableFrom = $data['enablefrom']; $consumer->enableUntil = $data['enableuntil']; $consumer->lastAccess = $data['lastaccess']; // Save new consumer into the DB. $this->assertTrue($dc->saveToolConsumer($consumer)); // Check saved values. $this->assertEquals($consumer->name, $data['name']); $this->assertEquals($consumer->getKey(), 'TestKey'); $this->assertEquals($consumer->secret, $data['secret']); $this->assertEquals($consumer->ltiVersion, $data['ltiversion']); $this->assertEquals($consumer->consumerName, $data['consumername']); $this->assertEquals($consumer->consumerVersion, $data['consumerversion']); $this->assertEquals($consumer->consumerGuid, $data['consumerguid']); $this->assertEquals($consumer->profile, $data['profile']); $this->assertEquals($consumer->toolProxy, $data['toolproxy']); $this->assertEquals($consumer->getSettings(), $data['settings']); $this->assertTrue($consumer->protected); $this->assertFalse($consumer->enabled); $this->assertEquals($consumer->enableFrom, $data['enablefrom']); $this->assertEquals($consumer->enableUntil, $data['enableuntil']); $this->assertEquals($consumer->lastAccess, $data['lastaccess']); // Edit values. $edit = 'EDIT'; $consumer->name = $data['name'] . $edit; $consumer->setKey('TestKey' . $edit); $consumer->secret = $data['secret'] . $edit; $consumer->ltiVersion = ToolProvider::LTI_VERSION2; $consumer->consumerName = $data['consumername'] . $edit; $consumer->consumerVersion = $data['consumerversion'] . $edit; $consumer->consumerGuid = $data['consumerguid'] . $edit; $editprofile = json_decode('{TestProfile}'); $consumer->profile = $editprofile; $consumer->toolProxy = $data['toolproxy'] . $edit; $editsettings = ['setting1' => 'TestSetting 1' . $edit, 'setting2' => 'TestSetting 2' . $edit]; $consumer->setSettings($editsettings); $consumer->protected = null; $consumer->enabled = null; $consumer->enableFrom = $data['enablefrom'] + 100; $consumer->enableUntil = $data['enableuntil'] + 100; // Save edited values. $this->assertTrue($dc->saveToolConsumer($consumer)); // Check edited values. $this->assertEquals($consumer->name, $data['name'] . $edit); $this->assertEquals($consumer->getKey(), 'TestKey' . $edit); $this->assertEquals($consumer->secret, $data['secret'] . $edit); $this->assertEquals($consumer->ltiVersion, ToolProvider::LTI_VERSION2); $this->assertEquals($consumer->consumerName, $data['consumername'] . $edit); $this->assertEquals($consumer->consumerVersion, $data['consumerversion'] . $edit); $this->assertEquals($consumer->consumerGuid, $data['consumerguid'] . $edit); $this->assertEquals($consumer->profile, $editprofile); $this->assertEquals($consumer->toolProxy, $data['toolproxy'] . $edit); $this->assertEquals($consumer->getSettings(), $editsettings); $this->assertNull($consumer->protected); $this->assertNull($consumer->enabled); $this->assertEquals($consumer->enableFrom, $data['enablefrom'] + 100); $this->assertEquals($consumer->enableUntil, $data['enableuntil'] + 100); }
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; }