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; }
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; }
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; }