Esempio n. 1
0
 public function indexAction()
 {
     $numberPage = 1;
     if (isset($_GET['tags'])) {
         $tags = $this->request->getQuery("tags", "string");
         $criteria = new \Phalcon\Mvc\Model\Criteria();
         $criteria->setModelName("\\Models\\Posts");
         //$criteria->setDI($this->di);
         $criteria->where("tags LIKE :tags:");
         $criteria->andWhere("status = :1:");
         $criteria->bind(array('tags' => "%{$tags}%", '1' => '0'));
         $this->persistent->searchParams = $criteria->getParams();
         $models = \Models\Posts::find($criteria);
     } else {
         $numberPage = $this->request->getQuery("page", "int");
         if (!$numberPage or $numberPage <= 0) {
             $numberPage = 1;
         }
         if ($numberPage > 1 and !\Helpers\Arr::is_array_empty($this->persistent->searchParams)) {
             $models = \Models\Posts::find($this->persistent->searchParams);
         } else {
             $models = \Models\Posts::find("status = '0'");
             $this->persistent->searchParams = null;
         }
     }
     if (!$models->count()) {
         $this->flashSession->notice("Ничего не найдено");
         $this->persistent->searchParams = null;
     }
     $paginator = new \Phalcon\Paginator\Adapter\Model(array("data" => $models, "limit" => 10, "page" => $numberPage));
     $page = $paginator->getPaginate();
     $this->view->setVar("page", $page);
     //$this->view->setVar('searchparams', $this->persistent->searchParams);
     //$this->view->setVar('numpage', $numberPage);
 }
Esempio n. 2
0
 public static function getCommentsTree($model)
 {
     $criteria = new \Phalcon\Mvc\Model\Criteria();
     $criteria->setModelName("\\Models\\Comments");
     $criteria->where('class_name = :class_name: and object_pk = :object_pk: and status <> :status:');
     $criteria->bind(array("class_name" => $model->getClassName(), "object_pk" => $model->id, "status" => self::STATUS_SPAM));
     $criteria->order('created ASC');
     $comments = $criteria->execute();
     //return self::buildTree($comments);
     return $comments;
 }
Esempio n. 3
0
 public static function removeTags($tags)
 {
     if (empty($tags)) {
         return;
     }
     $names = '';
     if (!\Helpers\Arr::is_array_empty($tags)) {
         $names = \Helpers\TextHelper::array2string($tags);
     }
     $names = rtrim($names, " ,");
     $criteria = new \Phalcon\Mvc\Model\Criteria();
     $criteria->setModelName("\\Models\\Tags");
     //$criteria->setDI($this->di);
     //$criteria->addInCondition('name',$tags);
     $criteria->andWhere("name IN ({$names})");
     //$this->updateCounters(array('frequency' => 1), $criteria);
     $models = \Models\Tags::find($criteria);
     if ($models->count()) {
         foreach ($models as $model) {
             $model->frequency = $model->frequency - 1;
             $model->update();
         }
     }
     foreach (\Models\Tags::find("frequency<='0'") as $model) {
         $model->delete();
     }
 }