コード例 #1
0
    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)
    {
        $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']);
    }
 public function execute(HTTPRequestCustom $request)
 {
     $this->load_lang();
     $id_theme = $request->get_value('id_theme', '');
     $id_module = '';
     $file_selected = $request->get_value('file_name', '');
     if (preg_match('`/`', $file_selected)) {
         $split = explode('/', $file_selected);
         $id_module = $split[0];
         $file_name = $split[1] . '.tpl';
     } else {
         $file_name = $file_selected . '.tpl';
     }
     $this->build_form($id_theme, $id_module, $file_name, $file_selected);
     $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #');
     $tpl->add_lang($this->lang);
     if (!empty($id_theme) && !empty($file_selected)) {
         if ($this->submit_button->has_been_submited() && $this->form->validate()) {
             $this->save();
             $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('process.success', 'status-messages-common'), MessageHelper::SUCCESS, 4));
         }
     }
     $tpl->put('FORM', $this->form->display());
     return new AdminCustomizationDisplayResponse($tpl, $this->lang['customization.editor.tpl-files']);
 }
    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']);
    }
コード例 #5
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     $this->build_form();
     $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #');
     $tpl->add_lang($this->lang);
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->save();
         $this->form->get_field_by_id('admin_alerts_levels')->set_hidden(!$this->config->are_admin_alerts_enabled());
         $this->form->get_field_by_id('admin_alerts_fix_action')->set_hidden(!$this->config->are_admin_alerts_enabled());
         foreach ($this->config->get_status_list() as $key => $value) {
             $this->form->get_field_by_id($key)->set_hidden(!$this->config->is_progress_bar_displayed());
         }
         $this->form->get_field_by_id('stats_top_posters_enabled')->set_hidden(!$this->config->are_stats_enabled());
         $this->form->get_field_by_id('stats_top_posters_number')->set_hidden(!$this->config->are_stats_top_posters_enabled());
         $this->form->get_field_by_id('pm_edit_enabled')->set_hidden(!$this->config->are_pm_enabled());
         $this->form->get_field_by_id('pm_delete_enabled')->set_hidden(!$this->config->are_pm_enabled());
         $this->form->get_field_by_id('pm_comment_enabled')->set_hidden(!$this->config->are_pm_enabled());
         $this->form->get_field_by_id('pm_in_progress_enabled')->set_hidden(!$this->config->are_pm_enabled());
         $this->form->get_field_by_id('pm_pending_enabled')->set_hidden(!$this->config->are_pm_enabled());
         $this->form->get_field_by_id('pm_assign_enabled')->set_hidden(!$this->config->are_pm_enabled());
         $this->form->get_field_by_id('pm_fix_enabled')->set_hidden(!$this->config->are_pm_enabled());
         $this->form->get_field_by_id('pm_reject_enabled')->set_hidden(!$this->config->are_pm_enabled());
         $this->form->get_field_by_id('pm_reopen_enabled')->set_hidden(!$this->config->are_pm_enabled());
         $this->form->get_field_by_id('types_table')->set_value($this->build_types_table()->render());
         $this->form->get_field_by_id('categories_table')->set_value($this->build_categories_table()->render());
         $this->form->get_field_by_id('severities_table')->set_value($this->build_severities_table()->render());
         $this->form->get_field_by_id('priorities_table')->set_value($this->build_priorities_table()->render());
         $this->form->get_field_by_id('versions_table')->set_value($this->build_versions_table()->render());
         $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.config', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
     $tpl->put('FORM', $this->form->display());
     return new AdminBugtrackerDisplayResponse($tpl, $this->lang['titles.admin.module_config']);
 }
コード例 #6
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->load_lang();
     $this->load_config();
     $theme = $request->get_value('theme', 'all');
     if ($theme !== 'all' && !ThemesManager::get_theme_existed($theme)) {
         AppContext::get_response()->redirect(AdminCustomizeUrlBuilder::customize_interface());
     }
     $this->build_form($theme);
     $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #');
     $tpl->add_lang($this->lang);
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $header_logo = $this->form->get_value('header_logo', null);
         if ($header_logo !== null) {
             $file_type = new FileType(new File($header_logo->get_name()));
             if ($file_type->is_picture()) {
                 $this->save($header_logo, $theme);
                 AppContext::get_response()->redirect(AdminCustomizeUrlBuilder::customize_interface());
             } else {
                 $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('process.error', 'status-messages-common'), MessageHelper::ERROR, 4));
             }
         } elseif ($this->form->get_value('use_default_logo')) {
             $this->delete_pictures_saved($theme);
             AppContext::get_response()->redirect(AdminCustomizeUrlBuilder::customize_interface());
         } else {
             $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('process.error', 'status-messages-common'), MessageHelper::ERROR, 4));
         }
     }
     $tpl->put('FORM', $this->form->display());
     return new AdminCustomizationDisplayResponse($tpl, $this->lang['customization.interface']);
 }
コード例 #7
0
 private function update_fields(HTTPRequestCustom $request)
 {
     if ($request->get_value('submit', false)) {
         $this->update_position($request);
         $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.position.update', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
 }
コード例 #8
0
 private function check_pending_article()
 {
     if (!$this->article->is_published()) {
         $this->tpl->put('NOT_VISIBLE_MESSAGE', MessageHelper::display(LangLoader::get_message('element.not_visible', 'status-messages-common'), MessageHelper::WARNING));
     } else {
         $this->article->set_number_view($this->article->get_number_view() + 1);
         ArticlesService::update_number_view($this->article);
     }
 }
コード例 #9
0
 private function build_view()
 {
     $messages = array(MessageHelper::display($this->lang['css.message_success'], MessageHelper::SUCCESS), MessageHelper::display($this->lang['css.message_notice'], MessageHelper::NOTICE), MessageHelper::display($this->lang['css.message_warning'], MessageHelper::WARNING), MessageHelper::display($this->lang['css.message_error'], MessageHelper::ERROR), MessageHelper::display($this->lang['css.message_question'], MessageHelper::QUESTION));
     foreach ($messages as $message) {
         $this->view->assign_block_vars('messages', array('VIEW' => $message));
     }
     $pagination = new ModulePagination(2, 15, 5);
     $pagination->set_url(new Url('#%d'));
     $this->view->put('PAGINATION', $pagination->display());
 }
コード例 #10
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->check_authorizations();
     $this->init();
     if ($request->get_value('submit', false)) {
         $this->update_position($request);
         $this->tpl->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.position.update', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
     $this->build_view($request);
     return $this->generate_response();
 }
コード例 #11
0
 private function send_email()
 {
     $change_password_pass = KeyGenerator::generate_key(15);
     $user = $this->get_user();
     PHPBoostAuthenticationMethod::update_auth_infos($user->get_id(), null, null, null, null, $change_password_pass);
     $general_config = GeneralConfig::load();
     $parameters = array('pseudo' => $user->get_display_name(), 'host' => $general_config->get_site_url(), 'change_password_link' => UserUrlBuilder::change_password($change_password_pass)->absolute(), 'signature' => MailServiceConfig::load()->get_mail_signature());
     $subject = $general_config->get_site_name() . ' : ' . $this->lang['forget-password'];
     $content = StringVars::replace_vars($this->lang['forget-password.mail.content'], $parameters);
     AppContext::get_mail_service()->send_from_properties($user->get_email(), $subject, $content);
     $this->tpl->put('MSG', MessageHelper::display($this->lang['forget-password.success'], MessageHelper::SUCCESS));
 }
コード例 #12
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     $this->build_form();
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->save();
         $this->form->get_field_by_id('other_start_page')->set_hidden($this->general_config->get_module_home_page() != 'other');
         $this->clear_cache();
         $this->tpl->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.config', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
     $this->tpl->put('FORM', $this->form->display());
     return new AdminConfigDisplayResponse($this->tpl, $this->lang['general-config']);
 }
コード例 #13
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     $this->build_form();
     $tpl = new StringTemplate('# INCLUDE MSG ## INCLUDE FORM #');
     $tpl->add_lang($this->lang);
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->save();
         $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('process.success', 'status-messages-common'), MessageHelper::SUCCESS, 4));
     }
     $tpl->put('FORM', $this->form->display());
     return $this->build_response($tpl);
 }
コード例 #14
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->build_form();
     $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #');
     $tpl->add_lang($this->lang);
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->handle_form();
         $this->form->get_field_by_id('file_life_time')->set_hidden(!SitemapXMLFileService::is_xml_file_generation_enabled());
         $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.config', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
     $tpl->put('FORM', $this->form->display());
     return $this->build_response($tpl);
 }
コード例 #15
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     $this->build_form();
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->save();
         $this->form->get_field_by_id('maintain_during')->set_hidden($this->get_maintain_type() != 'during');
         $this->form->get_field_by_id('maintain_until')->set_hidden($this->get_maintain_type() != 'until');
         $this->form->get_field_by_id('display_duration_for_admin')->set_hidden(!$this->maintenance_config->get_display_duration());
         $this->tpl->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.config', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
     $this->tpl->put('FORM', $this->form->display());
     return new AdminMaintainDisplayResponse($this->tpl, LangLoader::get_message('maintain', 'user-common'));
 }
コード例 #16
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     $this->build_form();
     $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #');
     $tpl->add_lang($this->lang);
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->save();
         $this->form->get_field_by_id('database_tables_optimization_day')->set_hidden(!$this->config->is_database_tables_optimization_enabled());
         $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.config', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
     $tpl->put('FORM', $this->form->display());
     return new AdminDatabaseDisplayResponse($tpl, $this->lang['module_config_title']);
 }
コード例 #17
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     $this->build_form();
     $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #');
     $tpl->add_lang($this->lang);
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->save();
         $this->form->get_field_by_id('forbidden_tags')->set_selected_options($this->content_formatting_config->get_forbidden_tags());
         $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.config', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
     $tpl->put('FORM', $this->form->display());
     return new AdminContentDisplayResponse($tpl, $this->lang['content.config']);
 }
コード例 #18
0
 private function build_view(HTTPRequestCustom $request)
 {
     $year = $request->get_getint('year', date('Y'));
     $month = $request->get_getint('month', date('n'));
     $day = $request->get_getint('day', date('j'));
     if (!checkdate($month, $day, $year)) {
         $this->tpl->put('MSG', MessageHelper::display($this->lang['calendar.error.e_invalid_date'], MessageHelper::ERROR));
         $year = date('Y');
         $month = date('n');
         $day = date('j');
     }
     $this->tpl->put_all(array('CALENDAR' => CalendarAjaxCalendarController::get_view(false, $year, $month), 'EVENTS' => CalendarAjaxEventsController::get_view($year, $month, $day)));
     return $this->tpl;
 }
コード例 #19
0
 public function build_view()
 {
     $this->build_form();
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         if ($this->send_mail()) {
             $this->view->put('MSG', MessageHelper::display($this->lang['message.success_mail'] . ($this->config->is_sender_acknowledgment_enabled() ? ' ' . $this->lang['message.acknowledgment'] : ''), MessageHelper::SUCCESS));
             $this->view->put('C_MAIL_SENT', true);
         } else {
             $this->view->put('MSG', MessageHelper::display($this->lang['message.error_mail'], MessageHelper::ERROR, 5));
         }
     }
     $this->view->put('FORM', $this->form->display());
     $this->view->put_all(array('C_INFORMATIONS_LEFT' => $this->config->are_informations_enabled() && $this->config->are_informations_left(), 'C_INFORMATIONS_TOP' => $this->config->are_informations_enabled() && $this->config->are_informations_top(), 'C_INFORMATIONS_RIGHT' => $this->config->are_informations_enabled() && $this->config->are_informations_right(), 'C_INFORMATIONS_BOTTOM' => $this->config->are_informations_enabled() && $this->config->are_informations_bottom(), 'C_INFORMATIONS_SIDE' => $this->config->are_informations_enabled() && ($this->config->are_informations_left() || $this->config->are_informations_right()), 'INFORMATIONS' => FormatingHelper::second_parse($this->config->get_informations())));
 }
コード例 #20
0
 private function build_form()
 {
     $form = new HTMLForm(__CLASS__);
     $fieldset = new FormFieldsetHTML('choices-fieldset');
     $form->add_fieldset($fieldset);
     if (NewsletterConfig::load()->get_mail_sender()) {
         $fieldset->add_field(new FormFieldHTML('choices_table', $this->build_choices_table()->render()));
         $this->submit_button = new FormButtonDefaultSubmit($this->lang['newsletter.types.next']);
         $form->add_button($this->submit_button);
     } else {
         $fieldset->add_field(new FormFieldHTML('mail_sender_not_configured_msg', MessageHelper::display($this->lang['error.sender-mail-not-configured' . (AppContext::get_current_user()->is_admin() ? '-for-admin' : '')], MessageHelper::WARNING)->render()));
         $this->submit_button = new FormButtonDefaultSubmit();
     }
     $this->form = $form;
 }
コード例 #21
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     $this->build_form();
     $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #');
     $tpl->add_lang($this->lang);
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->save();
         $this->form->get_field_by_id('display_descriptions_to_guests')->set_hidden($this->config->get_category_display_type() == DownloadConfig::DISPLAY_ALL_CONTENT);
         $this->form->get_field_by_id('notation_scale')->set_hidden(!$this->config->is_notation_enabled());
         $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.config', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
     $tpl->put('FORM', $this->form->display());
     return new AdminDownloadDisplayResponse($tpl, $this->lang['module_config_title']);
 }
コード例 #22
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->load_lang();
     $this->load_config();
     $this->build_form();
     $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #');
     $tpl->add_lang($this->lang);
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->save();
         $this->form->get_field_by_id('debug_mode_type')->set_hidden(!Debug::is_debug_mode_enabled());
         $this->form->get_field_by_id('display_database_query_enabled')->set_hidden(!Debug::is_debug_mode_enabled());
         $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.config', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
     $tpl->put('FORM', $this->form->display());
     return new AdminConfigDisplayResponse($tpl, $this->lang['advanced-config']);
 }
コード例 #23
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->init($request);
     $this->check_authorizations();
     $this->build_form();
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->save();
         $this->form->get_field_by_id('assigned_to')->set_hidden(!$this->bug->is_assigned());
         if ($this->config->get_versions_fix()) {
             $this->form->get_field_by_id('fixed_in')->set_hidden(!$this->bug->is_fixed() && !$this->bug->is_in_progress());
         }
         $this->form->get_field_by_id('comments_message')->set_value('');
         $this->view->put('MSG', MessageHelper::display($this->lang['success.' . $this->bug->get_status()], MessageHelper::SUCCESS, 5));
     }
     $this->view->put('FORM', $this->form->display());
     return $this->build_response($this->view);
 }
コード例 #24
0
 private function build_view()
 {
     $news = $this->get_news();
     $news_config = NewsConfig::load();
     $category = $news->get_category();
     $this->tpl->put_all(array_merge($news->get_array_tpl_vars(), array('C_COMMENTS_ENABLED' => $news_config->get_comments_enabled(), 'NOT_VISIBLE_MESSAGE' => MessageHelper::display(LangLoader::get_message('element.not_visible', 'status-messages-common'), MessageHelper::WARNING))));
     if (NewsConfig::load()->get_comments_enabled()) {
         $comments_topic = new NewsCommentsTopic($news);
         $comments_topic->set_id_in_module($news->get_id());
         $comments_topic->set_url(NewsUrlBuilder::display_news($category->get_id(), $category->get_rewrited_name(), $news->get_id(), $news->get_rewrited_name()));
         $this->tpl->put_all(array('COMMENTS' => $comments_topic->display()));
     }
     $this->build_sources_view($news);
     $this->build_keywords_view($news);
     $this->build_suggested_news($news);
     $this->build_navigation_links($news);
 }
コード例 #25
0
 private function build_view()
 {
     $event = $this->get_event();
     $category = $event->get_content()->get_category();
     $this->tpl->put_all(array_merge($event->get_array_tpl_vars(), array('NOT_VISIBLE_MESSAGE' => MessageHelper::display(LangLoader::get_message('element.not_visible', 'status-messages-common'), MessageHelper::WARNING))));
     $participants_number = count($event->get_participants());
     $i = 0;
     foreach ($event->get_participants() as $participant) {
         $i++;
         $this->tpl->assign_block_vars('participant', array_merge($participant->get_array_tpl_vars(), array('C_LAST_PARTICIPANT' => $i == $participants_number)));
     }
     if (CalendarConfig::load()->are_comments_enabled()) {
         $comments_topic = new CalendarCommentsTopic($event);
         $comments_topic->set_id_in_module($event->get_id());
         $comments_topic->set_url(CalendarUrlBuilder::display_event($category->get_id(), $category->get_rewrited_name(), $event->get_id(), $event->get_content()->get_rewrited_title()));
         $this->tpl->put_all(array('C_COMMENTS_ENABLED' => true, 'COMMENTS' => $comments_topic->display()));
     }
 }
コード例 #26
0
 private function build_view()
 {
     $config = WebConfig::load();
     $weblink = $this->get_weblink();
     $category = $weblink->get_category();
     $keywords = $weblink->get_keywords();
     $has_keywords = count($keywords) > 0;
     $this->tpl->put_all(array_merge($weblink->get_array_tpl_vars(), array('C_COMMENTS_ENABLED' => $config->are_comments_enabled(), 'C_NOTATION_ENABLED' => $config->is_notation_enabled(), 'C_KEYWORDS' => $has_keywords, 'NOT_VISIBLE_MESSAGE' => MessageHelper::display(LangLoader::get_message('element.not_visible', 'status-messages-common'), MessageHelper::WARNING))));
     if ($config->are_comments_enabled()) {
         $comments_topic = new WebCommentsTopic($weblink);
         $comments_topic->set_id_in_module($weblink->get_id());
         $comments_topic->set_url(WebUrlBuilder::display($category->get_id(), $category->get_rewrited_name(), $weblink->get_id(), $weblink->get_rewrited_name()));
         $this->tpl->put('COMMENTS', $comments_topic->display());
     }
     if ($has_keywords) {
         $this->build_keywords_view($keywords);
     }
 }
コード例 #27
0
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     $this->build_form();
     $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #');
     $tpl->add_lang($this->lang);
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->save();
         $this->form->get_field_by_id('max_messages_number')->set_hidden(!$this->config->is_max_messages_number_enabled());
         $this->form->get_field_by_id('max_links_number_per_message')->set_hidden(!$this->config->is_max_links_number_per_message_enabled());
         $this->form->get_field_by_id('forbidden_formatting_tags')->set_selected_options($this->config->get_forbidden_formatting_tags());
         $this->form->get_field_by_id('refresh_delay')->set_hidden(!$this->config->is_automatic_refresh_enabled());
         $this->form->get_field_by_id('shout_max_messages_number')->set_hidden(!$this->config->is_shout_max_messages_number_enabled());
         $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.config', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
     $tpl->put('FORM', $this->form->display());
     return new AdminShoutboxDisplayResponse($tpl, $this->lang['module_config_title']);
 }
 public function execute(HTTPRequestCustom $request)
 {
     $this->init();
     //Form building
     $this->build_form();
     //Creation of the template
     $tpl = new StringTemplate('# INCLUDE MSG # # INCLUDE FORM #');
     $tpl->add_lang($this->lang);
     //Saving of the configuration if the submit button has been submitted
     if ($this->submit_button->has_been_submited() && $this->form->validate()) {
         $this->save();
         $tpl->put('MSG', MessageHelper::display(LangLoader::get_message('message.success.config', 'status-messages-common'), MessageHelper::SUCCESS, 5));
     }
     //Display the form on the template
     $tpl->put('FORM', $this->form->display());
     //Display the generated page
     return new AdminBugtrackerDisplayResponse($tpl, $this->lang['titles.admin.module_authorizations']);
 }
コード例 #29
0
 private function build_form($type)
 {
     $form = new HTMLForm(__CLASS__);
     $fieldset = new FormFieldsetHTML('add-newsletter', $this->lang['newsletter-add']);
     $form->add_fieldset($fieldset);
     if (NewsletterConfig::load()->get_mail_sender()) {
         $fieldset->add_field(new FormFieldMultipleCheckbox('newsletter_choice', $this->lang['add.choice_streams'], array(), $this->get_streams(), array('required' => true)));
         $fieldset->add_field(new FormFieldTextEditor('title', $this->lang['newsletter.title'], NewsletterConfig::load()->get_newsletter_name(), array('required' => true)));
         $fieldset->add_field($this->return_editor($type));
         $this->submit_button = new FormButtonDefaultSubmit();
         $this->send_test_button = new FormButtonSubmit($this->lang['add.send_test'], 'send_test');
         $form->add_button($this->submit_button);
         $form->add_button($this->send_test_button);
         $form->add_button(new FormButtonReset());
     } else {
         $fieldset->add_field(new FormFieldHTML('mail_sender_not_configured_msg', MessageHelper::display($this->lang['error.sender-mail-not-configured' . (AppContext::get_current_user()->is_admin() ? '-for-admin' : '')], MessageHelper::WARNING)->render()));
         $this->submit_button = new FormButtonDefaultSubmit();
     }
     $this->form = $form;
 }
コード例 #30
0
 private function build_table()
 {
     $table_model = new SQLHTMLTableModel(PREFIX . 'errors_404', 'table', array(new HTMLTableColumn($this->lang['404_error_requested_url']), new HTMLTableColumn($this->lang['404_error_from_url']), new HTMLTableColumn($this->lang['404_error_times'], 'times', 'col-small'), new HTMLTableColumn(LangLoader::get_message('delete', 'common'), '', 'col-small')), new HTMLTableSortingRule('times', HTMLTableSortingRule::DESC));
     $table = new HTMLTable($table_model, 'table-fixed error-list404');
     $table_model->set_caption($this->lang['404_list']);
     $results = array();
     $result = $table_model->get_sql_results();
     foreach ($result as $row) {
         $delete_link = new LinkHTMLElement(AdminErrorsUrlBuilder::delete_404_error($row['id']), '', array('title' => LangLoader::get_message('delete', 'common'), 'data-confirmation' => 'delete-element'), 'fa fa-delete');
         $results[] = new HTMLTableRow(array(new HTMLTableRowCell(new LinkHTMLElement($row['requested_url'], $row['requested_url'], array('title' => $this->lang['404_error_requested_url']))), new HTMLTableRowCell(new LinkHTMLElement($row['from_url'], $row['from_url'], array('title' => $this->lang['404_error_from_url']))), new HTMLTableRowCell($row['times']), new HTMLTableRowCell($delete_link->display())));
     }
     $table->set_rows($table_model->get_number_of_matching_rows(), $results);
     if ($table_model->get_number_of_matching_rows()) {
         $this->build_form();
         $this->view->put('FORM', $this->form->display());
         $this->view->put('table', $table->display());
     } else {
         $this->view->put('MSG', MessageHelper::display(LangLoader::get_message('no_item_now', 'common'), MessageHelper::SUCCESS, 0, true));
     }
 }