Example #1
0
 /**
  * Sets the route_name equal to the orignal page's route_name
  *
  * @param  integer $fromPageId
  * @param  array $input
  */
 protected function setTranslatedFromRouteName($fromPage, &$input)
 {
     if ($fromPage->translated_from_page_id) {
         $origPage = $this->Page->select('route_name')->findOrFail($fromPage->translated_from_page_id);
         $input['route_name'] = $origPage->route_name;
     } else {
         $input['route_name'] = $fromPage->route_name;
     }
 }
 /**
  * Show a list of all the pages formatted for Datatables.
  *
  * @return Datatables JSON
  */
 public function getPages()
 {
     $pages = Page::select(array('id', 'slug', 'created_at', 'updated_at'));
     return Datatables::of($pages)->add_column('actions', '<a href="{{{ URL::to(\'admin/pages/\' . $id . \'/edit\' ) }}}" class="btn btn-xs btn-default">{{{ Lang::get(\'button.edit\') }}}</a>
                             <a href="{{{ URL::to(\'admin/pages/\' . $id . \'/delete\' ) }}}" class="iframe btn btn-xs btn-danger">{{{ Lang::get(\'button.delete\') }}}</a>
         ')->make();
 }
 public function listPage()
 {
     if (!Request::ajax()) {
         return App::abort(404);
     }
     $start = Input::has('start') ? (int) Input::get('start') : 0;
     $length = Input::has('length') ? Input::get('length') : 10;
     $search = Input::has('search') ? Input::get('search') : [];
     $pages = Page::select('id', 'name', 'menu_id', 'active', 'type');
     if (!empty($search)) {
         foreach ($search as $key => $value) {
             if (empty($value)) {
                 continue;
             }
             if ($key == 'active' || $key == 'on_menu') {
                 if ($value == 'yes') {
                     $value = 1;
                 } else {
                     $value = 0;
                 }
                 if ($key == 'active') {
                     $pages->where($key, $value);
                 } else {
                     $pages->where('menu_id', '>', 0);
                 }
             } else {
                 $value = ltrim(rtrim($value));
                 $pages->where($key, 'like', '%' . $value . '%');
             }
         }
     }
     $order = Input::has('order') ? Input::get('order') : [];
     if (!empty($order)) {
         $columns = Input::has('columns') ? Input::get('columns') : [];
         foreach ($order as $value) {
             $column = $value['column'];
             if (!isset($columns[$column]['name']) || empty($columns[$column]['name'])) {
                 continue;
             }
             $pages->orderBy($columns[$column]['name'], $value['dir'] == 'asc' ? 'asc' : 'desc');
         }
     }
     $count = $pages->count();
     if ($length > 0) {
         $pages = $pages->skip($start)->take($length);
     }
     $arrPages = $pages->get()->toArray();
     $arrReturn = ['draw' => Input::has('draw') ? Input::get('draw') : 1, 'recordsTotal' => Page::count(), 'recordsFiltered' => $count, 'data' => []];
     if (!empty($arrPages)) {
         foreach ($arrPages as $page) {
             $image = '';
             if (!empty($page['images'])) {
                 $image = reset($page['images']);
                 $image = $image['path'];
             }
             $arrReturn['data'][] = array(++$start, $page['id'], $page['name'], ucfirst($page['type']), $page['menu_id'] ? 1 : 0, $page['active']);
         }
     }
     $response = Response::json($arrReturn);
     $response->header('Content-Type', 'application/json');
     return $response;
 }