public static function index($loginRedirect) { $startUrl = ""; AdminHistoryManager::clearHistory(); if ($loginRedirect) { $defaultModel = AdminController::getDefaultModelForUser(); $startUrl = "/admin/" . $defaultModel; AdminHistoryManager::addHistoryLink($startUrl, $defaultModel); } else { AdminHistoryManager::addHistoryLink(); } $ajaxRequest = \Request::ajax() && \Request::get('getIgnore_isAjax') ? true : false; $getSearchResults = isset($_GET['getIgnore_getSearchResults']) && $ajaxRequest ? true : false; $searchIsOpen = isset($_GET['getIgnore_searchIsOpen']) && $ajaxRequest ? true : false; /** @var \App\BaseModel $entity */ $entity = self::$entity; /** @var \App\BaseModel $fullEntity */ $fullEntity = self::$modelConfig->myFullEntityName(); $indexType = self::$modelConfig->index ? ucfirst(self::$modelConfig->index) : ''; $searchParams = array(); $searchDataWithFieldValues = array(); $ordering = Tools::getSearchAndOrderGets(false, false, false, true); if ($indexType == 'Tree') { $objects = $fullEntity::where('depth', 0)->orderBy('position', 'asc')->get(); } else { $searchDataWithFieldValues = AdminHelper::getSearchData(self::$modelConfig, true); $input = array(); AdminHelper::standaloneCheck(self::$modelConfig, 'index', $input); $orderAndDirection = AdminHelper::getOrderParams(self::$modelConfig); $objects = $fullEntity::searchResultsEntities(self::$modelConfig)->where(function ($query) { if (self::$modelConfig->name == 'User' && !\Auth::user()->is_superadmin) { $query->where('is_superadmin', 0); } })->orderBy($orderAndDirection['orderBy'], $orderAndDirection['direction'])->paginate(self::$modelConfig->perPage); } $addEntity = true; if ($indexType == 'Tree' && self::$modelConfig->maxFirstLevelItems && $fullEntity::where('depth', 0)->count() >= self::$modelConfig->maxFirstLevelItems) { $addEntity = false; } $viewData = array('active' => $entity, 'modelConfig' => self::$modelConfig, 'objects' => $objects, 'addEntity' => $addEntity, 'searchParams' => $searchParams, 'searchDataWithFieldValues' => $searchDataWithFieldValues, 'ordering' => $ordering, 'ajaxRequest' => $ajaxRequest, 'loginRedirect' => $loginRedirect, 'getSearchResults' => $getSearchResults, 'searchIsOpen' => $searchIsOpen, 'indexType' => $indexType); if ($ajaxRequest) { $view = \View::make('gtcms.admin.elements.index' . $indexType . 'Content')->with($viewData); if ($loginRedirect) { $data = array('success' => true, 'setUrl' => $startUrl, 'view' => $view->render()); return \Response::json($data); } $data = array('success' => true, 'view' => $view->render(), 'setHistoryLinks' => false, 'modelConfigName' => self::$modelConfig->name, 'indexView' => true, 'setUrl' => "/admin/" . $entity . Tools::getGets(), 'getParams' => Tools::getGets(), 'entity' => $entity, 'searchDataWithFieldValues' => $searchDataWithFieldValues || $ordering ? true : false); return \Response::json($data); } else { return \View::make('gtcms.admin.elements.index')->with($viewData); } }