Seditio Source
Root |
./othercms/phpBB3/includes/acp/acp_contact.php
<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
    exit;
}

/**
* @package acp
*/
class acp_contact
{
    public
$u_action;

    public function
main($id, $mode)
    {
        global
$user, $request, $template;
        global
$config, $phpbb_root_path, $phpEx, $phpbb_container;

       
$user->add_lang(array('acp/board', 'posting'));

       
$this->tpl_name = 'acp_contact';
       
$this->page_title = 'ACP_CONTACT_SETTINGS';
       
$form_name = 'acp_contact';
       
add_form_key($form_name);
       
$error = '';

        if (!
function_exists('display_custom_bbcodes'))
        {
            include(
$phpbb_root_path . 'includes/functions_display.' . $phpEx);
        }
        if (!
class_exists('parse_message'))
        {
            include(
$phpbb_root_path . 'includes/message_parser.' . $phpEx);
        }

       
/* @var $config_text \phpbb\config\db_text */
       
$config_text = $phpbb_container->get('config_text');

       
$contact_admin_data            = $config_text->get_array(array(
           
'contact_admin_info',
           
'contact_admin_info_uid',
           
'contact_admin_info_bitfield',
           
'contact_admin_info_flags',
        ));

       
$contact_admin_info            = $contact_admin_data['contact_admin_info'];
       
$contact_admin_info_uid        = $contact_admin_data['contact_admin_info_uid'];
       
$contact_admin_info_bitfield= $contact_admin_data['contact_admin_info_bitfield'];
       
$contact_admin_info_flags    = $contact_admin_data['contact_admin_info_flags'];

        if (
$request->is_set_post('submit') || $request->is_set_post('preview'))
        {
            if (!
check_form_key($form_name))
            {
               
$error = $user->lang('FORM_INVALID');
            }

           
$contact_admin_info = $request->variable('contact_admin_info', '', true);

           
generate_text_for_storage(
               
$contact_admin_info,
               
$contact_admin_info_uid,
               
$contact_admin_info_bitfield,
               
$contact_admin_info_flags,
                !
$request->variable('disable_bbcode', false),
                !
$request->variable('disable_magic_url', false),
                !
$request->variable('disable_smilies', false)
            );

            if (empty(
$error) && $request->is_set_post('submit'))
            {
               
$config->set('contact_admin_form_enable', $request->variable('contact_admin_form_enable', false));

               
$config_text->set_array(array(
                   
'contact_admin_info'            => $contact_admin_info,
                   
'contact_admin_info_uid'        => $contact_admin_info_uid,
                   
'contact_admin_info_bitfield'    => $contact_admin_info_bitfield,
                   
'contact_admin_info_flags'        => $contact_admin_info_flags,
                ));

               
trigger_error($user->lang['CONTACT_US_INFO_UPDATED'] . adm_back_link($this->u_action));
            }
        }

       
$contact_admin_info_preview = '';
        if (
$request->is_set_post('preview'))
        {
           
$contact_admin_info_preview = generate_text_for_display($contact_admin_info, $contact_admin_info_uid, $contact_admin_info_bitfield, $contact_admin_info_flags);
        }

       
$contact_admin_edit = generate_text_for_edit($contact_admin_info, $contact_admin_info_uid, $contact_admin_info_flags);

       
/** @var \phpbb\controller\helper $controller_helper */
       
$controller_helper = $phpbb_container->get('controller.helper');

       
$template->assign_vars(array(
           
'ERRORS'            => $error,
           
'CONTACT_ENABLED'    => $config['contact_admin_form_enable'],

           
'CONTACT_US_INFO'            => $contact_admin_edit['text'],
           
'CONTACT_US_INFO_PREVIEW'    => $contact_admin_info_preview,

           
'S_BBCODE_DISABLE_CHECKED'        => !$contact_admin_edit['allow_bbcode'],
           
'S_SMILIES_DISABLE_CHECKED'        => !$contact_admin_edit['allow_smilies'],
           
'S_MAGIC_URL_DISABLE_CHECKED'    => !$contact_admin_edit['allow_urls'],

           
'BBCODE_STATUS'            => $user->lang('BBCODE_IS_ON', '<a href="' . $controller_helper->route('phpbb_help_bbcode_controller') . '">', '</a>'),
           
'SMILIES_STATUS'        => $user->lang['SMILIES_ARE_ON'],
           
'IMG_STATUS'            => $user->lang['IMAGES_ARE_ON'],
           
'FLASH_STATUS'            => $user->lang['FLASH_IS_ON'],
           
'URL_STATUS'            => $user->lang['URL_IS_ON'],

           
'S_BBCODE_ALLOWED'        => true,
           
'S_SMILIES_ALLOWED'        => true,
           
'S_BBCODE_IMG'            => true,
           
'S_BBCODE_FLASH'        => true,
           
'S_LINKS_ALLOWED'        => true,
        ));

       
// Assigning custom bbcodes
       
display_custom_bbcodes();
    }
}