Пример #1
0
 public function assert(Rbac $rbac)
 {
     $friendModel = Api::_()->getModel('User\\Model\\Friend');
     $friendDb = $friendModel->getItem()->getDataClass();
     $res = $friendDb->where(array('user_id' => $this->user['id'], 'friend_id' => $this->visitor['id'], 'relationshipStatus' => 'blocked'))->find('one');
     return true;
 }
Пример #2
0
 public function setParameters(Parameters $params)
 {
     if ($params->page) {
         $this->enableCount();
         $this->page($params->page);
     }
     if ($params->noLimit) {
         $this->disableLimit();
     }
     if ($params->order == 'eventcountdesc' || $params->order == 'eventcountasc') {
         $eventTagTable = Api::_()->getDbTable('Event\\DbTable\\TagsEvents');
         $eventTagTableName = $eventTagTable->initTableName()->getTable();
         $this->join($eventTagTableName, "id = {$eventTagTableName}.tag_id");
         $this->columns(array('*', 'EventCount' => new Expression("count(event_id)")));
         $this->group('tag_id');
     }
     $orders = array('idasc' => 'id ASC', 'iddesc' => 'id DESC', 'nameasc' => 'tagName ASC', 'namedesc' => 'tagName DESC');
     if ($params->order) {
         $order = $orders[$params->order];
         if ($order) {
             $this->order($order);
         }
     }
     return $this;
 }
Пример #3
0
 public function setParameters(Parameters $params)
 {
     if ($params->page) {
         $this->enableCount();
         $this->page($params->page);
     }
     if ($params->event_id) {
         $this->where(array('event_id' => $params->event_id));
     }
     if ($params->user_id) {
         $this->where(array('user_id' => $params->user_id));
     }
     if ($params->requestStatus) {
         $this->where(array('requestStatus' => $params->requestStatus));
     }
     if ($params->rows) {
         $this->limit((int) $params->rows);
     }
     if ($params->eventStatus) {
         $eventDb = Api::_()->getDbTable('Event\\DbTable\\Events');
         $eventTabName = $eventDb->initTableName()->table;
         $this->join($eventTabName, "{$this->table}.event_id = {$eventTabName}.id", array('*'), 'inner');
         $this->where(array("{$eventTabName}.eventStatus" => $params->eventStatus));
     }
     if ($params->order == 'eventcount') {
         /*
            $this->from(array('b' => $this->table));
            $distinct = new \Zend\Db\Sql\Expression("DISTINCT {$this->table}.user_id");
            $count = new \Zend\Db\Sql\Expression("(SELECT COUNT(*) AS {$this->table}.EventCount FROM b WHERE b.user_id = {$this->table}.user_id)"); 
            $this->columns(array($distinct, $count));
         */
     }
     if ($params->noLimit) {
         $this->disableLimit();
     }
     $orders = array('eventcount' => 'EventCount DESC', 'timeasc' => 'requestTime ASC', 'timedesc' => 'requestTime DESC');
     if ($params->order) {
         $order = $orders[$params->order];
         if ($order) {
             $this->order($order);
         }
     }
     return $this;
 }