Вход Регистрация
Файл: sys/core/rating.php
Строк: 84
<?php

class rating
{

    
//    Добавление и обработка
    
public static function add($id = 0, $rating = null, $flud = 5, $pr = null)
    {
        
//если пусто задаем время
        
if (!isset($_SESSION['rating'])) {
            
$_SESSION['rating'] = time();
        }

        if (
$id > 0 && $_SESSION['rating'] <= time()) {
            
// округляем
            
$rating = number_format($rating, 2);
            
// делим на процент
            
if ($pr != null) {
                
$rating = $rating - $rating * '0.' . $pr;
            }
            
// запрос в базу
            
$data = [$rating, $id];
            if (
goDBquery('update `user` set `rating`=`rating`+? where `id`=?i', $data)) {
                
// Удаляем кэш
                
cache_delete::user($id);
                
$_SESSION['rating'] = time() + $flud;
            }
        }
    }
    public static function 
minus($id = 0, $rating = null, $flud = 5, $pr = null)
    {
        if (!isset(
$_SESSION['rating_minus'])) {
            
$_SESSION['rating_minus'] = time();
        }

        if (
$id > 0 && $_SESSION['rating_minus'] <= time()) {
            
$rating = number_format($rating, 2);
            if (
$pr != null) {
                
$rating = $rating - $rating * "0.$pr";
            }
            
$data = [$rating, $id];
            if (
goDBquery('update `user` set `rating`=`rating`-? where `id`=?i', $data)) {
                
cache_delete::user($id);
                
$_SESSION['rating_minus'] = time() + $flud;
            }
        }
    }

    public static function 
output($id = 0)
    {
        if (
$id > 0) {
            if (
$rating = goDBquery('select `rating` from `user` where `id`=?i', [$id])->el()) {
                return 
number_format($rating, 2);
            }
        }
    }

    public static function 
msgnum($nums = 0.00)
    {
        
$nums = mb_strlen($nums, 'UTF-8');
        
$nums = ($nums / 100000);
        return 
number_format($nums, 2);
    }

    public static function 
ban($id = 0)
    {
        if (!isset(
$_SESSION['rating_ban'])) {
            
$_SESSION['rating_ban'] = time();
        }

        if (
$id > 0 && $_SESSION['rating_ban'] <= time()) {
            
$oldrating = goDBquery('select `rating` from `user` where `id`=?i', [$id])->el();
            if (
$oldrating > 0.00) {
                
$rating = number_format(($oldrating - $oldrating * 0.50), 2);
                
$data = [$rating, $id];
                if (
goDBquery('update `user` set `rating`=? where `id`=?i', $data)) {
                    
cache_delete::user($id);
                }
            }
            
// от флуда
            
$_SESSION['rating_ban'] = time() + 60;
        }
    }
}
Онлайн: 2
Реклама