public function index($material_type) { $indexModel = new IndexModel(); $data = $indexModel->getPage(Router::getId(), Router::getLanguage(), $material_type); if (!$data) { throw new Exception(" Page is not exist", 404); } elseif ($data[0]['status'] == 0) { throw new Exception(" Page not publish", 2); } if (!$indexModel->existTranslationPage(Router::getId(), Router::getLanguage(), $material_type)) { throw new Exception(" Page has no translation", 204); } $args = $data[0]; return $args; }
public function translateAction() { if (Session::hasUser('admin')) { $indexModel = new IndexModel(); $data_page = array(); foreach (Config::get('languages') as $v) { $data_page[$v] = $indexModel->getPage(Router::getId(), $v, $this->material_type); } $request = new Request(); $addModel = new AddEditModel($request, $this->material_type); // $menuModel = new MenuModel(); // $data = $menuModel->getMainMenu('en'); // $menuController = new MenuController(); // $main_menu_array = $menuController->menuArray($data); if ($request->isPost()) { if ($addModel->isValid()) { if ($addModel->isAliasExist()) { $addModel->translate($data_page['en'][0]['id'], 'en'); } else { Session::setFlash('Документ с таким псевдонимом уже существует!'); } } else { Session::setFlash('Поле "Заголовок" обязательно для заполнения'); } } $this->rewrite_file_alias(); $args = array('data_page' => $data_page, 'addModel' => $addModel, 'redirect' => $request->post('redirect')); $tpl = 'translate' . str_replace(' ', '', ucwords(str_replace('_', ' ', $this->material_type))); return $this->render_admin($args, $tpl); } else { throw new Exception('Access denied', 403); } }