Completed
Branch BUG-9583-fix-fetching-term-rel... (646110)
by
unknown
707:59 queued 692:58
created
core/libraries/rest_api/controllers/model/Read.php 1 patch
Spacing   +299 added lines, -299 removed lines patch added patch discarded remove patch
@@ -6,8 +6,8 @@  discard block
 block discarded – undo
6 6
 use EventEspresso\core\libraries\rest_api\Rest_Exception;
7 7
 use EventEspresso\core\libraries\rest_api\Model_Data_Translator;
8 8
 
9
-if ( !defined( 'EVENT_ESPRESSO_VERSION' ) ) {
10
-	exit( 'No direct script access allowed' );
9
+if ( ! defined('EVENT_ESPRESSO_VERSION')) {
10
+	exit('No direct script access allowed');
11 11
 }
12 12
 
13 13
 /**
@@ -46,22 +46,22 @@  discard block
 block discarded – undo
46 46
 	 * @param \WP_REST_Request $request
47 47
 	 * @return \WP_REST_Response|\WP_Error
48 48
 	 */
49
-	public static function handle_request_get_all( \WP_REST_Request $request) {
49
+	public static function handle_request_get_all(\WP_REST_Request $request) {
50 50
 		$controller = new Read();
51
-		try{
51
+		try {
52 52
 			$matches = $controller->parse_route(
53 53
 				$request->get_route(),
54
-				'~' . \EED_Core_Rest_Api::ee_api_namespace_for_regex . '(.*)~',
55
-				array( 'version', 'model' )
54
+				'~'.\EED_Core_Rest_Api::ee_api_namespace_for_regex.'(.*)~',
55
+				array('version', 'model')
56 56
 			);
57
-			$controller->set_requested_version( $matches[ 'version' ] );
58
-			$model_name_singular = \EEH_Inflector::singularize_and_upper( $matches[ 'model' ] );
59
-			if ( ! $controller->get_model_version_info()->is_model_name_in_this_version( $model_name_singular ) ) {
57
+			$controller->set_requested_version($matches['version']);
58
+			$model_name_singular = \EEH_Inflector::singularize_and_upper($matches['model']);
59
+			if ( ! $controller->get_model_version_info()->is_model_name_in_this_version($model_name_singular)) {
60 60
 				return $controller->send_response(
61 61
 					new \WP_Error(
62 62
 						'endpoint_parsing_error',
63 63
 						sprintf(
64
-							__( 'There is no model for endpoint %s. Please contact event espresso support', 'event_espresso' ),
64
+							__('There is no model for endpoint %s. Please contact event espresso support', 'event_espresso'),
65 65
 							$model_name_singular
66 66
 						)
67 67
 					)
@@ -69,12 +69,12 @@  discard block
 block discarded – undo
69 69
 			}
70 70
 			return $controller->send_response(
71 71
 					$controller->get_entities_from_model(
72
-							$controller->get_model_version_info()->load_model( $model_name_singular ),
72
+							$controller->get_model_version_info()->load_model($model_name_singular),
73 73
 							$request
74 74
 					)
75 75
 			);
76
-		} catch( \Exception $e ) {
77
-			return $controller->send_response( $e );
76
+		} catch (\Exception $e) {
77
+			return $controller->send_response($e);
78 78
 		}
79 79
 	}
80 80
 
@@ -84,21 +84,21 @@  discard block
 block discarded – undo
84 84
 	 * @param \WP_REST_Request $request
85 85
 	 * @return \WP_REST_Response|\WP_Error
86 86
 	 */
87
-	public static function handle_request_get_one( \WP_REST_Request $request ) {
87
+	public static function handle_request_get_one(\WP_REST_Request $request) {
88 88
 		$controller = new Read();
89
-		try{
89
+		try {
90 90
 			$matches = $controller->parse_route(
91 91
 				$request->get_route(),
92
-				'~' . \EED_Core_Rest_Api::ee_api_namespace_for_regex . '(.*)/(.*)~',
93
-				array( 'version', 'model', 'id' ) );
94
-			$controller->set_requested_version( $matches[ 'version' ] );
95
-			$model_name_singular = \EEH_Inflector::singularize_and_upper( $matches[ 'model' ] );
96
-			if ( ! $controller->get_model_version_info()->is_model_name_in_this_version( $model_name_singular ) ) {
92
+				'~'.\EED_Core_Rest_Api::ee_api_namespace_for_regex.'(.*)/(.*)~',
93
+				array('version', 'model', 'id') );
94
+			$controller->set_requested_version($matches['version']);
95
+			$model_name_singular = \EEH_Inflector::singularize_and_upper($matches['model']);
96
+			if ( ! $controller->get_model_version_info()->is_model_name_in_this_version($model_name_singular)) {
97 97
 				return $controller->send_response(
98 98
 					new \WP_Error(
99 99
 						'endpoint_parsing_error',
100 100
 						sprintf(
101
-							__( 'There is no model for endpoint %s. Please contact event espresso support', 'event_espresso' ),
101
+							__('There is no model for endpoint %s. Please contact event espresso support', 'event_espresso'),
102 102
 							$model_name_singular
103 103
 						)
104 104
 					)
@@ -106,12 +106,12 @@  discard block
 block discarded – undo
106 106
 			}
107 107
 			return $controller->send_response(
108 108
 					$controller->get_entity_from_model(
109
-							$controller->get_model_version_info()->load_model( $model_name_singular ),
109
+							$controller->get_model_version_info()->load_model($model_name_singular),
110 110
 							$request
111 111
 						)
112 112
 				);
113
-		} catch( \Exception $e ) {
114
-			return $controller->send_response( $e );
113
+		} catch (\Exception $e) {
114
+			return $controller->send_response($e);
115 115
 		}
116 116
 	}
117 117
 
@@ -123,40 +123,40 @@  discard block
 block discarded – undo
123 123
 	 * @param \WP_REST_Request $request
124 124
 	 * @return \WP_REST_Response|\WP_Error
125 125
 	 */
126
-	public static function handle_request_get_related( \WP_REST_Request $request ) {
126
+	public static function handle_request_get_related(\WP_REST_Request $request) {
127 127
 		$controller = new Read();
128
-		try{
128
+		try {
129 129
 			$matches = $controller->parse_route(
130 130
 				$request->get_route(),
131
-				'~' . \EED_Core_Rest_Api::ee_api_namespace_for_regex . '(.*)/(.*)/(.*)~',
132
-				array( 'version', 'model', 'id', 'related_model' )
131
+				'~'.\EED_Core_Rest_Api::ee_api_namespace_for_regex.'(.*)/(.*)/(.*)~',
132
+				array('version', 'model', 'id', 'related_model')
133 133
 			);
134
-			$controller->set_requested_version( $matches[ 'version' ] );
135
-			$main_model_name_singular = \EEH_Inflector::singularize_and_upper( $matches[ 'model' ] );
136
-			if ( ! $controller->get_model_version_info()->is_model_name_in_this_version( $main_model_name_singular ) ) {
134
+			$controller->set_requested_version($matches['version']);
135
+			$main_model_name_singular = \EEH_Inflector::singularize_and_upper($matches['model']);
136
+			if ( ! $controller->get_model_version_info()->is_model_name_in_this_version($main_model_name_singular)) {
137 137
 				return $controller->send_response(
138 138
 					new \WP_Error(
139 139
 						'endpoint_parsing_error',
140 140
 						sprintf(
141
-							__( 'There is no model for endpoint %s. Please contact event espresso support', 'event_espresso' ),
141
+							__('There is no model for endpoint %s. Please contact event espresso support', 'event_espresso'),
142 142
 							$main_model_name_singular
143 143
 						)
144 144
 					)
145 145
 				);
146 146
 			}
147
-			$main_model = $controller->get_model_version_info()->load_model( $main_model_name_singular );
147
+			$main_model = $controller->get_model_version_info()->load_model($main_model_name_singular);
148 148
 			//assume the related model name is plural and try to find the model's name
149
-			$related_model_name_singular = \EEH_Inflector::singularize_and_upper( $matches[ 'related_model' ] );
150
-			if ( ! $controller->get_model_version_info()->is_model_name_in_this_version( $related_model_name_singular ) ) {
149
+			$related_model_name_singular = \EEH_Inflector::singularize_and_upper($matches['related_model']);
150
+			if ( ! $controller->get_model_version_info()->is_model_name_in_this_version($related_model_name_singular)) {
151 151
 				//so the word didn't singularize well. Maybe that's just because it's a singular word?
152
-				$related_model_name_singular = \EEH_Inflector::humanize( $matches[ 'related_model' ] );
152
+				$related_model_name_singular = \EEH_Inflector::humanize($matches['related_model']);
153 153
 			}
154
-			if ( ! $controller->get_model_version_info()->is_model_name_in_this_version( $related_model_name_singular ) ) {
154
+			if ( ! $controller->get_model_version_info()->is_model_name_in_this_version($related_model_name_singular)) {
155 155
 				return $controller->send_response(
156 156
 					new \WP_Error(
157 157
 						'endpoint_parsing_error',
158 158
 						sprintf(
159
-							__( 'There is no model for endpoint %s. Please contact event espresso support', 'event_espresso' ),
159
+							__('There is no model for endpoint %s. Please contact event espresso support', 'event_espresso'),
160 160
 							$related_model_name_singular
161 161
 						)
162 162
 					)
@@ -165,13 +165,13 @@  discard block
 block discarded – undo
165 165
 
166 166
 			return $controller->send_response(
167 167
 					$controller->get_entities_from_relation(
168
-						$request->get_param( 'id' ),
169
-						$main_model->related_settings_for( $related_model_name_singular ) ,
168
+						$request->get_param('id'),
169
+						$main_model->related_settings_for($related_model_name_singular),
170 170
 						$request
171 171
 					)
172 172
 				);
173
-		} catch( \Exception $e ) {
174
-			return $controller->send_response( $e );
173
+		} catch (\Exception $e) {
174
+			return $controller->send_response($e);
175 175
 		}
176 176
 	}
177 177
 
@@ -184,28 +184,28 @@  discard block
 block discarded – undo
184 184
 	 * @param \WP_REST_Request $request
185 185
 	 * @return array
186 186
 	 */
187
-	public function get_entities_from_model( $model, $request) {
188
-		$query_params = $this->create_model_query_params( $model, $request->get_params() );
189
-		if( ! Capabilities::current_user_has_partial_access_to( $model, $query_params[ 'caps' ] ) ) {
190
-			$model_name_plural = \EEH_Inflector::pluralize_and_lower( $model->get_this_model_name() );
187
+	public function get_entities_from_model($model, $request) {
188
+		$query_params = $this->create_model_query_params($model, $request->get_params());
189
+		if ( ! Capabilities::current_user_has_partial_access_to($model, $query_params['caps'])) {
190
+			$model_name_plural = \EEH_Inflector::pluralize_and_lower($model->get_this_model_name());
191 191
 			return new \WP_Error(
192
-				sprintf( 'rest_%s_cannot_list', $model_name_plural ),
192
+				sprintf('rest_%s_cannot_list', $model_name_plural),
193 193
 				sprintf(
194
-					__( 'Sorry, you are not allowed to list %1$s. Missing permissions: %2$s', 'event_espresso' ),
194
+					__('Sorry, you are not allowed to list %1$s. Missing permissions: %2$s', 'event_espresso'),
195 195
 					$model_name_plural,
196
-					Capabilities::get_missing_permissions_string( $model, $query_params[ 'caps' ] )
196
+					Capabilities::get_missing_permissions_string($model, $query_params['caps'])
197 197
 				),
198
-				array( 'status' => 403 )
198
+				array('status' => 403)
199 199
 			);
200 200
 		}
201
-		if( ! $request->get_header( 'no_rest_headers' ) ) {
202
-			$this->_set_headers_from_query_params( $model, $query_params );
201
+		if ( ! $request->get_header('no_rest_headers')) {
202
+			$this->_set_headers_from_query_params($model, $query_params);
203 203
 		}
204 204
 		/** @type array $results */
205
-		$results = $model->get_all_wpdb_results( $query_params );
205
+		$results = $model->get_all_wpdb_results($query_params);
206 206
 		$nice_results = array( );
207
-		foreach ( $results as $result ) {
208
-			$nice_results[ ] = $this->create_entity_from_wpdb_result(
207
+		foreach ($results as $result) {
208
+			$nice_results[] = $this->create_entity_from_wpdb_result(
209 209
 					$model,
210 210
 					$result,
211 211
 					$request
@@ -226,64 +226,64 @@  discard block
 block discarded – undo
226 226
 	 * @param \WP_REST_Request $request
227 227
 	 * @return array
228 228
 	 */
229
-	public function get_entities_from_relation( $id,  $relation, $request ) {
230
-		$context = $this->validate_context( $request->get_param( 'caps' ));
229
+	public function get_entities_from_relation($id, $relation, $request) {
230
+		$context = $this->validate_context($request->get_param('caps'));
231 231
 		$model = $relation->get_this_model();
232 232
 		$related_model = $relation->get_other_model();
233 233
 		//check if they can access the 1st model object
234
-		$query_params = array( array( $model->primary_key_name() => $id ),'limit' => 1 );
235
-		if( $model instanceof \EEM_Soft_Delete_Base ){
234
+		$query_params = array(array($model->primary_key_name() => $id), 'limit' => 1);
235
+		if ($model instanceof \EEM_Soft_Delete_Base) {
236 236
 			$query_params = $model->alter_query_params_so_deleted_and_undeleted_items_included($query_params);
237 237
 		}
238 238
 		$restricted_query_params = $query_params;
239
-		$restricted_query_params[ 'caps' ] = $context;
240
-		$this->_set_debug_info( 'main model query params', $restricted_query_params );
241
-		$this->_set_debug_info( 'missing caps', Capabilities::get_missing_permissions_string( $related_model, $context ) );
239
+		$restricted_query_params['caps'] = $context;
240
+		$this->_set_debug_info('main model query params', $restricted_query_params);
241
+		$this->_set_debug_info('missing caps', Capabilities::get_missing_permissions_string($related_model, $context));
242 242
 
243
-		if(
243
+		if (
244 244
 			! (
245
-				Capabilities::current_user_has_partial_access_to( $related_model, $context )
246
-				&& $model->exists( $restricted_query_params )
245
+				Capabilities::current_user_has_partial_access_to($related_model, $context)
246
+				&& $model->exists($restricted_query_params)
247 247
 			)
248
-		){
249
-			if( $relation instanceof \EE_Belongs_To_Relation ) {
250
-				$related_model_name_maybe_plural = strtolower( $related_model->get_this_model_name() );
251
-			}else{
252
-				$related_model_name_maybe_plural = \EEH_Inflector::pluralize_and_lower( $related_model->get_this_model_name() );
248
+		) {
249
+			if ($relation instanceof \EE_Belongs_To_Relation) {
250
+				$related_model_name_maybe_plural = strtolower($related_model->get_this_model_name());
251
+			} else {
252
+				$related_model_name_maybe_plural = \EEH_Inflector::pluralize_and_lower($related_model->get_this_model_name());
253 253
 			}
254 254
 			return new \WP_Error(
255
-				sprintf( 'rest_%s_cannot_list', $related_model_name_maybe_plural ),
255
+				sprintf('rest_%s_cannot_list', $related_model_name_maybe_plural),
256 256
 				sprintf(
257
-					__(	'Sorry, you are not allowed to list %1$s related to %2$s. Missing permissions: %3$s', 'event_espresso' ),
257
+					__('Sorry, you are not allowed to list %1$s related to %2$s. Missing permissions: %3$s', 'event_espresso'),
258 258
 					$related_model_name_maybe_plural,
259 259
 					$relation->get_this_model()->get_this_model_name(),
260 260
 					implode(
261 261
 						',',
262 262
 						array_keys(
263
-							Capabilities::get_missing_permissions( $related_model, $context )
263
+							Capabilities::get_missing_permissions($related_model, $context)
264 264
 						)
265 265
 					)
266 266
 				),
267
-				array( 'status' => 403 )
267
+				array('status' => 403)
268 268
 			);
269 269
 		}
270
-		$query_params = $this->create_model_query_params( $relation->get_other_model(), $request->get_params() );
271
-		$query_params[0][ $relation->get_this_model()->get_this_model_name() . '.' . $relation->get_this_model()->primary_key_name() ] = $id;
272
-		$query_params[ 'default_where_conditions' ] = 'none';
273
-		$query_params[ 'caps' ] = $context;
274
-		if( ! $request->get_header( 'no_rest_headers' ) ) {
275
-			$this->_set_headers_from_query_params( $relation->get_other_model(), $query_params );
270
+		$query_params = $this->create_model_query_params($relation->get_other_model(), $request->get_params());
271
+		$query_params[0][$relation->get_this_model()->get_this_model_name().'.'.$relation->get_this_model()->primary_key_name()] = $id;
272
+		$query_params['default_where_conditions'] = 'none';
273
+		$query_params['caps'] = $context;
274
+		if ( ! $request->get_header('no_rest_headers')) {
275
+			$this->_set_headers_from_query_params($relation->get_other_model(), $query_params);
276 276
 		}
277 277
 		/** @type array $results */
278
-		$results = $relation->get_other_model()->get_all_wpdb_results( $query_params );
278
+		$results = $relation->get_other_model()->get_all_wpdb_results($query_params);
279 279
 		$nice_results = array();
280
-		foreach( $results as $result ) {
280
+		foreach ($results as $result) {
281 281
 			$nice_result = $this->create_entity_from_wpdb_result(
282 282
 				$relation->get_other_model(),
283 283
 				$result,
284 284
 				$request
285 285
 			);
286
-			if( $relation instanceof \EE_HABTM_Relation ) {
286
+			if ($relation instanceof \EE_HABTM_Relation) {
287 287
 				//put the unusual stuff (properties from the HABTM relation) first, and make sure
288 288
 				//if there are conflicts we prefer the properties from the main model
289 289
 				$join_model_result = $this->create_entity_from_wpdb_result(
@@ -291,18 +291,18 @@  discard block
 block discarded – undo
291 291
 					$result,
292 292
 					$request
293 293
 				);
294
-				$joined_result = array_merge( $nice_result, $join_model_result );
294
+				$joined_result = array_merge($nice_result, $join_model_result);
295 295
 				//but keep the meta stuff from the main model
296
-				if( isset( $nice_result['meta'] ) ){
296
+				if (isset($nice_result['meta'])) {
297 297
 					$joined_result['meta'] = $nice_result['meta'];
298 298
 				}
299 299
 				$nice_result = $joined_result;
300 300
 			}
301 301
 			$nice_results[] = $nice_result;
302 302
 		}
303
-		if( $relation instanceof \EE_Belongs_To_Relation ){
304
-			return array_shift( $nice_results );
305
-		}else{
303
+		if ($relation instanceof \EE_Belongs_To_Relation) {
304
+			return array_shift($nice_results);
305
+		} else {
306 306
 			return $nice_results;
307 307
 		}
308 308
 	}
@@ -315,30 +315,30 @@  discard block
 block discarded – undo
315 315
 	 * @param array $query_params
316 316
 	 * @return void
317 317
 	 */
318
-	protected function _set_headers_from_query_params( $model, $query_params ) {
319
-		$this->_set_debug_info( 'model query params', $query_params );
320
-		$this->_set_debug_info( 'missing caps', Capabilities::get_missing_permissions_string( $model, $query_params[ 'caps' ] ) );
318
+	protected function _set_headers_from_query_params($model, $query_params) {
319
+		$this->_set_debug_info('model query params', $query_params);
320
+		$this->_set_debug_info('missing caps', Capabilities::get_missing_permissions_string($model, $query_params['caps']));
321 321
 		//normally the limit to a 2-part array, where the 2nd item is the limit
322
-		if( ! isset( $query_params[ 'limit' ] ) ) {
323
-			$query_params[ 'limit' ] = \EED_Core_Rest_Api::get_default_query_limit();
322
+		if ( ! isset($query_params['limit'])) {
323
+			$query_params['limit'] = \EED_Core_Rest_Api::get_default_query_limit();
324 324
 		}
325
-		if( is_array( $query_params[ 'limit' ] )  ) {
326
-			$limit_parts = $query_params[ 'limit' ];
325
+		if (is_array($query_params['limit'])) {
326
+			$limit_parts = $query_params['limit'];
327 327
 		} else {
328
-			$limit_parts = explode(',', $query_params[ 'limit' ] );
329
-			if( count( $limit_parts ) == 1 ){
330
-				$limit_parts = array(0, $limit_parts[ 0 ] );
328
+			$limit_parts = explode(',', $query_params['limit']);
329
+			if (count($limit_parts) == 1) {
330
+				$limit_parts = array(0, $limit_parts[0]);
331 331
 			}
332 332
 		}
333 333
 		//remove the group by and having parts of the query, as those will
334 334
 		//make the sql query return an array of values, instead of just a single value
335
-		unset( $query_params[ 'group_by' ], $query_params[ 'having' ], $query_params[ 'limit' ] );
336
-		$count = $model->count( $query_params, null, true );
335
+		unset($query_params['group_by'], $query_params['having'], $query_params['limit']);
336
+		$count = $model->count($query_params, null, true);
337 337
 
338
-		$pages = $count / $limit_parts[ 1 ];
339
-		$this->_set_response_header( 'Total', $count, false );
340
-		$this->_set_response_header( 'PageSize', $limit_parts[ 1 ], false );
341
-		$this->_set_response_header( 'TotalPages', ceil( $pages ), false );
338
+		$pages = $count / $limit_parts[1];
339
+		$this->_set_response_header('Total', $count, false);
340
+		$this->_set_response_header('PageSize', $limit_parts[1], false);
341
+		$this->_set_response_header('TotalPages', ceil($pages), false);
342 342
 	}
343 343
 
344 344
 
@@ -351,47 +351,47 @@  discard block
 block discarded – undo
351 351
 	 * @param string $deprecated no longer used
352 352
 	 * @return array ready for being converted into json for sending to client
353 353
 	 */
354
-	public function create_entity_from_wpdb_result( $model, $db_row, $rest_request, $deprecated = null ) {
355
-		if( ! $rest_request instanceof \WP_REST_Request ) {
354
+	public function create_entity_from_wpdb_result($model, $db_row, $rest_request, $deprecated = null) {
355
+		if ( ! $rest_request instanceof \WP_REST_Request) {
356 356
 			//ok so this was called in the old style, where the 3rd arg was
357 357
 			//$include, and the 4th arg was $context
358 358
 			//now setup the request just to avoid fatal errors, although we won't be able
359 359
 			//to truly make use of it because it's kinda devoid of info
360 360
 			$rest_request = new \WP_REST_Request();
361
-			$rest_request->set_param( 'include', $rest_request );
362
-			$rest_request->set_param( 'caps', $deprecated );
361
+			$rest_request->set_param('include', $rest_request);
362
+			$rest_request->set_param('caps', $deprecated);
363 363
 		}
364
-		if( $rest_request->get_param( 'caps' ) == null ) {
365
-			$rest_request->set_param( 'caps', \EEM_Base::caps_read );
364
+		if ($rest_request->get_param('caps') == null) {
365
+			$rest_request->set_param('caps', \EEM_Base::caps_read);
366 366
 		}
367
-		$entity_array = $this->_create_bare_entity_from_wpdb_results( $model, $db_row );
368
-		$entity_array = $this->_add_extra_fields( $model, $db_row, $entity_array );
369
-		$entity_array[ '_links' ] = $this->_get_entity_links( $model, $db_row, $entity_array );
370
-		$entity_array[ '_calculated_fields'] = $this->_get_entity_calculations( $model, $db_row, $rest_request );
371
-		$entity_array = $this->_include_requested_models( $model, $rest_request, $entity_array );
367
+		$entity_array = $this->_create_bare_entity_from_wpdb_results($model, $db_row);
368
+		$entity_array = $this->_add_extra_fields($model, $db_row, $entity_array);
369
+		$entity_array['_links'] = $this->_get_entity_links($model, $db_row, $entity_array);
370
+		$entity_array['_calculated_fields'] = $this->_get_entity_calculations($model, $db_row, $rest_request);
371
+		$entity_array = $this->_include_requested_models($model, $rest_request, $entity_array);
372 372
 		$entity_array = apply_filters(
373 373
 			'FHEE__Read__create_entity_from_wpdb_results__entity_before_inaccessible_field_removal',
374 374
 			$entity_array,
375 375
 			$model,
376
-			$rest_request->get_param( 'caps' ),
376
+			$rest_request->get_param('caps'),
377 377
 			$rest_request,
378 378
 			$this
379 379
 		);
380 380
 		$result_without_inaccessible_fields = Capabilities::filter_out_inaccessible_entity_fields(
381 381
 			$entity_array,
382 382
 			$model,
383
-			$rest_request->get_param( 'caps' ),
383
+			$rest_request->get_param('caps'),
384 384
 			$this->get_model_version_info()
385 385
 		);
386 386
 		$this->_set_debug_info(
387 387
 			'inaccessible fields',
388
-			array_keys( array_diff_key( $entity_array, $result_without_inaccessible_fields ) )
388
+			array_keys(array_diff_key($entity_array, $result_without_inaccessible_fields))
389 389
 		);
390 390
 		return apply_filters(
391 391
 			'FHEE__Read__create_entity_from_wpdb_results__entity_return',
392 392
 			$result_without_inaccessible_fields,
393 393
 			$model,
394
-			$rest_request->get_param( 'caps' )
394
+			$rest_request->get_param('caps')
395 395
 		);
396 396
 	}
397 397
 
@@ -403,38 +403,38 @@  discard block
 block discarded – undo
403 403
 	 * @param array $db_row
404 404
 	 * @return array entity mostly ready for converting to JSON and sending in the response
405 405
 	 */
406
-	protected function _create_bare_entity_from_wpdb_results( \EEM_Base $model, $db_row ) {
407
-		$result = $model->deduce_fields_n_values_from_cols_n_values( $db_row );
408
-		$result = array_intersect_key( $result, $this->get_model_version_info()->fields_on_model_in_this_version( $model ) );
409
-		foreach( $result as $field_name => $raw_field_value ) {
406
+	protected function _create_bare_entity_from_wpdb_results(\EEM_Base $model, $db_row) {
407
+		$result = $model->deduce_fields_n_values_from_cols_n_values($db_row);
408
+		$result = array_intersect_key($result, $this->get_model_version_info()->fields_on_model_in_this_version($model));
409
+		foreach ($result as $field_name => $raw_field_value) {
410 410
 			$field_obj = $model->field_settings_for($field_name);
411
-			$field_value = $field_obj->prepare_for_set_from_db( $raw_field_value );
412
-			if( $this->is_subclass_of_one(  $field_obj, $this->get_model_version_info()->fields_ignored() ) ){
413
-				unset( $result[ $field_name ] );
414
-			}elseif(
415
-				$this->is_subclass_of_one( $field_obj, $this->get_model_version_info()->fields_that_have_rendered_format() )
416
-			){
417
-				$result[ $field_name ] = array(
418
-					'raw' => $field_obj->prepare_for_get( $field_value ),
419
-					'rendered' => $field_obj->prepare_for_pretty_echoing( $field_value )
411
+			$field_value = $field_obj->prepare_for_set_from_db($raw_field_value);
412
+			if ($this->is_subclass_of_one($field_obj, $this->get_model_version_info()->fields_ignored())) {
413
+				unset($result[$field_name]);
414
+			}elseif (
415
+				$this->is_subclass_of_one($field_obj, $this->get_model_version_info()->fields_that_have_rendered_format())
416
+			) {
417
+				$result[$field_name] = array(
418
+					'raw' => $field_obj->prepare_for_get($field_value),
419
+					'rendered' => $field_obj->prepare_for_pretty_echoing($field_value)
420 420
 				);
421
-			}elseif(
422
-				$this->is_subclass_of_one( $field_obj, $this->get_model_version_info()->fields_that_have_pretty_format() )
423
-			){
424
-				$result[ $field_name ] = array(
425
-					'raw' => $field_obj->prepare_for_get( $field_value ),
426
-					'pretty' => $field_obj->prepare_for_pretty_echoing( $field_value )
421
+			}elseif (
422
+				$this->is_subclass_of_one($field_obj, $this->get_model_version_info()->fields_that_have_pretty_format())
423
+			) {
424
+				$result[$field_name] = array(
425
+					'raw' => $field_obj->prepare_for_get($field_value),
426
+					'pretty' => $field_obj->prepare_for_pretty_echoing($field_value)
427 427
 				);
428
-			} elseif ( $field_obj instanceof \EE_Datetime_Field ) {
429
-				$result[ $field_name ] = Model_Data_Translator::prepare_field_value_for_json(
428
+			} elseif ($field_obj instanceof \EE_Datetime_Field) {
429
+				$result[$field_name] = Model_Data_Translator::prepare_field_value_for_json(
430 430
 					$field_obj,
431 431
 					$field_value,
432 432
 					$this->get_model_version_info()->requested_version()
433 433
 				);
434 434
 			} else {
435
-				$result[ $field_name ] = Model_Data_Translator::prepare_field_value_for_json(
435
+				$result[$field_name] = Model_Data_Translator::prepare_field_value_for_json(
436 436
 					$field_obj,
437
-					$field_obj->prepare_for_get( $field_value ),
437
+					$field_obj->prepare_for_get($field_value),
438 438
 					$this->get_model_version_info()->requested_version()
439 439
 				);
440 440
 			}
@@ -449,9 +449,9 @@  discard block
 block discarded – undo
449 449
 	 * @param array $entity_array
450 450
 	 * @return array modified entity
451 451
 	 */
452
-	protected function _add_extra_fields( \EEM_Base $model, $db_row, $entity_array ) {
453
-		if( $model instanceof \EEM_CPT_Base ) {
454
-			$entity_array[ 'link' ] = get_permalink( $db_row[ $model->get_primary_key_field()->get_qualified_column() ] );
452
+	protected function _add_extra_fields(\EEM_Base $model, $db_row, $entity_array) {
453
+		if ($model instanceof \EEM_CPT_Base) {
454
+			$entity_array['link'] = get_permalink($db_row[$model->get_primary_key_field()->get_qualified_column()]);
455 455
 		}
456 456
 		return $entity_array;
457 457
 	}
@@ -465,52 +465,52 @@  discard block
 block discarded – undo
465 465
 	 * @param array $entity_array
466 466
 	 * @return array the _links item in the entity
467 467
 	 */
468
-	protected function _get_entity_links( $model, $db_row, $entity_array ) {
468
+	protected function _get_entity_links($model, $db_row, $entity_array) {
469 469
 		//add basic links
470 470
 		$links = array();
471
-		if( $model instanceof \EEM_Base 
472
-			&& $model->has_primary_key_field() ) {
473
-			$links[ 'self' ] = array(
471
+		if ($model instanceof \EEM_Base 
472
+			&& $model->has_primary_key_field()) {
473
+			$links['self'] = array(
474 474
 				array(
475 475
 					'href' => $this->get_versioned_link_to(
476
-						\EEH_Inflector::pluralize_and_lower( $model->get_this_model_name() ) . '/' . $entity_array[ $model->primary_key_name() ]
476
+						\EEH_Inflector::pluralize_and_lower($model->get_this_model_name()).'/'.$entity_array[$model->primary_key_name()]
477 477
 					)
478 478
 				)
479 479
 			);
480 480
 		}
481
-		$links[ 'collection' ] = array(
481
+		$links['collection'] = array(
482 482
 			array(
483 483
 				'href' => $this->get_versioned_link_to(
484
-					\EEH_Inflector::pluralize_and_lower( $model->get_this_model_name() )
484
+					\EEH_Inflector::pluralize_and_lower($model->get_this_model_name())
485 485
 				)
486 486
 			)
487 487
 		);
488 488
 
489 489
 		//add link to the wp core endpoint, if wp api is active
490 490
 		global $wp_rest_server;
491
-		if( $model instanceof \EEM_CPT_Base
491
+		if ($model instanceof \EEM_CPT_Base
492 492
 			&& $wp_rest_server instanceof \WP_REST_Server
493
-			&& $wp_rest_server->get_route_options( '/wp/v2/posts' )
494
-			&& $model->has_primary_key_field() ) 
493
+			&& $wp_rest_server->get_route_options('/wp/v2/posts')
494
+			&& $model->has_primary_key_field()) 
495 495
 		{
496
-			$links[ \EED_Core_Rest_Api::ee_api_link_namespace . 'self_wp_post' ] = array(
496
+			$links[\EED_Core_Rest_Api::ee_api_link_namespace.'self_wp_post'] = array(
497 497
 				array(
498
-					'href' => rest_url( '/wp/v2/posts/' . $db_row[ $model->get_primary_key_field()->get_qualified_column() ] ),
498
+					'href' => rest_url('/wp/v2/posts/'.$db_row[$model->get_primary_key_field()->get_qualified_column()]),
499 499
 					'single' => true
500 500
 				)
501 501
 			);
502 502
 		}
503 503
 
504 504
 		//add links to related models
505
-		foreach( $this->get_model_version_info()->relation_settings( $model ) as $relation_name => $relation_obj ) {
506
-			$related_model_part = Read::get_related_entity_name( $relation_name, $relation_obj );
507
-			if( $model instanceof \EEM_Base
508
-				&& $model->has_primary_key_field() ) 
505
+		foreach ($this->get_model_version_info()->relation_settings($model) as $relation_name => $relation_obj) {
506
+			$related_model_part = Read::get_related_entity_name($relation_name, $relation_obj);
507
+			if ($model instanceof \EEM_Base
508
+				&& $model->has_primary_key_field()) 
509 509
 			{
510
-				$links[ \EED_Core_Rest_Api::ee_api_link_namespace . $related_model_part ] = array(
510
+				$links[\EED_Core_Rest_Api::ee_api_link_namespace.$related_model_part] = array(
511 511
 					array(
512 512
 						'href' => $this->get_versioned_link_to(
513
-							\EEH_Inflector::pluralize_and_lower( $model->get_this_model_name() ) . '/' . $entity_array[ $model->primary_key_name() ] . '/' . $related_model_part
513
+							\EEH_Inflector::pluralize_and_lower($model->get_this_model_name()).'/'.$entity_array[$model->primary_key_name()].'/'.$related_model_part
514 514
 						),
515 515
 						'single' => $relation_obj instanceof \EE_Belongs_To_Relation ? true : false
516 516
 					)
@@ -527,51 +527,51 @@  discard block
 block discarded – undo
527 527
 	 * @param array $entity_array
528 528
 	 * @return array the modified entity
529 529
 	 */
530
-	protected function _include_requested_models( \EEM_Base $model, \WP_REST_Request $rest_request, $entity_array ) {
531
-		$includes_for_this_model = $this->explode_and_get_items_prefixed_with( $rest_request->get_param( 'include' ), '' );
532
-		$includes_for_this_model = $this->_remove_model_names_from_array( $includes_for_this_model );
530
+	protected function _include_requested_models(\EEM_Base $model, \WP_REST_Request $rest_request, $entity_array) {
531
+		$includes_for_this_model = $this->explode_and_get_items_prefixed_with($rest_request->get_param('include'), '');
532
+		$includes_for_this_model = $this->_remove_model_names_from_array($includes_for_this_model);
533 533
 		//if they passed in * or didn't specify any includes, return everything
534
-		if( ! in_array( '*', $includes_for_this_model )
535
-			&& ! empty( $includes_for_this_model ) ) {
536
-			if( $model->has_primary_key_field() ) {
534
+		if ( ! in_array('*', $includes_for_this_model)
535
+			&& ! empty($includes_for_this_model)) {
536
+			if ($model->has_primary_key_field()) {
537 537
 				//always include the primary key. ya just gotta know that at least
538 538
 				$includes_for_this_model[] = $model->primary_key_name();
539 539
 			}
540
-			if( $this->explode_and_get_items_prefixed_with( $rest_request->get_param( 'calculate' ), '' ) ) {
540
+			if ($this->explode_and_get_items_prefixed_with($rest_request->get_param('calculate'), '')) {
541 541
 				$includes_for_this_model[] = '_calculated_fields';
542 542
 			}
543
-			$entity_array = array_intersect_key( $entity_array, array_flip( $includes_for_this_model ) );
543
+			$entity_array = array_intersect_key($entity_array, array_flip($includes_for_this_model));
544 544
 		}
545
-		$relation_settings = $this->get_model_version_info()->relation_settings( $model );
546
-		foreach( $relation_settings as $relation_name => $relation_obj ) {
545
+		$relation_settings = $this->get_model_version_info()->relation_settings($model);
546
+		foreach ($relation_settings as $relation_name => $relation_obj) {
547 547
 			$related_fields_to_include = $this->explode_and_get_items_prefixed_with(
548
-				$rest_request->get_param( 'include' ),
548
+				$rest_request->get_param('include'),
549 549
 				$relation_name
550 550
 			);
551 551
 			$related_fields_to_calculate = $this->explode_and_get_items_prefixed_with(
552
-				$rest_request->get_param( 'calculate' ),
552
+				$rest_request->get_param('calculate'),
553 553
 				$relation_name
554 554
 			);
555 555
 			//did they specify they wanted to include a related model, or
556 556
 			//specific fields from a related model?
557 557
 			//or did they specify to calculate a field from a related model?
558
-			if( $related_fields_to_include || $related_fields_to_calculate ) {
558
+			if ($related_fields_to_include || $related_fields_to_calculate) {
559 559
 				//if so, we should include at least some part of the related model
560 560
 				$pretend_related_request = new \WP_REST_Request();
561 561
 				$pretend_related_request->set_query_params(
562 562
 					array(
563
-						'caps' => $rest_request->get_param( 'caps' ),
563
+						'caps' => $rest_request->get_param('caps'),
564 564
 						'include' => $related_fields_to_include,
565 565
 						'calculate' => $related_fields_to_calculate,
566 566
 					)
567 567
 				);
568
-				$pretend_related_request->add_header( 'no_rest_headers', true );
568
+				$pretend_related_request->add_header('no_rest_headers', true);
569 569
 				$related_results = $this->get_entities_from_relation(
570
-					$entity_array[ $model->primary_key_name() ],
570
+					$entity_array[$model->primary_key_name()],
571 571
 					$relation_obj,
572 572
 					$pretend_related_request
573 573
 				);
574
-				$entity_array[ Read::get_related_entity_name( $relation_name, $relation_obj ) ] = $related_results instanceof \WP_Error
574
+				$entity_array[Read::get_related_entity_name($relation_name, $relation_obj)] = $related_results instanceof \WP_Error
575 575
 					? null
576 576
 					: $related_results;
577 577
 			}
@@ -585,8 +585,8 @@  discard block
 block discarded – undo
585 585
 	 * @param array $arr
586 586
 	 * @return array
587 587
 	 */
588
-	private function _remove_model_names_from_array( $arr ) {
589
-		return array_diff( $arr, array_keys( \EE_Registry::instance()->non_abstract_db_models ) );
588
+	private function _remove_model_names_from_array($arr) {
589
+		return array_diff($arr, array_keys(\EE_Registry::instance()->non_abstract_db_models));
590 590
 	}
591 591
 	/**
592 592
 	 * Gets the calculated fields for the response
@@ -596,15 +596,15 @@  discard block
 block discarded – undo
596 596
 	 * @param \WP_REST_Request $rest_request
597 597
 	 * @return array the _calculations item in the entity
598 598
 	 */
599
-	protected function _get_entity_calculations( $model, $wpdb_row, $rest_request ) {
599
+	protected function _get_entity_calculations($model, $wpdb_row, $rest_request) {
600 600
 		$calculated_fields = $this->explode_and_get_items_prefixed_with(
601
-			$rest_request->get_param( 'calculate' ),
601
+			$rest_request->get_param('calculate'),
602 602
 			''
603 603
 		);
604 604
 		//note: setting calculate=* doesn't do anything
605 605
 		$calculated_fields_to_return = new \stdClass();
606
-		foreach( $calculated_fields as $field_to_calculate ) {
607
-			try{
606
+		foreach ($calculated_fields as $field_to_calculate) {
607
+			try {
608 608
 				$calculated_fields_to_return->$field_to_calculate = Model_Data_Translator::prepare_field_value_for_json(
609 609
 					null,
610 610
 					$this->_fields_calculator->retrieve_calculated_field_value(
@@ -616,10 +616,10 @@  discard block
 block discarded – undo
616 616
 					),
617 617
 					$this->get_model_version_info()->requested_version()
618 618
 				);
619
-			} catch( Rest_Exception $e ) {
619
+			} catch (Rest_Exception $e) {
620 620
 				//if we don't have permission to read it, just leave it out. but let devs know about the problem
621 621
 				$this->_set_response_header(
622
-					'Notices-Field-Calculation-Errors[' . $e->get_string_code() . '][' . $model->get_this_model_name() . '][' . $field_to_calculate . ']',
622
+					'Notices-Field-Calculation-Errors['.$e->get_string_code().']['.$model->get_this_model_name().']['.$field_to_calculate.']',
623 623
 					$e->getMessage(),
624 624
 					true
625 625
 				);
@@ -633,7 +633,7 @@  discard block
 block discarded – undo
633 633
 	 * @param string $link_part_after_version_and_slash eg "events/10/datetimes"
634 634
 	 * @return string url eg "http://mysite.com/wp-json/ee/v4.6/events/10/datetimes"
635 635
 	 */
636
-	public function get_versioned_link_to( $link_part_after_version_and_slash ) {
636
+	public function get_versioned_link_to($link_part_after_version_and_slash) {
637 637
 		return rest_url(
638 638
 			\EED_Core_Rest_Api::ee_api_namespace
639 639
 			. $this->get_model_version_info()->requested_version()
@@ -649,11 +649,11 @@  discard block
 block discarded – undo
649 649
 	 * @param \EE_Model_Relation_Base $relation_obj
650 650
 	 * @return string
651 651
 	 */
652
-	public static function get_related_entity_name( $relation_name, $relation_obj ){
653
-		if( $relation_obj instanceof \EE_Belongs_To_Relation ) {
654
-			return strtolower( $relation_name );
655
-		}else{
656
-			return \EEH_Inflector::pluralize_and_lower( $relation_name );
652
+	public static function get_related_entity_name($relation_name, $relation_obj) {
653
+		if ($relation_obj instanceof \EE_Belongs_To_Relation) {
654
+			return strtolower($relation_name);
655
+		} else {
656
+			return \EEH_Inflector::pluralize_and_lower($relation_name);
657 657
 		}
658 658
 	}
659 659
 
@@ -666,43 +666,43 @@  discard block
 block discarded – undo
666 666
 	 * @param \WP_REST_Request $request
667 667
 	 * @return array
668 668
 	 */
669
-	public function get_entity_from_model( $model, $request ) {
670
-		$query_params = array( array( $model->primary_key_name() => $request->get_param( 'id' ) ),'limit' => 1);
671
-		if( $model instanceof \EEM_Soft_Delete_Base ){
669
+	public function get_entity_from_model($model, $request) {
670
+		$query_params = array(array($model->primary_key_name() => $request->get_param('id')), 'limit' => 1);
671
+		if ($model instanceof \EEM_Soft_Delete_Base) {
672 672
 			$query_params = $model->alter_query_params_so_deleted_and_undeleted_items_included($query_params);
673 673
 		}
674 674
 		$restricted_query_params = $query_params;
675
-		$restricted_query_params[ 'caps' ] =  $this->validate_context(  $request->get_param( 'caps' ) );
676
-		$this->_set_debug_info( 'model query params', $restricted_query_params );
677
-		$model_rows = $model->get_all_wpdb_results( $restricted_query_params );
678
-		if ( ! empty ( $model_rows ) ) {
675
+		$restricted_query_params['caps'] = $this->validate_context($request->get_param('caps'));
676
+		$this->_set_debug_info('model query params', $restricted_query_params);
677
+		$model_rows = $model->get_all_wpdb_results($restricted_query_params);
678
+		if ( ! empty ($model_rows)) {
679 679
 			return $this->create_entity_from_wpdb_result(
680 680
 				$model,
681
-				array_shift( $model_rows ),
681
+				array_shift($model_rows),
682 682
 				$request );
683 683
 		} else {
684 684
 			//ok let's test to see if we WOULD have found it, had we not had restrictions from missing capabilities
685
-			$lowercase_model_name = strtolower( $model->get_this_model_name() );
686
-			$model_rows_found_sans_restrictions = $model->get_all_wpdb_results( $query_params );
687
-			if( ! empty( $model_rows_found_sans_restrictions ) ) {
685
+			$lowercase_model_name = strtolower($model->get_this_model_name());
686
+			$model_rows_found_sans_restrictions = $model->get_all_wpdb_results($query_params);
687
+			if ( ! empty($model_rows_found_sans_restrictions)) {
688 688
 				//you got shafted- it existed but we didn't want to tell you!
689 689
 				return new \WP_Error(
690 690
 					'rest_user_cannot_read',
691 691
 					sprintf(
692
-						__( 'Sorry, you cannot read this %1$s. Missing permissions are: %2$s', 'event_espresso' ),
693
-						strtolower( $model->get_this_model_name() ),
692
+						__('Sorry, you cannot read this %1$s. Missing permissions are: %2$s', 'event_espresso'),
693
+						strtolower($model->get_this_model_name()),
694 694
 						Capabilities::get_missing_permissions_string(
695 695
 							$model,
696
-							$this->validate_context( $request->get_param( 'caps' ) ) )
696
+							$this->validate_context($request->get_param('caps')) )
697 697
 					),
698
-					array( 'status' => 403 )
698
+					array('status' => 403)
699 699
 				);
700 700
 			} else {
701 701
 				//it's not you. It just doesn't exist
702 702
 				return new \WP_Error(
703
-					sprintf( 'rest_%s_invalid_id', $lowercase_model_name ),
704
-					sprintf( __( 'Invalid %s ID.', 'event_espresso' ), $lowercase_model_name ),
705
-					array( 'status' => 404 )
703
+					sprintf('rest_%s_invalid_id', $lowercase_model_name),
704
+					sprintf(__('Invalid %s ID.', 'event_espresso'), $lowercase_model_name),
705
+					array('status' => 404)
706 706
 				);
707 707
 			}
708 708
 		}
@@ -715,14 +715,14 @@  discard block
 block discarded – undo
715 715
 	 * @param string $context
716 716
 	 * @return string array key of EEM_Base::cap_contexts_to_cap_action_map()
717 717
 	 */
718
-	public function validate_context( $context ) {
719
-		if( ! $context ) {
718
+	public function validate_context($context) {
719
+		if ( ! $context) {
720 720
 			$context = \EEM_Base::caps_read;
721 721
 		}
722 722
 		$valid_contexts = \EEM_Base::valid_cap_contexts();
723
-		if( in_array( $context, $valid_contexts )  ){
723
+		if (in_array($context, $valid_contexts)) {
724 724
 			return $context;
725
-		}else{
725
+		} else {
726 726
 			return \EEM_Base::caps_read;
727 727
 		}
728 728
 	}
@@ -741,77 +741,77 @@  discard block
 block discarded – undo
741 741
 	 *                          that absolutely no results should be returned
742 742
 	 * @throws \EE_Error
743 743
 	 */
744
-	public function create_model_query_params( $model, $query_parameters ) {
744
+	public function create_model_query_params($model, $query_parameters) {
745 745
 		$model_query_params = array( );
746
-		if ( isset( $query_parameters[ 'where' ] ) ) {
747
-			$model_query_params[ 0 ] = Model_Data_Translator::prepare_conditions_query_params_for_models(
748
-				$query_parameters[ 'where' ],
746
+		if (isset($query_parameters['where'])) {
747
+			$model_query_params[0] = Model_Data_Translator::prepare_conditions_query_params_for_models(
748
+				$query_parameters['where'],
749 749
 				$model,
750 750
 				$this->get_model_version_info()->requested_version()
751 751
 			);
752 752
 		}
753
-		if ( isset( $query_parameters[ 'order_by' ] ) ) {
754
-			$order_by = $query_parameters[ 'order_by' ];
755
-		} elseif ( isset( $query_parameters[ 'orderby' ] ) ) {
756
-			$order_by = $query_parameters[ 'orderby' ];
757
-		}else{
753
+		if (isset($query_parameters['order_by'])) {
754
+			$order_by = $query_parameters['order_by'];
755
+		} elseif (isset($query_parameters['orderby'])) {
756
+			$order_by = $query_parameters['orderby'];
757
+		} else {
758 758
 			$order_by = null;
759 759
 		}
760
-		if( $order_by !== null ){
761
-			$model_query_params[ 'order_by' ] =  $order_by;
760
+		if ($order_by !== null) {
761
+			$model_query_params['order_by'] = $order_by;
762 762
 		}
763
-		if ( isset( $query_parameters[ 'group_by' ] ) ) {
764
-			$group_by = $query_parameters[ 'group_by' ];
765
-		} elseif ( isset( $query_parameters[ 'groupby' ] ) ) {
766
-			$group_by = $query_parameters[ 'groupby' ];
767
-		}else{
768
-			$group_by = array_keys( $model->get_combined_primary_key_fields() );
763
+		if (isset($query_parameters['group_by'])) {
764
+			$group_by = $query_parameters['group_by'];
765
+		} elseif (isset($query_parameters['groupby'])) {
766
+			$group_by = $query_parameters['groupby'];
767
+		} else {
768
+			$group_by = array_keys($model->get_combined_primary_key_fields());
769 769
 		}
770
-		if( $group_by !== null ){
771
-			$model_query_params[ 'group_by' ] = $group_by;
770
+		if ($group_by !== null) {
771
+			$model_query_params['group_by'] = $group_by;
772 772
 		}
773
-		if ( isset( $query_parameters[ 'having' ] ) ) {
774
-			$model_query_params[ 'having' ] = Model_Data_Translator::prepare_conditions_query_params_for_models(
775
-				$query_parameters[ 'having' ],
773
+		if (isset($query_parameters['having'])) {
774
+			$model_query_params['having'] = Model_Data_Translator::prepare_conditions_query_params_for_models(
775
+				$query_parameters['having'],
776 776
 				$model,
777 777
 				$this->get_model_version_info()->requested_version()
778 778
 			);
779 779
 		}
780
-		if ( isset( $query_parameters[ 'order' ] ) ) {
781
-			$model_query_params[ 'order' ] = $query_parameters[ 'order' ];
780
+		if (isset($query_parameters['order'])) {
781
+			$model_query_params['order'] = $query_parameters['order'];
782 782
 		}
783
-		if ( isset( $query_parameters[ 'mine' ] ) ){
784
-			$model_query_params = $model->alter_query_params_to_only_include_mine( $model_query_params );
783
+		if (isset($query_parameters['mine'])) {
784
+			$model_query_params = $model->alter_query_params_to_only_include_mine($model_query_params);
785 785
 		}
786
-		if( isset( $query_parameters[ 'limit' ] ) ) {
786
+		if (isset($query_parameters['limit'])) {
787 787
 			//limit should be either a string like '23' or '23,43', or an array with two items in it
788
-			if( ! is_array( $query_parameters[ 'limit' ] ) ) {
789
-				$limit_array = explode(',', (string)$query_parameters['limit']);
790
-			}else {
791
-				$limit_array = $query_parameters[ 'limit' ];
788
+			if ( ! is_array($query_parameters['limit'])) {
789
+				$limit_array = explode(',', (string) $query_parameters['limit']);
790
+			} else {
791
+				$limit_array = $query_parameters['limit'];
792 792
 			}
793 793
 			$sanitized_limit = array();
794
-			foreach( $limit_array as $key => $limit_part ) {
795
-				if( $this->_debug_mode && ( ! is_numeric( $limit_part ) || count( $sanitized_limit ) > 2 ) ) {
794
+			foreach ($limit_array as $key => $limit_part) {
795
+				if ($this->_debug_mode && ( ! is_numeric($limit_part) || count($sanitized_limit) > 2)) {
796 796
 					throw new \EE_Error(
797 797
 						sprintf(
798
-							__( 'An invalid limit filter was provided. It was: %s. If the EE4 JSON REST API weren\'t in debug mode, this message would not appear.', 'event_espresso' ),
799
-							json_encode( $query_parameters[ 'limit' ] )
798
+							__('An invalid limit filter was provided. It was: %s. If the EE4 JSON REST API weren\'t in debug mode, this message would not appear.', 'event_espresso'),
799
+							json_encode($query_parameters['limit'])
800 800
 						)
801 801
 					);
802 802
 				}
803
-				$sanitized_limit[] = (int)$limit_part;
803
+				$sanitized_limit[] = (int) $limit_part;
804 804
 			}
805
-			$model_query_params[ 'limit' ] = implode( ',', $sanitized_limit );
806
-		}else{
807
-			$model_query_params[ 'limit' ] = \EED_Core_Rest_Api::get_default_query_limit();
805
+			$model_query_params['limit'] = implode(',', $sanitized_limit);
806
+		} else {
807
+			$model_query_params['limit'] = \EED_Core_Rest_Api::get_default_query_limit();
808 808
 		}
809
-		if( isset( $query_parameters[ 'caps' ] ) ) {
810
-			$model_query_params[ 'caps' ] = $this->validate_context( $query_parameters[ 'caps' ] );
811
-		}else{
812
-			$model_query_params[ 'caps' ] = \EEM_Base::caps_read;
809
+		if (isset($query_parameters['caps'])) {
810
+			$model_query_params['caps'] = $this->validate_context($query_parameters['caps']);
811
+		} else {
812
+			$model_query_params['caps'] = \EEM_Base::caps_read;
813 813
 		}
814
-		return apply_filters( 'FHEE__Read__create_model_query_params', $model_query_params, $query_parameters, $model );
814
+		return apply_filters('FHEE__Read__create_model_query_params', $model_query_params, $query_parameters, $model);
815 815
 	}
816 816
 
817 817
 
@@ -823,13 +823,13 @@  discard block
 block discarded – undo
823 823
 	 * @param array     $query_params sub-array from @see EEM_Base::get_all()
824 824
 	 * @return array
825 825
 	 */
826
-	public function prepare_rest_query_params_key_for_models( $model,  $query_params ) {
826
+	public function prepare_rest_query_params_key_for_models($model, $query_params) {
827 827
 		$model_ready_query_params = array();
828
-		foreach( $query_params as $key => $value ) {
829
-			if( is_array( $value ) ) {
830
-				$model_ready_query_params[ $key ] = $this->prepare_rest_query_params_key_for_models( $model, $value );
831
-			}else{
832
-				$model_ready_query_params[ $key ] = $value;
828
+		foreach ($query_params as $key => $value) {
829
+			if (is_array($value)) {
830
+				$model_ready_query_params[$key] = $this->prepare_rest_query_params_key_for_models($model, $value);
831
+			} else {
832
+				$model_ready_query_params[$key] = $value;
833 833
 			}
834 834
 		}
835 835
 		return $model_ready_query_params;
@@ -843,13 +843,13 @@  discard block
 block discarded – undo
843 843
 	 * @param $query_params
844 844
 	 * @return array
845 845
 	 */
846
-	public function prepare_rest_query_params_values_for_models( $model, $query_params ) {
846
+	public function prepare_rest_query_params_values_for_models($model, $query_params) {
847 847
 		$model_ready_query_params = array();
848
-		foreach( $query_params as $key => $value ) {
849
-			if( is_array( $value ) ) {
850
-				$model_ready_query_params[ $key ] = $this->prepare_rest_query_params_values_for_models( $model, $value );
848
+		foreach ($query_params as $key => $value) {
849
+			if (is_array($value)) {
850
+				$model_ready_query_params[$key] = $this->prepare_rest_query_params_values_for_models($model, $value);
851 851
 			} else {
852
-				$model_ready_query_params[ $key ] = $value;
852
+				$model_ready_query_params[$key] = $value;
853 853
 			}
854 854
 		}
855 855
 		return $model_ready_query_params;
@@ -864,33 +864,33 @@  discard block
 block discarded – undo
864 864
 	 * we only return strings starting with that and a period; if no prefix was specified
865 865
 	 * we return all items containing NO periods
866 866
 	 */
867
-	public function explode_and_get_items_prefixed_with( $string_to_explode, $prefix ) {
868
-		if( is_string( $string_to_explode ) ) {
869
-			$exploded_contents = explode( ',', $string_to_explode );
870
-		} else if( is_array( $string_to_explode ) ) {
867
+	public function explode_and_get_items_prefixed_with($string_to_explode, $prefix) {
868
+		if (is_string($string_to_explode)) {
869
+			$exploded_contents = explode(',', $string_to_explode);
870
+		} else if (is_array($string_to_explode)) {
871 871
 			$exploded_contents = $string_to_explode;
872 872
 		} else {
873 873
 			$exploded_contents = array();
874 874
 		}
875 875
 		//if the string was empty, we want an empty array
876
-		$exploded_contents = array_filter( $exploded_contents );
876
+		$exploded_contents = array_filter($exploded_contents);
877 877
 		$contents_with_prefix = array();
878
-		foreach( $exploded_contents as $item ) {
879
-			$item = trim( $item );
878
+		foreach ($exploded_contents as $item) {
879
+			$item = trim($item);
880 880
 			//if no prefix was provided, so we look for items with no "." in them
881
-			if( ! $prefix ) {
881
+			if ( ! $prefix) {
882 882
 				//does this item have a period?
883
-				if( strpos( $item, '.' ) === false ) {
883
+				if (strpos($item, '.') === false) {
884 884
 					//if not, then its what we're looking for
885 885
 					$contents_with_prefix[] = $item;
886 886
 				}
887
-			} else if( strpos( $item, $prefix . '.' ) === 0 ) {
887
+			} else if (strpos($item, $prefix.'.') === 0) {
888 888
 				//this item has the prefix and a period, grab it
889 889
 				$contents_with_prefix[] = substr(
890 890
 					$item,
891
-					strpos( $item, $prefix . '.' ) + strlen( $prefix . '.' )
891
+					strpos($item, $prefix.'.') + strlen($prefix.'.')
892 892
 					);
893
-			} else if( $item === $prefix ) {
893
+			} else if ($item === $prefix) {
894 894
 				//this item is JUST the prefix
895 895
 				//so let's grab everything after, which is a blank string
896 896
 				$contents_with_prefix[] = '';
@@ -913,33 +913,33 @@  discard block
 block discarded – undo
913 913
 	 * the fields for that model, with the model's name removed from each.
914 914
 	 * If $include_string was blank or '*' returns an empty array
915 915
 	 */
916
-	public function extract_includes_for_this_model( $include_string, $model_name = null ) {
917
-		if( is_array( $include_string ) ) {
918
-			$include_string = implode( ',', $include_string );
916
+	public function extract_includes_for_this_model($include_string, $model_name = null) {
917
+		if (is_array($include_string)) {
918
+			$include_string = implode(',', $include_string);
919 919
 		}
920
-		if( $include_string === '*' || $include_string === '' ) {
920
+		if ($include_string === '*' || $include_string === '') {
921 921
 			return array();
922 922
 		}
923
-		$includes = explode( ',', $include_string );
923
+		$includes = explode(',', $include_string);
924 924
 		$extracted_fields_to_include = array();
925
-		if( $model_name ){
926
-			foreach( $includes as $field_to_include ) {
927
-				$field_to_include = trim( $field_to_include );
928
-				if( strpos( $field_to_include, $model_name . '.' ) === 0 ) {
925
+		if ($model_name) {
926
+			foreach ($includes as $field_to_include) {
927
+				$field_to_include = trim($field_to_include);
928
+				if (strpos($field_to_include, $model_name.'.') === 0) {
929 929
 					//found the model name at the exact start
930
-					$field_sans_model_name = str_replace( $model_name . '.', '', $field_to_include );
930
+					$field_sans_model_name = str_replace($model_name.'.', '', $field_to_include);
931 931
 					$extracted_fields_to_include[] = $field_sans_model_name;
932
-				}elseif( $field_to_include == $model_name ){
932
+				}elseif ($field_to_include == $model_name) {
933 933
 					$extracted_fields_to_include[] = '*';
934 934
 				}
935 935
 			}
936
-		}else{
936
+		} else {
937 937
 			//look for ones with no period
938
-			foreach( $includes as $field_to_include ) {
939
-				$field_to_include = trim( $field_to_include );
938
+			foreach ($includes as $field_to_include) {
939
+				$field_to_include = trim($field_to_include);
940 940
 				if (
941
-					strpos( $field_to_include, '.' ) === false
942
-					&& ! $this->get_model_version_info()->is_model_name_in_this_version( $field_to_include )
941
+					strpos($field_to_include, '.') === false
942
+					&& ! $this->get_model_version_info()->is_model_name_in_this_version($field_to_include)
943 943
 				) {
944 944
 					$extracted_fields_to_include[] = $field_to_include;
945 945
 				}
Please login to merge, or discard this patch.