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

class invisible
{
    public static 
$_users;

    public static function 
factory($user_id)
    {
        return isset(
invisible::$_users[$user_id]) ? invisible::$_users[$user_id] : new self($user_id);
    }

    protected 
$_columns;

    public function 
__construct($userId)
    {
        
$q mysql_query("SELECT * FROM `invisibles` WHERE `id_user`={$userId} ");
        if(
mysql_num_rows($q))
        {
            
$this->_columns mysql_fetch_assoc($q);
        }
        else
        {
            
$this->_columns = array('id_user'=>$userId'time_active'=>0'time_end'=>0'packet'=>null);
        }
    }

    public function 
isActive()
    {
        return (
$this->getTimeEnd() > time());
    }

    public function 
getUserId()
    {
        return 
$this->_columns['id_user'];
    }

    public function 
getTimeEnd()
    {
        return 
$this->_columns['time_end'];
    }

    public function 
getTimeActive()
    {
        return 
$this->_columns['time_active'];
    }

    public function 
getPacket()
    {
        return 
$this->_columns['packet'];
    }

    public function 
active($packetName$hours)
    {
        
$this->_columns['time_active'] = time();
        
$this->_columns['time_end'] = time()+$hours*3600;
        
$this->_columns['packet'] = $packetName;
        
mysql_query("INSERT INTO `invisibles` (`id_user`, `time_active`, `time_end`, `packet`) VALUES ('{$this->getUserId()}', '".$this->_columns['time_active']."', '".$this->_columns['time_end']."', '".mysql_real_escape_string($this->_columns['packet'])."') ");
    }

    public function 
deActive()
    {
        
mysql_query("DELETE FROM `invisibles` WHERE `id_user`={$this->getUserId()} ");
    }

    public function 
__destruct()
    {
        if(
$this->getTimeEnd() && $this->getTimeEnd() < time())
        {
            
$this->deActive();
        }
    }
}
Онлайн: 2
Реклама