Completed
Branch dev (97838e)
by
unknown
18:15 queued 10:24
created
caffeinated/modules/recaptcha/ReCaptcha/RequestMethod/SocketPost.php 2 patches
Indentation   +83 added lines, -83 removed lines patch added patch discarded remove patch
@@ -33,87 +33,87 @@
 block discarded – undo
33 33
  */
34 34
 class SocketPost implements RequestMethod
35 35
 {
36
-    /**
37
-     * reCAPTCHA service host.
38
-     *
39
-     * @const string
40
-     */
41
-    const RECAPTCHA_HOST = 'www.google.com';
42
-
43
-    /**
44
-     * @const string reCAPTCHA service path
45
-     */
46
-    const SITE_VERIFY_PATH = '/recaptcha/api/siteverify';
47
-
48
-    /**
49
-     * @const string Bad request error
50
-     */
51
-    const BAD_REQUEST = '{"success": false, "error-codes": ["invalid-request"]}';
52
-
53
-    /**
54
-     * @const string Bad response error
55
-     */
56
-    const BAD_RESPONSE = '{"success": false, "error-codes": ["invalid-response"]}';
57
-
58
-    /**
59
-     * Socket to the reCAPTCHA service
60
-     *
61
-     * @var Socket
62
-     */
63
-    private $socket;
64
-
65
-    /**
66
-     * Constructor
67
-     *
68
-     * @param \ReCaptcha\RequestMethod\Socket $socket optional socket, injectable for testing
69
-     */
70
-    public function __construct(Socket $socket = null)
71
-    {
72
-        if (! is_null($socket)) {
73
-            $this->socket = $socket;
74
-        } else {
75
-            $this->socket = new Socket();
76
-        }
77
-    }
78
-
79
-    /**
80
-     * Submit the POST request with the specified parameters.
81
-     *
82
-     * @param RequestParameters $params Request parameters
83
-     * @return string Body of the reCAPTCHA response
84
-     */
85
-    public function submit(RequestParameters $params)
86
-    {
87
-        $errno = 0;
88
-        $errstr = '';
89
-
90
-        if ($this->socket->fsockopen('ssl://' . self::RECAPTCHA_HOST, 443, $errno, $errstr, 30) !== false) {
91
-            $content = $params->toQueryString();
92
-
93
-            $request = "POST " . self::SITE_VERIFY_PATH . " HTTP/1.1\r\n";
94
-            $request .= "Host: " . self::RECAPTCHA_HOST . "\r\n";
95
-            $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
96
-            $request .= "Content-length: " . strlen($content) . "\r\n";
97
-            $request .= "Connection: close\r\n\r\n";
98
-            $request .= $content . "\r\n\r\n";
99
-
100
-            $this->socket->fwrite($request);
101
-            $response = '';
102
-
103
-            while (! $this->socket->feof()) {
104
-                $response .= $this->socket->fgets(4096);
105
-            }
106
-
107
-            $this->socket->fclose();
108
-
109
-            if (0 === strpos($response, 'HTTP/1.1 200 OK')) {
110
-                $parts = preg_split("#\n\s*\n#Uis", $response);
111
-                return $parts[1];
112
-            }
113
-
114
-            return self::BAD_RESPONSE;
115
-        }
116
-
117
-        return self::BAD_REQUEST;
118
-    }
36
+	/**
37
+	 * reCAPTCHA service host.
38
+	 *
39
+	 * @const string
40
+	 */
41
+	const RECAPTCHA_HOST = 'www.google.com';
42
+
43
+	/**
44
+	 * @const string reCAPTCHA service path
45
+	 */
46
+	const SITE_VERIFY_PATH = '/recaptcha/api/siteverify';
47
+
48
+	/**
49
+	 * @const string Bad request error
50
+	 */
51
+	const BAD_REQUEST = '{"success": false, "error-codes": ["invalid-request"]}';
52
+
53
+	/**
54
+	 * @const string Bad response error
55
+	 */
56
+	const BAD_RESPONSE = '{"success": false, "error-codes": ["invalid-response"]}';
57
+
58
+	/**
59
+	 * Socket to the reCAPTCHA service
60
+	 *
61
+	 * @var Socket
62
+	 */
63
+	private $socket;
64
+
65
+	/**
66
+	 * Constructor
67
+	 *
68
+	 * @param \ReCaptcha\RequestMethod\Socket $socket optional socket, injectable for testing
69
+	 */
70
+	public function __construct(Socket $socket = null)
71
+	{
72
+		if (! is_null($socket)) {
73
+			$this->socket = $socket;
74
+		} else {
75
+			$this->socket = new Socket();
76
+		}
77
+	}
78
+
79
+	/**
80
+	 * Submit the POST request with the specified parameters.
81
+	 *
82
+	 * @param RequestParameters $params Request parameters
83
+	 * @return string Body of the reCAPTCHA response
84
+	 */
85
+	public function submit(RequestParameters $params)
86
+	{
87
+		$errno = 0;
88
+		$errstr = '';
89
+
90
+		if ($this->socket->fsockopen('ssl://' . self::RECAPTCHA_HOST, 443, $errno, $errstr, 30) !== false) {
91
+			$content = $params->toQueryString();
92
+
93
+			$request = "POST " . self::SITE_VERIFY_PATH . " HTTP/1.1\r\n";
94
+			$request .= "Host: " . self::RECAPTCHA_HOST . "\r\n";
95
+			$request .= "Content-Type: application/x-www-form-urlencoded\r\n";
96
+			$request .= "Content-length: " . strlen($content) . "\r\n";
97
+			$request .= "Connection: close\r\n\r\n";
98
+			$request .= $content . "\r\n\r\n";
99
+
100
+			$this->socket->fwrite($request);
101
+			$response = '';
102
+
103
+			while (! $this->socket->feof()) {
104
+				$response .= $this->socket->fgets(4096);
105
+			}
106
+
107
+			$this->socket->fclose();
108
+
109
+			if (0 === strpos($response, 'HTTP/1.1 200 OK')) {
110
+				$parts = preg_split("#\n\s*\n#Uis", $response);
111
+				return $parts[1];
112
+			}
113
+
114
+			return self::BAD_RESPONSE;
115
+		}
116
+
117
+		return self::BAD_REQUEST;
118
+	}
119 119
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
      */
70 70
     public function __construct(Socket $socket = null)
71 71
     {
72
-        if (! is_null($socket)) {
72
+        if ( ! is_null($socket)) {
73 73
             $this->socket = $socket;
74 74
         } else {
75 75
             $this->socket = new Socket();
@@ -87,20 +87,20 @@  discard block
 block discarded – undo
87 87
         $errno = 0;
88 88
         $errstr = '';
89 89
 
90
-        if ($this->socket->fsockopen('ssl://' . self::RECAPTCHA_HOST, 443, $errno, $errstr, 30) !== false) {
90
+        if ($this->socket->fsockopen('ssl://'.self::RECAPTCHA_HOST, 443, $errno, $errstr, 30) !== false) {
91 91
             $content = $params->toQueryString();
92 92
 
93
-            $request = "POST " . self::SITE_VERIFY_PATH . " HTTP/1.1\r\n";
94
-            $request .= "Host: " . self::RECAPTCHA_HOST . "\r\n";
93
+            $request = "POST ".self::SITE_VERIFY_PATH." HTTP/1.1\r\n";
94
+            $request .= "Host: ".self::RECAPTCHA_HOST."\r\n";
95 95
             $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
96
-            $request .= "Content-length: " . strlen($content) . "\r\n";
96
+            $request .= "Content-length: ".strlen($content)."\r\n";
97 97
             $request .= "Connection: close\r\n\r\n";
98
-            $request .= $content . "\r\n\r\n";
98
+            $request .= $content."\r\n\r\n";
99 99
 
100 100
             $this->socket->fwrite($request);
101 101
             $response = '';
102 102
 
103
-            while (! $this->socket->feof()) {
103
+            while ( ! $this->socket->feof()) {
104 104
                 $response .= $this->socket->fgets(4096);
105 105
             }
106 106
 
Please login to merge, or discard this patch.
caffeinated/modules/recaptcha/ReCaptcha/RequestMethod/Socket.php 1 patch
Indentation   +69 added lines, -69 removed lines patch added patch discarded remove patch
@@ -29,79 +29,79 @@
 block discarded – undo
29 29
  */
30 30
 class Socket
31 31
 {
32
-    private $handle = null;
32
+	private $handle = null;
33 33
 
34
-    /**
35
-     * fsockopen
36
-     *
37
-     * @see http://php.net/fsockopen
38
-     * @param string $hostname
39
-     * @param int    $port
40
-     * @param int    $errno
41
-     * @param string $errstr
42
-     * @param float  $timeout
43
-     * @return resource
44
-     */
45
-    public function fsockopen($hostname, $port = -1, &$errno = 0, &$errstr = '', $timeout = null)
46
-    {
47
-        $this->handle = fsockopen(
48
-            $hostname,
49
-            $port,
50
-            $errno,
51
-            $errstr,
52
-            (is_null($timeout) ? ini_get("default_socket_timeout") : $timeout)
53
-        );
34
+	/**
35
+	 * fsockopen
36
+	 *
37
+	 * @see http://php.net/fsockopen
38
+	 * @param string $hostname
39
+	 * @param int    $port
40
+	 * @param int    $errno
41
+	 * @param string $errstr
42
+	 * @param float  $timeout
43
+	 * @return resource
44
+	 */
45
+	public function fsockopen($hostname, $port = -1, &$errno = 0, &$errstr = '', $timeout = null)
46
+	{
47
+		$this->handle = fsockopen(
48
+			$hostname,
49
+			$port,
50
+			$errno,
51
+			$errstr,
52
+			(is_null($timeout) ? ini_get("default_socket_timeout") : $timeout)
53
+		);
54 54
 
55
-        if ($this->handle != false && $errno === 0 && $errstr === '') {
56
-            return $this->handle;
57
-        } else {
58
-            return false;
59
-        }
60
-    }
55
+		if ($this->handle != false && $errno === 0 && $errstr === '') {
56
+			return $this->handle;
57
+		} else {
58
+			return false;
59
+		}
60
+	}
61 61
 
62
-    /**
63
-     * fwrite
64
-     *
65
-     * @see http://php.net/fwrite
66
-     * @param string $string
67
-     * @param int    $length
68
-     * @return int | bool
69
-     */
70
-    public function fwrite($string, $length = null)
71
-    {
72
-        return fwrite($this->handle, $string, (is_null($length) ? strlen($string) : $length));
73
-    }
62
+	/**
63
+	 * fwrite
64
+	 *
65
+	 * @see http://php.net/fwrite
66
+	 * @param string $string
67
+	 * @param int    $length
68
+	 * @return int | bool
69
+	 */
70
+	public function fwrite($string, $length = null)
71
+	{
72
+		return fwrite($this->handle, $string, (is_null($length) ? strlen($string) : $length));
73
+	}
74 74
 
75
-    /**
76
-     * fgets
77
-     *
78
-     * @see http://php.net/fgets
79
-     * @param int $length
80
-     */
81
-    public function fgets($length = null)
82
-    {
83
-        return fgets($this->handle, $length);
84
-    }
75
+	/**
76
+	 * fgets
77
+	 *
78
+	 * @see http://php.net/fgets
79
+	 * @param int $length
80
+	 */
81
+	public function fgets($length = null)
82
+	{
83
+		return fgets($this->handle, $length);
84
+	}
85 85
 
86
-    /**
87
-     * feof
88
-     *
89
-     * @see http://php.net/feof
90
-     * @return bool
91
-     */
92
-    public function feof()
93
-    {
94
-        return feof($this->handle);
95
-    }
86
+	/**
87
+	 * feof
88
+	 *
89
+	 * @see http://php.net/feof
90
+	 * @return bool
91
+	 */
92
+	public function feof()
93
+	{
94
+		return feof($this->handle);
95
+	}
96 96
 
97
-    /**
98
-     * fclose
99
-     *
100
-     * @see http://php.net/fclose
101
-     * @return bool
102
-     */
103
-    public function fclose()
104
-    {
105
-        return fclose($this->handle);
106
-    }
97
+	/**
98
+	 * fclose
99
+	 *
100
+	 * @see http://php.net/fclose
101
+	 * @return bool
102
+	 */
103
+	public function fclose()
104
+	{
105
+		return fclose($this->handle);
106
+	}
107 107
 }
Please login to merge, or discard this patch.
core/exceptions/ExceptionLogger.php 2 patches
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -33,18 +33,18 @@
 block discarded – undo
33 33
      */
34 34
     public function log(\Exception $exception, $time = 0)
35 35
     {
36
-        if (! $time) {
36
+        if ( ! $time) {
37 37
             $time = time();
38 38
         }
39 39
         $exception_log = '----------------------------------------------------------------------------------------';
40 40
         $exception_log .= PHP_EOL;
41
-        $exception_log .= '[' . date('Y-m-d H:i:s', $time) . ']  Exception Details' . PHP_EOL;
42
-        $exception_log .= 'Message: ' . $exception->getMessage() . PHP_EOL;
43
-        $exception_log .= 'Code: ' . $exception->getCode() . PHP_EOL;
44
-        $exception_log .= 'File: ' . $exception->getFile() . PHP_EOL;
45
-        $exception_log .= 'Line No: ' . $exception->getLine() . PHP_EOL;
46
-        $exception_log .= 'Stack trace: ' . PHP_EOL;
47
-        $exception_log .= $exception->getTraceAsString() . PHP_EOL;
41
+        $exception_log .= '['.date('Y-m-d H:i:s', $time).']  Exception Details'.PHP_EOL;
42
+        $exception_log .= 'Message: '.$exception->getMessage().PHP_EOL;
43
+        $exception_log .= 'Code: '.$exception->getCode().PHP_EOL;
44
+        $exception_log .= 'File: '.$exception->getFile().PHP_EOL;
45
+        $exception_log .= 'Line No: '.$exception->getLine().PHP_EOL;
46
+        $exception_log .= 'Stack trace: '.PHP_EOL;
47
+        $exception_log .= $exception->getTraceAsString().PHP_EOL;
48 48
         $exception_log .= '----------------------------------------------------------------------------------------';
49 49
         $exception_log .= PHP_EOL;
50 50
         error_log($exception_log);
Please login to merge, or discard this patch.
Indentation   +33 added lines, -33 removed lines patch added patch discarded remove patch
@@ -12,39 +12,39 @@
 block discarded – undo
12 12
  */
13 13
 class ExceptionLogger
14 14
 {
15
-    /**
16
-     * ExceptionLogger constructor.
17
-     *
18
-     * @param \Exception $exception
19
-     */
20
-    public function __construct(\Exception $exception)
21
-    {
22
-        $this->log($exception);
23
-    }
15
+	/**
16
+	 * ExceptionLogger constructor.
17
+	 *
18
+	 * @param \Exception $exception
19
+	 */
20
+	public function __construct(\Exception $exception)
21
+	{
22
+		$this->log($exception);
23
+	}
24 24
 
25 25
 
26
-    /**
27
-     * write exception details to log file
28
-     *
29
-     * @param \Exception $exception
30
-     * @param int        $time
31
-     */
32
-    public function log(\Exception $exception, $time = 0)
33
-    {
34
-        if (! $time) {
35
-            $time = time();
36
-        }
37
-        $exception_log = '----------------------------------------------------------------------------------------';
38
-        $exception_log .= PHP_EOL;
39
-        $exception_log .= '[' . date('Y-m-d H:i:s', $time) . ']  Exception Details' . PHP_EOL;
40
-        $exception_log .= 'Message: ' . $exception->getMessage() . PHP_EOL;
41
-        $exception_log .= 'Code: ' . $exception->getCode() . PHP_EOL;
42
-        $exception_log .= 'File: ' . $exception->getFile() . PHP_EOL;
43
-        $exception_log .= 'Line No: ' . $exception->getLine() . PHP_EOL;
44
-        $exception_log .= 'Stack trace: ' . PHP_EOL;
45
-        $exception_log .= $exception->getTraceAsString() . PHP_EOL;
46
-        $exception_log .= '----------------------------------------------------------------------------------------';
47
-        $exception_log .= PHP_EOL;
48
-        error_log($exception_log);
49
-    }
26
+	/**
27
+	 * write exception details to log file
28
+	 *
29
+	 * @param \Exception $exception
30
+	 * @param int        $time
31
+	 */
32
+	public function log(\Exception $exception, $time = 0)
33
+	{
34
+		if (! $time) {
35
+			$time = time();
36
+		}
37
+		$exception_log = '----------------------------------------------------------------------------------------';
38
+		$exception_log .= PHP_EOL;
39
+		$exception_log .= '[' . date('Y-m-d H:i:s', $time) . ']  Exception Details' . PHP_EOL;
40
+		$exception_log .= 'Message: ' . $exception->getMessage() . PHP_EOL;
41
+		$exception_log .= 'Code: ' . $exception->getCode() . PHP_EOL;
42
+		$exception_log .= 'File: ' . $exception->getFile() . PHP_EOL;
43
+		$exception_log .= 'Line No: ' . $exception->getLine() . PHP_EOL;
44
+		$exception_log .= 'Stack trace: ' . PHP_EOL;
45
+		$exception_log .= $exception->getTraceAsString() . PHP_EOL;
46
+		$exception_log .= '----------------------------------------------------------------------------------------';
47
+		$exception_log .= PHP_EOL;
48
+		error_log($exception_log);
49
+	}
50 50
 }
Please login to merge, or discard this patch.
core/services/formatters/FormatterBase.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -24,14 +24,14 @@
 block discarded – undo
24 24
      */
25 25
     public function formatArray($input)
26 26
     {
27
-        if (! is_array($input)) {
27
+        if ( ! is_array($input)) {
28 28
             throw new InvalidDataTypeException('input', $input, 'array');
29 29
         }
30 30
         // we can use $this inside the closure in PHP 5.3, so pass in a variable pointing to this instead
31 31
         $formatter = $this;
32 32
         array_walk_recursive(
33 33
             $input,
34
-            function (&$value, $key) use ($formatter) {
34
+            function(&$value, $key) use ($formatter) {
35 35
                 $value = $formatter->format($value);
36 36
             }
37 37
         );
Please login to merge, or discard this patch.
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -14,26 +14,26 @@
 block discarded – undo
14 14
  */
15 15
 abstract class FormatterBase implements FormatterInterface
16 16
 {
17
-    /**
18
-     * Recursively applies the formatting to all VALUES in this multi-dimensional array
19
-     *
20
-     * @param array $input
21
-     * @return array
22
-     * @throws InvalidDataTypeException if $input is not an array
23
-     */
24
-    public function formatArray($input)
25
-    {
26
-        if (! is_array($input)) {
27
-            throw new InvalidDataTypeException('input', $input, 'array');
28
-        }
29
-        // we can use $this inside the closure in PHP 5.3, so pass in a variable pointing to this instead
30
-        $formatter = $this;
31
-        array_walk_recursive(
32
-            $input,
33
-            function (&$value, $key) use ($formatter) {
34
-                $value = $formatter->format($value);
35
-            }
36
-        );
37
-        return $input;
38
-    }
17
+	/**
18
+	 * Recursively applies the formatting to all VALUES in this multi-dimensional array
19
+	 *
20
+	 * @param array $input
21
+	 * @return array
22
+	 * @throws InvalidDataTypeException if $input is not an array
23
+	 */
24
+	public function formatArray($input)
25
+	{
26
+		if (! is_array($input)) {
27
+			throw new InvalidDataTypeException('input', $input, 'array');
28
+		}
29
+		// we can use $this inside the closure in PHP 5.3, so pass in a variable pointing to this instead
30
+		$formatter = $this;
31
+		array_walk_recursive(
32
+			$input,
33
+			function (&$value, $key) use ($formatter) {
34
+				$value = $formatter->format($value);
35
+			}
36
+		);
37
+		return $input;
38
+	}
39 39
 }
Please login to merge, or discard this patch.
core/services/request/RequestStackCoreApp.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -53,10 +53,10 @@  discard block
 block discarded – undo
53 53
     {
54 54
         $this->request = $request;
55 55
         $this->response = $response;
56
-        espresso_load_required('EE_Base', EE_CORE . 'EE_Base.core.php');
57
-        espresso_load_required('EE_Deprecated', EE_CORE . 'EE_Deprecated.core.php');
56
+        espresso_load_required('EE_Base', EE_CORE.'EE_Base.core.php');
57
+        espresso_load_required('EE_Deprecated', EE_CORE.'EE_Deprecated.core.php');
58 58
         // workarounds for PHP < 5.3
59
-        espresso_load_required('EEH_Class_Tools', EE_HELPERS . 'EEH_Class_Tools.helper.php');
59
+        espresso_load_required('EEH_Class_Tools', EE_HELPERS.'EEH_Class_Tools.helper.php');
60 60
         do_action(
61 61
             'EE_EventEspresso_core_services_request_RequestStackCoreApp__handle_request__initialize_core_loading'
62 62
         );
@@ -83,7 +83,7 @@  discard block
 block discarded – undo
83 83
     {
84 84
         espresso_load_required(
85 85
             'EE_Bootstrap',
86
-            EE_CORE . 'EE_Bootstrap.core.php'
86
+            EE_CORE.'EE_Bootstrap.core.php'
87 87
         );
88 88
         add_action('plugins_loaded', array('EE_Bootstrap', 'load_espresso_addons'), 1);
89 89
         add_action('plugins_loaded', array('EE_Bootstrap', 'detect_activations_or_upgrades'), 3);
Please login to merge, or discard this patch.
Indentation   +76 added lines, -76 removed lines patch added patch discarded remove patch
@@ -22,87 +22,87 @@
 block discarded – undo
22 22
  */
23 23
 class RequestStackCoreApp implements RequestDecoratorInterface, RequestStackCoreAppInterface
24 24
 {
25
-    /**
26
-     * @var RequestInterface $request
27
-     */
28
-    protected $request;
25
+	/**
26
+	 * @var RequestInterface $request
27
+	 */
28
+	protected $request;
29 29
 
30
-    /**
31
-     * @var ResponseInterface $response
32
-     */
33
-    protected $response;
30
+	/**
31
+	 * @var ResponseInterface $response
32
+	 */
33
+	protected $response;
34 34
 
35 35
 
36
-    /**
37
-     * handle
38
-     * sets hooks for running rest of system
39
-     * provides "AHEE__EE_System__construct__complete" hook for EE Addons to use as their starting point
40
-     * starting EE Addons from any other point may lead to problems
41
-     *
42
-     * @param RequestInterface  $request
43
-     * @param ResponseInterface $response
44
-     * @return ResponseInterface
45
-     * @throws InvalidClassException
46
-     * @throws EE_Error
47
-     * @throws InvalidDataTypeException
48
-     * @throws InvalidInterfaceException
49
-     * @throws InvalidArgumentException
50
-     */
51
-    public function handleRequest(RequestInterface $request, ResponseInterface $response)
52
-    {
53
-        $this->request = $request;
54
-        $this->response = $response;
55
-        espresso_load_required('EE_Base', EE_CORE . 'EE_Base.core.php');
56
-        espresso_load_required('EE_Deprecated', EE_CORE . 'EE_Deprecated.core.php');
57
-        // workarounds for PHP < 5.3
58
-        espresso_load_required('EEH_Class_Tools', EE_HELPERS . 'EEH_Class_Tools.helper.php');
59
-        do_action(
60
-            'EE_EventEspresso_core_services_request_RequestStackCoreApp__handle_request__initialize_core_loading'
61
-        );
62
-        // legacy action for backwards compatibility
63
-        do_action('EE_Load_Espresso_Core__handle_request__initialize_core_loading');
64
-        $this->setupFramework();
65
-        $loader = LoaderFactory::getLoader();
66
-        $loader->getShared(
67
-            'EventEspresso\core\services\notifications\PersistentAdminNoticeManager'
68
-        );
69
-        // WP cron jobs
70
-        $loader->getShared('EE_Cron_Tasks');
71
-        $loader->getShared('EE_System');
72
-        return $this->response;
73
-    }
36
+	/**
37
+	 * handle
38
+	 * sets hooks for running rest of system
39
+	 * provides "AHEE__EE_System__construct__complete" hook for EE Addons to use as their starting point
40
+	 * starting EE Addons from any other point may lead to problems
41
+	 *
42
+	 * @param RequestInterface  $request
43
+	 * @param ResponseInterface $response
44
+	 * @return ResponseInterface
45
+	 * @throws InvalidClassException
46
+	 * @throws EE_Error
47
+	 * @throws InvalidDataTypeException
48
+	 * @throws InvalidInterfaceException
49
+	 * @throws InvalidArgumentException
50
+	 */
51
+	public function handleRequest(RequestInterface $request, ResponseInterface $response)
52
+	{
53
+		$this->request = $request;
54
+		$this->response = $response;
55
+		espresso_load_required('EE_Base', EE_CORE . 'EE_Base.core.php');
56
+		espresso_load_required('EE_Deprecated', EE_CORE . 'EE_Deprecated.core.php');
57
+		// workarounds for PHP < 5.3
58
+		espresso_load_required('EEH_Class_Tools', EE_HELPERS . 'EEH_Class_Tools.helper.php');
59
+		do_action(
60
+			'EE_EventEspresso_core_services_request_RequestStackCoreApp__handle_request__initialize_core_loading'
61
+		);
62
+		// legacy action for backwards compatibility
63
+		do_action('EE_Load_Espresso_Core__handle_request__initialize_core_loading');
64
+		$this->setupFramework();
65
+		$loader = LoaderFactory::getLoader();
66
+		$loader->getShared(
67
+			'EventEspresso\core\services\notifications\PersistentAdminNoticeManager'
68
+		);
69
+		// WP cron jobs
70
+		$loader->getShared('EE_Cron_Tasks');
71
+		$loader->getShared('EE_System');
72
+		return $this->response;
73
+	}
74 74
 
75 75
 
76
-    /**
77
-     * set framework for the rest of EE to hook into when loading
78
-     *
79
-     * @throws EE_Error
80
-     */
81
-    private function setupFramework()
82
-    {
83
-        espresso_load_required(
84
-            'EE_Bootstrap',
85
-            EE_CORE . 'EE_Bootstrap.core.php'
86
-        );
87
-        add_action('plugins_loaded', array('EE_Bootstrap', 'load_espresso_addons'), 1);
88
-        add_action('plugins_loaded', array('EE_Bootstrap', 'detect_activations_or_upgrades'), 3);
89
-        add_action('plugins_loaded', array('EE_Bootstrap', 'load_core_configuration'), 5);
90
-        add_action('plugins_loaded', array('EE_Bootstrap', 'register_shortcodes_modules_and_widgets'), 7);
91
-        add_action('plugins_loaded', array('EE_Bootstrap', 'brew_espresso'), 9);
92
-    }
76
+	/**
77
+	 * set framework for the rest of EE to hook into when loading
78
+	 *
79
+	 * @throws EE_Error
80
+	 */
81
+	private function setupFramework()
82
+	{
83
+		espresso_load_required(
84
+			'EE_Bootstrap',
85
+			EE_CORE . 'EE_Bootstrap.core.php'
86
+		);
87
+		add_action('plugins_loaded', array('EE_Bootstrap', 'load_espresso_addons'), 1);
88
+		add_action('plugins_loaded', array('EE_Bootstrap', 'detect_activations_or_upgrades'), 3);
89
+		add_action('plugins_loaded', array('EE_Bootstrap', 'load_core_configuration'), 5);
90
+		add_action('plugins_loaded', array('EE_Bootstrap', 'register_shortcodes_modules_and_widgets'), 7);
91
+		add_action('plugins_loaded', array('EE_Bootstrap', 'brew_espresso'), 9);
92
+	}
93 93
 
94 94
 
95
-    /**
96
-     * called after the request stack has been fully processed
97
-     * if any of the middleware apps has requested the plugin be deactivated, then we do that now
98
-     *
99
-     * @param RequestInterface  $request
100
-     * @param ResponseInterface $response
101
-     */
102
-    public function handleResponse(RequestInterface $request, ResponseInterface $response)
103
-    {
104
-        if ($response->pluginDeactivated()) {
105
-            espresso_deactivate_plugin(EE_PLUGIN_BASENAME);
106
-        }
107
-    }
95
+	/**
96
+	 * called after the request stack has been fully processed
97
+	 * if any of the middleware apps has requested the plugin be deactivated, then we do that now
98
+	 *
99
+	 * @param RequestInterface  $request
100
+	 * @param ResponseInterface $response
101
+	 */
102
+	public function handleResponse(RequestInterface $request, ResponseInterface $response)
103
+	{
104
+		if ($response->pluginDeactivated()) {
105
+			espresso_deactivate_plugin(EE_PLUGIN_BASENAME);
106
+		}
107
+	}
108 108
 }
Please login to merge, or discard this patch.
core/services/request/RequestStackBuilder.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -108,7 +108,7 @@
 block discarded – undo
108 108
             throw new InvalidRequestStackMiddlewareException($middleware_app_class);
109 109
         }
110 110
         // is $middleware_app_class a valid FQCN (or class is already loaded) ?
111
-        if (! class_exists($middleware_app_class)) {
111
+        if ( ! class_exists($middleware_app_class)) {
112 112
             throw new InvalidRequestStackMiddlewareException($middleware_app_class);
113 113
         }
114 114
         return $middleware_app;
Please login to merge, or discard this patch.
Indentation   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -19,97 +19,97 @@
 block discarded – undo
19 19
  */
20 20
 class RequestStackBuilder extends SplDoublyLinkedList
21 21
 {
22
-    /**
23
-     * @type LoaderInterface $loader
24
-     */
25
-    private $loader;
22
+	/**
23
+	 * @type LoaderInterface $loader
24
+	 */
25
+	private $loader;
26 26
 
27 27
 
28
-    /**
29
-     * RequestStackBuilder constructor.
30
-     *
31
-     * @param LoaderInterface $loader
32
-     */
33
-    public function __construct(LoaderInterface $loader)
34
-    {
35
-        $this->loader = $loader;
36
-        $this->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP);
37
-    }
28
+	/**
29
+	 * RequestStackBuilder constructor.
30
+	 *
31
+	 * @param LoaderInterface $loader
32
+	 */
33
+	public function __construct(LoaderInterface $loader)
34
+	{
35
+		$this->loader = $loader;
36
+		$this->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP);
37
+	}
38 38
 
39 39
 
40
-    /**
41
-     * builds decorated middleware stack
42
-     * by continuously injecting previous middleware app into the next
43
-     *
44
-     * @param RequestStackCoreAppInterface $application
45
-     * @return RequestStack
46
-     * @throws Exception
47
-     */
48
-    public function resolve(RequestStackCoreAppInterface $application)
49
-    {
50
-        $core_app = $application;
51
-        // NOW... because the RequestStack is following the decorator pattern,
52
-        // the first stack app we add will end up at the center of the stack,
53
-        // and will end up being the last item to actually run, but we don't want that!
54
-        // Basically we're dealing with TWO stacks, and transferring items from one to the other,
55
-        // BUT... we want the final stack to be in the same order as the first.
56
-        // So we need to reverse the iterator mode when transferring items,
57
-        // because if we don't, the second stack will end  up in the incorrect order.
58
-        $this->setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP);
59
-        for ($this->rewind(); $this->valid(); $this->next()) {
60
-            try {
61
-                $middleware_app = $this->validateMiddlewareAppDetails($this->current(), true);
62
-                $middleware_app_class = array_shift($middleware_app);
63
-                $middleware_app_args = is_array($middleware_app) ? $middleware_app : array();
64
-                $middleware_app_args = array($application, $this->loader) + $middleware_app_args;
65
-                $application = $this->loader->getShared($middleware_app_class, $middleware_app_args);
66
-            } catch (InvalidRequestStackMiddlewareException $exception) {
67
-                if (WP_DEBUG) {
68
-                    new ExceptionStackTraceDisplay($exception);
69
-                    continue;
70
-                }
71
-                error_log($exception->getMessage());
72
-            }
73
-        }
74
-        return new RequestStack($application, $core_app);
75
-    }
40
+	/**
41
+	 * builds decorated middleware stack
42
+	 * by continuously injecting previous middleware app into the next
43
+	 *
44
+	 * @param RequestStackCoreAppInterface $application
45
+	 * @return RequestStack
46
+	 * @throws Exception
47
+	 */
48
+	public function resolve(RequestStackCoreAppInterface $application)
49
+	{
50
+		$core_app = $application;
51
+		// NOW... because the RequestStack is following the decorator pattern,
52
+		// the first stack app we add will end up at the center of the stack,
53
+		// and will end up being the last item to actually run, but we don't want that!
54
+		// Basically we're dealing with TWO stacks, and transferring items from one to the other,
55
+		// BUT... we want the final stack to be in the same order as the first.
56
+		// So we need to reverse the iterator mode when transferring items,
57
+		// because if we don't, the second stack will end  up in the incorrect order.
58
+		$this->setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP);
59
+		for ($this->rewind(); $this->valid(); $this->next()) {
60
+			try {
61
+				$middleware_app = $this->validateMiddlewareAppDetails($this->current(), true);
62
+				$middleware_app_class = array_shift($middleware_app);
63
+				$middleware_app_args = is_array($middleware_app) ? $middleware_app : array();
64
+				$middleware_app_args = array($application, $this->loader) + $middleware_app_args;
65
+				$application = $this->loader->getShared($middleware_app_class, $middleware_app_args);
66
+			} catch (InvalidRequestStackMiddlewareException $exception) {
67
+				if (WP_DEBUG) {
68
+					new ExceptionStackTraceDisplay($exception);
69
+					continue;
70
+				}
71
+				error_log($exception->getMessage());
72
+			}
73
+		}
74
+		return new RequestStack($application, $core_app);
75
+	}
76 76
 
77 77
 
78
-    /**
79
-     * Ensures that the app details that have been pushed onto RequestStackBuilder
80
-     * are all ordered correctly so that the middleware can be properly constructed
81
-     *
82
-     * @param array $middleware_app
83
-     * @param bool  $recurse
84
-     * @return array
85
-     * @throws InvalidRequestStackMiddlewareException
86
-     */
87
-    protected function validateMiddlewareAppDetails(array $middleware_app, $recurse = false)
88
-    {
89
-        $middleware_app_class = reset($middleware_app);
90
-        // is array empty ?
91
-        if ($middleware_app_class === false) {
92
-            throw new InvalidRequestStackMiddlewareException($middleware_app_class);
93
-        }
94
-        // are the class and arguments in the wrong order ?
95
-        if (is_array($middleware_app_class)) {
96
-            if ($recurse === true) {
97
-                return $this->validateMiddlewareAppDetails(array_reverse($middleware_app));
98
-            }
99
-            throw new InvalidRequestStackMiddlewareException($middleware_app_class);
100
-        }
101
-        // is filter callback working like legacy middleware and sending a numerically indexed array ?
102
-        if (is_int($middleware_app_class)) {
103
-            if ($recurse === true) {
104
-                $middleware_app = array_reverse($middleware_app);
105
-                return $this->validateMiddlewareAppDetails(array(reset($middleware_app), array()));
106
-            }
107
-            throw new InvalidRequestStackMiddlewareException($middleware_app_class);
108
-        }
109
-        // is $middleware_app_class a valid FQCN (or class is already loaded) ?
110
-        if (! class_exists($middleware_app_class)) {
111
-            throw new InvalidRequestStackMiddlewareException($middleware_app_class);
112
-        }
113
-        return $middleware_app;
114
-    }
78
+	/**
79
+	 * Ensures that the app details that have been pushed onto RequestStackBuilder
80
+	 * are all ordered correctly so that the middleware can be properly constructed
81
+	 *
82
+	 * @param array $middleware_app
83
+	 * @param bool  $recurse
84
+	 * @return array
85
+	 * @throws InvalidRequestStackMiddlewareException
86
+	 */
87
+	protected function validateMiddlewareAppDetails(array $middleware_app, $recurse = false)
88
+	{
89
+		$middleware_app_class = reset($middleware_app);
90
+		// is array empty ?
91
+		if ($middleware_app_class === false) {
92
+			throw new InvalidRequestStackMiddlewareException($middleware_app_class);
93
+		}
94
+		// are the class and arguments in the wrong order ?
95
+		if (is_array($middleware_app_class)) {
96
+			if ($recurse === true) {
97
+				return $this->validateMiddlewareAppDetails(array_reverse($middleware_app));
98
+			}
99
+			throw new InvalidRequestStackMiddlewareException($middleware_app_class);
100
+		}
101
+		// is filter callback working like legacy middleware and sending a numerically indexed array ?
102
+		if (is_int($middleware_app_class)) {
103
+			if ($recurse === true) {
104
+				$middleware_app = array_reverse($middleware_app);
105
+				return $this->validateMiddlewareAppDetails(array(reset($middleware_app), array()));
106
+			}
107
+			throw new InvalidRequestStackMiddlewareException($middleware_app_class);
108
+		}
109
+		// is $middleware_app_class a valid FQCN (or class is already loaded) ?
110
+		if (! class_exists($middleware_app_class)) {
111
+			throw new InvalidRequestStackMiddlewareException($middleware_app_class);
112
+		}
113
+		return $middleware_app;
114
+	}
115 115
 }
Please login to merge, or discard this patch.
core/services/request/middleware/Middleware.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -68,7 +68,7 @@
 block discarded – undo
68 68
     {
69 69
         $this->request = $request;
70 70
         $this->response = $response;
71
-        if (! $this->response->requestTerminated()) {
71
+        if ( ! $this->response->requestTerminated()) {
72 72
             $this->response = $this->request_stack_app->handleRequest($this->request, $this->response);
73 73
         }
74 74
         return $this->response;
Please login to merge, or discard this patch.
Indentation   +41 added lines, -41 removed lines patch added patch discarded remove patch
@@ -24,52 +24,52 @@
 block discarded – undo
24 24
  */
25 25
 abstract class Middleware implements RequestDecoratorInterface
26 26
 {
27
-    /**
28
-     * @var RequestDecoratorInterface $request_stack_app
29
-     */
30
-    protected $request_stack_app;
27
+	/**
28
+	 * @var RequestDecoratorInterface $request_stack_app
29
+	 */
30
+	protected $request_stack_app;
31 31
 
32
-    /**
33
-     * @var RequestInterface $request
34
-     */
35
-    protected $request;
32
+	/**
33
+	 * @var RequestInterface $request
34
+	 */
35
+	protected $request;
36 36
 
37
-    /**
38
-     * @var ResponseInterface $response
39
-     */
40
-    protected $response;
37
+	/**
38
+	 * @var ResponseInterface $response
39
+	 */
40
+	protected $response;
41 41
 
42
-    /**
43
-     * @var LoaderInterface
44
-     */
45
-    protected $loader;
42
+	/**
43
+	 * @var LoaderInterface
44
+	 */
45
+	protected $loader;
46 46
 
47 47
 
48
-    /**
49
-     * @param RequestDecoratorInterface $request_stack_app
50
-     * @param LoaderInterface           $loader
51
-     */
52
-    public function __construct(RequestDecoratorInterface $request_stack_app, LoaderInterface $loader)
53
-    {
54
-        $this->request_stack_app = $request_stack_app;
55
-        $this->loader = $loader;
56
-    }
48
+	/**
49
+	 * @param RequestDecoratorInterface $request_stack_app
50
+	 * @param LoaderInterface           $loader
51
+	 */
52
+	public function __construct(RequestDecoratorInterface $request_stack_app, LoaderInterface $loader)
53
+	{
54
+		$this->request_stack_app = $request_stack_app;
55
+		$this->loader = $loader;
56
+	}
57 57
 
58 58
 
59
-    /**
60
-     * process_request_stack
61
-     *
62
-     * @param RequestInterface  $request
63
-     * @param ResponseInterface $response
64
-     * @return ResponseInterface
65
-     */
66
-    protected function processRequestStack(RequestInterface $request, ResponseInterface $response)
67
-    {
68
-        $this->request = $request;
69
-        $this->response = $response;
70
-        if (! $this->response->requestTerminated()) {
71
-            $this->response = $this->request_stack_app->handleRequest($this->request, $this->response);
72
-        }
73
-        return $this->response;
74
-    }
59
+	/**
60
+	 * process_request_stack
61
+	 *
62
+	 * @param RequestInterface  $request
63
+	 * @param ResponseInterface $response
64
+	 * @return ResponseInterface
65
+	 */
66
+	protected function processRequestStack(RequestInterface $request, ResponseInterface $response)
67
+	{
68
+		$this->request = $request;
69
+		$this->response = $response;
70
+		if (! $this->response->requestTerminated()) {
71
+			$this->response = $this->request_stack_app->handleRequest($this->request, $this->response);
72
+		}
73
+		return $this->response;
74
+	}
75 75
 }
Please login to merge, or discard this patch.
core/services/collections/LooseCollection.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -42,7 +42,7 @@
 block discarded – undo
42 42
      */
43 43
     public function add($object, $identifier = null)
44 44
     {
45
-        if (! is_object($object)) {
45
+        if ( ! is_object($object)) {
46 46
             throw new InvalidEntityException($object, 'object');
47 47
         }
48 48
         $this->attach($object);
Please login to merge, or discard this patch.
Indentation   +31 added lines, -31 removed lines patch added patch discarded remove patch
@@ -14,37 +14,37 @@
 block discarded – undo
14 14
  */
15 15
 class LooseCollection extends Collection
16 16
 {
17
-    /**
18
-     * setCollectionInterface
19
-     *
20
-     * @access protected
21
-     * @param  string $collection_interface
22
-     */
23
-    protected function setCollectionInterface($collection_interface)
24
-    {
25
-        $this->collection_interface = '';
26
-    }
17
+	/**
18
+	 * setCollectionInterface
19
+	 *
20
+	 * @access protected
21
+	 * @param  string $collection_interface
22
+	 */
23
+	protected function setCollectionInterface($collection_interface)
24
+	{
25
+		$this->collection_interface = '';
26
+	}
27 27
 
28 28
 
29
-    /**
30
-     * add
31
-     * attaches an object to the Collection
32
-     * and sets any supplied data associated with the current iterator entry
33
-     * by calling EE_Object_Collection::set_identifier()
34
-     *
35
-     * @access public
36
-     * @param  mixed $object
37
-     * @param  mixed $identifier
38
-     * @return bool
39
-     * @throws InvalidEntityException
40
-     */
41
-    public function add($object, $identifier = null)
42
-    {
43
-        if (! is_object($object)) {
44
-            throw new InvalidEntityException($object, 'object');
45
-        }
46
-        $this->attach($object);
47
-        $this->setIdentifier($object, $identifier);
48
-        return $this->contains($object);
49
-    }
29
+	/**
30
+	 * add
31
+	 * attaches an object to the Collection
32
+	 * and sets any supplied data associated with the current iterator entry
33
+	 * by calling EE_Object_Collection::set_identifier()
34
+	 *
35
+	 * @access public
36
+	 * @param  mixed $object
37
+	 * @param  mixed $identifier
38
+	 * @return bool
39
+	 * @throws InvalidEntityException
40
+	 */
41
+	public function add($object, $identifier = null)
42
+	{
43
+		if (! is_object($object)) {
44
+			throw new InvalidEntityException($object, 'object');
45
+		}
46
+		$this->attach($object);
47
+		$this->setIdentifier($object, $identifier);
48
+		return $this->contains($object);
49
+	}
50 50
 }
Please login to merge, or discard this patch.
core/services/notices/AdminNotice.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
     public function __construct(NoticeInterface $notice, $display_now = true)
41 41
     {
42 42
         $this->notice = $notice;
43
-        if (! did_action('admin_notices')) {
43
+        if ( ! did_action('admin_notices')) {
44 44
             add_action('admin_notices', array($this, 'displayNotice'));
45 45
         } elseif ($display_now) {
46 46
             $this->displayNotice();
@@ -108,7 +108,7 @@  discard block
 block discarded – undo
108 108
     {
109 109
         $message = $this->notice->message();
110 110
         if (WP_DEBUG && $this->getType() === AdminNotice::ERROR) {
111
-            $message .= '<br/><span class="tiny-text">' . $this->generateErrorCode() . '</span>';
111
+            $message .= '<br/><span class="tiny-text">'.$this->generateErrorCode().'</span>';
112 112
         }
113 113
         return $message;
114 114
     }
@@ -124,8 +124,8 @@  discard block
 block discarded – undo
124 124
     {
125 125
         $file = explode('.', basename($this->notice->file()));
126 126
         $error_code = ! empty($file[0]) ? $file[0] : '';
127
-        $error_code .= ! empty($error_code) ? ' - ' . $this->notice->func() : $this->notice->func();
128
-        $error_code .= ' - ' . $this->notice->line();
127
+        $error_code .= ! empty($error_code) ? ' - '.$this->notice->func() : $this->notice->func();
128
+        $error_code .= ' - '.$this->notice->line();
129 129
         return $error_code;
130 130
     }
131 131
 }
Please login to merge, or discard this patch.
Indentation   +111 added lines, -111 removed lines patch added patch discarded remove patch
@@ -14,115 +14,115 @@
 block discarded – undo
14 14
  */
15 15
 class AdminNotice
16 16
 {
17
-    const ERROR = 'notice-error';
18
-
19
-    const WARNING = 'notice-warning';
20
-
21
-    const SUCCESS = 'notice-success';
22
-
23
-    const INFORMATION = 'notice-info';
24
-
25
-    const DISMISSABLE = ' is-dismissible';
26
-
27
-    /**
28
-     * generic system notice to be converted into a WP admin notice
29
-     *
30
-     * @var NoticeInterface $notice
31
-     */
32
-    private $notice;
33
-
34
-
35
-    /**
36
-     * AdminNotice constructor.
37
-     *
38
-     * @param NoticeInterface $notice
39
-     * @param bool            $display_now
40
-     */
41
-    public function __construct(NoticeInterface $notice, $display_now = true)
42
-    {
43
-        $this->notice = $notice;
44
-        if (! did_action('admin_notices')) {
45
-            add_action('admin_notices', array($this, 'displayNotice'));
46
-        } elseif ($display_now) {
47
-            $this->displayNotice();
48
-        }
49
-    }
50
-
51
-
52
-    /**
53
-     * @return void
54
-     */
55
-    public function displayNotice()
56
-    {
57
-        echo wp_kses($this->getNotice(), AllowedTags::getAllowedTags());
58
-    }
59
-
60
-
61
-    /**
62
-     * produces something  like:
63
-     *  <div class="notice notice-success is-dismissible event-espresso-admin-notice">
64
-     *      <p>YOU DID IT!</p>
65
-     *      <button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this
66
-     *      notice.</span></button>
67
-     *  </div>
68
-     *
69
-     * @return string
70
-     */
71
-    public function getNotice()
72
-    {
73
-        return sprintf(
74
-            '<div class="notice %1$s%2$s event-espresso-admin-notice"><p>%3$s</p></div>',
75
-            $this->getType(),
76
-            $this->notice->isDismissible() ? AdminNotice::DISMISSABLE : '',
77
-            $this->getMessage()
78
-        );
79
-    }
80
-
81
-
82
-    /**
83
-     * @return string
84
-     */
85
-    private function getType()
86
-    {
87
-        switch ($this->notice->type()) {
88
-            case Notice::ERROR:
89
-                return AdminNotice::ERROR;
90
-            case Notice::ATTENTION:
91
-                return AdminNotice::WARNING;
92
-            case Notice::SUCCESS:
93
-                return AdminNotice::SUCCESS;
94
-            case Notice::INFORMATION:
95
-            default:
96
-                return AdminNotice::INFORMATION;
97
-        }
98
-    }
99
-
100
-
101
-    /**
102
-     * @return string
103
-     */
104
-    protected function getMessage()
105
-    {
106
-        $message = $this->notice->message();
107
-        if (WP_DEBUG && $this->getType() === AdminNotice::ERROR) {
108
-            $message .= '<br/><span class="tiny-text">' . $this->generateErrorCode() . '</span>';
109
-        }
110
-        return $message;
111
-    }
112
-
113
-
114
-    /**
115
-     * create error code from filepath, function name,
116
-     * and line number where notice was generated
117
-     *
118
-     * @return string
119
-     */
120
-    protected function generateErrorCode()
121
-    {
122
-        $file = explode('.', basename($this->notice->file()));
123
-        $error_code = ! empty($file[0]) ? $file[0] : '';
124
-        $error_code .= ! empty($error_code) ? ' - ' . $this->notice->func() : $this->notice->func();
125
-        $error_code .= ' - ' . $this->notice->line();
126
-        return $error_code;
127
-    }
17
+	const ERROR = 'notice-error';
18
+
19
+	const WARNING = 'notice-warning';
20
+
21
+	const SUCCESS = 'notice-success';
22
+
23
+	const INFORMATION = 'notice-info';
24
+
25
+	const DISMISSABLE = ' is-dismissible';
26
+
27
+	/**
28
+	 * generic system notice to be converted into a WP admin notice
29
+	 *
30
+	 * @var NoticeInterface $notice
31
+	 */
32
+	private $notice;
33
+
34
+
35
+	/**
36
+	 * AdminNotice constructor.
37
+	 *
38
+	 * @param NoticeInterface $notice
39
+	 * @param bool            $display_now
40
+	 */
41
+	public function __construct(NoticeInterface $notice, $display_now = true)
42
+	{
43
+		$this->notice = $notice;
44
+		if (! did_action('admin_notices')) {
45
+			add_action('admin_notices', array($this, 'displayNotice'));
46
+		} elseif ($display_now) {
47
+			$this->displayNotice();
48
+		}
49
+	}
50
+
51
+
52
+	/**
53
+	 * @return void
54
+	 */
55
+	public function displayNotice()
56
+	{
57
+		echo wp_kses($this->getNotice(), AllowedTags::getAllowedTags());
58
+	}
59
+
60
+
61
+	/**
62
+	 * produces something  like:
63
+	 *  <div class="notice notice-success is-dismissible event-espresso-admin-notice">
64
+	 *      <p>YOU DID IT!</p>
65
+	 *      <button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this
66
+	 *      notice.</span></button>
67
+	 *  </div>
68
+	 *
69
+	 * @return string
70
+	 */
71
+	public function getNotice()
72
+	{
73
+		return sprintf(
74
+			'<div class="notice %1$s%2$s event-espresso-admin-notice"><p>%3$s</p></div>',
75
+			$this->getType(),
76
+			$this->notice->isDismissible() ? AdminNotice::DISMISSABLE : '',
77
+			$this->getMessage()
78
+		);
79
+	}
80
+
81
+
82
+	/**
83
+	 * @return string
84
+	 */
85
+	private function getType()
86
+	{
87
+		switch ($this->notice->type()) {
88
+			case Notice::ERROR:
89
+				return AdminNotice::ERROR;
90
+			case Notice::ATTENTION:
91
+				return AdminNotice::WARNING;
92
+			case Notice::SUCCESS:
93
+				return AdminNotice::SUCCESS;
94
+			case Notice::INFORMATION:
95
+			default:
96
+				return AdminNotice::INFORMATION;
97
+		}
98
+	}
99
+
100
+
101
+	/**
102
+	 * @return string
103
+	 */
104
+	protected function getMessage()
105
+	{
106
+		$message = $this->notice->message();
107
+		if (WP_DEBUG && $this->getType() === AdminNotice::ERROR) {
108
+			$message .= '<br/><span class="tiny-text">' . $this->generateErrorCode() . '</span>';
109
+		}
110
+		return $message;
111
+	}
112
+
113
+
114
+	/**
115
+	 * create error code from filepath, function name,
116
+	 * and line number where notice was generated
117
+	 *
118
+	 * @return string
119
+	 */
120
+	protected function generateErrorCode()
121
+	{
122
+		$file = explode('.', basename($this->notice->file()));
123
+		$error_code = ! empty($file[0]) ? $file[0] : '';
124
+		$error_code .= ! empty($error_code) ? ' - ' . $this->notice->func() : $this->notice->func();
125
+		$error_code .= ' - ' . $this->notice->line();
126
+		return $error_code;
127
+	}
128 128
 }
Please login to merge, or discard this patch.