Passed
Push — master ( aab291...96c122 )
by Paul
04:47 queued 10s
created
plugin/Modules/Html/Partials/SiteReviews.php 1 patch
Indentation   +353 added lines, -353 removed lines patch added patch discarded remove patch
@@ -19,382 +19,382 @@
 block discarded – undo
19 19
 
20 20
 class SiteReviews
21 21
 {
22
-    /**
23
-     * @var array
24
-     */
25
-    public $args;
22
+	/**
23
+	 * @var array
24
+	 */
25
+	public $args;
26 26
 
27
-    /**
28
-     * @var Review
29
-     */
30
-    public $current;
27
+	/**
28
+	 * @var Review
29
+	 */
30
+	public $current;
31 31
 
32
-    /**
33
-     * @var array
34
-     */
35
-    public $options;
32
+	/**
33
+	 * @var array
34
+	 */
35
+	public $options;
36 36
 
37
-    /**
38
-     * @var Reviews
39
-     */
40
-    protected $reviews;
37
+	/**
38
+	 * @var Reviews
39
+	 */
40
+	protected $reviews;
41 41
 
42
-    /**
43
-     * @param Reviews|null $reviews
44
-     * @return ReviewsHtml
45
-     */
46
-    public function build(array $args = [], $reviews = null)
47
-    {
48
-        $this->args = glsr(SiteReviewsDefaults::class)->merge($args);
49
-        $this->options = glsr(Helper::class)->flattenArray(glsr(OptionManager::class)->all());
50
-        $this->reviews = $reviews instanceof Reviews
51
-            ? $reviews
52
-            : glsr(ReviewManager::class)->get($this->args);
53
-        $this->generateSchema();
54
-        return $this->buildReviews();
55
-    }
42
+	/**
43
+	 * @param Reviews|null $reviews
44
+	 * @return ReviewsHtml
45
+	 */
46
+	public function build(array $args = [], $reviews = null)
47
+	{
48
+		$this->args = glsr(SiteReviewsDefaults::class)->merge($args);
49
+		$this->options = glsr(Helper::class)->flattenArray(glsr(OptionManager::class)->all());
50
+		$this->reviews = $reviews instanceof Reviews
51
+			? $reviews
52
+			: glsr(ReviewManager::class)->get($this->args);
53
+		$this->generateSchema();
54
+		return $this->buildReviews();
55
+	}
56 56
 
57
-    /**
58
-     * @return ReviewHtml
59
-     */
60
-    public function buildReview(Review $review)
61
-    {
62
-        $review = apply_filters('site-reviews/review/build/before', $review);
63
-        $this->current = $review;
64
-        $renderedFields = [];
65
-        foreach ($review as $key => $value) {
66
-            $method = glsr(Helper::class)->buildMethodName($key, 'buildOption');
67
-            $field = method_exists($this, $method)
68
-                ? $this->$method($key, $value)
69
-                : false;
70
-            $field = apply_filters('site-reviews/review/build/'.$key, $field, $value, $this, $review);
71
-            if (false === $field) {
72
-                continue;
73
-            }
74
-            $renderedFields[$key] = $field;
75
-        }
76
-        $this->wrap($renderedFields, $review);
77
-        $renderedFields = apply_filters('site-reviews/review/build/after', $renderedFields, $review, $this);
78
-        $this->current = null;
79
-        return new ReviewHtml($review, (array) $renderedFields);
80
-    }
57
+	/**
58
+	 * @return ReviewHtml
59
+	 */
60
+	public function buildReview(Review $review)
61
+	{
62
+		$review = apply_filters('site-reviews/review/build/before', $review);
63
+		$this->current = $review;
64
+		$renderedFields = [];
65
+		foreach ($review as $key => $value) {
66
+			$method = glsr(Helper::class)->buildMethodName($key, 'buildOption');
67
+			$field = method_exists($this, $method)
68
+				? $this->$method($key, $value)
69
+				: false;
70
+			$field = apply_filters('site-reviews/review/build/'.$key, $field, $value, $this, $review);
71
+			if (false === $field) {
72
+				continue;
73
+			}
74
+			$renderedFields[$key] = $field;
75
+		}
76
+		$this->wrap($renderedFields, $review);
77
+		$renderedFields = apply_filters('site-reviews/review/build/after', $renderedFields, $review, $this);
78
+		$this->current = null;
79
+		return new ReviewHtml($review, (array) $renderedFields);
80
+	}
81 81
 
82
-    /**
83
-     * @return ReviewsHtml
84
-     */
85
-    public function buildReviews()
86
-    {
87
-        $renderedReviews = [];
88
-        foreach ($this->reviews as $index => $review) {
89
-            $renderedReviews[] = $this->buildReview($review);
90
-        }
91
-        return new ReviewsHtml($renderedReviews, $this->reviews->max_num_pages, $this->args);
92
-    }
82
+	/**
83
+	 * @return ReviewsHtml
84
+	 */
85
+	public function buildReviews()
86
+	{
87
+		$renderedReviews = [];
88
+		foreach ($this->reviews as $index => $review) {
89
+			$renderedReviews[] = $this->buildReview($review);
90
+		}
91
+		return new ReviewsHtml($renderedReviews, $this->reviews->max_num_pages, $this->args);
92
+	}
93 93
 
94
-    /**
95
-     * @return void
96
-     */
97
-    public function generateSchema()
98
-    {
99
-        if (!wp_validate_boolean($this->args['schema'])) {
100
-            return;
101
-        }
102
-        glsr(Schema::class)->store(
103
-            glsr(Schema::class)->build($this->args)
104
-        );
105
-    }
94
+	/**
95
+	 * @return void
96
+	 */
97
+	public function generateSchema()
98
+	{
99
+		if (!wp_validate_boolean($this->args['schema'])) {
100
+			return;
101
+		}
102
+		glsr(Schema::class)->store(
103
+			glsr(Schema::class)->build($this->args)
104
+		);
105
+	}
106 106
 
107
-    /**
108
-     * @param string $key
109
-     * @param string $path
110
-     * @return bool
111
-     */
112
-    public function isHidden($key, $path = '')
113
-    {
114
-        $isOptionEnabled = !empty($path)
115
-            ? $this->isOptionEnabled($path)
116
-            : true;
117
-        return in_array($key, $this->args['hide']) || !$isOptionEnabled;
118
-    }
107
+	/**
108
+	 * @param string $key
109
+	 * @param string $path
110
+	 * @return bool
111
+	 */
112
+	public function isHidden($key, $path = '')
113
+	{
114
+		$isOptionEnabled = !empty($path)
115
+			? $this->isOptionEnabled($path)
116
+			: true;
117
+		return in_array($key, $this->args['hide']) || !$isOptionEnabled;
118
+	}
119 119
 
120
-    /**
121
-     * @param string $key
122
-     * @param string $value
123
-     * @return void|string
124
-     */
125
-    protected function buildOptionAssignedTo($key, $value)
126
-    {
127
-        if ($this->isHidden($key, 'settings.reviews.assigned_links')) {
128
-            return;
129
-        }
130
-        $post = glsr(Polylang::class)->getPost($value);
131
-        if (!($post instanceof WP_Post)) {
132
-            return;
133
-        }
134
-        $permalink = glsr(Builder::class)->a(get_the_title($post->ID), [
135
-            'href' => get_the_permalink($post->ID),
136
-        ]);
137
-        $assignedTo = sprintf(__('Review of %s', 'site-reviews'), $permalink);
138
-        return '<span>'.$assignedTo.'</span>';
139
-    }
120
+	/**
121
+	 * @param string $key
122
+	 * @param string $value
123
+	 * @return void|string
124
+	 */
125
+	protected function buildOptionAssignedTo($key, $value)
126
+	{
127
+		if ($this->isHidden($key, 'settings.reviews.assigned_links')) {
128
+			return;
129
+		}
130
+		$post = glsr(Polylang::class)->getPost($value);
131
+		if (!($post instanceof WP_Post)) {
132
+			return;
133
+		}
134
+		$permalink = glsr(Builder::class)->a(get_the_title($post->ID), [
135
+			'href' => get_the_permalink($post->ID),
136
+		]);
137
+		$assignedTo = sprintf(__('Review of %s', 'site-reviews'), $permalink);
138
+		return '<span>'.$assignedTo.'</span>';
139
+	}
140 140
 
141
-    /**
142
-     * @param string $key
143
-     * @param string $value
144
-     * @return void|string
145
-     */
146
-    protected function buildOptionAuthor($key, $value)
147
-    {
148
-        if (!$this->isHidden($key)) {
149
-            $name = glsr(Helper::class)->convertName(
150
-                $value,
151
-                glsr_get_option('reviews.name.format'),
152
-                glsr_get_option('reviews.name.initial')
153
-            );
154
-            return '<span>'.$name.'</span>';
155
-        }
156
-    }
141
+	/**
142
+	 * @param string $key
143
+	 * @param string $value
144
+	 * @return void|string
145
+	 */
146
+	protected function buildOptionAuthor($key, $value)
147
+	{
148
+		if (!$this->isHidden($key)) {
149
+			$name = glsr(Helper::class)->convertName(
150
+				$value,
151
+				glsr_get_option('reviews.name.format'),
152
+				glsr_get_option('reviews.name.initial')
153
+			);
154
+			return '<span>'.$name.'</span>';
155
+		}
156
+	}
157 157
 
158
-    /**
159
-     * @param string $key
160
-     * @param string $value
161
-     * @return void|string
162
-     */
163
-    protected function buildOptionAvatar($key, $value)
164
-    {
165
-        if ($this->isHidden($key, 'settings.reviews.avatars')) {
166
-            return;
167
-        }
168
-        $size = $this->getOption('settings.reviews.avatars_size', 40);
169
-        return glsr(Builder::class)->img([
170
-            'height' => $size,
171
-            'src' => $this->generateAvatar($value),
172
-            'style' => sprintf('width:%1$spx; height:%1$spx;', $size),
173
-            'width' => $size,
174
-        ]);
175
-    }
158
+	/**
159
+	 * @param string $key
160
+	 * @param string $value
161
+	 * @return void|string
162
+	 */
163
+	protected function buildOptionAvatar($key, $value)
164
+	{
165
+		if ($this->isHidden($key, 'settings.reviews.avatars')) {
166
+			return;
167
+		}
168
+		$size = $this->getOption('settings.reviews.avatars_size', 40);
169
+		return glsr(Builder::class)->img([
170
+			'height' => $size,
171
+			'src' => $this->generateAvatar($value),
172
+			'style' => sprintf('width:%1$spx; height:%1$spx;', $size),
173
+			'width' => $size,
174
+		]);
175
+	}
176 176
 
177
-    /**
178
-     * @param string $key
179
-     * @param string $value
180
-     * @return void|string
181
-     */
182
-    protected function buildOptionContent($key, $value)
183
-    {
184
-        $text = $this->normalizeText($value);
185
-        if (!$this->isHiddenOrEmpty($key, $text)) {
186
-            return '<p>'.$text.'</p>';
187
-        }
188
-    }
177
+	/**
178
+	 * @param string $key
179
+	 * @param string $value
180
+	 * @return void|string
181
+	 */
182
+	protected function buildOptionContent($key, $value)
183
+	{
184
+		$text = $this->normalizeText($value);
185
+		if (!$this->isHiddenOrEmpty($key, $text)) {
186
+			return '<p>'.$text.'</p>';
187
+		}
188
+	}
189 189
 
190
-    /**
191
-     * @param string $key
192
-     * @param string $value
193
-     * @return void|string
194
-     */
195
-    protected function buildOptionDate($key, $value)
196
-    {
197
-        if ($this->isHidden($key)) {
198
-            return;
199
-        }
200
-        $dateFormat = $this->getOption('settings.reviews.date.format', 'default');
201
-        if ('relative' == $dateFormat) {
202
-            $date = glsr(Date::class)->relative($value);
203
-        } else {
204
-            $format = 'custom' == $dateFormat
205
-                ? $this->getOption('settings.reviews.date.custom', 'M j, Y')
206
-                : glsr(OptionManager::class)->getWP('date_format', 'F j, Y');
207
-            $date = date_i18n($format, strtotime($value));
208
-        }
209
-        return '<span>'.$date.'</span>';
210
-    }
190
+	/**
191
+	 * @param string $key
192
+	 * @param string $value
193
+	 * @return void|string
194
+	 */
195
+	protected function buildOptionDate($key, $value)
196
+	{
197
+		if ($this->isHidden($key)) {
198
+			return;
199
+		}
200
+		$dateFormat = $this->getOption('settings.reviews.date.format', 'default');
201
+		if ('relative' == $dateFormat) {
202
+			$date = glsr(Date::class)->relative($value);
203
+		} else {
204
+			$format = 'custom' == $dateFormat
205
+				? $this->getOption('settings.reviews.date.custom', 'M j, Y')
206
+				: glsr(OptionManager::class)->getWP('date_format', 'F j, Y');
207
+			$date = date_i18n($format, strtotime($value));
208
+		}
209
+		return '<span>'.$date.'</span>';
210
+	}
211 211
 
212
-    /**
213
-     * @param string $key
214
-     * @param string $value
215
-     * @return void|string
216
-     */
217
-    protected function buildOptionRating($key, $value)
218
-    {
219
-        if (!$this->isHiddenOrEmpty($key, $value)) {
220
-            return glsr_star_rating($value);
221
-        }
222
-    }
212
+	/**
213
+	 * @param string $key
214
+	 * @param string $value
215
+	 * @return void|string
216
+	 */
217
+	protected function buildOptionRating($key, $value)
218
+	{
219
+		if (!$this->isHiddenOrEmpty($key, $value)) {
220
+			return glsr_star_rating($value);
221
+		}
222
+	}
223 223
 
224
-    /**
225
-     * @param string $key
226
-     * @param string $value
227
-     * @return void|string
228
-     */
229
-    protected function buildOptionResponse($key, $value)
230
-    {
231
-        if ($this->isHiddenOrEmpty($key, $value)) {
232
-            return;
233
-        }
234
-        $title = sprintf(__('Response from %s', 'site-reviews'), get_bloginfo('name'));
235
-        $text = $this->normalizeText($value);
236
-        $text = '<p><strong>'.$title.'</strong></p><p>'.$text.'</p>';
237
-        $response = glsr(Builder::class)->div($text, ['class' => 'glsr-review-response-inner']);
238
-        $background = glsr(Builder::class)->div(['class' => 'glsr-review-response-background']);
239
-        return $response.$background;
240
-    }
224
+	/**
225
+	 * @param string $key
226
+	 * @param string $value
227
+	 * @return void|string
228
+	 */
229
+	protected function buildOptionResponse($key, $value)
230
+	{
231
+		if ($this->isHiddenOrEmpty($key, $value)) {
232
+			return;
233
+		}
234
+		$title = sprintf(__('Response from %s', 'site-reviews'), get_bloginfo('name'));
235
+		$text = $this->normalizeText($value);
236
+		$text = '<p><strong>'.$title.'</strong></p><p>'.$text.'</p>';
237
+		$response = glsr(Builder::class)->div($text, ['class' => 'glsr-review-response-inner']);
238
+		$background = glsr(Builder::class)->div(['class' => 'glsr-review-response-background']);
239
+		return $response.$background;
240
+	}
241 241
 
242
-    /**
243
-     * @param string $key
244
-     * @param string $value
245
-     * @return void|string
246
-     */
247
-    protected function buildOptionTitle($key, $value)
248
-    {
249
-        if ($this->isHidden($key)) {
250
-            return;
251
-        }
252
-        if (empty($value)) {
253
-            $value = __('No Title', 'site-reviews');
254
-        }
255
-        return '<h3>'.$value.'</h3>';
256
-    }
242
+	/**
243
+	 * @param string $key
244
+	 * @param string $value
245
+	 * @return void|string
246
+	 */
247
+	protected function buildOptionTitle($key, $value)
248
+	{
249
+		if ($this->isHidden($key)) {
250
+			return;
251
+		}
252
+		if (empty($value)) {
253
+			$value = __('No Title', 'site-reviews');
254
+		}
255
+		return '<h3>'.$value.'</h3>';
256
+	}
257 257
 
258
-    /**
259
-     * @param string $avatarUrl
260
-     * @return string
261
-     */
262
-    protected function generateAvatar($avatarUrl)
263
-    {
264
-        if (!$this->isOptionEnabled('settings.reviews.avatars_regenerate') || 'local' != $this->current->review_type) {
265
-            return $avatarUrl;
266
-        }
267
-        $authorIdOrEmail = get_the_author_meta('ID', $this->current->user_id);
268
-        if (empty($authorIdOrEmail)) {
269
-            $authorIdOrEmail = $this->current->email;
270
-        }
271
-        if ($newAvatar = get_avatar_url($authorIdOrEmail)) {
272
-            return $newAvatar;
273
-        }
274
-        return $avatarUrl;
275
-    }
258
+	/**
259
+	 * @param string $avatarUrl
260
+	 * @return string
261
+	 */
262
+	protected function generateAvatar($avatarUrl)
263
+	{
264
+		if (!$this->isOptionEnabled('settings.reviews.avatars_regenerate') || 'local' != $this->current->review_type) {
265
+			return $avatarUrl;
266
+		}
267
+		$authorIdOrEmail = get_the_author_meta('ID', $this->current->user_id);
268
+		if (empty($authorIdOrEmail)) {
269
+			$authorIdOrEmail = $this->current->email;
270
+		}
271
+		if ($newAvatar = get_avatar_url($authorIdOrEmail)) {
272
+			return $newAvatar;
273
+		}
274
+		return $avatarUrl;
275
+	}
276 276
 
277
-    /**
278
-     * @param string $text
279
-     * @return string
280
-     */
281
-    protected function getExcerpt($text)
282
-    {
283
-        $limit = intval($this->getOption('settings.reviews.excerpts_length', 55));
284
-        $split = extension_loaded('intl')
285
-            ? $this->getExcerptIntlSplit($text, $limit)
286
-            : $this->getExcerptSplit($text, $limit);
287
-        $hiddenText = substr($text, $split);
288
-        if (!empty($hiddenText)) {
289
-            $showMore = glsr(Builder::class)->span($hiddenText, [
290
-                'class' => 'glsr-hidden glsr-hidden-text',
291
-                'data-show-less' => __('Show less', 'site-reviews'),
292
-                'data-show-more' => __('Show more', 'site-reviews'),
293
-            ]);
294
-            $text = ltrim(substr($text, 0, $split)).$showMore;
295
-        }
296
-        return $text;
297
-    }
277
+	/**
278
+	 * @param string $text
279
+	 * @return string
280
+	 */
281
+	protected function getExcerpt($text)
282
+	{
283
+		$limit = intval($this->getOption('settings.reviews.excerpts_length', 55));
284
+		$split = extension_loaded('intl')
285
+			? $this->getExcerptIntlSplit($text, $limit)
286
+			: $this->getExcerptSplit($text, $limit);
287
+		$hiddenText = substr($text, $split);
288
+		if (!empty($hiddenText)) {
289
+			$showMore = glsr(Builder::class)->span($hiddenText, [
290
+				'class' => 'glsr-hidden glsr-hidden-text',
291
+				'data-show-less' => __('Show less', 'site-reviews'),
292
+				'data-show-more' => __('Show more', 'site-reviews'),
293
+			]);
294
+			$text = ltrim(substr($text, 0, $split)).$showMore;
295
+		}
296
+		return $text;
297
+	}
298 298
 
299
-    /**
300
-     * @param string $text
301
-     * @param int $limit
302
-     * @return int
303
-     */
304
-    protected function getExcerptIntlSplit($text, $limit)
305
-    {
306
-        $words = IntlRuleBasedBreakIterator::createWordInstance('');
307
-        $words->setText($text);
308
-        $count = 0;
309
-        foreach ($words as $offset) {
310
-            if (IntlRuleBasedBreakIterator::WORD_NONE === $words->getRuleStatus()) {
311
-                continue;
312
-            }
313
-            ++$count;
314
-            if ($count != $limit) {
315
-                continue;
316
-            }
317
-            return $offset;
318
-        }
319
-        return strlen($text);
320
-    }
299
+	/**
300
+	 * @param string $text
301
+	 * @param int $limit
302
+	 * @return int
303
+	 */
304
+	protected function getExcerptIntlSplit($text, $limit)
305
+	{
306
+		$words = IntlRuleBasedBreakIterator::createWordInstance('');
307
+		$words->setText($text);
308
+		$count = 0;
309
+		foreach ($words as $offset) {
310
+			if (IntlRuleBasedBreakIterator::WORD_NONE === $words->getRuleStatus()) {
311
+				continue;
312
+			}
313
+			++$count;
314
+			if ($count != $limit) {
315
+				continue;
316
+			}
317
+			return $offset;
318
+		}
319
+		return strlen($text);
320
+	}
321 321
 
322
-    /**
323
-     * @param string $text
324
-     * @param int $limit
325
-     * @return int
326
-     */
327
-    protected function getExcerptSplit($text, $limit)
328
-    {
329
-        if (str_word_count($text, 0) > $limit) {
330
-            $words = array_keys(str_word_count($text, 2));
331
-            return $words[$limit];
332
-        }
333
-        return strlen($text);
334
-    }
322
+	/**
323
+	 * @param string $text
324
+	 * @param int $limit
325
+	 * @return int
326
+	 */
327
+	protected function getExcerptSplit($text, $limit)
328
+	{
329
+		if (str_word_count($text, 0) > $limit) {
330
+			$words = array_keys(str_word_count($text, 2));
331
+			return $words[$limit];
332
+		}
333
+		return strlen($text);
334
+	}
335 335
 
336
-    /**
337
-     * @param string $path
338
-     * @param mixed $fallback
339
-     * @return mixed
340
-     */
341
-    protected function getOption($path, $fallback = '')
342
-    {
343
-        if (array_key_exists($path, $this->options)) {
344
-            return $this->options[$path];
345
-        }
346
-        return $fallback;
347
-    }
336
+	/**
337
+	 * @param string $path
338
+	 * @param mixed $fallback
339
+	 * @return mixed
340
+	 */
341
+	protected function getOption($path, $fallback = '')
342
+	{
343
+		if (array_key_exists($path, $this->options)) {
344
+			return $this->options[$path];
345
+		}
346
+		return $fallback;
347
+	}
348 348
 
349
-    /**
350
-     * @param string $key
351
-     * @param string $value
352
-     * @return bool
353
-     */
354
-    protected function isHiddenOrEmpty($key, $value)
355
-    {
356
-        return $this->isHidden($key) || empty($value);
357
-    }
349
+	/**
350
+	 * @param string $key
351
+	 * @param string $value
352
+	 * @return bool
353
+	 */
354
+	protected function isHiddenOrEmpty($key, $value)
355
+	{
356
+		return $this->isHidden($key) || empty($value);
357
+	}
358 358
 
359
-    /**
360
-     * @param string $path
361
-     * @return bool
362
-     */
363
-    protected function isOptionEnabled($path)
364
-    {
365
-        return 'yes' == $this->getOption($path);
366
-    }
359
+	/**
360
+	 * @param string $path
361
+	 * @return bool
362
+	 */
363
+	protected function isOptionEnabled($path)
364
+	{
365
+		return 'yes' == $this->getOption($path);
366
+	}
367 367
 
368
-    /**
369
-     * @param string $text
370
-     * @return string
371
-     */
372
-    protected function normalizeText($text)
373
-    {
374
-        $text = wp_kses($text, wp_kses_allowed_html());
375
-        $text = convert_smilies(strip_shortcodes($text));
376
-        $text = str_replace(']]>', ']]&gt;', $text);
377
-        $text = preg_replace('/(\R){2,}/', '$1', $text);
378
-        if ($this->isOptionEnabled('settings.reviews.excerpts')) {
379
-            $text = $this->getExcerpt($text);
380
-        }
381
-        return wptexturize(nl2br($text));
382
-    }
368
+	/**
369
+	 * @param string $text
370
+	 * @return string
371
+	 */
372
+	protected function normalizeText($text)
373
+	{
374
+		$text = wp_kses($text, wp_kses_allowed_html());
375
+		$text = convert_smilies(strip_shortcodes($text));
376
+		$text = str_replace(']]>', ']]&gt;', $text);
377
+		$text = preg_replace('/(\R){2,}/', '$1', $text);
378
+		if ($this->isOptionEnabled('settings.reviews.excerpts')) {
379
+			$text = $this->getExcerpt($text);
380
+		}
381
+		return wptexturize(nl2br($text));
382
+	}
383 383
 
384
-    /**
385
-     * @return void
386
-     */
387
-    protected function wrap(array &$renderedFields, Review $review)
388
-    {
389
-        $renderedFields = apply_filters('site-reviews/review/wrap', $renderedFields, $review, $this);
390
-        array_walk($renderedFields, function (&$value, $key) use ($review) {
391
-            $value = apply_filters('site-reviews/review/wrap/'.$key, $value, $review);
392
-            if (empty($value)) {
393
-                return;
394
-            }
395
-            $value = glsr(Builder::class)->div($value, [
396
-                'class' => 'glsr-review-'.$key,
397
-            ]);
398
-        });
399
-    }
384
+	/**
385
+	 * @return void
386
+	 */
387
+	protected function wrap(array &$renderedFields, Review $review)
388
+	{
389
+		$renderedFields = apply_filters('site-reviews/review/wrap', $renderedFields, $review, $this);
390
+		array_walk($renderedFields, function (&$value, $key) use ($review) {
391
+			$value = apply_filters('site-reviews/review/wrap/'.$key, $value, $review);
392
+			if (empty($value)) {
393
+				return;
394
+			}
395
+			$value = glsr(Builder::class)->div($value, [
396
+				'class' => 'glsr-review-'.$key,
397
+			]);
398
+		});
399
+	}
400 400
 }
Please login to merge, or discard this patch.