Esempio n. 1
0
 public function getMany($categoryId = 0, $only_visible = 1, $pages = true)
 {
     $items = \ORM::for_table($this->tableName);
     if (is_array($categoryId)) {
         $items = $items->where_in('category_id', $categoryId);
     } elseif ($categoryId > 0) {
         $items = $items->where('category_id', $categoryId);
     }
     // Search
     $query = $this->bcms->request()->get('query');
     if ($query) {
         $items = $items->where_like('name', '%' . $query . '%');
         $this->bcms->view->appendData(array('query' => $query));
     }
     // Ordering
     $sortBy = $this->bcms->request()->get('sort_by');
     if ($sortBy) {
         $items = $items->order_by_asc($sortBy);
         $this->bcms->view->appendData(array('sort_by' => $sortBy));
     }
     if ($pages) {
         //Pagination
         $pagination = new \BCMS\Pagination($this->bcms);
         $pagination->setLimit($this->perPage);
         $pagination->setCount($items->count());
         $items = $items->limit($this->perPage)->offset($pagination->start);
     }
     $items = $items->order_by_desc('date_created');
     $items = $items->find_array();
     if (!$items) {
         return false;
     }
     for ($i = 0; $i < count($items); $i++) {
         $items[$i]['url'] = $this->startUrl . $items[$i]['url'];
         $items[$i] = $this->bcms->translations->translate($items[$i], $this->alias, $this->bcms->locale);
     }
     return $items;
 }
Esempio n. 2
0
 public function getMany($categoryId = 0, $only_visible = 1, $pages = true, $max = 0)
 {
     $items = \ORM::for_table($this->tableName);
     if (is_array($categoryId)) {
         $items = $items->where_in('category_id', $categoryId);
     } elseif ($categoryId > 0) {
         $items = $items->where('category_id', $categoryId);
     } elseif ($categoryId == 0) {
         $items = $items->where('category_id', 0);
     }
     // Search
     $query = $this->bcms->request()->get('query');
     $query = preg_replace('/[^A-Za-zА-Яа-я0-9-.]/', '', $query);
     if ($query) {
         $items = $items->where_like('name', '%' . $query . '%');
         $this->bcms->view()->appendData(array('query' => $query));
     }
     // Ordering
     $sortBy = $this->bcms->request()->get('sort_by');
     if ($sortBy) {
         $items = $items->order_by_asc($sortBy);
         $this->bcms->view()->appendData(array('sort_by' => $sortBy));
     }
     if ($pages) {
         //Pagination
         $pagination = new \BCMS\Pagination($this->bcms);
         $pagination->setCount($items->count());
         $items = $items->limit($this->perPage)->offset($pagination->start);
     }
     $items = $items->order_by_desc('date_created');
     $items = $items->find_array();
     if (!$items) {
         return false;
     }
     for ($i = 0; $i < count($items); $i++) {
         $items[$i]['url'] = $this->startUrl . $items[$i]['url'];
         $firstPhoto = \ORM::for_table('b_gallery_photos')->where('gallery_id', $items[$i]['id'])->order_by_asc('order')->find_one();
         if (is_object($firstPhoto)) {
             $items[$i]['photo'] = $firstPhoto->as_array();
         }
         //$this->startUrl.$items[$i]['url'];
         $items[$i] = $this->bcms->translations->translate($items[$i], $this->alias, $this->bcms->locale);
     }
     return $items;
 }
Esempio n. 3
0
 public function get_many($userId = 0, $only_visible = 1, $pages = true)
 {
     $items = \ORM::for_table($this->tableName)->select($this->tableName . '.*')->select('b_users.email', 'user_email')->select('b_users_profiles.firstname', 'user_firstname')->select('b_users_profiles.lastname', 'user_lastname')->select('b_users_profiles.photo', 'user_photo')->join('b_users', array($this->tableName . '.user_id', '=', 'b_users.id'))->join('b_users_profiles', array($this->tableName . '.user_id', '=', 'b_users_profiles.user_id'));
     $userId = $this->bcms->request->get('user_id');
     if ($userId) {
         $items = $items->where('user_id', $userId);
     }
     // Search
     $query = $this->bcms->request->get('query');
     if ($query) {
         $items = $items->where_like('content', '%' . $query . '%');
         $this->bcms->view->appendData(array('query' => $query));
     }
     // Ordering
     $sortBy = $this->bcms->request()->get('sort_by');
     if ($sortBy) {
         $items = $items->order_by_asc($sortBy);
         $this->bcms->view->appendData(array('sort_by' => $sortBy));
     }
     if ($pages) {
         //Pagination
         $pagination = new \BCMS\Pagination($this->bcms);
         $pagination->setLimit($this->perPage);
         $pagination->setCount($items->count());
         $items = $items->limit($this->perPage)->offset($pagination->start);
     }
     $items = $items->order_by_desc('date_created');
     $items = $items->find_array();
     if (!$items) {
         return false;
     }
     return $items;
 }