public function execute(HTTPRequestCustom $request) { $id = $request->get_getint('id'); $this->init(); $extended_field = new ExtendedField(); $extended_field->set_id($id); $exist_field = ExtendedFieldsDatabaseService::check_field_exist_by_id($extended_field); if ($exist_field) { $this->extended_field = ExtendedFieldsCache::load()->get_extended_field($id); $this->build_form($request); } else { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller); } $this->tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM # <script> jQuery(document).ready(function() { ' . $this->get_events_select_type() . '}); </script>'); $this->tpl->add_lang($this->lang); $this->tpl->put_all(array('FIELD_TYPE' => $this->extended_field['field_type'])); if ($this->submit_button->has_been_submited() && $this->form->validate()) { $extended_field = $this->save($id); $error = ExtendedFieldsService::get_error(); if (!empty($error)) { $this->tpl->put('MSG', MessageHelper::display($error, MessageHelper::ERROR, 5)); } else { AppContext::get_response()->redirect($this->form->get_value('referrer') ? $this->form->get_value('referrer') : AdminExtendedFieldsUrlBuilder::fields_list(), StringVars::replace_vars($this->lang['message.success.edit'], array('name' => $extended_field->get_name()))); } } $this->tpl->put('FORM', $this->form->display()); return new AdminExtendedFieldsDisplayResponse($this->tpl, $this->lang['extended-field-edit']); }
public function execute(HTTPRequestCustom $request) { $this->init(); $this->build_form(); $this->tpl = new StringTemplate(' # INCLUDE MSG # # INCLUDE FORM # <script> <!-- jQuery(document).ready(function() { ' . $this->get_events_select_type() . ' }); --> </script>'); $this->tpl->add_lang($this->lang); if ($this->submit_button->has_been_submited() && $this->form->validate()) { $extended_field = $this->save(); $error = ExtendedFieldsService::get_error(); if (!empty($error)) { $this->tpl->put('MSG', MessageHelper::display($error, MessageHelper::ERROR, 5)); } else { AppContext::get_response()->redirect(AdminExtendedFieldsUrlBuilder::fields_list(), StringVars::replace_vars($this->lang['message.success.add'], array('name' => $extended_field->get_name()))); } } $this->tpl->put('FORM', $this->form->display()); return new AdminExtendedFieldsDisplayResponse($this->tpl, $this->lang['extended-field-add']); }