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' => '',
'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' => '
',
'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' => '
',
'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();
?>
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' => '
',
'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;
}
?>
{L_AWARDS} |
|||
|---|---|---|---|
{L_IMAGE} |
{L_NAME} |
{L_DESC} |
{L_USERS} |
{catrow.CAT_NAME} ({catrow.CAT_AWARDS}) |
|||
{L_CAT_NO_AWARDS} |
|||
| {catrow.awardrow.AWARD_IMG} | {catrow.awardrow.AWARD_NAME} | {catrow.awardrow.AWARD_DESC} | {catrow.awardrow.AWARD_USERS} |
{L_AWARD_INFO} |
|||
|---|---|---|---|
| {L_AWARD_NAME} | {AWARD_NAME} | {L_CAT_NAME} | {CAT_NAME} |
| {L_IMAGE} | {AWARD_IMAGE} | {L_CAT_DESC} | {CAT_DESC} |