Ejemplo n.º 1
0
 /**
  * Assigns resource ownership to a user.
  *
  * @param \Core\Base\Model $resource Resource Instance.
  * @param \Core\Base\Model $owner    User Owner.
  *
  * @return void
  */
 public static function assign(Base\Model $resource, Base\Model $owner = null)
 {
     if (!$owner) {
         $owner = Core\Registry()->get('current_cms_user');
     }
     $query = new Core\Modules\DB\Query();
     Core\DB()->run($query->insert(array('owner_id', 'resource_id', 'model'), array($owner->getPrimaryKeyValue(), $resource->getPrimaryKeyValue(), get_class($resource)))->into('cms_ownership'));
 }
Ejemplo n.º 2
0
 /**
  * Stores value by key.
  *
  * @param string  $key    Cache key.
  * @param mixed   $value  Cache value.
  * @param integer $expire Expire time, in seconds(optional).
  *
  * @access public
  * @uses   Core\Modules\DB\Query
  *
  * @return boolean
  */
 public function store($key, $value, $expire = 0)
 {
     if ($expire) {
         $expire = time() + $expire;
     }
     $value = json_encode($value);
     $query = new Query();
     $exists = $query->select('all')->from($this->tableName)->where("{$this->fields[0]} = ?", array(md5($key)))->first();
     if (is_null($exists)) {
         $insert = $query->insert($this->fields, array(md5($key), $value, $expire))->into($this->tableName);
         return Core\DB()->run($insert);
     } else {
         $update = $query->update($this->tableName)->set($this->fields, array(md5($key), $value, $expire))->where("{$this->fields[0]} = ?", array(md5($key)));
         return Core\DB()->run($update);
     }
 }
Ejemplo n.º 3
0
 /**
  * After next migration execution hook.
  *
  * @return void
  */
 private function afterUp()
 {
     $query = new Query();
     $query->insert(array('version'), array($this->version))->into('migrations')->run();
 }
Ejemplo n.º 4
0
 /**
  * Inserts the object into the database.
  *
  * @access private
  *
  * @return boolean
  */
 private function insert()
 {
     list($fields, $values) = $this->extractFields();
     $query = new DB\Query();
     $this->query = $query->insert($fields, $values)->into(static::$tableName);
     $result = Core\DB()->run($this->query);
     $this->{static::$primaryKeyField} = Core\DB()->getLastInsertId();
     if (static::$isI18n) {
         list(, $values) = $this->extractFieldsI18n();
         if (array_filter($values)) {
             list($fields, $values) = $this->extractFieldsI18n(true);
             $query_i18n = new DB\Query();
             $query_i18n = $query_i18n->insert($fields, $values)->into(static::$i18nTableName);
             Core\DB()->run($query_i18n);
         }
         return $result;
     }
     return $result;
 }