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&" . 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&mode=compose&u=' . $mod_rowset[$i]['user_id']) : '', 'U_USERNAME' => append_sid("memberlist.{$phpEx}?mode=viewprofile&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&" . 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&mode=compose&u=' . $user_rowset[$i]['user_id']) : '', 'U_USERNAME' => append_sid("memberlist.{$phpEx}?mode=viewprofile&u={$user_rowset[$i]['user_id']}"), 'U_ASSIGNED_BY' => append_sid("memberlist.{$phpEx}?mode=viewprofile&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&form=awards_moderate&field=username&select_single=true'), 'S_USER_IS_MOD' => true, 'S_ADD_USER_ACTION' => append_sid("awards.{$phpEx}?mode=adduser&" . POST_AWARDS_URL . '=' . (int) $award_id), 'S_DELETE_USER_ACTION' => append_sid("awards.{$phpEx}?mode=deluser&" . 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&" . 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 -->