All pastes #367195 Raw Edit

Unnamed

public php v1 · immutable
#367195 ·published 2007-02-22 05:33 UTC
rendered paste body
<?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)	{		$award_id = ($award_id) ? $award_id : $this->award_id;	}		function add_user($user_id)	{		}		function add_moderator($user_id)	{		}		function del_user($user_id)	{		}		function del_moderator($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;		( is_array($user_id) ) ? array_walk($user_id, 'intval') : settype($user_id, 'int');	( is_array($exclude_id) ) ? array_walk($exclude_id, 'intval') : settype($exclude_id, 'int');	$where_sql = ( is_array($user_id) ) ? ('au.user_id IN (' . implode(',', $user_id) . ') OR m.user_id IN (' . implode(',', $user_id) . ')') : ('au.user_id = ' . (int) $user_id . ' OR m.user_id = ' . (int) $user_id);	if ( (is_array($exclude_id) && sizeof($exclude_id) > 0) || (!is_array($exclude_id) && !empty($exclude_id)) )	{		$where_sql .= ( is_array($exclude_id) ) ? ' AND a.award_id NOT IN (' . implode(',', $exclude_id) . ')' : ' AND a.award_id <> ' . (int) $exclude_id;	}		if ( (is_array($user_id) && sizeof($user_id) < 1) || empty($user_id) )	{		return false;	}		$sql = $db->sql_build_query('SELECT', array(		'SELECT'	=> 'au.user_id AS au_user_id, m.user_id AS m_user_id, a.award_id, a.award_image, a.award_name',		'FROM'		=> array(AWARDS_MODS_TABLE => 'm', AWARDS_USERS_TABLE => 'au', AWARDS_TABLE => 'a'),		'WHERE'		=> $where_sql,			'AND'	=> 'au.award_id = a.award_id',		'ORDER_BY'	=> 'a.award_name')	);	$result = $db->sql_query($sql);		$resultset = array();	$last_user_id = 0;	while ( $row = $db->sql_fetchrow($result) )	{		$row['user_id'] = ( $last_user_id == $row['au_user_id'] ) ? $row['m_user_id'] : $row['au_user_id'];		unset($row['m_user_id'], $row['au_user_id']);		$resultset[ $row['user_id'] ][] = $row;		$last_user_id = $row['user_id'];	}		$db->sql_freeresult($result);		return ( is_array($user_id) ) ? $resultset : $resultset[$user_id];}/** * */function user_is_award_mod($cat_id){	global $user;		if ( $user->data['is_registered'] != true )	{		return false;	}		global $auth;		if ( $auth->acl_get('a_') )	{		return true;	}		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->data['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;}?>