public static function edit($id, $historyLink = false, $settings = false) { $ajaxRequest = \Request::ajax() && \Request::get('getIgnore_isAjax') ? true : false; if ($settings) { AdminHistoryManager::clearHistory(); } else { AdminHistoryManager::addHistoryLink($historyLink, self::$entity, true); } /** @var \App\BaseModel $entity */ $entity = self::$entity; /** @var \App\BaseModel $fullEntity */ $fullEntity = self::$modelConfig->myFullEntityName(); if (config('gtcms.premium') && $entity == "GtcmsSetting") { $object = GtcmsSetting::createSettingsObject(); } else { /** @var \App\BaseModel $object */ if ($id == "new") { $object = new $fullEntity(); } else { $object = $fullEntity::find($id); } } $validator = NULL; $action = $object->id ? 'edit' : 'add'; $quickEdit = false; if (config('gtcms.premium')) { $quickEdit = GtcmsPremium::getQuickEditVar(); } if (!empty($_POST) && $ajaxRequest) { $validator = \Validator::make(\Request::all(), AdminHelper::validationRules(self::$modelConfig, $object, $quickEdit)); if ($validator->fails()) { $message = trans('gtcms.validationFailed'); $data = array('success' => false, 'errors' => $validator->getMessageBag()->getMessages(), 'errorMsg' => $message, 'quickEdit' => $quickEdit); return \Response::json($data); } else { if ($entity == "GtcmsSetting") { AdminEntityHandler::editSettings(self::$modelConfig); } else { if ($object->isEditable()) { $object = AdminEntityHandler::edit($object, self::$modelConfig); } } return self::ajaxRedirect($object, $action, $quickEdit); } } $viewData = array('active' => $entity, 'modelConfig' => self::$modelConfig, 'object' => $object, 'ajaxRequest' => $ajaxRequest, 'action' => $action, 'quickEdit' => $quickEdit); $setUrl = false; if (!$settings) { $setUrl = '/admin/' . self::$modelConfig->name . '/edit/' . ($object->id ? $object->id : 'new') . Tools::getGets(); } if ($ajaxRequest) { $view = \View::make('gtcms.admin.elements.editContent')->with($viewData); $data = array('success' => true, 'view' => $view->render(), 'setUrl' => $setUrl, 'history' => AdminHistoryManager::getHistory(), 'setHistoryLinks' => true, 'modelConfigName' => self::$modelConfig->name, 'replaceCurrentHistory' => false); return \Response::json($data); } else { return \View::make('gtcms.admin.elements.edit')->with($viewData); } }
public static function getHistoryLinks() { $links = AdminHistoryManager::getHistory(); $returnLinks = ""; if ($links) { foreach ($links as $link) { $returnLinks .= '<a data-loadtype="moveRight" href="' . $link['link'] . '"><i class="fa ' . $link['modelIcon'] . '"></i> ' . $link['modelName'] . '</a> <i class="fa fa-caret-right"></i>'; } return $returnLinks; } else { return ""; } }