Example #1
0
 /**
  * Save context object.
  *
  * @param Context $context Context object
  * @return boolean True if the context object was successfully saved
  */
 public function saveContext($context)
 {
     global $DB;
     $now = time();
     $context->updated = $now;
     $settingsvalue = serialize($context->getSettings());
     $id = $context->getRecordId();
     $consumerpk = $context->getConsumer()->getRecordId();
     $isinsert = empty($id);
     if ($isinsert) {
         $context->created = $now;
         $params = ['consumerid' => $consumerpk, 'lticontextkey' => $context->ltiContextId, 'settings' => $settingsvalue, 'created' => $context->created, 'updated' => $context->updated];
         $id = $DB->insert_record($this->contexttable, (object) $params);
         if ($id) {
             $context->setRecordId($id);
             return true;
         }
     } else {
         $data = (object) ['id' => $id, 'contextid' => $consumerpk, 'lticontextkey' => $context->ltiContextId, 'settings' => $settingsvalue, 'updated' => $context->updated];
         return $DB->update_record($this->contexttable, $data);
     }
     return false;
 }
 /**
  * Save context object.
  *
  * @param Context $context Context object
  *
  * @return boolean True if the context object was successfully saved
  */
 public function saveContext($context)
 {
     $time = time();
     $now = date("{$this->dateFormat} {$this->timeFormat}", $time);
     $settingsValue = serialize($context->getSettings());
     $id = $context->getRecordId();
     $consumer_pk = $context->getConsumer()->getRecordId();
     if (empty($id)) {
         $sql = sprintf("INSERT INTO {$this->dbTableNamePrefix}" . DataConnector::CONTEXT_TABLE_NAME . ' (consumer_pk, lti_context_id, ' . 'type, settings, created, updated) ' . 'VALUES (%d, %s, %s, %s, %s, %s)', $consumer_pk, DataConnector::quoted($context->ltiContextId), DataConnector::quoted($context->type), DataConnector::quoted($settingsValue), DataConnector::quoted($now), DataConnector::quoted($now));
     } else {
         $sql = sprintf("UPDATE {$this->dbTableNamePrefix}" . DataConnector::CONTEXT_TABLE_NAME . ' SET ' . 'lti_context_id = %s, type = %s, settings = %s, ' . 'updated = %s' . 'WHERE (consumer_pk = %d) AND (context_pk = %d)', DataConnector::quoted($context->ltiContextId), DataConnector::quoted($context->type), DataConnector::quoted($settingsValue), DataConnector::quoted($now), $consumer_pk, $id);
     }
     $ok = mysql_query($sql);
     if ($ok) {
         if (empty($id)) {
             $context->setRecordId(mysql_insert_id());
             $context->created = $time;
         }
         $context->updated = $time;
     }
     return $ok;
 }
Example #3
0
 /**
  * Save context object.
  *
  * @param Context $context Context object
  *
  * @return boolean True if the context object was successfully saved
  */
 public function saveContext($context)
 {
     $time = time();
     $now = date("{$this->dateFormat} {$this->timeFormat}", $time);
     $settingsValue = serialize($context->getSettings());
     $id = $context->getRecordId();
     $consumer_pk = $context->getConsumer()->getRecordId();
     if (empty($id)) {
         $sql = "INSERT INTO {$this->dbTableNamePrefix}" . DataConnector::CONTEXT_TABLE_NAME . ' (consumer_pk, lti_context_id, ' . 'type, settings, created, updated) ' . 'VALUES (:cid, :ctx, :type, :settings, :created, :updated)';
         $query = $this->db->prepare($sql);
         $query->bindValue('cid', $consumer_pk, PDO::PARAM_INT);
         $query->bindValue('ctx', $context->ltiContextId, PDO::PARAM_STR);
         $query->bindValue('type', $context->type, PDO::PARAM_STR);
         $query->bindValue('settings', $settingsValue, PDO::PARAM_STR);
         $query->bindValue('created', $now, PDO::PARAM_STR);
         $query->bindValue('updated', $now, PDO::PARAM_STR);
     } else {
         $sql = "UPDATE {$this->dbTableNamePrefix}" . DataConnector::CONTEXT_TABLE_NAME . ' SET ' . 'lti_context_id = :ctx, type = :type, settings = :settings, ' . 'updated = :updated ' . 'WHERE (consumer_pk = :cid) AND (context_pk = :ctxid)';
         $query = $this->db->prepare($sql);
         $query->bindValue('ctx', $context->ltiContextId, PDO::PARAM_STR);
         $query->bindValue('type', $context->type, PDO::PARAM_STR);
         $query->bindValue('settings', $settingsValue, PDO::PARAM_STR);
         $query->bindValue('updated', $now, PDO::PARAM_STR);
         $query->bindValue('cid', $consumer_pk, PDO::PARAM_INT);
         $query->bindValue('ctxid', $id, PDO::PARAM_INT);
     }
     $ok = $query->execute();
     if ($ok) {
         if (empty($id)) {
             $context->setRecordId(intval($this->db->lastInsertId()));
             $context->created = $time;
         }
         $context->updated = $time;
     }
     return $ok;
 }