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 #2
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 #3
0
 /**
  * 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;
 }