GIF89a; Mini Shell

Mini Shell

Direktori : /home/serb/www/livechat/php/service/
Upload File :
Current File : /home/serb/www/livechat/php/service/Request.php

<?php

class Request extends Service
{
    // Fields
    
    private $method;
    private $getVars;
    private $postVars;
    private $files;
    private $ip;
    private $host;
    private $referer;
    
    private $uri;
    private $rootUri;
    private $route;
    private $rootUrl;
    
    // Constructor
    
    public function __construct()
    {
        $this->method     = strtoupper($_SERVER['REQUEST_METHOD']);
        $this->getVars    = $_GET;
        $this->postVars   = $_POST;
        $this->files      = $_FILES;
        $this->ip         = isset($_SERVER['REMOTE_ADDR'])     ? $_SERVER['REMOTE_ADDR'] : '';
        $this->remoteHost = isset($_SERVER['REMOTE_HOST'])     ? $_SERVER['REMOTE_HOST'] : '';
        $this->referer    = isset($_SERVER['HTTP_REFERER'])    ? $_SERVER['HTTP_REFERER'] : '';
        $this->browser    = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
        
        $this->initFiles();
        
        $this->host        = $_SERVER['HTTP_HOST'];
        $this->protocol    = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443 ? "https://" : "http://";
        $this->uri         = $_SERVER['REQUEST_URI'];
        $this->rootUri     = $_SERVER['SCRIPT_NAME'];
        $this->rootUriFull = $this->getProtocol() . $this->getHost() . $this->rootUri;
        $this->query       = $_SERVER['QUERY_STRING'];
        
        $i          = strpos($this->query, '&');
        $queryRoute = $i !== false ? substr($this->query, 0, $i) : $this->query;
        
        $this->route       = trim($queryRoute === false ? $this->query : $queryRoute, '/');
        $this->url         = $this->getProtocol() . $this->getHost() . $this->getUri();
        $this->rootUrl     = '/' . trim(substr($this->uri, 0, strpos($this->uri, '/php/app.php')), '/');
    }
    
    // Methods
    
    public function getRoute()
    {
        return $this->route;
    }
    
    public function getServerName()
    {
        return $this->serverName;
    }
    
    public function getUri()
    {
        return $this->uri;
    }
    
    public function getUrl()
    {
        return $this->url;
    }
    
    public function getRootUri()
    {
        return $this->rootUri;
    }
    
    public function getRootUriFull()
    {
        return $this->rootUriFull;
    }
    
    public function getQuery()
    {
        return $this->query;
    }
    
    public function getRootUrl()
    {
        return $this->rootUrl;
    }
    
    public function getVar($name, $safe = true)
    {
        return isset($this->getVars[$name]) ? ($safe ? $this->get('security')->escape($this->getVars[$name]) : $this->getVars[$name]) : null;
    }
    
    public function getVars()
    {
        return $this->getVars;
    }
    
    public function postVar($name, $safe = true)
    {
        return isset($this->postVars[$name]) ? ($safe ? $this->get('security')->escape($this->postVars[$name]) : $this->postVars[$name]) : null;
    }
    
    public function postVars()
    {
        return $this->postVars;
    }
    
    public function initFiles()
    {
        foreach($this->files as $id => $file)
        {
            $name = $file['name'];
            
            $this->files[$id]['ext'] = substr($name, strrpos($name, '.') + 1);
        }
    }
    
    public function file($name)
    {
        return isset($this->files[$name]) && $this->files[$name]['error'] === UPLOAD_ERR_OK ? $this->files[$name] : null;
    }
    
    public function files()
    {
        return $this->files;
    }
    
    public function getReferer()
    {
        return $this->referer;
    }
    
    public function getBrowser()
    {
        return $this->browser;
    }
    
    public function getIp()
    {
        return $this->ip;
    }
    
    public function getProtocol()
    {
        return $this->protocol;
    }
    
    public function getHost()
    {
        return $this->host;
    }
    
    public function hasFile($name)
    {
        return $this->file($name) !== null;
    }
    
    public function getMethod()
    {
        return $this->method;
    }
    
    public function isGet()
    {
        return $this->getMethod() == 'GET';
    }
    
    public function isPost()
    {
        return $this->getMethod() == 'POST';
    }
    
    public function getUserInfo()
    {
        return array(
            
            'ip'      => $this->getIp(),
            'referer' => $this->getReferer(),/*
            'host'    => $this->getRemoteHost(),
            'browser' => $this->getBrowser()*/
        );
    }
}

?>

./BlackJoker Mini Shell 1.0