Completed
Branch FET/datetime-and-event-status (270044)
by
unknown
04:26 queued 14s
created
core/services/helpers/datetime/HelperInterface.php 1 patch
Indentation   +90 added lines, -90 removed lines patch added patch discarded remove patch
@@ -16,94 +16,94 @@
 block discarded – undo
16 16
 interface HelperInterface
17 17
 {
18 18
 
19
-    /**
20
-     * Ensures that a valid timezone string is returned.
21
-     *
22
-     * @param string $timezone_string  When not provided then attempt to use the timezone_string set in the WP Time
23
-     *                                 settings (or derive from set UTC offset).
24
-     * @return string
25
-     */
26
-    public function getValidTimezoneString($timezone_string = '');
27
-
28
-
29
-    /**
30
-     * The only purpose for this static method is to validate that the incoming timezone is a valid php timezone.
31
-     *
32
-     * @param string $timezone_string
33
-     * @param bool   $throw_error
34
-     * @return bool
35
-     */
36
-    public function validateTimezone($timezone_string, $throw_error = true);
37
-
38
-
39
-    /**
40
-     * Returns a timezone string for the provided gmt_offset.
41
-     * @param float|string $gmt_offset
42
-     * @return string
43
-     */
44
-    public function getTimezoneStringFromGmtOffset($gmt_offset = '');
45
-
46
-
47
-    /**
48
-     * Gets the site's GMT offset based on either the timezone string
49
-     * (in which case the gmt offset will vary depending on the location's
50
-     * observance of daylight savings time) or the gmt_offset wp option
51
-     *
52
-     * @return int  seconds offset
53
-     */
54
-    public function getSiteTimezoneGmtOffset();
55
-
56
-
57
-    /**
58
-     * Get timezone transitions
59
-     * @param DateTimeZone $date_time_zone
60
-     * @param int|null     $time
61
-     * @param bool         $first_only
62
-     * @return array
63
-     */
64
-    public function getTimezoneTransitions(DateTimeZone $date_time_zone, $time = null, $first_only = true);
65
-
66
-
67
-    /**
68
-     * Get Timezone offset for given timezone object
69
-     * @param DateTimeZone $date_time_zone
70
-     * @param null|int         $time
71
-     * @return int
72
-     */
73
-    public function getTimezoneOffset(DateTimeZone $date_time_zone, $time = null);
74
-
75
-
76
-    /**
77
-     * Provide a timezone select input
78
-     * @param string $timezone_string
79
-     * @return string
80
-     */
81
-    public function timezoneSelectInput($timezone_string = '');
82
-
83
-
84
-    /**
85
-     * This method will take an incoming unix timestamp and add the offset to it for the given timezone_string.
86
-     * If no unix timestamp is given then time() is used.  If no timezone is given then the set timezone string for
87
-     * the site is used.
88
-     * This is used typically when using a Unix timestamp any core WP functions that expect their specially
89
-     * computed timestamp (i.e. date_i18n() )
90
-     *
91
-     * @param int    $unix_timestamp    if 0, then time() will be used.
92
-     * @param string $timezone_string timezone_string. If empty, then the current set timezone for the
93
-     *                                site will be used.
94
-     * @return int      unix_timestamp value with the offset applied for the given timezone.
95
-     */
96
-    public function getTimestampWithOffset($unix_timestamp = 0, $timezone_string = '');
97
-
98
-
99
-    /**
100
-     * Depending on PHP version,
101
-     * there might not be valid current timezone strings to match these gmt_offsets in its timezone tables.
102
-     * To get around that, for these fringe timezones we bump them to a known valid offset.
103
-     * This method should ONLY be called after first verifying an timezone_string cannot be retrieved for the offset.
104
-     *
105
-     * @param int $gmt_offset
106
-     * @return int
107
-     */
108
-    public function adjustInvalidGmtOffsets($gmt_offset);
19
+	/**
20
+	 * Ensures that a valid timezone string is returned.
21
+	 *
22
+	 * @param string $timezone_string  When not provided then attempt to use the timezone_string set in the WP Time
23
+	 *                                 settings (or derive from set UTC offset).
24
+	 * @return string
25
+	 */
26
+	public function getValidTimezoneString($timezone_string = '');
27
+
28
+
29
+	/**
30
+	 * The only purpose for this static method is to validate that the incoming timezone is a valid php timezone.
31
+	 *
32
+	 * @param string $timezone_string
33
+	 * @param bool   $throw_error
34
+	 * @return bool
35
+	 */
36
+	public function validateTimezone($timezone_string, $throw_error = true);
37
+
38
+
39
+	/**
40
+	 * Returns a timezone string for the provided gmt_offset.
41
+	 * @param float|string $gmt_offset
42
+	 * @return string
43
+	 */
44
+	public function getTimezoneStringFromGmtOffset($gmt_offset = '');
45
+
46
+
47
+	/**
48
+	 * Gets the site's GMT offset based on either the timezone string
49
+	 * (in which case the gmt offset will vary depending on the location's
50
+	 * observance of daylight savings time) or the gmt_offset wp option
51
+	 *
52
+	 * @return int  seconds offset
53
+	 */
54
+	public function getSiteTimezoneGmtOffset();
55
+
56
+
57
+	/**
58
+	 * Get timezone transitions
59
+	 * @param DateTimeZone $date_time_zone
60
+	 * @param int|null     $time
61
+	 * @param bool         $first_only
62
+	 * @return array
63
+	 */
64
+	public function getTimezoneTransitions(DateTimeZone $date_time_zone, $time = null, $first_only = true);
65
+
66
+
67
+	/**
68
+	 * Get Timezone offset for given timezone object
69
+	 * @param DateTimeZone $date_time_zone
70
+	 * @param null|int         $time
71
+	 * @return int
72
+	 */
73
+	public function getTimezoneOffset(DateTimeZone $date_time_zone, $time = null);
74
+
75
+
76
+	/**
77
+	 * Provide a timezone select input
78
+	 * @param string $timezone_string
79
+	 * @return string
80
+	 */
81
+	public function timezoneSelectInput($timezone_string = '');
82
+
83
+
84
+	/**
85
+	 * This method will take an incoming unix timestamp and add the offset to it for the given timezone_string.
86
+	 * If no unix timestamp is given then time() is used.  If no timezone is given then the set timezone string for
87
+	 * the site is used.
88
+	 * This is used typically when using a Unix timestamp any core WP functions that expect their specially
89
+	 * computed timestamp (i.e. date_i18n() )
90
+	 *
91
+	 * @param int    $unix_timestamp    if 0, then time() will be used.
92
+	 * @param string $timezone_string timezone_string. If empty, then the current set timezone for the
93
+	 *                                site will be used.
94
+	 * @return int      unix_timestamp value with the offset applied for the given timezone.
95
+	 */
96
+	public function getTimestampWithOffset($unix_timestamp = 0, $timezone_string = '');
97
+
98
+
99
+	/**
100
+	 * Depending on PHP version,
101
+	 * there might not be valid current timezone strings to match these gmt_offsets in its timezone tables.
102
+	 * To get around that, for these fringe timezones we bump them to a known valid offset.
103
+	 * This method should ONLY be called after first verifying an timezone_string cannot be retrieved for the offset.
104
+	 *
105
+	 * @param int $gmt_offset
106
+	 * @return int
107
+	 */
108
+	public function adjustInvalidGmtOffsets($gmt_offset);
109 109
 }
Please login to merge, or discard this patch.
core/services/context/ContextChecker.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -87,7 +87,7 @@
 block discarded – undo
87 87
     {
88 88
         $this->evaluation_callback = $evaluation_callback instanceof Closure
89 89
             ? $evaluation_callback
90
-            : function (ContextInterface $context, $acceptable_values) {
90
+            : function(ContextInterface $context, $acceptable_values) {
91 91
                 return in_array($context->slug(), $acceptable_values, true);
92 92
             };
93 93
     }
Please login to merge, or discard this patch.
Indentation   +141 added lines, -141 removed lines patch added patch discarded remove patch
@@ -17,145 +17,145 @@
 block discarded – undo
17 17
 class ContextChecker
18 18
 {
19 19
 
20
-    /**
21
-     * A unique string used to identify where this ContextChecker is being employed
22
-     * Is currently only used within the hook name for the filterable return value of isAllowed().
23
-     *
24
-     * @var string $identifier
25
-     */
26
-    private $identifier;
27
-
28
-    /**
29
-     * A list of values to be compared against the slug of the Context class passed to isAllowed()
30
-     *
31
-     * @var array $acceptable_values
32
-     */
33
-    private $acceptable_values;
34
-
35
-    /**
36
-     * Closure that will be called to perform the evaluation within isAllowed().
37
-     * If none is provided, then a simple type sensitive in_array() check will be used
38
-     * and return true if the incoming Context::slug() is found within the array of $acceptable_values.
39
-     *
40
-     * @var Closure $evaluation_callback
41
-     */
42
-    private $evaluation_callback;
43
-
44
-
45
-    /**
46
-     * ContextChecker constructor.
47
-     *
48
-     * @param string       $identifier
49
-     * @param array        $acceptable_values
50
-     * @param Closure|null $evaluation_callback [optional]
51
-     */
52
-    public function __construct($identifier, array $acceptable_values, Closure $evaluation_callback = null)
53
-    {
54
-        $this->setIdentifier($identifier);
55
-        $this->setAcceptableValues($acceptable_values);
56
-        $this->setEvaluationCallback($evaluation_callback);
57
-    }
58
-
59
-
60
-    /**
61
-     * @param string $identifier
62
-     */
63
-    private function setIdentifier($identifier)
64
-    {
65
-        $this->identifier = sanitize_key($identifier);
66
-    }
67
-
68
-
69
-    /**
70
-     * @param array $acceptable_values
71
-     */
72
-    private function setAcceptableValues(array $acceptable_values)
73
-    {
74
-        $this->acceptable_values = $acceptable_values;
75
-    }
76
-
77
-
78
-    /**
79
-     * @param Closure $evaluation_callback
80
-     */
81
-    private function setEvaluationCallback(Closure $evaluation_callback = null)
82
-    {
83
-        $this->evaluation_callback = $evaluation_callback instanceof Closure
84
-            ? $evaluation_callback
85
-            : function (ContextInterface $context, $acceptable_values) {
86
-                return in_array($context->slug(), $acceptable_values, true);
87
-            };
88
-    }
89
-
90
-
91
-    /**
92
-     * @return string
93
-     */
94
-    protected function identifier()
95
-    {
96
-        return $this->identifier;
97
-    }
98
-
99
-
100
-    /**
101
-     * @return array
102
-     */
103
-    protected function acceptableValues()
104
-    {
105
-        return apply_filters(
106
-            "FHEE__EventEspresso_core_domain_entities_context_ContextChecker__{$this->identifier}__acceptableValues",
107
-            $this->acceptable_values
108
-        );
109
-    }
110
-
111
-
112
-    /**
113
-     * @return Closure
114
-     */
115
-    protected function evaluationCallback()
116
-    {
117
-        return $this->evaluation_callback;
118
-    }
119
-
120
-
121
-    /**
122
-     * Returns true if the incoming Context class slug matches one of the preset acceptable values.
123
-     * The result is filterable using the identifier for this ContextChecker.
124
-     * example:
125
-     * If this ContextChecker's $identifier was set to "registration-checkout-type",
126
-     * then the filter here would be named:
127
-     *  "FHEE__EventEspresso_core_domain_entities_context_ContextChecker__registration-checkout-type__isAllowed".
128
-     * Other code could hook into the filter in isAllowed() using the above name
129
-     * and test for additional acceptable values.
130
-     * So if the set of $acceptable_values was: [ "initial-visit",  "revisit" ]
131
-     * then adding a filter to
132
-     *  "FHEE__EventEspresso_core_domain_entities_context_ContextChecker__registration-checkout-type__isAllowed",
133
-     * would allow you to perform your own conditional and allow "wait-list-checkout" as an acceptable value.
134
-     *  example:
135
-     *      add_filter(
136
-     *          'FHEE__EventEspresso_core_domain_entities_context_ContextChecker__registration-checkout-type__isAllowed',
137
-     *          function ($is_allowed, ContextInterface $context) { return $context->slug() === 'wait-list-checkout'
138
-     *                  ? true
139
-     *                  : $is_allowed;
140
-     *          },
141
-     *          10,
142
-     *          2
143
-     *      );
144
-     *
145
-     * @param ContextInterface $context
146
-     * @return boolean
147
-     */
148
-    public function isAllowed(ContextInterface $context)
149
-    {
150
-        $evaluation_callback = $this->evaluationCallback();
151
-        return filter_var(
152
-            apply_filters(
153
-                "FHEE__EventEspresso_core_domain_entities_context_ContextChecker__{$this->identifier}__isAllowed",
154
-                $evaluation_callback($context, $this->acceptableValues()),
155
-                $context,
156
-                $this
157
-            ),
158
-            FILTER_VALIDATE_BOOLEAN
159
-        );
160
-    }
20
+	/**
21
+	 * A unique string used to identify where this ContextChecker is being employed
22
+	 * Is currently only used within the hook name for the filterable return value of isAllowed().
23
+	 *
24
+	 * @var string $identifier
25
+	 */
26
+	private $identifier;
27
+
28
+	/**
29
+	 * A list of values to be compared against the slug of the Context class passed to isAllowed()
30
+	 *
31
+	 * @var array $acceptable_values
32
+	 */
33
+	private $acceptable_values;
34
+
35
+	/**
36
+	 * Closure that will be called to perform the evaluation within isAllowed().
37
+	 * If none is provided, then a simple type sensitive in_array() check will be used
38
+	 * and return true if the incoming Context::slug() is found within the array of $acceptable_values.
39
+	 *
40
+	 * @var Closure $evaluation_callback
41
+	 */
42
+	private $evaluation_callback;
43
+
44
+
45
+	/**
46
+	 * ContextChecker constructor.
47
+	 *
48
+	 * @param string       $identifier
49
+	 * @param array        $acceptable_values
50
+	 * @param Closure|null $evaluation_callback [optional]
51
+	 */
52
+	public function __construct($identifier, array $acceptable_values, Closure $evaluation_callback = null)
53
+	{
54
+		$this->setIdentifier($identifier);
55
+		$this->setAcceptableValues($acceptable_values);
56
+		$this->setEvaluationCallback($evaluation_callback);
57
+	}
58
+
59
+
60
+	/**
61
+	 * @param string $identifier
62
+	 */
63
+	private function setIdentifier($identifier)
64
+	{
65
+		$this->identifier = sanitize_key($identifier);
66
+	}
67
+
68
+
69
+	/**
70
+	 * @param array $acceptable_values
71
+	 */
72
+	private function setAcceptableValues(array $acceptable_values)
73
+	{
74
+		$this->acceptable_values = $acceptable_values;
75
+	}
76
+
77
+
78
+	/**
79
+	 * @param Closure $evaluation_callback
80
+	 */
81
+	private function setEvaluationCallback(Closure $evaluation_callback = null)
82
+	{
83
+		$this->evaluation_callback = $evaluation_callback instanceof Closure
84
+			? $evaluation_callback
85
+			: function (ContextInterface $context, $acceptable_values) {
86
+				return in_array($context->slug(), $acceptable_values, true);
87
+			};
88
+	}
89
+
90
+
91
+	/**
92
+	 * @return string
93
+	 */
94
+	protected function identifier()
95
+	{
96
+		return $this->identifier;
97
+	}
98
+
99
+
100
+	/**
101
+	 * @return array
102
+	 */
103
+	protected function acceptableValues()
104
+	{
105
+		return apply_filters(
106
+			"FHEE__EventEspresso_core_domain_entities_context_ContextChecker__{$this->identifier}__acceptableValues",
107
+			$this->acceptable_values
108
+		);
109
+	}
110
+
111
+
112
+	/**
113
+	 * @return Closure
114
+	 */
115
+	protected function evaluationCallback()
116
+	{
117
+		return $this->evaluation_callback;
118
+	}
119
+
120
+
121
+	/**
122
+	 * Returns true if the incoming Context class slug matches one of the preset acceptable values.
123
+	 * The result is filterable using the identifier for this ContextChecker.
124
+	 * example:
125
+	 * If this ContextChecker's $identifier was set to "registration-checkout-type",
126
+	 * then the filter here would be named:
127
+	 *  "FHEE__EventEspresso_core_domain_entities_context_ContextChecker__registration-checkout-type__isAllowed".
128
+	 * Other code could hook into the filter in isAllowed() using the above name
129
+	 * and test for additional acceptable values.
130
+	 * So if the set of $acceptable_values was: [ "initial-visit",  "revisit" ]
131
+	 * then adding a filter to
132
+	 *  "FHEE__EventEspresso_core_domain_entities_context_ContextChecker__registration-checkout-type__isAllowed",
133
+	 * would allow you to perform your own conditional and allow "wait-list-checkout" as an acceptable value.
134
+	 *  example:
135
+	 *      add_filter(
136
+	 *          'FHEE__EventEspresso_core_domain_entities_context_ContextChecker__registration-checkout-type__isAllowed',
137
+	 *          function ($is_allowed, ContextInterface $context) { return $context->slug() === 'wait-list-checkout'
138
+	 *                  ? true
139
+	 *                  : $is_allowed;
140
+	 *          },
141
+	 *          10,
142
+	 *          2
143
+	 *      );
144
+	 *
145
+	 * @param ContextInterface $context
146
+	 * @return boolean
147
+	 */
148
+	public function isAllowed(ContextInterface $context)
149
+	{
150
+		$evaluation_callback = $this->evaluationCallback();
151
+		return filter_var(
152
+			apply_filters(
153
+				"FHEE__EventEspresso_core_domain_entities_context_ContextChecker__{$this->identifier}__isAllowed",
154
+				$evaluation_callback($context, $this->acceptableValues()),
155
+				$context,
156
+				$this
157
+			),
158
+			FILTER_VALIDATE_BOOLEAN
159
+		);
160
+	}
161 161
 }
Please login to merge, or discard this patch.
core/domain/entities/contexts/ContextInterface.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -18,14 +18,14 @@
 block discarded – undo
18 18
 interface ContextInterface
19 19
 {
20 20
 
21
-    /**
22
-     * @return string
23
-     */
24
-    public function slug();
21
+	/**
22
+	 * @return string
23
+	 */
24
+	public function slug();
25 25
 
26 26
 
27
-    /**
28
-     * @return string
29
-     */
30
-    public function description();
27
+	/**
28
+	 * @return string
29
+	 */
30
+	public function description();
31 31
 }
Please login to merge, or discard this patch.
core/domain/services/factories/CartFactory.php 1 patch
Indentation   +10 added lines, -10 removed lines patch added patch discarded remove patch
@@ -23,14 +23,14 @@
 block discarded – undo
23 23
 class CartFactory
24 24
 {
25 25
 
26
-    /**
27
-     * @return EE_Cart
28
-     * @throws InvalidArgumentException
29
-     * @throws InvalidInterfaceException
30
-     * @throws InvalidDataTypeException
31
-     */
32
-    public static function getCart()
33
-    {
34
-        return LoaderFactory::getLoader()->getShared('EE_Cart');
35
-    }
26
+	/**
27
+	 * @return EE_Cart
28
+	 * @throws InvalidArgumentException
29
+	 * @throws InvalidInterfaceException
30
+	 * @throws InvalidDataTypeException
31
+	 */
32
+	public static function getCart()
33
+	{
34
+		return LoaderFactory::getLoader()->getShared('EE_Cart');
35
+	}
36 36
 }
Please login to merge, or discard this patch.
core/domain/services/factories/ModelFactory.php 1 patch
Indentation   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -25,17 +25,17 @@
 block discarded – undo
25 25
 class ModelFactory
26 26
 {
27 27
 
28
-    /**
29
-     * @param string $model_name
30
-     * @return bool|EEM_Base
31
-     * @throws EE_Error
32
-     * @throws InvalidDataTypeException
33
-     * @throws InvalidInterfaceException
34
-     * @throws InvalidArgumentException
35
-     * @throws ReflectionException
36
-     */
37
-    public static function getModel($model_name)
38
-    {
39
-        return EE_Registry::instance()->load_model($model_name);
40
-    }
28
+	/**
29
+	 * @param string $model_name
30
+	 * @return bool|EEM_Base
31
+	 * @throws EE_Error
32
+	 * @throws InvalidDataTypeException
33
+	 * @throws InvalidInterfaceException
34
+	 * @throws InvalidArgumentException
35
+	 * @throws ReflectionException
36
+	 */
37
+	public static function getModel($model_name)
38
+	{
39
+		return EE_Registry::instance()->load_model($model_name);
40
+	}
41 41
 }
Please login to merge, or discard this patch.
modules/ticket_selector/TicketDatetimeAvailabilityTracker.php 2 patches
Spacing   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -66,24 +66,24 @@  discard block
 block discarded – undo
66 66
     public function ticketDatetimeAvailability(EE_Ticket $ticket, $get_original_ticket_spaces = false)
67 67
     {
68 68
         // if the $_available_spaces array has not been set up yet...
69
-        if (! isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
69
+        if ( ! isset($this->available_spaces['tickets'][$ticket->ID()])) {
70 70
             $this->setInitialTicketDatetimeAvailability($ticket);
71 71
         }
72 72
         $available_spaces = $ticket->qty() - $ticket->sold();
73
-        if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
73
+        if (isset($this->available_spaces['tickets'][$ticket->ID()])) {
74 74
             // loop thru tickets, which will ALSO include individual ticket records AND a total
75
-            foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
75
+            foreach ($this->available_spaces['tickets'][$ticket->ID()] as $DTD_ID => $spaces) {
76 76
                 // if we want the original datetime availability BEFORE we started subtracting tickets ?
77 77
                 if ($get_original_ticket_spaces) {
78 78
                     // then grab the available spaces from the "tickets" array
79 79
                     // and compare with the above to get the lowest number
80 80
                     $available_spaces = min(
81 81
                         $available_spaces,
82
-                        $this->available_spaces['tickets'][ $ticket->ID() ][ $DTD_ID ]
82
+                        $this->available_spaces['tickets'][$ticket->ID()][$DTD_ID]
83 83
                     );
84 84
                 } else {
85 85
                     // we want the updated ticket availability as stored in the "datetimes" array
86
-                    $available_spaces = min($available_spaces, $this->available_spaces['datetimes'][ $DTD_ID ]);
86
+                    $available_spaces = min($available_spaces, $this->available_spaces['datetimes'][$DTD_ID]);
87 87
                 }
88 88
             }
89 89
         }
@@ -114,7 +114,7 @@  discard block
 block discarded – undo
114 114
                 'order_by' => array('DTT_EVT_start' => 'ASC'),
115 115
             )
116 116
         );
117
-        if (! empty($datetimes)) {
117
+        if ( ! empty($datetimes)) {
118 118
             // now loop thru all of the datetimes
119 119
             foreach ($datetimes as $datetime) {
120 120
                 if ($datetime instanceof EE_Datetime) {
@@ -122,17 +122,17 @@  discard block
 block discarded – undo
122 122
                     $spaces_remaining = $datetime->spaces_remaining();
123 123
                     // save the total available spaces ( the lesser of the ticket qty minus the number of tickets sold
124 124
                     // or the datetime spaces remaining) to this ticket using the datetime ID as the key
125
-                    $this->available_spaces['tickets'][ $ticket->ID() ][ $datetime->ID() ] = min(
125
+                    $this->available_spaces['tickets'][$ticket->ID()][$datetime->ID()] = min(
126 126
                         $ticket->qty() - $ticket->sold(),
127 127
                         $spaces_remaining
128 128
                     );
129 129
                     // if the remaining spaces for this datetime is already set,
130 130
                     // then compare that against the datetime spaces remaining, and take the lowest number,
131 131
                     // else just take the datetime spaces remaining, and assign to the datetimes array
132
-                    $this->available_spaces['datetimes'][ $datetime->ID() ] = isset(
133
-                        $this->available_spaces['datetimes'][ $datetime->ID() ]
132
+                    $this->available_spaces['datetimes'][$datetime->ID()] = isset(
133
+                        $this->available_spaces['datetimes'][$datetime->ID()]
134 134
                     )
135
-                        ? min($this->available_spaces['datetimes'][ $datetime->ID() ], $spaces_remaining)
135
+                        ? min($this->available_spaces['datetimes'][$datetime->ID()], $spaces_remaining)
136 136
                         : $spaces_remaining;
137 137
                 }
138 138
             }
@@ -148,11 +148,11 @@  discard block
 block discarded – undo
148 148
      */
149 149
     public function recalculateTicketDatetimeAvailability(EE_Ticket $ticket, $qty = 0)
150 150
     {
151
-        if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
151
+        if (isset($this->available_spaces['tickets'][$ticket->ID()])) {
152 152
             // loop thru tickets, which will ALSO include individual ticket records AND a total
153
-            foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
153
+            foreach ($this->available_spaces['tickets'][$ticket->ID()] as $DTD_ID => $spaces) {
154 154
                 // subtract the qty of selected tickets from each datetime's available spaces this ticket has access to,
155
-                $this->available_spaces['datetimes'][ $DTD_ID ] -= $qty;
155
+                $this->available_spaces['datetimes'][$DTD_ID] -= $qty;
156 156
             }
157 157
         }
158 158
     }
Please login to merge, or discard this patch.
Indentation   +213 added lines, -213 removed lines patch added patch discarded remove patch
@@ -22,217 +22,217 @@
 block discarded – undo
22 22
 class TicketDatetimeAvailabilityTracker
23 23
 {
24 24
 
25
-    /**
26
-     * array of datetimes and the spaces available for them
27
-     *
28
-     * @var array[][]
29
-     */
30
-    private $available_spaces = array();
31
-
32
-    /**
33
-     * @var EEM_Datetime $datetime_model
34
-     */
35
-    private $datetime_model;
36
-
37
-
38
-    /**
39
-     * TicketDatetimeAvailabilityTracker constructor.
40
-     *
41
-     * @param EEM_Datetime $datetime_model
42
-     */
43
-    public function __construct(EEM_Datetime $datetime_model)
44
-    {
45
-        $this->datetime_model = $datetime_model;
46
-    }
47
-
48
-
49
-    /**
50
-     * ticketDatetimeAvailability
51
-     * creates an array of tickets plus all of the datetimes available to each ticket
52
-     * and tracks the spaces remaining for each of those datetimes
53
-     *
54
-     * @param EE_Ticket $ticket - selected ticket
55
-     * @param bool      $get_original_ticket_spaces
56
-     * @return int
57
-     * @throws EE_Error
58
-     * @throws InvalidArgumentException
59
-     * @throws InvalidDataTypeException
60
-     * @throws InvalidInterfaceException
61
-     */
62
-    public function ticketDatetimeAvailability(EE_Ticket $ticket, $get_original_ticket_spaces = false)
63
-    {
64
-        // if the $_available_spaces array has not been set up yet...
65
-        if (! isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
66
-            $this->setInitialTicketDatetimeAvailability($ticket);
67
-        }
68
-        $available_spaces = $ticket->qty() - $ticket->sold();
69
-        if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
70
-            // loop thru tickets, which will ALSO include individual ticket records AND a total
71
-            foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
72
-                // if we want the original datetime availability BEFORE we started subtracting tickets ?
73
-                if ($get_original_ticket_spaces) {
74
-                    // then grab the available spaces from the "tickets" array
75
-                    // and compare with the above to get the lowest number
76
-                    $available_spaces = min(
77
-                        $available_spaces,
78
-                        $this->available_spaces['tickets'][ $ticket->ID() ][ $DTD_ID ]
79
-                    );
80
-                } else {
81
-                    // we want the updated ticket availability as stored in the "datetimes" array
82
-                    $available_spaces = min($available_spaces, $this->available_spaces['datetimes'][ $DTD_ID ]);
83
-                }
84
-            }
85
-        }
86
-        return $available_spaces;
87
-    }
88
-
89
-
90
-    /**
91
-     * @param EE_Ticket $ticket
92
-     * @return void
93
-     * @throws InvalidArgumentException
94
-     * @throws InvalidInterfaceException
95
-     * @throws InvalidDataTypeException
96
-     * @throws EE_Error
97
-     */
98
-    private function setInitialTicketDatetimeAvailability(EE_Ticket $ticket)
99
-    {
100
-        // first, get all of the datetimes that are available to this ticket
101
-        $datetimes = $ticket->get_many_related(
102
-            'Datetime',
103
-            array(
104
-                array(
105
-                    'DTT_EVT_end' => array(
106
-                        '>=',
107
-                        $this->datetime_model->current_time_for_query('DTT_EVT_end'),
108
-                    ),
109
-                ),
110
-                'order_by' => array('DTT_EVT_start' => 'ASC'),
111
-            )
112
-        );
113
-        if (! empty($datetimes)) {
114
-            // now loop thru all of the datetimes
115
-            foreach ($datetimes as $datetime) {
116
-                if ($datetime instanceof EE_Datetime) {
117
-                    // the number of spaces available for the datetime without considering individual ticket quantities
118
-                    $spaces_remaining = $datetime->spaces_remaining();
119
-                    // save the total available spaces ( the lesser of the ticket qty minus the number of tickets sold
120
-                    // or the datetime spaces remaining) to this ticket using the datetime ID as the key
121
-                    $this->available_spaces['tickets'][ $ticket->ID() ][ $datetime->ID() ] = min(
122
-                        $ticket->qty() - $ticket->sold(),
123
-                        $spaces_remaining
124
-                    );
125
-                    // if the remaining spaces for this datetime is already set,
126
-                    // then compare that against the datetime spaces remaining, and take the lowest number,
127
-                    // else just take the datetime spaces remaining, and assign to the datetimes array
128
-                    $this->available_spaces['datetimes'][ $datetime->ID() ] = isset(
129
-                        $this->available_spaces['datetimes'][ $datetime->ID() ]
130
-                    )
131
-                        ? min($this->available_spaces['datetimes'][ $datetime->ID() ], $spaces_remaining)
132
-                        : $spaces_remaining;
133
-                }
134
-            }
135
-        }
136
-    }
137
-
138
-
139
-    /**
140
-     * @param    EE_Ticket $ticket
141
-     * @param    int       $qty
142
-     * @return    void
143
-     * @throws EE_Error
144
-     */
145
-    public function recalculateTicketDatetimeAvailability(EE_Ticket $ticket, $qty = 0)
146
-    {
147
-        if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
148
-            // loop thru tickets, which will ALSO include individual ticket records AND a total
149
-            foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
150
-                // subtract the qty of selected tickets from each datetime's available spaces this ticket has access to,
151
-                $this->available_spaces['datetimes'][ $DTD_ID ] -= $qty;
152
-            }
153
-        }
154
-    }
155
-
156
-
157
-    /**
158
-     * @param EE_Ticket $ticket
159
-     * @param           $qty
160
-     * @param int       $total_ticket_count
161
-     * @throws EE_Error
162
-     * @throws InvalidArgumentException
163
-     * @throws InvalidDataTypeException
164
-     * @throws InvalidInterfaceException
165
-     */
166
-    public function processAvailabilityError(EE_Ticket $ticket, $qty, $total_ticket_count = 1)
167
-    {
168
-        // tickets can not be purchased but let's find the exact number left
169
-        // for the last ticket selected PRIOR to subtracting tickets
170
-        $available_spaces = $this->ticketDatetimeAvailability($ticket, true);
171
-        // greedy greedy greedy eh?
172
-        if ($available_spaces > 0) {
173
-            if (
174
-                apply_filters(
175
-                    'FHEE__EE_Ticket_Selector___add_ticket_to_cart__allow_display_availability_error',
176
-                    true,
177
-                    $ticket,
178
-                    $qty,
179
-                    $available_spaces
180
-                )
181
-            ) {
182
-                $this->availabilityError(
183
-                    $available_spaces,
184
-                    $total_ticket_count
185
-                );
186
-            }
187
-        } else {
188
-            EE_Error::add_error(
189
-                esc_html__(
190
-                    'We\'re sorry, but there are no available spaces left for this event at this particular date and time.',
191
-                    'event_espresso'
192
-                ),
193
-                __FILE__,
194
-                __FUNCTION__,
195
-                __LINE__
196
-            );
197
-        }
198
-    }
199
-
200
-
201
-    /**
202
-     * @param int $available_spaces
203
-     * @param int $total_ticket_count
204
-     */
205
-    private function availabilityError($available_spaces = 1, $total_ticket_count = 1)
206
-    {
207
-        // add error messaging - we're using the _n function that will generate
208
-        // the appropriate singular or plural message based on the number of $available_spaces
209
-        if ($total_ticket_count) {
210
-            $msg = sprintf(
211
-                esc_html(
212
-                    _n(
213
-                        'We\'re sorry, but there is only %1$s available space left for this event at this particular date and time. Please select a different number (or different combination) of tickets by cancelling the current selection and choosing again, or proceed to registration.',
214
-                        'We\'re sorry, but there are only %1$s available spaces left for this event at this particular date and time. Please select a different number (or different combination) of tickets by cancelling the current selection and choosing again, or proceed to registration.',
215
-                        $available_spaces,
216
-                        'event_espresso'
217
-                    )
218
-                ),
219
-                $available_spaces,
220
-                '<br />'
221
-            );
222
-        } else {
223
-            $msg = sprintf(
224
-                esc_html(
225
-                    _n(
226
-                        'We\'re sorry, but there is only %1$s available space left for this event at this particular date and time. Please select a different number (or different combination) of tickets.',
227
-                        'We\'re sorry, but there are only %1$s available spaces left for this event at this particular date and time. Please select a different number (or different combination) of tickets.',
228
-                        $available_spaces,
229
-                        'event_espresso'
230
-                    )
231
-                ),
232
-                $available_spaces,
233
-                '<br />'
234
-            );
235
-        }
236
-        EE_Error::add_error($msg, __FILE__, __FUNCTION__, __LINE__);
237
-    }
25
+	/**
26
+	 * array of datetimes and the spaces available for them
27
+	 *
28
+	 * @var array[][]
29
+	 */
30
+	private $available_spaces = array();
31
+
32
+	/**
33
+	 * @var EEM_Datetime $datetime_model
34
+	 */
35
+	private $datetime_model;
36
+
37
+
38
+	/**
39
+	 * TicketDatetimeAvailabilityTracker constructor.
40
+	 *
41
+	 * @param EEM_Datetime $datetime_model
42
+	 */
43
+	public function __construct(EEM_Datetime $datetime_model)
44
+	{
45
+		$this->datetime_model = $datetime_model;
46
+	}
47
+
48
+
49
+	/**
50
+	 * ticketDatetimeAvailability
51
+	 * creates an array of tickets plus all of the datetimes available to each ticket
52
+	 * and tracks the spaces remaining for each of those datetimes
53
+	 *
54
+	 * @param EE_Ticket $ticket - selected ticket
55
+	 * @param bool      $get_original_ticket_spaces
56
+	 * @return int
57
+	 * @throws EE_Error
58
+	 * @throws InvalidArgumentException
59
+	 * @throws InvalidDataTypeException
60
+	 * @throws InvalidInterfaceException
61
+	 */
62
+	public function ticketDatetimeAvailability(EE_Ticket $ticket, $get_original_ticket_spaces = false)
63
+	{
64
+		// if the $_available_spaces array has not been set up yet...
65
+		if (! isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
66
+			$this->setInitialTicketDatetimeAvailability($ticket);
67
+		}
68
+		$available_spaces = $ticket->qty() - $ticket->sold();
69
+		if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
70
+			// loop thru tickets, which will ALSO include individual ticket records AND a total
71
+			foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
72
+				// if we want the original datetime availability BEFORE we started subtracting tickets ?
73
+				if ($get_original_ticket_spaces) {
74
+					// then grab the available spaces from the "tickets" array
75
+					// and compare with the above to get the lowest number
76
+					$available_spaces = min(
77
+						$available_spaces,
78
+						$this->available_spaces['tickets'][ $ticket->ID() ][ $DTD_ID ]
79
+					);
80
+				} else {
81
+					// we want the updated ticket availability as stored in the "datetimes" array
82
+					$available_spaces = min($available_spaces, $this->available_spaces['datetimes'][ $DTD_ID ]);
83
+				}
84
+			}
85
+		}
86
+		return $available_spaces;
87
+	}
88
+
89
+
90
+	/**
91
+	 * @param EE_Ticket $ticket
92
+	 * @return void
93
+	 * @throws InvalidArgumentException
94
+	 * @throws InvalidInterfaceException
95
+	 * @throws InvalidDataTypeException
96
+	 * @throws EE_Error
97
+	 */
98
+	private function setInitialTicketDatetimeAvailability(EE_Ticket $ticket)
99
+	{
100
+		// first, get all of the datetimes that are available to this ticket
101
+		$datetimes = $ticket->get_many_related(
102
+			'Datetime',
103
+			array(
104
+				array(
105
+					'DTT_EVT_end' => array(
106
+						'>=',
107
+						$this->datetime_model->current_time_for_query('DTT_EVT_end'),
108
+					),
109
+				),
110
+				'order_by' => array('DTT_EVT_start' => 'ASC'),
111
+			)
112
+		);
113
+		if (! empty($datetimes)) {
114
+			// now loop thru all of the datetimes
115
+			foreach ($datetimes as $datetime) {
116
+				if ($datetime instanceof EE_Datetime) {
117
+					// the number of spaces available for the datetime without considering individual ticket quantities
118
+					$spaces_remaining = $datetime->spaces_remaining();
119
+					// save the total available spaces ( the lesser of the ticket qty minus the number of tickets sold
120
+					// or the datetime spaces remaining) to this ticket using the datetime ID as the key
121
+					$this->available_spaces['tickets'][ $ticket->ID() ][ $datetime->ID() ] = min(
122
+						$ticket->qty() - $ticket->sold(),
123
+						$spaces_remaining
124
+					);
125
+					// if the remaining spaces for this datetime is already set,
126
+					// then compare that against the datetime spaces remaining, and take the lowest number,
127
+					// else just take the datetime spaces remaining, and assign to the datetimes array
128
+					$this->available_spaces['datetimes'][ $datetime->ID() ] = isset(
129
+						$this->available_spaces['datetimes'][ $datetime->ID() ]
130
+					)
131
+						? min($this->available_spaces['datetimes'][ $datetime->ID() ], $spaces_remaining)
132
+						: $spaces_remaining;
133
+				}
134
+			}
135
+		}
136
+	}
137
+
138
+
139
+	/**
140
+	 * @param    EE_Ticket $ticket
141
+	 * @param    int       $qty
142
+	 * @return    void
143
+	 * @throws EE_Error
144
+	 */
145
+	public function recalculateTicketDatetimeAvailability(EE_Ticket $ticket, $qty = 0)
146
+	{
147
+		if (isset($this->available_spaces['tickets'][ $ticket->ID() ])) {
148
+			// loop thru tickets, which will ALSO include individual ticket records AND a total
149
+			foreach ($this->available_spaces['tickets'][ $ticket->ID() ] as $DTD_ID => $spaces) {
150
+				// subtract the qty of selected tickets from each datetime's available spaces this ticket has access to,
151
+				$this->available_spaces['datetimes'][ $DTD_ID ] -= $qty;
152
+			}
153
+		}
154
+	}
155
+
156
+
157
+	/**
158
+	 * @param EE_Ticket $ticket
159
+	 * @param           $qty
160
+	 * @param int       $total_ticket_count
161
+	 * @throws EE_Error
162
+	 * @throws InvalidArgumentException
163
+	 * @throws InvalidDataTypeException
164
+	 * @throws InvalidInterfaceException
165
+	 */
166
+	public function processAvailabilityError(EE_Ticket $ticket, $qty, $total_ticket_count = 1)
167
+	{
168
+		// tickets can not be purchased but let's find the exact number left
169
+		// for the last ticket selected PRIOR to subtracting tickets
170
+		$available_spaces = $this->ticketDatetimeAvailability($ticket, true);
171
+		// greedy greedy greedy eh?
172
+		if ($available_spaces > 0) {
173
+			if (
174
+				apply_filters(
175
+					'FHEE__EE_Ticket_Selector___add_ticket_to_cart__allow_display_availability_error',
176
+					true,
177
+					$ticket,
178
+					$qty,
179
+					$available_spaces
180
+				)
181
+			) {
182
+				$this->availabilityError(
183
+					$available_spaces,
184
+					$total_ticket_count
185
+				);
186
+			}
187
+		} else {
188
+			EE_Error::add_error(
189
+				esc_html__(
190
+					'We\'re sorry, but there are no available spaces left for this event at this particular date and time.',
191
+					'event_espresso'
192
+				),
193
+				__FILE__,
194
+				__FUNCTION__,
195
+				__LINE__
196
+			);
197
+		}
198
+	}
199
+
200
+
201
+	/**
202
+	 * @param int $available_spaces
203
+	 * @param int $total_ticket_count
204
+	 */
205
+	private function availabilityError($available_spaces = 1, $total_ticket_count = 1)
206
+	{
207
+		// add error messaging - we're using the _n function that will generate
208
+		// the appropriate singular or plural message based on the number of $available_spaces
209
+		if ($total_ticket_count) {
210
+			$msg = sprintf(
211
+				esc_html(
212
+					_n(
213
+						'We\'re sorry, but there is only %1$s available space left for this event at this particular date and time. Please select a different number (or different combination) of tickets by cancelling the current selection and choosing again, or proceed to registration.',
214
+						'We\'re sorry, but there are only %1$s available spaces left for this event at this particular date and time. Please select a different number (or different combination) of tickets by cancelling the current selection and choosing again, or proceed to registration.',
215
+						$available_spaces,
216
+						'event_espresso'
217
+					)
218
+				),
219
+				$available_spaces,
220
+				'<br />'
221
+			);
222
+		} else {
223
+			$msg = sprintf(
224
+				esc_html(
225
+					_n(
226
+						'We\'re sorry, but there is only %1$s available space left for this event at this particular date and time. Please select a different number (or different combination) of tickets.',
227
+						'We\'re sorry, but there are only %1$s available spaces left for this event at this particular date and time. Please select a different number (or different combination) of tickets.',
228
+						$available_spaces,
229
+						'event_espresso'
230
+					)
231
+				),
232
+				$available_spaces,
233
+				'<br />'
234
+			);
235
+		}
236
+		EE_Error::add_error($msg, __FILE__, __FUNCTION__, __LINE__);
237
+	}
238 238
 }
Please login to merge, or discard this patch.
core/domain/entities/notifications/PersistentAdminNotice.php 2 patches
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -130,7 +130,7 @@  discard block
 block discarded – undo
130 130
      */
131 131
     private function setName($name)
132 132
     {
133
-        if (! is_string($name)) {
133
+        if ( ! is_string($name)) {
134 134
             throw new InvalidDataTypeException('$name', $name, 'string');
135 135
         }
136 136
         $this->name = sanitize_key($name);
@@ -154,7 +154,7 @@  discard block
 block discarded – undo
154 154
      */
155 155
     private function setMessage($message)
156 156
     {
157
-        if (! is_string($message)) {
157
+        if ( ! is_string($message)) {
158 158
             throw new InvalidDataTypeException('$message', $message, 'string');
159 159
         }
160 160
         global $allowedtags;
@@ -200,7 +200,7 @@  discard block
 block discarded – undo
200 200
      */
201 201
     private function setCapability($capability)
202 202
     {
203
-        if (! is_string($capability)) {
203
+        if ( ! is_string($capability)) {
204 204
             throw new InvalidDataTypeException('$capability', $capability, 'string');
205 205
         }
206 206
         $this->capability = ! empty($capability) ? $capability : 'manage_options';
@@ -224,7 +224,7 @@  discard block
 block discarded – undo
224 224
      */
225 225
     private function setCapContext($cap_context)
226 226
     {
227
-        if (! is_string($cap_context)) {
227
+        if ( ! is_string($cap_context)) {
228 228
             throw new InvalidDataTypeException('$cap_context', $cap_context, 'string');
229 229
         }
230 230
         $this->cap_context = ! empty($cap_context) ? $cap_context : 'view persistent admin notice';
@@ -258,7 +258,7 @@  discard block
 block discarded – undo
258 258
      */
259 259
     public function getCapCheck()
260 260
     {
261
-        if (! $this->cap_check instanceof CapCheckInterface) {
261
+        if ( ! $this->cap_check instanceof CapCheckInterface) {
262 262
             $this->setCapCheck(
263 263
                 new CapCheck(
264 264
                     $this->capability,
@@ -343,10 +343,10 @@  discard block
 block discarded – undo
343 343
      */
344 344
     public function confirmRegistered()
345 345
     {
346
-        if (! apply_filters('PersistentAdminNoticeManager__registerAndSaveNotices__complete', false)) {
346
+        if ( ! apply_filters('PersistentAdminNoticeManager__registerAndSaveNotices__complete', false)) {
347 347
             PersistentAdminNoticeManager::loadRegisterAndSaveNotices();
348 348
         }
349
-        if (! $this->registered && WP_DEBUG) {
349
+        if ( ! $this->registered && WP_DEBUG) {
350 350
             throw new DomainException(
351 351
                 sprintf(
352 352
                     esc_html__(
Please login to merge, or discard this patch.
Indentation   +312 added lines, -312 removed lines patch added patch discarded remove patch
@@ -25,316 +25,316 @@
 block discarded – undo
25 25
 class PersistentAdminNotice implements RequiresCapCheckInterface
26 26
 {
27 27
 
28
-    /**
29
-     * @var string $name
30
-     */
31
-    protected $name = '';
32
-
33
-    /**
34
-     * @var string $message
35
-     */
36
-    protected $message = '';
37
-
38
-    /**
39
-     * @var boolean $force_update
40
-     */
41
-    protected $force_update = false;
42
-
43
-    /**
44
-     * @var string $capability
45
-     */
46
-    protected $capability = 'manage_options';
47
-
48
-    /**
49
-     * @var string $cap_context
50
-     */
51
-    protected $cap_context = 'view persistent admin notice';
52
-
53
-    /**
54
-     * @var boolean $dismissed
55
-     */
56
-    protected $dismissed = false;
57
-
58
-    /**
59
-     * @var CapCheckInterface $cap_check
60
-     */
61
-    protected $cap_check;
62
-
63
-    /**
64
-     * if true, then this notice will be deleted from the database
65
-     *
66
-     * @var boolean $purge
67
-     */
68
-    protected $purge = false;
69
-
70
-    /**
71
-     * gets set to true if notice is successfully registered with the PersistentAdminNoticeManager
72
-     * if false, and WP_DEBUG is on, then an exception will be thrown in the admin footer
73
-     *
74
-     * @var boolean $registered
75
-     */
76
-    private $registered = false;
77
-
78
-
79
-    /**
80
-     * PersistentAdminNotice constructor
81
-     *
82
-     * @param string $name         [required] the name, or key of the Persistent Admin Notice to be stored
83
-     * @param string $message      [required] the message to be stored persistently until dismissed
84
-     * @param bool   $force_update enforce the reappearance of a persistent message
85
-     * @param string $capability   user capability required to view this notice
86
-     * @param string $cap_context  description for why the cap check is being performed
87
-     * @param bool   $dismissed    whether or not the user has already dismissed/viewed this notice
88
-     * @throws InvalidDataTypeException
89
-     */
90
-    public function __construct(
91
-        $name,
92
-        $message,
93
-        $force_update = false,
94
-        $capability = 'manage_options',
95
-        $cap_context = 'view persistent admin notice',
96
-        $dismissed = false
97
-    ) {
98
-        $this->setName($name);
99
-        $this->setMessage($message);
100
-        $this->setForceUpdate($force_update);
101
-        $this->setCapability($capability);
102
-        $this->setCapContext($cap_context);
103
-        $this->setDismissed($dismissed);
104
-        add_action(
105
-            'AHEE__EventEspresso_core_services_notifications_PersistentAdminNoticeManager__registerNotices',
106
-            array($this, 'registerPersistentAdminNotice')
107
-        );
108
-        add_action('shutdown', array($this, 'confirmRegistered'), 999);
109
-    }
110
-
111
-
112
-    /**
113
-     * @return string
114
-     */
115
-    public function getName()
116
-    {
117
-        return $this->name;
118
-    }
119
-
120
-
121
-    /**
122
-     * @param string $name
123
-     * @throws InvalidDataTypeException
124
-     */
125
-    private function setName($name)
126
-    {
127
-        if (! is_string($name)) {
128
-            throw new InvalidDataTypeException('$name', $name, 'string');
129
-        }
130
-        $this->name = sanitize_key($name);
131
-    }
132
-
133
-
134
-    /**
135
-     * @return string
136
-     */
137
-    public function getMessage()
138
-    {
139
-        return $this->message;
140
-    }
141
-
142
-
143
-    /**
144
-     * @param string $message
145
-     * @throws InvalidDataTypeException
146
-     */
147
-    private function setMessage($message)
148
-    {
149
-        if (! is_string($message)) {
150
-            throw new InvalidDataTypeException('$message', $message, 'string');
151
-        }
152
-        global $allowedtags;
153
-        $allowedtags['br'] = array();
154
-        $this->message = wp_kses($message, $allowedtags);
155
-    }
156
-
157
-
158
-    /**
159
-     * @return bool
160
-     */
161
-    public function getForceUpdate()
162
-    {
163
-        return $this->force_update;
164
-    }
165
-
166
-
167
-    /**
168
-     * @param bool $force_update
169
-     */
170
-    private function setForceUpdate($force_update)
171
-    {
172
-        $this->force_update = filter_var($force_update, FILTER_VALIDATE_BOOLEAN);
173
-    }
174
-
175
-
176
-    /**
177
-     * @return string
178
-     */
179
-    public function getCapability()
180
-    {
181
-        return $this->capability;
182
-    }
183
-
184
-
185
-    /**
186
-     * @param string $capability
187
-     * @throws InvalidDataTypeException
188
-     */
189
-    private function setCapability($capability)
190
-    {
191
-        if (! is_string($capability)) {
192
-            throw new InvalidDataTypeException('$capability', $capability, 'string');
193
-        }
194
-        $this->capability = ! empty($capability) ? $capability : 'manage_options';
195
-    }
196
-
197
-
198
-    /**
199
-     * @return string
200
-     */
201
-    public function getCapContext()
202
-    {
203
-        return $this->cap_context;
204
-    }
205
-
206
-
207
-    /**
208
-     * @param string $cap_context
209
-     * @throws InvalidDataTypeException
210
-     */
211
-    private function setCapContext($cap_context)
212
-    {
213
-        if (! is_string($cap_context)) {
214
-            throw new InvalidDataTypeException('$cap_context', $cap_context, 'string');
215
-        }
216
-        $this->cap_context = ! empty($cap_context) ? $cap_context : 'view persistent admin notice';
217
-    }
218
-
219
-
220
-    /**
221
-     * @return bool
222
-     */
223
-    public function getDismissed()
224
-    {
225
-        return $this->dismissed;
226
-    }
227
-
228
-
229
-    /**
230
-     * @param bool $dismissed
231
-     */
232
-    public function setDismissed($dismissed)
233
-    {
234
-        $this->dismissed = filter_var($dismissed, FILTER_VALIDATE_BOOLEAN);
235
-    }
236
-
237
-
238
-    /**
239
-     * @return CapCheckInterface
240
-     * @throws InvalidDataTypeException
241
-     */
242
-    public function getCapCheck()
243
-    {
244
-        if (! $this->cap_check instanceof CapCheckInterface) {
245
-            $this->setCapCheck(
246
-                new CapCheck(
247
-                    $this->capability,
248
-                    $this->cap_context
249
-                )
250
-            );
251
-        }
252
-        return $this->cap_check;
253
-    }
254
-
255
-
256
-    /**
257
-     * @param CapCheckInterface $cap_check
258
-     */
259
-    private function setCapCheck(CapCheckInterface $cap_check)
260
-    {
261
-        $this->cap_check = $cap_check;
262
-    }
263
-
264
-
265
-    /**
266
-     * @return bool
267
-     */
268
-    public function getPurge()
269
-    {
270
-        return $this->purge;
271
-    }
272
-
273
-
274
-    /**
275
-     * @param bool $purge
276
-     */
277
-    public function setPurge($purge)
278
-    {
279
-        $this->purge = filter_var($purge, FILTER_VALIDATE_BOOLEAN);
280
-    }
281
-
282
-
283
-    /**
284
-     * given a valid PersistentAdminNotice Collection,
285
-     * this notice will be added if it is not already found in the collection (using its name as the identifier)
286
-     * if an existing notice is found that has already been dismissed,
287
-     * but we are overriding with a forced update, then we will toggle its dismissed state,
288
-     * so that the notice is displayed again
289
-     *
290
-     * @param Collection $persistent_admin_notice_collection
291
-     * @throws InvalidEntityException
292
-     * @throws InvalidDataTypeException
293
-     * @throws DuplicateCollectionIdentifierException
294
-     */
295
-    public function registerPersistentAdminNotice(Collection $persistent_admin_notice_collection)
296
-    {
297
-        if ($this->registered) {
298
-            return;
299
-        }
300
-        // first check if this notice has already been added to the collection
301
-        if ($persistent_admin_notice_collection->has($this->name)) {
302
-            /** @var PersistentAdminNotice $existing */
303
-            $existing = $persistent_admin_notice_collection->get($this->name);
304
-            // we don't need to add it again (we can't actually)
305
-            // but if it has already been dismissed, and we are overriding with a forced update
306
-            if ($existing->getDismissed() && $this->getForceUpdate()) {
307
-                // then toggle the notice's dismissed state to true
308
-                // so that it gets displayed again
309
-                $existing->setDismissed(false);
310
-                // and make sure the message is set
311
-                $existing->setMessage($this->message);
312
-            }
313
-        } else {
314
-            $persistent_admin_notice_collection->add($this, $this->name);
315
-        }
316
-        $this->registered = true;
317
-    }
318
-
319
-
320
-    /**
321
-     * @throws Exception
322
-     */
323
-    public function confirmRegistered()
324
-    {
325
-        if (! apply_filters('PersistentAdminNoticeManager__registerAndSaveNotices__complete', false)) {
326
-            PersistentAdminNoticeManager::loadRegisterAndSaveNotices();
327
-        }
328
-        if (! $this->registered && WP_DEBUG) {
329
-            throw new DomainException(
330
-                sprintf(
331
-                    esc_html__(
332
-                        'The "%1$s" PersistentAdminNotice was not successfully registered. Please ensure that it is being created prior to either the "admin_notices" or "network_admin_notices" hooks being triggered.',
333
-                        'event_espresso'
334
-                    ),
335
-                    $this->name
336
-                )
337
-            );
338
-        }
339
-    }
28
+	/**
29
+	 * @var string $name
30
+	 */
31
+	protected $name = '';
32
+
33
+	/**
34
+	 * @var string $message
35
+	 */
36
+	protected $message = '';
37
+
38
+	/**
39
+	 * @var boolean $force_update
40
+	 */
41
+	protected $force_update = false;
42
+
43
+	/**
44
+	 * @var string $capability
45
+	 */
46
+	protected $capability = 'manage_options';
47
+
48
+	/**
49
+	 * @var string $cap_context
50
+	 */
51
+	protected $cap_context = 'view persistent admin notice';
52
+
53
+	/**
54
+	 * @var boolean $dismissed
55
+	 */
56
+	protected $dismissed = false;
57
+
58
+	/**
59
+	 * @var CapCheckInterface $cap_check
60
+	 */
61
+	protected $cap_check;
62
+
63
+	/**
64
+	 * if true, then this notice will be deleted from the database
65
+	 *
66
+	 * @var boolean $purge
67
+	 */
68
+	protected $purge = false;
69
+
70
+	/**
71
+	 * gets set to true if notice is successfully registered with the PersistentAdminNoticeManager
72
+	 * if false, and WP_DEBUG is on, then an exception will be thrown in the admin footer
73
+	 *
74
+	 * @var boolean $registered
75
+	 */
76
+	private $registered = false;
77
+
78
+
79
+	/**
80
+	 * PersistentAdminNotice constructor
81
+	 *
82
+	 * @param string $name         [required] the name, or key of the Persistent Admin Notice to be stored
83
+	 * @param string $message      [required] the message to be stored persistently until dismissed
84
+	 * @param bool   $force_update enforce the reappearance of a persistent message
85
+	 * @param string $capability   user capability required to view this notice
86
+	 * @param string $cap_context  description for why the cap check is being performed
87
+	 * @param bool   $dismissed    whether or not the user has already dismissed/viewed this notice
88
+	 * @throws InvalidDataTypeException
89
+	 */
90
+	public function __construct(
91
+		$name,
92
+		$message,
93
+		$force_update = false,
94
+		$capability = 'manage_options',
95
+		$cap_context = 'view persistent admin notice',
96
+		$dismissed = false
97
+	) {
98
+		$this->setName($name);
99
+		$this->setMessage($message);
100
+		$this->setForceUpdate($force_update);
101
+		$this->setCapability($capability);
102
+		$this->setCapContext($cap_context);
103
+		$this->setDismissed($dismissed);
104
+		add_action(
105
+			'AHEE__EventEspresso_core_services_notifications_PersistentAdminNoticeManager__registerNotices',
106
+			array($this, 'registerPersistentAdminNotice')
107
+		);
108
+		add_action('shutdown', array($this, 'confirmRegistered'), 999);
109
+	}
110
+
111
+
112
+	/**
113
+	 * @return string
114
+	 */
115
+	public function getName()
116
+	{
117
+		return $this->name;
118
+	}
119
+
120
+
121
+	/**
122
+	 * @param string $name
123
+	 * @throws InvalidDataTypeException
124
+	 */
125
+	private function setName($name)
126
+	{
127
+		if (! is_string($name)) {
128
+			throw new InvalidDataTypeException('$name', $name, 'string');
129
+		}
130
+		$this->name = sanitize_key($name);
131
+	}
132
+
133
+
134
+	/**
135
+	 * @return string
136
+	 */
137
+	public function getMessage()
138
+	{
139
+		return $this->message;
140
+	}
141
+
142
+
143
+	/**
144
+	 * @param string $message
145
+	 * @throws InvalidDataTypeException
146
+	 */
147
+	private function setMessage($message)
148
+	{
149
+		if (! is_string($message)) {
150
+			throw new InvalidDataTypeException('$message', $message, 'string');
151
+		}
152
+		global $allowedtags;
153
+		$allowedtags['br'] = array();
154
+		$this->message = wp_kses($message, $allowedtags);
155
+	}
156
+
157
+
158
+	/**
159
+	 * @return bool
160
+	 */
161
+	public function getForceUpdate()
162
+	{
163
+		return $this->force_update;
164
+	}
165
+
166
+
167
+	/**
168
+	 * @param bool $force_update
169
+	 */
170
+	private function setForceUpdate($force_update)
171
+	{
172
+		$this->force_update = filter_var($force_update, FILTER_VALIDATE_BOOLEAN);
173
+	}
174
+
175
+
176
+	/**
177
+	 * @return string
178
+	 */
179
+	public function getCapability()
180
+	{
181
+		return $this->capability;
182
+	}
183
+
184
+
185
+	/**
186
+	 * @param string $capability
187
+	 * @throws InvalidDataTypeException
188
+	 */
189
+	private function setCapability($capability)
190
+	{
191
+		if (! is_string($capability)) {
192
+			throw new InvalidDataTypeException('$capability', $capability, 'string');
193
+		}
194
+		$this->capability = ! empty($capability) ? $capability : 'manage_options';
195
+	}
196
+
197
+
198
+	/**
199
+	 * @return string
200
+	 */
201
+	public function getCapContext()
202
+	{
203
+		return $this->cap_context;
204
+	}
205
+
206
+
207
+	/**
208
+	 * @param string $cap_context
209
+	 * @throws InvalidDataTypeException
210
+	 */
211
+	private function setCapContext($cap_context)
212
+	{
213
+		if (! is_string($cap_context)) {
214
+			throw new InvalidDataTypeException('$cap_context', $cap_context, 'string');
215
+		}
216
+		$this->cap_context = ! empty($cap_context) ? $cap_context : 'view persistent admin notice';
217
+	}
218
+
219
+
220
+	/**
221
+	 * @return bool
222
+	 */
223
+	public function getDismissed()
224
+	{
225
+		return $this->dismissed;
226
+	}
227
+
228
+
229
+	/**
230
+	 * @param bool $dismissed
231
+	 */
232
+	public function setDismissed($dismissed)
233
+	{
234
+		$this->dismissed = filter_var($dismissed, FILTER_VALIDATE_BOOLEAN);
235
+	}
236
+
237
+
238
+	/**
239
+	 * @return CapCheckInterface
240
+	 * @throws InvalidDataTypeException
241
+	 */
242
+	public function getCapCheck()
243
+	{
244
+		if (! $this->cap_check instanceof CapCheckInterface) {
245
+			$this->setCapCheck(
246
+				new CapCheck(
247
+					$this->capability,
248
+					$this->cap_context
249
+				)
250
+			);
251
+		}
252
+		return $this->cap_check;
253
+	}
254
+
255
+
256
+	/**
257
+	 * @param CapCheckInterface $cap_check
258
+	 */
259
+	private function setCapCheck(CapCheckInterface $cap_check)
260
+	{
261
+		$this->cap_check = $cap_check;
262
+	}
263
+
264
+
265
+	/**
266
+	 * @return bool
267
+	 */
268
+	public function getPurge()
269
+	{
270
+		return $this->purge;
271
+	}
272
+
273
+
274
+	/**
275
+	 * @param bool $purge
276
+	 */
277
+	public function setPurge($purge)
278
+	{
279
+		$this->purge = filter_var($purge, FILTER_VALIDATE_BOOLEAN);
280
+	}
281
+
282
+
283
+	/**
284
+	 * given a valid PersistentAdminNotice Collection,
285
+	 * this notice will be added if it is not already found in the collection (using its name as the identifier)
286
+	 * if an existing notice is found that has already been dismissed,
287
+	 * but we are overriding with a forced update, then we will toggle its dismissed state,
288
+	 * so that the notice is displayed again
289
+	 *
290
+	 * @param Collection $persistent_admin_notice_collection
291
+	 * @throws InvalidEntityException
292
+	 * @throws InvalidDataTypeException
293
+	 * @throws DuplicateCollectionIdentifierException
294
+	 */
295
+	public function registerPersistentAdminNotice(Collection $persistent_admin_notice_collection)
296
+	{
297
+		if ($this->registered) {
298
+			return;
299
+		}
300
+		// first check if this notice has already been added to the collection
301
+		if ($persistent_admin_notice_collection->has($this->name)) {
302
+			/** @var PersistentAdminNotice $existing */
303
+			$existing = $persistent_admin_notice_collection->get($this->name);
304
+			// we don't need to add it again (we can't actually)
305
+			// but if it has already been dismissed, and we are overriding with a forced update
306
+			if ($existing->getDismissed() && $this->getForceUpdate()) {
307
+				// then toggle the notice's dismissed state to true
308
+				// so that it gets displayed again
309
+				$existing->setDismissed(false);
310
+				// and make sure the message is set
311
+				$existing->setMessage($this->message);
312
+			}
313
+		} else {
314
+			$persistent_admin_notice_collection->add($this, $this->name);
315
+		}
316
+		$this->registered = true;
317
+	}
318
+
319
+
320
+	/**
321
+	 * @throws Exception
322
+	 */
323
+	public function confirmRegistered()
324
+	{
325
+		if (! apply_filters('PersistentAdminNoticeManager__registerAndSaveNotices__complete', false)) {
326
+			PersistentAdminNoticeManager::loadRegisterAndSaveNotices();
327
+		}
328
+		if (! $this->registered && WP_DEBUG) {
329
+			throw new DomainException(
330
+				sprintf(
331
+					esc_html__(
332
+						'The "%1$s" PersistentAdminNotice was not successfully registered. Please ensure that it is being created prior to either the "admin_notices" or "network_admin_notices" hooks being triggered.',
333
+						'event_espresso'
334
+					),
335
+					$this->name
336
+				)
337
+			);
338
+		}
339
+	}
340 340
 }
Please login to merge, or discard this patch.
core/middleware/EE_Detect_File_Editor_Request.core.php 1 patch
Indentation   +23 added lines, -23 removed lines patch added patch discarded remove patch
@@ -14,28 +14,28 @@
 block discarded – undo
14 14
 class EE_Detect_File_Editor_Request extends EE_Middleware
15 15
 {
16 16
 
17
-    /**
18
-     * @deprecated
19
-     * @param EE_Request  $request
20
-     * @param EE_Response $response
21
-     * @return EE_Response
22
-     */
23
-    public function handle_request(EE_Request $request, EE_Response $response)
24
-    {
25
-        EE_Error::doing_it_wrong(
26
-            __METHOD__,
27
-            sprintf(
28
-                esc_html__(
29
-                    'This class is deprecated. Please use %1$s instead. All Event Espresso request stack classes have been moved to %2$s and are now under the %3$s namespace',
30
-                    'event_espresso'
31
-                ),
32
-                'EventEspresso\core\services\request\middleware\DetectFileEditorRequest',
33
-                '\core\services\request',
34
-                'EventEspresso\core\services\request'
35
-            ),
36
-            '4.9.52'
37
-        );
38
-        return $response;
39
-    }
17
+	/**
18
+	 * @deprecated
19
+	 * @param EE_Request  $request
20
+	 * @param EE_Response $response
21
+	 * @return EE_Response
22
+	 */
23
+	public function handle_request(EE_Request $request, EE_Response $response)
24
+	{
25
+		EE_Error::doing_it_wrong(
26
+			__METHOD__,
27
+			sprintf(
28
+				esc_html__(
29
+					'This class is deprecated. Please use %1$s instead. All Event Espresso request stack classes have been moved to %2$s and are now under the %3$s namespace',
30
+					'event_espresso'
31
+				),
32
+				'EventEspresso\core\services\request\middleware\DetectFileEditorRequest',
33
+				'\core\services\request',
34
+				'EventEspresso\core\services\request'
35
+			),
36
+			'4.9.52'
37
+		);
38
+		return $response;
39
+	}
40 40
 
41 41
 }
Please login to merge, or discard this patch.
core/services/bootstrap/BootstrapDependencyInjectionContainer.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -78,13 +78,13 @@
 block discarded – undo
78 78
         // EE_Dependency_Map: info about how to load classes required by other classes
79 79
         espresso_load_required(
80 80
             'EE_Dependency_Map',
81
-            EE_CORE . 'EE_Dependency_Map.core.php'
81
+            EE_CORE.'EE_Dependency_Map.core.php'
82 82
         );
83 83
         $this->dependency_map = EE_Dependency_Map::instance($this->class_cache);
84 84
         // EE_Registry: central repository for classes (legacy)
85 85
         espresso_load_required(
86 86
             'EE_Registry',
87
-            EE_CORE . 'EE_Registry.core.php'
87
+            EE_CORE.'EE_Registry.core.php'
88 88
         );
89 89
         $this->registry = EE_Registry::instance(
90 90
             $this->dependency_map,
Please login to merge, or discard this patch.
Indentation   +119 added lines, -119 removed lines patch added patch discarded remove patch
@@ -25,123 +25,123 @@
 block discarded – undo
25 25
 class BootstrapDependencyInjectionContainer
26 26
 {
27 27
 
28
-    /**
29
-     * @var EE_Dependency_Map $dependency_map
30
-     */
31
-    protected $dependency_map;
32
-
33
-    /**
34
-     * @type LoaderInterface $loader
35
-     */
36
-    protected $loader;
37
-
38
-    /**
39
-     * @var EE_Registry $registry
40
-     */
41
-    protected $registry;
42
-
43
-    /**
44
-     * @var ClassInterfaceCache $class_cache
45
-     */
46
-    private $class_cache;
47
-
48
-    /**
49
-     * @var Mirror
50
-     */
51
-    private $mirror;
52
-
53
-    /**
54
-     * @var ObjectIdentifier
55
-     */
56
-    private $object_identifier;
57
-
58
-
59
-    /**
60
-     * Can't use this just yet until we exorcise some more of our singleton usage from core
61
-     */
62
-    public function buildDependencyInjectionContainer()
63
-    {
64
-        // build DI container
65
-        // $OpenCoffeeShop = new EventEspresso\core\services\container\OpenCoffeeShop();
66
-        // $OpenCoffeeShop->addRecipes();
67
-        // $CoffeeShop = $OpenCoffeeShop->CoffeeShop();
68
-    }
69
-
70
-
71
-    /**
72
-     * Setups  EE_Registry and EE_Dependency_Map
73
-     *
74
-     * @throws EE_Error
75
-     */
76
-    public function buildLegacyDependencyInjectionContainer()
77
-    {
78
-        $this->class_cache = new ClassInterfaceCache();
79
-        $this->object_identifier = new ObjectIdentifier($this->class_cache);
80
-        $this->mirror = new Mirror();
81
-        // EE_Dependency_Map: info about how to load classes required by other classes
82
-        espresso_load_required(
83
-            'EE_Dependency_Map',
84
-            EE_CORE . 'EE_Dependency_Map.core.php'
85
-        );
86
-        $this->dependency_map = EE_Dependency_Map::instance($this->class_cache);
87
-        // EE_Registry: central repository for classes (legacy)
88
-        espresso_load_required(
89
-            'EE_Registry',
90
-            EE_CORE . 'EE_Registry.core.php'
91
-        );
92
-        $this->registry = EE_Registry::instance(
93
-            $this->dependency_map,
94
-            $this->mirror,
95
-            $this->class_cache,
96
-            $this->object_identifier
97
-        );
98
-    }
99
-
100
-
101
-    /**
102
-     * Performs initial setup for the generic Loader
103
-     *
104
-     * @throws InvalidDataTypeException
105
-     * @throws InvalidInterfaceException
106
-     * @throws InvalidArgumentException
107
-     */
108
-    public function buildLoader()
109
-    {
110
-        $this->loader = LoaderFactory::getLoader(
111
-            $this->registry,
112
-            $this->class_cache,
113
-            $this->object_identifier
114
-        );
115
-        $this->loader->share('EventEspresso\core\services\loaders\ClassInterfaceCache', $this->class_cache);
116
-        $this->loader->share('EventEspresso\core\services\loaders\ObjectIdentifier', $this->object_identifier);
117
-        $this->loader->share('EventEspresso\core\services\container\Mirror', $this->mirror);
118
-        $this->dependency_map->setLoader($this->loader);
119
-    }
120
-
121
-
122
-    /**
123
-     * @return EE_Dependency_Map
124
-     */
125
-    public function getDependencyMap()
126
-    {
127
-        return $this->dependency_map;
128
-    }
129
-
130
-
131
-    /**
132
-     * @return EE_Registry
133
-     */
134
-    public function getRegistry()
135
-    {
136
-        return $this->registry;
137
-    }
138
-
139
-
140
-    /**
141
-     * @return LoaderInterface
142
-     */
143
-    public function getLoader()
144
-    {
145
-        return $this->loader;
146
-    }
28
+	/**
29
+	 * @var EE_Dependency_Map $dependency_map
30
+	 */
31
+	protected $dependency_map;
32
+
33
+	/**
34
+	 * @type LoaderInterface $loader
35
+	 */
36
+	protected $loader;
37
+
38
+	/**
39
+	 * @var EE_Registry $registry
40
+	 */
41
+	protected $registry;
42
+
43
+	/**
44
+	 * @var ClassInterfaceCache $class_cache
45
+	 */
46
+	private $class_cache;
47
+
48
+	/**
49
+	 * @var Mirror
50
+	 */
51
+	private $mirror;
52
+
53
+	/**
54
+	 * @var ObjectIdentifier
55
+	 */
56
+	private $object_identifier;
57
+
58
+
59
+	/**
60
+	 * Can't use this just yet until we exorcise some more of our singleton usage from core
61
+	 */
62
+	public function buildDependencyInjectionContainer()
63
+	{
64
+		// build DI container
65
+		// $OpenCoffeeShop = new EventEspresso\core\services\container\OpenCoffeeShop();
66
+		// $OpenCoffeeShop->addRecipes();
67
+		// $CoffeeShop = $OpenCoffeeShop->CoffeeShop();
68
+	}
69
+
70
+
71
+	/**
72
+	 * Setups  EE_Registry and EE_Dependency_Map
73
+	 *
74
+	 * @throws EE_Error
75
+	 */
76
+	public function buildLegacyDependencyInjectionContainer()
77
+	{
78
+		$this->class_cache = new ClassInterfaceCache();
79
+		$this->object_identifier = new ObjectIdentifier($this->class_cache);
80
+		$this->mirror = new Mirror();
81
+		// EE_Dependency_Map: info about how to load classes required by other classes
82
+		espresso_load_required(
83
+			'EE_Dependency_Map',
84
+			EE_CORE . 'EE_Dependency_Map.core.php'
85
+		);
86
+		$this->dependency_map = EE_Dependency_Map::instance($this->class_cache);
87
+		// EE_Registry: central repository for classes (legacy)
88
+		espresso_load_required(
89
+			'EE_Registry',
90
+			EE_CORE . 'EE_Registry.core.php'
91
+		);
92
+		$this->registry = EE_Registry::instance(
93
+			$this->dependency_map,
94
+			$this->mirror,
95
+			$this->class_cache,
96
+			$this->object_identifier
97
+		);
98
+	}
99
+
100
+
101
+	/**
102
+	 * Performs initial setup for the generic Loader
103
+	 *
104
+	 * @throws InvalidDataTypeException
105
+	 * @throws InvalidInterfaceException
106
+	 * @throws InvalidArgumentException
107
+	 */
108
+	public function buildLoader()
109
+	{
110
+		$this->loader = LoaderFactory::getLoader(
111
+			$this->registry,
112
+			$this->class_cache,
113
+			$this->object_identifier
114
+		);
115
+		$this->loader->share('EventEspresso\core\services\loaders\ClassInterfaceCache', $this->class_cache);
116
+		$this->loader->share('EventEspresso\core\services\loaders\ObjectIdentifier', $this->object_identifier);
117
+		$this->loader->share('EventEspresso\core\services\container\Mirror', $this->mirror);
118
+		$this->dependency_map->setLoader($this->loader);
119
+	}
120
+
121
+
122
+	/**
123
+	 * @return EE_Dependency_Map
124
+	 */
125
+	public function getDependencyMap()
126
+	{
127
+		return $this->dependency_map;
128
+	}
129
+
130
+
131
+	/**
132
+	 * @return EE_Registry
133
+	 */
134
+	public function getRegistry()
135
+	{
136
+		return $this->registry;
137
+	}
138
+
139
+
140
+	/**
141
+	 * @return LoaderInterface
142
+	 */
143
+	public function getLoader()
144
+	{
145
+		return $this->loader;
146
+	}
147 147
 }
Please login to merge, or discard this patch.