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