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; } ?>