public function action_edit($site_id = '') { // set redirect url $redirect = $this->getAndSetSubmitRedirection(); // check permission if (\Model_AccountLevelPermission::checkAdminPermission('siteman_perm', 'siteman_edit_perm') == false) { \Session::set_flash('form_status', array('form_status' => 'error', 'form_status_message' => \Lang::get('admin_permission_denied', array('page' => \Uri::string())))); \Response::redirect($redirect); } // read flash message for display errors. $form_status = \Session::get_flash('form_status'); if (isset($form_status['form_status']) && isset($form_status['form_status_message'])) { $output['form_status'] = $form_status['form_status']; $output['form_status_message'] = $form_status['form_status_message']; } unset($form_status); // get selected site data $row = \Model_Sites::find($site_id); $output['site_id'] = $site_id; if ($row == null) { // not found selected site data. unset($output, $row); \Response::redirect($redirect); } // loop set form field. foreach ($row as $key => $value) { $output[$key] = $value; } // if form submitted if (\Input::method() == 'POST') { // store data for save $data['site_id'] = $site_id; $data['site_name'] = \Security::htmlentities(trim(\Input::post('site_name'))); $data['site_domain'] = str_replace(array('http://', '/'), '', mb_strtolower(\Security::strip_tags(trim(\Input::post('site_domain'))))); $data['site_status'] = (int) trim(\Input::post('site_status')); $validate = \Validation::forge(); $validate->add_callable(new \Extension\FsValidate()); $validate->add('site_name', \Lang::get('siteman_site_name'), array(), array('required')); $validate->add('site_domain', \Lang::get('siteman_site_domain'), array(), array('required')); if (!\Extension\NoCsrf::check()) { // validate token failed $output['form_status'] = 'error'; $output['form_status_message'] = \Lang::get('fslang_invalid_csrf_token'); } elseif (!$validate->run()) { // validate failed $output['form_status'] = 'error'; $output['form_status_message'] = $validate->show_errors(); } else { // save $result = \Model_Sites::editSite($data); if ($result === true) { if (\Session::get_flash('form_status', null, false) == null) { \Session::set_flash('form_status', array('form_status' => 'success', 'form_status_message' => \Lang::get('admin_saved'))); } \Response::redirect($redirect); } else { $output['form_status'] = 'error'; $output['form_status_message'] = $result; } } // re-populate form $output['site_name'] = \Input::post('site_name'); $output['site_domain'] = \Input::post('site_domain'); $output['site_status'] = \Input::post('site_status'); } // <head> output ---------------------------------------------------------------------------------------------- $output['page_title'] = $this->generateTitle(\Lang::get('siteman_multisite_manager')); // <head> output ---------------------------------------------------------------------------------------------- // breadcrumb ------------------------------------------------------------------------------------------------- $page_breadcrumb = []; $page_breadcrumb[0] = ['name' => \Lang::get('admin_admin_home'), 'url' => \Uri::create('admin')]; $page_breadcrumb[1] = ['name' => \Lang::get('siteman_multisite_manager'), 'url' => \Uri::create('admin/siteman')]; $page_breadcrumb[2] = ['name' => \Lang::get('siteman_edit'), 'url' => \Uri::main()]; $output['page_breadcrumb'] = $page_breadcrumb; unset($page_breadcrumb); // breadcrumb ------------------------------------------------------------------------------------------------- return $this->generatePage('admin/templates/siteman/form_v', $output, false); }