Вход Регистрация
Файл: localhost/lite/classes/rating.class.php
Строк: 137
<?php


/**
 * @package   Zcore
 * @author      Artem Sokolovsky
 */


// ~~~~~~~~~~~~~~~~~~~~Ядро для обработки рейтинга пользователей~~~~~~~~~~~~~~~~~~~~~~~~~~~ //

class rating {

// Функция подсчёта рейтинга

function user($id) {

    if (@
filemtime(SERVER."/users/rating/user_$id.dat") < time()-43200) {
    
// Рейтинг пользователя    
    
    
$user_rating DB :: $dbh -> queryFetch("SELECT `rating`, `vip` FROM `user` WHERE `id`=? LIMIT 1;", array($id));    
    
// За первые сутки    
    
    
$diary DB :: $dbh -> querySingle("SELECT count(*) FROM `diary` WHERE `user`=? AND `time`>?;", array($idtime()-86400 1));
    
$topic DB :: $dbh -> querySingle("SELECT count(*) FROM `forum_topic` WHERE `user`=? AND `time`>?;", array($idtime()-86400 1));
    
$files DB :: $dbh -> querySingle("SELECT count(*) FROM `files` WHERE `user`=? AND `time`>?;", array($idtime()-86400 1));
    
$photo DB :: $dbh -> querySingle("SELECT count(*) FROM `photo` WHERE `user`=? AND `time`>?;", array($idtime()-86400 1));
    
    
$arbor DB :: $dbh -> querySingle("SELECT count(*) FROM `arbor` WHERE `user`=? AND `time`>?;", array($idtime()-86400 1));
    
$news_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `news_comments` WHERE `user`=? AND `time`>?;", array($idtime()-86400 1));
    
$diary_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `diary_comments` WHERE `user`=? AND `time`>?;", array($idtime()-86400 1));
    
$forum_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `forum_comments` WHERE `user`=? AND `time`>?;", array($idtime()-86400 1));
    
$guestbook_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `guestbook_comments` WHERE `user`=? AND `time`>?;", array($idtime()-86400 1));
    
$photo_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `photo_comments` WHERE `user`=? AND `time`>?;", array($idtime()-86400 1));
    
$files_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `files_comments` WHERE `user`=? AND `time`>?;", array($idtime()-86400 1));
    
// За вторые сутки
  
    
$yesterday_diary DB :: $dbh -> querySingle("SELECT count(*) FROM `diary` WHERE `user`=? AND `time`>? AND `time`<?;", array($idtime()-86400 3time()-86400 2));    
    
$yesterday_topic DB :: $dbh -> querySingle("SELECT count(*) FROM `forum_topic` WHERE `user`=? AND `time`>? AND `time`<?;", array($idtime()-86400 3time()-86400 2));
    
$yesterday_files DB :: $dbh -> querySingle("SELECT count(*) FROM `files` WHERE `user`=? AND `time`>? AND `time`<?;", array($idtime()-86400 3time()-86400 2));
    
$yesterday_photo DB :: $dbh -> querySingle("SELECT count(*) FROM `photo` WHERE `user`=? AND `time`>? AND `time`<?;", array($idtime()-86400 3time()-86400 2));
    
    
$yesterday_arbor DB :: $dbh -> querySingle("SELECT count(*) FROM `arbor` WHERE `user`=? AND `time`>? AND `time`<?;", array($idtime()-86400 3time()-86400 2));    
    
$yesterday_news_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `news_comments` WHERE `user`=? AND `time`>? AND `time`<?;", array($idtime()-86400 3time()-86400 2));
    
$yesterday_diary_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `diary_comments` WHERE `user`=? AND `time`>? AND `time`<?;", array($idtime()-86400 3time()-86400 2));    
    
$yesterday_forum_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `forum_comments` WHERE `user`=? AND `time`>? AND `time`<?;", array($idtime()-86400 3time()-86400 2));    
    
$yesterday_guestbook_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `guestbook_comments` WHERE `user`=? AND `time`>? AND `time`<?;", array($idtime()-86400 3time()-86400 2));    
    
$yesterday_photo_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `photo_comments` WHERE `user`=? AND `time`>? AND `time`<?;", array($idtime()-86400 3time()-86400 2));    
    
$yesterday_files_comments DB :: $dbh -> querySingle("SELECT count(*) FROM `files_comments` WHERE `user`=? AND `time`>? AND `time`<?;", array($idtime()-86400 3time()-86400 2));    

// Подсчёт    
    
    
$yesterday $yesterday_diary $yesterday_topic $yesterday_files $yesterday_photo $yesterday_arbor $yesterday_news_comments $yesterday_diary_comments $yesterday_forum_comments $yesterday_guestbook_comments $yesterday_photo_comments $yesterday_files_comments;
    
$today $diary $topic $files $photo $arbor $news_comments $diary_comments $forum_comments $guestbook_comments $photo_comments $files_comments;

// Формула начисления    
    
    
$sum $today $yesterday;
    
$rand rand(1,5);
    
$rating = ($user_rating['vip'] > time()) ? $sum rand(20,90) : $sum $rand;
    
// Результат    
    
    
if ($rating 0) {
    
DB :: $dbh -> query("UPDATE `user` SET `rating`=`rating`+".$rating." WHERE `id`=? LIMIT 1", array($id));
    
$count '<span style="color: #009933;">+'.$rating 100 .'</span>';
    } else if (
$rating 0) {
    
$sum_rating = ($user_rating['rating'] - abs($rating) < 0) ? $user_rating['rating'] : abs($rating);
    
DB :: $dbh -> query("UPDATE `user` SET `rating`=`rating`-".$sum_rating." WHERE `id`=? LIMIT 1", array($id));
    
$count ''.($sum_rating == '<span style="color: #D3D3D3;">0.00</span>' '<span style="color: #FF0000;">-'.$sum_rating 100 .'</span>').'';
    } else {
    
$count '<span style="color: #D3D3D3;">'.$rating.'.00</span>';
    }
    
    
file_put_contents(SERVER."/users/rating/user_$id.dat"$countLOCK_EX);
    } 
    return 
file_get_contents(SERVER."/users/rating/user_$id.dat");
    } 
    


?>
Онлайн: 1
Реклама