All pastes #367400 Raw Edit

Anonymous

public php v1 · immutable
#367400 ·published 2007-02-22 09:56 UTC
rendered paste body
<?php/**  * Awards MOD * * @package		phpBB3 * @subpackage	awards_mod * @version		$Id$ * @copyright	(c) 2007 Dean Newman * @license		http://opensource.org/licenses/gpl-license.php GNU Public License  *//*** @ignore*/define('IN_PHPBB', true);$phpbb_root_path = './';$phpEx = substr(strrchr(__FILE__, '.'), 1);include($phpbb_root_path . 'common.' . $phpEx);include($phpbb_root_path . 'includes/functions_awards.' . $phpEx);// Start session management$user->session_begin();$auth->acl($user->data);$user->setup('awards');//// Start Page Proper//$mode		= request_var('mode', '');$award_id	= request_var(POST_AWARDS_URL, '');$cat_id		= request_var(POST_CAT_URL, '');$template->assign_block_vars('navlinks', array(	'U_VIEW_FORUM'	=> append_sid("awards.{$phpEx}"),	'FORUM_NAME'	=> $user->lang['L_AWARDS']));$template->assign_vars($user->lang);switch ( $mode ){	default:		$template->set_filenames(array(			'body' => 'awards_body.html')		);				$template->assign_var('S_DISPLAY_CATS', true);		$sql = $db->sql_build_query('SELECT', array(			'SELECT'	=> 'c.cat_id, c.cat_name, c.cat_desc',			'FROM'		=> array(AWARDS_CATS_TABLE => 'c'),			'WHERE'		=> ($cat_id) ? 'c.cat_id = ' . (int) $cat_id : '',			'ORDER_BY'	=> 'c.cat_order ASC',			'GROUP_BY'	=> 'c.cat_id')		);		$result = $db->sql_query($sql);				$cat_rowset = $cat_ids = $award_rowset = array();		while ( $row = $db->sql_fetchrow($result) )		{			$cat_rowset[]	= $row;			$cat_ids[]		= $row['cat_id'];			$award_rowset[ $row['cat_id'] ] = array();		}				$db->sql_freeresult($result);				if ( sizeof($cat_ids) < 1 )		{			($cat_id) ? trigger_error('L_CAT_NOT_FOUND') : trigger_error('L_NO_CATEGORIES');		}		if ( $cat_id )		{			$template->assign_block_vars('navlinks', array(				'U_VIEW_FORUM'	=> append_sid("awards.{$phpEx}?" . POST_CAT_URL . '=' . (int) $cat_id),				'FORUM_NAME'	=> $cat_rowset[0]['cat_name'])			);		}		if ( sizeof($cat_ids) > 0)		{			$sql = $db->sql_build_query('SELECT', array(				'SELECT'	=> 'a.award_id, a.award_name, a.award_desc, a.award_image, a.cat_id, ( COUNT(u.user_id) + COUNT(m.user_id) ) AS award_users',				'FROM'		=> array(AWARDS_TABLE => 'a'),				'LEFT_JOIN'	=> array(					array(						'FROM'	=> array(AWARDS_USERS_TABLE => 'u'),						'ON'	=> 'a.award_id = u.award_id'),					array(						'FROM'	=> array(AWARDS_MODS_TABLE => 'm'),						'ON'	=> 'a.cat_id = m.cat_id'),				),				'WHERE'		=> 'a.cat_id IN (' . implode(',', $cat_ids) . ')',				'ORDER_BY'	=> 'a.award_name ASC',				'GROUP_BY'	=> 'a.award_name')			);			$result = $db->sql_query($sql);			while ( $row = $db->sql_fetchrow($result) )			{				$award_rowset[ $row['cat_id'] ][]	= $row;			}						$db->sql_freeresult($result);		}		for ( $i = 0 ; $i < sizeof($cat_rowset) ; $i++ )		{			$template->assign_block_vars('catrow', array(				'CAT_ID'		=> $cat_rowset[$i]['cat_id'],				'CAT_NAME'		=> $cat_rowset[$i]['cat_name'],				'CAT_DESC'		=> $cat_rowset[$i]['cat_desc'],				'CAT_AWARDS'	=> sizeof($award_rowset[$cat_rowset[$i]['cat_id']]),								'U_VIEW_CAT'	=> append_sid('awards.' . $phpEx . '?' . POST_CAT_URL . '=' . $cat_rowset[$i]['cat_id']))			);						for ( $j = 0 ; $j < sizeof($award_rowset[$cat_rowset[$i]['cat_id']]) ; $j++ )			{				$awardrow =& $award_rowset[$cat_rowset[$i]['cat_id']][$j];				$template->assign_block_vars('catrow.awardrow', array(					'AWARD_ID'		=> $awardrow['award_id'],					'AWARD_NAME'	=> $awardrow['award_name'],					'AWARD_DESC'	=> $awardrow['award_desc'],					'AWARD_IMG'		=> '<img src="' . $awardrow['award_image'] . '" alt="' . $awardrow['award_name'] . '" />',					'AWARD_USERS'	=> $awardrow['award_users'],										'U_AWARD'		=> append_sid("awards.{$phpEx}?mode=users&amp;" . POST_AWARDS_URL . '=' . $awardrow['award_id']))				);			}		}				break;	case 'users':		$template->set_filenames(array(			'body' => 'awards_body.html')		);				$template->assign_var('S_DISPLAY_USERS', true);				$sql = $db->sql_build_query('SELECT', array(			'SELECT'	=> 'a.award_id, a.award_name, a.award_desc, a.award_image, a.cat_id, c.cat_name, c.cat_desc',			'FROM'		=> array(AWARDS_TABLE => 'a'),			'LEFT_JOIN'	=> array(				array(					'FROM'	=> array(AWARDS_USERS_TABLE => 'u'),					'ON'	=> 'a.award_id = u.award_id'),				array(					'FROM'	=> array(AWARDS_CATS_TABLE => 'c'),					'ON'	=> 'a.cat_id = c.cat_id')			),			'WHERE'		=> 'a.award_id = ' . (int) $award_id,			'ORDER_BY'	=> 'a.award_name ASC')		);		$result = $db->sql_query($sql);		$row = $db->sql_fetchrow($result);		$db->sql_freeresult($result);		if ( sizeof($row) < 1 )		{			trigger_error('AWARDS_INVALID_ID');		}		$template->assign_block_vars('navlinks', array(			'U_VIEW_FORUM'	=> append_sid("awards.{$phpEx}?" . POST_CAT_URL . '=' . (int) $row['cat_id']),			'FORUM_NAME'	=> $row['cat_name'])		);				$template->assign_block_vars('navlinks', array(			'U_VIEW_FORUM'	=> append_sid("awards.{$phpEx}?" . POST_AWARDS_URL . '=' . (int) $row['award_id']),			'FORUM_NAME'	=> $row['award_name'])		);		$template->assign_vars(array(			'AWARD_ID' => $row['award_id'],			'AWARD_NAME'	=> $row['award_name'],			'AWARD_DESC'	=> $row['award_desc'],			'AWARD_IMAGE'	=> '<img src="' . $row['award_image'] . '" alt="' . $row['award_name'] . '" />',			'CAT_NAME'		=> $row['cat_name'],			'CAT_DESC'		=> $row['cat_desc'],						'U_CAT'			=> append_sid("awards.{$phpEx}?" . POST_CAT_URL . "={$row['cat_id']}"))		);				$cat_id = $row['cat_id'];		$sql = $db->sql_build_query('SELECT', array(			'SELECT'	=> 'DISTINCT(m.moderator_id), u.user_id, u.username, u.user_allow_pm',			'FROM'		=> array(AWARDS_TABLE => 'a'),			'LEFT_JOIN'	=> array(				array(					'FROM'	=> array(AWARDS_MODS_TABLE => 'm'),					'ON'	=> 'a.cat_id = m.cat_id'				),				array(					'FROM'	=> array(USERS_TABLE => 'u'),					'ON'	=> 'm.user_id = u.user_id'				),			),			'WHERE'		=> 'a.cat_id = ' . (int) $cat_id,			'ORDER_BY'	=> 'u.username ASC')		);		$result = $db->sql_query($sql);				$mod_rowset = $user_ids = array();		while ( $row = $db->sql_fetchrow($result) )		{			$mod_rowset[] = $row;			$user_ids[] = $row['user_id'];		}				$db->sql_freeresult($result);		$sql = $db->sql_build_query('SELECT', array(			'SELECT'	=> 'u.user_id, u.username, u2.username AS assigned_by, u2.user_id AS assigned_by_id, u.user_allow_pm',			'FROM'		=> array(AWARDS_USERS_TABLE => 'au'),			'LEFT_JOIN'	=> array(				array(					'FROM'	=> array(AWARDS_MODS_TABLE => 'm'),					'ON'	=> 'au.moderator_id = m.moderator_id'				),				array(					'FROM'	=> array(USERS_TABLE => 'u2'),					'ON'	=> 'm.user_id = u2.user_id'				),				array(					'FROM'	=> array(USERS_TABLE => 'u'),					'ON'	=> 'au.user_id = u.user_id'				)			),			'WHERE'		=> 'au.award_id = ' . (int) $award_id)		);		$result = $db->sql_query($sql);				$user_rowset = array();		while ( $row = $db->sql_fetchrow($result) )		{			$user_rowset[] = $row;			$user_ids[] = $row['user_id'];		}				$db->sql_freeresult($result);				$user_awards = get_awards_data($user_ids, $award_id);		$template->assign_vars(array(			'AWARD_MODS' => sizeof($mod_rowset),			'AWARD_USERS' => sizeof($user_rowset),			'AWARD_TOTAL_USERS' => ( sizeof($mod_rowset) + sizeof($user_rowset) ),			'L_USERS_WITH_AWARD' => sprintf($user->lang['L_USERS_WITH_AWARD'], sizeof($mod_rowset) + sizeof($user_rowset)))		);				for ( $i = 0 ; $i < sizeof ( $mod_rowset ) ; $i++ )		{			$template->assign_block_vars('modrow', array(				'USERNAME'		=> $mod_rowset[$i]['username'],				'PM_IMG'		=> $user->img('icon_contact_pm', $user->lang['SEND_PRIVATE_MESSAGE']),				'U_PM'			=> ($config['allow_privmsg'] && ($mod_rowset[$i]['user_allow_pm'] || $auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_'))) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&amp;mode=compose&amp;u=' . $mod_rowset[$i]['user_id']) : '',				'U_USERNAME'	=> append_sid("memberlist.{$phpEx}?mode=viewprofile&amp;u={$mod_rowset[$i]['user_id']}"),				'S_OTHER_AWARDS'=> ( isset($user_awards[ $mod_rowset[$i]['user_id'] ]) && sizeof($user_awards[ $mod_rowset[$i]['user_id'] ]) ) ? true : false)			);			if ( isset($user_awards[ $mod_rowset[$i]['user_id'] ]) )			{				for ( $j = 0 ; $j < sizeof ( $user_awards[ $mod_rowset[$i]['user_id'] ] ) ; $j++ )				{					$user_award =& $user_awards[ $mod_rowset[$i]['user_id'] ][$j];										if ( $user_award['award_id'] == $award_id )					{						continue;					}										$template->assign_block_vars('modrow.awards', array(						'AWARD_ID'		=> $user_award['award_id'],						'AWARD_NAME'	=> $user_award['award_name'],						'AWARD_IMAGE'	=> '<img src="' . $user_award['award_image'] . '" alt="' . $user_award['award_name'] . '" />',												'U_AWARD'		=> append_sid("awards.{$phpEx}?mode=users&amp;" . POST_AWARDS_URL . '=' . $user_award['award_id']))					);				}			}		}				for ( $i = 0 ; $i < sizeof ( $user_rowset ) ; $i++ )		{			$template->assign_block_vars('userrow', array(				'USER_ID'		=> $user_rowset[$i]['user_id'],				'USERNAME'		=> $user_rowset[$i]['username'],				'ASSIGNED_BY'	=> $user_rowset[$i]['assigned_by'],				'PM_IMG'		=> $user->img('icon_contact_pm', $user->lang['SEND_PRIVATE_MESSAGE']),				'U_PM'			=> ($config['allow_privmsg'] && ($user_rowset[$i]['user_allow_pm'] || $auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_'))) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&amp;mode=compose&amp;u=' . $user_rowset[$i]['user_id']) : '',				'U_USERNAME'	=> append_sid("memberlist.{$phpEx}?mode=viewprofile&amp;u={$user_rowset[$i]['user_id']}"),				'U_ASSIGNED_BY'	=> append_sid("memberlist.{$phpEx}?mode=viewprofile&amp;u={$user_rowset[$i]['assigned_by_id']}"),				'S_OTHER_AWARDS'=> ( isset($user_awards[ $user_rowset[$i]['user_id'] ]) && sizeof($user_awards[ $user_rowset[$i]['user_id'] ]) ) ? true : false)			);						if ( isset($user_awards[ $user_rowset[$i]['user_id'] ]) )			{				for ( $j = 0 ; $j < sizeof ( $user_awards[ $user_rowset[$i]['user_id'] ] ) ; $j++ )				{					$user_award =& $user_awards[ $user_rowset[$i]['user_id'] ][$j];										if ( $user_award['award_id'] == $award_id )					{						continue;					}										assign_awards_icon('userrow', $user_award);				}			}		}		if ( user_is_award_mod($cat_id) )		{			$template->assign_vars(array(				'UA_FIND_USERNAME'		=> append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&form=awards_moderate&field=username&select_single=true', false),				'U_FIND_USERNAME'		=> append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&amp;form=awards_moderate&amp;field=username&amp;select_single=true'),				'S_USER_IS_MOD'			=> true,				'S_ADD_USER_ACTION'		=> append_sid("awards.{$phpEx}?mode=adduser&amp;" . POST_AWARDS_URL . '=' . (int) $award_id),				'S_DELETE_USER_ACTION'	=> append_sid("awards.{$phpEx}?mode=deluser&amp;" . POST_AWARDS_URL . '=' . (int) $award_id),			));		}				break;	case 'adduser':		if ( !user_is_award_mod($cat_id) )		{			trigger_error('L_AWARD_NOT_MOD');		}				if ( ! award_exists($award_id) )		{			trigger_error('L_AWARD_NOT_EXISTS');		}				$username = request_var('username', '');		if ( ! $username )		{			trigger_error('L_NO_USERNAME_INPUT');		}				$sql = 'SELECT user_id, username, user_type			FROM ' . USERS_TABLE . "			WHERE username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'";		$result = $db->sql_query($sql);		$row = $db->sql_fetchrow($result);		$db->sql_freeresult($result);				if ( !isset($row['user_id']) )		{			trigger_error('L_USER_NOT_EXIST');		}				if ( $row['user_type'] == USER_INACTIVE )		{			trigger_error('L_USER_INACTIVE');		}		if ( user_has_award($award_id, $row['user_id']) )		{			trigger_error('L_USER_ALREADY_HAS_AWARD');		}				$award = new obj_award($award_id);		$award->add_user($row);				trigger_error('L_USER_AWARDED');				break;	case 'deluser':		if ( !user_is_award_mod($cat_id) )		{			trigger_error('L_AWARD_NOT_MOD');		}			if ( !award_exists($award_id) )		{			trigger_error('L_AWARD_NOT_EXISTS');		}		$user_ids = request_var('del_users', array(0));		$del_mode = request_var('submit', '');				if ( $del_mode == $user->lang['L_UNAWARD_ALL'] )		{			$sql = 'SELECT au.user_id FROM (' . AWARDS_USERS_TABLE . ' au) WHERE au.award_id = ' . (int) $award_id;			$result = $db->sql_query($sql);						$user_ids = array();			while ( $row = $db->sql_fetchrow($result) )			{				$user_ids[] = $row['user_id'];			}						$db->sql_freeresult($result);		}				foreach ( $user_ids AS $key => $user_id )		{			if ( empty($user_id) )			{				unset($user_ids[$key]);			}		}				sort($user_ids);		if ( sizeof($user_ids) < 1 )		{			trigger_error('L_NO_USERS_SELECTED');		}				$award = new obj_award($award_id);		$award->del_user($user_ids);				trigger_error('L_USERS_REMOVED');				break;}page_header();page_footer();?><?php/**  * Awards MOD * * This is the functions and object definition file for Awards MOD by Dean Newman * * @package		phpBB3 * @subpackage	awards_mod * @version		$Id$ * @copyright	(c) 2007 Dean Newman * @license		http://opensource.org/licenses/gpl-license.php GNU Public License  */if ( ! defined('IN_PHPBB') ){	return;}/** * @ignore */define('POST_AWARDS_URL', 'a');// This constant requires a check as it may conflict with other MODsif ( ! defined ('POST_CAT_URL') ){	define('POST_CAT_URL', 'c');}define('AWARDS_CATS_TABLE', $table_prefix . 'awards_cats');define('AWARDS_MODS_TABLE', $table_prefix . 'awards_moderators');define('AWARDS_USERS_TABLE', $table_prefix . 'awards_users');define('AWARDS_TABLE', $table_prefix . 'awards');/** * Logical Object for each "Award" */class obj_award{	var $award_id, $data;	function obj_award($award_id, &$award_data = false)	{		$this->award_id = (int) $award_id;		$this->data = ($award_data) ? $award_data : $this->get_data();	}		function get_data($award_id = false)	{		global $db;		$award_id = ($award_id) ? $award_id : $this->award_id;				$sql = $db->sql_build_query('SELECT', array(			'SELECT'	=> 'a.*',			'FROM'		=> array(AWARDS_TABLE => 'a'),			'WHERE'		=> 'a.award_id = ' . (int) $award_id)		);				$result = $db->sql_query($sql);		$row = $db->sql_fetchrow($result);		$db->sql_freeresult($result);				return $row;	}		function add_user($user_data)	{		global $db, $user, $config, $phpbb_root_path, $phpEx;			$sql = 'INSERT INTO ' . AWARDS_USERS_TABLE . ' ' . $db->sql_build_array('INSERT', array(			'award_id'		=> (int) $this->data['award_id'],			'user_id'		=> (int) $user_data['user_id'],			'moderator_id'	=> (int) $user->data['user_id'])		);		$result = $db->sql_query($sql);		$db->sql_freeresult($result);				//--Snipit: http://phpbbmodders.net/viewtopic.php?t=1036 ------------		//--add:		include_once($phpbb_root_path . 'includes/functions_privmsgs.' . $phpEx);		include_once($phpbb_root_path . 'includes/message_parser.' . $phpEx);				$message_parser				= new parse_message();		$message_parser->message	= sprintf($user->lang['AWARDED_MESSAGE'], $user_data['username'], $this->data['award_name'], $user->data['username'], $config['sitename']);		$message_parser->parse(true, true, true, false, false, true, true);				$pm_data = array(		   'from_user_id'		=> $user->data['user_id'],		   'from_user_ip'		=> $user->data['user_ip'],		   'from_username'		=> $user->data['username'],		   'enable_sig'			=> false,		   'enable_bbcode'		=> true,		   'enable_smilies'		=> true,		   'enable_urls'		=> false,		   'icon_id'			=> 0,		   'bbcode_bitfield'	=> $message_parser->bbcode_bitfield,		   'bbcode_uid'			=> $message_parser->bbcode_uid,		   'message'			=> $message_parser->message,		   'address_list'		=> array(				'u' => array(					$user_data['user_id'] => 'to'				)			),		);		return submit_pm('post', $user->lang['AWARDED_TITLE'], $pm_data, false, false);		//--Snipit: http://phpbbmodders.net/viewtopic.php?t=1036 ------------	}		function add_moderator($user_id)	{		global $db;		if ( user_is_award_mod($this->data['cat_id'], $user_id) )		{			return true;		}				if ( user_has_award($this->data['award_id'], $user_id) )		{			$db->sql_query('DELETE FROM ' . AWARDS_USERS_TABLE . ' WHERE user_id = ' . (int) $user_id);		}				return $db->sql_query('INSERT INTO ' . AWARD_MODS_TABLE . ' (user_id, cat_id) VALUES (' . (int) $user_id . ',' . (int) $this->data['cat_id'] . ')');	}		function del_user($user_ids)	{		global $db, $user, $config, $phpbb_root_path, $phpEx;			$user_ids = ( is_array($user_ids) ) ? $user_ids : array($user_ids);		array_walk($user_ids, 'intval');				if ( sizeof($user_ids) < 1 )		{			return false;		}		$sql = 'DELETE FROM ' . AWARDS_USERS_TABLE . ' WHERE user_id IN (' . implode(',', $user_ids) . ') AND award_id = ' . (int) $this->data['award_id'];		$result = $db->sql_query($sql);		$db->sql_freeresult($result);		include_once($phpbb_root_path . 'includes/functions_privmsgs.' . $phpEx);		include_once($phpbb_root_path . 'includes/message_parser.' . $phpEx);				$sql = 'SELECT u.user_id, u.username FROM (' . USERS_TABLE . ' u) WHERE u.user_id IN (' . implode(',', $user_ids) . ')';		$result = $db->sql_query($sql);		$userdatas = array();		while ( $row = $db->sql_fetchrow($result) )		{			$userdatas[] = $row;		}		$db->sql_freeresult($result);		foreach ( $userdatas AS $user_data )		{			$message_parser				= new parse_message();			$message_parser->message	= sprintf($user->lang['UNAWARDED_MESSAGE'], $user_data['username'], $this->data['award_name'], $user->data['username'], $config['sitename']);			$message_parser->parse(true, true, true, false, false, true, true);						$pm_data = array(			   'from_user_id'		=> $user->data['user_id'],			   'from_user_ip'		=> $user->data['user_ip'],			   'from_username'		=> $user->data['username'],			   'enable_sig'			=> false,			   'enable_bbcode'		=> true,			   'enable_smilies'		=> true,			   'enable_urls'		=> false,			   'icon_id'			=> 0,			   'bbcode_bitfield'	=> $message_parser->bbcode_bitfield,			   'bbcode_uid'			=> $message_parser->bbcode_uid,			   'message'			=> $message_parser->message,			   'address_list'		=> array(					'u' => array(						$user_data['user_id'] => 'to'					)				),			);						submit_pm('post', $user->lang['UNAWARDED_TITLE'], $pm_data, false, false);		}				return;	}		function del_moderator($user_id)	{		global $db;		if ( !user_is_award_mod($this->data['cat_id'], $user_id) )		{			return true;		}				return $db->sql_query('DELETE FROM ' . AWARDS_MODS_TABLE . ' WHERE user_id = ' . (int) $user_id);	}}/** * Gets the image and name of the awards for a user, or group of users * * @parameter	$user_id	mixed	An array or int of user id(s). * @return					mixed	The data for the user(s) */function get_awards_data($user_id, $exclude_id = false){	global $db;		$user_was_int	= ( !is_array($user_id) ) ? true : false;	$user_id		= ( is_array($user_id) ) ? $user_id : array($user_id);	$exclude_id		= ( is_array($exclude_id) ) ? $exclude_id : array($exclude_id);		array_walk($user_id, 'intval');	array_walk($exclude_id, 'intval');	$where_sql = 'au.user_id IN (' . implode(',', $user_id) . ')';	if ( sizeof($exclude_id) > 0 )	{		$where_sql .= ' AND a.award_id NOT IN (' . implode(',', $exclude_id) . ')';	}		$sql = $db->sql_build_query('SELECT', array(		'SELECT'	=> 'au.user_id, a.award_id, a.award_image, a.award_name',		'FROM'		=> array(AWARDS_USERS_TABLE => 'au'),		'LEFT_JOIN'	=> array(			array(				'FROM'	=> array(AWARDS_TABLE => 'a'),				'ON'	=> 'au.award_id = a.award_id',			)		),		'WHERE'		=> $where_sql,		'ORDER_BY'	=> 'a.award_name')	);	$result = $db->sql_query($sql);	$resultset = array();	while ( $row = $db->sql_fetchrow($result) )	{		$resultset[ $row['user_id'] ][] = $row;	}	$db->sql_freeresult($result);	if ( sizeof ( array_diff ( $user_id, array_keys($resultset) ) ) < 1 )	{		return (!$user_was_int) ? $resultset : $resultset[$user_id];	}	$where_sql = 'm.user_id IN (' . implode(',', $user_id) . ')';	if ( sizeof($exclude_id) > 0 )	{		$where_sql .= ' AND a.award_id NOT IN (' . implode(',', $exclude_id) . ')';	}	$sql = $db->sql_build_query('SELECT', array(		'SELECT'	=> 'm.user_id, a.award_id, a.award_image, a.award_name',		'FROM'		=> array(AWARDS_MODS_TABLE => 'm'),		'LEFT_JOIN'	=> array(			array(				'FROM'	=> array(AWARDS_CATS_TABLE => 'c'),				'ON'	=> 'm.cat_id = c.cat_id',			),			array(				'FROM'	=> array(AWARDS_TABLE => 'a'),				'ON'	=> 'c.cat_id = a.cat_id',			)		),		'WHERE'		=> $where_sql,		'ORDER_BY'	=> 'a.award_name')	);	$result = $db->sql_query($sql);	while ( $row = $db->sql_fetchrow($result) )	{		$resultset[ $row['user_id'] ][] = $row;	}	$db->sql_freeresult($result);	return (!$user_was_int) ? $resultset : $resultset[$user_id];}/** * */function user_is_award_mod($cat_id, $user_id = false){	if ( ! $user_id )	{		global $user;			if ( $user->data['is_registered'] != true )		{			return false;		}				global $auth;				if ( $auth->acl_get('a_') )		{			return true;		}	}		$user_id = ($user_id) ? $user_id : $user->data['user_id'];		global $db;	$sql = $db->sql_build_query('SELECT', array(		'SELECT'	=> 'm.user_id',		'FROM'		=> array(AWARDS_MODS_TABLE => 'm'),		'WHERE'		=> 'm.user_id = ' . (int) $user_id,			'AND'	=> 'm.cat_id = ' . (int) $cat_id)	);		$result = $db->sql_query($sql);	$row = $db->sql_fetchrow($result);	$db->sql_freeresult($result);		return ( isset($row['user_id']) ) ? true : false;}/** * */function user_has_award($award_id, $user_id = false){	$award_id = (int) $award_id;	$user_id = (int) $user_id;	if ( ! $user_id )	{		global $user;				if ( ! $user->data['is_registered'] )		{			return false;		}				$user_id = (int) $user->data['user_id'];	}	global $db;	$sql = $db->sql_build_query('SELECT', array(		'SELECT'	=> 'au.user_id',		'FROM'		=> array(AWARDS_TABLE => 'a'),		'LEFT_JOIN'	=> array(			array(				'FROM'	=> array(AWARDS_USERS_TABLE => 'au'),				'ON'	=> 'a.award_id = au.award_id'			),		),		'WHERE'		=> 'a.award_id = ' . $award_id,		'ORDER_BY'	=> 'au.user_id ASC')	);	$result = $db->sql_query($sql);	while ( $row = $db->sql_fetchrow($result) )	{		if ( $row['user_id'] == $user_id )		{			$db->sql_freeresult($result);			return true;		}	}	$db->sql_freeresult($result);	$sql = $db->sql_build_query('SELECT', array(		'SELECT'	=> 'm.user_id',		'FROM'		=> array(AWARDS_TABLE => 'a'),		'LEFT_JOIN'	=> array(			array(				'FROM'	=> array(AWARDS_MODS_TABLE => 'm'),				'ON'	=> 'a.cat_id = m.cat_id'			),		),		'WHERE'		=> 'a.award_id = ' . $award_id,		'ORDER_BY'	=> 'm.user_id ASC')	);	$result = $db->sql_query($sql);	while ( $row = $db->sql_fetchrow($result) )	{		if ( $row['user_id'] == $user_id )		{			$db->sql_freeresult($result);			return true;		}	}	$db->sql_freeresult($result);	return false;}/** * */function assign_awards_icon($blockref, $awardrow){	global $template, $phpEx;		if ( !is_array($awardrow) || !isset($awardrow['award_id']) )	{		return false;	}		if ( strlen($blockref) > 0 && substr($blockref, strlen($blockref), strlen($blockref) + 1) != '.' )	{		$blockref .= '.';	}		$template->assign_block_vars("{$blockref}awards", array(		'AWARD_ID'		=> $awardrow['award_id'],		'AWARD_NAME'	=> $awardrow['award_name'],		'AWARD_IMAGE'	=> '<img src="' . $awardrow['award_image'] . '" alt="' . $awardrow['award_name'] . '" />',								'U_AWARD'		=> append_sid("awards.{$phpEx}?mode=users&amp;" . POST_AWARDS_URL . '=' . $awardrow['award_id']))	);		return;}/** * */function award_exists($award_id){	if ( !intval($award_id) )	{		return false;	}		global $db;		$sql = $db->sql_build_query('SELECT', array(		'SELECT'	=> 'a.award_id, a.award_name',		'FROM'		=> array(AWARDS_TABLE => 'a'),		'WHERE'		=> 'a.award_id = ' . (int) $award_id)	);	$result = $db->sql_query($sql);	$row = $db->sql_fetchrow($result);	$db->sql_freeresult($result);	return ($row['award_name']) ? true : false;}?><!-- INCLUDE overall_header.html -->	<!-- IF S_DISPLAY_CATS -->	<table class="tablebg" width="100%" cellspacing="1">	<tr>		<th colspan="4"><h4>{L_AWARDS}</h4></th>	</tr>	<tr>		<td class="cat" width="150px" align="left"><h4>{L_IMAGE}</h4></td>		<td class="cat" width="180px" align="left"><h4>{L_NAME}</h4></td>		<td class="cat" align="left"><h4>{L_DESC}</h4></td>		<td class="cat" width="100px" align="center"><h4>{L_USERS}</h4></td>	</tr>	<!-- BEGIN catrow -->	<tr>		<td class="row3" colspan="4"><h4><a href="{catrow.U_VIEW_CAT}" rel="nofollow" title="{catrow.CAT_DESC}">{catrow.CAT_NAME}</a> ({catrow.CAT_AWARDS})</h4></td>	</tr>	<!-- IF catrow.CAT_AWARDS < 1 -->	<tr>		<td class="row1 gen" align="center" colspan="4"><br />{L_CAT_NO_AWARDS}<br /><br /></td>	</tr>	<!-- ENDIF -->	<!-- BEGIN awardrow -->	<tr>		<td class="row1 gen" align="center">{catrow.awardrow.AWARD_IMG}</td>		<td class="row1 gen" align="left"><a href="{catrow.awardrow.U_AWARD}">{catrow.awardrow.AWARD_NAME}</a></td>		<td class="row1 gen" align="left">{catrow.awardrow.AWARD_DESC}</td>		<td class="row1 gen" align="center">{catrow.awardrow.AWARD_USERS}</td>	</tr>	<!-- END awardrow -->	<!-- END catrow -->	</table>	<!-- ENDIF -->	<!-- IF S_DISPLAY_USERS -->	<table class="tablebg" width="100%" cellspacing="1">	<tr>		<th colspan="4"><h4>{L_AWARD_INFO}</h4></th>	</tr>	<tr>		<td class="row1 gen" width="20%">{L_AWARD_NAME}</td>		<td class="row2 gen" width="30%">{AWARD_NAME}</td>		<td class="row1 gen" width="20%">{L_CAT_NAME}</td>		<td class="row2 gen" width="30%"><a href="{U_CAT}">{CAT_NAME}</a></td>	</tr>	<tr>		<td class="row1 gen">{L_IMAGE}</td>		<td class="row2 gen">{AWARD_IMAGE}</td>		<td class="row1 gen">{L_CAT_DESC}</td>		<td class="row2 gen">{CAT_DESC}</td>	</tr>	</table>	<br />	<!-- IF S_USER_IS_MOD -->	<form action="{S_ADD_USER_ACTION}" method="post" name="awards_moderate">	<table class="tablebg" width="100%" cellspacing="1">	<tr>		<th colspan="4"><h4>{L_AWARD_MODERATE}</h4></th>	</tr>	<tr>		<td class="row1 gen" width="15%">{L_USERNAME}			<br /><span class="genmed">[ <a href="{U_FIND_USERNAME}" onclick="find_username(); return false;">{L_FIND_USERNAME}</a> ]</span>		</td>		<td class="row2 gen">			<input type="text" name="username" class="post" />			<input type="submit" class="mainoption" name="submit" value="{L_AWARD_USER}" />		</td>	</tr>	</table>	</form>	<br />	<!-- ENDIF -->	<h1>{L_USERS_WITH_AWARD}</h1>		<!-- IF S_USER_IS_MOD -->	<form action="{S_DELETE_USER_ACTION}" method="post" name="delete_users" id="delete_users">	<!-- ENDIF -->	<table class="tablebg" width="100%" cellspacing="1">	<tr>		<th colspan="5"><h4>{L_USERS_AWARDED}</h4></th>	</tr>	<tr>		<td class="cat" width="150px" align="left"><h4>{L_USERNAME}</h4></td>		<td class="cat" width="150px" align="left"><h4>{L_ASSIGNED_BY}</h4></td>		<td class="cat" align="center"><h4>{L_OTHER_AWARDS}</h4></td>		<td class="cat" width="100px" colspan="2" align="center"><h4>{L_CONTACT}</h4></td>	</tr>	<!-- IF AWARD_TOTAL_USERS < 1 -->	<tr>		<td class="row1 gen" colspan="5" align="center"><br />{L_NO_USERS_AWARDED}<br /><br /></td>	</tr>	<!-- ENDIF -->	<!-- BEGIN modrow -->	<tr>		<td class="row2 gen" colspan="2" align="left"><a href="{modrow.U_USERNAME}">{modrow.USERNAME}</a> <strong>({L_AWARD_MODERATOR})</strong></td>		<td class="row2 gen" align="center">			<!-- IF modrow.S_OTHER_AWARDS < 1 -->			{L_NO_OTHER_AWARDS}			<!-- ENDIF -->			<!-- BEGIN awards -->			<a href="{modrow.awards.U_AWARD}" title="{modrow.awards.AWARD_NAME}" rel="nofollow">{modrow.awards.AWARD_IMAGE}</a>			<!-- END awards -->		</td>		<td class="row2 gen" colspan="2" align="center"><!-- IF modrow.U_PM --><a href="{modrow.U_PM}">{modrow.PM_IMG}<!-- ENDIF --></a></td>	</tr>	<!-- END modrow -->	<!-- BEGIN userrow -->	<tr>		<td class="row1 gen" align="left"><a href="{userrow.U_USERNAME}">{userrow.USERNAME}</a></td>		<td class="row1 gen" align="left"><a href="{userrow.U_ASSIGNED_BY}">{userrow.ASSIGNED_BY}</a></td>		<td class="row1 gen" align="center">			<!-- IF userrow.S_OTHER_AWARDS < 1 -->			{L_NO_OTHER_AWARDS}			<!-- ENDIF -->			<!-- BEGIN awards -->			<a href="{userrow.awards.U_AWARD}" title="{userrow.awards.AWARD_NAME}" rel="nofollow">{userrow.awards.AWARD_IMAGE}</a>			<!-- END awards -->		</td>		<td class="row1 gen" align="center"<!-- IF !S_USER_IS_MOD --> colspan="2"<!-- ENDIF -->><!-- IF userrow.U_PM --><a href="{userrow.U_PM}">{userrow.PM_IMG}<!-- ENDIF --></a></td>		<!-- IF S_USER_IS_MOD --><td class="row2 gen" align="center"><input type="checkbox" name="del_users[]" value="{userrow.USER_ID}" /></td><!-- ENDIF -->	</tr>	<!-- END userrow -->	</table>	<!-- IF S_USER_IS_MOD -->	<div style="text-align: right; padding-top: 5px;">		<input type="button" onclick="marklist('delete_users', 'del_users', true)" name="markall" value="{L_CHECK_ALL}" />		<input type="button" onclick="marklist('delete_users', 'del_users', false)" name="markall" value="{L_UNCHECK_ALL}" />		<input type="submit" name="submit" value="{L_UNAWARD_USERS}" />		<input type="submit" name="submit" value="{L_UNAWARD_ALL}" />	</div>	</form>	<!-- ENDIF -->	<!-- ENDIF --><br /><!-- INCLUDE breadcrumbs.html --><!-- INCLUDE overall_footer.html -->