Файл: sys/inc/classes/class.Update.php
Строк: 35
<?php 
/**
* Класс для работы с обновлением системы
*/
class Update
{
    private $config;
    private $current = array();
    
    public function __construct($set) 
    {
        $this->config = $set; 
        $this->version(); 
    }
    
    /**
    * Получение информации о последней версии
    * @return array
    */
    public function current() 
    { 
        $cache = new Cache(60*60*3); 
        
        if ($cache->read('dcms.update', true)) {
            return $cache->read('dcms.update', true);
        }
        
        $data = $this->_get(); 
        
        if ($data) {
            $data['time'] = TIME;
            $save = $cache->write('dcms.update', $data, true);
            return $data;
        }
        
        return false; 
    }
    
    private function _get() 
    {
        $build = array(
            'HOST' => $_SERVER['HTTP_HOST'],
            'PROTOCOL' => $_SERVER['SERVER_PROTOCOL'],
            'PORT' => $_SERVER['REMOTE_PORT'],
            'VERSION' => $this->config['dcms_version'],
        ); 
        
        $data = false;
        
        if (function_exists('curl_init')) {
            $ch = curl_init(); 
            
            curl_setopt($ch, CURLOPT_URL, 'https://alex-borisi.ru/dev/social/index.php?get=current'); 
            curl_setopt($ch, CURLOPT_HEADER, false); 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1); 
            curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_HOST']); 
            curl_setopt($ch, CURLOPT_POST, true);
            curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($build, false, '&'));
            $data = curl_exec($ch); 
            curl_close($ch);
        }
        
        if ($data) {
            return json_decode($data, 1); 
        }
        
        return false;
    }
    
    public function version() {
        if (isset($_GET['social_version'])) {
            die($this->config['dcms_version']);
        }
    }
}