Passed
Push — develop ( 9c6499...a5e1bf )
by Jens
02:46
created

Request   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 75
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
dl 0
loc 75
rs 10
c 0
b 0
f 0
wmc 3
lcom 0
cbo 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B __construct() 0 36 3
1
<?php
2
namespace CloudControl\Cms\cc
3
{
4
    /**
5
     * Class Request
6
     * @package CloudControl\Cms\cc
7
     */
8
	class Request {
9
10
		/**
11
		 * @var string
12
		 */
13
		public static $subfolders;
14
		/**
15
		 * @var string
16
		 */
17
		public static $requestUri;
18
		/**
19
		 * @var string
20
		 */
21
		public static $relativeUri;
22
		/**
23
		 * @var string
24
		 */
25
		public static $queryString;
26
		/**
27
		 * @var array
28
		 */
29
		public static $requestParameters;
30
		/**
31
		 * @var array
32
		 */
33
		public static $post = array();
34
		/**
35
		 * @var array
36
		 */
37
		public static $get = array();
38
		/**
39
		 * @var array
40
		 */
41
		private $statics = array();
42
43
		/**
44
		 * Request constructor.
45
		 */
46
		public function __construct() 
47
		{
48
            $rootPath = str_replace('\\', '/', realpath(str_replace('\\', '/', dirname(__FILE__)) . '/../../') . '/');
49
			
50
			self::$subfolders = '/' . str_replace('//', '/', str_replace(str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']), "", $rootPath));
51
			self::$subfolders = str_replace('//', '/', self::$subfolders);
52
			if (PHP_SAPI === 'cli') {
53
				global $argv;
54
				array_shift($argv);
55
				self::$queryString = '';
56
				self::$requestUri = self::$subfolders . implode('/', $argv);
57
			} else {
58
				self::$requestUri = $_SERVER['REQUEST_URI'];
59
				self::$queryString = $_SERVER['QUERY_STRING'];
60
			}
61
			if (self::$subfolders === '/') {
62
				self::$relativeUri = str_replace('?' . self::$queryString, '', substr(self::$requestUri,1));
63
			} else {
64
				self::$relativeUri = str_replace('?' . self::$queryString, '', str_replace(self::$subfolders, '', self::$requestUri));
65
			}
66
67
			self::$requestParameters = explode('/', self::$relativeUri);
68
			
69
			self::$get = $_GET;
70
			self::$post = $_POST;
71
			
72
			$this->statics = array(
73
				'subfolders' => self::$subfolders,
74
				'requestUri' => self::$requestUri,
75
				'relativeUri' => self::$relativeUri,
76
				'queryString' => self::$queryString,
77
				'requestParameters' => self::$requestParameters,
78
				'post' => self::$post,
79
				'get' => self::$get
80
			);
81
		}
82
	}
83
}