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']); }
/** * @desc Delete a extended field for id * @param integer $id the id of the extended field */ public static function delete_by_id($id) { if (!empty($id)) { $extended_field = new ExtendedField(); $extended_field->set_id($id); if (ExtendedFieldsDatabaseService::check_field_exist_by_id($extended_field)) { $data = self::data_field($extended_field, self::SORT_BY_ID); $class = $data->get_instance(); if (!$class->get_field_used_phpboost_configuration() || !$data->get_is_freeze()) { ExtendedFieldsDatabaseService::delete_extended_field($data); ExtendedFieldsCache::invalidate(); } } } }
public function execute(HTTPRequestCustom $request) { $id = $request->get_int('id', null); $code = -1; if ($id !== null) { $extended_field = new ExtendedField(); $extended_field->set_id($id); $exist_field = ExtendedFieldsDatabaseService::check_field_exist_by_id($extended_field); if ($exist_field) { ExtendedFieldsService::delete_by_id($id); $code = $id; } } return new JSONResponse(array('code' => $code)); }