/** * @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)); }
private function save($id) { $extended_field = new ExtendedField(); $extended_field->set_id($id); $extended_field = ExtendedFieldsService::data_field($extended_field); $freeze = $extended_field->get_is_freeze(); if (!$freeze) { $extended_field->set_field_name(ExtendedField::rewrite_field_name($this->form->get_value('name', $extended_field->get_field_name()))); $extended_field->set_field_type($this->form->get_value('field_type', $extended_field->get_field_type())->get_raw_value()); } else { $extended_field->set_field_name(TextHelper::htmlspecialchars($extended_field->get_field_name())); $extended_field->set_field_type($extended_field->get_field_type()); } $extended_field->set_name(TextHelper::htmlspecialchars($this->form->get_value('name'))); $extended_field->set_position(PersistenceContext::get_querier()->get_column_value(DB_TABLE_MEMBER_EXTENDED_FIELDS_LIST, 'MAX(position) + 1', '')); $extended_field->set_description(TextHelper::htmlspecialchars($this->form->get_value('description', $extended_field->get_description()))); if (!$this->form->field_is_disabled('possible_values')) { $extended_field->set_possible_values($this->form->get_value('possible_values')); } if (!$this->form->field_is_disabled('default_value')) { $extended_field->set_default_value($this->form->get_value('default_value')); } $extended_field->set_is_required((bool) $this->form->get_value('field_required')); $extended_field->set_display((bool) $this->form->get_value('display')); $regex = 0; if (!$this->form->field_is_disabled('regex_type')) { $regex = is_numeric($this->form->get_value('regex_type', '')->get_raw_value()) ? $this->form->get_value('regex_type', '')->get_raw_value() : $this->form->get_value('regex', ''); } $extended_field->set_regex($regex); $extended_field->set_authorization($this->form->get_value('authorizations', $extended_field->get_authorization())->build_auth_array()); ExtendedFieldsService::update($extended_field); return $extended_field; }