<?php
|
|
/**
|
|
* @package uForum
|
|
* @file includes/classes/class_user.php
|
|
* @version $Id$
|
|
* @copyright 2007-2010 (c) PioDer <[email protected]>
|
|
* @link http://www.pioder.pl/
|
|
* @license see LICENSE.txt
|
|
**/
|
|
if ( !defined('IN_uF') )
|
|
{
|
|
die('Hacking attempt');
|
|
}
|
|
class User
|
|
{
|
|
function LastUser()
|
|
{
|
|
global $lastuser;
|
|
$usr = $lastuser['nick'];
|
|
$uid = $lastuser['u_id'];
|
|
return '<a href="user.php?id='.$uid.'" class="fstandard">'.$usr.'</a>';
|
|
}
|
|
|
|
function UserInformation($uid, $inf)
|
|
{
|
|
$sql = "SELECT `$inf` FROM ".USERS_TABLE." WHERE u_id='$uid';";
|
|
$query = DataBase::sql_query($sql,GENERAL,'Could not obtain user information.');
|
|
$result = DataBase::fetch($query);
|
|
$result = $result[$inf];
|
|
return $result;
|
|
}
|
|
|
|
function UserIdByNick($nick)
|
|
{
|
|
$sql = "SELECT * FROM `".USERS_TABLE."` WHERE `nick`='$nick';";
|
|
$result = DataBase::fetch(DataBase::sql_query($sql,GENERAL,'Could not obtain user information.'));
|
|
$result = $result['u_id'];
|
|
/*if ($result=='')
|
|
{
|
|
message_forum('nick failed','admin_groups.php');
|
|
}*/
|
|
return $result;
|
|
}
|
|
|
|
function AddToGroup($uid, $gid)
|
|
{
|
|
$last= DataBase::new_id(USERS_GROUP_TABLE);
|
|
$sql = "INSERT INTO `".USERS_GROUP_TABLE."` VALUES ('$last','$uid', '$gid')";
|
|
DataBase::sql_query($sql,GENERAL,'Could not add user to group.');
|
|
}
|
|
|
|
function DeleteFromGroup($uid, $gid)
|
|
{
|
|
$sql = "DELETE FROM `".USERS_GROUP_TABLE."` WHERE `u_id`='$uid' AND `g_id`='$gid'";
|
|
DataBase::sql_query($sql,GENERAL,'Could not delete user for group.');
|
|
}
|
|
|
|
function LogedAs($sid, $uid)
|
|
{
|
|
global $lng;
|
|
global $userdata;
|
|
if ($uid>0)
|
|
{
|
|
$nick = $userdata['nick'];
|
|
return(''.$lng['youareloggedas'].' <a href="user.php?id='.$uid.'" class="fstandard"><b>'.$nick.'</b></a>');
|
|
}
|
|
else
|
|
{
|
|
return($lng['youarenotlogd']);
|
|
}
|
|
}
|
|
|
|
function PostWithForum($posts)
|
|
{
|
|
$result2 = TotalPosts();
|
|
if($result2>0)
|
|
{
|
|
$result3 = ($posts/$result2*100);
|
|
$result3 = round($result3,2);
|
|
return($result3);
|
|
}
|
|
else
|
|
{
|
|
return(0);
|
|
}
|
|
|
|
}
|
|
|
|
function LastRegVisit($uid, $mode)
|
|
{
|
|
global $lng;
|
|
$result = User::UserInformation($uid,$mode);
|
|
if ($result=='0')
|
|
{
|
|
return($lng['never']);
|
|
}
|
|
else
|
|
{
|
|
$date = date('d-m-Y, G:i',$result);
|
|
return($date);
|
|
}
|
|
}
|
|
|
|
function UserRank($rank)
|
|
{
|
|
global $lng;
|
|
global $forum_config;
|
|
switch($rank)
|
|
{
|
|
case '0': {$result=$lng['user']; break; }
|
|
case '1': {$result='<font color="'.$forum_config['color_mod'].'"><b>'.$lng['mod'].'</b></font>'; break; }
|
|
case '2': {$result='<font color="'.$forum_config['color_admin'].'"><b>'.$lng['admin'].'</b></font>'; break; }
|
|
}
|
|
return($result);
|
|
}
|
|
|
|
function RankAdminMod($uid)
|
|
{
|
|
if ($uid>0)
|
|
{
|
|
$sql = "SELECT * FROM ".USERS_TABLE." WHERE u_id='$uid'";
|
|
$query = DataBase::sql_query($sql,GENERAL,'Could not obtain user`s rank information.');
|
|
$result = DataBase::fetch($query);
|
|
$rank = $result['rank'];
|
|
if (($rank=='1') or ($rank=='2'))
|
|
{
|
|
return '1';
|
|
}
|
|
else
|
|
{
|
|
return '0';
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return '0';
|
|
}
|
|
|
|
}
|
|
|
|
function UpdateProfile($uid, $gg, $email, $interests, $sig, $avatar, $allow_qr, $allow_email, $allow_gg, $skin, $lang, $limit_tpid, $limit_ftid, $limit_users, $allow_shoutbox)
|
|
{
|
|
$sql ="UPDATE `".USERS_TABLE."` SET
|
|
`gg` = '$gg',
|
|
`email` = '$email',
|
|
`allow_gg` = '$allow_gg',
|
|
`allow_email` = '$allow_email',
|
|
`allow_qr` = '$allow_qr',
|
|
`interests` = '$interests',
|
|
`sig` = '$sig',
|
|
`avatar` = '$avatar',
|
|
`skin`='$skin',
|
|
`lang`='$lang',
|
|
`limit_tpid` = '$limit_tpid',
|
|
`limit_ftid` = '$limit_ftid',
|
|
`view_shoutbox` = '$allow_shoutbox',
|
|
`limit_users` = '$limit_users'
|
|
WHERE `u_id` ='$uid' LIMIT 1 ;";
|
|
DataBase::sql_query($sql,CRITICAL,'Could not update user information');
|
|
}
|
|
|
|
function UpdateAdminPools($uid, $posts, $rank, $active, $nick)
|
|
{
|
|
$sql ="UPDATE `".USERS_TABLE."` SET
|
|
`posts` = '$posts',
|
|
`rank` = '$rank',
|
|
`active` = '$active',
|
|
`nick` = '$nick'
|
|
WHERE `u_id` ='$uid' LIMIT 1 ;";
|
|
DataBase::sql_query($sql,CRITICAL,'Could not update user information');
|
|
}
|
|
|
|
function UpdatePassword($uid, $pass)
|
|
{
|
|
$sql ="UPDATE `".USERS_TABLE."` SET
|
|
`pass` = '$pass'
|
|
WHERE `u_id` ='$uid' LIMIT 1 ;";
|
|
DataBase::sql_query($sql,CRITICAL,'Could not update user information');
|
|
}
|
|
|
|
function CreateProfile($nick, $pass, $email, $gg, $allow_gg, $allow_email, $allow_qr, $sig, $av, $interests)
|
|
{
|
|
global $forum_config;
|
|
$last = DataBase::new_id(USERS_TABLE);
|
|
$time = $_SERVER['REQUEST_TIME'];
|
|
$sql = "INSERT INTO ".USERS_TABLE." VALUES
|
|
('$last', '$nick', '$pass', '$email', '0', '$time', '0', '$gg', '$allow_gg', '$allow_email', '$allow_qr', '".$forum_config['view_shoutbox']."', '".$forum_config['defaultskin']."', '".$forum_config['defaultlang']."','".$forum_config['limit_tpid']."', '".$forum_config['limit_ftid']."', '".$forum_config['limit_users']."', '$sig', '$av', '1','0','$interests');";
|
|
DataBase::sql_query($sql,CRITICAL,'Could not create new user');
|
|
}
|
|
|
|
function UserPMs()
|
|
{
|
|
$uid = $_SESSION['uid'];
|
|
if($uid>0)
|
|
{
|
|
$sql = "SELECT count(*) as `m_id` FROM ".PM_INBOX_TABLE." WHERE `u_id`='$uid' AND `read`='0'";
|
|
$result = DataBase::fetch(DataBase::sql_query($sql,GENERAL,'Could not obtain amounts PM of User.'));
|
|
$result = $result['m_id'];
|
|
if ($result>0)
|
|
{
|
|
return '<font color="red">'.$result.'</font>';
|
|
}
|
|
else
|
|
{
|
|
return $result;
|
|
}
|
|
}
|
|
}
|
|
|
|
function UserAddWarn($uid, $value, $motive)
|
|
{
|
|
global $lng;
|
|
$sql = "INSERT INTO `".WARNINGS_TABLE."` ( `w_id` , `u_id` , `value` , `motive` ) VALUES('','$uid','$value','$motive');";
|
|
DataBase::sql_query($sql,GENERAL,'Could not add new warn.');
|
|
if (User::UserLevelWarns($uid)==100)
|
|
{
|
|
$ban_ip = '0.0.0.0';
|
|
$ban_uid = $uid;
|
|
$ban_motive = $lng['warns_ban'];
|
|
$sql = "INSERT INTO ".BANLIST_TABLE." VALUES ('', '$ban_uid', '$ban_ip', '$ban_motive')";
|
|
DataBase::sql_query($sql,GENERAL,'Could not update add ban.');
|
|
}
|
|
}
|
|
|
|
function UserLevelWarns($uid)
|
|
{
|
|
$level =0;
|
|
$sql = "SELECT `u_id`,`value` FROM `".WARNINGS_TABLE."` WHERE `u_id`='$uid'";
|
|
$query = DataBase::sql_query($sql,'GENERAL','Could not obtain user warns information');
|
|
$result = DataBase::num_rows($query);
|
|
while ($result = @DataBase::fetch($query))
|
|
{
|
|
if ($result['value']=='-')
|
|
{
|
|
$level = $level -1;
|
|
}
|
|
else
|
|
{
|
|
$level = $level +1;
|
|
}
|
|
}
|
|
//version 1.0 Alpha 2
|
|
//delete second query
|
|
if ($level>0)
|
|
{
|
|
$level = $level*10;
|
|
}
|
|
return $level;
|
|
}
|
|
}
|
|
?>
|