Файл: sys/inc/classes/class.user.php
Строк: 364
<?
/**
* / Основные пользовательские функции
* / nick() - выводит ник и значок онлайна
* / avatar - выводит аватар и иконку пользователя
* / у всех функций есть параметры что выводить а что нет
*/
class user
{
/**
* / Ссылка и Ник юзера
*/
public static function nick($user = 0, $url = 1, $on = 0, $medal = 0)
{
/*
* $url == 0 Выводит только ник
* $url == 1 Выводит ник с ссылкой на страницу юзера
* $on == 1 Выводит рядом с ником значок онлайн
* $medal == 1 Выводит медальку рядом со значком онлайн
*/
$ank = mysql_fetch_assoc(query('SELECT `nick`, `date_last`, `rating`, `browser` FROM `user` WHERE `id` = "' . $user . '" LIMIT 1 '));
$nick = null;
$online = null;
$icon_medal = null;
// Вывод ника
if ($user == 0)$ank = array('id' => '0', 'nick' => 'Cистема', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
elseif (!$ank)$ank = array('id' => '0', 'nick' => '[Удален]', 'pol' => '1', 'rating' => '0', 'browser' => 'wap', 'date_last' => time());
if ($url == true)
$nick = ' <a href="/id' . $user . '">' . text($ank['nick']) . '</a> ';
else
$nick = text($ank['nick']);
// Вывод значка онлайн
if ($user != 0 && $ank['date_last'] > time()-600 && $on == true)
{
if ($ank['browser'] == 'wap')
$online = ' <img src="/style/icons/online.gif" alt="WAP" /> ';
else
$online = ' <img src="/style/icons/online_web.gif" alt="WEB" /> ';
}
// Вывод медали
$R = $ank['rating'];
if ($medal == 1 && $R >= 6)
{
if ($R >= 6 && $R <= 11) {$img = 1;}
elseif ($R >= 12 && $R <= 19) {$img = 2;}
elseif ($R >= 20 && $R <= 27) {$img = 3;}
elseif ($R >= 28 && $R <= 37) {$img = 4;}
elseif ($R >= 38 && $R <= 47) {$img = 5;}
elseif ($R >= 48 && $R <= 59) {$img = 6;}
elseif ($R >= 60) {$img = 7;}
$icon_medal = ' <img src="/style/medal/' . $img . '.png" alt="*" /> ';
}
return $nick . $icon_medal . $online;
}
/**
* / Аватар, иконка группы пользователя
*/
public static function avatar($user = 0, $type = 0)
{
/*
* $type == 0 - Выводит аватар и иконку вместе
* $type == 1 - Выводит только аватар
* $type == 2 - Выводит только иконку
*/
global $time, $set;
$AVATAR = null;
$icon = null;
$ank = mysql_fetch_assoc(query('SELECT `pol`, `id`, `group_access` FROM `user` WHERE `id` = "' . $user . '" LIMIT 1 '));
if ($user == 0)$ank = array('id' => '0', 'pol' => '1','group_access'=>'0');
elseif (!$ank)$ank = array('id' => '0', 'pol' => '1','group_access'=>'0');
// Аватар
if ($type == 0 || $type == 1)
{
$avatar = mysql_fetch_array(query("SELECT id,ras FROM `gallery_foto` WHERE `id_user` = '$user' AND `avatar` = '1' LIMIT 1"));
if (is_file(H.'sys/gallery/50/' . $avatar['id'] . '.' . $avatar['ras']))
$AVATAR = ' <img class="avatar" src="/foto/foto50/' . $avatar['id'] . '.' . $avatar['ras'] . '" alt="Avatar" /> ';
else
$AVATAR = '<img class="avatar" src="/style/user/avatar.gif" width="50" alt="No Avatar" />';
}
// Иконка пользователя
if ($type == 0 || $type == 2)
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `ban` WHERE `id_user` = '$user' AND (`time` > '$time' OR `navsegda` = '1')"), 0) != 0)
{
$icon = ' <img src="/style/user/ban.png" alt="*" class="icon" id="icon_group" /> ';
}
else
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `user` WHERE `id` = '$ank[id]' AND `date_last` > '".(time()-600)."' LIMIT 1"),0)==1){
if ($ank['group_access'] > 7 && ($ank['group_access'] < 10 || $ank['group_access'] > 14))
{
if ($ank['pol'] == 1) $icon = '<img src="/style/user/admin_man_on.gif" alt="*" class="icon" id="icon_group" />';
else
$icon= '<img src="/style/user/admin_woman_on.gif" alt="" class="icon"/> ';
}
elseif (($ank['group_access'] > 1 && $ank['group_access'] <= 7) || ($ank['group_access'] > 10 && $ank['group_access'] <= 14))
{
if ($ank['pol'] == 1)
$icon = '<img src="/style/user/mod_man_on.gif" alt="*" class="icon" id="icon_group" /> ';
else
$icon = '<img src="/style/user/mod_woman_on.gif" alt="*" class="icon" id="icon_group" /> ';
}
else
{
if ($ank['pol'] == 1)
$icon = '<img src="/style/user/man_on.gif" alt="" class="icon" id="icon_group" /> ';
else
$icon = '<img src="/style/user/woman_on.gif" alt="" class="icon" id="icon_group" /> ';
}}else{
if ($ank['group_access'] > 7 && ($ank['group_access'] < 10 || $ank['group_access'] > 14))
{
if ($ank['pol'] == 1) $icon = '<img src="/style/user/admin_man_off.gif" alt="*" class="icon" id="icon_group" /> ';
else
$icon = '<img src="/style/user/admin_woman_off.gif" alt="" class="icon"/> ';
}
elseif (($ank['group_access'] > 1 && $ank['group_access'] <= 7) || ($ank['group_access'] > 10 && $ank['group_access'] <= 14))
{
if ($ank['pol'] == 1)
$icon = '<img src="/style/user/mod_man_off.gif" alt="*" class="icon" id="icon_group" /> ';
else
$icon = '<img src="/style/user/mod_woman_off.gif" alt="*" class="icon" id="icon_group" /> ';
}
else
{
if ($ank['pol'] == 1)
$icon = '<img src="/style/user/man_off.gif" alt="" class="icon" id="icon_group" /> ';
else
$icon= '<img src="/style/user/woman_off.gif" alt="" class="icon" id="icon_group" /> ';
}}
}
}
return $AVATAR . $icon;
}
/**
* / Функция выборки пользовательских данных
* / Выводин данные из таблицы user
* / и генериует аватар, иконки медалей и онлайна в массив
* $ank['link'], $ank['avatar'], $ank['online'],
* $ank['medal'], $ank['icon']
*/
static function get_user($ID = 0, $photo = 1)
{
/*
* $ID - ID юзера
* $photo - Параметр на выборку аватара
*/
global $user;
$ID = (int) $ID;
$ank['group_name'] = null;
// Если вы авторизованы, и функция вызывает
// ваш ID, то просто берем данные из $user
if ($user['id'] == $ID)
{
$ank = $user;
}
else
{
// Иначе выбираем из базы
$ank = mysql_fetch_assoc(query('SELECT * FROM `user` WHERE `id` = "' . $ID . '" LIMIT 1'));
}
// Если система или неопределенный юзер
if ($ID == 0) { $ank = array('id' => '0', 'pol' => '1', 'wmid' => '0', 'group_access' => '0', 'level' => '999'); }
elseif (!$ank){ $ank = array('id' => '0', 'pol' => '1', 'wmid' => '0', 'group_access' => '0', 'level' => '0'); }
else
{
$tmp_us = mysql_fetch_assoc(query("SELECT `level`,`name` AS `group_name` FROM `user_group` WHERE `id` = '" . $ank['group_access'] . "' LIMIT 1"));
$ank['group_name'] = $tmp_us['group_name'];
$ank['level'] = $tmp_us['level'];
}
// Если поставлен параметр выводить фото
if ($photo)
{
// Определяем аватар
$avatar = mysql_fetch_array(query("SELECT id,ras FROM `gallery_foto` WHERE `id_user` = '$ID' AND `avatar` = '1' LIMIT 1"));
if (is_file(H.'sys/gallery/50/' . $avatar['id'] . '.' . $avatar['ras']))
$ank['avatar'] = ' <img class="avatar" src="/sys/gallery/50/' . $avatar['id'] . '.' . $avatar['ras'] . '" alt="Avatar" /> ';
else
$ank['avatar'] = ' <img class="avatar" src="/style/user/avatar.gif" width="50" alt="No Avatar" /> ';
}
// Вывод значка онлайн
if ($ID != 0 && $ank['date_last'] > time()-600)
{
if ($ank['browser'] == 'wap')
$ank['online'] = ' <img src="/style/icons/online.gif" alt="WAP" /> ';
else
$ank['online'] = ' <img src="/style/icons/online_web.gif" alt="WEB" /> ';
}
else
{
$ank['online'] = null;
}
// Вывод медали
$R = $ank['rating'];
if ($R >= 6)
{
if ($R >= 6 && $R <= 11) {$img = 1;}
elseif ($R >= 12 && $R <= 19) {$img = 2;}
elseif ($R >= 20 && $R <= 27) {$img = 3;}
elseif ($R >= 28 && $R <= 37) {$img = 4;}
elseif ($R >= 38 && $R <= 47) {$img = 5;}
elseif ($R >= 48 && $R <= 59) {$img = 6;}
elseif ($R >= 60) {$img = 7;}
$ank['medal'] = ' <img src="/style/medal/' . $img . '.png" alt="*" /> ';
}
else
{
$ank['medal'] = null;
}
// Иконка пользователя
if (mysql_result(query("SELECT COUNT(*) FROM `ban` WHERE `id_user` = '$ID' AND (`time` > '" . time() . "' OR `navsegda` = '1')"), 0) != 0)
{
$ank['icon'] = ' <img src="/style/user/ban.png" alt="*" class="icon" id="icon_group" /> ';
}
else
{
if ($ank['group_access'] > 7 && ($ank['group_access'] < 10 || $ank['group_access'] > 14))
{
if ($ank['pol'] == 1)
$ank['icon'] = '<img src="/style/user/1.png" alt="*" class="icon" id="icon_group" /> ';
else
$ank['icon'] = '<img src="/style/user/2.png" alt="" class="icon"/> ';
}
elseif (($ank['group_access'] > 1 && $ank['group_access'] <= 7) || ($ank['group_access'] > 10 && $ank['group_access'] <= 14))
{
if ($ank['pol'] == 1)
$ank['icon'] = '<img src="/style/user/3.png" alt="*" class="icon" id="icon_group" /> ';
else
$ank['icon'] = '<img src="/style/user/4.png" alt="*" class="icon" id="icon_group" /> ';
}
else
{
if ($ank['pol'] == 1)
$ank['icon'] = '<img src="/style/user/5.png" alt="" class="icon" id="icon_group" /> ';
else
$ank['icon'] = '<img src="/style/user/6.png" alt="" class="icon" id="icon_group" /> ';
}
}
$ank['link'] = ' <a href="/id' . $ID . '">' . text($ank['nick']) . '</a> ';
$ank['nick'] = text($ank['nick']);
return $ank;
}
static function like_notes($notes=0, $user = null)
{
global $user;
$notes=mysql_fetch_assoc(mysql_query("SELECT * FROM `notes` WHERE `id`='".$notes."' LIMIT 1"));
$likee=mysql_result(mysql_query("SELECT COUNT(*) FROM `notes_like` WHERE `id_user` = '".$user['id']."' AND `id_notes` = '".$notes['id']."' LIMIT 1"),0);
if (isset($user) && isset($_GET['like']) && $_GET['like'] == 1){
if($likee==0){
mysql_query("INSERT INTO `notes_like` (`id_notes`, `id_user`, `like`) VALUES ('$notes[id]', '$user[id]', '1')");
mysql_query("UPDATE `notes` SET `count` = '".($notes['count']+1)."' WHERE `id` = '$notes[id]' LIMIT 1");
$_SESSION['message'] = 'Ваш голос засчитан';
header("Location: list.php?id=$notes[id]&page=".intval($_GET['page'])."");
exit; }
}elseif (isset($user) && isset($_GET['like']) && $_GET['like'] == 0){
if($likee==0) { mysql_query("INSERT INTO `notes_like` (`id_notes`, `id_user`, `like`) VALUES ('$notes[id]', '$user[id]', '0')");
mysql_query("UPDATE `notes` SET `count` = '".($notes['count']-1)."' WHERE `id` = '$notes[id]' LIMIT 1");
$_SESSION['message'] = 'Ваш голос засчитан';
header("Location: list.php?id=$notes[id]&page=".intval($_GET['page'])."");
exit;}
}
}
static function cr_notes($notes=0, $user = null)
{
global $user;
$notes=mysql_fetch_assoc(mysql_query("SELECT * FROM `notes` WHERE `id`='".$notes."' LIMIT 1"));
$avtor=get_user($notes['id_user']);
$markinfo = mysql_result(mysql_query("SELECT COUNT(`id_user`) FROM `bookmarks` WHERE `id_object` = '".$notes['id']."' AND `type`='notes' "),0);
$likes=mysql_result(mysql_query("SELECT COUNT(*) FROM `notes_like` WHERE `id_user` = '".$user['id']."' AND `id_notes` = '".$notes['id']."' LIMIT 1"),0);
$like_pl=mysql_result(mysql_query("SELECT COUNT(`id_user`) FROM `notes_like` WHERE `like` = '1' AND `id_notes` = '".$notes['id']."' LIMIT 1"),0);
$like_m=mysql_result(mysql_query("SELECT COUNT(*) FROM `notes_like` WHERE `like` = '0' AND `id_notes` = '".$notes['id']."' LIMIT 1"),0);
$share=mysql_result(mysql_query("SELECT COUNT(`share_id_user`)FROM `notes` WHERE `share_id`='".$notes['id']."' AND `share_type`='notes' "),0);
echo "<div class='main_seriy'>";
echo "<div class='main'>";
echo "<img src='/style/icons/views_num_gray.png'> ".$notes['count']."
"; echo "<a href='fav.php?id=".$notes['id']."'><img src='/style/icons/star_fav.gif'> ".$markinfo."</a>";
if(mysql_result(mysql_query("SELECT COUNT(`share_id_user`)FROM `notes` WHERE `share_id`='".$notes['id']."' AND `share_id_user`='".$user['id']."' AND `share_type`='notes' LIMIT 1"),0)==0 AND $notes['id_user']!=$user['id']){
echo '<a href="share.php?id='.$notes['id'].'" title="Поделиться"><img src="/style/icons/action_share_color.gif"></a> '.$share.' ';
}else{
echo " <img src='/style/icons/action_share_color.gif'> ".$share." ";
}
echo "<span style='float:right;'>";
if (isset($user) && $user['id']!=$avtor['id']){
if ($likes==0)
echo " <a href='list.php?id=$notes[id]&like=1'><img src='/style/icons/vote_up.png' alt='*' /></a> <a href='list.php?id=$notes[id]&like=0'><img src='/style/icons/vote_down.png' alt='*' /></a><br />n";
else
echo "<img src='/style/icons/vote_up.png' alt='*' /> ".$like_pl." <img src='/style/icons/vote_down.png' alt='*' /> ".$like_m."n";
}else{
echo "<img src='/style/icons/vote_up.png' alt='*' /> ".$like_pl." <img src='/style/icons/vote_down.png' alt='*' /> ".$like_m."n";
}
echo "</span>";
echo "<br/><img src='/style/icons/fav.gif' alt='*' /> ";
if (mysql_result(mysql_query("SELECT COUNT(`id_object`) FROM `bookmarks` WHERE `id_user` = '".$user['id']."' AND `id_object` = '".$notes['id']."' AND `type`='notes' LIMIT 1"),0)==0)
echo "<a href='list.php?id=$notes[id]&fav=1'>Добавить в закладки</a><br />n";
else
echo "<a href='list.php?id=$notes[id]&fav=0'>Удалить из закладок</a><br />n";
echo "В закладках у <a href='fav.php?id=$notes[id]'>$markinfo</a> чел.";
echo "</div>";
echo "</div>";
}
}
?>