private function build_form() { $form = new HTMLForm(__CLASS__); //Configuration $fieldset = new FormFieldsetHTML('configuration_fieldset', LangLoader::get_message('configuration', 'admin-common')); $form->add_fieldset($fieldset); $fieldset->add_field(new FormFieldNumberEditor('items_number_per_page', $this->lang['calendar.config.items_number_per_page'], $this->config->get_items_number_per_page(), array('min' => 1, 'max' => 50, 'required' => true), array(new FormFieldConstraintIntegerRange(1, 50)))); $fieldset->add_field(new FormFieldCheckbox('comments_enabled', LangLoader::get_message('config.comments_enabled', 'admin-common'), $this->config->are_comments_enabled())); $fieldset->add_field(new FormFieldColorPicker('event_color', $this->lang['calendar.config.event_color'], $this->config->get_event_color(), array(), array(new FormFieldConstraintRegex('`^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$`i')))); $fieldset->add_field(new FormFieldCheckbox('members_birthday_enabled', $this->lang['calendar.config.members_birthday_enabled'], $this->config->is_members_birthday_enabled(), array('events' => array('click' => ' if (HTMLForms.getField("members_birthday_enabled").getValue()) { HTMLForms.getField("birthday_color").enable(); } else { HTMLForms.getField("birthday_color").disable(); }')))); $user_born_field = ExtendedFieldsCache::load()->get_extended_field_by_field_name('user_born'); if (!empty($user_born_field) && !$user_born_field['display']) { $fieldset->add_field(new FormFieldHTML('user_born_disabled_msg', MessageHelper::display($this->lang['calendar.error.e_user_born_field_disabled'], MessageHelper::WARNING)->render())); } $fieldset->add_field(new FormFieldColorPicker('birthday_color', $this->lang['calendar.config.birthday_color'], $this->config->get_birthday_color(), array('hidden' => !$this->config->is_members_birthday_enabled()), array(new FormFieldConstraintRegex('`^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$`i')))); $common_lang = LangLoader::get('common'); $fieldset = new FormFieldsetHTML('authorizations_fieldset', $common_lang['authorizations'], array('description' => LangLoader::get_message('config.authorizations.explain', 'admin-common'))); $form->add_fieldset($fieldset); $auth_settings = new AuthorizationsSettings(array(new ActionAuthorization($common_lang['authorizations.read'], Category::READ_AUTHORIZATIONS), new ActionAuthorization($common_lang['authorizations.write'], Category::WRITE_AUTHORIZATIONS), new ActionAuthorization($common_lang['authorizations.contribution'], Category::CONTRIBUTION_AUTHORIZATIONS), new ActionAuthorization($common_lang['authorizations.moderation'], Category::MODERATION_AUTHORIZATIONS))); $auth_setter = new FormFieldAuthorizationsSetter('authorizations', $auth_settings); $auth_settings->build_from_auth_array($this->config->get_authorizations()); $fieldset->add_field($auth_setter); //Submit and reset buttons $this->submit_button = new FormButtonDefaultSubmit(); $form->add_button($this->submit_button); $form->add_button(new FormButtonReset()); $this->form = $form; }
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']); }
private function update_fields($request) { if ($request->get_value('submit', false)) { $this->update_position($request); ExtendedFieldsCache::invalidate(); $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.position.update', 'status-messages-common'), MessageHelper::SUCCESS, 5)); } }
public function execute(HTTPRequestCustom $request) { $id = $request->get_int('id', 0); $display = $request->get_bool('display', true); if ($id !== 0) { PersistenceContext::get_querier()->update(DB_TABLE_MEMBER_EXTENDED_FIELDS_LIST, array('display' => (int) $display), 'WHERE id = :id', array('id' => $id)); ExtendedFieldsCache::invalidate(); } return new JSONResponse(array('id' => $id, 'display' => (int) $display)); }
* along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ###################################################*/ require_once '../kernel/begin.php'; require_once '../forum/forum_begin.php'; require_once '../forum/forum_tools.php'; $Bread_crumb->add($config->get_forum_name(), 'index.php'); define('TITLE', $LANG['title_forum']); require_once '../kernel/header.php'; $view_msg = retrieve(GET, 'id', 0); if (!empty($view_msg)) { $_NBR_ELEMENTS_PER_PAGE = 10; $ranks_cache = ForumRanksCache::load()->get_ranks(); //Récupère les rangs en cache. $extended_fields_cache = ExtendedFieldsCache::load(); $displayed_extended_fields = $extended_fields_cache->get_websites_or_emails_extended_field_field_types(); $extended_fields_to_recover_list = ''; foreach ($displayed_extended_fields as $field_type) { $extended_fields_to_recover_list .= 'ext_field.' . $field_type . ', '; } $tpl = new FileTemplate('forum/forum_membermsg.tpl'); $authorized_categories = ForumService::get_authorized_categories(Category::ROOT_CATEGORY); $row = PersistenceContext::get_querier()->select_single_row_query("SELECT COUNT(*) as nbr_msg\n\tFROM " . PREFIX . "forum_msg msg\n\tLEFT JOIN " . PREFIX . "forum_topics t ON msg.idtopic = t.id\n\tWHERE msg.user_id = :user_id AND t.idcat IN :authorized_categories", array('authorized_categories' => $authorized_categories, 'user_id' => $view_msg)); $nbr_msg = $row['nbr_msg']; $page = AppContext::get_request()->get_getint('p', 1); $pagination = new ModulePagination($page, $nbr_msg, $_NBR_ELEMENTS_PER_PAGE, Pagination::LIGHT_PAGINATION); $pagination->set_url(new Url('/forum/membermsg.php?id=' . $view_msg . '&p=%d')); if ($pagination->current_page_is_empty() && $page > 1) { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller);
/** * @desc This private function display form create * @param object $member_extended_field MemberExtendedField */ private function display_create_form(FormFieldset $fieldset) { $extended_fields_cache = ExtendedFieldsCache::load()->get_extended_fields(); foreach ($extended_fields_cache as $id => $extended_field) { if ($extended_field['display'] == 1 && AppContext::get_current_user()->check_auth($extended_field['auth'], ExtendedField::READ_EDIT_AND_ADD_AUTHORIZATION)) { $extended_field['value'] = ''; $member_extended_field = new MemberExtendedField(); $member_extended_field->set_fieldset($fieldset); $member_extended_field->set_properties($extended_field); $member_extended_field->get_instance()->display_field_create($member_extended_field); } } }
$user_id_dest = $convers['user_id_dest'] == $current_user->get_id() ? $convers['user_id'] : $convers['user_id_dest']; if ($convers['user_convers_status'] == '0' && $user_id_dest > '0') { //Vu par exp et pas par dest => 1 //Vu par dest et pas par exp => 2 if ($convers['user_id'] == $current_user->get_id()) { //Le membre est le créateur de la conversation. $status = 1; } elseif ($convers['user_id_dest'] == $current_user->get_id()) { //Le membre est le destinataire de la conversation. $status = 2; } $contents = FormatingHelper::strparse($contents, array(), false); //Envoi du message privé. $pm_msg_id = PrivateMsg::send($user_id_dest, $pm_id_get, $contents, $current_user->get_id(), $status); //Envoi d'un mail si l'utilisateur a activé l'option $pmtomail_field = ExtendedFieldsCache::load()->get_extended_field_by_field_name('user_pmtomail'); if (!empty($pmtomail_field) && $pmtomail_field['display']) { if (PersistenceContext::get_querier()->get_column_value(DB_TABLE_MEMBER_EXTENDED_FIELDS, 'user_pmtomail', 'WHERE user_id = :id', array('id' => $user_id_dest))) { $email_dest = PersistenceContext::get_querier()->get_column_value(DB_TABLE_MEMBER, 'email', 'WHERE user_id = :id', array('id' => $user_id_dest)); AppContext::get_mail_service()->send_from_properties($email_dest, $LANG['new_pm'] . ' : ' . $convers['title'], $contents); } } //Calcul de la page vers laquelle on redirige. $last_page = ceil(($convers['nbr_msg'] + 1) / 25); $last_page_rewrite = $last_page > 1 ? '-' . $last_page : ''; $last_page = $last_page > 1 ? '&p=' . $last_page : ''; AppContext::get_response()->redirect('/user/pm' . url('.php?id=' . $pm_id_get . $last_page, '-0-' . $pm_id_get . $last_page_rewrite . '.php', '&') . '#m' . $pm_msg_id); } else { //Le destinataire a supprimé la conversation. AppContext::get_response()->redirect('/user/pm' . url('.php?id=' . $pm_id_get . '&error=e_pm_del', '-0-' . $pm_id_get . '-0.php?error=e_pm_del', '&') . '#message_helper'); }
/** * @desc Delete a extended field for field name * @param string $field_name the field name of the extended field */ public static function delete_by_field_name($field_name) { if (!empty($field_name)) { $extended_field = new ExtendedField(); $extended_field->set_field_name($field_name); if (ExtendedFieldsDatabaseService::check_field_exist_by_field_name($extended_field)) { $data = self::data_field($extended_field, self::SORT_BY_FIELD_NAME); $class = $data->get_instance(); if (!$class->get_field_used_phpboost_configuration() || !$data->get_is_freeze()) { ExtendedFieldsDatabaseService::delete_extended_field($data); ExtendedFieldsCache::invalidate(); } } } }