Completed
Branch gutenberg/main (ad8606)
by
unknown
11:08 queued 09:12
created
core/services/formatters/Windows1252.php 1 patch
Indentation   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -17,34 +17,34 @@
 block discarded – undo
17 17
 class Windows1252 extends FormatterBase
18 18
 {
19 19
 
20
-    /**
21
-     * Converts the string to windows-1252 encoding.
22
-     *
23
-     * @param string|int|float $input anything easily cast into a string
24
-     * @return string
25
-     */
26
-    public function format($input)
27
-    {
28
-        // in case an int or float etc was passed in
29
-        $input = (string) $input;
30
-        if (function_exists('iconv')) {
31
-            $input = iconv('utf-8', 'cp1252//TRANSLIT', $input);
32
-        } elseif (WP_DEBUG) {
33
-            trigger_error(
34
-                sprintf(
35
-                // @codingStandardsIgnoreStart
36
-                    esc_html__(
37
-                        '%1$s could not format the string "%2$s" because the function "%3$s" does not exist. Please verify PHP is installed with this function, see %4$s',
38
-                        'event_espresso'
39
-                    ),
40
-                    // @codingStandardsIgnoreEnd
41
-                    get_class($this),
42
-                    $input,
43
-                    'iconv',
44
-                    '<a href="http://php.net/manual/en/iconv.installation.php">http://php.net/manual/en/iconv.installation.php</a>'
45
-                )
46
-            );
47
-        }
48
-        return $input;
49
-    }
20
+	/**
21
+	 * Converts the string to windows-1252 encoding.
22
+	 *
23
+	 * @param string|int|float $input anything easily cast into a string
24
+	 * @return string
25
+	 */
26
+	public function format($input)
27
+	{
28
+		// in case an int or float etc was passed in
29
+		$input = (string) $input;
30
+		if (function_exists('iconv')) {
31
+			$input = iconv('utf-8', 'cp1252//TRANSLIT', $input);
32
+		} elseif (WP_DEBUG) {
33
+			trigger_error(
34
+				sprintf(
35
+				// @codingStandardsIgnoreStart
36
+					esc_html__(
37
+						'%1$s could not format the string "%2$s" because the function "%3$s" does not exist. Please verify PHP is installed with this function, see %4$s',
38
+						'event_espresso'
39
+					),
40
+					// @codingStandardsIgnoreEnd
41
+					get_class($this),
42
+					$input,
43
+					'iconv',
44
+					'<a href="http://php.net/manual/en/iconv.installation.php">http://php.net/manual/en/iconv.installation.php</a>'
45
+				)
46
+			);
47
+		}
48
+		return $input;
49
+	}
50 50
 }
Please login to merge, or discard this patch.
core/services/collections/CollectionLoader.php 2 patches
Indentation   +255 added lines, -255 removed lines patch added patch discarded remove patch
@@ -21,282 +21,282 @@
 block discarded – undo
21 21
 class CollectionLoader
22 22
 {
23 23
 
24
-    /**
25
-     * possible return value when adding entities to a collection.
26
-     * denotes that the entity was NOT ADDED to the collection
27
-     */
28
-    const ENTITY_NOT_ADDED = 'entity-not-added-to-collection';
24
+	/**
25
+	 * possible return value when adding entities to a collection.
26
+	 * denotes that the entity was NOT ADDED to the collection
27
+	 */
28
+	const ENTITY_NOT_ADDED = 'entity-not-added-to-collection';
29 29
 
30
-    /**
31
-     * possible return value when adding entities to a collection.
32
-     * denotes that the entity was SUCCESSFULLY ADDED to the collection
33
-     */
34
-    const ENTITY_ADDED = 'entity-added-to-collection';
30
+	/**
31
+	 * possible return value when adding entities to a collection.
32
+	 * denotes that the entity was SUCCESSFULLY ADDED to the collection
33
+	 */
34
+	const ENTITY_ADDED = 'entity-added-to-collection';
35 35
 
36
-    /**
37
-     * possible return value when adding entities to a collection.
38
-     * denotes that the entity was ALREADY ADDED to the collection,
39
-     * and therefore could not be added again.
40
-     */
41
-    const ENTITY_EXISTS = 'entity-already-in-collection';
36
+	/**
37
+	 * possible return value when adding entities to a collection.
38
+	 * denotes that the entity was ALREADY ADDED to the collection,
39
+	 * and therefore could not be added again.
40
+	 */
41
+	const ENTITY_EXISTS = 'entity-already-in-collection';
42 42
 
43 43
 
44
-    /**
45
-     * @var CollectionDetailsInterface $collection_details
46
-     */
47
-    protected $collection_details;
44
+	/**
45
+	 * @var CollectionDetailsInterface $collection_details
46
+	 */
47
+	protected $collection_details;
48 48
 
49
-    /**
50
-     * @var CollectionInterface $collection
51
-     */
52
-    protected $collection;
49
+	/**
50
+	 * @var CollectionInterface $collection
51
+	 */
52
+	protected $collection;
53 53
 
54
-    /**
55
-     * @var FileLocator $file_locator
56
-     */
57
-    protected $file_locator;
54
+	/**
55
+	 * @var FileLocator $file_locator
56
+	 */
57
+	protected $file_locator;
58 58
 
59 59
 
60
-    /**
61
-     * CollectionLoader constructor.
62
-     *
63
-     * @param CollectionDetailsInterface $collection_details
64
-     * @param CollectionInterface        $collection
65
-     * @param LocatorInterface           $file_locator
66
-     * @throws \EventEspresso\core\exceptions\InvalidInterfaceException
67
-     * @throws \EventEspresso\core\exceptions\InvalidClassException
68
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
69
-     * @throws \EventEspresso\core\exceptions\InvalidFilePathException
70
-     * @throws \EventEspresso\core\exceptions\InvalidEntityException
71
-     */
72
-    public function __construct(
73
-        CollectionDetailsInterface $collection_details,
74
-        CollectionInterface $collection = null,
75
-        LocatorInterface $file_locator = null
76
-    ) {
77
-        $this->collection_details = $collection_details;
78
-        if (! $collection instanceof CollectionInterface) {
79
-            $collection = new Collection($this->collection_details->getCollectionInterface());
80
-        }
81
-        $this->collection = $collection;
82
-        $this->file_locator = $file_locator;
83
-        $this->loadAllFromFilepaths();
84
-        $this->loadFromFQCNs();
85
-    }
60
+	/**
61
+	 * CollectionLoader constructor.
62
+	 *
63
+	 * @param CollectionDetailsInterface $collection_details
64
+	 * @param CollectionInterface        $collection
65
+	 * @param LocatorInterface           $file_locator
66
+	 * @throws \EventEspresso\core\exceptions\InvalidInterfaceException
67
+	 * @throws \EventEspresso\core\exceptions\InvalidClassException
68
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
69
+	 * @throws \EventEspresso\core\exceptions\InvalidFilePathException
70
+	 * @throws \EventEspresso\core\exceptions\InvalidEntityException
71
+	 */
72
+	public function __construct(
73
+		CollectionDetailsInterface $collection_details,
74
+		CollectionInterface $collection = null,
75
+		LocatorInterface $file_locator = null
76
+	) {
77
+		$this->collection_details = $collection_details;
78
+		if (! $collection instanceof CollectionInterface) {
79
+			$collection = new Collection($this->collection_details->getCollectionInterface());
80
+		}
81
+		$this->collection = $collection;
82
+		$this->file_locator = $file_locator;
83
+		$this->loadAllFromFilepaths();
84
+		$this->loadFromFQCNs();
85
+	}
86 86
 
87 87
 
88
-    /**
89
-     * @access public
90
-     * @return \EventEspresso\core\services\collections\CollectionInterface
91
-     */
92
-    public function getCollection()
93
-    {
94
-        return $this->collection;
95
-    }
88
+	/**
89
+	 * @access public
90
+	 * @return \EventEspresso\core\services\collections\CollectionInterface
91
+	 */
92
+	public function getCollection()
93
+	{
94
+		return $this->collection;
95
+	}
96 96
 
97 97
 
98
-    /**
99
-     * @access protected
100
-     * @throws \EventEspresso\core\exceptions\InvalidClassException
101
-     * @throws \EventEspresso\core\exceptions\InvalidFilePathException
102
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
103
-     * @throws \EventEspresso\core\exceptions\InvalidEntityException
104
-     */
105
-    protected function loadAllFromFilepaths()
106
-    {
107
-        if (! $this->file_locator instanceof FileLocator) {
108
-            $this->file_locator = new FileLocator();
109
-        }
110
-        $this->file_locator->setFileMask($this->collection_details->getFileMask());
111
-        // find all of the files that match the file mask in the specified folder
112
-        $this->file_locator->locate($this->collection_details->getCollectionPaths());
113
-        // filter the results
114
-        $filepaths = (array) apply_filters(
115
-            'FHEE__CollectionLoader__loadAllFromFilepath__filepaths',
116
-            $this->file_locator->getFilePaths(),
117
-            $this->collection_details->collectionName(),
118
-            $this->collection_details
119
-        );
120
-        if (empty($filepaths)) {
121
-            return;
122
-        }
123
-        foreach ($filepaths as $filepath) {
124
-            $this->loadClassFromFilepath($filepath);
125
-        }
126
-    }
98
+	/**
99
+	 * @access protected
100
+	 * @throws \EventEspresso\core\exceptions\InvalidClassException
101
+	 * @throws \EventEspresso\core\exceptions\InvalidFilePathException
102
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
103
+	 * @throws \EventEspresso\core\exceptions\InvalidEntityException
104
+	 */
105
+	protected function loadAllFromFilepaths()
106
+	{
107
+		if (! $this->file_locator instanceof FileLocator) {
108
+			$this->file_locator = new FileLocator();
109
+		}
110
+		$this->file_locator->setFileMask($this->collection_details->getFileMask());
111
+		// find all of the files that match the file mask in the specified folder
112
+		$this->file_locator->locate($this->collection_details->getCollectionPaths());
113
+		// filter the results
114
+		$filepaths = (array) apply_filters(
115
+			'FHEE__CollectionLoader__loadAllFromFilepath__filepaths',
116
+			$this->file_locator->getFilePaths(),
117
+			$this->collection_details->collectionName(),
118
+			$this->collection_details
119
+		);
120
+		if (empty($filepaths)) {
121
+			return;
122
+		}
123
+		foreach ($filepaths as $filepath) {
124
+			$this->loadClassFromFilepath($filepath);
125
+		}
126
+	}
127 127
 
128 128
 
129
-    /**
130
-     * loadClassFromFilepath
131
-     *
132
-     * @access protected
133
-     * @param  string $filepath
134
-     * @return string
135
-     * @throws \EventEspresso\core\exceptions\InvalidEntityException
136
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
137
-     * @throws \EventEspresso\core\exceptions\InvalidFilePathException
138
-     * @throws \EventEspresso\core\exceptions\InvalidClassException
139
-     */
140
-    protected function loadClassFromFilepath($filepath)
141
-    {
142
-        if (! is_string($filepath)) {
143
-            throw new InvalidDataTypeException('$filepath', $filepath, 'string');
144
-        }
145
-        if (! is_readable($filepath)) {
146
-            throw new InvalidFilePathException($filepath);
147
-        }
148
-        require_once($filepath);
149
-        // extract filename from path
150
-        $file_name = basename($filepath);
151
-        // now remove any file extensions
152
-        $class_name = \EEH_File::get_classname_from_filepath_with_standard_filename($file_name);
153
-        if (! class_exists($class_name)) {
154
-            throw new InvalidClassException($class_name);
155
-        }
156
-        return $this->addEntityToCollection(new $class_name(), $file_name);
157
-    }
129
+	/**
130
+	 * loadClassFromFilepath
131
+	 *
132
+	 * @access protected
133
+	 * @param  string $filepath
134
+	 * @return string
135
+	 * @throws \EventEspresso\core\exceptions\InvalidEntityException
136
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
137
+	 * @throws \EventEspresso\core\exceptions\InvalidFilePathException
138
+	 * @throws \EventEspresso\core\exceptions\InvalidClassException
139
+	 */
140
+	protected function loadClassFromFilepath($filepath)
141
+	{
142
+		if (! is_string($filepath)) {
143
+			throw new InvalidDataTypeException('$filepath', $filepath, 'string');
144
+		}
145
+		if (! is_readable($filepath)) {
146
+			throw new InvalidFilePathException($filepath);
147
+		}
148
+		require_once($filepath);
149
+		// extract filename from path
150
+		$file_name = basename($filepath);
151
+		// now remove any file extensions
152
+		$class_name = \EEH_File::get_classname_from_filepath_with_standard_filename($file_name);
153
+		if (! class_exists($class_name)) {
154
+			throw new InvalidClassException($class_name);
155
+		}
156
+		return $this->addEntityToCollection(new $class_name(), $file_name);
157
+	}
158 158
 
159 159
 
160
-    /**
161
-     * addEntityToCollection
162
-     *
163
-     * @access protected
164
-     * @param        $entity
165
-     * @param  mixed $identifier
166
-     * @return string
167
-     * @throws \EventEspresso\core\exceptions\InvalidEntityException
168
-     */
169
-    protected function addEntityToCollection($entity, $identifier)
170
-    {
171
-        do_action(
172
-            'FHEE__CollectionLoader__addEntityToCollection__entity',
173
-            $entity,
174
-            $this->collection_details->collectionName(),
175
-            $this->collection_details
176
-        );
177
-        $identifier = $this->setIdentifier($entity, $identifier);
178
-        if ($this->collection->has($identifier)) {
179
-            do_action(
180
-                'FHEE__CollectionLoader__addEntityToCollection__entity_already_added',
181
-                $this,
182
-                $this->collection_details->collectionName(),
183
-                $this->collection_details
184
-            );
185
-            return CollectionLoader::ENTITY_EXISTS;
186
-        }
187
-        if ($this->collection->add($entity, $identifier)) {
188
-            do_action(
189
-                'FHEE__CollectionLoader__addEntityToCollection__entity_added',
190
-                $this,
191
-                $this->collection_details->collectionName(),
192
-                $this->collection_details
193
-            );
194
-            return CollectionLoader::ENTITY_ADDED;
195
-        }
196
-        do_action(
197
-            'FHEE__CollectionLoader__addEntityToCollection__entity_not_added',
198
-            $this,
199
-            $this->collection_details->collectionName(),
200
-            $this->collection_details
201
-        );
202
-        return CollectionLoader::ENTITY_NOT_ADDED;
203
-    }
160
+	/**
161
+	 * addEntityToCollection
162
+	 *
163
+	 * @access protected
164
+	 * @param        $entity
165
+	 * @param  mixed $identifier
166
+	 * @return string
167
+	 * @throws \EventEspresso\core\exceptions\InvalidEntityException
168
+	 */
169
+	protected function addEntityToCollection($entity, $identifier)
170
+	{
171
+		do_action(
172
+			'FHEE__CollectionLoader__addEntityToCollection__entity',
173
+			$entity,
174
+			$this->collection_details->collectionName(),
175
+			$this->collection_details
176
+		);
177
+		$identifier = $this->setIdentifier($entity, $identifier);
178
+		if ($this->collection->has($identifier)) {
179
+			do_action(
180
+				'FHEE__CollectionLoader__addEntityToCollection__entity_already_added',
181
+				$this,
182
+				$this->collection_details->collectionName(),
183
+				$this->collection_details
184
+			);
185
+			return CollectionLoader::ENTITY_EXISTS;
186
+		}
187
+		if ($this->collection->add($entity, $identifier)) {
188
+			do_action(
189
+				'FHEE__CollectionLoader__addEntityToCollection__entity_added',
190
+				$this,
191
+				$this->collection_details->collectionName(),
192
+				$this->collection_details
193
+			);
194
+			return CollectionLoader::ENTITY_ADDED;
195
+		}
196
+		do_action(
197
+			'FHEE__CollectionLoader__addEntityToCollection__entity_not_added',
198
+			$this,
199
+			$this->collection_details->collectionName(),
200
+			$this->collection_details
201
+		);
202
+		return CollectionLoader::ENTITY_NOT_ADDED;
203
+	}
204 204
 
205 205
 
206
-    /**
207
-     * setIdentifier
208
-     *
209
-     * @access protected
210
-     * @param        $entity
211
-     * @param  mixed $identifier
212
-     * @return string
213
-     * @throws \EventEspresso\core\exceptions\InvalidEntityException
214
-     */
215
-    protected function setIdentifier($entity, $identifier)
216
-    {
217
-        switch ($this->collection_details->identifierType()) {
218
-            // every unique object gets added to the collection, but not duplicates of the exact same object
219
-            case CollectionDetails::ID_OBJECT_HASH:
220
-                $identifier = spl_object_hash($entity);
221
-                break;
222
-            // only one entity per class can be added to collection, like a singleton
223
-            case CollectionDetails::ID_CLASS_NAME:
224
-                $identifier = get_class($entity);
225
-                break;
226
-            // objects added to the collection based on entity callback, so the entity itself decides
227
-            case CollectionDetails::ID_CALLBACK_METHOD:
228
-                $identifier_callback = $this->collection_details->identifierCallback();
229
-                if (! method_exists($entity, $identifier_callback)) {
230
-                    throw new InvalidEntityException(
231
-                        $entity,
232
-                        $this->collection_details->getCollectionInterface(),
233
-                        sprintf(
234
-                            __(
235
-                                'The current collection is configured to use a method named "%1$s" when setting or retrieving objects. The supplied entity is an instance
206
+	/**
207
+	 * setIdentifier
208
+	 *
209
+	 * @access protected
210
+	 * @param        $entity
211
+	 * @param  mixed $identifier
212
+	 * @return string
213
+	 * @throws \EventEspresso\core\exceptions\InvalidEntityException
214
+	 */
215
+	protected function setIdentifier($entity, $identifier)
216
+	{
217
+		switch ($this->collection_details->identifierType()) {
218
+			// every unique object gets added to the collection, but not duplicates of the exact same object
219
+			case CollectionDetails::ID_OBJECT_HASH:
220
+				$identifier = spl_object_hash($entity);
221
+				break;
222
+			// only one entity per class can be added to collection, like a singleton
223
+			case CollectionDetails::ID_CLASS_NAME:
224
+				$identifier = get_class($entity);
225
+				break;
226
+			// objects added to the collection based on entity callback, so the entity itself decides
227
+			case CollectionDetails::ID_CALLBACK_METHOD:
228
+				$identifier_callback = $this->collection_details->identifierCallback();
229
+				if (! method_exists($entity, $identifier_callback)) {
230
+					throw new InvalidEntityException(
231
+						$entity,
232
+						$this->collection_details->getCollectionInterface(),
233
+						sprintf(
234
+							__(
235
+								'The current collection is configured to use a method named "%1$s" when setting or retrieving objects. The supplied entity is an instance
236 236
                                 of "%2$s", but does not contain this method.',
237
-                                'event_espresso'
238
-                            ),
239
-                            $identifier_callback,
240
-                            get_class($entity)
241
-                        )
242
-                    );
243
-                }
244
-                $identifier = $entity->{$identifier_callback}();
245
-                break;
246
-        }
247
-        return apply_filters(
248
-            'FHEE__CollectionLoader__addEntityToCollection__identifier',
249
-            $identifier,
250
-            $this->collection_details->collectionName(),
251
-            $this->collection_details
252
-        );
253
-    }
237
+								'event_espresso'
238
+							),
239
+							$identifier_callback,
240
+							get_class($entity)
241
+						)
242
+					);
243
+				}
244
+				$identifier = $entity->{$identifier_callback}();
245
+				break;
246
+		}
247
+		return apply_filters(
248
+			'FHEE__CollectionLoader__addEntityToCollection__identifier',
249
+			$identifier,
250
+			$this->collection_details->collectionName(),
251
+			$this->collection_details
252
+		);
253
+	}
254 254
 
255 255
 
256
-    /**
257
-     * loadFromFQCNs
258
-     *
259
-     * @access protected
260
-     * @throws \EventEspresso\core\exceptions\InvalidClassException
261
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
262
-     * @throws \EventEspresso\core\exceptions\InvalidEntityException
263
-     */
264
-    protected function loadFromFQCNs()
265
-    {
266
-        $FQCNs = $this->collection_details->getCollectionFQCNs();
267
-        $FQCNs = (array) apply_filters(
268
-            'FHEE__CollectionLoader__loadAllFromFQCNs__FQCNs',
269
-            $FQCNs,
270
-            $this->collection_details->collectionName(),
271
-            $this->collection_details
272
-        );
273
-        foreach ($FQCNs as $FQCN) {
274
-            $this->loadClassFromFQCN($FQCN);
275
-        }
276
-    }
256
+	/**
257
+	 * loadFromFQCNs
258
+	 *
259
+	 * @access protected
260
+	 * @throws \EventEspresso\core\exceptions\InvalidClassException
261
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
262
+	 * @throws \EventEspresso\core\exceptions\InvalidEntityException
263
+	 */
264
+	protected function loadFromFQCNs()
265
+	{
266
+		$FQCNs = $this->collection_details->getCollectionFQCNs();
267
+		$FQCNs = (array) apply_filters(
268
+			'FHEE__CollectionLoader__loadAllFromFQCNs__FQCNs',
269
+			$FQCNs,
270
+			$this->collection_details->collectionName(),
271
+			$this->collection_details
272
+		);
273
+		foreach ($FQCNs as $FQCN) {
274
+			$this->loadClassFromFQCN($FQCN);
275
+		}
276
+	}
277 277
 
278 278
 
279
-    /**
280
-     * loadClassFromFQCN
281
-     *
282
-     * @access protected
283
-     * @param  string $FQCN Fully Qualified Class Name
284
-     * @return string
285
-     * @throws \EventEspresso\core\exceptions\InvalidEntityException
286
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
287
-     * @throws \EventEspresso\core\exceptions\InvalidClassException
288
-     */
289
-    protected function loadClassFromFQCN($FQCN)
290
-    {
291
-        if (! is_string($FQCN)) {
292
-            throw new InvalidDataTypeException('$FQCN', $FQCN, 'string');
293
-        }
294
-        if (! class_exists($FQCN)) {
295
-            throw new InvalidClassException($FQCN);
296
-        }
297
-        return $this->addEntityToCollection(
298
-            \EE_Registry::instance()->create($FQCN),
299
-            $FQCN
300
-        );
301
-    }
279
+	/**
280
+	 * loadClassFromFQCN
281
+	 *
282
+	 * @access protected
283
+	 * @param  string $FQCN Fully Qualified Class Name
284
+	 * @return string
285
+	 * @throws \EventEspresso\core\exceptions\InvalidEntityException
286
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
287
+	 * @throws \EventEspresso\core\exceptions\InvalidClassException
288
+	 */
289
+	protected function loadClassFromFQCN($FQCN)
290
+	{
291
+		if (! is_string($FQCN)) {
292
+			throw new InvalidDataTypeException('$FQCN', $FQCN, 'string');
293
+		}
294
+		if (! class_exists($FQCN)) {
295
+			throw new InvalidClassException($FQCN);
296
+		}
297
+		return $this->addEntityToCollection(
298
+			\EE_Registry::instance()->create($FQCN),
299
+			$FQCN
300
+		);
301
+	}
302 302
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -75,7 +75,7 @@  discard block
 block discarded – undo
75 75
         LocatorInterface $file_locator = null
76 76
     ) {
77 77
         $this->collection_details = $collection_details;
78
-        if (! $collection instanceof CollectionInterface) {
78
+        if ( ! $collection instanceof CollectionInterface) {
79 79
             $collection = new Collection($this->collection_details->getCollectionInterface());
80 80
         }
81 81
         $this->collection = $collection;
@@ -104,7 +104,7 @@  discard block
 block discarded – undo
104 104
      */
105 105
     protected function loadAllFromFilepaths()
106 106
     {
107
-        if (! $this->file_locator instanceof FileLocator) {
107
+        if ( ! $this->file_locator instanceof FileLocator) {
108 108
             $this->file_locator = new FileLocator();
109 109
         }
110 110
         $this->file_locator->setFileMask($this->collection_details->getFileMask());
@@ -139,10 +139,10 @@  discard block
 block discarded – undo
139 139
      */
140 140
     protected function loadClassFromFilepath($filepath)
141 141
     {
142
-        if (! is_string($filepath)) {
142
+        if ( ! is_string($filepath)) {
143 143
             throw new InvalidDataTypeException('$filepath', $filepath, 'string');
144 144
         }
145
-        if (! is_readable($filepath)) {
145
+        if ( ! is_readable($filepath)) {
146 146
             throw new InvalidFilePathException($filepath);
147 147
         }
148 148
         require_once($filepath);
@@ -150,7 +150,7 @@  discard block
 block discarded – undo
150 150
         $file_name = basename($filepath);
151 151
         // now remove any file extensions
152 152
         $class_name = \EEH_File::get_classname_from_filepath_with_standard_filename($file_name);
153
-        if (! class_exists($class_name)) {
153
+        if ( ! class_exists($class_name)) {
154 154
             throw new InvalidClassException($class_name);
155 155
         }
156 156
         return $this->addEntityToCollection(new $class_name(), $file_name);
@@ -226,7 +226,7 @@  discard block
 block discarded – undo
226 226
             // objects added to the collection based on entity callback, so the entity itself decides
227 227
             case CollectionDetails::ID_CALLBACK_METHOD:
228 228
                 $identifier_callback = $this->collection_details->identifierCallback();
229
-                if (! method_exists($entity, $identifier_callback)) {
229
+                if ( ! method_exists($entity, $identifier_callback)) {
230 230
                     throw new InvalidEntityException(
231 231
                         $entity,
232 232
                         $this->collection_details->getCollectionInterface(),
@@ -288,10 +288,10 @@  discard block
 block discarded – undo
288 288
      */
289 289
     protected function loadClassFromFQCN($FQCN)
290 290
     {
291
-        if (! is_string($FQCN)) {
291
+        if ( ! is_string($FQCN)) {
292 292
             throw new InvalidDataTypeException('$FQCN', $FQCN, 'string');
293 293
         }
294
-        if (! class_exists($FQCN)) {
294
+        if ( ! class_exists($FQCN)) {
295 295
             throw new InvalidClassException($FQCN);
296 296
         }
297 297
         return $this->addEntityToCollection(
Please login to merge, or discard this patch.
core/services/collections/CollectionDetails.php 2 patches
Indentation   +347 added lines, -347 removed lines patch added patch discarded remove patch
@@ -42,351 +42,351 @@
 block discarded – undo
42 42
 class CollectionDetails implements CollectionDetailsInterface
43 43
 {
44 44
 
45
-    /**
46
-     * if $identifier_type is set to this,
47
-     * then the collection will use each object's spl_object_hash() as it's identifier
48
-     */
49
-    const ID_OBJECT_HASH = 'identifier-uses-spl-object-hash';
50
-
51
-    /**
52
-     * if $identifier_type is set to this,
53
-     * then the collection will use each object's class name as it's identifier
54
-     */
55
-    const ID_CLASS_NAME = 'identifier-uses-object-class-name';
56
-
57
-    /**
58
-     * if $identifier_type is set to this,
59
-     * then the collection will use the return value from a specified callback method on each object
60
-     */
61
-    const ID_CALLBACK_METHOD = 'identifier-uses-callback-method';
62
-
63
-    /**
64
-     * The interface used for controlling what gets added to the collection
65
-     *
66
-     * @var string $collection_interface
67
-     */
68
-    protected $collection_interface = '';
69
-
70
-    /**
71
-     * a unique name used to identify the collection in filter names
72
-     * supplied value is run through sanitize_title_with_dashes(),
73
-     * but then also converts dashes to underscores
74
-     *
75
-     * @var string $collection_name
76
-     */
77
-    protected $collection_name = '';
78
-
79
-    /**
80
-     * what the collection uses for the object identifier.
81
-     * corresponds to one of the class constants above.
82
-     * CollectionDetails::ID_OBJECT_HASH will use spl_object_hash( object ) for the identifier
83
-     * CollectionDetails::ID_CLASS_NAME will use get_class( object ) for the identifier
84
-     * CollectionDetails::ID_CALLBACK_METHOD will use a callback for the identifier
85
-     * defaults to using spl_object_hash() so that multiple objects of the same class can be added
86
-     *
87
-     * @var string $identifier_type
88
-     */
89
-    protected $identifier_type = CollectionDetails::ID_OBJECT_HASH;
90
-
91
-    /**
92
-     * the pattern applied to paths when searching for class files to add to the collection
93
-     * ie: "My_Awesome_*.class.php"
94
-     * defaults to "*.php"
95
-     *
96
-     * @var string $file_mask
97
-     */
98
-    protected $file_mask = '';
99
-
100
-    /**
101
-     * if the $identifier_type above is set to CollectionDetails::ID_CALLBACK_METHOD,
102
-     * then this specifies the method to use on each entity.
103
-     * If the callback method does not exist, then an exception will be thrown
104
-     *
105
-     * @var string $identifier_callback
106
-     */
107
-    protected $identifier_callback = '';
108
-
109
-    /**
110
-     * an array of Fully Qualified Class Names
111
-     *  for example:
112
-     *  $FQCNs = array(
113
-     *      '/Fully/Qualified/ClassNameA'
114
-     *      '/Fully/Qualified/Other/ClassNameB'
115
-     *  );
116
-     *
117
-     * @var array $collection_FQCNs
118
-     */
119
-    protected $collection_FQCNs = array();
120
-
121
-    /**
122
-     * an array of full server paths to folders containing files to be loaded into collection
123
-     *  for example:
124
-     *  $paths = array(
125
-     *      '/full/server/path/to/ClassNameA.ext.php' // for class ClassNameA
126
-     *      '/full/server/path/to/other/ClassNameB.php' // for class ClassNameB
127
-     *  );
128
-     *
129
-     * @var array $collection_paths
130
-     */
131
-    protected $collection_paths = array();
132
-
133
-    /**
134
-     * @var LocatorInterface $file_locator
135
-     */
136
-    protected $file_locator;
137
-
138
-
139
-    /**
140
-     * CollectionDetails constructor.
141
-     *
142
-     * @access public
143
-     * @param string           $collection_name
144
-     * @param string           $collection_interface
145
-     * @param array            $collection_FQCNs
146
-     * @param array            $collection_paths
147
-     * @param string           $file_mask
148
-     * @param string           $identifier_type
149
-     * @param string           $identifier_callback
150
-     * @param LocatorInterface $file_locator
151
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
152
-     * @throws \EventEspresso\core\exceptions\InvalidFilePathException
153
-     * @throws \EventEspresso\core\exceptions\InvalidIdentifierException
154
-     * @throws \EventEspresso\core\exceptions\InvalidInterfaceException
155
-     * @throws \EventEspresso\core\exceptions\InvalidClassException
156
-     */
157
-    public function __construct(
158
-        $collection_name,
159
-        $collection_interface,
160
-        $collection_FQCNs = array(),
161
-        $collection_paths = array(),
162
-        $file_mask = '',
163
-        $identifier_type = CollectionDetails::ID_OBJECT_HASH,
164
-        $identifier_callback = '',
165
-        LocatorInterface $file_locator = null
166
-    ) {
167
-        $this->setCollectionName($collection_name);
168
-        $this->setCollectionInterface($collection_interface);
169
-        $this->setCollectionFQCNs($collection_FQCNs);
170
-        $this->setCollectionPaths($collection_paths);
171
-        $this->setFileMasks($file_mask);
172
-        $this->setIdentifierType($identifier_type);
173
-        $this->setIdentifierCallback($identifier_callback);
174
-        $this->file_locator = $file_locator;
175
-    }
176
-
177
-
178
-    /**
179
-     * @access public
180
-     * @return mixed
181
-     */
182
-    public function getCollectionInterface()
183
-    {
184
-        return $this->collection_interface;
185
-    }
186
-
187
-
188
-    /**
189
-     * @access protected
190
-     * @param string $collection_interface
191
-     * @throws \EventEspresso\core\exceptions\InvalidInterfaceException
192
-     */
193
-    protected function setCollectionInterface($collection_interface)
194
-    {
195
-        if (! (interface_exists($collection_interface) || class_exists($collection_interface))) {
196
-            throw new InvalidInterfaceException($collection_interface);
197
-        }
198
-        $this->collection_interface = $collection_interface;
199
-    }
200
-
201
-
202
-    /**
203
-     * the collection name will be used for creating dynamic filters
204
-     *
205
-     * @access public
206
-     * @return string
207
-     */
208
-    public function collectionName()
209
-    {
210
-        return $this->collection_name;
211
-    }
212
-
213
-
214
-    /**
215
-     * sanitizes collection name and converts spaces and dashes to underscores
216
-     *
217
-     * @access protected
218
-     * @param string $collection_name
219
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
220
-     */
221
-    protected function setCollectionName($collection_name)
222
-    {
223
-        if (! is_string($collection_name)) {
224
-            throw new InvalidDataTypeException('$collection_name', $collection_name, 'string');
225
-        }
226
-        $this->collection_name = str_replace(
227
-            '-',
228
-            '_',
229
-            sanitize_title_with_dashes($collection_name, '', 'save')
230
-        );
231
-    }
232
-
233
-
234
-    /**
235
-     * @access public
236
-     * @return string
237
-     */
238
-    public function identifierType()
239
-    {
240
-        return $this->identifier_type;
241
-    }
242
-
243
-
244
-    /**
245
-     * @access protected
246
-     * @param string $identifier_type
247
-     * @throws \EventEspresso\core\exceptions\InvalidIdentifierException
248
-     */
249
-    protected function setIdentifierType($identifier_type)
250
-    {
251
-        if (! ($identifier_type === CollectionDetails::ID_CLASS_NAME
252
-               || $identifier_type === CollectionDetails::ID_OBJECT_HASH
253
-               || $identifier_type === CollectionDetails::ID_CALLBACK_METHOD
254
-        )) {
255
-            throw new InvalidIdentifierException(
256
-                $identifier_type,
257
-                'CollectionDetails::ID_CLASS_NAME or CollectionDetails::ID_OBJECT_HASH or CollectionDetails::ID_CALLBACK_METHOD'
258
-            );
259
-        }
260
-        $this->identifier_type = $identifier_type;
261
-    }
262
-
263
-
264
-    /**
265
-     * @access public
266
-     * @return string
267
-     */
268
-    public function identifierCallback()
269
-    {
270
-        return $this->identifier_callback;
271
-    }
272
-
273
-
274
-    /**
275
-     * @access protected
276
-     * @param string $identifier_callback
277
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
278
-     */
279
-    protected function setIdentifierCallback($identifier_callback = 'identifier')
280
-    {
281
-        if (! is_string($identifier_callback)) {
282
-            throw new InvalidDataTypeException('$identifier_callback', $identifier_callback, 'string');
283
-        }
284
-        $this->identifier_callback = $identifier_callback;
285
-    }
286
-
287
-
288
-    /**
289
-     * @access public
290
-     * @return string
291
-     */
292
-    public function getFileMask()
293
-    {
294
-        return $this->file_mask;
295
-    }
296
-
297
-
298
-    /**
299
-     * sets the file mask which is then used to filter what files get loaded
300
-     * when searching for classes to add to the collection. Defaults to '*.php'
301
-     *
302
-     * @access protected
303
-     * @param string $file_mask
304
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
305
-     */
306
-    protected function setFileMasks($file_mask)
307
-    {
308
-        $this->file_mask = ! empty($file_mask) ? $file_mask : '*.php';
309
-        // we know our default is a string, so if it's not a string now,
310
-        // then that means the incoming parameter was something else
311
-        if (! is_string($this->file_mask)) {
312
-            throw new InvalidDataTypeException('$file_mask', $this->file_mask, 'string');
313
-        }
314
-    }
315
-
316
-
317
-    /**
318
-     * @access public
319
-     * @return string
320
-     */
321
-    public function getCollectionFQCNs()
322
-    {
323
-        return $this->collection_FQCNs;
324
-    }
325
-
326
-
327
-    /**
328
-     * @access public
329
-     * @param string|array $collection_FQCNs
330
-     * @throws \EventEspresso\core\exceptions\InvalidClassException
331
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
332
-     */
333
-    public function setCollectionFQCNs($collection_FQCNs)
334
-    {
335
-        foreach ((array) $collection_FQCNs as $collection_FQCN) {
336
-            if (! empty($collection_FQCN)) {
337
-                if (class_exists($collection_FQCN)) {
338
-                    $this->collection_FQCNs[] = $collection_FQCN;
339
-                } else {
340
-                    foreach ($this->getFQCNsFromPartialNamespace($collection_FQCN) as $FQCN) {
341
-                        $this->collection_FQCNs[] = $FQCN;
342
-                    }
343
-                }
344
-            }
345
-        }
346
-    }
347
-
348
-
349
-    /**
350
-     * @access protected
351
-     * @param  string $partial_FQCN
352
-     * @return array
353
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
354
-     * @throws \EventEspresso\core\exceptions\InvalidClassException
355
-     */
356
-    protected function getFQCNsFromPartialNamespace($partial_FQCN)
357
-    {
358
-        if (! $this->file_locator instanceof FqcnLocator) {
359
-            $this->file_locator = new FqcnLocator();
360
-        }
361
-        $this->file_locator->locate($partial_FQCN);
362
-        return $this->file_locator->getFQCNs();
363
-    }
364
-
365
-
366
-    /**
367
-     * @access public
368
-     * @return string
369
-     */
370
-    public function getCollectionPaths()
371
-    {
372
-        return $this->collection_paths;
373
-    }
374
-
375
-
376
-    /**
377
-     * @access public
378
-     * @param string|array $collection_paths
379
-     * @throws \EventEspresso\core\exceptions\InvalidFilePathException
380
-     */
381
-    public function setCollectionPaths($collection_paths)
382
-    {
383
-        foreach ((array) $collection_paths as $collection_path) {
384
-            if (! empty($collection_path)) {
385
-                if (! is_readable($collection_path)) {
386
-                    throw new InvalidFilePathException($collection_path);
387
-                }
388
-                $this->collection_paths[] = $collection_path;
389
-            }
390
-        }
391
-    }
45
+	/**
46
+	 * if $identifier_type is set to this,
47
+	 * then the collection will use each object's spl_object_hash() as it's identifier
48
+	 */
49
+	const ID_OBJECT_HASH = 'identifier-uses-spl-object-hash';
50
+
51
+	/**
52
+	 * if $identifier_type is set to this,
53
+	 * then the collection will use each object's class name as it's identifier
54
+	 */
55
+	const ID_CLASS_NAME = 'identifier-uses-object-class-name';
56
+
57
+	/**
58
+	 * if $identifier_type is set to this,
59
+	 * then the collection will use the return value from a specified callback method on each object
60
+	 */
61
+	const ID_CALLBACK_METHOD = 'identifier-uses-callback-method';
62
+
63
+	/**
64
+	 * The interface used for controlling what gets added to the collection
65
+	 *
66
+	 * @var string $collection_interface
67
+	 */
68
+	protected $collection_interface = '';
69
+
70
+	/**
71
+	 * a unique name used to identify the collection in filter names
72
+	 * supplied value is run through sanitize_title_with_dashes(),
73
+	 * but then also converts dashes to underscores
74
+	 *
75
+	 * @var string $collection_name
76
+	 */
77
+	protected $collection_name = '';
78
+
79
+	/**
80
+	 * what the collection uses for the object identifier.
81
+	 * corresponds to one of the class constants above.
82
+	 * CollectionDetails::ID_OBJECT_HASH will use spl_object_hash( object ) for the identifier
83
+	 * CollectionDetails::ID_CLASS_NAME will use get_class( object ) for the identifier
84
+	 * CollectionDetails::ID_CALLBACK_METHOD will use a callback for the identifier
85
+	 * defaults to using spl_object_hash() so that multiple objects of the same class can be added
86
+	 *
87
+	 * @var string $identifier_type
88
+	 */
89
+	protected $identifier_type = CollectionDetails::ID_OBJECT_HASH;
90
+
91
+	/**
92
+	 * the pattern applied to paths when searching for class files to add to the collection
93
+	 * ie: "My_Awesome_*.class.php"
94
+	 * defaults to "*.php"
95
+	 *
96
+	 * @var string $file_mask
97
+	 */
98
+	protected $file_mask = '';
99
+
100
+	/**
101
+	 * if the $identifier_type above is set to CollectionDetails::ID_CALLBACK_METHOD,
102
+	 * then this specifies the method to use on each entity.
103
+	 * If the callback method does not exist, then an exception will be thrown
104
+	 *
105
+	 * @var string $identifier_callback
106
+	 */
107
+	protected $identifier_callback = '';
108
+
109
+	/**
110
+	 * an array of Fully Qualified Class Names
111
+	 *  for example:
112
+	 *  $FQCNs = array(
113
+	 *      '/Fully/Qualified/ClassNameA'
114
+	 *      '/Fully/Qualified/Other/ClassNameB'
115
+	 *  );
116
+	 *
117
+	 * @var array $collection_FQCNs
118
+	 */
119
+	protected $collection_FQCNs = array();
120
+
121
+	/**
122
+	 * an array of full server paths to folders containing files to be loaded into collection
123
+	 *  for example:
124
+	 *  $paths = array(
125
+	 *      '/full/server/path/to/ClassNameA.ext.php' // for class ClassNameA
126
+	 *      '/full/server/path/to/other/ClassNameB.php' // for class ClassNameB
127
+	 *  );
128
+	 *
129
+	 * @var array $collection_paths
130
+	 */
131
+	protected $collection_paths = array();
132
+
133
+	/**
134
+	 * @var LocatorInterface $file_locator
135
+	 */
136
+	protected $file_locator;
137
+
138
+
139
+	/**
140
+	 * CollectionDetails constructor.
141
+	 *
142
+	 * @access public
143
+	 * @param string           $collection_name
144
+	 * @param string           $collection_interface
145
+	 * @param array            $collection_FQCNs
146
+	 * @param array            $collection_paths
147
+	 * @param string           $file_mask
148
+	 * @param string           $identifier_type
149
+	 * @param string           $identifier_callback
150
+	 * @param LocatorInterface $file_locator
151
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
152
+	 * @throws \EventEspresso\core\exceptions\InvalidFilePathException
153
+	 * @throws \EventEspresso\core\exceptions\InvalidIdentifierException
154
+	 * @throws \EventEspresso\core\exceptions\InvalidInterfaceException
155
+	 * @throws \EventEspresso\core\exceptions\InvalidClassException
156
+	 */
157
+	public function __construct(
158
+		$collection_name,
159
+		$collection_interface,
160
+		$collection_FQCNs = array(),
161
+		$collection_paths = array(),
162
+		$file_mask = '',
163
+		$identifier_type = CollectionDetails::ID_OBJECT_HASH,
164
+		$identifier_callback = '',
165
+		LocatorInterface $file_locator = null
166
+	) {
167
+		$this->setCollectionName($collection_name);
168
+		$this->setCollectionInterface($collection_interface);
169
+		$this->setCollectionFQCNs($collection_FQCNs);
170
+		$this->setCollectionPaths($collection_paths);
171
+		$this->setFileMasks($file_mask);
172
+		$this->setIdentifierType($identifier_type);
173
+		$this->setIdentifierCallback($identifier_callback);
174
+		$this->file_locator = $file_locator;
175
+	}
176
+
177
+
178
+	/**
179
+	 * @access public
180
+	 * @return mixed
181
+	 */
182
+	public function getCollectionInterface()
183
+	{
184
+		return $this->collection_interface;
185
+	}
186
+
187
+
188
+	/**
189
+	 * @access protected
190
+	 * @param string $collection_interface
191
+	 * @throws \EventEspresso\core\exceptions\InvalidInterfaceException
192
+	 */
193
+	protected function setCollectionInterface($collection_interface)
194
+	{
195
+		if (! (interface_exists($collection_interface) || class_exists($collection_interface))) {
196
+			throw new InvalidInterfaceException($collection_interface);
197
+		}
198
+		$this->collection_interface = $collection_interface;
199
+	}
200
+
201
+
202
+	/**
203
+	 * the collection name will be used for creating dynamic filters
204
+	 *
205
+	 * @access public
206
+	 * @return string
207
+	 */
208
+	public function collectionName()
209
+	{
210
+		return $this->collection_name;
211
+	}
212
+
213
+
214
+	/**
215
+	 * sanitizes collection name and converts spaces and dashes to underscores
216
+	 *
217
+	 * @access protected
218
+	 * @param string $collection_name
219
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
220
+	 */
221
+	protected function setCollectionName($collection_name)
222
+	{
223
+		if (! is_string($collection_name)) {
224
+			throw new InvalidDataTypeException('$collection_name', $collection_name, 'string');
225
+		}
226
+		$this->collection_name = str_replace(
227
+			'-',
228
+			'_',
229
+			sanitize_title_with_dashes($collection_name, '', 'save')
230
+		);
231
+	}
232
+
233
+
234
+	/**
235
+	 * @access public
236
+	 * @return string
237
+	 */
238
+	public function identifierType()
239
+	{
240
+		return $this->identifier_type;
241
+	}
242
+
243
+
244
+	/**
245
+	 * @access protected
246
+	 * @param string $identifier_type
247
+	 * @throws \EventEspresso\core\exceptions\InvalidIdentifierException
248
+	 */
249
+	protected function setIdentifierType($identifier_type)
250
+	{
251
+		if (! ($identifier_type === CollectionDetails::ID_CLASS_NAME
252
+			   || $identifier_type === CollectionDetails::ID_OBJECT_HASH
253
+			   || $identifier_type === CollectionDetails::ID_CALLBACK_METHOD
254
+		)) {
255
+			throw new InvalidIdentifierException(
256
+				$identifier_type,
257
+				'CollectionDetails::ID_CLASS_NAME or CollectionDetails::ID_OBJECT_HASH or CollectionDetails::ID_CALLBACK_METHOD'
258
+			);
259
+		}
260
+		$this->identifier_type = $identifier_type;
261
+	}
262
+
263
+
264
+	/**
265
+	 * @access public
266
+	 * @return string
267
+	 */
268
+	public function identifierCallback()
269
+	{
270
+		return $this->identifier_callback;
271
+	}
272
+
273
+
274
+	/**
275
+	 * @access protected
276
+	 * @param string $identifier_callback
277
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
278
+	 */
279
+	protected function setIdentifierCallback($identifier_callback = 'identifier')
280
+	{
281
+		if (! is_string($identifier_callback)) {
282
+			throw new InvalidDataTypeException('$identifier_callback', $identifier_callback, 'string');
283
+		}
284
+		$this->identifier_callback = $identifier_callback;
285
+	}
286
+
287
+
288
+	/**
289
+	 * @access public
290
+	 * @return string
291
+	 */
292
+	public function getFileMask()
293
+	{
294
+		return $this->file_mask;
295
+	}
296
+
297
+
298
+	/**
299
+	 * sets the file mask which is then used to filter what files get loaded
300
+	 * when searching for classes to add to the collection. Defaults to '*.php'
301
+	 *
302
+	 * @access protected
303
+	 * @param string $file_mask
304
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
305
+	 */
306
+	protected function setFileMasks($file_mask)
307
+	{
308
+		$this->file_mask = ! empty($file_mask) ? $file_mask : '*.php';
309
+		// we know our default is a string, so if it's not a string now,
310
+		// then that means the incoming parameter was something else
311
+		if (! is_string($this->file_mask)) {
312
+			throw new InvalidDataTypeException('$file_mask', $this->file_mask, 'string');
313
+		}
314
+	}
315
+
316
+
317
+	/**
318
+	 * @access public
319
+	 * @return string
320
+	 */
321
+	public function getCollectionFQCNs()
322
+	{
323
+		return $this->collection_FQCNs;
324
+	}
325
+
326
+
327
+	/**
328
+	 * @access public
329
+	 * @param string|array $collection_FQCNs
330
+	 * @throws \EventEspresso\core\exceptions\InvalidClassException
331
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
332
+	 */
333
+	public function setCollectionFQCNs($collection_FQCNs)
334
+	{
335
+		foreach ((array) $collection_FQCNs as $collection_FQCN) {
336
+			if (! empty($collection_FQCN)) {
337
+				if (class_exists($collection_FQCN)) {
338
+					$this->collection_FQCNs[] = $collection_FQCN;
339
+				} else {
340
+					foreach ($this->getFQCNsFromPartialNamespace($collection_FQCN) as $FQCN) {
341
+						$this->collection_FQCNs[] = $FQCN;
342
+					}
343
+				}
344
+			}
345
+		}
346
+	}
347
+
348
+
349
+	/**
350
+	 * @access protected
351
+	 * @param  string $partial_FQCN
352
+	 * @return array
353
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
354
+	 * @throws \EventEspresso\core\exceptions\InvalidClassException
355
+	 */
356
+	protected function getFQCNsFromPartialNamespace($partial_FQCN)
357
+	{
358
+		if (! $this->file_locator instanceof FqcnLocator) {
359
+			$this->file_locator = new FqcnLocator();
360
+		}
361
+		$this->file_locator->locate($partial_FQCN);
362
+		return $this->file_locator->getFQCNs();
363
+	}
364
+
365
+
366
+	/**
367
+	 * @access public
368
+	 * @return string
369
+	 */
370
+	public function getCollectionPaths()
371
+	{
372
+		return $this->collection_paths;
373
+	}
374
+
375
+
376
+	/**
377
+	 * @access public
378
+	 * @param string|array $collection_paths
379
+	 * @throws \EventEspresso\core\exceptions\InvalidFilePathException
380
+	 */
381
+	public function setCollectionPaths($collection_paths)
382
+	{
383
+		foreach ((array) $collection_paths as $collection_path) {
384
+			if (! empty($collection_path)) {
385
+				if (! is_readable($collection_path)) {
386
+					throw new InvalidFilePathException($collection_path);
387
+				}
388
+				$this->collection_paths[] = $collection_path;
389
+			}
390
+		}
391
+	}
392 392
 }
Please login to merge, or discard this patch.
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -192,7 +192,7 @@  discard block
 block discarded – undo
192 192
      */
193 193
     protected function setCollectionInterface($collection_interface)
194 194
     {
195
-        if (! (interface_exists($collection_interface) || class_exists($collection_interface))) {
195
+        if ( ! (interface_exists($collection_interface) || class_exists($collection_interface))) {
196 196
             throw new InvalidInterfaceException($collection_interface);
197 197
         }
198 198
         $this->collection_interface = $collection_interface;
@@ -220,7 +220,7 @@  discard block
 block discarded – undo
220 220
      */
221 221
     protected function setCollectionName($collection_name)
222 222
     {
223
-        if (! is_string($collection_name)) {
223
+        if ( ! is_string($collection_name)) {
224 224
             throw new InvalidDataTypeException('$collection_name', $collection_name, 'string');
225 225
         }
226 226
         $this->collection_name = str_replace(
@@ -248,7 +248,7 @@  discard block
 block discarded – undo
248 248
      */
249 249
     protected function setIdentifierType($identifier_type)
250 250
     {
251
-        if (! ($identifier_type === CollectionDetails::ID_CLASS_NAME
251
+        if ( ! ($identifier_type === CollectionDetails::ID_CLASS_NAME
252 252
                || $identifier_type === CollectionDetails::ID_OBJECT_HASH
253 253
                || $identifier_type === CollectionDetails::ID_CALLBACK_METHOD
254 254
         )) {
@@ -278,7 +278,7 @@  discard block
 block discarded – undo
278 278
      */
279 279
     protected function setIdentifierCallback($identifier_callback = 'identifier')
280 280
     {
281
-        if (! is_string($identifier_callback)) {
281
+        if ( ! is_string($identifier_callback)) {
282 282
             throw new InvalidDataTypeException('$identifier_callback', $identifier_callback, 'string');
283 283
         }
284 284
         $this->identifier_callback = $identifier_callback;
@@ -308,7 +308,7 @@  discard block
 block discarded – undo
308 308
         $this->file_mask = ! empty($file_mask) ? $file_mask : '*.php';
309 309
         // we know our default is a string, so if it's not a string now,
310 310
         // then that means the incoming parameter was something else
311
-        if (! is_string($this->file_mask)) {
311
+        if ( ! is_string($this->file_mask)) {
312 312
             throw new InvalidDataTypeException('$file_mask', $this->file_mask, 'string');
313 313
         }
314 314
     }
@@ -333,7 +333,7 @@  discard block
 block discarded – undo
333 333
     public function setCollectionFQCNs($collection_FQCNs)
334 334
     {
335 335
         foreach ((array) $collection_FQCNs as $collection_FQCN) {
336
-            if (! empty($collection_FQCN)) {
336
+            if ( ! empty($collection_FQCN)) {
337 337
                 if (class_exists($collection_FQCN)) {
338 338
                     $this->collection_FQCNs[] = $collection_FQCN;
339 339
                 } else {
@@ -355,7 +355,7 @@  discard block
 block discarded – undo
355 355
      */
356 356
     protected function getFQCNsFromPartialNamespace($partial_FQCN)
357 357
     {
358
-        if (! $this->file_locator instanceof FqcnLocator) {
358
+        if ( ! $this->file_locator instanceof FqcnLocator) {
359 359
             $this->file_locator = new FqcnLocator();
360 360
         }
361 361
         $this->file_locator->locate($partial_FQCN);
@@ -381,8 +381,8 @@  discard block
 block discarded – undo
381 381
     public function setCollectionPaths($collection_paths)
382 382
     {
383 383
         foreach ((array) $collection_paths as $collection_path) {
384
-            if (! empty($collection_path)) {
385
-                if (! is_readable($collection_path)) {
384
+            if ( ! empty($collection_path)) {
385
+                if ( ! is_readable($collection_path)) {
386 386
                     throw new InvalidFilePathException($collection_path);
387 387
                 }
388 388
                 $this->collection_paths[] = $collection_path;
Please login to merge, or discard this patch.
core/services/licensing/LicenseService.php 2 patches
Indentation   +90 added lines, -90 removed lines patch added patch discarded remove patch
@@ -15,94 +15,94 @@
 block discarded – undo
15 15
  */
16 16
 class LicenseService
17 17
 {
18
-    /**
19
-     * @var Config
20
-     */
21
-    private $config;
22
-
23
-
24
-    /**
25
-     * @var Stats
26
-     */
27
-    private $stats_collection;
28
-
29
-    public function __construct(Stats $stats_collection, Config $config)
30
-    {
31
-        $this->config = $config;
32
-        $this->stats_collection = $stats_collection;
33
-        $this->loadPueClient();
34
-    }
35
-
36
-    private function loadPueClient()
37
-    {
38
-        // PUE Auto Upgrades stuff
39
-        if (is_readable(EE_THIRD_PARTY . 'pue/pue-client.php')) { // include the file
40
-            require_once(EE_THIRD_PARTY . 'pue/pue-client.php');
41
-
42
-            // $options needs to be an array with the included keys as listed.
43
-            $options = array(
44
-                // 'optionName' => '', //(optional) - used as the reference for saving update information in the
45
-                // clients options table.  Will be automatically set if left blank.
46
-                'apikey'                => $this->config->siteLicenseKey(),
47
-                // (required), you will need to obtain the apikey that the client gets from your site and
48
-                // then saves in their sites options table (see 'getting an api-key' below)
49
-                'lang_domain'           => $this->config->i18nDomain(),
50
-                // (optional) - put here whatever reference you are using for the localization of your plugin (if it's
51
-                // localized).  That way strings in this file will be included in the translation for your plugin.
52
-                'checkPeriod'           => $this->config->checkPeriod(),
53
-                // (optional) - use this parameter to indicate how often you want the client's install to ping your
54
-                // server for update checks.  The integer indicates hours.  If you don't include this parameter it will
55
-                // default to 12 hours.
56
-                'option_key'            => $this->config->optionKey(),
57
-                // this is what is used to reference the api_key in your plugin options.  PUE uses this to trigger
58
-                // updating your information message whenever this option_key is modified.
59
-                'options_page_slug'     => $this->config->optionsPageSlug(),
60
-                'plugin_basename'       => EE_PLUGIN_BASENAME,
61
-                'use_wp_update'         => true,
62
-                // if TRUE then you want FREE versions of the plugin to be updated from WP
63
-                'extra_stats'           => $this->stats_collection->statsCallback(),
64
-                'turn_on_notices_saved' => true,
65
-            );
66
-            // initiate the class and start the plugin update engine!
67
-            new PluginUpdateEngineChecker(
68
-                $this->config->hostServerUrl(),
69
-                $this->config->pluginSlug(),
70
-                $options
71
-            );
72
-        }
73
-    }
74
-
75
-
76
-    /**
77
-     * This is a handy helper method for retrieving whether there is an update available for the given plugin.
78
-     *
79
-     * @param  string $basename Use the equivalent result from plugin_basename() for this param as WP uses that to
80
-     *                          identify plugins. Defaults to core update
81
-     * @return boolean           True if update available, false if not.
82
-     */
83
-    public static function isUpdateAvailable($basename = '')
84
-    {
85
-        $basename = ! empty($basename) ? $basename : EE_PLUGIN_BASENAME;
86
-
87
-        $update = false;
88
-
89
-        // should take "event-espresso-core/espresso.php" and change to "/event-espresso-core"
90
-        $folder = DS . dirname($basename);
91
-
92
-        $plugins = get_plugins($folder);
93
-        $current = get_site_transient('update_plugins');
94
-
95
-        foreach ((array) $plugins as $plugin_file => $plugin_data) {
96
-            if (isset($current->response['plugin_file'])) {
97
-                $update = true;
98
-            }
99
-        }
100
-
101
-        // it's possible that there is an update but an invalid site-license-key is in use
102
-        if (get_site_option('pue_json_error_' . $basename)) {
103
-            $update = true;
104
-        }
105
-
106
-        return $update;
107
-    }
18
+	/**
19
+	 * @var Config
20
+	 */
21
+	private $config;
22
+
23
+
24
+	/**
25
+	 * @var Stats
26
+	 */
27
+	private $stats_collection;
28
+
29
+	public function __construct(Stats $stats_collection, Config $config)
30
+	{
31
+		$this->config = $config;
32
+		$this->stats_collection = $stats_collection;
33
+		$this->loadPueClient();
34
+	}
35
+
36
+	private function loadPueClient()
37
+	{
38
+		// PUE Auto Upgrades stuff
39
+		if (is_readable(EE_THIRD_PARTY . 'pue/pue-client.php')) { // include the file
40
+			require_once(EE_THIRD_PARTY . 'pue/pue-client.php');
41
+
42
+			// $options needs to be an array with the included keys as listed.
43
+			$options = array(
44
+				// 'optionName' => '', //(optional) - used as the reference for saving update information in the
45
+				// clients options table.  Will be automatically set if left blank.
46
+				'apikey'                => $this->config->siteLicenseKey(),
47
+				// (required), you will need to obtain the apikey that the client gets from your site and
48
+				// then saves in their sites options table (see 'getting an api-key' below)
49
+				'lang_domain'           => $this->config->i18nDomain(),
50
+				// (optional) - put here whatever reference you are using for the localization of your plugin (if it's
51
+				// localized).  That way strings in this file will be included in the translation for your plugin.
52
+				'checkPeriod'           => $this->config->checkPeriod(),
53
+				// (optional) - use this parameter to indicate how often you want the client's install to ping your
54
+				// server for update checks.  The integer indicates hours.  If you don't include this parameter it will
55
+				// default to 12 hours.
56
+				'option_key'            => $this->config->optionKey(),
57
+				// this is what is used to reference the api_key in your plugin options.  PUE uses this to trigger
58
+				// updating your information message whenever this option_key is modified.
59
+				'options_page_slug'     => $this->config->optionsPageSlug(),
60
+				'plugin_basename'       => EE_PLUGIN_BASENAME,
61
+				'use_wp_update'         => true,
62
+				// if TRUE then you want FREE versions of the plugin to be updated from WP
63
+				'extra_stats'           => $this->stats_collection->statsCallback(),
64
+				'turn_on_notices_saved' => true,
65
+			);
66
+			// initiate the class and start the plugin update engine!
67
+			new PluginUpdateEngineChecker(
68
+				$this->config->hostServerUrl(),
69
+				$this->config->pluginSlug(),
70
+				$options
71
+			);
72
+		}
73
+	}
74
+
75
+
76
+	/**
77
+	 * This is a handy helper method for retrieving whether there is an update available for the given plugin.
78
+	 *
79
+	 * @param  string $basename Use the equivalent result from plugin_basename() for this param as WP uses that to
80
+	 *                          identify plugins. Defaults to core update
81
+	 * @return boolean           True if update available, false if not.
82
+	 */
83
+	public static function isUpdateAvailable($basename = '')
84
+	{
85
+		$basename = ! empty($basename) ? $basename : EE_PLUGIN_BASENAME;
86
+
87
+		$update = false;
88
+
89
+		// should take "event-espresso-core/espresso.php" and change to "/event-espresso-core"
90
+		$folder = DS . dirname($basename);
91
+
92
+		$plugins = get_plugins($folder);
93
+		$current = get_site_transient('update_plugins');
94
+
95
+		foreach ((array) $plugins as $plugin_file => $plugin_data) {
96
+			if (isset($current->response['plugin_file'])) {
97
+				$update = true;
98
+			}
99
+		}
100
+
101
+		// it's possible that there is an update but an invalid site-license-key is in use
102
+		if (get_site_option('pue_json_error_' . $basename)) {
103
+			$update = true;
104
+		}
105
+
106
+		return $update;
107
+	}
108 108
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -36,8 +36,8 @@  discard block
 block discarded – undo
36 36
     private function loadPueClient()
37 37
     {
38 38
         // PUE Auto Upgrades stuff
39
-        if (is_readable(EE_THIRD_PARTY . 'pue/pue-client.php')) { // include the file
40
-            require_once(EE_THIRD_PARTY . 'pue/pue-client.php');
39
+        if (is_readable(EE_THIRD_PARTY.'pue/pue-client.php')) { // include the file
40
+            require_once(EE_THIRD_PARTY.'pue/pue-client.php');
41 41
 
42 42
             // $options needs to be an array with the included keys as listed.
43 43
             $options = array(
@@ -87,7 +87,7 @@  discard block
 block discarded – undo
87 87
         $update = false;
88 88
 
89 89
         // should take "event-espresso-core/espresso.php" and change to "/event-espresso-core"
90
-        $folder = DS . dirname($basename);
90
+        $folder = DS.dirname($basename);
91 91
 
92 92
         $plugins = get_plugins($folder);
93 93
         $current = get_site_transient('update_plugins');
@@ -99,7 +99,7 @@  discard block
 block discarded – undo
99 99
         }
100 100
 
101 101
         // it's possible that there is an update but an invalid site-license-key is in use
102
-        if (get_site_option('pue_json_error_' . $basename)) {
102
+        if (get_site_option('pue_json_error_'.$basename)) {
103 103
             $update = true;
104 104
         }
105 105
 
Please login to merge, or discard this patch.
core/services/request/Request.php 2 patches
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -163,7 +163,7 @@  discard block
 block discarded – undo
163 163
             || ($key === 'ee' && empty($this->request['ee']))
164 164
             || ($key === 'ee' && ! empty($this->request['ee']) && $override_ee)
165 165
         ) {
166
-            $this->request[ $key ] = $value;
166
+            $this->request[$key] = $value;
167 167
         }
168 168
     }
169 169
 
@@ -254,10 +254,10 @@  discard block
 block discarded – undo
254 254
             preg_quote($pattern, '/')
255 255
         );
256 256
         foreach ($request_params as $key => $request_param) {
257
-            if (preg_match('/^' . $pattern . '$/is', $key)) {
257
+            if (preg_match('/^'.$pattern.'$/is', $key)) {
258 258
                 // return value for request param
259 259
                 if ($return === 'value') {
260
-                    return $request_params[ $key ];
260
+                    return $request_params[$key];
261 261
                 }
262 262
                 // or actual key or true just to indicate it was found
263 263
                 return $return === 'key' ? $key : true;
@@ -314,29 +314,29 @@  discard block
 block discarded – undo
314 314
                 $key = $real_key ? $real_key : $key;
315 315
             }
316 316
             // check if top level key exists
317
-            if (isset($request_params[ $key ])) {
317
+            if (isset($request_params[$key])) {
318 318
                 // build a new key to pass along like: 'second[third]'
319 319
                 // or just 'second' depending on depth of keys
320 320
                 $key_string = array_shift($keys);
321
-                if (! empty($keys)) {
322
-                    $key_string .= '[' . implode('][', $keys) . ']';
321
+                if ( ! empty($keys)) {
322
+                    $key_string .= '['.implode('][', $keys).']';
323 323
                 }
324 324
                 return $this->requestParameterDrillDown(
325 325
                     $key_string,
326 326
                     $default,
327 327
                     $callback,
328
-                    $request_params[ $key ]
328
+                    $request_params[$key]
329 329
                 );
330 330
             }
331 331
         }
332 332
         if ($callback === 'is_set') {
333
-            return isset($request_params[ $key ]);
333
+            return isset($request_params[$key]);
334 334
         }
335 335
         if ($callback === 'match') {
336 336
             return $this->match($key, $request_params, $default);
337 337
         }
338
-        return isset($request_params[ $key ])
339
-            ? $request_params[ $key ]
338
+        return isset($request_params[$key])
339
+            ? $request_params[$key]
340 340
             : $default;
341 341
     }
342 342
 
@@ -349,9 +349,9 @@  discard block
 block discarded – undo
349 349
      */
350 350
     public function unSetRequestParam($key, $unset_from_global_too = false)
351 351
     {
352
-        unset($this->request[ $key ]);
352
+        unset($this->request[$key]);
353 353
         if ($unset_from_global_too) {
354
-            unset($_REQUEST[ $key ]);
354
+            unset($_REQUEST[$key]);
355 355
         }
356 356
     }
357 357
 
@@ -385,8 +385,8 @@  discard block
 block discarded – undo
385 385
             'REMOTE_ADDR',
386 386
         );
387 387
         foreach ($server_keys as $key) {
388
-            if (isset($this->server[ $key ])) {
389
-                foreach (array_map('trim', explode(',', $this->server[ $key ])) as $ip) {
388
+            if (isset($this->server[$key])) {
389
+                foreach (array_map('trim', explode(',', $this->server[$key])) as $ip) {
390 390
                     if ($ip === '127.0.0.1' || filter_var($ip, FILTER_VALIDATE_IP) !== false) {
391 391
                         $visitor_ip = $ip;
392 392
                     }
Please login to merge, or discard this patch.
Indentation   +573 added lines, -573 removed lines patch added patch discarded remove patch
@@ -17,577 +17,577 @@
 block discarded – undo
17 17
 class Request implements InterminableInterface, RequestInterface, ReservedInstanceInterface
18 18
 {
19 19
 
20
-    /**
21
-     * $_GET parameters
22
-     *
23
-     * @var array $get
24
-     */
25
-    private $get;
26
-
27
-    /**
28
-     * $_POST parameters
29
-     *
30
-     * @var array $post
31
-     */
32
-    private $post;
33
-
34
-    /**
35
-     * $_COOKIE parameters
36
-     *
37
-     * @var array $cookie
38
-     */
39
-    private $cookie;
40
-
41
-    /**
42
-     * $_SERVER parameters
43
-     *
44
-     * @var array $server
45
-     */
46
-    private $server;
47
-
48
-    /**
49
-     * $_REQUEST parameters
50
-     *
51
-     * @var array $request
52
-     */
53
-    private $request;
54
-
55
-    /**
56
-     * @var RequestTypeContextCheckerInterface
57
-     */
58
-    private $request_type;
59
-
60
-    /**
61
-     * IP address for request
62
-     *
63
-     * @var string $ip_address
64
-     */
65
-    private $ip_address;
66
-
67
-    /**
68
-     * @var string $user_agent
69
-     */
70
-    private $user_agent;
71
-
72
-    /**
73
-     * true if current user appears to be some kind of bot
74
-     *
75
-     * @var bool $is_bot
76
-     */
77
-    private $is_bot;
78
-
79
-
80
-    /**
81
-     * @param array $get
82
-     * @param array $post
83
-     * @param array $cookie
84
-     * @param array $server
85
-     */
86
-    public function __construct(array $get, array $post, array $cookie, array $server)
87
-    {
88
-        // grab request vars
89
-        $this->get = $get;
90
-        $this->post = $post;
91
-        $this->cookie = $cookie;
92
-        $this->server = $server;
93
-        $this->request = array_merge($this->get, $this->post);
94
-        $this->ip_address = $this->visitorIp();
95
-    }
96
-
97
-
98
-    /**
99
-     * @param RequestTypeContextCheckerInterface $type
100
-     */
101
-    public function setRequestTypeContextChecker(RequestTypeContextCheckerInterface $type)
102
-    {
103
-        $this->request_type = $type;
104
-    }
105
-
106
-
107
-    /**
108
-     * @return array
109
-     */
110
-    public function getParams()
111
-    {
112
-        return $this->get;
113
-    }
114
-
115
-
116
-    /**
117
-     * @return array
118
-     */
119
-    public function postParams()
120
-    {
121
-        return $this->post;
122
-    }
123
-
124
-
125
-    /**
126
-     * @return array
127
-     */
128
-    public function cookieParams()
129
-    {
130
-        return $this->cookie;
131
-    }
132
-
133
-
134
-    /**
135
-     * @return array
136
-     */
137
-    public function serverParams()
138
-    {
139
-        return $this->server;
140
-    }
141
-
142
-
143
-    /**
144
-     * returns contents of $_REQUEST
145
-     *
146
-     * @return array
147
-     */
148
-    public function requestParams()
149
-    {
150
-        return $this->request;
151
-    }
152
-
153
-
154
-    /**
155
-     * @param      $key
156
-     * @param      $value
157
-     * @param bool $override_ee
158
-     * @return    void
159
-     */
160
-    public function setRequestParam($key, $value, $override_ee = false)
161
-    {
162
-        // don't allow "ee" to be overwritten unless explicitly instructed to do so
163
-        if ($key !== 'ee'
164
-            || ($key === 'ee' && empty($this->request['ee']))
165
-            || ($key === 'ee' && ! empty($this->request['ee']) && $override_ee)
166
-        ) {
167
-            $this->request[ $key ] = $value;
168
-        }
169
-    }
170
-
171
-
172
-    /**
173
-     * returns   the value for a request param if the given key exists
174
-     *
175
-     * @param       $key
176
-     * @param null  $default
177
-     * @return mixed
178
-     */
179
-    public function getRequestParam($key, $default = null)
180
-    {
181
-        return $this->requestParameterDrillDown($key, $default, 'get');
182
-    }
183
-
184
-
185
-    /**
186
-     * check if param exists
187
-     *
188
-     * @param       $key
189
-     * @return bool
190
-     */
191
-    public function requestParamIsSet($key)
192
-    {
193
-        return $this->requestParameterDrillDown($key);
194
-    }
195
-
196
-
197
-    /**
198
-     * check if a request parameter exists whose key that matches the supplied wildcard pattern
199
-     * and return the value for the first match found
200
-     * wildcards can be either of the following:
201
-     *      ? to represent a single character of any type
202
-     *      * to represent one or more characters of any type
203
-     *
204
-     * @param string     $pattern
205
-     * @param null|mixed $default
206
-     * @return false|int
207
-     */
208
-    public function getMatch($pattern, $default = null)
209
-    {
210
-        return $this->requestParameterDrillDown($pattern, $default, 'match');
211
-    }
212
-
213
-
214
-    /**
215
-     * check if a request parameter exists whose key matches the supplied wildcard pattern
216
-     * wildcards can be either of the following:
217
-     *      ? to represent a single character of any type
218
-     *      * to represent one or more characters of any type
219
-     * returns true if a match is found or false if not
220
-     *
221
-     * @param string $pattern
222
-     * @return false|int
223
-     */
224
-    public function matches($pattern)
225
-    {
226
-        return $this->requestParameterDrillDown($pattern, null, 'match') !== null;
227
-    }
228
-
229
-
230
-    /**
231
-     * @see https://stackoverflow.com/questions/6163055/php-string-matching-with-wildcard
232
-     * @param string $pattern               A string including wildcards to be converted to a regex pattern
233
-     *                                      and used to search through the current request's parameter keys
234
-     * @param array  $request_params        The array of request parameters to search through
235
-     * @param mixed  $default               [optional] The value to be returned if no match is found.
236
-     *                                      Default is null
237
-     * @param string $return                [optional] Controls what kind of value is returned.
238
-     *                                      Options are:
239
-     *                                      'bool' will return true or false if match is found or not
240
-     *                                      'key' will return the first key found that matches the supplied pattern
241
-     *                                      'value' will return the value for the first request parameter
242
-     *                                      whose key matches the supplied pattern
243
-     *                                      Default is 'value'
244
-     * @return boolean|string
245
-     */
246
-    private function match($pattern, array $request_params, $default = null, $return = 'value')
247
-    {
248
-        $return = in_array($return, array('bool', 'key', 'value'), true)
249
-            ? $return
250
-            : 'is_set';
251
-        // replace wildcard chars with regex chars
252
-        $pattern = str_replace(
253
-            array("\*", "\?"),
254
-            array('.*', '.'),
255
-            preg_quote($pattern, '/')
256
-        );
257
-        foreach ($request_params as $key => $request_param) {
258
-            if (preg_match('/^' . $pattern . '$/is', $key)) {
259
-                // return value for request param
260
-                if ($return === 'value') {
261
-                    return $request_params[ $key ];
262
-                }
263
-                // or actual key or true just to indicate it was found
264
-                return $return === 'key' ? $key : true;
265
-            }
266
-        }
267
-        // match not found so return default value or false
268
-        return $return === 'value' ? $default : false;
269
-    }
270
-
271
-
272
-    /**
273
-     * the supplied key can be a simple string to represent a "top-level" request parameter
274
-     * or represent a key for a request parameter that is nested deeper within the request parameter array,
275
-     * by using square brackets to surround keys for deeper array elements.
276
-     * For example :
277
-     * if the supplied $key was: "first[second][third]"
278
-     * then this will attempt to drill down into the request parameter array to find a value.
279
-     * Given the following request parameters:
280
-     *  array(
281
-     *      'first' => array(
282
-     *          'second' => array(
283
-     *              'third' => 'has a value'
284
-     *          )
285
-     *      )
286
-     *  )
287
-     * would return true if default parameters were set
288
-     *
289
-     * @param string $callback
290
-     * @param        $key
291
-     * @param null   $default
292
-     * @param array  $request_params
293
-     * @return bool|mixed|null
294
-     */
295
-    private function requestParameterDrillDown(
296
-        $key,
297
-        $default = null,
298
-        $callback = 'is_set',
299
-        array $request_params = array()
300
-    ) {
301
-        $callback = in_array($callback, array('is_set', 'get', 'match'), true)
302
-            ? $callback
303
-            : 'is_set';
304
-        $request_params = ! empty($request_params)
305
-            ? $request_params
306
-            : $this->request;
307
-        // does incoming key represent an array like 'first[second][third]'  ?
308
-        if (strpos($key, '[') !== false) {
309
-            // turn it into an actual array
310
-            $key = str_replace(']', '', $key);
311
-            $keys = explode('[', $key);
312
-            $key = array_shift($keys);
313
-            if ($callback === 'match') {
314
-                $real_key = $this->match($key, $request_params, $default, 'key');
315
-                $key = $real_key ? $real_key : $key;
316
-            }
317
-            // check if top level key exists
318
-            if (isset($request_params[ $key ])) {
319
-                // build a new key to pass along like: 'second[third]'
320
-                // or just 'second' depending on depth of keys
321
-                $key_string = array_shift($keys);
322
-                if (! empty($keys)) {
323
-                    $key_string .= '[' . implode('][', $keys) . ']';
324
-                }
325
-                return $this->requestParameterDrillDown(
326
-                    $key_string,
327
-                    $default,
328
-                    $callback,
329
-                    $request_params[ $key ]
330
-                );
331
-            }
332
-        }
333
-        if ($callback === 'is_set') {
334
-            return isset($request_params[ $key ]);
335
-        }
336
-        if ($callback === 'match') {
337
-            return $this->match($key, $request_params, $default);
338
-        }
339
-        return isset($request_params[ $key ])
340
-            ? $request_params[ $key ]
341
-            : $default;
342
-    }
343
-
344
-
345
-    /**
346
-     * remove param
347
-     *
348
-     * @param      $key
349
-     * @param bool $unset_from_global_too
350
-     */
351
-    public function unSetRequestParam($key, $unset_from_global_too = false)
352
-    {
353
-        unset($this->request[ $key ]);
354
-        if ($unset_from_global_too) {
355
-            unset($_REQUEST[ $key ]);
356
-        }
357
-    }
358
-
359
-
360
-    /**
361
-     * @return string
362
-     */
363
-    public function ipAddress()
364
-    {
365
-        return $this->ip_address;
366
-    }
367
-
368
-
369
-    /**
370
-     * attempt to get IP address of current visitor from server
371
-     * plz see: http://stackoverflow.com/a/2031935/1475279
372
-     *
373
-     * @access public
374
-     * @return string
375
-     */
376
-    private function visitorIp()
377
-    {
378
-        $visitor_ip = '0.0.0.0';
379
-        $server_keys = array(
380
-            'HTTP_CLIENT_IP',
381
-            'HTTP_X_FORWARDED_FOR',
382
-            'HTTP_X_FORWARDED',
383
-            'HTTP_X_CLUSTER_CLIENT_IP',
384
-            'HTTP_FORWARDED_FOR',
385
-            'HTTP_FORWARDED',
386
-            'REMOTE_ADDR',
387
-        );
388
-        foreach ($server_keys as $key) {
389
-            if (isset($this->server[ $key ])) {
390
-                foreach (array_map('trim', explode(',', $this->server[ $key ])) as $ip) {
391
-                    if ($ip === '127.0.0.1' || filter_var($ip, FILTER_VALIDATE_IP) !== false) {
392
-                        $visitor_ip = $ip;
393
-                    }
394
-                }
395
-            }
396
-        }
397
-        return $visitor_ip;
398
-    }
399
-
400
-
401
-    /**
402
-     * @return string
403
-     */
404
-    public function requestUri()
405
-    {
406
-        $request_uri = filter_input(
407
-            INPUT_SERVER,
408
-            'REQUEST_URI',
409
-            FILTER_SANITIZE_URL,
410
-            FILTER_NULL_ON_FAILURE
411
-        );
412
-        if (empty($request_uri)) {
413
-            // fallback sanitization if the above fails
414
-            $request_uri = wp_sanitize_redirect($this->server['REQUEST_URI']);
415
-        }
416
-        return $request_uri;
417
-    }
418
-
419
-
420
-    /**
421
-     * @return string
422
-     */
423
-    public function userAgent()
424
-    {
425
-        return $this->user_agent;
426
-    }
427
-
428
-
429
-    /**
430
-     * @param string $user_agent
431
-     */
432
-    public function setUserAgent($user_agent = '')
433
-    {
434
-        if ($user_agent === '' || ! is_string($user_agent)) {
435
-            $user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? (string) esc_attr($_SERVER['HTTP_USER_AGENT']) : '';
436
-        }
437
-        $this->user_agent = $user_agent;
438
-    }
439
-
440
-
441
-    /**
442
-     * @return bool
443
-     */
444
-    public function isBot()
445
-    {
446
-        return $this->is_bot;
447
-    }
448
-
449
-
450
-    /**
451
-     * @param bool $is_bot
452
-     */
453
-    public function setIsBot($is_bot)
454
-    {
455
-        $this->is_bot = filter_var($is_bot, FILTER_VALIDATE_BOOLEAN);
456
-    }
457
-
458
-
459
-    /**
460
-     * @return bool
461
-     */
462
-    public function isActivation()
463
-    {
464
-        return $this->request_type->isActivation();
465
-    }
466
-
467
-
468
-    /**
469
-     * @param $is_activation
470
-     * @return bool
471
-     */
472
-    public function setIsActivation($is_activation)
473
-    {
474
-        return $this->request_type->setIsActivation($is_activation);
475
-    }
476
-
477
-
478
-    /**
479
-     * @return bool
480
-     */
481
-    public function isAdmin()
482
-    {
483
-        return $this->request_type->isAdmin();
484
-    }
485
-
486
-
487
-    /**
488
-     * @return bool
489
-     */
490
-    public function isAdminAjax()
491
-    {
492
-        return $this->request_type->isAdminAjax();
493
-    }
494
-
495
-
496
-    /**
497
-     * @return bool
498
-     */
499
-    public function isAjax()
500
-    {
501
-        return $this->request_type->isAjax();
502
-    }
503
-
504
-
505
-    /**
506
-     * @return bool
507
-     */
508
-    public function isEeAjax()
509
-    {
510
-        return $this->request_type->isEeAjax();
511
-    }
512
-
513
-
514
-    /**
515
-     * @return bool
516
-     */
517
-    public function isOtherAjax()
518
-    {
519
-        return $this->request_type->isOtherAjax();
520
-    }
521
-
522
-
523
-    /**
524
-     * @return bool
525
-     */
526
-    public function isApi()
527
-    {
528
-        return $this->request_type->isApi();
529
-    }
530
-
531
-
532
-    /**
533
-     * @return bool
534
-     */
535
-    public function isCli()
536
-    {
537
-        return $this->request_type->isCli();
538
-    }
539
-
540
-
541
-    /**
542
-     * @return bool
543
-     */
544
-    public function isCron()
545
-    {
546
-        return $this->request_type->isCron();
547
-    }
548
-
549
-
550
-    /**
551
-     * @return bool
552
-     */
553
-    public function isFeed()
554
-    {
555
-        return $this->request_type->isFeed();
556
-    }
557
-
558
-
559
-    /**
560
-     * @return bool
561
-     */
562
-    public function isFrontend()
563
-    {
564
-        return $this->request_type->isFrontend();
565
-    }
566
-
567
-
568
-    /**
569
-     * @return bool
570
-     */
571
-    public function isFrontAjax()
572
-    {
573
-        return $this->request_type->isFrontAjax();
574
-    }
575
-
576
-
577
-    /**
578
-     * @return bool
579
-     */
580
-    public function isIframe()
581
-    {
582
-        return $this->request_type->isIframe();
583
-    }
584
-
585
-
586
-    /**
587
-     * @return string
588
-     */
589
-    public function slug()
590
-    {
591
-        return $this->request_type->slug();
592
-    }
20
+	/**
21
+	 * $_GET parameters
22
+	 *
23
+	 * @var array $get
24
+	 */
25
+	private $get;
26
+
27
+	/**
28
+	 * $_POST parameters
29
+	 *
30
+	 * @var array $post
31
+	 */
32
+	private $post;
33
+
34
+	/**
35
+	 * $_COOKIE parameters
36
+	 *
37
+	 * @var array $cookie
38
+	 */
39
+	private $cookie;
40
+
41
+	/**
42
+	 * $_SERVER parameters
43
+	 *
44
+	 * @var array $server
45
+	 */
46
+	private $server;
47
+
48
+	/**
49
+	 * $_REQUEST parameters
50
+	 *
51
+	 * @var array $request
52
+	 */
53
+	private $request;
54
+
55
+	/**
56
+	 * @var RequestTypeContextCheckerInterface
57
+	 */
58
+	private $request_type;
59
+
60
+	/**
61
+	 * IP address for request
62
+	 *
63
+	 * @var string $ip_address
64
+	 */
65
+	private $ip_address;
66
+
67
+	/**
68
+	 * @var string $user_agent
69
+	 */
70
+	private $user_agent;
71
+
72
+	/**
73
+	 * true if current user appears to be some kind of bot
74
+	 *
75
+	 * @var bool $is_bot
76
+	 */
77
+	private $is_bot;
78
+
79
+
80
+	/**
81
+	 * @param array $get
82
+	 * @param array $post
83
+	 * @param array $cookie
84
+	 * @param array $server
85
+	 */
86
+	public function __construct(array $get, array $post, array $cookie, array $server)
87
+	{
88
+		// grab request vars
89
+		$this->get = $get;
90
+		$this->post = $post;
91
+		$this->cookie = $cookie;
92
+		$this->server = $server;
93
+		$this->request = array_merge($this->get, $this->post);
94
+		$this->ip_address = $this->visitorIp();
95
+	}
96
+
97
+
98
+	/**
99
+	 * @param RequestTypeContextCheckerInterface $type
100
+	 */
101
+	public function setRequestTypeContextChecker(RequestTypeContextCheckerInterface $type)
102
+	{
103
+		$this->request_type = $type;
104
+	}
105
+
106
+
107
+	/**
108
+	 * @return array
109
+	 */
110
+	public function getParams()
111
+	{
112
+		return $this->get;
113
+	}
114
+
115
+
116
+	/**
117
+	 * @return array
118
+	 */
119
+	public function postParams()
120
+	{
121
+		return $this->post;
122
+	}
123
+
124
+
125
+	/**
126
+	 * @return array
127
+	 */
128
+	public function cookieParams()
129
+	{
130
+		return $this->cookie;
131
+	}
132
+
133
+
134
+	/**
135
+	 * @return array
136
+	 */
137
+	public function serverParams()
138
+	{
139
+		return $this->server;
140
+	}
141
+
142
+
143
+	/**
144
+	 * returns contents of $_REQUEST
145
+	 *
146
+	 * @return array
147
+	 */
148
+	public function requestParams()
149
+	{
150
+		return $this->request;
151
+	}
152
+
153
+
154
+	/**
155
+	 * @param      $key
156
+	 * @param      $value
157
+	 * @param bool $override_ee
158
+	 * @return    void
159
+	 */
160
+	public function setRequestParam($key, $value, $override_ee = false)
161
+	{
162
+		// don't allow "ee" to be overwritten unless explicitly instructed to do so
163
+		if ($key !== 'ee'
164
+			|| ($key === 'ee' && empty($this->request['ee']))
165
+			|| ($key === 'ee' && ! empty($this->request['ee']) && $override_ee)
166
+		) {
167
+			$this->request[ $key ] = $value;
168
+		}
169
+	}
170
+
171
+
172
+	/**
173
+	 * returns   the value for a request param if the given key exists
174
+	 *
175
+	 * @param       $key
176
+	 * @param null  $default
177
+	 * @return mixed
178
+	 */
179
+	public function getRequestParam($key, $default = null)
180
+	{
181
+		return $this->requestParameterDrillDown($key, $default, 'get');
182
+	}
183
+
184
+
185
+	/**
186
+	 * check if param exists
187
+	 *
188
+	 * @param       $key
189
+	 * @return bool
190
+	 */
191
+	public function requestParamIsSet($key)
192
+	{
193
+		return $this->requestParameterDrillDown($key);
194
+	}
195
+
196
+
197
+	/**
198
+	 * check if a request parameter exists whose key that matches the supplied wildcard pattern
199
+	 * and return the value for the first match found
200
+	 * wildcards can be either of the following:
201
+	 *      ? to represent a single character of any type
202
+	 *      * to represent one or more characters of any type
203
+	 *
204
+	 * @param string     $pattern
205
+	 * @param null|mixed $default
206
+	 * @return false|int
207
+	 */
208
+	public function getMatch($pattern, $default = null)
209
+	{
210
+		return $this->requestParameterDrillDown($pattern, $default, 'match');
211
+	}
212
+
213
+
214
+	/**
215
+	 * check if a request parameter exists whose key matches the supplied wildcard pattern
216
+	 * wildcards can be either of the following:
217
+	 *      ? to represent a single character of any type
218
+	 *      * to represent one or more characters of any type
219
+	 * returns true if a match is found or false if not
220
+	 *
221
+	 * @param string $pattern
222
+	 * @return false|int
223
+	 */
224
+	public function matches($pattern)
225
+	{
226
+		return $this->requestParameterDrillDown($pattern, null, 'match') !== null;
227
+	}
228
+
229
+
230
+	/**
231
+	 * @see https://stackoverflow.com/questions/6163055/php-string-matching-with-wildcard
232
+	 * @param string $pattern               A string including wildcards to be converted to a regex pattern
233
+	 *                                      and used to search through the current request's parameter keys
234
+	 * @param array  $request_params        The array of request parameters to search through
235
+	 * @param mixed  $default               [optional] The value to be returned if no match is found.
236
+	 *                                      Default is null
237
+	 * @param string $return                [optional] Controls what kind of value is returned.
238
+	 *                                      Options are:
239
+	 *                                      'bool' will return true or false if match is found or not
240
+	 *                                      'key' will return the first key found that matches the supplied pattern
241
+	 *                                      'value' will return the value for the first request parameter
242
+	 *                                      whose key matches the supplied pattern
243
+	 *                                      Default is 'value'
244
+	 * @return boolean|string
245
+	 */
246
+	private function match($pattern, array $request_params, $default = null, $return = 'value')
247
+	{
248
+		$return = in_array($return, array('bool', 'key', 'value'), true)
249
+			? $return
250
+			: 'is_set';
251
+		// replace wildcard chars with regex chars
252
+		$pattern = str_replace(
253
+			array("\*", "\?"),
254
+			array('.*', '.'),
255
+			preg_quote($pattern, '/')
256
+		);
257
+		foreach ($request_params as $key => $request_param) {
258
+			if (preg_match('/^' . $pattern . '$/is', $key)) {
259
+				// return value for request param
260
+				if ($return === 'value') {
261
+					return $request_params[ $key ];
262
+				}
263
+				// or actual key or true just to indicate it was found
264
+				return $return === 'key' ? $key : true;
265
+			}
266
+		}
267
+		// match not found so return default value or false
268
+		return $return === 'value' ? $default : false;
269
+	}
270
+
271
+
272
+	/**
273
+	 * the supplied key can be a simple string to represent a "top-level" request parameter
274
+	 * or represent a key for a request parameter that is nested deeper within the request parameter array,
275
+	 * by using square brackets to surround keys for deeper array elements.
276
+	 * For example :
277
+	 * if the supplied $key was: "first[second][third]"
278
+	 * then this will attempt to drill down into the request parameter array to find a value.
279
+	 * Given the following request parameters:
280
+	 *  array(
281
+	 *      'first' => array(
282
+	 *          'second' => array(
283
+	 *              'third' => 'has a value'
284
+	 *          )
285
+	 *      )
286
+	 *  )
287
+	 * would return true if default parameters were set
288
+	 *
289
+	 * @param string $callback
290
+	 * @param        $key
291
+	 * @param null   $default
292
+	 * @param array  $request_params
293
+	 * @return bool|mixed|null
294
+	 */
295
+	private function requestParameterDrillDown(
296
+		$key,
297
+		$default = null,
298
+		$callback = 'is_set',
299
+		array $request_params = array()
300
+	) {
301
+		$callback = in_array($callback, array('is_set', 'get', 'match'), true)
302
+			? $callback
303
+			: 'is_set';
304
+		$request_params = ! empty($request_params)
305
+			? $request_params
306
+			: $this->request;
307
+		// does incoming key represent an array like 'first[second][third]'  ?
308
+		if (strpos($key, '[') !== false) {
309
+			// turn it into an actual array
310
+			$key = str_replace(']', '', $key);
311
+			$keys = explode('[', $key);
312
+			$key = array_shift($keys);
313
+			if ($callback === 'match') {
314
+				$real_key = $this->match($key, $request_params, $default, 'key');
315
+				$key = $real_key ? $real_key : $key;
316
+			}
317
+			// check if top level key exists
318
+			if (isset($request_params[ $key ])) {
319
+				// build a new key to pass along like: 'second[third]'
320
+				// or just 'second' depending on depth of keys
321
+				$key_string = array_shift($keys);
322
+				if (! empty($keys)) {
323
+					$key_string .= '[' . implode('][', $keys) . ']';
324
+				}
325
+				return $this->requestParameterDrillDown(
326
+					$key_string,
327
+					$default,
328
+					$callback,
329
+					$request_params[ $key ]
330
+				);
331
+			}
332
+		}
333
+		if ($callback === 'is_set') {
334
+			return isset($request_params[ $key ]);
335
+		}
336
+		if ($callback === 'match') {
337
+			return $this->match($key, $request_params, $default);
338
+		}
339
+		return isset($request_params[ $key ])
340
+			? $request_params[ $key ]
341
+			: $default;
342
+	}
343
+
344
+
345
+	/**
346
+	 * remove param
347
+	 *
348
+	 * @param      $key
349
+	 * @param bool $unset_from_global_too
350
+	 */
351
+	public function unSetRequestParam($key, $unset_from_global_too = false)
352
+	{
353
+		unset($this->request[ $key ]);
354
+		if ($unset_from_global_too) {
355
+			unset($_REQUEST[ $key ]);
356
+		}
357
+	}
358
+
359
+
360
+	/**
361
+	 * @return string
362
+	 */
363
+	public function ipAddress()
364
+	{
365
+		return $this->ip_address;
366
+	}
367
+
368
+
369
+	/**
370
+	 * attempt to get IP address of current visitor from server
371
+	 * plz see: http://stackoverflow.com/a/2031935/1475279
372
+	 *
373
+	 * @access public
374
+	 * @return string
375
+	 */
376
+	private function visitorIp()
377
+	{
378
+		$visitor_ip = '0.0.0.0';
379
+		$server_keys = array(
380
+			'HTTP_CLIENT_IP',
381
+			'HTTP_X_FORWARDED_FOR',
382
+			'HTTP_X_FORWARDED',
383
+			'HTTP_X_CLUSTER_CLIENT_IP',
384
+			'HTTP_FORWARDED_FOR',
385
+			'HTTP_FORWARDED',
386
+			'REMOTE_ADDR',
387
+		);
388
+		foreach ($server_keys as $key) {
389
+			if (isset($this->server[ $key ])) {
390
+				foreach (array_map('trim', explode(',', $this->server[ $key ])) as $ip) {
391
+					if ($ip === '127.0.0.1' || filter_var($ip, FILTER_VALIDATE_IP) !== false) {
392
+						$visitor_ip = $ip;
393
+					}
394
+				}
395
+			}
396
+		}
397
+		return $visitor_ip;
398
+	}
399
+
400
+
401
+	/**
402
+	 * @return string
403
+	 */
404
+	public function requestUri()
405
+	{
406
+		$request_uri = filter_input(
407
+			INPUT_SERVER,
408
+			'REQUEST_URI',
409
+			FILTER_SANITIZE_URL,
410
+			FILTER_NULL_ON_FAILURE
411
+		);
412
+		if (empty($request_uri)) {
413
+			// fallback sanitization if the above fails
414
+			$request_uri = wp_sanitize_redirect($this->server['REQUEST_URI']);
415
+		}
416
+		return $request_uri;
417
+	}
418
+
419
+
420
+	/**
421
+	 * @return string
422
+	 */
423
+	public function userAgent()
424
+	{
425
+		return $this->user_agent;
426
+	}
427
+
428
+
429
+	/**
430
+	 * @param string $user_agent
431
+	 */
432
+	public function setUserAgent($user_agent = '')
433
+	{
434
+		if ($user_agent === '' || ! is_string($user_agent)) {
435
+			$user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? (string) esc_attr($_SERVER['HTTP_USER_AGENT']) : '';
436
+		}
437
+		$this->user_agent = $user_agent;
438
+	}
439
+
440
+
441
+	/**
442
+	 * @return bool
443
+	 */
444
+	public function isBot()
445
+	{
446
+		return $this->is_bot;
447
+	}
448
+
449
+
450
+	/**
451
+	 * @param bool $is_bot
452
+	 */
453
+	public function setIsBot($is_bot)
454
+	{
455
+		$this->is_bot = filter_var($is_bot, FILTER_VALIDATE_BOOLEAN);
456
+	}
457
+
458
+
459
+	/**
460
+	 * @return bool
461
+	 */
462
+	public function isActivation()
463
+	{
464
+		return $this->request_type->isActivation();
465
+	}
466
+
467
+
468
+	/**
469
+	 * @param $is_activation
470
+	 * @return bool
471
+	 */
472
+	public function setIsActivation($is_activation)
473
+	{
474
+		return $this->request_type->setIsActivation($is_activation);
475
+	}
476
+
477
+
478
+	/**
479
+	 * @return bool
480
+	 */
481
+	public function isAdmin()
482
+	{
483
+		return $this->request_type->isAdmin();
484
+	}
485
+
486
+
487
+	/**
488
+	 * @return bool
489
+	 */
490
+	public function isAdminAjax()
491
+	{
492
+		return $this->request_type->isAdminAjax();
493
+	}
494
+
495
+
496
+	/**
497
+	 * @return bool
498
+	 */
499
+	public function isAjax()
500
+	{
501
+		return $this->request_type->isAjax();
502
+	}
503
+
504
+
505
+	/**
506
+	 * @return bool
507
+	 */
508
+	public function isEeAjax()
509
+	{
510
+		return $this->request_type->isEeAjax();
511
+	}
512
+
513
+
514
+	/**
515
+	 * @return bool
516
+	 */
517
+	public function isOtherAjax()
518
+	{
519
+		return $this->request_type->isOtherAjax();
520
+	}
521
+
522
+
523
+	/**
524
+	 * @return bool
525
+	 */
526
+	public function isApi()
527
+	{
528
+		return $this->request_type->isApi();
529
+	}
530
+
531
+
532
+	/**
533
+	 * @return bool
534
+	 */
535
+	public function isCli()
536
+	{
537
+		return $this->request_type->isCli();
538
+	}
539
+
540
+
541
+	/**
542
+	 * @return bool
543
+	 */
544
+	public function isCron()
545
+	{
546
+		return $this->request_type->isCron();
547
+	}
548
+
549
+
550
+	/**
551
+	 * @return bool
552
+	 */
553
+	public function isFeed()
554
+	{
555
+		return $this->request_type->isFeed();
556
+	}
557
+
558
+
559
+	/**
560
+	 * @return bool
561
+	 */
562
+	public function isFrontend()
563
+	{
564
+		return $this->request_type->isFrontend();
565
+	}
566
+
567
+
568
+	/**
569
+	 * @return bool
570
+	 */
571
+	public function isFrontAjax()
572
+	{
573
+		return $this->request_type->isFrontAjax();
574
+	}
575
+
576
+
577
+	/**
578
+	 * @return bool
579
+	 */
580
+	public function isIframe()
581
+	{
582
+		return $this->request_type->isIframe();
583
+	}
584
+
585
+
586
+	/**
587
+	 * @return string
588
+	 */
589
+	public function slug()
590
+	{
591
+		return $this->request_type->slug();
592
+	}
593 593
 }
Please login to merge, or discard this patch.
core/services/address/formatters/MultiLineAddressFormatter.php 2 patches
Indentation   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -15,39 +15,39 @@
 block discarded – undo
15 15
 {
16 16
 
17 17
 
18
-    /**
19
-     * @param string $address
20
-     * @param string $address2
21
-     * @param string $city
22
-     * @param string $state
23
-     * @param string $zip
24
-     * @param string $country
25
-     * @param string $CNT_ISO
26
-     * @return string
27
-     */
28
-    public function format($address, $address2, $city, $state, $zip, $country, $CNT_ISO)
29
-    {
30
-        $address_formats = apply_filters(
31
-            'FHEE__EE_MultiLine_Address_Formatter__address_formats',
32
-            array(
33
-                'CA' => "{address}%{address2}%{city}%{state}%{country}%{zip}",
34
-                'GB' => "{address}%{address2}%{city}%{state}%{zip}%{country}",
35
-                'US' => "{address}%{address2}%{city}%{state}%{zip}%{country}",
36
-                'ZZ' => "{address}%{address2}%{city}%{state}%{zip}%{country}",
37
-            )
38
-        );
39
-        // if the incoming country has a set format, use that, else use the default
40
-        $formatted_address = isset($address_formats[ $CNT_ISO ]) ? $address_formats[ $CNT_ISO ]
41
-            : $address_formats['ZZ'];
42
-        return $this->parse_formatted_address(
43
-            $address,
44
-            $address2,
45
-            $city,
46
-            $state,
47
-            $zip,
48
-            $country,
49
-            $formatted_address,
50
-            '<br />'
51
-        );
52
-    }
18
+	/**
19
+	 * @param string $address
20
+	 * @param string $address2
21
+	 * @param string $city
22
+	 * @param string $state
23
+	 * @param string $zip
24
+	 * @param string $country
25
+	 * @param string $CNT_ISO
26
+	 * @return string
27
+	 */
28
+	public function format($address, $address2, $city, $state, $zip, $country, $CNT_ISO)
29
+	{
30
+		$address_formats = apply_filters(
31
+			'FHEE__EE_MultiLine_Address_Formatter__address_formats',
32
+			array(
33
+				'CA' => "{address}%{address2}%{city}%{state}%{country}%{zip}",
34
+				'GB' => "{address}%{address2}%{city}%{state}%{zip}%{country}",
35
+				'US' => "{address}%{address2}%{city}%{state}%{zip}%{country}",
36
+				'ZZ' => "{address}%{address2}%{city}%{state}%{zip}%{country}",
37
+			)
38
+		);
39
+		// if the incoming country has a set format, use that, else use the default
40
+		$formatted_address = isset($address_formats[ $CNT_ISO ]) ? $address_formats[ $CNT_ISO ]
41
+			: $address_formats['ZZ'];
42
+		return $this->parse_formatted_address(
43
+			$address,
44
+			$address2,
45
+			$city,
46
+			$state,
47
+			$zip,
48
+			$country,
49
+			$formatted_address,
50
+			'<br />'
51
+		);
52
+	}
53 53
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -37,7 +37,7 @@
 block discarded – undo
37 37
             )
38 38
         );
39 39
         // if the incoming country has a set format, use that, else use the default
40
-        $formatted_address = isset($address_formats[ $CNT_ISO ]) ? $address_formats[ $CNT_ISO ]
40
+        $formatted_address = isset($address_formats[$CNT_ISO]) ? $address_formats[$CNT_ISO]
41 41
             : $address_formats['ZZ'];
42 42
         return $this->parse_formatted_address(
43 43
             $address,
Please login to merge, or discard this patch.
core/services/address/formatters/InlineAddressFormatter.php 2 patches
Indentation   +35 added lines, -35 removed lines patch added patch discarded remove patch
@@ -14,39 +14,39 @@
 block discarded – undo
14 14
 class InlineAddressFormatter extends AddressFormatter implements \EEI_Address_Formatter
15 15
 {
16 16
 
17
-    /**
18
-     * @param string $address
19
-     * @param string $address2
20
-     * @param string $city
21
-     * @param string $state
22
-     * @param string $zip
23
-     * @param string $country
24
-     * @param string $CNT_ISO
25
-     * @return string
26
-     */
27
-    public function format($address, $address2, $city, $state, $zip, $country, $CNT_ISO)
28
-    {
29
-        $address_formats = apply_filters(
30
-            'FHEE__EE_Inline_Address_Formatter__address_formats',
31
-            array(
32
-                'CA'  => "{address}%{address2}%{city}%{state}%{country}%{zip}",
33
-                'GB'  => "{address}%{address2}%{city}%{state}%{zip}%{country}",
34
-                'US'  => "{address}%{address2}%{city}%{state}%{zip}%{country}",
35
-                'ZZZ' => "{address}%{address2}%{city}%{state}%{zip}%{country}",
36
-            )
37
-        );
38
-        // if the incoming country has a set format, use that, else use the default
39
-        $formatted_address = isset($address_formats[ $CNT_ISO ]) ? $address_formats[ $CNT_ISO ]
40
-            : $address_formats['ZZZ'];
41
-        return $this->parse_formatted_address(
42
-            $address,
43
-            $address2,
44
-            $city,
45
-            $state,
46
-            $zip,
47
-            $country,
48
-            $formatted_address,
49
-            ', '
50
-        );
51
-    }
17
+	/**
18
+	 * @param string $address
19
+	 * @param string $address2
20
+	 * @param string $city
21
+	 * @param string $state
22
+	 * @param string $zip
23
+	 * @param string $country
24
+	 * @param string $CNT_ISO
25
+	 * @return string
26
+	 */
27
+	public function format($address, $address2, $city, $state, $zip, $country, $CNT_ISO)
28
+	{
29
+		$address_formats = apply_filters(
30
+			'FHEE__EE_Inline_Address_Formatter__address_formats',
31
+			array(
32
+				'CA'  => "{address}%{address2}%{city}%{state}%{country}%{zip}",
33
+				'GB'  => "{address}%{address2}%{city}%{state}%{zip}%{country}",
34
+				'US'  => "{address}%{address2}%{city}%{state}%{zip}%{country}",
35
+				'ZZZ' => "{address}%{address2}%{city}%{state}%{zip}%{country}",
36
+			)
37
+		);
38
+		// if the incoming country has a set format, use that, else use the default
39
+		$formatted_address = isset($address_formats[ $CNT_ISO ]) ? $address_formats[ $CNT_ISO ]
40
+			: $address_formats['ZZZ'];
41
+		return $this->parse_formatted_address(
42
+			$address,
43
+			$address2,
44
+			$city,
45
+			$state,
46
+			$zip,
47
+			$country,
48
+			$formatted_address,
49
+			', '
50
+		);
51
+	}
52 52
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -36,7 +36,7 @@
 block discarded – undo
36 36
             )
37 37
         );
38 38
         // if the incoming country has a set format, use that, else use the default
39
-        $formatted_address = isset($address_formats[ $CNT_ISO ]) ? $address_formats[ $CNT_ISO ]
39
+        $formatted_address = isset($address_formats[$CNT_ISO]) ? $address_formats[$CNT_ISO]
40 40
             : $address_formats['ZZZ'];
41 41
         return $this->parse_formatted_address(
42 42
             $address,
Please login to merge, or discard this patch.
core/services/locators/FileLocator.php 2 patches
Indentation   +73 added lines, -73 removed lines patch added patch discarded remove patch
@@ -17,88 +17,88 @@
 block discarded – undo
17 17
 class FileLocator extends Locator
18 18
 {
19 19
 
20
-    /**
21
-     * @var string $file_mask
22
-     */
23
-    protected $file_mask = '*.php';
20
+	/**
21
+	 * @var string $file_mask
22
+	 */
23
+	protected $file_mask = '*.php';
24 24
 
25
-    /**
26
-     * @var array $filepaths
27
-     */
28
-    protected $filepaths = array();
25
+	/**
26
+	 * @var array $filepaths
27
+	 */
28
+	protected $filepaths = array();
29 29
 
30 30
 
31
-    /**
32
-     * @param string $file_mask
33
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
34
-     */
35
-    public function setFileMask($file_mask)
36
-    {
37
-        if (! is_string($file_mask)) {
38
-            throw new InvalidDataTypeException('$file_mask', $file_mask, 'string');
39
-        }
40
-        $this->file_mask = $file_mask;
41
-    }
31
+	/**
32
+	 * @param string $file_mask
33
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
34
+	 */
35
+	public function setFileMask($file_mask)
36
+	{
37
+		if (! is_string($file_mask)) {
38
+			throw new InvalidDataTypeException('$file_mask', $file_mask, 'string');
39
+		}
40
+		$this->file_mask = $file_mask;
41
+	}
42 42
 
43 43
 
44
-    /**
45
-     * @access public
46
-     * @return array
47
-     */
48
-    public function getFilePaths()
49
-    {
50
-        return $this->filepaths;
51
-    }
44
+	/**
45
+	 * @access public
46
+	 * @return array
47
+	 */
48
+	public function getFilePaths()
49
+	{
50
+		return $this->filepaths;
51
+	}
52 52
 
53 53
 
54
-    /**
55
-     * @access public
56
-     * @return int
57
-     */
58
-    public function count()
59
-    {
60
-        return count($this->filepaths);
61
-    }
54
+	/**
55
+	 * @access public
56
+	 * @return int
57
+	 */
58
+	public function count()
59
+	{
60
+		return count($this->filepaths);
61
+	}
62 62
 
63 63
 
64
-    /**
65
-     * given a path to a valid directory, or an array of valid paths,
66
-     * will find all files that match the provided mask
67
-     *
68
-     * @access public
69
-     * @param array|string $directory_paths
70
-     * @return \FilesystemIterator
71
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
72
-     */
73
-    public function locate($directory_paths)
74
-    {
75
-        if (! (is_string($directory_paths) || is_array($directory_paths))) {
76
-            throw new InvalidDataTypeException('$directory_paths', $directory_paths, 'string or array');
77
-        }
78
-        foreach ((array) $directory_paths as $directory_path) {
79
-            foreach ($this->findFilesByPath($directory_path) as $key => $file) {
80
-                $this->filepaths[ $key ] = \EEH_File::standardise_directory_separators($file);
81
-            }
82
-        }
83
-        return $this->filepaths;
84
-    }
64
+	/**
65
+	 * given a path to a valid directory, or an array of valid paths,
66
+	 * will find all files that match the provided mask
67
+	 *
68
+	 * @access public
69
+	 * @param array|string $directory_paths
70
+	 * @return \FilesystemIterator
71
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
72
+	 */
73
+	public function locate($directory_paths)
74
+	{
75
+		if (! (is_string($directory_paths) || is_array($directory_paths))) {
76
+			throw new InvalidDataTypeException('$directory_paths', $directory_paths, 'string or array');
77
+		}
78
+		foreach ((array) $directory_paths as $directory_path) {
79
+			foreach ($this->findFilesByPath($directory_path) as $key => $file) {
80
+				$this->filepaths[ $key ] = \EEH_File::standardise_directory_separators($file);
81
+			}
82
+		}
83
+		return $this->filepaths;
84
+	}
85 85
 
86 86
 
87
-    /**
88
-     * given a path to a valid directory, will find all files that match the provided mask
89
-     *
90
-     * @access protected
91
-     * @param string $directory_path
92
-     * @return \FilesystemIterator
93
-     */
94
-    protected function findFilesByPath($directory_path = '')
95
-    {
96
-        $iterator = new GlobIterator(
97
-            \EEH_File::end_with_directory_separator($directory_path) . $this->file_mask
98
-        );
99
-        foreach ($this->flags as $flag) {
100
-            $iterator->setFlags($flag);
101
-        }
102
-        return $iterator;
103
-    }
87
+	/**
88
+	 * given a path to a valid directory, will find all files that match the provided mask
89
+	 *
90
+	 * @access protected
91
+	 * @param string $directory_path
92
+	 * @return \FilesystemIterator
93
+	 */
94
+	protected function findFilesByPath($directory_path = '')
95
+	{
96
+		$iterator = new GlobIterator(
97
+			\EEH_File::end_with_directory_separator($directory_path) . $this->file_mask
98
+		);
99
+		foreach ($this->flags as $flag) {
100
+			$iterator->setFlags($flag);
101
+		}
102
+		return $iterator;
103
+	}
104 104
 }
Please login to merge, or discard this patch.
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -34,7 +34,7 @@  discard block
 block discarded – undo
34 34
      */
35 35
     public function setFileMask($file_mask)
36 36
     {
37
-        if (! is_string($file_mask)) {
37
+        if ( ! is_string($file_mask)) {
38 38
             throw new InvalidDataTypeException('$file_mask', $file_mask, 'string');
39 39
         }
40 40
         $this->file_mask = $file_mask;
@@ -72,12 +72,12 @@  discard block
 block discarded – undo
72 72
      */
73 73
     public function locate($directory_paths)
74 74
     {
75
-        if (! (is_string($directory_paths) || is_array($directory_paths))) {
75
+        if ( ! (is_string($directory_paths) || is_array($directory_paths))) {
76 76
             throw new InvalidDataTypeException('$directory_paths', $directory_paths, 'string or array');
77 77
         }
78 78
         foreach ((array) $directory_paths as $directory_path) {
79 79
             foreach ($this->findFilesByPath($directory_path) as $key => $file) {
80
-                $this->filepaths[ $key ] = \EEH_File::standardise_directory_separators($file);
80
+                $this->filepaths[$key] = \EEH_File::standardise_directory_separators($file);
81 81
             }
82 82
         }
83 83
         return $this->filepaths;
@@ -94,7 +94,7 @@  discard block
 block discarded – undo
94 94
     protected function findFilesByPath($directory_path = '')
95 95
     {
96 96
         $iterator = new GlobIterator(
97
-            \EEH_File::end_with_directory_separator($directory_path) . $this->file_mask
97
+            \EEH_File::end_with_directory_separator($directory_path).$this->file_mask
98 98
         );
99 99
         foreach ($this->flags as $flag) {
100 100
             $iterator->setFlags($flag);
Please login to merge, or discard this patch.
core/services/locators/FqcnLocator.php 2 patches
Indentation   +143 added lines, -143 removed lines patch added patch discarded remove patch
@@ -17,147 +17,147 @@
 block discarded – undo
17 17
 class FqcnLocator extends Locator
18 18
 {
19 19
 
20
-    /**
21
-     * @var array $FQCNs
22
-     */
23
-    protected $FQCNs = array();
24
-
25
-    /**
26
-     * @var array $namespaces
27
-     */
28
-    protected $namespaces = array();
29
-
30
-
31
-    /**
32
-     * @access protected
33
-     * @param string $namespace
34
-     * @param string $namespace_base_dir
35
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
36
-     */
37
-    protected function setNamespace($namespace, $namespace_base_dir)
38
-    {
39
-        if (! is_string($namespace)) {
40
-            throw new InvalidDataTypeException('$namespace', $namespace, 'string');
41
-        }
42
-        if (! is_string($namespace_base_dir)) {
43
-            throw new InvalidDataTypeException('$namespace_base_dir', $namespace_base_dir, 'string');
44
-        }
45
-        $this->namespaces[ $namespace ] = $namespace_base_dir;
46
-    }
47
-
48
-
49
-    /**
50
-     * @access public
51
-     * @return array
52
-     */
53
-    public function getFQCNs()
54
-    {
55
-        return $this->FQCNs;
56
-    }
57
-
58
-
59
-    /**
60
-     * @access public
61
-     * @return int
62
-     */
63
-    public function count()
64
-    {
65
-        return count($this->FQCNs);
66
-    }
67
-
68
-
69
-    /**
70
-     * given a valid namespace, will find all files that match the provided mask
71
-     *
72
-     * @access public
73
-     * @param string|array $namespaces
74
-     * @return FilesystemIterator
75
-     * @throws \EventEspresso\core\exceptions\InvalidClassException
76
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
77
-     */
78
-    public function locate($namespaces)
79
-    {
80
-        if (! (is_string($namespaces) || is_array($namespaces))) {
81
-            throw new InvalidDataTypeException('$namespaces', $namespaces, 'string or array');
82
-        }
83
-        foreach ((array) $namespaces as $namespace) {
84
-            foreach ($this->FindFQCNsByNamespace($namespace) as $key => $file) {
85
-                $this->FQCNs[ $key ] = $file;
86
-            }
87
-        }
88
-        return $this->FQCNs;
89
-    }
90
-
91
-
92
-    // phpcs:disable PSR1.Methods.CamelCapsMethodName.NotCamelCaps
93
-
94
-    /**
95
-     * given a partial namespace, will find all files in that folder
96
-     * ** PLZ NOTE **
97
-     * This assumes that all files within the specified folder should be loaded
98
-     *
99
-     * @access protected
100
-     * @param array $partial_namespace
101
-     * @return FilesystemIterator
102
-     * @throws \EventEspresso\core\exceptions\InvalidClassException
103
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
104
-     */
105
-    protected function FindFQCNsByNamespace($partial_namespace)
106
-    {
107
-        $iterator = new FilesystemIterator(
108
-            $this->getDirectoryFromPartialNamespace($partial_namespace)
109
-        );
110
-        foreach ($this->flags as $flag) {
111
-            $iterator->setFlags($flag);
112
-        }
113
-        if (iterator_count($iterator) === 0) {
114
-            return array();
115
-        }
116
-        foreach ($iterator as $file) {
117
-            $file = \EEH_File::standardise_directory_separators($file);
118
-            foreach ($this->namespaces as $namespace => $base_dir) {
119
-                $namespace .= Psr4Autoloader::NS;
120
-                if (strpos($file, $base_dir) === 0) {
121
-                    $this->FQCNs[] = Psr4Autoloader::NS . str_replace(
122
-                        array($base_dir, DS, '.php'),
123
-                        array($namespace, Psr4Autoloader::NS, ''),
124
-                        $file
125
-                    );
126
-                }
127
-            }
128
-        }
129
-        return $this->FQCNs;
130
-    }
131
-
132
-
133
-    /**
134
-     * getDirectoryFromPartialNamespace
135
-     *
136
-     * @access protected
137
-     * @param  string $partial_namespace almost fully qualified class name ?
138
-     * @return string
139
-     * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
140
-     * @throws \EventEspresso\core\exceptions\InvalidClassException
141
-     */
142
-    protected function getDirectoryFromPartialNamespace($partial_namespace)
143
-    {
144
-        if (empty($partial_namespace)) {
145
-            throw new InvalidClassException($partial_namespace);
146
-        }
147
-        // load our PSR-4 Autoloader so we can get the list of registered namespaces from it
148
-        $psr4_loader = \EE_Psr4AutoloaderInit::psr4_loader();
149
-        // breakup the incoming namespace into segments then loop thru them
150
-        $namespace_segments = explode(Psr4Autoloader::NS, trim($partial_namespace, Psr4Autoloader::NS));
151
-        // we're only interested in the first element, so pull that from the array
152
-        $namespace = array_shift($namespace_segments);
153
-        // check if there's a base directory registered for that namespace
154
-        $prefix = $psr4_loader->prefixes($namespace . Psr4Autoloader::NS);
155
-        // nope? then the incoming namespace is invalid
156
-        if (empty($prefix) || empty($prefix[0])) {
157
-            throw new InvalidClassException($partial_namespace);
158
-        }
159
-        $this->setNamespace($namespace, $prefix[0]);
160
-        // but if it's good, add that base directory to the rest of the path, and return it
161
-        return $prefix[0] . implode(DS, $namespace_segments) . DS;
162
-    }
20
+	/**
21
+	 * @var array $FQCNs
22
+	 */
23
+	protected $FQCNs = array();
24
+
25
+	/**
26
+	 * @var array $namespaces
27
+	 */
28
+	protected $namespaces = array();
29
+
30
+
31
+	/**
32
+	 * @access protected
33
+	 * @param string $namespace
34
+	 * @param string $namespace_base_dir
35
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
36
+	 */
37
+	protected function setNamespace($namespace, $namespace_base_dir)
38
+	{
39
+		if (! is_string($namespace)) {
40
+			throw new InvalidDataTypeException('$namespace', $namespace, 'string');
41
+		}
42
+		if (! is_string($namespace_base_dir)) {
43
+			throw new InvalidDataTypeException('$namespace_base_dir', $namespace_base_dir, 'string');
44
+		}
45
+		$this->namespaces[ $namespace ] = $namespace_base_dir;
46
+	}
47
+
48
+
49
+	/**
50
+	 * @access public
51
+	 * @return array
52
+	 */
53
+	public function getFQCNs()
54
+	{
55
+		return $this->FQCNs;
56
+	}
57
+
58
+
59
+	/**
60
+	 * @access public
61
+	 * @return int
62
+	 */
63
+	public function count()
64
+	{
65
+		return count($this->FQCNs);
66
+	}
67
+
68
+
69
+	/**
70
+	 * given a valid namespace, will find all files that match the provided mask
71
+	 *
72
+	 * @access public
73
+	 * @param string|array $namespaces
74
+	 * @return FilesystemIterator
75
+	 * @throws \EventEspresso\core\exceptions\InvalidClassException
76
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
77
+	 */
78
+	public function locate($namespaces)
79
+	{
80
+		if (! (is_string($namespaces) || is_array($namespaces))) {
81
+			throw new InvalidDataTypeException('$namespaces', $namespaces, 'string or array');
82
+		}
83
+		foreach ((array) $namespaces as $namespace) {
84
+			foreach ($this->FindFQCNsByNamespace($namespace) as $key => $file) {
85
+				$this->FQCNs[ $key ] = $file;
86
+			}
87
+		}
88
+		return $this->FQCNs;
89
+	}
90
+
91
+
92
+	// phpcs:disable PSR1.Methods.CamelCapsMethodName.NotCamelCaps
93
+
94
+	/**
95
+	 * given a partial namespace, will find all files in that folder
96
+	 * ** PLZ NOTE **
97
+	 * This assumes that all files within the specified folder should be loaded
98
+	 *
99
+	 * @access protected
100
+	 * @param array $partial_namespace
101
+	 * @return FilesystemIterator
102
+	 * @throws \EventEspresso\core\exceptions\InvalidClassException
103
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
104
+	 */
105
+	protected function FindFQCNsByNamespace($partial_namespace)
106
+	{
107
+		$iterator = new FilesystemIterator(
108
+			$this->getDirectoryFromPartialNamespace($partial_namespace)
109
+		);
110
+		foreach ($this->flags as $flag) {
111
+			$iterator->setFlags($flag);
112
+		}
113
+		if (iterator_count($iterator) === 0) {
114
+			return array();
115
+		}
116
+		foreach ($iterator as $file) {
117
+			$file = \EEH_File::standardise_directory_separators($file);
118
+			foreach ($this->namespaces as $namespace => $base_dir) {
119
+				$namespace .= Psr4Autoloader::NS;
120
+				if (strpos($file, $base_dir) === 0) {
121
+					$this->FQCNs[] = Psr4Autoloader::NS . str_replace(
122
+						array($base_dir, DS, '.php'),
123
+						array($namespace, Psr4Autoloader::NS, ''),
124
+						$file
125
+					);
126
+				}
127
+			}
128
+		}
129
+		return $this->FQCNs;
130
+	}
131
+
132
+
133
+	/**
134
+	 * getDirectoryFromPartialNamespace
135
+	 *
136
+	 * @access protected
137
+	 * @param  string $partial_namespace almost fully qualified class name ?
138
+	 * @return string
139
+	 * @throws \EventEspresso\core\exceptions\InvalidDataTypeException
140
+	 * @throws \EventEspresso\core\exceptions\InvalidClassException
141
+	 */
142
+	protected function getDirectoryFromPartialNamespace($partial_namespace)
143
+	{
144
+		if (empty($partial_namespace)) {
145
+			throw new InvalidClassException($partial_namespace);
146
+		}
147
+		// load our PSR-4 Autoloader so we can get the list of registered namespaces from it
148
+		$psr4_loader = \EE_Psr4AutoloaderInit::psr4_loader();
149
+		// breakup the incoming namespace into segments then loop thru them
150
+		$namespace_segments = explode(Psr4Autoloader::NS, trim($partial_namespace, Psr4Autoloader::NS));
151
+		// we're only interested in the first element, so pull that from the array
152
+		$namespace = array_shift($namespace_segments);
153
+		// check if there's a base directory registered for that namespace
154
+		$prefix = $psr4_loader->prefixes($namespace . Psr4Autoloader::NS);
155
+		// nope? then the incoming namespace is invalid
156
+		if (empty($prefix) || empty($prefix[0])) {
157
+			throw new InvalidClassException($partial_namespace);
158
+		}
159
+		$this->setNamespace($namespace, $prefix[0]);
160
+		// but if it's good, add that base directory to the rest of the path, and return it
161
+		return $prefix[0] . implode(DS, $namespace_segments) . DS;
162
+	}
163 163
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -36,13 +36,13 @@  discard block
 block discarded – undo
36 36
      */
37 37
     protected function setNamespace($namespace, $namespace_base_dir)
38 38
     {
39
-        if (! is_string($namespace)) {
39
+        if ( ! is_string($namespace)) {
40 40
             throw new InvalidDataTypeException('$namespace', $namespace, 'string');
41 41
         }
42
-        if (! is_string($namespace_base_dir)) {
42
+        if ( ! is_string($namespace_base_dir)) {
43 43
             throw new InvalidDataTypeException('$namespace_base_dir', $namespace_base_dir, 'string');
44 44
         }
45
-        $this->namespaces[ $namespace ] = $namespace_base_dir;
45
+        $this->namespaces[$namespace] = $namespace_base_dir;
46 46
     }
47 47
 
48 48
 
@@ -77,12 +77,12 @@  discard block
 block discarded – undo
77 77
      */
78 78
     public function locate($namespaces)
79 79
     {
80
-        if (! (is_string($namespaces) || is_array($namespaces))) {
80
+        if ( ! (is_string($namespaces) || is_array($namespaces))) {
81 81
             throw new InvalidDataTypeException('$namespaces', $namespaces, 'string or array');
82 82
         }
83 83
         foreach ((array) $namespaces as $namespace) {
84 84
             foreach ($this->FindFQCNsByNamespace($namespace) as $key => $file) {
85
-                $this->FQCNs[ $key ] = $file;
85
+                $this->FQCNs[$key] = $file;
86 86
             }
87 87
         }
88 88
         return $this->FQCNs;
@@ -118,7 +118,7 @@  discard block
 block discarded – undo
118 118
             foreach ($this->namespaces as $namespace => $base_dir) {
119 119
                 $namespace .= Psr4Autoloader::NS;
120 120
                 if (strpos($file, $base_dir) === 0) {
121
-                    $this->FQCNs[] = Psr4Autoloader::NS . str_replace(
121
+                    $this->FQCNs[] = Psr4Autoloader::NS.str_replace(
122 122
                         array($base_dir, DS, '.php'),
123 123
                         array($namespace, Psr4Autoloader::NS, ''),
124 124
                         $file
@@ -151,13 +151,13 @@  discard block
 block discarded – undo
151 151
         // we're only interested in the first element, so pull that from the array
152 152
         $namespace = array_shift($namespace_segments);
153 153
         // check if there's a base directory registered for that namespace
154
-        $prefix = $psr4_loader->prefixes($namespace . Psr4Autoloader::NS);
154
+        $prefix = $psr4_loader->prefixes($namespace.Psr4Autoloader::NS);
155 155
         // nope? then the incoming namespace is invalid
156 156
         if (empty($prefix) || empty($prefix[0])) {
157 157
             throw new InvalidClassException($partial_namespace);
158 158
         }
159 159
         $this->setNamespace($namespace, $prefix[0]);
160 160
         // but if it's good, add that base directory to the rest of the path, and return it
161
-        return $prefix[0] . implode(DS, $namespace_segments) . DS;
161
+        return $prefix[0].implode(DS, $namespace_segments).DS;
162 162
     }
163 163
 }
Please login to merge, or discard this patch.