diff options
Diffstat (limited to 'phpBB/includes/acp')
| -rw-r--r-- | phpBB/includes/acp/acp_contact.php | 129 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_email.php | 2 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_groups.php | 107 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_modules.php | 4 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_php_info.php | 2 | ||||
| -rw-r--r-- | phpBB/includes/acp/acp_users.php | 3 | ||||
| -rw-r--r-- | phpBB/includes/acp/info/acp_contact.php | 26 | 
7 files changed, 266 insertions, 7 deletions
diff --git a/phpBB/includes/acp/acp_contact.php b/phpBB/includes/acp/acp_contact.php new file mode 100644 index 0000000000..13d38d9f29 --- /dev/null +++ b/phpBB/includes/acp/acp_contact.php @@ -0,0 +1,129 @@ +<?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 $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); +		} + +		$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); + +		$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="' . 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(); +	} +} diff --git a/phpBB/includes/acp/acp_email.php b/phpBB/includes/acp/acp_email.php index 63bfa3ac53..fe55b36e67 100644 --- a/phpBB/includes/acp/acp_email.php +++ b/phpBB/includes/acp/acp_email.php @@ -201,7 +201,7 @@ class acp_email  					$messenger->set_mail_priority($priority);  					$messenger->assign_vars(array( -						'CONTACT_EMAIL' => $config['board_contact'], +						'CONTACT_EMAIL' => phpbb_get_board_contact($config, $phpEx),  						'MESSAGE'		=> htmlspecialchars_decode($message))  					); diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index f4013a9bf2..f10f0b1015 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -27,7 +27,7 @@ class acp_groups  	{  		global $config, $db, $user, $auth, $template, $cache;  		global $phpbb_root_path, $phpbb_admin_path, $phpEx, $table_prefix, $file_uploads; -		global $request, $phpbb_container; +		global $request, $phpbb_container, $phpbb_dispatcher;  		$user->add_lang('acp/groups');  		$this->tpl_name = 'acp_groups'; @@ -410,6 +410,42 @@ class acp_groups  						'colour'	=> array('hex_colour', true),  					); +					/** +					* Request group data and operate on it +					* +					* @event core.acp_manage_group_request_data +					* @var	string	action				Type of the action: add|edit +					* @var	int		group_id			The group id +					* @var	array	group_row			Array with new group data +					* @var	array	error				Array of errors, if you add errors +					*							ensure to update the template variables +					*							S_ERROR and ERROR_MSG to display it +					* @var	string	group_name			The group name +					* @var	string	group_desc			The group description +					* @var	int		group_type			The group type +					* @var	bool	allow_desc_bbcode	Allow bbcode in group description: true|false +					* @var	bool	allow_desc_urls		Allow urls in group description: true|false +					* @var	bool	allow_desc_smilies	Allow smiles in group description: true|false +					* @var	array	submit_ary			Array with new group data +					* @var	array	validation_checks	Array with validation data +					* @since 3.1.0-b5 +					*/ +					$vars = array( +						'action', +						'group_id', +						'group_row', +						'error', +						'group_name', +						'group_desc', +						'group_type', +						'allow_desc_bbcode', +						'allow_desc_urls', +						'allow_desc_smilies', +						'submit_ary', +						'validation_checks', +					); +					extract($phpbb_dispatcher->trigger_event('core.acp_manage_group_request_data', compact($vars))); +  					if ($validation_error = validate_data($submit_ary, $validation_checks))  					{  						// Replace "error" string with its real, localised form @@ -442,6 +478,42 @@ class acp_groups  							'skip_auth'		=> 'int',  						); +						/** +						* Initialise data before we display the add/edit form +						* +						* @event core.acp_manage_group_initialise_data +						* @var	string	action				Type of the action: add|edit +						* @var	int		group_id			The group id +						* @var	array	group_row			Array with new group data +						* @var	array	error				Array of errors, if you add errors +						*							ensure to update the template variables +						*							S_ERROR and ERROR_MSG to display it +						* @var	string	group_name			The group name +						* @var	string	group_desc			The group description +						* @var	int		group_type			The group type +						* @var	bool	allow_desc_bbcode	Allow bbcode in group description: true|false +						* @var	bool	allow_desc_urls		Allow urls in group description: true|false +						* @var	bool	allow_desc_smilies	Allow smiles in group description: true|false +						* @var	array	submit_ary			Array with new group data +						* @var	array	test_variables		Array with variables for test +						* @since 3.1.0-b5 +						*/ +						$vars = array( +							'action', +							'group_id', +							'group_row', +							'error', +							'group_name', +							'group_desc', +							'group_type', +							'allow_desc_bbcode', +							'allow_desc_urls', +							'allow_desc_smilies', +							'submit_ary', +							'test_variables', +						); +						extract($phpbb_dispatcher->trigger_event('core.acp_manage_group_initialise_data', compact($vars))); +  						foreach ($test_variables as $test => $type)  						{  							if (isset($submit_ary[$test]) && ($action == 'add' || $group_row['group_' . $test] != $submit_ary[$test] || isset($group_attributes['group_avatar']) && strpos($test, 'avatar') === 0 || in_array($test, $set_attributes))) @@ -664,6 +736,39 @@ class acp_groups  					'L_AVATAR_EXPLAIN'	=> phpbb_avatar_explanation_string(),  				)); +				/** +				* Modify group template data before we display the form +				* +				* @event core.acp_manage_group_display_form +				* @var	string	action				Type of the action: add|edit +				* @var	bool	update				Do we display the form only +				*							or did the user press submit +				* @var	int		group_id			The group id +				* @var	array	group_row			Array with new group data +				* @var	string	group_name			The group name +				* @var	int		group_type			The group type +				* @var	array	group_desc_data		The group description data +				* @var	string	group_rank			The group rank +				* @var	string	rank_options		The rank options +				* @var	array	error				Array of errors, if you add errors +				*							ensure to update the template variables +				*							S_ERROR and ERROR_MSG to display it +				* @since 3.1.0-b5 +				*/ +				$vars = array( +					'action', +					'update', +					'group_id', +					'group_row', +					'group_desc_data', +					'group_name', +					'group_type', +					'group_rank', +					'rank_options', +					'error', +				); +				extract($phpbb_dispatcher->trigger_event('core.acp_manage_group_display_form', compact($vars))); +  				return;  			break; diff --git a/phpBB/includes/acp/acp_modules.php b/phpBB/includes/acp/acp_modules.php index 61bae18557..5932f4cddd 100644 --- a/phpBB/includes/acp/acp_modules.php +++ b/phpBB/includes/acp/acp_modules.php @@ -561,14 +561,14 @@ class acp_modules  		$directory = $phpbb_root_path . 'includes/' . $module_class . '/info/';  		$fileinfo = array(); -		$finder = $phpbb_extension_manager->get_finder(); +		$finder = $phpbb_extension_manager->get_finder($use_all_available);  		$modules = $finder  			->extension_suffix('_module')  			->extension_directory("/$module_class")  			->core_path("includes/$module_class/info/")  			->core_prefix($module_class . '_') -			->get_classes(true, $use_all_available); +			->get_classes(true);  		foreach ($modules as $cur_module)  		{ diff --git a/phpBB/includes/acp/acp_php_info.php b/phpBB/includes/acp/acp_php_info.php index 0e06c94869..810a111edb 100644 --- a/phpBB/includes/acp/acp_php_info.php +++ b/phpBB/includes/acp/acp_php_info.php @@ -47,7 +47,7 @@ class acp_php_info  		// for this was nabbed from the PHP annotated manual  		preg_match_all('#<body[^>]*>(.*)</body>#si', $phpinfo, $output); -		if (empty($phpinfo) || empty($output)) +		if (empty($phpinfo) || empty($output[1][0]))  		{  			trigger_error('NO_PHPINFO_AVAILABLE', E_USER_WARNING);  		} diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index b653ddd13b..d07120a65f 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -814,7 +814,7 @@ class acp_users  						$check_ary += array(  							'email'				=> array(  								array('string', false, 6, 60), -								array('email', $user_row['user_email']) +								array('user_email', $user_row['user_email']),  							),  						);  					} @@ -922,7 +922,6 @@ class acp_users  							$sql_ary += array(  								'user_password'		=> $passwords_manager->hash($data['new_password']),  								'user_passchg'		=> time(), -								'user_pass_convert'	=> 0,  							);  							$user->reset_login_keys($user_id); diff --git a/phpBB/includes/acp/info/acp_contact.php b/phpBB/includes/acp/info/acp_contact.php new file mode 100644 index 0000000000..b8326f34ea --- /dev/null +++ b/phpBB/includes/acp/info/acp_contact.php @@ -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')), +			), +		); +	} +}  | 
