@@ -49,9 +49,9 @@ discard block |
||
49 | 49 | { |
50 | 50 | $average = array_sum( $ratingCounts ); |
51 | 51 | if( $average > 0 ) { |
52 | - $average = round( $this->getTotalSum( $ratingCounts ) / $average, intval( $roundBy )); |
|
52 | + $average = round( $this->getTotalSum( $ratingCounts ) / $average, intval( $roundBy ) ); |
|
53 | 53 | } |
54 | - return floatval( apply_filters( 'site-reviews/rating/average', $average, $ratingCounts )); |
|
54 | + return floatval( apply_filters( 'site-reviews/rating/average', $average, $ratingCounts ) ); |
|
55 | 55 | } |
56 | 56 | |
57 | 57 | /** |
@@ -72,7 +72,7 @@ discard block |
||
72 | 72 | } |
73 | 73 | $z = static::CONFIDENCE_LEVEL_Z_SCORES[$confidencePercentage]; |
74 | 74 | $phat = 1 * $upDownCounts[1] / $numRatings; |
75 | - return ( $phat + $z * $z / ( 2 * $numRatings ) - $z * sqrt(( $phat * ( 1 - $phat ) + $z * $z / ( 4 * $numRatings )) / $numRatings )) / ( 1 + $z * $z / $numRatings ); |
|
75 | + return ($phat + $z * $z / (2 * $numRatings) - $z * sqrt( ($phat * (1 - $phat) + $z * $z / (4 * $numRatings)) / $numRatings )) / (1 + $z * $z / $numRatings); |
|
76 | 76 | } |
77 | 77 | |
78 | 78 | /** |
@@ -90,7 +90,7 @@ discard block |
||
90 | 90 | { |
91 | 91 | $total = array_sum( $ratingCounts ); |
92 | 92 | foreach( $ratingCounts as $index => $count ) { |
93 | - if( empty( $count ))continue; |
|
93 | + if( empty($count) )continue; |
|
94 | 94 | $ratingCounts[$index] = $count / $total * 100; |
95 | 95 | } |
96 | 96 | return $this->getRoundedPercentages( $ratingCounts ); |
@@ -105,7 +105,7 @@ discard block |
||
105 | 105 | $this->getRankingUsingImdb( $ratingCounts ), |
106 | 106 | $ratingCounts, |
107 | 107 | $this |
108 | - )); |
|
108 | + ) ); |
|
109 | 109 | } |
110 | 110 | |
111 | 111 | /** |
@@ -123,12 +123,12 @@ discard block |
||
123 | 123 | $avgRating = $this->getAverage( $ratingCounts ); |
124 | 124 | // Represents a prior (your prior opinion without data) for the average star rating. A higher prior also means a higher margin for error. |
125 | 125 | // This could also be the average score of all items instead of a fixed value. |
126 | - $bayesMean = ( $confidencePercentage / 100 ) * static::MAX_RATING; // prior, 70% = 3.5 |
|
126 | + $bayesMean = ($confidencePercentage / 100) * static::MAX_RATING; // prior, 70% = 3.5 |
|
127 | 127 | // Represents the number of ratings expected to begin observing a pattern that would put confidence in the prior. |
128 | 128 | $bayesMinimal = 10; // confidence |
129 | 129 | $numOfReviews = array_sum( $ratingCounts ); |
130 | 130 | return $avgRating > 0 |
131 | - ? (( $bayesMinimal * $bayesMean ) + ( $avgRating * $numOfReviews )) / ( $bayesMinimal + $numOfReviews ) |
|
131 | + ? (($bayesMinimal * $bayesMean) + ($avgRating * $numOfReviews)) / ($bayesMinimal + $numOfReviews) |
|
132 | 132 | : 0; |
133 | 133 | } |
134 | 134 | |
@@ -148,7 +148,7 @@ discard block |
||
148 | 148 | $weight = $this->getWeight( $ratingCounts, $ratingCountsSum ); |
149 | 149 | $weightPow2 = $this->getWeight( $ratingCounts, $ratingCountsSum, true ); |
150 | 150 | $zScore = static::CONFIDENCE_LEVEL_Z_SCORES[$confidencePercentage]; |
151 | - return $weight - $zScore * sqrt(( $weightPow2 - pow( $weight, 2 )) / ( $ratingCountsSum + 1 )); |
|
151 | + return $weight - $zScore * sqrt( ($weightPow2 - pow( $weight, 2 )) / ($ratingCountsSum + 1) ); |
|
152 | 152 | } |
153 | 153 | |
154 | 154 | /** |
@@ -168,14 +168,14 @@ discard block |
||
168 | 168 | $remainders = glsr_array_column( $percentages, 'remainder' ); |
169 | 169 | array_multisort( $remainders, SORT_DESC, SORT_STRING, $indexes, SORT_DESC, $percentages ); |
170 | 170 | $i = 0; |
171 | - if( array_sum( glsr_array_column( $percentages, 'percent' )) > 0 ) { |
|
172 | - while( array_sum( glsr_array_column( $percentages, 'percent' )) < $totalPercent ) { |
|
171 | + if( array_sum( glsr_array_column( $percentages, 'percent' ) ) > 0 ) { |
|
172 | + while( array_sum( glsr_array_column( $percentages, 'percent' ) ) < $totalPercent ) { |
|
173 | 173 | $percentages[$i]['percent']++; |
174 | 174 | $i++; |
175 | 175 | } |
176 | 176 | } |
177 | 177 | array_multisort( $indexes, SORT_DESC, $percentages ); |
178 | - return array_combine( $indexes, glsr_array_column( $percentages, 'percent' )); |
|
178 | + return array_combine( $indexes, glsr_array_column( $percentages, 'percent' ) ); |
|
179 | 179 | } |
180 | 180 | |
181 | 181 | /** |
@@ -183,8 +183,8 @@ discard block |
||
183 | 183 | */ |
184 | 184 | protected function getTotalSum( array $ratingCounts ) |
185 | 185 | { |
186 | - return array_reduce( array_keys( $ratingCounts ), function( $carry, $index ) use( $ratingCounts ) { |
|
187 | - return $carry + ( $index * $ratingCounts[$index] ); |
|
186 | + return array_reduce( array_keys( $ratingCounts ), function( $carry, $index ) use($ratingCounts) { |
|
187 | + return $carry + ($index * $ratingCounts[$index]); |
|
188 | 188 | }); |
189 | 189 | } |
190 | 190 | |
@@ -196,11 +196,11 @@ discard block |
||
196 | 196 | protected function getWeight( array $ratingCounts, $ratingCountsSum, $powerOf2 = false ) |
197 | 197 | { |
198 | 198 | return array_reduce( array_keys( $ratingCounts ), |
199 | - function( $count, $rating ) use( $ratingCounts, $ratingCountsSum, $powerOf2 ) { |
|
199 | + function( $count, $rating ) use($ratingCounts, $ratingCountsSum, $powerOf2) { |
|
200 | 200 | $ratingLevel = $powerOf2 |
201 | 201 | ? pow( $rating, 2 ) |
202 | 202 | : $rating; |
203 | - return $count + ( $ratingLevel * ( $ratingCounts[$rating] + 1 )) / $ratingCountsSum; |
|
203 | + return $count + ($ratingLevel * ($ratingCounts[$rating] + 1)) / $ratingCountsSum; |
|
204 | 204 | } |
205 | 205 | ); |
206 | 206 | } |
@@ -26,15 +26,15 @@ discard block |
||
26 | 26 | { |
27 | 27 | sort( $termTaxonomyIds ); |
28 | 28 | sort( $oldTermTaxonomyIds ); |
29 | - if( $termTaxonomyIds === $oldTermTaxonomyIds || !$this->isReviewPostId( $postId ))return; |
|
30 | - $review = glsr( ReviewManager::class )->single( get_post( $postId )); |
|
29 | + if( $termTaxonomyIds === $oldTermTaxonomyIds || !$this->isReviewPostId( $postId ) )return; |
|
30 | + $review = glsr( ReviewManager::class )->single( get_post( $postId ) ); |
|
31 | 31 | $ignoredIds = array_intersect( $oldTermTaxonomyIds, $termTaxonomyIds ); |
32 | 32 | $decreasedIds = array_diff( $oldTermTaxonomyIds, $ignoredIds ); |
33 | 33 | $increasedIds = array_diff( $termTaxonomyIds, $ignoredIds ); |
34 | - if( $review->term_ids = glsr( Database::class )->getTermIds( $decreasedIds, 'term_taxonomy_id' )) { |
|
34 | + if( $review->term_ids = glsr( Database::class )->getTermIds( $decreasedIds, 'term_taxonomy_id' ) ) { |
|
35 | 35 | glsr( CountsManager::class )->decreaseTermCounts( $review ); |
36 | 36 | } |
37 | - if( $review->term_ids = glsr( Database::class )->getTermIds( $increasedIds, 'term_taxonomy_id' )) { |
|
37 | + if( $review->term_ids = glsr( Database::class )->getTermIds( $increasedIds, 'term_taxonomy_id' ) ) { |
|
38 | 38 | glsr( CountsManager::class )->increaseTermCounts( $review ); |
39 | 39 | } |
40 | 40 | } |
@@ -47,8 +47,8 @@ discard block |
||
47 | 47 | */ |
48 | 48 | public function onAfterChangeStatus( $newStatus, $oldStatus, WP_Post $post ) |
49 | 49 | { |
50 | - if( $post->post_type != Application::POST_TYPE || in_array( $oldStatus, ['new', $newStatus] ))return; |
|
51 | - $review = glsr( ReviewManager::class )->single( get_post( $post->ID )); |
|
50 | + if( $post->post_type != Application::POST_TYPE || in_array( $oldStatus, ['new', $newStatus] ) )return; |
|
51 | + $review = glsr( ReviewManager::class )->single( get_post( $post->ID ) ); |
|
52 | 52 | if( $post->post_status == 'publish' ) { |
53 | 53 | glsr( CountsManager::class )->increase( $review ); |
54 | 54 | } |
@@ -74,8 +74,8 @@ discard block |
||
74 | 74 | */ |
75 | 75 | public function onBeforeDelete( $postId ) |
76 | 76 | { |
77 | - if( !$this->isReviewPostId( $postId ))return; |
|
78 | - $review = glsr( ReviewManager::class )->single( get_post( $postId )); |
|
77 | + if( !$this->isReviewPostId( $postId ) )return; |
|
78 | + $review = glsr( ReviewManager::class )->single( get_post( $postId ) ); |
|
79 | 79 | glsr( CountsManager::class )->decrease( $review ); |
80 | 80 | } |
81 | 81 | |
@@ -92,7 +92,7 @@ discard block |
||
92 | 92 | if( !$this->isReviewPostId( $postId ) |
93 | 93 | || !in_array( $metaKey, ['assigned_to', 'rating', 'review_type'] ) |
94 | 94 | )return; |
95 | - $review = glsr( ReviewManager::class )->single( get_post( $postId )); |
|
95 | + $review = glsr( ReviewManager::class )->single( get_post( $postId ) ); |
|
96 | 96 | if( $review->$metaKey == $metaValue )return; |
97 | 97 | $method = glsr( Helper::class )->buildMethodName( $metaKey, 'onBeforeChange' ); |
98 | 98 | call_user_func( [$this, $method], $review, $metaValue ); |
@@ -15,12 +15,12 @@ discard block |
||
15 | 15 | return [[ |
16 | 16 | 'type' => 'container', |
17 | 17 | 'html' => '<p class="strong">'.esc_html__( 'All settings are optional.', 'site-reviews' ).'</p>', |
18 | - ],[ |
|
18 | + ], [ |
|
19 | 19 | 'label' => esc_html__( 'Title', 'site-reviews' ), |
20 | 20 | 'name' => 'title', |
21 | 21 | 'tooltip' => __( 'Enter a custom shortcode heading.', 'site-reviews' ), |
22 | 22 | 'type' => 'textbox', |
23 | - ],[ |
|
23 | + ], [ |
|
24 | 24 | 'label' => esc_html__( 'Description', 'site-reviews' ), |
25 | 25 | 'minHeight' => 60, |
26 | 26 | 'minWidth' => 240, |
@@ -29,25 +29,25 @@ discard block |
||
29 | 29 | 'tooltip' => __( 'Enter a custom shortcode description.', 'site-reviews' ), |
30 | 30 | 'type' => 'textbox', |
31 | 31 | ], |
32 | - $this->getCategories( __( 'Automatically assign a category to reviews submitted with this shortcode.', 'site-reviews' )), |
|
32 | + $this->getCategories( __( 'Automatically assign a category to reviews submitted with this shortcode.', 'site-reviews' ) ), |
|
33 | 33 | [ |
34 | 34 | 'label' => esc_html__( 'Assign To', 'site-reviews' ), |
35 | 35 | 'name' => 'assign_to', |
36 | 36 | 'tooltip' => __( 'Assign submitted reviews to a custom page/post ID. You can also enter "post_id" to assign reviews to the ID of the current page.', 'site-reviews' ), |
37 | 37 | 'type' => 'textbox', |
38 | - ],[ |
|
38 | + ], [ |
|
39 | 39 | 'label' => esc_html__( 'Classes', 'site-reviews' ), |
40 | 40 | 'name' => 'class', |
41 | 41 | 'tooltip' => __( 'Add custom CSS classes to the shortcode.', 'site-reviews' ), |
42 | 42 | 'type' => 'textbox', |
43 | - ],[ |
|
43 | + ], [ |
|
44 | 44 | 'columns' => 2, |
45 | 45 | 'items' => $this->getHideOptions(), |
46 | 46 | 'label' => esc_html__( 'Hide', 'site-reviews' ), |
47 | 47 | 'layout' => 'grid', |
48 | 48 | 'spacing' => 5, |
49 | 49 | 'type' => 'container', |
50 | - ],[ |
|
50 | + ], [ |
|
51 | 51 | 'hidden' => true, |
52 | 52 | 'name' => 'id', |
53 | 53 | 'type' => 'textbox', |
@@ -20,14 +20,14 @@ discard block |
||
20 | 20 | 'class' => 'widefat', |
21 | 21 | 'label' => __( 'Title', 'site-reviews' ), |
22 | 22 | 'name' => 'title', |
23 | - ]); |
|
23 | + ] ); |
|
24 | 24 | $this->renderField( 'number', [ |
25 | 25 | 'class' => 'small-text', |
26 | 26 | 'default' => 5, |
27 | 27 | 'label' => __( 'How many reviews would you like to display?', 'site-reviews' ), |
28 | 28 | 'max' => 100, |
29 | 29 | 'name' => 'count', |
30 | - ]); |
|
30 | + ] ); |
|
31 | 31 | $this->renderField( 'select', [ |
32 | 32 | 'label' => __( 'What is the minimum rating to display?', 'site-reviews' ), |
33 | 33 | 'name' => 'rating', |
@@ -38,22 +38,22 @@ discard block |
||
38 | 38 | '2' => sprintf( _n( '%s star', '%s stars', 2, 'site-reviews' ), 2 ), |
39 | 39 | '1' => sprintf( _n( '%s star', '%s stars', 1, 'site-reviews' ), 1 ), |
40 | 40 | ], |
41 | - ]); |
|
41 | + ] ); |
|
42 | 42 | if( count( glsr()->reviewTypes ) > 1 ) { |
43 | 43 | $this->renderField( 'select', [ |
44 | 44 | 'class' => 'widefat', |
45 | 45 | 'label' => __( 'Which type of review would you like to display?', 'site-reviews' ), |
46 | 46 | 'name' => 'type', |
47 | 47 | 'options' => ['' => __( 'All Reviews', 'site-reviews' )] + glsr()->reviewTypes, |
48 | - ]); |
|
48 | + ] ); |
|
49 | 49 | } |
50 | - if( !empty( $terms )) { |
|
50 | + if( !empty($terms) ) { |
|
51 | 51 | $this->renderField( 'select', [ |
52 | 52 | 'class' => 'widefat', |
53 | 53 | 'label' => __( 'Limit reviews to this category', 'site-reviews' ), |
54 | 54 | 'name' => 'category', |
55 | 55 | 'options' => ['' => __( 'All Categories', 'site-reviews' )] + $terms, |
56 | - ]); |
|
56 | + ] ); |
|
57 | 57 | } |
58 | 58 | $this->renderField( 'text', [ |
59 | 59 | 'class' => 'widefat', |
@@ -61,16 +61,16 @@ discard block |
||
61 | 61 | 'description' => sprintf( __( "Separate multiple ID's with a comma. You may also enter %s to automatically represent the current page/post ID.", 'site-reviews' ), '<code>post_id</code>' ), |
62 | 62 | 'label' => __( 'Limit reviews to those assigned to this page/post ID', 'site-reviews' ), |
63 | 63 | 'name' => 'assigned_to', |
64 | - ]); |
|
64 | + ] ); |
|
65 | 65 | $this->renderField( 'text', [ |
66 | 66 | 'class' => 'widefat', |
67 | 67 | 'label' => __( 'Enter any custom CSS classes here', 'site-reviews' ), |
68 | 68 | 'name' => 'class', |
69 | - ]); |
|
69 | + ] ); |
|
70 | 70 | $this->renderField( 'checkbox', [ |
71 | 71 | 'name' => 'hide', |
72 | 72 | 'options' => glsr( SiteReviewsShortcode::class )->getHideOptions(), |
73 | - ]); |
|
73 | + ] ); |
|
74 | 74 | } |
75 | 75 | |
76 | 76 | /** |
@@ -80,10 +80,10 @@ discard block |
||
80 | 80 | */ |
81 | 81 | public function update( $newInstance, $oldInstance ) |
82 | 82 | { |
83 | - if( !is_numeric( $newInstance['count'] )) { |
|
83 | + if( !is_numeric( $newInstance['count'] ) ) { |
|
84 | 84 | $newInstance['count'] = 10; |
85 | 85 | } |
86 | - $newInstance['count'] = min( 50, max( 0, intval( $newInstance['count'] ))); |
|
86 | + $newInstance['count'] = min( 50, max( 0, intval( $newInstance['count'] ) ) ); |
|
87 | 87 | return parent::update( $newInstance, $oldInstance ); |
88 | 88 | } |
89 | 89 |
@@ -20,34 +20,34 @@ |
||
20 | 20 | 'class' => 'widefat', |
21 | 21 | 'label' => __( 'Title', 'site-reviews' ), |
22 | 22 | 'name' => 'title', |
23 | - ]); |
|
23 | + ] ); |
|
24 | 24 | $this->renderField( 'textarea', [ |
25 | 25 | 'class' => 'widefat', |
26 | 26 | 'label' => __( 'Description', 'site-reviews' ), |
27 | 27 | 'name' => 'description', |
28 | - ]); |
|
28 | + ] ); |
|
29 | 29 | $this->renderField( 'select', [ |
30 | 30 | 'class' => 'widefat', |
31 | 31 | 'label' => __( 'Automatically assign a category', 'site-reviews' ), |
32 | 32 | 'name' => 'category', |
33 | 33 | 'options' => ['' => __( 'Do not assign a category', 'site-reviews' )] + $terms, |
34 | - ]); |
|
34 | + ] ); |
|
35 | 35 | $this->renderField( 'text', [ |
36 | 36 | 'class' => 'widefat', |
37 | 37 | 'default' => '', |
38 | 38 | 'description' => sprintf( __( 'You may also enter %s to assign to the current post.', 'site-reviews' ), '<code>post_id</code>' ), |
39 | 39 | 'label' => __( 'Assign reviews to a custom page/post ID', 'site-reviews' ), |
40 | 40 | 'name' => 'assign_to', |
41 | - ]); |
|
41 | + ] ); |
|
42 | 42 | $this->renderField( 'text', [ |
43 | 43 | 'class' => 'widefat', |
44 | 44 | 'label' => __( 'Enter any custom CSS classes here', 'site-reviews' ), |
45 | 45 | 'name' => 'class', |
46 | - ]); |
|
46 | + ] ); |
|
47 | 47 | $this->renderField( 'checkbox', [ |
48 | 48 | 'name' => 'hide', |
49 | 49 | 'options' => glsr( SiteReviewsFormShortcode::class )->getHideOptions(), |
50 | - ]); |
|
50 | + ] ); |
|
51 | 51 | } |
52 | 52 | |
53 | 53 | /** |
@@ -20,22 +20,22 @@ discard block |
||
20 | 20 | 'class' => 'widefat', |
21 | 21 | 'label' => __( 'Title', 'site-reviews' ), |
22 | 22 | 'name' => 'title', |
23 | - ]); |
|
23 | + ] ); |
|
24 | 24 | if( count( glsr()->reviewTypes ) > 1 ) { |
25 | 25 | $this->renderField( 'select', [ |
26 | 26 | 'class' => 'widefat', |
27 | 27 | 'label' => __( 'Which type of review would you like to use?', 'site-reviews' ), |
28 | 28 | 'name' => 'type', |
29 | 29 | 'options' => ['' => __( 'All review types', 'site-reviews' )] + glsr()->reviewTypes, |
30 | - ]); |
|
30 | + ] ); |
|
31 | 31 | } |
32 | - if( !empty( $terms )) { |
|
32 | + if( !empty($terms) ) { |
|
33 | 33 | $this->renderField( 'select', [ |
34 | 34 | 'class' => 'widefat', |
35 | 35 | 'label' => __( 'Limit summary to this category', 'site-reviews' ), |
36 | 36 | 'name' => 'category', |
37 | 37 | 'options' => ['' => __( 'All Categories', 'site-reviews' )] + $terms, |
38 | - ]); |
|
38 | + ] ); |
|
39 | 39 | } |
40 | 40 | $this->renderField( 'text', [ |
41 | 41 | 'class' => 'widefat', |
@@ -43,16 +43,16 @@ discard block |
||
43 | 43 | 'description' => sprintf( __( "Separate multiple ID's with a comma. You may also enter %s to automatically represent the current page/post ID.", 'site-reviews' ), '<code>post_id</code>' ), |
44 | 44 | 'label' => __( 'Limit summary to reviews assigned to a page/post ID', 'site-reviews' ), |
45 | 45 | 'name' => 'assigned_to', |
46 | - ]); |
|
46 | + ] ); |
|
47 | 47 | $this->renderField( 'text', [ |
48 | 48 | 'class' => 'widefat', |
49 | 49 | 'label' => __( 'Enter any custom CSS classes here', 'site-reviews' ), |
50 | 50 | 'name' => 'class', |
51 | - ]); |
|
51 | + ] ); |
|
52 | 52 | $this->renderField( 'checkbox', [ |
53 | 53 | 'name' => 'hide', |
54 | 54 | 'options' => glsr( SiteReviewsSummaryShortcode::class )->getHideOptions(), |
55 | - ]); |
|
55 | + ] ); |
|
56 | 56 | } |
57 | 57 | |
58 | 58 | /** |
@@ -48,7 +48,7 @@ discard block |
||
48 | 48 | 'label' => '['.$tag.']', |
49 | 49 | 'required' => $this->required, |
50 | 50 | 'title' => esc_html__( 'Shortcode', 'site-reviews' ), |
51 | - ]); |
|
51 | + ] ); |
|
52 | 52 | return $this; |
53 | 53 | } |
54 | 54 | |
@@ -58,12 +58,12 @@ discard block |
||
58 | 58 | protected function generateFields( array $fields ) |
59 | 59 | { |
60 | 60 | $generatedFields = array_map( function( $field ) { |
61 | - if( empty( $field ))return; |
|
61 | + if( empty($field) )return; |
|
62 | 62 | $field = $this->normalize( $field ); |
63 | - if( !method_exists( $this, $method = 'normalize'.ucfirst( $field['type'] )))return; |
|
63 | + if( !method_exists( $this, $method = 'normalize'.ucfirst( $field['type'] ) ) )return; |
|
64 | 64 | return $this->$method( $field ); |
65 | 65 | }, $fields ); |
66 | - return array_values( array_filter( $generatedFields )); |
|
66 | + return array_values( array_filter( $generatedFields ) ); |
|
67 | 67 | } |
68 | 68 | |
69 | 69 | /** |
@@ -73,7 +73,7 @@ discard block |
||
73 | 73 | protected function getCategories( $tooltip = '' ) |
74 | 74 | { |
75 | 75 | $terms = glsr( Database::class )->getTerms(); |
76 | - if( empty( $terms )) { |
|
76 | + if( empty($terms) ) { |
|
77 | 77 | return []; |
78 | 78 | } |
79 | 79 | return [ |
@@ -91,15 +91,15 @@ discard block |
||
91 | 91 | protected function getFields() |
92 | 92 | { |
93 | 93 | $fields = $this->generateFields( $this->fields() ); |
94 | - if( !empty( $this->errors )) { |
|
94 | + if( !empty($this->errors) ) { |
|
95 | 95 | $errors = []; |
96 | 96 | foreach( $this->required as $name => $alert ) { |
97 | - if( false !== array_search( $name, glsr_array_column( $fields, 'name' )))continue; |
|
97 | + if( false !== array_search( $name, glsr_array_column( $fields, 'name' ) ) )continue; |
|
98 | 98 | $errors[] = $this->errors[$name]; |
99 | 99 | } |
100 | 100 | $this->errors = $errors; |
101 | 101 | } |
102 | - return empty( $this->errors ) |
|
102 | + return empty($this->errors) |
|
103 | 103 | ? $fields |
104 | 104 | : $this->errors; |
105 | 105 | } |
@@ -109,7 +109,7 @@ discard block |
||
109 | 109 | */ |
110 | 110 | protected function getHideOptions() |
111 | 111 | { |
112 | - $classname = str_replace( 'Popup', 'Shortcode', get_class( $this )); |
|
112 | + $classname = str_replace( 'Popup', 'Shortcode', get_class( $this ) ); |
|
113 | 113 | $hideOptions = glsr( $classname )->getHideOptions(); |
114 | 114 | $options = []; |
115 | 115 | foreach( $hideOptions as $name => $tooltip ) { |
@@ -149,7 +149,7 @@ discard block |
||
149 | 149 | return wp_parse_args( $field, [ |
150 | 150 | 'items' => [], |
151 | 151 | 'type' => '', |
152 | - ]); |
|
152 | + ] ); |
|
153 | 153 | } |
154 | 154 | |
155 | 155 | /** |
@@ -167,7 +167,7 @@ discard block |
||
167 | 167 | 'tooltip' => '', |
168 | 168 | 'type' => '', |
169 | 169 | 'value' => '', |
170 | - ]); |
|
170 | + ] ); |
|
171 | 171 | } |
172 | 172 | |
173 | 173 | /** |
@@ -175,7 +175,7 @@ discard block |
||
175 | 175 | */ |
176 | 176 | protected function normalizeContainer( array $field ) |
177 | 177 | { |
178 | - if( !array_key_exists( 'html', $field ) && !array_key_exists( 'items', $field ))return; |
|
178 | + if( !array_key_exists( 'html', $field ) && !array_key_exists( 'items', $field ) )return; |
|
179 | 179 | $field['items'] = $this->generateFields( $field['items'] ); |
180 | 180 | return $field; |
181 | 181 | } |
@@ -185,7 +185,7 @@ discard block |
||
185 | 185 | */ |
186 | 186 | protected function normalizeField( array $field, array $defaults ) |
187 | 187 | { |
188 | - if( !$this->validate( $field ))return; |
|
188 | + if( !$this->validate( $field ) )return; |
|
189 | 189 | return array_filter( shortcode_atts( $defaults, $field ), function( $value ) { |
190 | 190 | return $value !== ''; |
191 | 191 | }); |
@@ -205,9 +205,9 @@ discard block |
||
205 | 205 | 'tooltip' => '', |
206 | 206 | 'type' => '', |
207 | 207 | 'value' => '', |
208 | - ]); |
|
209 | - if( !is_array( $listbox ))return; |
|
210 | - if( !array_key_exists( '', $listbox['options'] )) { |
|
208 | + ] ); |
|
209 | + if( !is_array( $listbox ) )return; |
|
210 | + if( !array_key_exists( '', $listbox['options'] ) ) { |
|
211 | 211 | $listbox['options'] = ['' => $listbox['placeholder']] + $listbox['options']; |
212 | 212 | } |
213 | 213 | foreach( $listbox['options'] as $value => $text ) { |
@@ -224,7 +224,7 @@ discard block |
||
224 | 224 | */ |
225 | 225 | protected function normalizePost( array $field ) |
226 | 226 | { |
227 | - if( !is_array( $field['query_args'] )) { |
|
227 | + if( !is_array( $field['query_args'] ) ) { |
|
228 | 228 | $field['query_args'] = []; |
229 | 229 | } |
230 | 230 | $posts = get_posts( wp_parse_args( $field['query_args'], [ |
@@ -232,8 +232,8 @@ discard block |
||
232 | 232 | 'orderby' => 'title', |
233 | 233 | 'post_type' => 'post', |
234 | 234 | 'posts_per_page' => 30, |
235 | - ])); |
|
236 | - if( !empty( $posts )) { |
|
235 | + ] ) ); |
|
236 | + if( !empty($posts) ) { |
|
237 | 237 | $options = []; |
238 | 238 | foreach( $posts as $post ) { |
239 | 239 | $options[$post->ID] = esc_html( $post->post_title ); |
@@ -263,7 +263,7 @@ discard block |
||
263 | 263 | 'tooltip' => '', |
264 | 264 | 'type' => '', |
265 | 265 | 'value' => '', |
266 | - ]); |
|
266 | + ] ); |
|
267 | 267 | } |
268 | 268 | |
269 | 269 | /** |
@@ -271,7 +271,7 @@ discard block |
||
271 | 271 | */ |
272 | 272 | protected function validate( array $field ) |
273 | 273 | { |
274 | - $args = shortcode_atts([ |
|
274 | + $args = shortcode_atts( [ |
|
275 | 275 | 'label' => '', |
276 | 276 | 'name' => false, |
277 | 277 | 'required' => false, |
@@ -287,13 +287,13 @@ discard block |
||
287 | 287 | */ |
288 | 288 | protected function validateErrors( array $args ) |
289 | 289 | { |
290 | - if( !isset( $args['required']['error'] )) { |
|
290 | + if( !isset($args['required']['error']) ) { |
|
291 | 291 | return true; |
292 | 292 | } |
293 | - $this->errors[$args['name']] = $this->normalizeContainer([ |
|
293 | + $this->errors[$args['name']] = $this->normalizeContainer( [ |
|
294 | 294 | 'html' => $args['required']['error'], |
295 | 295 | 'type' => 'container', |
296 | - ]); |
|
296 | + ] ); |
|
297 | 297 | return false; |
298 | 298 | } |
299 | 299 | |
@@ -306,10 +306,10 @@ discard block |
||
306 | 306 | return true; |
307 | 307 | } |
308 | 308 | $alert = esc_html__( 'Some of the shortcode options are required.', 'site-reviews' ); |
309 | - if( isset( $args['required']['alert'] )) { |
|
309 | + if( isset($args['required']['alert']) ) { |
|
310 | 310 | $alert = $args['required']['alert']; |
311 | 311 | } |
312 | - else if( !empty( $args['label'] )) { |
|
312 | + else if( !empty($args['label']) ) { |
|
313 | 313 | $alert = sprintf( |
314 | 314 | esc_html_x( 'The "%s" option is required.', 'the option label', 'site-reviews' ), |
315 | 315 | str_replace( ':', '', $args['label'] ) |
@@ -35,7 +35,7 @@ discard block |
||
35 | 35 | */ |
36 | 36 | public function compose( Review $review, array $notification ) |
37 | 37 | { |
38 | - if( empty( $this->endpoint )) { |
|
38 | + if( empty($this->endpoint) ) { |
|
39 | 39 | return $this; |
40 | 40 | } |
41 | 41 | $args = shortcode_atts( glsr( SlackDefaults::class )->defaults(), $notification ); |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | */ |
61 | 61 | public function send() |
62 | 62 | { |
63 | - if( empty( $this->endpoint )) { |
|
63 | + if( empty($this->endpoint) ) { |
|
64 | 64 | return new WP_Error( 'slack', 'Slack notification was not sent: missing endpoint' ); |
65 | 65 | } |
66 | 66 | return wp_remote_post( $this->endpoint, [ |
@@ -72,7 +72,7 @@ discard block |
||
72 | 72 | 'redirection' => 5, |
73 | 73 | 'sslverify' => false, |
74 | 74 | 'timeout' => 45, |
75 | - ]); |
|
75 | + ] ); |
|
76 | 76 | } |
77 | 77 | |
78 | 78 | /** |
@@ -92,11 +92,11 @@ discard block |
||
92 | 92 | */ |
93 | 93 | protected function buildAuthorField() |
94 | 94 | { |
95 | - $email = !empty( $this->review->email ) |
|
95 | + $email = !empty($this->review->email) |
|
96 | 96 | ? '<'.$this->review->email.'>' |
97 | 97 | : ''; |
98 | 98 | $author = trim( rtrim( $this->review->author ).' '.$email ); |
99 | - return ['value' => implode( ' - ', array_filter( [$author, $this->review->ip_address] ))]; |
|
99 | + return ['value' => implode( ' - ', array_filter( [$author, $this->review->ip_address] ) )]; |
|
100 | 100 | } |
101 | 101 | |
102 | 102 | /** |
@@ -104,7 +104,7 @@ discard block |
||
104 | 104 | */ |
105 | 105 | protected function buildContentField() |
106 | 106 | { |
107 | - return !empty( $this->review->content ) |
|
107 | + return !empty($this->review->content) |
|
108 | 108 | ? ['value' => $this->review->content] |
109 | 109 | : []; |
110 | 110 | } |
@@ -129,7 +129,7 @@ discard block |
||
129 | 129 | protected function buildStarsField() |
130 | 130 | { |
131 | 131 | $solidStars = str_repeat( '★', $this->review->rating ); |
132 | - $emptyStars = str_repeat( '☆', max( 0, Rating::MAX_RATING - $this->review->rating )); |
|
132 | + $emptyStars = str_repeat( '☆', max( 0, Rating::MAX_RATING - $this->review->rating ) ); |
|
133 | 133 | $stars = $solidStars.$emptyStars; |
134 | 134 | $stars = apply_filters( 'site-reviews/slack/stars', $stars, $this->review->rating, Rating::MAX_RATING ); |
135 | 135 | return ['title' => $stars]; |
@@ -140,7 +140,7 @@ discard block |
||
140 | 140 | */ |
141 | 141 | protected function buildTitleField() |
142 | 142 | { |
143 | - return !empty( $this->review->title ) |
|
143 | + return !empty($this->review->title) |
|
144 | 144 | ? ['title' => $this->review->title] |
145 | 145 | : []; |
146 | 146 | } |
@@ -33,7 +33,7 @@ discard block |
||
33 | 33 | public function __construct() |
34 | 34 | { |
35 | 35 | $types = glsr( OptionManager::class )->get( 'settings.general.notifications', [] ); |
36 | - $this->email = count( array_intersect( ['admin', 'custom'], $types )) > 0; |
|
36 | + $this->email = count( array_intersect( ['admin', 'custom'], $types ) ) > 0; |
|
37 | 37 | $this->slack = in_array( 'slack', $types ); |
38 | 38 | $this->types = $types; |
39 | 39 | } |
@@ -43,7 +43,7 @@ discard block |
||
43 | 43 | */ |
44 | 44 | public function send( Review $review ) |
45 | 45 | { |
46 | - if( empty( $this->types ))return; |
|
46 | + if( empty($this->types) )return; |
|
47 | 47 | $this->review = $review; |
48 | 48 | $args = [ |
49 | 49 | 'link' => $this->getLink(), |
@@ -58,7 +58,7 @@ discard block |
||
58 | 58 | */ |
59 | 59 | protected function buildEmail( array $args ) |
60 | 60 | { |
61 | - return glsr( Email::class )->compose([ |
|
61 | + return glsr( Email::class )->compose( [ |
|
62 | 62 | 'to' => $this->getEmailAddresses(), |
63 | 63 | 'subject' => $args['title'], |
64 | 64 | 'template' => 'email-notification', |
@@ -71,7 +71,7 @@ discard block |
||
71 | 71 | 'review_rating' => $this->review->rating, |
72 | 72 | 'review_title' => $this->review->title, |
73 | 73 | ], |
74 | - ]); |
|
74 | + ] ); |
|
75 | 75 | } |
76 | 76 | |
77 | 77 | /** |
@@ -83,7 +83,7 @@ discard block |
||
83 | 83 | 'button_url' => $args['link'], |
84 | 84 | 'fallback' => $this->buildEmail( $args )->read( 'plaintext' ), |
85 | 85 | 'pretext' => $args['title'], |
86 | - ]); |
|
86 | + ] ); |
|
87 | 87 | } |
88 | 88 | |
89 | 89 | /** |
@@ -92,23 +92,23 @@ discard block |
||
92 | 92 | protected function getEmailAddresses() |
93 | 93 | { |
94 | 94 | $emails = []; |
95 | - if( in_array( 'admin', $this->types )) { |
|
95 | + if( in_array( 'admin', $this->types ) ) { |
|
96 | 96 | $emails[] = get_option( 'admin_email' ); |
97 | 97 | } |
98 | - if( in_array( 'author', $this->types )) { |
|
99 | - $assignedPost = get_post( intval( $this->review->assigned_to )); |
|
98 | + if( in_array( 'author', $this->types ) ) { |
|
99 | + $assignedPost = get_post( intval( $this->review->assigned_to ) ); |
|
100 | 100 | if( $assignedPost instanceof WP_Post ) { |
101 | 101 | $this->email = true; |
102 | - $emails[] = get_the_author_meta( 'user_email', intval( $assignedPost->post_author )); |
|
102 | + $emails[] = get_the_author_meta( 'user_email', intval( $assignedPost->post_author ) ); |
|
103 | 103 | } |
104 | 104 | } |
105 | - if( in_array( 'custom', $this->types )) { |
|
105 | + if( in_array( 'custom', $this->types ) ) { |
|
106 | 106 | $customEmails = glsr( OptionManager::class )->get( 'settings.general.notification_email' ); |
107 | 107 | $customEmails = str_replace( [' ', ',', ';'], ',', $customEmails ); |
108 | 108 | $customEmails = explode( ',', $customEmails ); |
109 | 109 | $emails = array_merge( $emails, $customEmails ); |
110 | 110 | } |
111 | - $emails = array_filter( array_keys( array_flip( $emails ))); |
|
111 | + $emails = array_filter( array_keys( array_flip( $emails ) ) ); |
|
112 | 112 | return apply_filters( 'site-reviews/notification/emails', $emails, $this->review ); |
113 | 113 | } |
114 | 114 | |
@@ -125,16 +125,16 @@ discard block |
||
125 | 125 | */ |
126 | 126 | protected function getTitle() |
127 | 127 | { |
128 | - $assignedTitle = get_the_title( intval( $this->review->assigned_to )); |
|
128 | + $assignedTitle = get_the_title( intval( $this->review->assigned_to ) ); |
|
129 | 129 | $title = _nx( |
130 | 130 | 'New %s-star review', |
131 | 131 | 'New %s-star review of: %s', |
132 | - intval( empty( $assignedTitle )), |
|
132 | + intval( empty($assignedTitle) ), |
|
133 | 133 | 'This string differs depending on whether or not the review has been assigned to a post.', |
134 | 134 | 'site-reviews' |
135 | 135 | ); |
136 | 136 | $title = sprintf( '[%s] %s', |
137 | - wp_specialchars_decode( strval( get_option( 'blogname' )), ENT_QUOTES ), |
|
137 | + wp_specialchars_decode( strval( get_option( 'blogname' ) ), ENT_QUOTES ), |
|
138 | 138 | sprintf( $title, $this->review->rating, $assignedTitle ) |
139 | 139 | ); |
140 | 140 | return apply_filters( 'site-reviews/notification/title', $title, $this->review ); |
@@ -147,7 +147,7 @@ discard block |
||
147 | 147 | { |
148 | 148 | $email = $this->buildEmail( $args ); |
149 | 149 | if( !$this->email )return; |
150 | - if( empty( $email->to )) { |
|
150 | + if( empty($email->to) ) { |
|
151 | 151 | glsr_log()->error( 'Email notification was not sent (missing email address)' ); |
152 | 152 | return; |
153 | 153 | } |
@@ -164,7 +164,7 @@ discard block |
||
164 | 164 | if( !$this->slack )return; |
165 | 165 | $notification = $this->buildSlackNotification( $args ); |
166 | 166 | $result = $notification->send(); |
167 | - if( is_wp_error( $result )) { |
|
167 | + if( is_wp_error( $result ) ) { |
|
168 | 168 | $notification->review = null; |
169 | 169 | glsr_log()->error( $result->get_error_message() )->debug( $notification ); |
170 | 170 | } |