public function indexAction()
 {
     $numberPage = 1;
     if ($this->request->isPost()) {
         $query = \Phalcon\Mvc\Model\Criteria::fromInput($this->di, "Models\\ArticleCategories", $_POST);
         $query->order("id ASC, name ASC");
         $this->persistent->searchParams = $query->getParams();
         if (!\Helpers\Arr::is_array_empty($this->persistent->searchParams)) {
             $categories = \Models\ArticleCategories::find($this->persistent->searchParams);
         }
     } 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)) {
             $categories = \Models\ArticleCategories::find($this->persistent->searchParams);
         } else {
             $categories = \Models\ArticleCategories::find();
             $this->persistent->searchParams = null;
         }
     }
     if (count($categories) == 0) {
         $this->flashSession->notice("Не найдено ни одной категории");
         $this->persistent->searchParams = null;
     }
     $paginator = new \Phalcon\Paginator\Adapter\Model(array("data" => $categories, "limit" => 10, "page" => $numberPage));
     $page = $paginator->getPaginate();
     $this->view->setVar("page", $page);
     //$this->view->setVar('searchparams', $this->persistent->searchParams);
     //$this->view->setVar('numpage', $numberPage);
 }
Пример #2
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);
 }
Пример #3
0
 private function SaveImages($model)
 {
     if (!\Helpers\Arr::is_array_empty($_FILES['News']['tmp_name'])) {
         $path = 'uploads' . DIRECTORY_SEPARATOR . 'news' . DIRECTORY_SEPARATOR . 'images_id_' . $model->id;
         $errors = array();
         $images = $model->getImages();
         if ($images) {
             $num = count($images);
         } else {
             $num = $this->config->application->images_number;
         }
         foreach ($_FILES['News']['tmp_name'] as $key => $tmp_name) {
             if ($key >= $num) {
                 break;
             }
             $file_name = $_FILES['News']['name'][$key];
             $file_size = $_FILES['News']['size'][$key];
             $file_tmp = $_FILES['News']['tmp_name'][$key];
             $file_type = $_FILES['News']['type'][$key];
             if (\Helpers\CFileHelper::is_kir($file_tmp)) {
                 $nameParts = explode('.', $file_tmp);
                 $imageName = \Helpers\Translite::$rustable($nameParts[0]) . '.' . $nameParts[1];
             }
             if ($file_size > 259715) {
                 $errors[] = 'Размер файла не больше 2 мегабайт';
             }
             $extensions = array("gif", "jpg", "png", "jpeg");
             $file_ext = explode('.', $file_name);
             $file_ext = strtolower(end($file_ext));
             if (in_array($file_ext, $extensions) === false) {
                 $errors[] = "Недопустимый формат файла, допускаются изображения форматов: jpg, gif, png, jpeg";
             }
             if (empty($errors) == true) {
                 if (is_dir($path) == false) {
                     mkdir("{$path}", 0777);
                     // Create directory if it does not exist
                 }
                 if (is_dir("{$path}/" . $file_name) == false) {
                     move_uploaded_file($file_tmp, $path . DIRECTORY_SEPARATOR . $file_name);
                 }
             } else {
                 foreach ($errors as $error) {
                     $this->flashSession->error((string) $error);
                 }
                 return $this->response->redirect("backend/news/edit/{$model->id}");
             }
         }
     }
 }
Пример #4
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();
     }
 }