Passed
Push — master ( 04b043...334ee0 )
by Paul
04:11
created
plugin/Modules/Validator/ValidateReview.php 1 patch
Indentation   +272 added lines, -272 removed lines patch added patch discarded remove patch
@@ -13,299 +13,299 @@
 block discarded – undo
13 13
 
14 14
 class ValidateReview
15 15
 {
16
-    const RECAPTCHA_ENDPOINT = 'https://www.google.com/recaptcha/api/siteverify';
16
+	const RECAPTCHA_ENDPOINT = 'https://www.google.com/recaptcha/api/siteverify';
17 17
 
18
-    const RECAPTCHA_DISABLED = 0;
19
-    const RECAPTCHA_EMPTY = 1;
20
-    const RECAPTCHA_FAILED = 2;
21
-    const RECAPTCHA_INVALID = 3;
22
-    const RECAPTCHA_VALID = 4;
18
+	const RECAPTCHA_DISABLED = 0;
19
+	const RECAPTCHA_EMPTY = 1;
20
+	const RECAPTCHA_FAILED = 2;
21
+	const RECAPTCHA_INVALID = 3;
22
+	const RECAPTCHA_VALID = 4;
23 23
 
24
-    const VALIDATION_RULES = [
25
-        'content' => 'required',
26
-        'email' => 'required|email',
27
-        'name' => 'required',
28
-        'rating' => 'required|number|between:1,5',
29
-        'terms' => 'accepted',
30
-        'title' => 'required',
31
-    ];
24
+	const VALIDATION_RULES = [
25
+		'content' => 'required',
26
+		'email' => 'required|email',
27
+		'name' => 'required',
28
+		'rating' => 'required|number|between:1,5',
29
+		'terms' => 'accepted',
30
+		'title' => 'required',
31
+	];
32 32
 
33
-    /**
34
-     * @var string|void
35
-     */
36
-    public $error;
33
+	/**
34
+	 * @var string|void
35
+	 */
36
+	public $error;
37 37
 
38
-    /**
39
-     * @var string
40
-     */
41
-    public $form_id;
38
+	/**
39
+	 * @var string
40
+	 */
41
+	public $form_id;
42 42
 
43
-    /**
44
-     * @var bool
45
-     */
46
-    public $recaptchaIsUnset = false;
43
+	/**
44
+	 * @var bool
45
+	 */
46
+	public $recaptchaIsUnset = false;
47 47
 
48
-    /**
49
-     * @var array
50
-     */
51
-    public $request;
48
+	/**
49
+	 * @var array
50
+	 */
51
+	public $request;
52 52
 
53
-    /**
54
-     * @var array
55
-     */
56
-    protected $options;
53
+	/**
54
+	 * @var array
55
+	 */
56
+	protected $options;
57 57
 
58
-    /**
59
-     * @return static
60
-     */
61
-    public function validate(array $request)
62
-    {
63
-        $request['ip_address'] = Helper::getIpAddress(); // required for Akismet and Blacklist validation
64
-        $this->form_id = $request['form_id'];
65
-        $this->options = glsr(OptionManager::class)->all();
66
-        $this->request = $this->validateRequest($request);
67
-        $this->validateCustom();
68
-        $this->validatePermission();
69
-        $this->validateHoneyPot();
70
-        $this->validateReviewLimits();
71
-        $this->validateBlacklist();
72
-        $this->validateAkismet();
73
-        $this->validateRecaptcha();
74
-        if (!empty($this->error)) {
75
-            $this->setSessionValues('message', $this->error);
76
-        }
77
-        return $this;
78
-    }
58
+	/**
59
+	 * @return static
60
+	 */
61
+	public function validate(array $request)
62
+	{
63
+		$request['ip_address'] = Helper::getIpAddress(); // required for Akismet and Blacklist validation
64
+		$this->form_id = $request['form_id'];
65
+		$this->options = glsr(OptionManager::class)->all();
66
+		$this->request = $this->validateRequest($request);
67
+		$this->validateCustom();
68
+		$this->validatePermission();
69
+		$this->validateHoneyPot();
70
+		$this->validateReviewLimits();
71
+		$this->validateBlacklist();
72
+		$this->validateAkismet();
73
+		$this->validateRecaptcha();
74
+		if (!empty($this->error)) {
75
+			$this->setSessionValues('message', $this->error);
76
+		}
77
+		return $this;
78
+	}
79 79
 
80
-    /**
81
-     * @param string $path
82
-     * @param mixed $fallback
83
-     * @return mixed
84
-     */
85
-    protected function getOption($path, $fallback = '')
86
-    {
87
-        return Arr::get($this->options, $path, $fallback);
88
-    }
80
+	/**
81
+	 * @param string $path
82
+	 * @param mixed $fallback
83
+	 * @return mixed
84
+	 */
85
+	protected function getOption($path, $fallback = '')
86
+	{
87
+		return Arr::get($this->options, $path, $fallback);
88
+	}
89 89
 
90
-    /**
91
-     * @return int
92
-     */
93
-    protected function getRecaptchaStatus()
94
-    {
95
-        if (!glsr(OptionManager::class)->isRecaptchaEnabled()) {
96
-            return static::RECAPTCHA_DISABLED;
97
-        }
98
-        if (empty($this->request['_recaptcha-token'])) {
99
-            return $this->request['_counter'] < intval(apply_filters('site-reviews/recaptcha/timeout', 5))
100
-                ? static::RECAPTCHA_EMPTY
101
-                : static::RECAPTCHA_FAILED;
102
-        }
103
-        return $this->getRecaptchaTokenStatus();
104
-    }
90
+	/**
91
+	 * @return int
92
+	 */
93
+	protected function getRecaptchaStatus()
94
+	{
95
+		if (!glsr(OptionManager::class)->isRecaptchaEnabled()) {
96
+			return static::RECAPTCHA_DISABLED;
97
+		}
98
+		if (empty($this->request['_recaptcha-token'])) {
99
+			return $this->request['_counter'] < intval(apply_filters('site-reviews/recaptcha/timeout', 5))
100
+				? static::RECAPTCHA_EMPTY
101
+				: static::RECAPTCHA_FAILED;
102
+		}
103
+		return $this->getRecaptchaTokenStatus();
104
+	}
105 105
 
106
-    /**
107
-     * @return int
108
-     */
109
-    protected function getRecaptchaTokenStatus()
110
-    {
111
-        $endpoint = add_query_arg([
112
-            'remoteip' => Helper::getIpAddress(),
113
-            'response' => $this->request['_recaptcha-token'],
114
-            'secret' => $this->getOption('settings.submissions.recaptcha.secret'),
115
-        ], static::RECAPTCHA_ENDPOINT);
116
-        if (is_wp_error($response = wp_remote_get($endpoint))) {
117
-            glsr_log()->error($response->get_error_message());
118
-            return static::RECAPTCHA_FAILED;
119
-        }
120
-        $response = json_decode(wp_remote_retrieve_body($response));
121
-        if (!empty($response->success)) {
122
-            return boolval($response->success)
123
-                ? static::RECAPTCHA_VALID
124
-                : static::RECAPTCHA_INVALID;
125
-        }
126
-        foreach ($response->{'error-codes'} as $error) {
127
-            glsr_log()->error('reCAPTCHA error: '.$error);
128
-        }
129
-        return static::RECAPTCHA_INVALID;
130
-    }
106
+	/**
107
+	 * @return int
108
+	 */
109
+	protected function getRecaptchaTokenStatus()
110
+	{
111
+		$endpoint = add_query_arg([
112
+			'remoteip' => Helper::getIpAddress(),
113
+			'response' => $this->request['_recaptcha-token'],
114
+			'secret' => $this->getOption('settings.submissions.recaptcha.secret'),
115
+		], static::RECAPTCHA_ENDPOINT);
116
+		if (is_wp_error($response = wp_remote_get($endpoint))) {
117
+			glsr_log()->error($response->get_error_message());
118
+			return static::RECAPTCHA_FAILED;
119
+		}
120
+		$response = json_decode(wp_remote_retrieve_body($response));
121
+		if (!empty($response->success)) {
122
+			return boolval($response->success)
123
+				? static::RECAPTCHA_VALID
124
+				: static::RECAPTCHA_INVALID;
125
+		}
126
+		foreach ($response->{'error-codes'} as $error) {
127
+			glsr_log()->error('reCAPTCHA error: '.$error);
128
+		}
129
+		return static::RECAPTCHA_INVALID;
130
+	}
131 131
 
132
-    /**
133
-     * @return array
134
-     */
135
-    protected function getValidationRules(array $request)
136
-    {
137
-        $rules = array_intersect_key(
138
-            apply_filters('site-reviews/validation/rules', static::VALIDATION_RULES, $request),
139
-            array_flip($this->getOption('settings.submissions.required', []))
140
-        );
141
-        $excluded = explode(',', Arr::get($request, 'excluded'));
142
-        return array_diff_key($rules, array_flip($excluded));
143
-    }
132
+	/**
133
+	 * @return array
134
+	 */
135
+	protected function getValidationRules(array $request)
136
+	{
137
+		$rules = array_intersect_key(
138
+			apply_filters('site-reviews/validation/rules', static::VALIDATION_RULES, $request),
139
+			array_flip($this->getOption('settings.submissions.required', []))
140
+		);
141
+		$excluded = explode(',', Arr::get($request, 'excluded'));
142
+		return array_diff_key($rules, array_flip($excluded));
143
+	}
144 144
 
145
-    /**
146
-     * @return bool
147
-     */
148
-    protected function isRequestValid(array $request)
149
-    {
150
-        $rules = $this->getValidationRules($request);
151
-        $errors = glsr(Validator::class)->validate($request, $rules);
152
-        if (empty($errors)) {
153
-            return true;
154
-        }
155
-        $this->error = __('Please fix the submission errors.', 'site-reviews');
156
-        $this->setSessionValues('errors', $errors);
157
-        $this->setSessionValues('values', $request);
158
-        return false;
159
-    }
145
+	/**
146
+	 * @return bool
147
+	 */
148
+	protected function isRequestValid(array $request)
149
+	{
150
+		$rules = $this->getValidationRules($request);
151
+		$errors = glsr(Validator::class)->validate($request, $rules);
152
+		if (empty($errors)) {
153
+			return true;
154
+		}
155
+		$this->error = __('Please fix the submission errors.', 'site-reviews');
156
+		$this->setSessionValues('errors', $errors);
157
+		$this->setSessionValues('values', $request);
158
+		return false;
159
+	}
160 160
 
161
-    protected function setError($message, $loggedMessage = '')
162
-    {
163
-        $this->setSessionValues('errors', [], $loggedMessage);
164
-        $this->error = $message;
165
-    }
161
+	protected function setError($message, $loggedMessage = '')
162
+	{
163
+		$this->setSessionValues('errors', [], $loggedMessage);
164
+		$this->error = $message;
165
+	}
166 166
 
167
-    /**
168
-     * @param string $type
169
-     * @param mixed $value
170
-     * @param string $loggedMessage
171
-     * @return void
172
-     */
173
-    protected function setSessionValues($type, $value, $loggedMessage = '')
174
-    {
175
-        glsr()->sessionSet($this->form_id.$type, $value);
176
-        if (!empty($loggedMessage)) {
177
-            glsr_log()->warning($loggedMessage)->debug($this->request);
178
-        }
179
-    }
167
+	/**
168
+	 * @param string $type
169
+	 * @param mixed $value
170
+	 * @param string $loggedMessage
171
+	 * @return void
172
+	 */
173
+	protected function setSessionValues($type, $value, $loggedMessage = '')
174
+	{
175
+		glsr()->sessionSet($this->form_id.$type, $value);
176
+		if (!empty($loggedMessage)) {
177
+			glsr_log()->warning($loggedMessage)->debug($this->request);
178
+		}
179
+	}
180 180
 
181
-    /**
182
-     * @return void
183
-     */
184
-    protected function validateAkismet()
185
-    {
186
-        if (!empty($this->error)) {
187
-            return;
188
-        }
189
-        if (glsr(Akismet::class)->isSpam($this->request)) {
190
-            $this->setError(__('This review has been flagged as possible spam and cannot be submitted.', 'site-reviews'),
191
-                'Akismet caught a spam submission (consider adding the IP address to the blacklist):'
192
-            );
193
-        }
194
-    }
181
+	/**
182
+	 * @return void
183
+	 */
184
+	protected function validateAkismet()
185
+	{
186
+		if (!empty($this->error)) {
187
+			return;
188
+		}
189
+		if (glsr(Akismet::class)->isSpam($this->request)) {
190
+			$this->setError(__('This review has been flagged as possible spam and cannot be submitted.', 'site-reviews'),
191
+				'Akismet caught a spam submission (consider adding the IP address to the blacklist):'
192
+			);
193
+		}
194
+	}
195 195
 
196
-    /**
197
-     * @return void
198
-     */
199
-    protected function validateBlacklist()
200
-    {
201
-        if (!empty($this->error)) {
202
-            return;
203
-        }
204
-        if (!glsr(Blacklist::class)->isBlacklisted($this->request)) {
205
-            return;
206
-        }
207
-        $blacklistAction = $this->getOption('settings.submissions.blacklist.action');
208
-        if ('reject' != $blacklistAction) {
209
-            $this->request['blacklisted'] = true;
210
-            return;
211
-        }
212
-        $this->setError(__('Your review cannot be submitted at this time.', 'site-reviews'),
213
-            'Blacklisted submission detected:'
214
-        );
215
-    }
196
+	/**
197
+	 * @return void
198
+	 */
199
+	protected function validateBlacklist()
200
+	{
201
+		if (!empty($this->error)) {
202
+			return;
203
+		}
204
+		if (!glsr(Blacklist::class)->isBlacklisted($this->request)) {
205
+			return;
206
+		}
207
+		$blacklistAction = $this->getOption('settings.submissions.blacklist.action');
208
+		if ('reject' != $blacklistAction) {
209
+			$this->request['blacklisted'] = true;
210
+			return;
211
+		}
212
+		$this->setError(__('Your review cannot be submitted at this time.', 'site-reviews'),
213
+			'Blacklisted submission detected:'
214
+		);
215
+	}
216 216
 
217
-    /**
218
-     * @return void
219
-     */
220
-    protected function validateCustom()
221
-    {
222
-        if (!empty($this->error)) {
223
-            return;
224
-        }
225
-        $validated = apply_filters('site-reviews/validate/custom', true, $this->request);
226
-        if (true === $validated) {
227
-            return;
228
-        }
229
-        $errorMessage = is_string($validated)
230
-            ? $validated
231
-            : __('The review submission failed. Please notify the site administrator.', 'site-reviews');
232
-        $this->setError($errorMessage);
233
-        $this->setSessionValues('values', $this->request);
234
-    }
217
+	/**
218
+	 * @return void
219
+	 */
220
+	protected function validateCustom()
221
+	{
222
+		if (!empty($this->error)) {
223
+			return;
224
+		}
225
+		$validated = apply_filters('site-reviews/validate/custom', true, $this->request);
226
+		if (true === $validated) {
227
+			return;
228
+		}
229
+		$errorMessage = is_string($validated)
230
+			? $validated
231
+			: __('The review submission failed. Please notify the site administrator.', 'site-reviews');
232
+		$this->setError($errorMessage);
233
+		$this->setSessionValues('values', $this->request);
234
+	}
235 235
 
236
-    /**
237
-     * @return void
238
-     */
239
-    protected function validateHoneyPot()
240
-    {
241
-        if (!empty($this->error)) {
242
-            return;
243
-        }
244
-        if (!empty($this->request['gotcha'])) {
245
-            $this->setError(__('The review submission failed. Please notify the site administrator.', 'site-reviews'),
246
-                'The Honeypot caught a bad submission:'
247
-            );
248
-        }
249
-    }
236
+	/**
237
+	 * @return void
238
+	 */
239
+	protected function validateHoneyPot()
240
+	{
241
+		if (!empty($this->error)) {
242
+			return;
243
+		}
244
+		if (!empty($this->request['gotcha'])) {
245
+			$this->setError(__('The review submission failed. Please notify the site administrator.', 'site-reviews'),
246
+				'The Honeypot caught a bad submission:'
247
+			);
248
+		}
249
+	}
250 250
 
251
-    /**
252
-     * @return void
253
-     */
254
-    protected function validatePermission()
255
-    {
256
-        if (!empty($this->error)) {
257
-            return;
258
-        }
259
-        if (!is_user_logged_in() && glsr(OptionManager::class)->getBool('settings.general.require.login')) {
260
-            $this->setError(__('You must be logged in to submit a review.', 'site-reviews'));
261
-        }
262
-    }
251
+	/**
252
+	 * @return void
253
+	 */
254
+	protected function validatePermission()
255
+	{
256
+		if (!empty($this->error)) {
257
+			return;
258
+		}
259
+		if (!is_user_logged_in() && glsr(OptionManager::class)->getBool('settings.general.require.login')) {
260
+			$this->setError(__('You must be logged in to submit a review.', 'site-reviews'));
261
+		}
262
+	}
263 263
 
264
-    /**
265
-     * @return void
266
-     */
267
-    protected function validateReviewLimits()
268
-    {
269
-        if (!empty($this->error)) {
270
-            return;
271
-        }
272
-        if (glsr(ReviewLimits::class)->hasReachedLimit($this->request)) {
273
-            $this->setError(__('You have already submitted a review.', 'site-reviews'));
274
-        }
275
-    }
264
+	/**
265
+	 * @return void
266
+	 */
267
+	protected function validateReviewLimits()
268
+	{
269
+		if (!empty($this->error)) {
270
+			return;
271
+		}
272
+		if (glsr(ReviewLimits::class)->hasReachedLimit($this->request)) {
273
+			$this->setError(__('You have already submitted a review.', 'site-reviews'));
274
+		}
275
+	}
276 276
 
277
-    /**
278
-     * @return void
279
-     */
280
-    protected function validateRecaptcha()
281
-    {
282
-        if (!empty($this->error)) {
283
-            return;
284
-        }
285
-        $status = $this->getRecaptchaStatus();
286
-        if (in_array($status, [static::RECAPTCHA_DISABLED, static::RECAPTCHA_VALID])) {
287
-            return;
288
-        }
289
-        if (static::RECAPTCHA_EMPTY === $status) {
290
-            $this->setSessionValues('recaptcha', 'unset');
291
-            $this->recaptchaIsUnset = true;
292
-            return;
293
-        }
294
-        $this->setSessionValues('recaptcha', 'reset');
295
-        $errors = [
296
-            static::RECAPTCHA_FAILED => __('The reCAPTCHA failed to load, please refresh the page and try again.', 'site-reviews'),
297
-            static::RECAPTCHA_INVALID => __('The reCAPTCHA verification failed, please try again.', 'site-reviews'),
298
-        ];
299
-        $this->setError($errors[$status]);
300
-    }
277
+	/**
278
+	 * @return void
279
+	 */
280
+	protected function validateRecaptcha()
281
+	{
282
+		if (!empty($this->error)) {
283
+			return;
284
+		}
285
+		$status = $this->getRecaptchaStatus();
286
+		if (in_array($status, [static::RECAPTCHA_DISABLED, static::RECAPTCHA_VALID])) {
287
+			return;
288
+		}
289
+		if (static::RECAPTCHA_EMPTY === $status) {
290
+			$this->setSessionValues('recaptcha', 'unset');
291
+			$this->recaptchaIsUnset = true;
292
+			return;
293
+		}
294
+		$this->setSessionValues('recaptcha', 'reset');
295
+		$errors = [
296
+			static::RECAPTCHA_FAILED => __('The reCAPTCHA failed to load, please refresh the page and try again.', 'site-reviews'),
297
+			static::RECAPTCHA_INVALID => __('The reCAPTCHA verification failed, please try again.', 'site-reviews'),
298
+		];
299
+		$this->setError($errors[$status]);
300
+	}
301 301
 
302
-    /**
303
-     * @return array
304
-     */
305
-    protected function validateRequest(array $request)
306
-    {
307
-        return $this->isRequestValid($request)
308
-            ? array_merge(glsr(ValidateReviewDefaults::class)->defaults(), $request)
309
-            : $request;
310
-    }
302
+	/**
303
+	 * @return array
304
+	 */
305
+	protected function validateRequest(array $request)
306
+	{
307
+		return $this->isRequestValid($request)
308
+			? array_merge(glsr(ValidateReviewDefaults::class)->defaults(), $request)
309
+			: $request;
310
+	}
311 311
 }
Please login to merge, or discard this patch.
plugin/Modules/Schema.php 1 patch
Indentation   +308 added lines, -308 removed lines patch added patch discarded remove patch
@@ -12,335 +12,335 @@
 block discarded – undo
12 12
 
13 13
 class Schema
14 14
 {
15
-    /**
16
-     * @var array
17
-     */
18
-    protected $args;
15
+	/**
16
+	 * @var array
17
+	 */
18
+	protected $args;
19 19
 
20
-    /**
21
-     * @var array
22
-     */
23
-    protected $keyValues = [];
20
+	/**
21
+	 * @var array
22
+	 */
23
+	protected $keyValues = [];
24 24
 
25
-    /**
26
-     * @var array
27
-     */
28
-    protected $ratingCounts;
25
+	/**
26
+	 * @var array
27
+	 */
28
+	protected $ratingCounts;
29 29
 
30
-    /**
31
-     * @return array
32
-     */
33
-    public function build(array $args = [])
34
-    {
35
-        $this->args = $args;
36
-        $schema = $this->buildSummary($args);
37
-        if (!empty($schema)) {
38
-            $reviews = $this->buildReviews();
39
-            foreach ($reviews as &$review) {
40
-                unset($review['@context']);
41
-                unset($review['itemReviewed']);
42
-            }
43
-        }
44
-        if (!empty($reviews)) {
45
-            $schema['review'] = $reviews;
46
-        }
47
-        return $schema;
48
-    }
30
+	/**
31
+	 * @return array
32
+	 */
33
+	public function build(array $args = [])
34
+	{
35
+		$this->args = $args;
36
+		$schema = $this->buildSummary($args);
37
+		if (!empty($schema)) {
38
+			$reviews = $this->buildReviews();
39
+			foreach ($reviews as &$review) {
40
+				unset($review['@context']);
41
+				unset($review['itemReviewed']);
42
+			}
43
+		}
44
+		if (!empty($reviews)) {
45
+			$schema['review'] = $reviews;
46
+		}
47
+		return $schema;
48
+	}
49 49
 
50
-    /**
51
-     * @param array|null $args
52
-     * @return array
53
-     */
54
-    public function buildSummary($args = null)
55
-    {
56
-        if (is_array($args)) {
57
-            $this->args = $args;
58
-        }
59
-        $buildSummary = Helper::buildMethodName($this->getSchemaOptionValue('type'), 'buildSummaryFor');
60
-        if ($count = array_sum($this->getRatingCounts())) {
61
-            $schema = method_exists($this, $buildSummary)
62
-                ? $this->$buildSummary()
63
-                : $this->buildSummaryForCustom();
64
-            $schema->aggregateRating(
65
-                $this->getSchemaType('AggregateRating')
66
-                    ->ratingValue($this->getRatingValue())
67
-                    ->reviewCount($count)
68
-                    ->bestRating(glsr()->constant('MAX_RATING', Rating::class))
69
-                    ->worstRating(glsr()->constant('MIN_RATING', Rating::class))
70
-            );
71
-            $schema = $schema->toArray();
72
-            return apply_filters('site-reviews/schema/'.$schema['@type'], $schema, $args);
73
-        }
74
-        return [];
75
-    }
50
+	/**
51
+	 * @param array|null $args
52
+	 * @return array
53
+	 */
54
+	public function buildSummary($args = null)
55
+	{
56
+		if (is_array($args)) {
57
+			$this->args = $args;
58
+		}
59
+		$buildSummary = Helper::buildMethodName($this->getSchemaOptionValue('type'), 'buildSummaryFor');
60
+		if ($count = array_sum($this->getRatingCounts())) {
61
+			$schema = method_exists($this, $buildSummary)
62
+				? $this->$buildSummary()
63
+				: $this->buildSummaryForCustom();
64
+			$schema->aggregateRating(
65
+				$this->getSchemaType('AggregateRating')
66
+					->ratingValue($this->getRatingValue())
67
+					->reviewCount($count)
68
+					->bestRating(glsr()->constant('MAX_RATING', Rating::class))
69
+					->worstRating(glsr()->constant('MIN_RATING', Rating::class))
70
+			);
71
+			$schema = $schema->toArray();
72
+			return apply_filters('site-reviews/schema/'.$schema['@type'], $schema, $args);
73
+		}
74
+		return [];
75
+	}
76 76
 
77
-    /**
78
-     * @return void
79
-     */
80
-    public function render()
81
-    {
82
-        if (empty(glsr()->schemas)) {
83
-            return;
84
-        }
85
-        printf('<script type="application/ld+json">%s</script>', json_encode(
86
-            apply_filters('site-reviews/schema/all', glsr()->schemas),
87
-            JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES
88
-        ));
89
-    }
77
+	/**
78
+	 * @return void
79
+	 */
80
+	public function render()
81
+	{
82
+		if (empty(glsr()->schemas)) {
83
+			return;
84
+		}
85
+		printf('<script type="application/ld+json">%s</script>', json_encode(
86
+			apply_filters('site-reviews/schema/all', glsr()->schemas),
87
+			JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES
88
+		));
89
+	}
90 90
 
91
-    /**
92
-     * @return void
93
-     */
94
-    public function store(array $schema)
95
-    {
96
-        if (empty($schema)) {
97
-            return;
98
-        }
99
-        $schemas = glsr()->schemas;
100
-        $schemas[] = $schema;
101
-        glsr()->schemas = array_map('unserialize', array_unique(array_map('serialize', $schemas)));
102
-    }
91
+	/**
92
+	 * @return void
93
+	 */
94
+	public function store(array $schema)
95
+	{
96
+		if (empty($schema)) {
97
+			return;
98
+		}
99
+		$schemas = glsr()->schemas;
100
+		$schemas[] = $schema;
101
+		glsr()->schemas = array_map('unserialize', array_unique(array_map('serialize', $schemas)));
102
+	}
103 103
 
104
-    /**
105
-     * @param Review $review
106
-     * @return array
107
-     */
108
-    protected function buildReview($review)
109
-    {
110
-        $schema = $this->getSchemaType('Review')
111
-            ->doIf(!in_array('title', $this->args['hide']), function ($schema) use ($review) {
112
-                $schema->name($review->title);
113
-            })
114
-            ->doIf(!in_array('excerpt', $this->args['hide']), function ($schema) use ($review) {
115
-                $schema->reviewBody($review->content);
116
-            })
117
-            ->datePublished((new DateTime($review->date)))
118
-            ->author($this->getSchemaType('Person')->name($review->author))
119
-            ->itemReviewed($this->getSchemaType()->name($this->getSchemaOptionValue('name')));
120
-        if (!empty($review->rating)) {
121
-            $schema->reviewRating(
122
-                $this->getSchemaType('Rating')
123
-                    ->ratingValue($review->rating)
124
-                    ->bestRating(glsr()->constant('MAX_RATING', Rating::class))
125
-                    ->worstRating(glsr()->constant('MIN_RATING', Rating::class))
126
-            );
127
-        }
128
-        return apply_filters('site-reviews/schema/review', $schema->toArray(), $review, $this->args);
129
-    }
104
+	/**
105
+	 * @param Review $review
106
+	 * @return array
107
+	 */
108
+	protected function buildReview($review)
109
+	{
110
+		$schema = $this->getSchemaType('Review')
111
+			->doIf(!in_array('title', $this->args['hide']), function ($schema) use ($review) {
112
+				$schema->name($review->title);
113
+			})
114
+			->doIf(!in_array('excerpt', $this->args['hide']), function ($schema) use ($review) {
115
+				$schema->reviewBody($review->content);
116
+			})
117
+			->datePublished((new DateTime($review->date)))
118
+			->author($this->getSchemaType('Person')->name($review->author))
119
+			->itemReviewed($this->getSchemaType()->name($this->getSchemaOptionValue('name')));
120
+		if (!empty($review->rating)) {
121
+			$schema->reviewRating(
122
+				$this->getSchemaType('Rating')
123
+					->ratingValue($review->rating)
124
+					->bestRating(glsr()->constant('MAX_RATING', Rating::class))
125
+					->worstRating(glsr()->constant('MIN_RATING', Rating::class))
126
+			);
127
+		}
128
+		return apply_filters('site-reviews/schema/review', $schema->toArray(), $review, $this->args);
129
+	}
130 130
 
131
-    /**
132
-     * @return array
133
-     */
134
-    protected function buildReviews()
135
-    {
136
-        $reviews = [];
137
-        foreach (glsr(ReviewManager::class)->get($this->args) as $review) {
138
-            // Only include critic reviews that have been directly produced by your site, not reviews from third-party sites or syndicated reviews.
139
-            // @see https://developers.google.com/search/docs/data-types/review
140
-            if ('local' === $review->review_type) {
141
-                $reviews[] = $this->buildReview($review);
142
-            }
143
-        }
144
-        return $reviews;
145
-    }
131
+	/**
132
+	 * @return array
133
+	 */
134
+	protected function buildReviews()
135
+	{
136
+		$reviews = [];
137
+		foreach (glsr(ReviewManager::class)->get($this->args) as $review) {
138
+			// Only include critic reviews that have been directly produced by your site, not reviews from third-party sites or syndicated reviews.
139
+			// @see https://developers.google.com/search/docs/data-types/review
140
+			if ('local' === $review->review_type) {
141
+				$reviews[] = $this->buildReview($review);
142
+			}
143
+		}
144
+		return $reviews;
145
+	}
146 146
 
147
-    /**
148
-     * @param mixed $schema
149
-     * @return mixed
150
-     */
151
-    protected function buildSchemaValues($schema, array $values = [])
152
-    {
153
-        foreach ($values as $value) {
154
-            $option = $this->getSchemaOptionValue($value);
155
-            if (empty($option)) {
156
-                continue;
157
-            }
158
-            $schema->$value($option);
159
-        }
160
-        return $schema;
161
-    }
147
+	/**
148
+	 * @param mixed $schema
149
+	 * @return mixed
150
+	 */
151
+	protected function buildSchemaValues($schema, array $values = [])
152
+	{
153
+		foreach ($values as $value) {
154
+			$option = $this->getSchemaOptionValue($value);
155
+			if (empty($option)) {
156
+				continue;
157
+			}
158
+			$schema->$value($option);
159
+		}
160
+		return $schema;
161
+	}
162 162
 
163
-    /**
164
-     * @return mixed
165
-     */
166
-    protected function buildSummaryForCustom()
167
-    {
168
-        return $this->buildSchemaValues($this->getSchemaType(), [
169
-            'description', 'image', 'name', 'url',
170
-        ]);
171
-    }
163
+	/**
164
+	 * @return mixed
165
+	 */
166
+	protected function buildSummaryForCustom()
167
+	{
168
+		return $this->buildSchemaValues($this->getSchemaType(), [
169
+			'description', 'image', 'name', 'url',
170
+		]);
171
+	}
172 172
 
173
-    /**
174
-     * @return mixed
175
-     */
176
-    protected function buildSummaryForLocalBusiness()
177
-    {
178
-        return $this->buildSchemaValues($this->buildSummaryForCustom(), [
179
-            'address', 'priceRange', 'telephone',
180
-        ]);
181
-    }
173
+	/**
174
+	 * @return mixed
175
+	 */
176
+	protected function buildSummaryForLocalBusiness()
177
+	{
178
+		return $this->buildSchemaValues($this->buildSummaryForCustom(), [
179
+			'address', 'priceRange', 'telephone',
180
+		]);
181
+	}
182 182
 
183
-    /**
184
-     * @return mixed
185
-     */
186
-    protected function buildSummaryForProduct()
187
-    {
188
-        $offerType = $this->getSchemaOption('offerType', 'AggregateOffer');
189
-        $offers = $this->buildSchemaValues($this->getSchemaType($offerType), [
190
-            'highPrice', 'lowPrice', 'price', 'priceCurrency',
191
-        ]);
192
-        return $this->buildSummaryForCustom()
193
-            ->doIf(!empty($offers->getProperties()), function ($schema) use ($offers) {
194
-                $schema->offers($offers);
195
-            })
196
-            ->setProperty('@id', $this->getSchemaOptionValue('url').'#product');
197
-    }
183
+	/**
184
+	 * @return mixed
185
+	 */
186
+	protected function buildSummaryForProduct()
187
+	{
188
+		$offerType = $this->getSchemaOption('offerType', 'AggregateOffer');
189
+		$offers = $this->buildSchemaValues($this->getSchemaType($offerType), [
190
+			'highPrice', 'lowPrice', 'price', 'priceCurrency',
191
+		]);
192
+		return $this->buildSummaryForCustom()
193
+			->doIf(!empty($offers->getProperties()), function ($schema) use ($offers) {
194
+				$schema->offers($offers);
195
+			})
196
+			->setProperty('@id', $this->getSchemaOptionValue('url').'#product');
197
+	}
198 198
 
199
-    /**
200
-     * @return array
201
-     */
202
-    protected function getRatingCounts()
203
-    {
204
-        if (!isset($this->ratingCounts)) {
205
-            $this->ratingCounts = glsr(ReviewManager::class)->getRatingCounts($this->args);
206
-        }
207
-        return $this->ratingCounts;
208
-    }
199
+	/**
200
+	 * @return array
201
+	 */
202
+	protected function getRatingCounts()
203
+	{
204
+		if (!isset($this->ratingCounts)) {
205
+			$this->ratingCounts = glsr(ReviewManager::class)->getRatingCounts($this->args);
206
+		}
207
+		return $this->ratingCounts;
208
+	}
209 209
 
210
-    /**
211
-     * @return int|float
212
-     */
213
-    protected function getRatingValue()
214
-    {
215
-        return glsr(Rating::class)->getAverage($this->getRatingCounts());
216
-    }
210
+	/**
211
+	 * @return int|float
212
+	 */
213
+	protected function getRatingValue()
214
+	{
215
+		return glsr(Rating::class)->getAverage($this->getRatingCounts());
216
+	}
217 217
 
218
-    /**
219
-     * @param string $option
220
-     * @param string $fallback
221
-     * @return string
222
-     */
223
-    protected function getSchemaOption($option, $fallback)
224
-    {
225
-        $option = strtolower($option);
226
-        if ($schemaOption = trim((string) get_post_meta(intval(get_the_ID()), 'schema_'.$option, true))) {
227
-            return $schemaOption;
228
-        }
229
-        $setting = glsr(OptionManager::class)->get('settings.schema.'.$option);
230
-        if (is_array($setting)) {
231
-            return $this->getSchemaOptionDefault($setting, $fallback);
232
-        }
233
-        return !empty($setting)
234
-            ? $setting
235
-            : $fallback;
236
-    }
218
+	/**
219
+	 * @param string $option
220
+	 * @param string $fallback
221
+	 * @return string
222
+	 */
223
+	protected function getSchemaOption($option, $fallback)
224
+	{
225
+		$option = strtolower($option);
226
+		if ($schemaOption = trim((string) get_post_meta(intval(get_the_ID()), 'schema_'.$option, true))) {
227
+			return $schemaOption;
228
+		}
229
+		$setting = glsr(OptionManager::class)->get('settings.schema.'.$option);
230
+		if (is_array($setting)) {
231
+			return $this->getSchemaOptionDefault($setting, $fallback);
232
+		}
233
+		return !empty($setting)
234
+			? $setting
235
+			: $fallback;
236
+	}
237 237
 
238
-    /**
239
-     * @param string $fallback
240
-     * @return string
241
-     */
242
-    protected function getSchemaOptionDefault(array $setting, $fallback)
243
-    {
244
-        $setting = wp_parse_args($setting, [
245
-            'custom' => '',
246
-            'default' => $fallback,
247
-        ]);
248
-        return 'custom' != $setting['default']
249
-            ? $setting['default']
250
-            : $setting['custom'];
251
-    }
238
+	/**
239
+	 * @param string $fallback
240
+	 * @return string
241
+	 */
242
+	protected function getSchemaOptionDefault(array $setting, $fallback)
243
+	{
244
+		$setting = wp_parse_args($setting, [
245
+			'custom' => '',
246
+			'default' => $fallback,
247
+		]);
248
+		return 'custom' != $setting['default']
249
+			? $setting['default']
250
+			: $setting['custom'];
251
+	}
252 252
 
253
-    /**
254
-     * @param string $option
255
-     * @param string $fallback
256
-     * @return void|string
257
-     */
258
-    protected function getSchemaOptionValue($option, $fallback = 'post')
259
-    {
260
-        if (array_key_exists($option, $this->keyValues)) {
261
-            return $this->keyValues[$option];
262
-        }
263
-        $value = $this->getSchemaOption($option, $fallback);
264
-        if ($value != $fallback) {
265
-            return $this->setAndGetKeyValue($option, $value);
266
-        }
267
-        if (!is_single() && !is_page()) {
268
-            return;
269
-        }
270
-        $method = Helper::buildMethodName($option, 'getThing');
271
-        if (method_exists($this, $method)) {
272
-            return $this->setAndGetKeyValue($option, $this->$method());
273
-        }
274
-    }
253
+	/**
254
+	 * @param string $option
255
+	 * @param string $fallback
256
+	 * @return void|string
257
+	 */
258
+	protected function getSchemaOptionValue($option, $fallback = 'post')
259
+	{
260
+		if (array_key_exists($option, $this->keyValues)) {
261
+			return $this->keyValues[$option];
262
+		}
263
+		$value = $this->getSchemaOption($option, $fallback);
264
+		if ($value != $fallback) {
265
+			return $this->setAndGetKeyValue($option, $value);
266
+		}
267
+		if (!is_single() && !is_page()) {
268
+			return;
269
+		}
270
+		$method = Helper::buildMethodName($option, 'getThing');
271
+		if (method_exists($this, $method)) {
272
+			return $this->setAndGetKeyValue($option, $this->$method());
273
+		}
274
+	}
275 275
 
276
-    /**
277
-     * @param string|null $type
278
-     * @return mixed
279
-     */
280
-    protected function getSchemaType($type = null)
281
-    {
282
-        if (!is_string($type)) {
283
-            $type = $this->getSchemaOption('type', 'LocalBusiness');
284
-        }
285
-        $className = Helper::buildClassName($type, 'Modules\Schema');
286
-        return class_exists($className)
287
-            ? new $className()
288
-            : new UnknownType($type);
289
-    }
276
+	/**
277
+	 * @param string|null $type
278
+	 * @return mixed
279
+	 */
280
+	protected function getSchemaType($type = null)
281
+	{
282
+		if (!is_string($type)) {
283
+			$type = $this->getSchemaOption('type', 'LocalBusiness');
284
+		}
285
+		$className = Helper::buildClassName($type, 'Modules\Schema');
286
+		return class_exists($className)
287
+			? new $className()
288
+			: new UnknownType($type);
289
+	}
290 290
 
291
-    /**
292
-     * @return string
293
-     */
294
-    protected function getThingDescription()
295
-    {
296
-        $post = get_post();
297
-        $text = Arr::get($post, 'post_excerpt');
298
-        if (empty($text)) {
299
-            $text = Arr::get($post, 'post_content');
300
-        }
301
-        if (function_exists('excerpt_remove_blocks')) {
302
-            $text = excerpt_remove_blocks($text);
303
-        }
304
-        $text = strip_shortcodes($text);
305
-        $text = wpautop($text);
306
-        $text = wptexturize($text);
307
-        $text = wp_strip_all_tags($text);
308
-        $text = str_replace(']]>', ']]&gt;', $text);
309
-        return wp_trim_words($text, apply_filters('excerpt_length', 55));
310
-    }
291
+	/**
292
+	 * @return string
293
+	 */
294
+	protected function getThingDescription()
295
+	{
296
+		$post = get_post();
297
+		$text = Arr::get($post, 'post_excerpt');
298
+		if (empty($text)) {
299
+			$text = Arr::get($post, 'post_content');
300
+		}
301
+		if (function_exists('excerpt_remove_blocks')) {
302
+			$text = excerpt_remove_blocks($text);
303
+		}
304
+		$text = strip_shortcodes($text);
305
+		$text = wpautop($text);
306
+		$text = wptexturize($text);
307
+		$text = wp_strip_all_tags($text);
308
+		$text = str_replace(']]>', ']]&gt;', $text);
309
+		return wp_trim_words($text, apply_filters('excerpt_length', 55));
310
+	}
311 311
 
312
-    /**
313
-     * @return string
314
-     */
315
-    protected function getThingImage()
316
-    {
317
-        return (string) get_the_post_thumbnail_url(null, 'large');
318
-    }
312
+	/**
313
+	 * @return string
314
+	 */
315
+	protected function getThingImage()
316
+	{
317
+		return (string) get_the_post_thumbnail_url(null, 'large');
318
+	}
319 319
 
320
-    /**
321
-     * @return string
322
-     */
323
-    protected function getThingName()
324
-    {
325
-        return get_the_title();
326
-    }
320
+	/**
321
+	 * @return string
322
+	 */
323
+	protected function getThingName()
324
+	{
325
+		return get_the_title();
326
+	}
327 327
 
328
-    /**
329
-     * @return string
330
-     */
331
-    protected function getThingUrl()
332
-    {
333
-        return (string) get_the_permalink();
334
-    }
328
+	/**
329
+	 * @return string
330
+	 */
331
+	protected function getThingUrl()
332
+	{
333
+		return (string) get_the_permalink();
334
+	}
335 335
 
336
-    /**
337
-     * @param string $option
338
-     * @param string $value
339
-     * @return string
340
-     */
341
-    protected function setAndGetKeyValue($option, $value)
342
-    {
343
-        $this->keyValues[$option] = $value;
344
-        return $value;
345
-    }
336
+	/**
337
+	 * @param string $option
338
+	 * @param string $value
339
+	 * @return string
340
+	 */
341
+	protected function setAndGetKeyValue($option, $value)
342
+	{
343
+		$this->keyValues[$option] = $value;
344
+		return $value;
345
+	}
346 346
 }
Please login to merge, or discard this patch.
plugin/Modules/Date.php 1 patch
Indentation   +79 added lines, -79 removed lines patch added patch discarded remove patch
@@ -7,87 +7,87 @@
 block discarded – undo
7 7
 
8 8
 class Date
9 9
 {
10
-    /**
11
-     * [60, 1],
12
-     * [60 * 100, 60],
13
-     * [3600 * 70, 3600],
14
-     * [3600 * 24 * 10, 3600 * 24],
15
-     * [3600 * 24 * 30, 3600 * 24 * 7],
16
-     * [3600 * 24 * 30 * 30, 3600 * 24 * 30],
17
-     * [INF, 3600 * 24 * 265],.
18
-     */
19
-    protected static $TIME_PERIODS = [
20
-        [60, 1],
21
-        [6000, 60],
22
-        [252000, 3600],
23
-        [864000, 86400],
24
-        [2592000, 604800],
25
-        [77760000, 2592000],
26
-        [INF, 22896000],
27
-    ];
10
+	/**
11
+	 * [60, 1],
12
+	 * [60 * 100, 60],
13
+	 * [3600 * 70, 3600],
14
+	 * [3600 * 24 * 10, 3600 * 24],
15
+	 * [3600 * 24 * 30, 3600 * 24 * 7],
16
+	 * [3600 * 24 * 30 * 30, 3600 * 24 * 30],
17
+	 * [INF, 3600 * 24 * 265],.
18
+	 */
19
+	protected static $TIME_PERIODS = [
20
+		[60, 1],
21
+		[6000, 60],
22
+		[252000, 3600],
23
+		[864000, 86400],
24
+		[2592000, 604800],
25
+		[77760000, 2592000],
26
+		[INF, 22896000],
27
+	];
28 28
 
29
-    /**
30
-     * @param mixed $date
31
-     * @param string $format
32
-     * @return bool
33
-     */
34
-    public function isDate($date, $format = 'Y-m-d H:i:s')
35
-    {
36
-        $datetime = DateTime::createFromFormat($format, $date);
37
-        return $datetime && $date == $datetime->format($format);
38
-    }
29
+	/**
30
+	 * @param mixed $date
31
+	 * @param string $format
32
+	 * @return bool
33
+	 */
34
+	public function isDate($date, $format = 'Y-m-d H:i:s')
35
+	{
36
+		$datetime = DateTime::createFromFormat($format, $date);
37
+		return $datetime && $date == $datetime->format($format);
38
+	}
39 39
 
40
-    /**
41
-     * @param mixed $date
42
-     * @return bool
43
-     */
44
-    public function isTimestamp($date)
45
-    {
46
-        return ctype_digit($date)
47
-            ? true
48
-            : false;
49
-    }
40
+	/**
41
+	 * @param mixed $date
42
+	 * @return bool
43
+	 */
44
+	public function isTimestamp($date)
45
+	{
46
+		return ctype_digit($date)
47
+			? true
48
+			: false;
49
+	}
50 50
 
51
-    /**
52
-     * @param mixed $date
53
-     * @param string $fallback
54
-     * @return string
55
-     */
56
-    public function localized($date, $fallback = '')
57
-    {
58
-        return $this->isDate($date) || $this->isTimestamp($date)
59
-            ? date_i18n('Y-m-d H:i', $date)
60
-            : $fallback;
61
-    }
51
+	/**
52
+	 * @param mixed $date
53
+	 * @param string $fallback
54
+	 * @return string
55
+	 */
56
+	public function localized($date, $fallback = '')
57
+	{
58
+		return $this->isDate($date) || $this->isTimestamp($date)
59
+			? date_i18n('Y-m-d H:i', $date)
60
+			: $fallback;
61
+	}
62 62
 
63
-    /**
64
-     * @param mixed $date
65
-     * @return string
66
-     */
67
-    public function relative($date)
68
-    {
69
-        if (!$this->isDate($date)) {
70
-            return '';
71
-        }
72
-        $diff = time() - strtotime($date);
73
-        foreach (static::$TIME_PERIODS as $i => $timePeriod) {
74
-            if ($diff > $timePeriod[0]) {
75
-                continue;
76
-            }
77
-            $unit = intval(floor($diff / $timePeriod[1]));
78
-            $relativeDates = [
79
-                _n('%s second ago', '%s seconds ago', $unit, 'site-reviews'),
80
-                _n('%s minute ago', '%s minutes ago', $unit, 'site-reviews'),
81
-                _n('an hour ago', '%s hours ago', $unit, 'site-reviews'),
82
-                _n('yesterday', '%s days ago', $unit, 'site-reviews'),
83
-                _n('a week ago', '%s weeks ago', $unit, 'site-reviews'),
84
-                _n('%s month ago', '%s months ago', $unit, 'site-reviews'),
85
-                _n('%s year ago', '%s years ago', $unit, 'site-reviews'),
86
-            ];
87
-            $relativeDate = $relativeDates[$i];
88
-            return Str::contains($relativeDate, '%s')
89
-                ? sprintf($relativeDate, $unit)
90
-                : $relativeDate;
91
-        }
92
-    }
63
+	/**
64
+	 * @param mixed $date
65
+	 * @return string
66
+	 */
67
+	public function relative($date)
68
+	{
69
+		if (!$this->isDate($date)) {
70
+			return '';
71
+		}
72
+		$diff = time() - strtotime($date);
73
+		foreach (static::$TIME_PERIODS as $i => $timePeriod) {
74
+			if ($diff > $timePeriod[0]) {
75
+				continue;
76
+			}
77
+			$unit = intval(floor($diff / $timePeriod[1]));
78
+			$relativeDates = [
79
+				_n('%s second ago', '%s seconds ago', $unit, 'site-reviews'),
80
+				_n('%s minute ago', '%s minutes ago', $unit, 'site-reviews'),
81
+				_n('an hour ago', '%s hours ago', $unit, 'site-reviews'),
82
+				_n('yesterday', '%s days ago', $unit, 'site-reviews'),
83
+				_n('a week ago', '%s weeks ago', $unit, 'site-reviews'),
84
+				_n('%s month ago', '%s months ago', $unit, 'site-reviews'),
85
+				_n('%s year ago', '%s years ago', $unit, 'site-reviews'),
86
+			];
87
+			$relativeDate = $relativeDates[$i];
88
+			return Str::contains($relativeDate, '%s')
89
+				? sprintf($relativeDate, $unit)
90
+				: $relativeDate;
91
+		}
92
+	}
93 93
 }
Please login to merge, or discard this patch.
plugin/Modules/Updater.php 1 patch
Indentation   +244 added lines, -244 removed lines patch added patch discarded remove patch
@@ -8,266 +8,266 @@
 block discarded – undo
8 8
 
9 9
 class Updater
10 10
 {
11
-    /**
12
-     * @var string
13
-     */
14
-    protected $apiUrl;
15
-    /**
16
-     * @var array
17
-     */
18
-    protected $data;
19
-    /**
20
-     * @var string
21
-     */
22
-    protected $plugin;
23
-    /**
24
-     * @var string
25
-     */
26
-    protected $transientName;
11
+	/**
12
+	 * @var string
13
+	 */
14
+	protected $apiUrl;
15
+	/**
16
+	 * @var array
17
+	 */
18
+	protected $data;
19
+	/**
20
+	 * @var string
21
+	 */
22
+	protected $plugin;
23
+	/**
24
+	 * @var string
25
+	 */
26
+	protected $transientName;
27 27
 
28
-    /**
29
-     * @param string $apiUrl
30
-     * @param string $file
31
-     */
32
-    public function __construct($apiUrl, $file, array $data = [])
33
-    {
34
-        if (!function_exists('get_plugin_data')) {
35
-            require_once ABSPATH.WPINC.'/plugin.php';
36
-        }
37
-        $this->apiUrl = trailingslashit(apply_filters('site-reviews/addon/api-url', $apiUrl));
38
-        $this->data = wp_parse_args($data, get_plugin_data($file));
39
-        $this->plugin = plugin_basename($file);
40
-        $this->transientName = Application::PREFIX.md5(Arr::get($data, 'TextDomain'));
41
-    }
28
+	/**
29
+	 * @param string $apiUrl
30
+	 * @param string $file
31
+	 */
32
+	public function __construct($apiUrl, $file, array $data = [])
33
+	{
34
+		if (!function_exists('get_plugin_data')) {
35
+			require_once ABSPATH.WPINC.'/plugin.php';
36
+		}
37
+		$this->apiUrl = trailingslashit(apply_filters('site-reviews/addon/api-url', $apiUrl));
38
+		$this->data = wp_parse_args($data, get_plugin_data($file));
39
+		$this->plugin = plugin_basename($file);
40
+		$this->transientName = Application::PREFIX.md5(Arr::get($data, 'TextDomain'));
41
+	}
42 42
 
43
-    /**
44
-     * @return object
45
-     */
46
-    public function activateLicense(array $data = [])
47
-    {
48
-        return $this->request('activate_license', $data);
49
-    }
43
+	/**
44
+	 * @return object
45
+	 */
46
+	public function activateLicense(array $data = [])
47
+	{
48
+		return $this->request('activate_license', $data);
49
+	}
50 50
 
51
-    /**
52
-     * @return object
53
-     */
54
-    public function checkLicense(array $data = [])
55
-    {
56
-        $response = $this->request('check_license', $data);
57
-        if ('valid' === Arr::get($response, 'license')) {
58
-            $this->getPluginUpdate(true);
59
-        }
60
-        return $response;
61
-    }
51
+	/**
52
+	 * @return object
53
+	 */
54
+	public function checkLicense(array $data = [])
55
+	{
56
+		$response = $this->request('check_license', $data);
57
+		if ('valid' === Arr::get($response, 'license')) {
58
+			$this->getPluginUpdate(true);
59
+		}
60
+		return $response;
61
+	}
62 62
 
63
-    /**
64
-     * @return object
65
-     */
66
-    public function deactivateLicense(array $data = [])
67
-    {
68
-        return $this->request('deactivate_license', $data);
69
-    }
63
+	/**
64
+	 * @return object
65
+	 */
66
+	public function deactivateLicense(array $data = [])
67
+	{
68
+		return $this->request('deactivate_license', $data);
69
+	}
70 70
 
71
-    /**
72
-     * @param false|object|array $result
73
-     * @param string $action
74
-     * @param object $args
75
-     * @return mixed
76
-     */
77
-    public function filterPluginUpdateDetails($result, $action, $args)
78
-    {
79
-        if ('plugin_information' != $action
80
-            || Arr::get($this->data, 'TextDomain') != Arr::get($args, 'slug')) {
81
-            return $result;
82
-        }
83
-        if ($updateInfo = $this->getPluginUpdate()) {
84
-            return $this->modifyUpdateDetails($updateInfo);
85
-        }
86
-        return $result;
87
-    }
71
+	/**
72
+	 * @param false|object|array $result
73
+	 * @param string $action
74
+	 * @param object $args
75
+	 * @return mixed
76
+	 */
77
+	public function filterPluginUpdateDetails($result, $action, $args)
78
+	{
79
+		if ('plugin_information' != $action
80
+			|| Arr::get($this->data, 'TextDomain') != Arr::get($args, 'slug')) {
81
+			return $result;
82
+		}
83
+		if ($updateInfo = $this->getPluginUpdate()) {
84
+			return $this->modifyUpdateDetails($updateInfo);
85
+		}
86
+		return $result;
87
+	}
88 88
 
89
-    /**
90
-     * @param object $transient
91
-     * @return object
92
-     */
93
-    public function filterPluginUpdates($transient)
94
-    {
95
-        if ($updateInfo = $this->getPluginUpdate()) {
96
-            return $this->modifyPluginUpdates($transient, $updateInfo);
97
-        }
98
-        return $transient;
99
-    }
89
+	/**
90
+	 * @param object $transient
91
+	 * @return object
92
+	 */
93
+	public function filterPluginUpdates($transient)
94
+	{
95
+		if ($updateInfo = $this->getPluginUpdate()) {
96
+			return $this->modifyPluginUpdates($transient, $updateInfo);
97
+		}
98
+		return $transient;
99
+	}
100 100
 
101
-    /**
102
-     * @return object
103
-     */
104
-    public function getVersion(array $data = [])
105
-    {
106
-        return $this->request('get_version', $data);
107
-    }
101
+	/**
102
+	 * @return object
103
+	 */
104
+	public function getVersion(array $data = [])
105
+	{
106
+		return $this->request('get_version', $data);
107
+	}
108 108
 
109
-    /**
110
-     * @return void
111
-     */
112
-    public function init()
113
-    {
114
-        if ($this->apiUrl === trailingslashit(home_url())) {
115
-            return;
116
-        }
117
-        add_filter('plugins_api',                             [$this, 'filterPluginUpdateDetails'], 10, 3);
118
-        add_filter('pre_set_site_transient_update_plugins',   [$this, 'filterPluginUpdates'], 999);
119
-        add_action('load-update-core.php',                    [$this, 'onForceUpdateCheck'], 9);
120
-        add_action('in_plugin_update_message-'.$this->plugin, [$this, 'renderLicenseMissingLink']);
121
-    }
109
+	/**
110
+	 * @return void
111
+	 */
112
+	public function init()
113
+	{
114
+		if ($this->apiUrl === trailingslashit(home_url())) {
115
+			return;
116
+		}
117
+		add_filter('plugins_api',                             [$this, 'filterPluginUpdateDetails'], 10, 3);
118
+		add_filter('pre_set_site_transient_update_plugins',   [$this, 'filterPluginUpdates'], 999);
119
+		add_action('load-update-core.php',                    [$this, 'onForceUpdateCheck'], 9);
120
+		add_action('in_plugin_update_message-'.$this->plugin, [$this, 'renderLicenseMissingLink']);
121
+	}
122 122
 
123
-    /**
124
-     * @return bool
125
-     */
126
-    public function isLicenseValid()
127
-    {
128
-        $result = $this->checkLicense();
129
-        return 'valid' === Arr::get($result, 'license');
130
-    }
123
+	/**
124
+	 * @return bool
125
+	 */
126
+	public function isLicenseValid()
127
+	{
128
+		$result = $this->checkLicense();
129
+		return 'valid' === Arr::get($result, 'license');
130
+	}
131 131
 
132
-    /**
133
-     * @return void
134
-     */
135
-    public function onForceUpdateCheck()
136
-    {
137
-        if (!filter_input(INPUT_GET, 'force-check')) {
138
-            return;
139
-        }
140
-        foreach (glsr()->addons as $addon) {
141
-            try {
142
-                glsr($addon)->updater->getPluginUpdate(true);
143
-            } catch (\Exception $e) {
144
-                glsr_log()->error($e->getMessage());
145
-            }
146
-        }
147
-    }
132
+	/**
133
+	 * @return void
134
+	 */
135
+	public function onForceUpdateCheck()
136
+	{
137
+		if (!filter_input(INPUT_GET, 'force-check')) {
138
+			return;
139
+		}
140
+		foreach (glsr()->addons as $addon) {
141
+			try {
142
+				glsr($addon)->updater->getPluginUpdate(true);
143
+			} catch (\Exception $e) {
144
+				glsr_log()->error($e->getMessage());
145
+			}
146
+		}
147
+	}
148 148
 
149
-    /**
150
-     * @return void
151
-     */
152
-    public function renderLicenseMissingLink()
153
-    {
154
-        if (!$this->isLicenseValid()) {
155
-            glsr()->render('partials/addons/license-missing');
156
-        }
157
-    }
149
+	/**
150
+	 * @return void
151
+	 */
152
+	public function renderLicenseMissingLink()
153
+	{
154
+		if (!$this->isLicenseValid()) {
155
+			glsr()->render('partials/addons/license-missing');
156
+		}
157
+	}
158 158
 
159
-    /**
160
-     * @return false|object
161
-     */
162
-    protected function getCachedVersion()
163
-    {
164
-        return get_transient($this->transientName);
165
-    }
159
+	/**
160
+	 * @return false|object
161
+	 */
162
+	protected function getCachedVersion()
163
+	{
164
+		return get_transient($this->transientName);
165
+	}
166 166
 
167
-    /**
168
-     * @param bool $force
169
-     * @return false|object
170
-     */
171
-    protected function getPluginUpdate($force = false)
172
-    {
173
-        $version = $this->getCachedVersion();
174
-        if (false === $version || $force) {
175
-            $version = $this->getVersion();
176
-            $this->setCachedVersion($version);
177
-        }
178
-        if (isset($version->error)) {
179
-            glsr_log()->error($version->error);
180
-            return false;
181
-        }
182
-        return $version;
183
-    }
167
+	/**
168
+	 * @param bool $force
169
+	 * @return false|object
170
+	 */
171
+	protected function getPluginUpdate($force = false)
172
+	{
173
+		$version = $this->getCachedVersion();
174
+		if (false === $version || $force) {
175
+			$version = $this->getVersion();
176
+			$this->setCachedVersion($version);
177
+		}
178
+		if (isset($version->error)) {
179
+			glsr_log()->error($version->error);
180
+			return false;
181
+		}
182
+		return $version;
183
+	}
184 184
 
185
-    /**
186
-     * @param object $transient
187
-     * @param object $updateInfo
188
-     * @return object
189
-     */
190
-    protected function modifyPluginUpdates($transient, $updateInfo)
191
-    {
192
-        $updateInfo->id = Application::ID.'/'.Arr::get($this->data, 'TextDomain');
193
-        $updateInfo->plugin = $this->plugin;
194
-        $updateInfo->requires_php = Arr::get($this->data, 'RequiresPHP');
195
-        $updateInfo->tested = Arr::get($this->data, 'testedTo');
196
-        $transient->checked[$this->plugin] = Arr::get($this->data, 'Version');
197
-        $transient->last_checked = time();
198
-        if (Helper::isGreaterThan($updateInfo->new_version, Arr::get($this->data, 'Version'))) {
199
-            unset($transient->no_update[$this->plugin]);
200
-            $updateInfo->update = true;
201
-            $transient->response[$this->plugin] = $updateInfo;
202
-        } else {
203
-            unset($transient->response[$this->plugin]);
204
-            $transient->no_update[$this->plugin] = $updateInfo;
205
-        }
206
-        return $transient;
207
-    }
185
+	/**
186
+	 * @param object $transient
187
+	 * @param object $updateInfo
188
+	 * @return object
189
+	 */
190
+	protected function modifyPluginUpdates($transient, $updateInfo)
191
+	{
192
+		$updateInfo->id = Application::ID.'/'.Arr::get($this->data, 'TextDomain');
193
+		$updateInfo->plugin = $this->plugin;
194
+		$updateInfo->requires_php = Arr::get($this->data, 'RequiresPHP');
195
+		$updateInfo->tested = Arr::get($this->data, 'testedTo');
196
+		$transient->checked[$this->plugin] = Arr::get($this->data, 'Version');
197
+		$transient->last_checked = time();
198
+		if (Helper::isGreaterThan($updateInfo->new_version, Arr::get($this->data, 'Version'))) {
199
+			unset($transient->no_update[$this->plugin]);
200
+			$updateInfo->update = true;
201
+			$transient->response[$this->plugin] = $updateInfo;
202
+		} else {
203
+			unset($transient->response[$this->plugin]);
204
+			$transient->no_update[$this->plugin] = $updateInfo;
205
+		}
206
+		return $transient;
207
+	}
208 208
 
209
-    /**
210
-     * @param object $updateInfo
211
-     * @return object
212
-     */
213
-    protected function modifyUpdateDetails($updateInfo)
214
-    {
215
-        $updateInfo->author = Arr::get($this->data, 'Author');
216
-        $updateInfo->author_profile = Arr::get($this->data, 'AuthorURI');
217
-        $updateInfo->requires = Arr::get($this->data, 'RequiresWP');
218
-        $updateInfo->requires_php = Arr::get($this->data, 'RequiresPHP');
219
-        $updateInfo->tested = Arr::get($this->data, 'testedTo');
220
-        $updateInfo->version = $updateInfo->new_version;
221
-        return $updateInfo;
222
-    }
209
+	/**
210
+	 * @param object $updateInfo
211
+	 * @return object
212
+	 */
213
+	protected function modifyUpdateDetails($updateInfo)
214
+	{
215
+		$updateInfo->author = Arr::get($this->data, 'Author');
216
+		$updateInfo->author_profile = Arr::get($this->data, 'AuthorURI');
217
+		$updateInfo->requires = Arr::get($this->data, 'RequiresWP');
218
+		$updateInfo->requires_php = Arr::get($this->data, 'RequiresPHP');
219
+		$updateInfo->tested = Arr::get($this->data, 'testedTo');
220
+		$updateInfo->version = $updateInfo->new_version;
221
+		return $updateInfo;
222
+	}
223 223
 
224
-    /**
225
-     * @param \WP_Error|array $response
226
-     * @return object
227
-     */
228
-    protected function normalizeResponse($response)
229
-    {
230
-        $body = wp_remote_retrieve_body($response);
231
-        if ($data = json_decode($body)) {
232
-            $data = array_map('maybe_unserialize', (array) $data);
233
-            return (object) $data;
234
-        }
235
-        $error = is_wp_error($response)
236
-            ? $response->get_error_message()
237
-            : 'Update server not responding ('.Arr::get($this->data, 'TextDomain').')';
238
-        return (object) ['error' => $error];
239
-    }
224
+	/**
225
+	 * @param \WP_Error|array $response
226
+	 * @return object
227
+	 */
228
+	protected function normalizeResponse($response)
229
+	{
230
+		$body = wp_remote_retrieve_body($response);
231
+		if ($data = json_decode($body)) {
232
+			$data = array_map('maybe_unserialize', (array) $data);
233
+			return (object) $data;
234
+		}
235
+		$error = is_wp_error($response)
236
+			? $response->get_error_message()
237
+			: 'Update server not responding ('.Arr::get($this->data, 'TextDomain').')';
238
+		return (object) ['error' => $error];
239
+	}
240 240
 
241
-    /**
242
-     * @param string $action activate_license|check_license|deactivate_license|get_version
243
-     * @return object
244
-     */
245
-    protected function request($action, array $data = [])
246
-    {
247
-        $data = wp_parse_args($data, $this->data);
248
-        $response = wp_remote_post($this->apiUrl, [
249
-            'body' => [
250
-                'edd_action' => $action,
251
-                'item_id' => Arr::get($data, 'item_id'),
252
-                'item_name' => Arr::get($data, 'Name'),
253
-                'license' => Arr::get($data, 'license'),
254
-                'slug' => Arr::get($data, 'TextDomain'),
255
-                'url' => home_url(),
256
-            ],
257
-            'sslverify' => apply_filters('site-reviews/sslverify/post', false),
258
-            'timeout' => 15,
259
-        ]);
260
-        return $this->normalizeResponse($response);
261
-    }
241
+	/**
242
+	 * @param string $action activate_license|check_license|deactivate_license|get_version
243
+	 * @return object
244
+	 */
245
+	protected function request($action, array $data = [])
246
+	{
247
+		$data = wp_parse_args($data, $this->data);
248
+		$response = wp_remote_post($this->apiUrl, [
249
+			'body' => [
250
+				'edd_action' => $action,
251
+				'item_id' => Arr::get($data, 'item_id'),
252
+				'item_name' => Arr::get($data, 'Name'),
253
+				'license' => Arr::get($data, 'license'),
254
+				'slug' => Arr::get($data, 'TextDomain'),
255
+				'url' => home_url(),
256
+			],
257
+			'sslverify' => apply_filters('site-reviews/sslverify/post', false),
258
+			'timeout' => 15,
259
+		]);
260
+		return $this->normalizeResponse($response);
261
+	}
262 262
 
263
-    /**
264
-     * @param object $version
265
-     * @return void
266
-     */
267
-    protected function setCachedVersion($version)
268
-    {
269
-        if (!isset($version->error)) {
270
-            set_transient($this->transientName, $version, 3 * HOUR_IN_SECONDS);
271
-        }
272
-    }
263
+	/**
264
+	 * @param object $version
265
+	 * @return void
266
+	 */
267
+	protected function setCachedVersion($version)
268
+	{
269
+		if (!isset($version->error)) {
270
+			set_transient($this->transientName, $version, 3 * HOUR_IN_SECONDS);
271
+		}
272
+	}
273 273
 }
Please login to merge, or discard this patch.
plugin/Modules/Migrations/Migrate_4_0_2.php 1 patch
Indentation   +53 added lines, -53 removed lines patch added patch discarded remove patch
@@ -9,70 +9,70 @@
 block discarded – undo
9 9
 
10 10
 class Migrate_4_0_2
11 11
 {
12
-    /**
13
-     * @return void
14
-     */
15
-    public function deleteSessions()
16
-    {
17
-        global $wpdb;
18
-        $wpdb->query("
12
+	/**
13
+	 * @return void
14
+	 */
15
+	public function deleteSessions()
16
+	{
17
+		global $wpdb;
18
+		$wpdb->query("
19 19
             DELETE
20 20
             FROM {$wpdb->options}
21 21
             WHERE option_name LIKE '_glsr_session%'
22 22
         ");
23
-    }
23
+	}
24 24
 
25
-    /**
26
-     * @return void
27
-     */
28
-    public function migrateSettings()
29
-    {
30
-        if ($settings = get_option(OptionManager::databaseKey(3))) {
31
-            $multilingual = 'yes' == Arr::get($settings, 'settings.general.support.polylang')
32
-                ? 'polylang'
33
-                : '';
34
-            $settings = Arr::set($settings, 'settings.general.multilingual', $multilingual);
35
-            $settings = Arr::set($settings, 'settings.general.rebusify', 'no');
36
-            $settings = Arr::set($settings, 'settings.general.rebusify_email', '');
37
-            $settings = Arr::set($settings, 'settings.general.rebusify_serial', '');
38
-            $settings = Arr::set($settings, 'settings.reviews.name.format', '');
39
-            $settings = Arr::set($settings, 'settings.reviews.name.initial', '');
40
-            $settings = Arr::set($settings, 'settings.submissions.blacklist.integration', '');
41
-            $settings = Arr::set($settings, 'settings.submissions.limit', '');
42
-            $settings = Arr::set($settings, 'settings.submissions.limit_whitelist.email', '');
43
-            $settings = Arr::set($settings, 'settings.submissions.limit_whitelist.ip_address', '');
44
-            $settings = Arr::set($settings, 'settings.submissions.limit_whitelist.username', '');
45
-            unset($settings['settings']['general']['support']);
46
-            update_option(OptionManager::databaseKey(4), $settings);
47
-        }
48
-    }
25
+	/**
26
+	 * @return void
27
+	 */
28
+	public function migrateSettings()
29
+	{
30
+		if ($settings = get_option(OptionManager::databaseKey(3))) {
31
+			$multilingual = 'yes' == Arr::get($settings, 'settings.general.support.polylang')
32
+				? 'polylang'
33
+				: '';
34
+			$settings = Arr::set($settings, 'settings.general.multilingual', $multilingual);
35
+			$settings = Arr::set($settings, 'settings.general.rebusify', 'no');
36
+			$settings = Arr::set($settings, 'settings.general.rebusify_email', '');
37
+			$settings = Arr::set($settings, 'settings.general.rebusify_serial', '');
38
+			$settings = Arr::set($settings, 'settings.reviews.name.format', '');
39
+			$settings = Arr::set($settings, 'settings.reviews.name.initial', '');
40
+			$settings = Arr::set($settings, 'settings.submissions.blacklist.integration', '');
41
+			$settings = Arr::set($settings, 'settings.submissions.limit', '');
42
+			$settings = Arr::set($settings, 'settings.submissions.limit_whitelist.email', '');
43
+			$settings = Arr::set($settings, 'settings.submissions.limit_whitelist.ip_address', '');
44
+			$settings = Arr::set($settings, 'settings.submissions.limit_whitelist.username', '');
45
+			unset($settings['settings']['general']['support']);
46
+			update_option(OptionManager::databaseKey(4), $settings);
47
+		}
48
+	}
49 49
 
50
-    /**
51
-     * @return void
52
-     */
53
-    public function protectMetaKeys()
54
-    {
55
-        global $wpdb;
56
-        $keys = array_keys(glsr(CreateReviewDefaults::class)->defaults());
57
-        $keys = implode("','", $keys);
58
-        $postType = Application::POST_TYPE;
59
-        $wpdb->query("
50
+	/**
51
+	 * @return void
52
+	 */
53
+	public function protectMetaKeys()
54
+	{
55
+		global $wpdb;
56
+		$keys = array_keys(glsr(CreateReviewDefaults::class)->defaults());
57
+		$keys = implode("','", $keys);
58
+		$postType = Application::POST_TYPE;
59
+		$wpdb->query("
60 60
             UPDATE {$wpdb->postmeta} pm
61 61
             INNER JOIN {$wpdb->posts} p ON p.id = pm.post_id
62 62
             SET pm.meta_key = CONCAT('_', pm.meta_key)
63 63
             WHERE pm.meta_key IN ('{$keys}')
64 64
             AND p.post_type = '{$postType}'
65 65
         ");
66
-    }
66
+	}
67 67
 
68
-    /**
69
-     * @return void
70
-     */
71
-    public function run()
72
-    {
73
-        $this->migrateSettings();
74
-        $this->protectMetaKeys();
75
-        $this->deleteSessions();
76
-        delete_transient(Application::ID.'_cloudflare_ips');
77
-    }
68
+	/**
69
+	 * @return void
70
+	 */
71
+	public function run()
72
+	{
73
+		$this->migrateSettings();
74
+		$this->protectMetaKeys();
75
+		$this->deleteSessions();
76
+		delete_transient(Application::ID.'_cloudflare_ips');
77
+	}
78 78
 }
Please login to merge, or discard this patch.
plugin/Modules/Migrations/Migrate_3_0_0.php 1 patch
Indentation   +147 added lines, -147 removed lines patch added patch discarded remove patch
@@ -7,160 +7,160 @@
 block discarded – undo
7 7
 
8 8
 class Migrate_3_0_0
9 9
 {
10
-    const MAPPED_SETTINGS = [
11
-        'settings.general.notification' => 'settings.general.notifications', // array
12
-        'settings.general.notification_email' => 'settings.general.notification_email',
13
-        'settings.general.notification_message' => 'settings.general.notification_message',
14
-        'settings.general.require.approval' => 'settings.general.require.approval',
15
-        'settings.general.require.login' => 'settings.general.require.login',
16
-        'settings.general.require.login_register' => 'settings.general.require.login_register',
17
-        'settings.general.webhook_url' => 'settings.general.notification_slack',
18
-        'settings.reviews-form.akismet' => 'settings.submissions.akismet',
19
-        'settings.reviews-form.blacklist.action' => 'settings.submissions.blacklist.action',
20
-        'settings.reviews-form.blacklist.entries' => 'settings.submissions.blacklist.entries',
21
-        'settings.reviews-form.recaptcha.integration' => 'settings.submissions.recaptcha.integration',
22
-        'settings.reviews-form.recaptcha.key' => 'settings.submissions.recaptcha.key',
23
-        'settings.reviews-form.recaptcha.position' => 'settings.submissions.recaptcha.position',
24
-        'settings.reviews-form.recaptcha.secret' => 'settings.submissions.recaptcha.secret',
25
-        'settings.reviews-form.required' => 'settings.submissions.required', // array
26
-        'settings.reviews.assigned_links.enabled' => 'settings.reviews.assigned_links',
27
-        'settings.reviews.avatars.enabled' => 'settings.reviews.avatars',
28
-        'settings.reviews.date.custom' => 'settings.reviews.date.custom',
29
-        'settings.reviews.date.format' => 'settings.reviews.date.format',
30
-        'settings.reviews.excerpt.enabled' => 'settings.reviews.excerpts',
31
-        'settings.reviews.excerpt.length' => 'settings.reviews.excerpts_length',
32
-        'settings.reviews.schema.address' => 'settings.schema.address',
33
-        'settings.reviews.schema.description.custom' => 'settings.schema.description.custom',
34
-        'settings.reviews.schema.description.default' => 'settings.schema.description.default',
35
-        'settings.reviews.schema.highprice' => 'settings.schema.highprice',
36
-        'settings.reviews.schema.image.custom' => 'settings.schema.image.custom',
37
-        'settings.reviews.schema.image.default' => 'settings.schema.image.default',
38
-        'settings.reviews.schema.lowprice' => 'settings.schema.lowprice',
39
-        'settings.reviews.schema.name.custom' => 'settings.schema.name.custom',
40
-        'settings.reviews.schema.name.default' => 'settings.schema.name.default',
41
-        'settings.reviews.schema.pricecurrency' => 'settings.schema.pricecurrency',
42
-        'settings.reviews.schema.pricerange' => 'settings.schema.pricerange',
43
-        'settings.reviews.schema.telephone' => 'settings.schema.telephone',
44
-        'settings.reviews.schema.type.custom' => 'settings.schema.type.custom',
45
-        'settings.reviews.schema.type.default' => 'settings.schema.type.default',
46
-        'settings.reviews.schema.url.custom' => 'settings.schema.url.custom',
47
-        'settings.reviews.schema.url.default' => 'settings.schema.url.default',
48
-        'version' => 'version_upgraded_from',
49
-    ];
10
+	const MAPPED_SETTINGS = [
11
+		'settings.general.notification' => 'settings.general.notifications', // array
12
+		'settings.general.notification_email' => 'settings.general.notification_email',
13
+		'settings.general.notification_message' => 'settings.general.notification_message',
14
+		'settings.general.require.approval' => 'settings.general.require.approval',
15
+		'settings.general.require.login' => 'settings.general.require.login',
16
+		'settings.general.require.login_register' => 'settings.general.require.login_register',
17
+		'settings.general.webhook_url' => 'settings.general.notification_slack',
18
+		'settings.reviews-form.akismet' => 'settings.submissions.akismet',
19
+		'settings.reviews-form.blacklist.action' => 'settings.submissions.blacklist.action',
20
+		'settings.reviews-form.blacklist.entries' => 'settings.submissions.blacklist.entries',
21
+		'settings.reviews-form.recaptcha.integration' => 'settings.submissions.recaptcha.integration',
22
+		'settings.reviews-form.recaptcha.key' => 'settings.submissions.recaptcha.key',
23
+		'settings.reviews-form.recaptcha.position' => 'settings.submissions.recaptcha.position',
24
+		'settings.reviews-form.recaptcha.secret' => 'settings.submissions.recaptcha.secret',
25
+		'settings.reviews-form.required' => 'settings.submissions.required', // array
26
+		'settings.reviews.assigned_links.enabled' => 'settings.reviews.assigned_links',
27
+		'settings.reviews.avatars.enabled' => 'settings.reviews.avatars',
28
+		'settings.reviews.date.custom' => 'settings.reviews.date.custom',
29
+		'settings.reviews.date.format' => 'settings.reviews.date.format',
30
+		'settings.reviews.excerpt.enabled' => 'settings.reviews.excerpts',
31
+		'settings.reviews.excerpt.length' => 'settings.reviews.excerpts_length',
32
+		'settings.reviews.schema.address' => 'settings.schema.address',
33
+		'settings.reviews.schema.description.custom' => 'settings.schema.description.custom',
34
+		'settings.reviews.schema.description.default' => 'settings.schema.description.default',
35
+		'settings.reviews.schema.highprice' => 'settings.schema.highprice',
36
+		'settings.reviews.schema.image.custom' => 'settings.schema.image.custom',
37
+		'settings.reviews.schema.image.default' => 'settings.schema.image.default',
38
+		'settings.reviews.schema.lowprice' => 'settings.schema.lowprice',
39
+		'settings.reviews.schema.name.custom' => 'settings.schema.name.custom',
40
+		'settings.reviews.schema.name.default' => 'settings.schema.name.default',
41
+		'settings.reviews.schema.pricecurrency' => 'settings.schema.pricecurrency',
42
+		'settings.reviews.schema.pricerange' => 'settings.schema.pricerange',
43
+		'settings.reviews.schema.telephone' => 'settings.schema.telephone',
44
+		'settings.reviews.schema.type.custom' => 'settings.schema.type.custom',
45
+		'settings.reviews.schema.type.default' => 'settings.schema.type.default',
46
+		'settings.reviews.schema.url.custom' => 'settings.schema.url.custom',
47
+		'settings.reviews.schema.url.default' => 'settings.schema.url.default',
48
+		'version' => 'version_upgraded_from',
49
+	];
50 50
 
51
-    /**
52
-     * @var array
53
-     */
54
-    protected $newSettings;
51
+	/**
52
+	 * @var array
53
+	 */
54
+	protected $newSettings;
55 55
 
56
-    /**
57
-     * @var array
58
-     */
59
-    protected $oldSettings;
56
+	/**
57
+	 * @var array
58
+	 */
59
+	protected $oldSettings;
60 60
 
61
-    /**
62
-     * @return void
63
-     */
64
-    public function migrateSettings()
65
-    {
66
-        $this->newSettings = $this->getNewSettings();
67
-        $this->oldSettings = $this->getOldSettings();
68
-        if (empty($this->oldSettings) || empty($this->newSettings)) {
69
-            return;
70
-        }
71
-        foreach (static::MAPPED_SETTINGS as $old => $new) {
72
-            if (empty($this->oldSettings[$old])) {
73
-                continue;
74
-            }
75
-            $this->newSettings[$new] = $this->oldSettings[$old];
76
-        }
77
-        $this->migrateNotificationSettings();
78
-        $this->migrateRecaptchaSettings();
79
-        $this->migrateRequiredSettings();
80
-        $oldSettings = Arr::convertDotNotationArray($this->oldSettings);
81
-        $newSettings = Arr::convertDotNotationArray($this->newSettings);
82
-        if (isset($oldSettings['settings']['strings']) && is_array($oldSettings['settings']['strings'])) {
83
-            $newSettings['settings']['strings'] = $oldSettings['settings']['strings'];
84
-        }
85
-        update_option(OptionManager::databaseKey(3), $newSettings);
86
-    }
61
+	/**
62
+	 * @return void
63
+	 */
64
+	public function migrateSettings()
65
+	{
66
+		$this->newSettings = $this->getNewSettings();
67
+		$this->oldSettings = $this->getOldSettings();
68
+		if (empty($this->oldSettings) || empty($this->newSettings)) {
69
+			return;
70
+		}
71
+		foreach (static::MAPPED_SETTINGS as $old => $new) {
72
+			if (empty($this->oldSettings[$old])) {
73
+				continue;
74
+			}
75
+			$this->newSettings[$new] = $this->oldSettings[$old];
76
+		}
77
+		$this->migrateNotificationSettings();
78
+		$this->migrateRecaptchaSettings();
79
+		$this->migrateRequiredSettings();
80
+		$oldSettings = Arr::convertDotNotationArray($this->oldSettings);
81
+		$newSettings = Arr::convertDotNotationArray($this->newSettings);
82
+		if (isset($oldSettings['settings']['strings']) && is_array($oldSettings['settings']['strings'])) {
83
+			$newSettings['settings']['strings'] = $oldSettings['settings']['strings'];
84
+		}
85
+		update_option(OptionManager::databaseKey(3), $newSettings);
86
+	}
87 87
 
88
-    /**
89
-     * @return void
90
-     */
91
-    public function run()
92
-    {
93
-        $this->migrateSettings();
94
-    }
88
+	/**
89
+	 * @return void
90
+	 */
91
+	public function run()
92
+	{
93
+		$this->migrateSettings();
94
+	}
95 95
 
96
-    /**
97
-     * @return array
98
-     */
99
-    protected function getNewSettings()
100
-    {
101
-        return  Arr::flattenArray(Arr::consolidateArray(OptionManager::databaseKey(3)));
102
-    }
96
+	/**
97
+	 * @return array
98
+	 */
99
+	protected function getNewSettings()
100
+	{
101
+		return  Arr::flattenArray(Arr::consolidateArray(OptionManager::databaseKey(3)));
102
+	}
103 103
 
104
-    /**
105
-     * @return array
106
-     */
107
-    protected function getOldSettings()
108
-    {
109
-        $defaults = array_fill_keys(array_keys(static::MAPPED_SETTINGS), '');
110
-        $settings = Arr::consolidateArray(get_option(OptionManager::databaseKey(2)));
111
-        $settings = Arr::flattenArray($settings);
112
-        return !empty($settings)
113
-            ? wp_parse_args($settings, $defaults)
114
-            : [];
115
-    }
104
+	/**
105
+	 * @return array
106
+	 */
107
+	protected function getOldSettings()
108
+	{
109
+		$defaults = array_fill_keys(array_keys(static::MAPPED_SETTINGS), '');
110
+		$settings = Arr::consolidateArray(get_option(OptionManager::databaseKey(2)));
111
+		$settings = Arr::flattenArray($settings);
112
+		return !empty($settings)
113
+			? wp_parse_args($settings, $defaults)
114
+			: [];
115
+	}
116 116
 
117
-    /**
118
-     * @return void
119
-     */
120
-    protected function migrateNotificationSettings()
121
-    {
122
-        $notifications = [
123
-            'custom' => 'custom',
124
-            'default' => 'admin',
125
-            'webhook' => 'slack',
126
-        ];
127
-        $this->newSettings['settings.general.notifications'] = [];
128
-        foreach ($notifications as $old => $new) {
129
-            if ($this->oldSettings['settings.general.notification'] != $old) {
130
-                continue;
131
-            }
132
-            $this->newSettings['settings.general.notifications'][] = $new;
133
-        }
134
-    }
117
+	/**
118
+	 * @return void
119
+	 */
120
+	protected function migrateNotificationSettings()
121
+	{
122
+		$notifications = [
123
+			'custom' => 'custom',
124
+			'default' => 'admin',
125
+			'webhook' => 'slack',
126
+		];
127
+		$this->newSettings['settings.general.notifications'] = [];
128
+		foreach ($notifications as $old => $new) {
129
+			if ($this->oldSettings['settings.general.notification'] != $old) {
130
+				continue;
131
+			}
132
+			$this->newSettings['settings.general.notifications'][] = $new;
133
+		}
134
+	}
135 135
 
136
-    /**
137
-     * @return void
138
-     */
139
-    protected function migrateRecaptchaSettings()
140
-    {
141
-        $recaptcha = [
142
-            'BadgePosition' => $this->oldSettings['settings.reviews-form.recaptcha.position'],
143
-            'SecretKey' => $this->oldSettings['settings.reviews-form.recaptcha.secret'],
144
-            'SiteKey' => $this->oldSettings['settings.reviews-form.recaptcha.key'],
145
-        ];
146
-        if (in_array($this->oldSettings['settings.reviews-form.recaptcha.integration'], ['custom', 'invisible-recaptcha'])) {
147
-            $this->newSettings['settings.submissions.recaptcha.integration'] = 'all';
148
-        }
149
-        if ('invisible-recaptcha' == $this->oldSettings['settings.reviews-form.recaptcha.integration']) {
150
-            $recaptcha = wp_parse_args((array) get_site_option('ic-settings', [], false), $recaptcha);
151
-        }
152
-        $this->newSettings['settings.submissions.recaptcha.key'] = $recaptcha['SiteKey'];
153
-        $this->newSettings['settings.submissions.recaptcha.secret'] = $recaptcha['SecretKey'];
154
-        $this->newSettings['settings.submissions.recaptcha.position'] = $recaptcha['BadgePosition'];
155
-    }
136
+	/**
137
+	 * @return void
138
+	 */
139
+	protected function migrateRecaptchaSettings()
140
+	{
141
+		$recaptcha = [
142
+			'BadgePosition' => $this->oldSettings['settings.reviews-form.recaptcha.position'],
143
+			'SecretKey' => $this->oldSettings['settings.reviews-form.recaptcha.secret'],
144
+			'SiteKey' => $this->oldSettings['settings.reviews-form.recaptcha.key'],
145
+		];
146
+		if (in_array($this->oldSettings['settings.reviews-form.recaptcha.integration'], ['custom', 'invisible-recaptcha'])) {
147
+			$this->newSettings['settings.submissions.recaptcha.integration'] = 'all';
148
+		}
149
+		if ('invisible-recaptcha' == $this->oldSettings['settings.reviews-form.recaptcha.integration']) {
150
+			$recaptcha = wp_parse_args((array) get_site_option('ic-settings', [], false), $recaptcha);
151
+		}
152
+		$this->newSettings['settings.submissions.recaptcha.key'] = $recaptcha['SiteKey'];
153
+		$this->newSettings['settings.submissions.recaptcha.secret'] = $recaptcha['SecretKey'];
154
+		$this->newSettings['settings.submissions.recaptcha.position'] = $recaptcha['BadgePosition'];
155
+	}
156 156
 
157
-    /**
158
-     * @return void
159
-     */
160
-    protected function migrateRequiredSettings()
161
-    {
162
-        $this->newSettings['settings.submissions.required'] = array_filter((array) $this->oldSettings['settings.reviews-form.required']);
163
-        $this->newSettings['settings.submissions.required'][] = 'rating';
164
-        $this->newSettings['settings.submissions.required'][] = 'terms';
165
-    }
157
+	/**
158
+	 * @return void
159
+	 */
160
+	protected function migrateRequiredSettings()
161
+	{
162
+		$this->newSettings['settings.submissions.required'] = array_filter((array) $this->oldSettings['settings.reviews-form.required']);
163
+		$this->newSettings['settings.submissions.required'][] = 'rating';
164
+		$this->newSettings['settings.submissions.required'][] = 'terms';
165
+	}
166 166
 }
Please login to merge, or discard this patch.
plugin/Modules/Multilingual/Wpml.php 1 patch
Indentation   +66 added lines, -66 removed lines patch added patch discarded remove patch
@@ -9,75 +9,75 @@
 block discarded – undo
9 9
 
10 10
 class Wpml implements Contract
11 11
 {
12
-    public $pluginName = 'WPML';
13
-    public $supportedVersion = '3.3.5';
12
+	public $pluginName = 'WPML';
13
+	public $supportedVersion = '3.3.5';
14 14
 
15
-    /**
16
-     * {@inheritdoc}
17
-     */
18
-    public function getPostId($postId)
19
-    {
20
-        $postId = trim($postId);
21
-        if (!is_numeric($postId)) {
22
-            return 0;
23
-        }
24
-        if ($this->isEnabled()) {
25
-            $postId = apply_filters('wpml_object_id', $postId, 'any', true);
26
-        }
27
-        return intval($postId);
28
-    }
15
+	/**
16
+	 * {@inheritdoc}
17
+	 */
18
+	public function getPostId($postId)
19
+	{
20
+		$postId = trim($postId);
21
+		if (!is_numeric($postId)) {
22
+			return 0;
23
+		}
24
+		if ($this->isEnabled()) {
25
+			$postId = apply_filters('wpml_object_id', $postId, 'any', true);
26
+		}
27
+		return intval($postId);
28
+	}
29 29
 
30
-    /**
31
-     * {@inheritdoc}
32
-     */
33
-    public function getPostIds(array $postIds)
34
-    {
35
-        if (!$this->isEnabled()) {
36
-            return $postIds;
37
-        }
38
-        $newPostIds = [];
39
-        foreach (Arr::unique($postIds) as $postId) {
40
-            $postType = get_post_type($postId);
41
-            if (!$postType) {
42
-                continue;
43
-            }
44
-            $elementType = 'post_'.$postType;
45
-            $trid = apply_filters('wpml_element_trid', null, $postId, $elementType);
46
-            $translations = apply_filters('wpml_get_element_translations', null, $trid, $elementType);
47
-            if (!is_array($translations)) {
48
-                $translations = [];
49
-            }
50
-            $newPostIds = array_merge(
51
-                $newPostIds,
52
-                array_column($translations, 'element_id')
53
-            );
54
-        }
55
-        return Arr::unique($newPostIds);
56
-    }
30
+	/**
31
+	 * {@inheritdoc}
32
+	 */
33
+	public function getPostIds(array $postIds)
34
+	{
35
+		if (!$this->isEnabled()) {
36
+			return $postIds;
37
+		}
38
+		$newPostIds = [];
39
+		foreach (Arr::unique($postIds) as $postId) {
40
+			$postType = get_post_type($postId);
41
+			if (!$postType) {
42
+				continue;
43
+			}
44
+			$elementType = 'post_'.$postType;
45
+			$trid = apply_filters('wpml_element_trid', null, $postId, $elementType);
46
+			$translations = apply_filters('wpml_get_element_translations', null, $trid, $elementType);
47
+			if (!is_array($translations)) {
48
+				$translations = [];
49
+			}
50
+			$newPostIds = array_merge(
51
+				$newPostIds,
52
+				array_column($translations, 'element_id')
53
+			);
54
+		}
55
+		return Arr::unique($newPostIds);
56
+	}
57 57
 
58
-    /**
59
-     * {@inheritdoc}
60
-     */
61
-    public function isActive()
62
-    {
63
-        return defined('ICL_SITEPRESS_VERSION');
64
-    }
58
+	/**
59
+	 * {@inheritdoc}
60
+	 */
61
+	public function isActive()
62
+	{
63
+		return defined('ICL_SITEPRESS_VERSION');
64
+	}
65 65
 
66
-    /**
67
-     * {@inheritdoc}
68
-     */
69
-    public function isEnabled()
70
-    {
71
-        return $this->isActive()
72
-            && 'wpml' == glsr(OptionManager::class)->get('settings.general.multilingual');
73
-    }
66
+	/**
67
+	 * {@inheritdoc}
68
+	 */
69
+	public function isEnabled()
70
+	{
71
+		return $this->isActive()
72
+			&& 'wpml' == glsr(OptionManager::class)->get('settings.general.multilingual');
73
+	}
74 74
 
75
-    /**
76
-     * {@inheritdoc}
77
-     */
78
-    public function isSupported()
79
-    {
80
-        return $this->isActive()
81
-            && Helper::isGreaterThanOrEqual(ICL_SITEPRESS_VERSION, $this->supportedVersion);
82
-    }
75
+	/**
76
+	 * {@inheritdoc}
77
+	 */
78
+	public function isSupported()
79
+	{
80
+		return $this->isActive()
81
+			&& Helper::isGreaterThanOrEqual(ICL_SITEPRESS_VERSION, $this->supportedVersion);
82
+	}
83 83
 }
Please login to merge, or discard this patch.
plugin/Modules/Multilingual/Polylang.php 1 patch
Indentation   +62 added lines, -62 removed lines patch added patch discarded remove patch
@@ -9,71 +9,71 @@
 block discarded – undo
9 9
 
10 10
 class Polylang implements Contract
11 11
 {
12
-    public $pluginName = 'Polylang';
13
-    public $supportedVersion = '2.3';
12
+	public $pluginName = 'Polylang';
13
+	public $supportedVersion = '2.3';
14 14
 
15
-    /**
16
-     * {@inheritdoc}
17
-     */
18
-    public function getPostId($postId)
19
-    {
20
-        $postId = trim($postId);
21
-        if (!is_numeric($postId)) {
22
-            return 0;
23
-        }
24
-        if ($this->isEnabled()) {
25
-            $polylangPostId = pll_get_post($postId, pll_get_post_language(get_the_ID()));
26
-        }
27
-        if (!empty($polylangPostId)) {
28
-            $postId = $polylangPostId;
29
-        }
30
-        return intval($postId);
31
-    }
15
+	/**
16
+	 * {@inheritdoc}
17
+	 */
18
+	public function getPostId($postId)
19
+	{
20
+		$postId = trim($postId);
21
+		if (!is_numeric($postId)) {
22
+			return 0;
23
+		}
24
+		if ($this->isEnabled()) {
25
+			$polylangPostId = pll_get_post($postId, pll_get_post_language(get_the_ID()));
26
+		}
27
+		if (!empty($polylangPostId)) {
28
+			$postId = $polylangPostId;
29
+		}
30
+		return intval($postId);
31
+	}
32 32
 
33
-    /**
34
-     * {@inheritdoc}
35
-     */
36
-    public function getPostIds(array $postIds)
37
-    {
38
-        if (!$this->isEnabled()) {
39
-            return $postIds;
40
-        }
41
-        $newPostIds = [];
42
-        foreach (Arr::unique($postIds) as $postId) {
43
-            $newPostIds = array_merge(
44
-                $newPostIds,
45
-                array_values(pll_get_post_translations($postId))
46
-            );
47
-        }
48
-        return Arr::unique($newPostIds);
49
-    }
33
+	/**
34
+	 * {@inheritdoc}
35
+	 */
36
+	public function getPostIds(array $postIds)
37
+	{
38
+		if (!$this->isEnabled()) {
39
+			return $postIds;
40
+		}
41
+		$newPostIds = [];
42
+		foreach (Arr::unique($postIds) as $postId) {
43
+			$newPostIds = array_merge(
44
+				$newPostIds,
45
+				array_values(pll_get_post_translations($postId))
46
+			);
47
+		}
48
+		return Arr::unique($newPostIds);
49
+	}
50 50
 
51
-    /**
52
-     * {@inheritdoc}
53
-     */
54
-    public function isActive()
55
-    {
56
-        return function_exists('PLL')
57
-            && function_exists('pll_get_post')
58
-            && function_exists('pll_get_post_language')
59
-            && function_exists('pll_get_post_translations');
60
-    }
51
+	/**
52
+	 * {@inheritdoc}
53
+	 */
54
+	public function isActive()
55
+	{
56
+		return function_exists('PLL')
57
+			&& function_exists('pll_get_post')
58
+			&& function_exists('pll_get_post_language')
59
+			&& function_exists('pll_get_post_translations');
60
+	}
61 61
 
62
-    /**
63
-     * {@inheritdoc}
64
-     */
65
-    public function isEnabled()
66
-    {
67
-        return $this->isActive()
68
-            && 'polylang' == glsr(OptionManager::class)->get('settings.general.multilingual');
69
-    }
62
+	/**
63
+	 * {@inheritdoc}
64
+	 */
65
+	public function isEnabled()
66
+	{
67
+		return $this->isActive()
68
+			&& 'polylang' == glsr(OptionManager::class)->get('settings.general.multilingual');
69
+	}
70 70
 
71
-    /**
72
-     * {@inheritdoc}
73
-     */
74
-    public function isSupported()
75
-    {
76
-        return defined('POLYLANG_VERSION')
77
-            && Helper::isGreaterThanOrEqual(POLYLANG_VERSION, $this->supportedVersion);
78
-    }
71
+	/**
72
+	 * {@inheritdoc}
73
+	 */
74
+	public function isSupported()
75
+	{
76
+		return defined('POLYLANG_VERSION')
77
+			&& Helper::isGreaterThanOrEqual(POLYLANG_VERSION, $this->supportedVersion);
78
+	}
79 79
 }
Please login to merge, or discard this patch.
plugin/Helper.php 1 patch
Indentation   +214 added lines, -214 removed lines patch added patch discarded remove patch
@@ -8,218 +8,218 @@
 block discarded – undo
8 8
 
9 9
 class Helper
10 10
 {
11
-    /**
12
-     * @param string $name
13
-     * @param string $path
14
-     * @return string
15
-     */
16
-    public static function buildClassName($name, $path = '')
17
-    {
18
-        $className = Str::camelCase($name);
19
-        $path = ltrim(str_replace(__NAMESPACE__, '', $path), '\\');
20
-        return !empty($path)
21
-            ? __NAMESPACE__.'\\'.$path.'\\'.$className
22
-            : $className;
23
-    }
24
-
25
-    /**
26
-     * @param string $name
27
-     * @param string $prefix
28
-     * @return string
29
-     */
30
-    public static function buildMethodName($name, $prefix = '')
31
-    {
32
-        return lcfirst($prefix.static::buildClassName($name));
33
-    }
34
-
35
-    /**
36
-     * @param string $name
37
-     * @return string
38
-     */
39
-    public static function buildPropertyName($name)
40
-    {
41
-        return static::buildMethodName($name);
42
-    }
43
-
44
-    /**
45
-     * @param string $cast
46
-     * @param mixed $value
47
-     * @return mixed
48
-     */
49
-    public static function castTo($cast = '', $value)
50
-    {
51
-        $method = static::buildMethodName($cast, 'castTo');
52
-        return !empty($cast) && method_exists(__CLASS__, $method)
53
-            ? static::$method($value)
54
-            : $value;
55
-    }
56
-
57
-    /**
58
-     * @param mixed $value
59
-     * @return array
60
-     */
61
-    public static function castToArray($value)
62
-    {
63
-        return (array) $value;
64
-    }
65
-
66
-    /**
67
-     * @param mixed $value
68
-     * @return bool
69
-     */
70
-    public static function castToBool($value)
71
-    {
72
-        return filter_var($value, FILTER_VALIDATE_BOOLEAN);
73
-    }
74
-
75
-    /**
76
-     * @param mixed $value
77
-     * @return float
78
-     */
79
-    public static function castToFloat($value)
80
-    {
81
-        return (float) filter_var($value, FILTER_VALIDATE_FLOAT, FILTER_FLAG_ALLOW_THOUSAND);
82
-    }
83
-
84
-    /**
85
-     * @param mixed $value
86
-     * @return int
87
-     */
88
-    public static function castToInt($value)
89
-    {
90
-        return (int) filter_var($value, FILTER_VALIDATE_INT);
91
-    }
92
-
93
-    /**
94
-     * @param mixed $value
95
-     * @return object
96
-     */
97
-    public static function castToObject($value)
98
-    {
99
-        return (object) (array) $value;
100
-    }
101
-
102
-    /**
103
-     * @param mixed $value
104
-     * @return string
105
-     */
106
-    public static function castToString($value)
107
-    {
108
-        if (is_object($value) && in_array('__toString', get_class_methods($value))) {
109
-            return (string) $value->__toString();
110
-        }
111
-        if (is_array($value) || is_object($value)) {
112
-            return serialize($value);
113
-        }
114
-        return (string) $value;
115
-    }
116
-
117
-    /**
118
-     * @param string $key
119
-     * @return mixed
120
-     */
121
-    public static function filterInput($key, array $request = [])
122
-    {
123
-        if (isset($request[$key])) {
124
-            return $request[$key];
125
-        }
126
-        $variable = filter_input(INPUT_POST, $key);
127
-        if (is_null($variable) && isset($_POST[$key])) {
128
-            $variable = $_POST[$key];
129
-        }
130
-        return $variable;
131
-    }
132
-
133
-    /**
134
-     * @param string $key
135
-     * @return array
136
-     */
137
-    public static function filterInputArray($key)
138
-    {
139
-        $variable = filter_input(INPUT_POST, $key, FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
140
-        if (empty($variable) && !empty($_POST[$key]) && is_array($_POST[$key])) {
141
-            $variable = $_POST[$key];
142
-        }
143
-        return (array) $variable;
144
-    }
145
-
146
-    /**
147
-     * @return string
148
-     */
149
-    public static function getIpAddress()
150
-    {
151
-        $whitelist = [];
152
-        $isUsingCloudflare = !empty(filter_input(INPUT_SERVER, 'CF-Connecting-IP'));
153
-        if (apply_filters('site-reviews/whip/whitelist/cloudflare', $isUsingCloudflare)) {
154
-            $cloudflareIps = glsr(Cache::class)->getCloudflareIps();
155
-            $whitelist[Whip::CLOUDFLARE_HEADERS] = [Whip::IPV4 => $cloudflareIps['v4']];
156
-            if (defined('AF_INET6')) {
157
-                $whitelist[Whip::CLOUDFLARE_HEADERS][Whip::IPV6] = $cloudflareIps['v6'];
158
-            }
159
-        }
160
-        $whitelist = apply_filters('site-reviews/whip/whitelist', $whitelist);
161
-        $methods = apply_filters('site-reviews/whip/methods', Whip::ALL_METHODS);
162
-        $whip = new Whip($methods, $whitelist);
163
-        do_action_ref_array('site-reviews/whip', [$whip]);
164
-        if (false !== ($clientAddress = $whip->getValidIpAddress())) {
165
-            return (string) $clientAddress;
166
-        }
167
-        glsr_log()->error('Unable to detect IP address.');
168
-        return 'unknown';
169
-    }
170
-
171
-    /**
172
-     * @param mixed $value
173
-     * @param string|int $min
174
-     * @param string|int $max
175
-     * @return bool
176
-     */
177
-    public static function inRange($value, $min, $max)
178
-    {
179
-        $inRange = filter_var($value, FILTER_VALIDATE_INT, ['options' => [
180
-            'min_range' => intval($min),
181
-            'max_range' => intval($max),
182
-        ]]);
183
-        return false !== $inRange;
184
-    }
185
-
186
-    /**
187
-     * @param int|string $value
188
-     * @param int|string $compareWithValue
189
-     * @return bool
190
-     */
191
-    public static function isGreaterThan($value, $compareWithValue)
192
-    {
193
-        return version_compare($value, $compareWithValue, '>');
194
-    }
195
-
196
-    /**
197
-     * @param int|string $value
198
-     * @param int|string $compareWithValue
199
-     * @return bool
200
-     */
201
-    public static function isGreaterThanOrEqual($value, $compareWithValue)
202
-    {
203
-        return version_compare($value, $compareWithValue, '>=');
204
-    }
205
-
206
-    /**
207
-     * @param int|string $value
208
-     * @param int|string $compareWithValue
209
-     * @return bool
210
-     */
211
-    public static function isLessThan($value, $compareWithValue)
212
-    {
213
-        return version_compare($value, $compareWithValue, '<');
214
-    }
215
-
216
-    /**
217
-     * @param int|string $value
218
-     * @param int|string $compareWithValue
219
-     * @return bool
220
-     */
221
-    public static function isLessThanOrEqual($value, $compareWithValue)
222
-    {
223
-        return version_compare($value, $compareWithValue, '<=');
224
-    }
11
+	/**
12
+	 * @param string $name
13
+	 * @param string $path
14
+	 * @return string
15
+	 */
16
+	public static function buildClassName($name, $path = '')
17
+	{
18
+		$className = Str::camelCase($name);
19
+		$path = ltrim(str_replace(__NAMESPACE__, '', $path), '\\');
20
+		return !empty($path)
21
+			? __NAMESPACE__.'\\'.$path.'\\'.$className
22
+			: $className;
23
+	}
24
+
25
+	/**
26
+	 * @param string $name
27
+	 * @param string $prefix
28
+	 * @return string
29
+	 */
30
+	public static function buildMethodName($name, $prefix = '')
31
+	{
32
+		return lcfirst($prefix.static::buildClassName($name));
33
+	}
34
+
35
+	/**
36
+	 * @param string $name
37
+	 * @return string
38
+	 */
39
+	public static function buildPropertyName($name)
40
+	{
41
+		return static::buildMethodName($name);
42
+	}
43
+
44
+	/**
45
+	 * @param string $cast
46
+	 * @param mixed $value
47
+	 * @return mixed
48
+	 */
49
+	public static function castTo($cast = '', $value)
50
+	{
51
+		$method = static::buildMethodName($cast, 'castTo');
52
+		return !empty($cast) && method_exists(__CLASS__, $method)
53
+			? static::$method($value)
54
+			: $value;
55
+	}
56
+
57
+	/**
58
+	 * @param mixed $value
59
+	 * @return array
60
+	 */
61
+	public static function castToArray($value)
62
+	{
63
+		return (array) $value;
64
+	}
65
+
66
+	/**
67
+	 * @param mixed $value
68
+	 * @return bool
69
+	 */
70
+	public static function castToBool($value)
71
+	{
72
+		return filter_var($value, FILTER_VALIDATE_BOOLEAN);
73
+	}
74
+
75
+	/**
76
+	 * @param mixed $value
77
+	 * @return float
78
+	 */
79
+	public static function castToFloat($value)
80
+	{
81
+		return (float) filter_var($value, FILTER_VALIDATE_FLOAT, FILTER_FLAG_ALLOW_THOUSAND);
82
+	}
83
+
84
+	/**
85
+	 * @param mixed $value
86
+	 * @return int
87
+	 */
88
+	public static function castToInt($value)
89
+	{
90
+		return (int) filter_var($value, FILTER_VALIDATE_INT);
91
+	}
92
+
93
+	/**
94
+	 * @param mixed $value
95
+	 * @return object
96
+	 */
97
+	public static function castToObject($value)
98
+	{
99
+		return (object) (array) $value;
100
+	}
101
+
102
+	/**
103
+	 * @param mixed $value
104
+	 * @return string
105
+	 */
106
+	public static function castToString($value)
107
+	{
108
+		if (is_object($value) && in_array('__toString', get_class_methods($value))) {
109
+			return (string) $value->__toString();
110
+		}
111
+		if (is_array($value) || is_object($value)) {
112
+			return serialize($value);
113
+		}
114
+		return (string) $value;
115
+	}
116
+
117
+	/**
118
+	 * @param string $key
119
+	 * @return mixed
120
+	 */
121
+	public static function filterInput($key, array $request = [])
122
+	{
123
+		if (isset($request[$key])) {
124
+			return $request[$key];
125
+		}
126
+		$variable = filter_input(INPUT_POST, $key);
127
+		if (is_null($variable) && isset($_POST[$key])) {
128
+			$variable = $_POST[$key];
129
+		}
130
+		return $variable;
131
+	}
132
+
133
+	/**
134
+	 * @param string $key
135
+	 * @return array
136
+	 */
137
+	public static function filterInputArray($key)
138
+	{
139
+		$variable = filter_input(INPUT_POST, $key, FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
140
+		if (empty($variable) && !empty($_POST[$key]) && is_array($_POST[$key])) {
141
+			$variable = $_POST[$key];
142
+		}
143
+		return (array) $variable;
144
+	}
145
+
146
+	/**
147
+	 * @return string
148
+	 */
149
+	public static function getIpAddress()
150
+	{
151
+		$whitelist = [];
152
+		$isUsingCloudflare = !empty(filter_input(INPUT_SERVER, 'CF-Connecting-IP'));
153
+		if (apply_filters('site-reviews/whip/whitelist/cloudflare', $isUsingCloudflare)) {
154
+			$cloudflareIps = glsr(Cache::class)->getCloudflareIps();
155
+			$whitelist[Whip::CLOUDFLARE_HEADERS] = [Whip::IPV4 => $cloudflareIps['v4']];
156
+			if (defined('AF_INET6')) {
157
+				$whitelist[Whip::CLOUDFLARE_HEADERS][Whip::IPV6] = $cloudflareIps['v6'];
158
+			}
159
+		}
160
+		$whitelist = apply_filters('site-reviews/whip/whitelist', $whitelist);
161
+		$methods = apply_filters('site-reviews/whip/methods', Whip::ALL_METHODS);
162
+		$whip = new Whip($methods, $whitelist);
163
+		do_action_ref_array('site-reviews/whip', [$whip]);
164
+		if (false !== ($clientAddress = $whip->getValidIpAddress())) {
165
+			return (string) $clientAddress;
166
+		}
167
+		glsr_log()->error('Unable to detect IP address.');
168
+		return 'unknown';
169
+	}
170
+
171
+	/**
172
+	 * @param mixed $value
173
+	 * @param string|int $min
174
+	 * @param string|int $max
175
+	 * @return bool
176
+	 */
177
+	public static function inRange($value, $min, $max)
178
+	{
179
+		$inRange = filter_var($value, FILTER_VALIDATE_INT, ['options' => [
180
+			'min_range' => intval($min),
181
+			'max_range' => intval($max),
182
+		]]);
183
+		return false !== $inRange;
184
+	}
185
+
186
+	/**
187
+	 * @param int|string $value
188
+	 * @param int|string $compareWithValue
189
+	 * @return bool
190
+	 */
191
+	public static function isGreaterThan($value, $compareWithValue)
192
+	{
193
+		return version_compare($value, $compareWithValue, '>');
194
+	}
195
+
196
+	/**
197
+	 * @param int|string $value
198
+	 * @param int|string $compareWithValue
199
+	 * @return bool
200
+	 */
201
+	public static function isGreaterThanOrEqual($value, $compareWithValue)
202
+	{
203
+		return version_compare($value, $compareWithValue, '>=');
204
+	}
205
+
206
+	/**
207
+	 * @param int|string $value
208
+	 * @param int|string $compareWithValue
209
+	 * @return bool
210
+	 */
211
+	public static function isLessThan($value, $compareWithValue)
212
+	{
213
+		return version_compare($value, $compareWithValue, '<');
214
+	}
215
+
216
+	/**
217
+	 * @param int|string $value
218
+	 * @param int|string $compareWithValue
219
+	 * @return bool
220
+	 */
221
+	public static function isLessThanOrEqual($value, $compareWithValue)
222
+	{
223
+		return version_compare($value, $compareWithValue, '<=');
224
+	}
225 225
 }
Please login to merge, or discard this patch.