diff options
Diffstat (limited to 'phpBB/includes/acp/acp_ranks.php')
| -rw-r--r-- | phpBB/includes/acp/acp_ranks.php | 85 | 
1 files changed, 65 insertions, 20 deletions
diff --git a/phpBB/includes/acp/acp_ranks.php b/phpBB/includes/acp/acp_ranks.php index ea057cd84c..5885de57ec 100644 --- a/phpBB/includes/acp/acp_ranks.php +++ b/phpBB/includes/acp/acp_ranks.php @@ -1,10 +1,13 @@  <?php  /**  * -* @package acp -* @version $Id$ -* @copyright (c) 2005 phpBB Group -* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* 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.  *  */ @@ -16,16 +19,13 @@ if (!defined('IN_PHPBB'))  	exit;  } -/** -* @package acp -*/  class acp_ranks  {  	var $u_action;  	function main($id, $mode)  	{ -		global $db, $user, $auth, $template, $cache; +		global $db, $user, $auth, $template, $cache, $request, $phpbb_dispatcher;  		global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;  		$user->add_lang('acp/posting'); @@ -72,7 +72,18 @@ class acp_ranks  					'rank_min'			=> $min_posts,  					'rank_image'		=> htmlspecialchars_decode($rank_image)  				); -				 + +				/** +				* Modify the SQL array when saving a rank +				* +				* @event core.acp_ranks_save_modify_sql_ary +				* @var	int		rank_id		The ID of the rank (if available) +				* @var	array	sql_ary		Array with the rank's data +				* @since 3.1.0-RC3 +				*/ +				$vars = array('rank_id', 'sql_ary'); +				extract($phpbb_dispatcher->trigger_event('core.acp_ranks_save_modify_sql_ary', compact($vars))); +  				if ($rank_id)  				{  					$sql = 'UPDATE ' . RANKS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE rank_id = $rank_id"; @@ -123,6 +134,18 @@ class acp_ranks  					$cache->destroy('_ranks');  					add_log('admin', 'LOG_RANK_REMOVED', $rank_title); + +					if ($request->is_ajax()) +					{ +						$json_response = new \phpbb\json_response; +						$json_response->send(array( +							'MESSAGE_TITLE'	=> $user->lang['INFORMATION'], +							'MESSAGE_TEXT'	=> $user->lang['RANK_REMOVED'], +							'REFRESH_DATA'	=> array( +								'time'	=> 3 +							) +						)); +					}  				}  				else  				{ @@ -140,7 +163,7 @@ class acp_ranks  			case 'add':  				$data = $ranks = $existing_imgs = array(); -				 +  				$sql = 'SELECT *  					FROM ' . RANKS_TABLE . '  					ORDER BY rank_min ASC, rank_special ASC'; @@ -190,7 +213,7 @@ class acp_ranks  				$filename_list = '<option value=""' . (($edit_img == '') ? ' selected="selected"' : '') . '>----------</option>' . $filename_list;  				unset($existing_imgs, $imglist); -				$template->assign_vars(array( +				$tpl_ary = array(  					'S_EDIT'			=> true,  					'U_BACK'			=> $this->u_action,  					'RANKS_PATH'		=> $phpbb_root_path . $config['ranks_path'], @@ -198,17 +221,28 @@ class acp_ranks  					'RANK_TITLE'		=> (isset($ranks['rank_title'])) ? $ranks['rank_title'] : '',  					'S_FILENAME_LIST'	=> $filename_list, -					'RANK_IMAGE'		=> ($edit_img) ? $phpbb_root_path . $config['ranks_path'] . '/' . $edit_img : $phpbb_admin_path . 'images/spacer.gif', +					'RANK_IMAGE'		=> ($edit_img) ? $phpbb_root_path . $config['ranks_path'] . '/' . $edit_img : htmlspecialchars($phpbb_admin_path) . 'images/spacer.gif',  					'S_SPECIAL_RANK'	=> (isset($ranks['rank_special']) && $ranks['rank_special']) ? true : false, -					'MIN_POSTS'			=> (isset($ranks['rank_min']) && !$ranks['rank_special']) ? $ranks['rank_min'] : 0) +					'MIN_POSTS'			=> (isset($ranks['rank_min']) && !$ranks['rank_special']) ? $ranks['rank_min'] : 0,  				); -						 +				/** +				* Modify the template output array for editing/adding ranks +				* +				* @event core.acp_ranks_edit_modify_tpl_ary +				* @var	array	ranks		Array with the rank's data +				* @var	array	tpl_ary		Array with the rank's template data +				* @since 3.1.0-RC3 +				*/ +				$vars = array('ranks', 'tpl_ary'); +				extract($phpbb_dispatcher->trigger_event('core.acp_ranks_edit_modify_tpl_ary', compact($vars))); + +				$template->assign_vars($tpl_ary);  				return;  			break;  		} -	 +  		$template->assign_vars(array(  			'U_ACTION'		=> $this->u_action)  		); @@ -220,7 +254,7 @@ class acp_ranks  		while ($row = $db->sql_fetchrow($result))  		{ -			$template->assign_block_vars('ranks', array( +			$rank_row = array(  				'S_RANK_IMAGE'		=> ($row['rank_image']) ? true : false,  				'S_SPECIAL_RANK'	=> ($row['rank_special']) ? true : false, @@ -229,12 +263,23 @@ class acp_ranks  				'MIN_POSTS'			=> $row['rank_min'],  				'U_EDIT'			=> $this->u_action . '&action=edit&id=' . $row['rank_id'], -				'U_DELETE'			=> $this->u_action . '&action=delete&id=' . $row['rank_id']) -			);	 +				'U_DELETE'			=> $this->u_action . '&action=delete&id=' . $row['rank_id'], +			); + +			/** +			* Modify the template output array for each listed rank +			* +			* @event core.acp_ranks_list_modify_rank_row +			* @var	array	row			Array with the rank's data +			* @var	array	rank_row	Array with the rank's template data +			* @since 3.1.0-RC3 +			*/ +			$vars = array('row', 'rank_row'); +			extract($phpbb_dispatcher->trigger_event('core.acp_ranks_list_modify_rank_row', compact($vars))); + +			$template->assign_block_vars('ranks', $rank_row);  		}  		$db->sql_freeresult($result);  	}  } - -?>
\ No newline at end of file  | 
