jacobemerick/web

View on GitHub
utility/URLDecode.class.inc.php

Summary

Maintainability
A
1 hr
Test Coverage
F
0%
<?php

class URLDecode
{

    private static $array = array();

    static function init()
    {
        $host = $_SERVER['HTTP_HOST'];
        $uri = $_SERVER['REQUEST_URI'];
        self::form_url_array($host, $uri);
    }

    static private function form_url_array($host, $uri)
    {
        $uri = substr($uri, 1);
        if(strpos($uri, '?'))
            $uri = substr($uri, 0, strpos($uri, '?'));
        $uri_array = explode('/', $uri);
        
        if(!Loader::isLive())
            $host = substr($host, strpos($host, '.') + 1);
        
        self::$array['host'] = $host;
        
    if (
      $host == 'www.waterfallsofthekeweenaw.com' ||
      $host == 'waterfallsofthekeweenaw.com'
    ) {
            self::$array['site'] = 'waterfalls';
        } else {
            self::$array['site'] = substr($host, 0, strpos($host, '.'));
        }

    $base = '';
    $base .= (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
    $base .= '://';
    $base .= (!Loader::isLive()) ? 'dev.' : '';
    $base .= $host;
    $base .= '/';

        self::$array['base'] = $base;
        self::$array['uri'] = '/' . implode('/', $uri_array);
        
        if(end($uri_array) == '')
            $uri_array = array_slice($uri_array, 0, count($uri_array) - 1);
        self::$array['pieces'] = (array) $uri_array;
    }

    static function getSite()
    {
        return self::$array['site'];
    }

    static function getHost()
    {
        return self::$array['host'];
    }

    static function getBase()
    {
        return self::$array['base'];
    }

    static function getURI()
    {
        return self::$array['uri'];
    }

    static function getExtension()
    {
        $file = self::getPiece(-1);
        if(substr($file, -1) == '/')
            return false;
        return substr($file, strrpos($file, '.') + 1);;
    }

    static function getPiece($piece = null)
    {
        if(!$piece)
            return self::$array['pieces'];
        
        if($piece == -1)
            return end(self::$array['pieces']);
        
        $piece = $piece - 1;
        if(array_key_exists($piece, self::$array['pieces']))
            return self::$array['pieces'][$piece];
        return;
    }

}

URLDecode::init();

?>