/** * 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')); }
/** * 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); } }
/** * After next migration execution hook. * * @return void */ private function afterUp() { $query = new Query(); $query->insert(array('version'), array($this->version))->into('migrations')->run(); }
/** * 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; }