mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-01 14:30:32 +02:00
[ticket/10073] Add ACP module to add bbcode text for contact admin info
PHPBB3-10073
This commit is contained in:
118
phpBB/includes/acp/acp_contact.php
Normal file
118
phpBB/includes/acp/acp_contact.php
Normal file
@@ -0,0 +1,118 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package acp
|
||||
* @copyright (c) 2014 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
if (!defined('IN_PHPBB'))
|
||||
{
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* @package acp
|
||||
*/
|
||||
class acp_contact
|
||||
{
|
||||
public $u_action;
|
||||
|
||||
public function main($id, $mode)
|
||||
{
|
||||
global $db, $user, $request, $template;
|
||||
global $config, $phpbb_root_path, $phpEx;
|
||||
|
||||
$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);
|
||||
}
|
||||
|
||||
$config_text = new \phpbb\config\db_text($db, CONFIG_TEXT_TABLE);
|
||||
|
||||
$contact_admin_info = $request->variable('contact_admin_info', $config_text->get('contact_admin_info'), true);
|
||||
$contact_admin_info_uid = $config['contact_admin_info_uid'];
|
||||
$contact_admin_info_bitfield= $config['contact_admin_info_bitfield'];
|
||||
$contact_admin_info_flags = $config['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');
|
||||
}
|
||||
|
||||
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('contact_admin_info', $contact_admin_info);
|
||||
$config->set('contact_admin_info_uid', $contact_admin_info_uid);
|
||||
$config->set('contact_admin_info_bitfield', $contact_admin_info_bitfield);
|
||||
$config->set('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);
|
||||
|
||||
$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_CHECKED' => (!$contact_admin_edit['allow_bbcode']) ? ' checked="checked"' : '',
|
||||
'S_SMILIES_CHECKED' => (!$contact_admin_edit['allow_smilies']) ? ' checked="checked"' : '',
|
||||
'S_MAGIC_URL_CHECKED' => (!$contact_admin_edit['allow_urls']) ? ' checked="checked"' : '',
|
||||
|
||||
'BBCODE_STATUS' => $user->lang('BBCODE_IS_ON', '<a href="' . append_sid("{$phpbb_root_path}faq.$phpEx", 'mode=bbcode') . '">', '</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();
|
||||
}
|
||||
}
|
26
phpBB/includes/acp/info/acp_contact.php
Normal file
26
phpBB/includes/acp/info/acp_contact.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @package acp
|
||||
* @copyright (c) 2014 phpBB Group
|
||||
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package module_install
|
||||
*/
|
||||
class acp_contact_info
|
||||
{
|
||||
public function module()
|
||||
{
|
||||
return array(
|
||||
'filename' => 'acp_contact',
|
||||
'title' => 'ACP_CONTACT',
|
||||
'version' => '1.0.0',
|
||||
'modes' => array(
|
||||
'contact' => array('title' => 'ACP_CONTACT_SETTINGS', 'auth' => 'acl_a_board', 'cat' => array('ACP_BOARD_CONFIGURATION')),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@@ -233,6 +233,7 @@ define('BBCODES_TABLE', $table_prefix . 'bbcodes');
|
||||
define('BOOKMARKS_TABLE', $table_prefix . 'bookmarks');
|
||||
define('BOTS_TABLE', $table_prefix . 'bots');
|
||||
define('CONFIG_TABLE', $table_prefix . 'config');
|
||||
define('CONFIG_TEXT_TABLE', $table_prefix . 'config_text');
|
||||
define('CONFIRM_TABLE', $table_prefix . 'confirm');
|
||||
define('DISALLOW_TABLE', $table_prefix . 'disallow');
|
||||
define('DRAFTS_TABLE', $table_prefix . 'drafts');
|
||||
|
Reference in New Issue
Block a user