Completed
Pull Request — master (#1573)
by Naveen
01:14
created
src/js/dist/gutenberg-faq-plugin.asset.php 2 patches
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@
 block discarded – undo
1 1
 <?php return array(
2
-	'dependencies' => array( 'wp-polyfill', 'wp-rich-text' ),
3
-	'version'      => '18770cde607d785a81b65ef98e409669',
2
+    'dependencies' => array( 'wp-polyfill', 'wp-rich-text' ),
3
+    'version'      => '18770cde607d785a81b65ef98e409669',
4 4
 );
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@
 block discarded – undo
1 1
 <?php return array(
2
-	'dependencies' => array( 'wp-polyfill', 'wp-rich-text' ),
2
+	'dependencies' => array('wp-polyfill', 'wp-rich-text'),
3 3
 	'version'      => '18770cde607d785a81b65ef98e409669',
4 4
 );
Please login to merge, or discard this patch.
src/js/dist/edit.asset.php 2 patches
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@
 block discarded – undo
1 1
 <?php return array(
2
-	'dependencies' => array( 'react', 'react-dom', 'wp-hooks', 'wp-polyfill' ),
3
-	'version'      => '422a9f1d32f6983d4bb7c971a14c8225',
2
+    'dependencies' => array( 'react', 'react-dom', 'wp-hooks', 'wp-polyfill' ),
3
+    'version'      => '422a9f1d32f6983d4bb7c971a14c8225',
4 4
 );
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@
 block discarded – undo
1 1
 <?php return array(
2
-	'dependencies' => array( 'react', 'react-dom', 'wp-hooks', 'wp-polyfill' ),
2
+	'dependencies' => array('react', 'react-dom', 'wp-hooks', 'wp-polyfill'),
3 3
 	'version'      => '422a9f1d32f6983d4bb7c971a14c8225',
4 4
 );
Please login to merge, or discard this patch.
src/js/dist/videoobject.asset.php 2 patches
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@
 block discarded – undo
1 1
 <?php return array(
2
-	'dependencies' => array( 'react', 'react-dom', 'wp-hooks', 'wp-i18n', 'wp-polyfill' ),
3
-	'version'      => 'e8856addb978d2ab9bef838754938ce8',
2
+    'dependencies' => array( 'react', 'react-dom', 'wp-hooks', 'wp-i18n', 'wp-polyfill' ),
3
+    'version'      => 'e8856addb978d2ab9bef838754938ce8',
4 4
 );
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@
 block discarded – undo
1 1
 <?php return array(
2
-	'dependencies' => array( 'react', 'react-dom', 'wp-hooks', 'wp-i18n', 'wp-polyfill' ),
2
+	'dependencies' => array('react', 'react-dom', 'wp-hooks', 'wp-i18n', 'wp-polyfill'),
3 3
 	'version'      => 'e8856addb978d2ab9bef838754938ce8',
4 4
 );
Please login to merge, or discard this patch.
src/js/dist/faq.asset.php 2 patches
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@
 block discarded – undo
1 1
 <?php return array(
2
-	'dependencies' => array( 'react', 'react-dom', 'wp-polyfill' ),
3
-	'version'      => '0df9b7715acd39056c8ca1e24dedb4b1',
2
+    'dependencies' => array( 'react', 'react-dom', 'wp-polyfill' ),
3
+    'version'      => '0df9b7715acd39056c8ca1e24dedb4b1',
4 4
 );
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@
 block discarded – undo
1 1
 <?php return array(
2
-	'dependencies' => array( 'react', 'react-dom', 'wp-polyfill' ),
2
+	'dependencies' => array('react', 'react-dom', 'wp-polyfill'),
3 3
 	'version'      => '0df9b7715acd39056c8ca1e24dedb4b1',
4 4
 );
Please login to merge, or discard this patch.
src/js/dist/bundle.asset.php 2 patches
Indentation   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@
 block discarded – undo
1 1
 <?php return array(
2
-	'dependencies' => array( 'wp-polyfill' ),
3
-	'version'      => 'dc74b50aef496ca5fcca1eda880e38a1',
2
+    'dependencies' => array( 'wp-polyfill' ),
3
+    'version'      => 'dc74b50aef496ca5fcca1eda880e38a1',
4 4
 );
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -1,4 +1,4 @@
 block discarded – undo
1 1
 <?php return array(
2
-	'dependencies' => array( 'wp-polyfill' ),
2
+	'dependencies' => array('wp-polyfill'),
3 3
 	'version'      => 'dc74b50aef496ca5fcca1eda880e38a1',
4 4
 );
Please login to merge, or discard this patch.
src/admin/class-wordlift-entity-list-service.php 2 patches
Indentation   +299 added lines, -299 removed lines patch added patch discarded remove patch
@@ -20,310 +20,310 @@
 block discarded – undo
20 20
  */
21 21
 class Wordlift_Entity_List_Service {
22 22
 
23
-	/**
24
-	 * Size of the entity thumbnail in pixels
25
-	 *
26
-	 * @since  3.3.0
27
-	 */
28
-	const THUMB_SIZE = 50;
29
-
30
-	/**
31
-	 * A {@link Wordlift_Rating_Service} instance.
32
-	 *
33
-	 * @since  3.10.0
34
-	 * @access private
35
-	 * @var \Wordlift_Rating_Service $rating_service A {@link Wordlift_Rating_Service} instance.
36
-	 */
37
-	private $rating_service;
38
-
39
-	/**
40
-	 * Create a Wordlift_Entity_List_Service.
41
-	 *
42
-	 * @param \Wordlift_Rating_Service $rating_service A {@link Wordlift_Rating_Service} instance.
43
-	 *
44
-	 * @since 3.3.0
45
-	 */
46
-	public function __construct( $rating_service ) {
47
-
48
-		$this->rating_service = $rating_service;
49
-
50
-	}
51
-
52
-	/**
53
-	 * Detects if the entities list admin screen is being displayed
54
-	 *
55
-	 * @return bool True if the screen is being displayed, false otherwis.
56
-	 *
57
-	 * @since 3.15.0
58
-	 */
59
-	private function is_entity_list_screen() {
60
-
61
-		// Run only on admin page.
62
-		if ( ! is_admin() ) {
63
-			return false;
64
-		}
65
-
66
-		// Return safely if get_current_screen() is not defined (yet).
67
-		if ( false === function_exists( 'get_current_screen' ) ) {
68
-			return false;
69
-		}
70
-
71
-		// Only apply on entity list page, only if this is the main query and if the wl-classification-scope query param is set.
72
-		$screen = get_current_screen();
73
-
74
-		// If there is any valid screen nothing to do.
75
-		if ( null === $screen ) {
76
-			return false;
77
-		}
78
-
79
-		if ( Wordlift_Entity_Service::TYPE_NAME !== $screen->post_type ) {
80
-			return false;
81
-		}
82
-
83
-		return true;
84
-	}
85
-
86
-	/**
87
-	 * Register custom columns for entity listing in backend.
88
-	 *
89
-	 * @see   https://codex.wordpress.org/Plugin_API/Action_Reference/manage_posts_custom_column
90
-	 *
91
-	 * @since 3.3.0
92
-	 *
93
-	 * @param array $columns the default columns.
94
-	 *
95
-	 * @return array Enhanced columns array.
96
-	 */
97
-	public function register_custom_columns( $columns ) {
98
-
99
-		// Bail out if custom columns disabled via hook
100
-		// phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
101
-		if ( ! apply_filters( 'wl_feature__enable__custom-columns', true ) ) {
102
-			return $columns;
103
-		}
104
-
105
-		// Take away first column and keep a reference,
106
-		// so we can later insert the thumbnail between the first and the rest of columns.
107
-		$columns_cb = $columns['cb'];
108
-		unset( $columns['cb'] );
109
-
110
-		// Thumbnails column is inserted in second place, while the related posts on the end.
111
-		$columns = array_merge(
112
-			array( 'cb' => $columns_cb ),                      // re-add first column
113
-			array( 'wl_column_thumbnail' => __( 'Image', 'wordlift' ) ),        // thumb
114
-			$columns,                                                               // default columns (without the first)
115
-			array( 'wl_column_related_posts' => __( 'Related Posts', 'wordlift' ) ), // related posts
116
-			array( 'wl_column_rating' => __( 'Rating', 'wordlift' ) ) // related posts
117
-		);
118
-
119
-		return $columns;
120
-	}
121
-
122
-	/**
123
-	 * Render custom columns.
124
-	 *
125
-	 * @see   https://codex.wordpress.org/Plugin_API/Action_Reference/manage_$post_type_posts_custom_column
126
-	 *
127
-	 * @since 3.3.0
128
-	 *
129
-	 * @param string $column The current column.
130
-	 * @param int    $entity_id An entity post id.
131
-	 */
132
-	public function render_custom_columns( $column, $entity_id ) {
133
-
134
-		switch ( $column ) {
135
-
136
-			case 'wl_column_related_posts':
137
-				echo count( wl_core_get_related_post_ids( $entity_id ) );
138
-				break;
139
-
140
-			case 'wl_column_thumbnail':
141
-				$edit_link = get_edit_post_link( $entity_id );
142
-				$thumb     = get_the_post_thumbnail(
143
-					$entity_id,
144
-					array(
145
-						self::THUMB_SIZE,
146
-						self::THUMB_SIZE,
147
-					)
148
-				);
149
-
150
-				if ( ! $thumb ) {
151
-					$thumb = sprintf( '<img src="%s" width="%d">', WL_DEFAULT_THUMBNAIL_PATH, self::THUMB_SIZE );
152
-				}
153
-
154
-				echo wp_kses(
155
-					sprintf( '<a href="%s">%s</a>', esc_url( $edit_link ), $thumb ),
156
-					array(
157
-						'a'   => array( 'href' => array() ),
158
-						'img' => array(
159
-							'src'   => array(),
160
-							'width' => array(),
161
-						),
162
-					)
163
-				);
164
-				break;
165
-
166
-			case 'wl_column_rating':
167
-				$rating = $this->rating_service->get_rating_for( $entity_id );
168
-				echo '<i class="wl-traffic-light wl-tl-' . esc_attr( $rating['traffic_light_score'] ) . '">' . esc_html( $rating['percentage_score'] ) . '%</i>';
169
-				break;
170
-		}
171
-
172
-	}
173
-
174
-	/**
175
-	 * Add wl-classification-scope select box before the 'Filter' button.
176
-	 *
177
-	 * @since 3.3.0
178
-	 */
179
-	public function restrict_manage_posts_classification_scope() {
180
-
181
-		if ( ! $this->is_entity_list_screen() ) {
182
-			return;
183
-		}
184
-
185
-		// Was a W already selected?
186
-		$selected = isset( $_GET['wl-classification-scope'] ) ? //phpcs:ignore WordPress.Security.NonceVerification.Recommended
187
-			sanitize_text_field( wp_unslash( (string) $_GET['wl-classification-scope'] ) ) : ''; //phpcs:ignore WordPress.Security.NonceVerification.Recommended
188
-
189
-		// Print select box with the 4W
190
-		$all_w = array(
191
-			"All 'W'"         => __( "All 'W'", 'wordlift' ),
192
-			WL_WHAT_RELATION  => __( 'What', 'wordlift' ),
193
-			WL_WHO_RELATION   => __( 'Who', 'wordlift' ),
194
-			WL_WHERE_RELATION => __( 'Where', 'wordlift' ),
195
-			WL_WHEN_RELATION  => __( 'When', 'wordlift' ),
196
-		);
197
-		echo '<select name="wl-classification-scope" id="wl-dropdown-classification-scope">';
198
-		foreach ( $all_w as $v => $w ) {
199
-			$default = ( $selected === $v ) ? 'selected' : '';
200
-			echo sprintf( '<option value="%s" %s >%s</option>', esc_attr( $v ), esc_html( $default ), esc_html( $w ) );
201
-		}
202
-		echo '</select>';
203
-	}
204
-
205
-	/**
206
-	 * Server side response operations for the classification filter set in
207
-	 * *restrict_manage_posts_classification_scope_filter*.
208
-	 *
209
-	 * @param array $clauses WP main query clauses.
210
-	 *
211
-	 * @return array Modified clauses.
212
-	 * @since 3.3.0
213
-	 */
214
-	public function posts_clauses_classification_scope( $clauses ) {
215
-
216
-		if ( ! ( $this->is_entity_list_screen() && is_main_query() && isset( $_GET['wl-classification-scope'] ) ) ) { //phpcs:ignore WordPress.Security.NonceVerification.Recommended
217
-			return $clauses;
218
-		}
219
-
220
-		// Check a valid W was requested.
221
-		$requested_w = sanitize_text_field( wp_unslash( (string) $_GET['wl-classification-scope'] ) ); //phpcs:ignore WordPress.Security.NonceVerification.Recommended
222
-
223
-		$all_w = array(
224
-			WL_WHAT_RELATION,
225
-			WL_WHO_RELATION,
226
-			WL_WHERE_RELATION,
227
-			WL_WHEN_RELATION,
228
-		);
229
-
230
-		if ( ! in_array( $requested_w, $all_w, true ) ) {
231
-			return $clauses;
232
-		}
233
-
234
-		global $wpdb;
235
-
236
-		$wl_relation_table = wl_core_get_relation_instances_table_name();
237
-
238
-		// Change WP main query clauses.
239
-		$clauses['join']     .= "INNER JOIN {$wl_relation_table} ON {$wpdb->posts}.ID = {$wl_relation_table}.object_id";
240
-		$clauses['where']    .= $wpdb->prepare( "AND {$wl_relation_table}.predicate = %s", $requested_w );
241
-		$clauses['distinct'] .= 'DISTINCT';
242
-
243
-		return $clauses;
244
-	}
245
-
246
-	/**
247
-	 * Amend the "all entities" list admin screen with entities from other
248
-	 * post types, not only the entities one.
249
-	 *
250
-	 * @param WP_Query $query The WP_Query instance (passed by reference).
251
-	 *
252
-	 * @since 3.15.0
253
-	 */
254
-	public function pre_get_posts( $query ) {
255
-
256
-		if ( ! ( $this->is_entity_list_screen() && $query->is_main_query() ) ) {
257
-			return;
258
-		}
259
-
260
-		// Add to the post type all the types considered to be valid post types.
261
-		$query->set( 'post_type', Wordlift_Entity_Service::valid_entity_post_types() );
262
-
263
-		// Do not show however entities of type `Article`.
264
-		$query->set(
265
-			'tax_query',
266
-			array(
267
-				'relation' => 'AND',
268
-				array(
269
-					'taxonomy' => Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME,
270
-					'operator' => 'EXISTS',
271
-				),
272
-				array(
273
-					'taxonomy' => Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME,
274
-					'field'    => 'slug',
275
-					'terms'    => 'article',
276
-					'operator' => 'NOT IN',
277
-				),
278
-			)
279
-		);
280
-
281
-	}
282
-
283
-	/**
284
-	 * An hack to fix wrong post type on the entities list admin screen.
285
-	 *
286
-	 * This is hooked on the admin entity list page load hook and sets the
287
-	 * post type to "entity" as it is expected on that page.
288
-	 *
289
-	 * @since 3.15.0
290
-	 */
291
-	public function load_edit() {
292
-
293
-		// Return safely if get_current_screen() is not defined (yet).
294
-		if ( false === function_exists( 'get_current_screen' ) ) {
295
-			return;
296
-		}
297
-
298
-		// Only apply on entity list page, only if this is the main query and if the wl-classification-scope query param is set.
299
-		$screen = get_current_screen();
300
-
301
-		// If there is any valid screen nothing to do.
302
-		if ( null === $screen ) {
303
-			return;
304
-		}
305
-
306
-		if ( ! ( Wordlift_Entity_Service::TYPE_NAME === $screen->post_type && is_main_query() ) ) {
307
-			return;
308
-		}
309
-
310
-		/*
23
+    /**
24
+     * Size of the entity thumbnail in pixels
25
+     *
26
+     * @since  3.3.0
27
+     */
28
+    const THUMB_SIZE = 50;
29
+
30
+    /**
31
+     * A {@link Wordlift_Rating_Service} instance.
32
+     *
33
+     * @since  3.10.0
34
+     * @access private
35
+     * @var \Wordlift_Rating_Service $rating_service A {@link Wordlift_Rating_Service} instance.
36
+     */
37
+    private $rating_service;
38
+
39
+    /**
40
+     * Create a Wordlift_Entity_List_Service.
41
+     *
42
+     * @param \Wordlift_Rating_Service $rating_service A {@link Wordlift_Rating_Service} instance.
43
+     *
44
+     * @since 3.3.0
45
+     */
46
+    public function __construct( $rating_service ) {
47
+
48
+        $this->rating_service = $rating_service;
49
+
50
+    }
51
+
52
+    /**
53
+     * Detects if the entities list admin screen is being displayed
54
+     *
55
+     * @return bool True if the screen is being displayed, false otherwis.
56
+     *
57
+     * @since 3.15.0
58
+     */
59
+    private function is_entity_list_screen() {
60
+
61
+        // Run only on admin page.
62
+        if ( ! is_admin() ) {
63
+            return false;
64
+        }
65
+
66
+        // Return safely if get_current_screen() is not defined (yet).
67
+        if ( false === function_exists( 'get_current_screen' ) ) {
68
+            return false;
69
+        }
70
+
71
+        // Only apply on entity list page, only if this is the main query and if the wl-classification-scope query param is set.
72
+        $screen = get_current_screen();
73
+
74
+        // If there is any valid screen nothing to do.
75
+        if ( null === $screen ) {
76
+            return false;
77
+        }
78
+
79
+        if ( Wordlift_Entity_Service::TYPE_NAME !== $screen->post_type ) {
80
+            return false;
81
+        }
82
+
83
+        return true;
84
+    }
85
+
86
+    /**
87
+     * Register custom columns for entity listing in backend.
88
+     *
89
+     * @see   https://codex.wordpress.org/Plugin_API/Action_Reference/manage_posts_custom_column
90
+     *
91
+     * @since 3.3.0
92
+     *
93
+     * @param array $columns the default columns.
94
+     *
95
+     * @return array Enhanced columns array.
96
+     */
97
+    public function register_custom_columns( $columns ) {
98
+
99
+        // Bail out if custom columns disabled via hook
100
+        // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
101
+        if ( ! apply_filters( 'wl_feature__enable__custom-columns', true ) ) {
102
+            return $columns;
103
+        }
104
+
105
+        // Take away first column and keep a reference,
106
+        // so we can later insert the thumbnail between the first and the rest of columns.
107
+        $columns_cb = $columns['cb'];
108
+        unset( $columns['cb'] );
109
+
110
+        // Thumbnails column is inserted in second place, while the related posts on the end.
111
+        $columns = array_merge(
112
+            array( 'cb' => $columns_cb ),                      // re-add first column
113
+            array( 'wl_column_thumbnail' => __( 'Image', 'wordlift' ) ),        // thumb
114
+            $columns,                                                               // default columns (without the first)
115
+            array( 'wl_column_related_posts' => __( 'Related Posts', 'wordlift' ) ), // related posts
116
+            array( 'wl_column_rating' => __( 'Rating', 'wordlift' ) ) // related posts
117
+        );
118
+
119
+        return $columns;
120
+    }
121
+
122
+    /**
123
+     * Render custom columns.
124
+     *
125
+     * @see   https://codex.wordpress.org/Plugin_API/Action_Reference/manage_$post_type_posts_custom_column
126
+     *
127
+     * @since 3.3.0
128
+     *
129
+     * @param string $column The current column.
130
+     * @param int    $entity_id An entity post id.
131
+     */
132
+    public function render_custom_columns( $column, $entity_id ) {
133
+
134
+        switch ( $column ) {
135
+
136
+            case 'wl_column_related_posts':
137
+                echo count( wl_core_get_related_post_ids( $entity_id ) );
138
+                break;
139
+
140
+            case 'wl_column_thumbnail':
141
+                $edit_link = get_edit_post_link( $entity_id );
142
+                $thumb     = get_the_post_thumbnail(
143
+                    $entity_id,
144
+                    array(
145
+                        self::THUMB_SIZE,
146
+                        self::THUMB_SIZE,
147
+                    )
148
+                );
149
+
150
+                if ( ! $thumb ) {
151
+                    $thumb = sprintf( '<img src="%s" width="%d">', WL_DEFAULT_THUMBNAIL_PATH, self::THUMB_SIZE );
152
+                }
153
+
154
+                echo wp_kses(
155
+                    sprintf( '<a href="%s">%s</a>', esc_url( $edit_link ), $thumb ),
156
+                    array(
157
+                        'a'   => array( 'href' => array() ),
158
+                        'img' => array(
159
+                            'src'   => array(),
160
+                            'width' => array(),
161
+                        ),
162
+                    )
163
+                );
164
+                break;
165
+
166
+            case 'wl_column_rating':
167
+                $rating = $this->rating_service->get_rating_for( $entity_id );
168
+                echo '<i class="wl-traffic-light wl-tl-' . esc_attr( $rating['traffic_light_score'] ) . '">' . esc_html( $rating['percentage_score'] ) . '%</i>';
169
+                break;
170
+        }
171
+
172
+    }
173
+
174
+    /**
175
+     * Add wl-classification-scope select box before the 'Filter' button.
176
+     *
177
+     * @since 3.3.0
178
+     */
179
+    public function restrict_manage_posts_classification_scope() {
180
+
181
+        if ( ! $this->is_entity_list_screen() ) {
182
+            return;
183
+        }
184
+
185
+        // Was a W already selected?
186
+        $selected = isset( $_GET['wl-classification-scope'] ) ? //phpcs:ignore WordPress.Security.NonceVerification.Recommended
187
+            sanitize_text_field( wp_unslash( (string) $_GET['wl-classification-scope'] ) ) : ''; //phpcs:ignore WordPress.Security.NonceVerification.Recommended
188
+
189
+        // Print select box with the 4W
190
+        $all_w = array(
191
+            "All 'W'"         => __( "All 'W'", 'wordlift' ),
192
+            WL_WHAT_RELATION  => __( 'What', 'wordlift' ),
193
+            WL_WHO_RELATION   => __( 'Who', 'wordlift' ),
194
+            WL_WHERE_RELATION => __( 'Where', 'wordlift' ),
195
+            WL_WHEN_RELATION  => __( 'When', 'wordlift' ),
196
+        );
197
+        echo '<select name="wl-classification-scope" id="wl-dropdown-classification-scope">';
198
+        foreach ( $all_w as $v => $w ) {
199
+            $default = ( $selected === $v ) ? 'selected' : '';
200
+            echo sprintf( '<option value="%s" %s >%s</option>', esc_attr( $v ), esc_html( $default ), esc_html( $w ) );
201
+        }
202
+        echo '</select>';
203
+    }
204
+
205
+    /**
206
+     * Server side response operations for the classification filter set in
207
+     * *restrict_manage_posts_classification_scope_filter*.
208
+     *
209
+     * @param array $clauses WP main query clauses.
210
+     *
211
+     * @return array Modified clauses.
212
+     * @since 3.3.0
213
+     */
214
+    public function posts_clauses_classification_scope( $clauses ) {
215
+
216
+        if ( ! ( $this->is_entity_list_screen() && is_main_query() && isset( $_GET['wl-classification-scope'] ) ) ) { //phpcs:ignore WordPress.Security.NonceVerification.Recommended
217
+            return $clauses;
218
+        }
219
+
220
+        // Check a valid W was requested.
221
+        $requested_w = sanitize_text_field( wp_unslash( (string) $_GET['wl-classification-scope'] ) ); //phpcs:ignore WordPress.Security.NonceVerification.Recommended
222
+
223
+        $all_w = array(
224
+            WL_WHAT_RELATION,
225
+            WL_WHO_RELATION,
226
+            WL_WHERE_RELATION,
227
+            WL_WHEN_RELATION,
228
+        );
229
+
230
+        if ( ! in_array( $requested_w, $all_w, true ) ) {
231
+            return $clauses;
232
+        }
233
+
234
+        global $wpdb;
235
+
236
+        $wl_relation_table = wl_core_get_relation_instances_table_name();
237
+
238
+        // Change WP main query clauses.
239
+        $clauses['join']     .= "INNER JOIN {$wl_relation_table} ON {$wpdb->posts}.ID = {$wl_relation_table}.object_id";
240
+        $clauses['where']    .= $wpdb->prepare( "AND {$wl_relation_table}.predicate = %s", $requested_w );
241
+        $clauses['distinct'] .= 'DISTINCT';
242
+
243
+        return $clauses;
244
+    }
245
+
246
+    /**
247
+     * Amend the "all entities" list admin screen with entities from other
248
+     * post types, not only the entities one.
249
+     *
250
+     * @param WP_Query $query The WP_Query instance (passed by reference).
251
+     *
252
+     * @since 3.15.0
253
+     */
254
+    public function pre_get_posts( $query ) {
255
+
256
+        if ( ! ( $this->is_entity_list_screen() && $query->is_main_query() ) ) {
257
+            return;
258
+        }
259
+
260
+        // Add to the post type all the types considered to be valid post types.
261
+        $query->set( 'post_type', Wordlift_Entity_Service::valid_entity_post_types() );
262
+
263
+        // Do not show however entities of type `Article`.
264
+        $query->set(
265
+            'tax_query',
266
+            array(
267
+                'relation' => 'AND',
268
+                array(
269
+                    'taxonomy' => Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME,
270
+                    'operator' => 'EXISTS',
271
+                ),
272
+                array(
273
+                    'taxonomy' => Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME,
274
+                    'field'    => 'slug',
275
+                    'terms'    => 'article',
276
+                    'operator' => 'NOT IN',
277
+                ),
278
+            )
279
+        );
280
+
281
+    }
282
+
283
+    /**
284
+     * An hack to fix wrong post type on the entities list admin screen.
285
+     *
286
+     * This is hooked on the admin entity list page load hook and sets the
287
+     * post type to "entity" as it is expected on that page.
288
+     *
289
+     * @since 3.15.0
290
+     */
291
+    public function load_edit() {
292
+
293
+        // Return safely if get_current_screen() is not defined (yet).
294
+        if ( false === function_exists( 'get_current_screen' ) ) {
295
+            return;
296
+        }
297
+
298
+        // Only apply on entity list page, only if this is the main query and if the wl-classification-scope query param is set.
299
+        $screen = get_current_screen();
300
+
301
+        // If there is any valid screen nothing to do.
302
+        if ( null === $screen ) {
303
+            return;
304
+        }
305
+
306
+        if ( ! ( Wordlift_Entity_Service::TYPE_NAME === $screen->post_type && is_main_query() ) ) {
307
+            return;
308
+        }
309
+
310
+        /*
311 311
 		 * The main wp initialization sets the post type to the post type used in the main query,
312 312
 		 * but the admin edit pages fail to handle such a situation gracefully.
313 313
 		 * Since this is exactly what we do on the entity page, we have to reset
314 314
 		 * the global $post_type variable to the "entity" value after the modifications
315 315
 		 * initialization was finished.
316 316
 		 */
317
-		add_action(
318
-			'wp',
319
-			function () {
320
-				global $post_type;
321
-				$post_type = Wordlift_Entity_Service::TYPE_NAME; //phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
322
-			},
323
-			10,
324
-			0
325
-		);
326
-
327
-	}
317
+        add_action(
318
+            'wp',
319
+            function () {
320
+                global $post_type;
321
+                $post_type = Wordlift_Entity_Service::TYPE_NAME; //phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
322
+            },
323
+            10,
324
+            0
325
+        );
326
+
327
+    }
328 328
 
329 329
 }
Please login to merge, or discard this patch.
Spacing   +46 added lines, -46 removed lines patch added patch discarded remove patch
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
 	 *
44 44
 	 * @since 3.3.0
45 45
 	 */
46
-	public function __construct( $rating_service ) {
46
+	public function __construct($rating_service) {
47 47
 
48 48
 		$this->rating_service = $rating_service;
49 49
 
@@ -59,12 +59,12 @@  discard block
 block discarded – undo
59 59
 	private function is_entity_list_screen() {
60 60
 
61 61
 		// Run only on admin page.
62
-		if ( ! is_admin() ) {
62
+		if ( ! is_admin()) {
63 63
 			return false;
64 64
 		}
65 65
 
66 66
 		// Return safely if get_current_screen() is not defined (yet).
67
-		if ( false === function_exists( 'get_current_screen' ) ) {
67
+		if (false === function_exists('get_current_screen')) {
68 68
 			return false;
69 69
 		}
70 70
 
@@ -72,11 +72,11 @@  discard block
 block discarded – undo
72 72
 		$screen = get_current_screen();
73 73
 
74 74
 		// If there is any valid screen nothing to do.
75
-		if ( null === $screen ) {
75
+		if (null === $screen) {
76 76
 			return false;
77 77
 		}
78 78
 
79
-		if ( Wordlift_Entity_Service::TYPE_NAME !== $screen->post_type ) {
79
+		if (Wordlift_Entity_Service::TYPE_NAME !== $screen->post_type) {
80 80
 			return false;
81 81
 		}
82 82
 
@@ -94,26 +94,26 @@  discard block
 block discarded – undo
94 94
 	 *
95 95
 	 * @return array Enhanced columns array.
96 96
 	 */
97
-	public function register_custom_columns( $columns ) {
97
+	public function register_custom_columns($columns) {
98 98
 
99 99
 		// Bail out if custom columns disabled via hook
100 100
 		// phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
101
-		if ( ! apply_filters( 'wl_feature__enable__custom-columns', true ) ) {
101
+		if ( ! apply_filters('wl_feature__enable__custom-columns', true)) {
102 102
 			return $columns;
103 103
 		}
104 104
 
105 105
 		// Take away first column and keep a reference,
106 106
 		// so we can later insert the thumbnail between the first and the rest of columns.
107 107
 		$columns_cb = $columns['cb'];
108
-		unset( $columns['cb'] );
108
+		unset($columns['cb']);
109 109
 
110 110
 		// Thumbnails column is inserted in second place, while the related posts on the end.
111 111
 		$columns = array_merge(
112
-			array( 'cb' => $columns_cb ),                      // re-add first column
113
-			array( 'wl_column_thumbnail' => __( 'Image', 'wordlift' ) ),        // thumb
114
-			$columns,                                                               // default columns (without the first)
115
-			array( 'wl_column_related_posts' => __( 'Related Posts', 'wordlift' ) ), // related posts
116
-			array( 'wl_column_rating' => __( 'Rating', 'wordlift' ) ) // related posts
112
+			array('cb' => $columns_cb), // re-add first column
113
+			array('wl_column_thumbnail' => __('Image', 'wordlift')), // thumb
114
+			$columns, // default columns (without the first)
115
+			array('wl_column_related_posts' => __('Related Posts', 'wordlift')), // related posts
116
+			array('wl_column_rating' => __('Rating', 'wordlift')) // related posts
117 117
 		);
118 118
 
119 119
 		return $columns;
@@ -129,16 +129,16 @@  discard block
 block discarded – undo
129 129
 	 * @param string $column The current column.
130 130
 	 * @param int    $entity_id An entity post id.
131 131
 	 */
132
-	public function render_custom_columns( $column, $entity_id ) {
132
+	public function render_custom_columns($column, $entity_id) {
133 133
 
134
-		switch ( $column ) {
134
+		switch ($column) {
135 135
 
136 136
 			case 'wl_column_related_posts':
137
-				echo count( wl_core_get_related_post_ids( $entity_id ) );
137
+				echo count(wl_core_get_related_post_ids($entity_id));
138 138
 				break;
139 139
 
140 140
 			case 'wl_column_thumbnail':
141
-				$edit_link = get_edit_post_link( $entity_id );
141
+				$edit_link = get_edit_post_link($entity_id);
142 142
 				$thumb     = get_the_post_thumbnail(
143 143
 					$entity_id,
144 144
 					array(
@@ -147,14 +147,14 @@  discard block
 block discarded – undo
147 147
 					)
148 148
 				);
149 149
 
150
-				if ( ! $thumb ) {
151
-					$thumb = sprintf( '<img src="%s" width="%d">', WL_DEFAULT_THUMBNAIL_PATH, self::THUMB_SIZE );
150
+				if ( ! $thumb) {
151
+					$thumb = sprintf('<img src="%s" width="%d">', WL_DEFAULT_THUMBNAIL_PATH, self::THUMB_SIZE);
152 152
 				}
153 153
 
154 154
 				echo wp_kses(
155
-					sprintf( '<a href="%s">%s</a>', esc_url( $edit_link ), $thumb ),
155
+					sprintf('<a href="%s">%s</a>', esc_url($edit_link), $thumb),
156 156
 					array(
157
-						'a'   => array( 'href' => array() ),
157
+						'a'   => array('href' => array()),
158 158
 						'img' => array(
159 159
 							'src'   => array(),
160 160
 							'width' => array(),
@@ -164,8 +164,8 @@  discard block
 block discarded – undo
164 164
 				break;
165 165
 
166 166
 			case 'wl_column_rating':
167
-				$rating = $this->rating_service->get_rating_for( $entity_id );
168
-				echo '<i class="wl-traffic-light wl-tl-' . esc_attr( $rating['traffic_light_score'] ) . '">' . esc_html( $rating['percentage_score'] ) . '%</i>';
167
+				$rating = $this->rating_service->get_rating_for($entity_id);
168
+				echo '<i class="wl-traffic-light wl-tl-'.esc_attr($rating['traffic_light_score']).'">'.esc_html($rating['percentage_score']).'%</i>';
169 169
 				break;
170 170
 		}
171 171
 
@@ -178,26 +178,26 @@  discard block
 block discarded – undo
178 178
 	 */
179 179
 	public function restrict_manage_posts_classification_scope() {
180 180
 
181
-		if ( ! $this->is_entity_list_screen() ) {
181
+		if ( ! $this->is_entity_list_screen()) {
182 182
 			return;
183 183
 		}
184 184
 
185 185
 		// Was a W already selected?
186
-		$selected = isset( $_GET['wl-classification-scope'] ) ? //phpcs:ignore WordPress.Security.NonceVerification.Recommended
187
-			sanitize_text_field( wp_unslash( (string) $_GET['wl-classification-scope'] ) ) : ''; //phpcs:ignore WordPress.Security.NonceVerification.Recommended
186
+		$selected = isset($_GET['wl-classification-scope']) ? //phpcs:ignore WordPress.Security.NonceVerification.Recommended
187
+			sanitize_text_field(wp_unslash((string) $_GET['wl-classification-scope'])) : ''; //phpcs:ignore WordPress.Security.NonceVerification.Recommended
188 188
 
189 189
 		// Print select box with the 4W
190 190
 		$all_w = array(
191
-			"All 'W'"         => __( "All 'W'", 'wordlift' ),
192
-			WL_WHAT_RELATION  => __( 'What', 'wordlift' ),
193
-			WL_WHO_RELATION   => __( 'Who', 'wordlift' ),
194
-			WL_WHERE_RELATION => __( 'Where', 'wordlift' ),
195
-			WL_WHEN_RELATION  => __( 'When', 'wordlift' ),
191
+			"All 'W'"         => __("All 'W'", 'wordlift'),
192
+			WL_WHAT_RELATION  => __('What', 'wordlift'),
193
+			WL_WHO_RELATION   => __('Who', 'wordlift'),
194
+			WL_WHERE_RELATION => __('Where', 'wordlift'),
195
+			WL_WHEN_RELATION  => __('When', 'wordlift'),
196 196
 		);
197 197
 		echo '<select name="wl-classification-scope" id="wl-dropdown-classification-scope">';
198
-		foreach ( $all_w as $v => $w ) {
199
-			$default = ( $selected === $v ) ? 'selected' : '';
200
-			echo sprintf( '<option value="%s" %s >%s</option>', esc_attr( $v ), esc_html( $default ), esc_html( $w ) );
198
+		foreach ($all_w as $v => $w) {
199
+			$default = ($selected === $v) ? 'selected' : '';
200
+			echo sprintf('<option value="%s" %s >%s</option>', esc_attr($v), esc_html($default), esc_html($w));
201 201
 		}
202 202
 		echo '</select>';
203 203
 	}
@@ -211,14 +211,14 @@  discard block
 block discarded – undo
211 211
 	 * @return array Modified clauses.
212 212
 	 * @since 3.3.0
213 213
 	 */
214
-	public function posts_clauses_classification_scope( $clauses ) {
214
+	public function posts_clauses_classification_scope($clauses) {
215 215
 
216
-		if ( ! ( $this->is_entity_list_screen() && is_main_query() && isset( $_GET['wl-classification-scope'] ) ) ) { //phpcs:ignore WordPress.Security.NonceVerification.Recommended
216
+		if ( ! ($this->is_entity_list_screen() && is_main_query() && isset($_GET['wl-classification-scope']))) { //phpcs:ignore WordPress.Security.NonceVerification.Recommended
217 217
 			return $clauses;
218 218
 		}
219 219
 
220 220
 		// Check a valid W was requested.
221
-		$requested_w = sanitize_text_field( wp_unslash( (string) $_GET['wl-classification-scope'] ) ); //phpcs:ignore WordPress.Security.NonceVerification.Recommended
221
+		$requested_w = sanitize_text_field(wp_unslash((string) $_GET['wl-classification-scope'])); //phpcs:ignore WordPress.Security.NonceVerification.Recommended
222 222
 
223 223
 		$all_w = array(
224 224
 			WL_WHAT_RELATION,
@@ -227,7 +227,7 @@  discard block
 block discarded – undo
227 227
 			WL_WHEN_RELATION,
228 228
 		);
229 229
 
230
-		if ( ! in_array( $requested_w, $all_w, true ) ) {
230
+		if ( ! in_array($requested_w, $all_w, true)) {
231 231
 			return $clauses;
232 232
 		}
233 233
 
@@ -237,7 +237,7 @@  discard block
 block discarded – undo
237 237
 
238 238
 		// Change WP main query clauses.
239 239
 		$clauses['join']     .= "INNER JOIN {$wl_relation_table} ON {$wpdb->posts}.ID = {$wl_relation_table}.object_id";
240
-		$clauses['where']    .= $wpdb->prepare( "AND {$wl_relation_table}.predicate = %s", $requested_w );
240
+		$clauses['where']    .= $wpdb->prepare("AND {$wl_relation_table}.predicate = %s", $requested_w);
241 241
 		$clauses['distinct'] .= 'DISTINCT';
242 242
 
243 243
 		return $clauses;
@@ -251,14 +251,14 @@  discard block
 block discarded – undo
251 251
 	 *
252 252
 	 * @since 3.15.0
253 253
 	 */
254
-	public function pre_get_posts( $query ) {
254
+	public function pre_get_posts($query) {
255 255
 
256
-		if ( ! ( $this->is_entity_list_screen() && $query->is_main_query() ) ) {
256
+		if ( ! ($this->is_entity_list_screen() && $query->is_main_query())) {
257 257
 			return;
258 258
 		}
259 259
 
260 260
 		// Add to the post type all the types considered to be valid post types.
261
-		$query->set( 'post_type', Wordlift_Entity_Service::valid_entity_post_types() );
261
+		$query->set('post_type', Wordlift_Entity_Service::valid_entity_post_types());
262 262
 
263 263
 		// Do not show however entities of type `Article`.
264 264
 		$query->set(
@@ -291,7 +291,7 @@  discard block
 block discarded – undo
291 291
 	public function load_edit() {
292 292
 
293 293
 		// Return safely if get_current_screen() is not defined (yet).
294
-		if ( false === function_exists( 'get_current_screen' ) ) {
294
+		if (false === function_exists('get_current_screen')) {
295 295
 			return;
296 296
 		}
297 297
 
@@ -299,11 +299,11 @@  discard block
 block discarded – undo
299 299
 		$screen = get_current_screen();
300 300
 
301 301
 		// If there is any valid screen nothing to do.
302
-		if ( null === $screen ) {
302
+		if (null === $screen) {
303 303
 			return;
304 304
 		}
305 305
 
306
-		if ( ! ( Wordlift_Entity_Service::TYPE_NAME === $screen->post_type && is_main_query() ) ) {
306
+		if ( ! (Wordlift_Entity_Service::TYPE_NAME === $screen->post_type && is_main_query())) {
307 307
 			return;
308 308
 		}
309 309
 
@@ -316,7 +316,7 @@  discard block
 block discarded – undo
316 316
 		 */
317 317
 		add_action(
318 318
 			'wp',
319
-			function () {
319
+			function() {
320 320
 				global $post_type;
321 321
 				$post_type = Wordlift_Entity_Service::TYPE_NAME; //phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited
322 322
 			},
Please login to merge, or discard this patch.
src/admin/class-wordlift-entity-types-taxonomy-walker.php 2 patches
Indentation   +109 added lines, -109 removed lines patch added patch discarded remove patch
@@ -10,7 +10,7 @@  discard block
 block discarded – undo
10 10
  * @subpackage Wordlift/includes
11 11
  */
12 12
 if ( ! class_exists( 'Walker_Category_Checklist' ) ) {
13
-	require_once ABSPATH . 'wp-admin/includes/template.php';
13
+    require_once ABSPATH . 'wp-admin/includes/template.php';
14 14
 }
15 15
 
16 16
 /**
@@ -24,113 +24,113 @@  discard block
 block discarded – undo
24 24
 // phpcs:ignore Generic.Classes.DuplicateClassName.Found
25 25
 class Wordlift_Entity_Types_Taxonomy_Walker extends Walker_Category_Checklist {
26 26
 
27
-	/**
28
-	 * Entity taxonomy metabox must show exclusive options, no checkboxes.
29
-	 *
30
-	 * @since 3.1.0
31
-	 *
32
-	 * @param       $args     {
33
-	 *                        An array of arguments.
34
-	 *
35
-	 * @type string $taxonomy The taxonomy name.
36
-	 *              }
37
-	 *
38
-	 * @return array An array of arguments, with this walker in case the taxonomy is the Entity Type taxonomy.
39
-	 */
40
-	public function terms_checklist_args( $args ) {
41
-
42
-		if ( ! isset( $args['taxonomy'] ) || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy'] ) {
43
-			return $args;
44
-		}
45
-
46
-		// We override the way WP prints the taxonomy metabox HTML.
47
-		$args['walker']        = $this;
48
-		$args['checked_ontop'] = false;
49
-
50
-		return $args;
51
-
52
-	}
53
-
54
-	/**
55
-	 * Change checkboxes to radios.
56
-	 *
57
-	 * $max_depth = -1 means flatly display every element.
58
-	 * $max_depth = 0 means display all levels.
59
-	 * $max_depth > 0 specifies the number of display levels.
60
-	 *
61
-	 * @since 3.1.0
62
-	 *
63
-	 * @param array $elements  An array of elements.
64
-	 * @param int   $max_depth The maximum hierarchical depth.
65
-	 *
66
-	 * @param array $args      Additional arguments.
67
-	 *
68
-	 * @return string The hierarchical item output.
69
-	 */
70
-	public function walk( $elements, $max_depth, $args = array() ) {
71
-
72
-		// `max_depth` force to -1 to display a flat taxonomy.
73
-		//
74
-		// See https://github.com/insideout10/wordlift-plugin/issues/305
75
-		$output = parent::walk( $elements, - 1, $args );
76
-
77
-		$output = str_replace(
78
-			array( 'type="checkbox"', "type='checkbox'" ),
79
-			array( 'type="radio"', "type='radio'" ),
80
-			$output
81
-		);
82
-
83
-		return $output;
84
-	}
85
-
86
-	/**
87
-	 * Start the element output, output nothing in case of article term.
88
-	 *
89
-	 * @since 3.15.0
90
-	 *
91
-	 * @param string $output   Passed by reference. Used to append additional content.
92
-	 * @param object $category The current term object.
93
-	 * @param int    $depth    Depth of the term in reference to parents. Default 0.
94
-	 * @param array  $args     An array of arguments. @see wp_terms_checklist()
95
-	 * @param int    $id       ID of the current term.
96
-	 */
97
-	public function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
98
-		global $post;
99
-
100
-		if ( ! isset( $post ) ) {
101
-			return;
102
-		}
103
-
104
-		if ( Wordlift_Entity_Service::TYPE_NAME !== $post->post_type
105
-			 || 'article' !== $category->slug
106
-			 || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy'] ) {
107
-			parent::start_el( $output, $category, $depth, $args, $id );
108
-		}
109
-	}
110
-
111
-	/**
112
-	 * End the element output, output nothing in case of article term.
113
-	 *
114
-	 * @since 3.15.0
115
-	 *
116
-	 * @param string $output   Passed by reference. Used to append additional content.
117
-	 * @param object $category The current term object.
118
-	 * @param int    $depth    Depth of the term in reference to parents. Default 0.
119
-	 * @param array  $args     An array of arguments. @see wp_terms_checklist()
120
-	 */
121
-	public function end_el( &$output, $category, $depth = 0, $args = array() ) {
122
-		global $post;
123
-
124
-		if ( ! isset( $post ) ) {
125
-			return;
126
-		}
127
-
128
-		if ( Wordlift_Entity_Service::TYPE_NAME !== $post->post_type
129
-			 || 'article' !== $category->slug
130
-			 || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy'] ) {
131
-			parent::end_el( $output, $category, $depth, $args );
132
-		}
133
-
134
-	}
27
+    /**
28
+     * Entity taxonomy metabox must show exclusive options, no checkboxes.
29
+     *
30
+     * @since 3.1.0
31
+     *
32
+     * @param       $args     {
33
+     *                        An array of arguments.
34
+     *
35
+     * @type string $taxonomy The taxonomy name.
36
+     *              }
37
+     *
38
+     * @return array An array of arguments, with this walker in case the taxonomy is the Entity Type taxonomy.
39
+     */
40
+    public function terms_checklist_args( $args ) {
41
+
42
+        if ( ! isset( $args['taxonomy'] ) || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy'] ) {
43
+            return $args;
44
+        }
45
+
46
+        // We override the way WP prints the taxonomy metabox HTML.
47
+        $args['walker']        = $this;
48
+        $args['checked_ontop'] = false;
49
+
50
+        return $args;
51
+
52
+    }
53
+
54
+    /**
55
+     * Change checkboxes to radios.
56
+     *
57
+     * $max_depth = -1 means flatly display every element.
58
+     * $max_depth = 0 means display all levels.
59
+     * $max_depth > 0 specifies the number of display levels.
60
+     *
61
+     * @since 3.1.0
62
+     *
63
+     * @param array $elements  An array of elements.
64
+     * @param int   $max_depth The maximum hierarchical depth.
65
+     *
66
+     * @param array $args      Additional arguments.
67
+     *
68
+     * @return string The hierarchical item output.
69
+     */
70
+    public function walk( $elements, $max_depth, $args = array() ) {
71
+
72
+        // `max_depth` force to -1 to display a flat taxonomy.
73
+        //
74
+        // See https://github.com/insideout10/wordlift-plugin/issues/305
75
+        $output = parent::walk( $elements, - 1, $args );
76
+
77
+        $output = str_replace(
78
+            array( 'type="checkbox"', "type='checkbox'" ),
79
+            array( 'type="radio"', "type='radio'" ),
80
+            $output
81
+        );
82
+
83
+        return $output;
84
+    }
85
+
86
+    /**
87
+     * Start the element output, output nothing in case of article term.
88
+     *
89
+     * @since 3.15.0
90
+     *
91
+     * @param string $output   Passed by reference. Used to append additional content.
92
+     * @param object $category The current term object.
93
+     * @param int    $depth    Depth of the term in reference to parents. Default 0.
94
+     * @param array  $args     An array of arguments. @see wp_terms_checklist()
95
+     * @param int    $id       ID of the current term.
96
+     */
97
+    public function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
98
+        global $post;
99
+
100
+        if ( ! isset( $post ) ) {
101
+            return;
102
+        }
103
+
104
+        if ( Wordlift_Entity_Service::TYPE_NAME !== $post->post_type
105
+             || 'article' !== $category->slug
106
+             || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy'] ) {
107
+            parent::start_el( $output, $category, $depth, $args, $id );
108
+        }
109
+    }
110
+
111
+    /**
112
+     * End the element output, output nothing in case of article term.
113
+     *
114
+     * @since 3.15.0
115
+     *
116
+     * @param string $output   Passed by reference. Used to append additional content.
117
+     * @param object $category The current term object.
118
+     * @param int    $depth    Depth of the term in reference to parents. Default 0.
119
+     * @param array  $args     An array of arguments. @see wp_terms_checklist()
120
+     */
121
+    public function end_el( &$output, $category, $depth = 0, $args = array() ) {
122
+        global $post;
123
+
124
+        if ( ! isset( $post ) ) {
125
+            return;
126
+        }
127
+
128
+        if ( Wordlift_Entity_Service::TYPE_NAME !== $post->post_type
129
+             || 'article' !== $category->slug
130
+             || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy'] ) {
131
+            parent::end_el( $output, $category, $depth, $args );
132
+        }
133
+
134
+    }
135 135
 
136 136
 }
Please login to merge, or discard this patch.
Spacing   +18 added lines, -18 removed lines patch added patch discarded remove patch
@@ -9,8 +9,8 @@  discard block
 block discarded – undo
9 9
  * @package    Wordlift
10 10
  * @subpackage Wordlift/includes
11 11
  */
12
-if ( ! class_exists( 'Walker_Category_Checklist' ) ) {
13
-	require_once ABSPATH . 'wp-admin/includes/template.php';
12
+if ( ! class_exists('Walker_Category_Checklist')) {
13
+	require_once ABSPATH.'wp-admin/includes/template.php';
14 14
 }
15 15
 
16 16
 /**
@@ -37,9 +37,9 @@  discard block
 block discarded – undo
37 37
 	 *
38 38
 	 * @return array An array of arguments, with this walker in case the taxonomy is the Entity Type taxonomy.
39 39
 	 */
40
-	public function terms_checklist_args( $args ) {
40
+	public function terms_checklist_args($args) {
41 41
 
42
-		if ( ! isset( $args['taxonomy'] ) || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy'] ) {
42
+		if ( ! isset($args['taxonomy']) || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy']) {
43 43
 			return $args;
44 44
 		}
45 45
 
@@ -67,16 +67,16 @@  discard block
 block discarded – undo
67 67
 	 *
68 68
 	 * @return string The hierarchical item output.
69 69
 	 */
70
-	public function walk( $elements, $max_depth, $args = array() ) {
70
+	public function walk($elements, $max_depth, $args = array()) {
71 71
 
72 72
 		// `max_depth` force to -1 to display a flat taxonomy.
73 73
 		//
74 74
 		// See https://github.com/insideout10/wordlift-plugin/issues/305
75
-		$output = parent::walk( $elements, - 1, $args );
75
+		$output = parent::walk($elements, - 1, $args);
76 76
 
77 77
 		$output = str_replace(
78
-			array( 'type="checkbox"', "type='checkbox'" ),
79
-			array( 'type="radio"', "type='radio'" ),
78
+			array('type="checkbox"', "type='checkbox'"),
79
+			array('type="radio"', "type='radio'"),
80 80
 			$output
81 81
 		);
82 82
 
@@ -94,17 +94,17 @@  discard block
 block discarded – undo
94 94
 	 * @param array  $args     An array of arguments. @see wp_terms_checklist()
95 95
 	 * @param int    $id       ID of the current term.
96 96
 	 */
97
-	public function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
97
+	public function start_el(&$output, $category, $depth = 0, $args = array(), $id = 0) {
98 98
 		global $post;
99 99
 
100
-		if ( ! isset( $post ) ) {
100
+		if ( ! isset($post)) {
101 101
 			return;
102 102
 		}
103 103
 
104
-		if ( Wordlift_Entity_Service::TYPE_NAME !== $post->post_type
104
+		if (Wordlift_Entity_Service::TYPE_NAME !== $post->post_type
105 105
 			 || 'article' !== $category->slug
106
-			 || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy'] ) {
107
-			parent::start_el( $output, $category, $depth, $args, $id );
106
+			 || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy']) {
107
+			parent::start_el($output, $category, $depth, $args, $id);
108 108
 		}
109 109
 	}
110 110
 
@@ -118,17 +118,17 @@  discard block
 block discarded – undo
118 118
 	 * @param int    $depth    Depth of the term in reference to parents. Default 0.
119 119
 	 * @param array  $args     An array of arguments. @see wp_terms_checklist()
120 120
 	 */
121
-	public function end_el( &$output, $category, $depth = 0, $args = array() ) {
121
+	public function end_el(&$output, $category, $depth = 0, $args = array()) {
122 122
 		global $post;
123 123
 
124
-		if ( ! isset( $post ) ) {
124
+		if ( ! isset($post)) {
125 125
 			return;
126 126
 		}
127 127
 
128
-		if ( Wordlift_Entity_Service::TYPE_NAME !== $post->post_type
128
+		if (Wordlift_Entity_Service::TYPE_NAME !== $post->post_type
129 129
 			 || 'article' !== $category->slug
130
-			 || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy'] ) {
131
-			parent::end_el( $output, $category, $depth, $args );
130
+			 || Wordlift_Entity_Type_Taxonomy_Service::TAXONOMY_NAME !== $args['taxonomy']) {
131
+			parent::end_el($output, $category, $depth, $args);
132 132
 		}
133 133
 
134 134
 	}
Please login to merge, or discard this patch.
src/admin/class-wordlift-admin-post-edit-page.php 2 patches
Indentation   +290 added lines, -290 removed lines patch added patch discarded remove patch
@@ -20,131 +20,131 @@  discard block
 block discarded – undo
20 20
  */
21 21
 class Wordlift_Admin_Post_Edit_Page {
22 22
 
23
-	/**
24
-	 * Constants to be used instead of text inside FAQ
25
-	 * helper methods.
26
-	 */
27
-	const GUTENBERG       = 'gutenberg';
28
-	const TINY_MCE        = 'tiny_mce';
29
-	const FAQ_LIST_BOX_ID = 'wl-faq-meta-list-box';
30
-
31
-	/** Constant to be used for translation domain */
32
-	const WORDLIFT_TEXT_DOMAIN = 'wordlift';
33
-
34
-	/**
35
-	 * The {@link Wordlift} plugin instance.
36
-	 *
37
-	 * @since 3.11.0
38
-	 *
39
-	 * @var \Wordlift $plugin The {@link Wordlift} plugin instance.
40
-	 */
41
-	private $plugin;
42
-
43
-	/**
44
-	 * A {@link Wordlift_Log_Service} instance.
45
-	 *
46
-	 * @since 3.15.4
47
-	 *
48
-	 * @var \Wordlift_Log_Service $log A {@link Wordlift_Log_Service} instance.
49
-	 */
50
-	private $log;
51
-
52
-	/**
53
-	 * Create the {@link Wordlift_Admin_Post_Edit_Page} instance.
54
-	 *
55
-	 * @param \Wordlift $plugin The {@link Wordlift} plugin instance.
56
-	 *
57
-	 * @since 3.11.0
58
-	 */
59
-	public function __construct( $plugin ) {
60
-
61
-		$this->log = Wordlift_Log_Service::get_logger( get_class() );
62
-
63
-		add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_scripts_gutenberg' ) );
64
-
65
-		// Bail out if we're in the UX Builder editor.
66
-		if ( $this->is_ux_builder_editor() ) {
67
-			$this->log->info( 'WordLift will not show, since we are in UX Builder editor.' );
68
-
69
-			return;
70
-		}
71
-
72
-		// Define the callbacks.
73
-		$callback = array( $this, 'enqueue_scripts' );
74
-		// Set a hook to enqueue scripts only when the edit page is displayed.
75
-		add_action( 'admin_print_scripts-post.php', $callback );
76
-		add_action( 'admin_print_scripts-post-new.php', $callback );
77
-
78
-		$this->plugin = $plugin;
79
-	}
80
-
81
-	/**
82
-	 * Check whether the current post opens with G'berg or not.
83
-	 *
84
-	 * @return bool True if G'berg is used otherwise false.
85
-	 * @since 3.22.3
86
-	 */
87
-	public function is_gutenberg_page() {
88
-		if ( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() ) {
89
-			// The Gutenberg plugin is on.
90
-			return true;
91
-		}
92
-
93
-		$current_screen = get_current_screen();
94
-		if ( method_exists( $current_screen, 'is_block_editor' ) && $current_screen->is_block_editor() ) {
95
-			// Gutenberg page on 5+.
96
-			return true;
97
-		}
98
-
99
-		return false;
100
-	}
101
-
102
-	/**
103
-	 * Check if we're in UX builder.
104
-	 *
105
-	 * @see   https://github.com/insideout10/wordlift-plugin/issues/691
106
-	 *
107
-	 * @since 3.15.4
108
-	 *
109
-	 * @return bool True if we're in UX builder, otherwise false.
110
-	 */
111
-	private function is_ux_builder_editor() {
112
-
113
-		return function_exists( 'ux_builder_is_editor' )
114
-			   && ux_builder_is_editor();
115
-	}
116
-
117
-	/**
118
-	 * Enqueue scripts and styles for the edit page.
119
-	 *
120
-	 * @since 3.11.0
121
-	 */
122
-	public function enqueue_scripts() {
123
-
124
-		// Dequeue potentially conflicting ontrapages angular scripts which any *are not* used on the edit screen.
125
-		//
126
-		// @see https://github.com/insideout10/wordlift-plugin/issues/832
127
-		wp_dequeue_script( 'ontrapagesAngular' );
128
-		wp_dequeue_script( 'ontrapagesApp' );
129
-		wp_dequeue_script( 'ontrapagesController' );
130
-
131
-		// Bail out if this is G'berg.
132
-		if ( $this->is_gutenberg_page() ) {
133
-			return;
134
-		}
135
-
136
-		// If Gutenberg is enabled for the post, do not load the legacy edit.js.
137
-		if ( function_exists( 'use_block_editor_for_post' ) && use_block_editor_for_post( get_post() ) ) {
138
-			return;
139
-		}
140
-
141
-		// Bail out if classification sidebar is not enabled via hook
142
-		// phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
143
-		if ( ! apply_filters( 'wl_feature__enable__classification-sidebar', true ) ) {
144
-			return;
145
-		}
146
-
147
-		/*
23
+    /**
24
+     * Constants to be used instead of text inside FAQ
25
+     * helper methods.
26
+     */
27
+    const GUTENBERG       = 'gutenberg';
28
+    const TINY_MCE        = 'tiny_mce';
29
+    const FAQ_LIST_BOX_ID = 'wl-faq-meta-list-box';
30
+
31
+    /** Constant to be used for translation domain */
32
+    const WORDLIFT_TEXT_DOMAIN = 'wordlift';
33
+
34
+    /**
35
+     * The {@link Wordlift} plugin instance.
36
+     *
37
+     * @since 3.11.0
38
+     *
39
+     * @var \Wordlift $plugin The {@link Wordlift} plugin instance.
40
+     */
41
+    private $plugin;
42
+
43
+    /**
44
+     * A {@link Wordlift_Log_Service} instance.
45
+     *
46
+     * @since 3.15.4
47
+     *
48
+     * @var \Wordlift_Log_Service $log A {@link Wordlift_Log_Service} instance.
49
+     */
50
+    private $log;
51
+
52
+    /**
53
+     * Create the {@link Wordlift_Admin_Post_Edit_Page} instance.
54
+     *
55
+     * @param \Wordlift $plugin The {@link Wordlift} plugin instance.
56
+     *
57
+     * @since 3.11.0
58
+     */
59
+    public function __construct( $plugin ) {
60
+
61
+        $this->log = Wordlift_Log_Service::get_logger( get_class() );
62
+
63
+        add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_scripts_gutenberg' ) );
64
+
65
+        // Bail out if we're in the UX Builder editor.
66
+        if ( $this->is_ux_builder_editor() ) {
67
+            $this->log->info( 'WordLift will not show, since we are in UX Builder editor.' );
68
+
69
+            return;
70
+        }
71
+
72
+        // Define the callbacks.
73
+        $callback = array( $this, 'enqueue_scripts' );
74
+        // Set a hook to enqueue scripts only when the edit page is displayed.
75
+        add_action( 'admin_print_scripts-post.php', $callback );
76
+        add_action( 'admin_print_scripts-post-new.php', $callback );
77
+
78
+        $this->plugin = $plugin;
79
+    }
80
+
81
+    /**
82
+     * Check whether the current post opens with G'berg or not.
83
+     *
84
+     * @return bool True if G'berg is used otherwise false.
85
+     * @since 3.22.3
86
+     */
87
+    public function is_gutenberg_page() {
88
+        if ( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() ) {
89
+            // The Gutenberg plugin is on.
90
+            return true;
91
+        }
92
+
93
+        $current_screen = get_current_screen();
94
+        if ( method_exists( $current_screen, 'is_block_editor' ) && $current_screen->is_block_editor() ) {
95
+            // Gutenberg page on 5+.
96
+            return true;
97
+        }
98
+
99
+        return false;
100
+    }
101
+
102
+    /**
103
+     * Check if we're in UX builder.
104
+     *
105
+     * @see   https://github.com/insideout10/wordlift-plugin/issues/691
106
+     *
107
+     * @since 3.15.4
108
+     *
109
+     * @return bool True if we're in UX builder, otherwise false.
110
+     */
111
+    private function is_ux_builder_editor() {
112
+
113
+        return function_exists( 'ux_builder_is_editor' )
114
+               && ux_builder_is_editor();
115
+    }
116
+
117
+    /**
118
+     * Enqueue scripts and styles for the edit page.
119
+     *
120
+     * @since 3.11.0
121
+     */
122
+    public function enqueue_scripts() {
123
+
124
+        // Dequeue potentially conflicting ontrapages angular scripts which any *are not* used on the edit screen.
125
+        //
126
+        // @see https://github.com/insideout10/wordlift-plugin/issues/832
127
+        wp_dequeue_script( 'ontrapagesAngular' );
128
+        wp_dequeue_script( 'ontrapagesApp' );
129
+        wp_dequeue_script( 'ontrapagesController' );
130
+
131
+        // Bail out if this is G'berg.
132
+        if ( $this->is_gutenberg_page() ) {
133
+            return;
134
+        }
135
+
136
+        // If Gutenberg is enabled for the post, do not load the legacy edit.js.
137
+        if ( function_exists( 'use_block_editor_for_post' ) && use_block_editor_for_post( get_post() ) ) {
138
+            return;
139
+        }
140
+
141
+        // Bail out if classification sidebar is not enabled via hook
142
+        // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
143
+        if ( ! apply_filters( 'wl_feature__enable__classification-sidebar', true ) ) {
144
+            return;
145
+        }
146
+
147
+        /*
148 148
 		 * Enqueue the edit screen JavaScript. The `wordlift-admin.bundle.js` file
149 149
 		 * is scheduled to replace the older `wordlift-admin.min.js` once client-side
150 150
 		 * code is properly refactored.
@@ -153,178 +153,178 @@  discard block
 block discarded – undo
153 153
 		 *
154 154
 		 * @since 3.20.0 edit.js has been migrated to the new webpack configuration.
155 155
 		 */
156
-		$script_name = plugin_dir_url( __DIR__ ) . 'js/dist/edit';
157
-
158
-		/**
159
-		 * Scripts_Helper introduced.
160
-		 *
161
-		 * @since 3.25.0 Scripts are loaded using script helper to ensure WP 4.4 compatibiility.
162
-		 * @since 3.25.1 The handle is used to hook the wp_localize_script for the _wlEntityTypes global object.
163
-		 */
164
-		Scripts_Helper::enqueue_based_on_wordpress_version(
165
-			'wl-classic-editor',
166
-			$script_name,
167
-			array(
168
-				$this->plugin->get_plugin_name(),
169
-				'jquery',
170
-				// Require wp.ajax.
171
-				'wp-util',
172
-				// @@todo: provide the following dependencies when we're in WP < 5.0 (i.e. when these dependencies aren't already defined).
173
-				'react',
174
-				'react-dom',
175
-				'wp-element',
176
-				'wp-polyfill',
177
-				/*
156
+        $script_name = plugin_dir_url( __DIR__ ) . 'js/dist/edit';
157
+
158
+        /**
159
+         * Scripts_Helper introduced.
160
+         *
161
+         * @since 3.25.0 Scripts are loaded using script helper to ensure WP 4.4 compatibiility.
162
+         * @since 3.25.1 The handle is used to hook the wp_localize_script for the _wlEntityTypes global object.
163
+         */
164
+        Scripts_Helper::enqueue_based_on_wordpress_version(
165
+            'wl-classic-editor',
166
+            $script_name,
167
+            array(
168
+                $this->plugin->get_plugin_name(),
169
+                'jquery',
170
+                // Require wp.ajax.
171
+                'wp-util',
172
+                // @@todo: provide the following dependencies when we're in WP < 5.0 (i.e. when these dependencies aren't already defined).
173
+                'react',
174
+                'react-dom',
175
+                'wp-element',
176
+                'wp-polyfill',
177
+                /*
178 178
 				* Angular isn't loaded anymore remotely, but it is loaded within wordlift-reloaded.js.
179 179
 				*
180 180
 				* See https://github.com/insideout10/wordlift-plugin/issues/865.
181 181
 				*
182 182
 				* @since 3.19.6
183 183
 				*/
184
-				// Require Angular.
185
-				// 'wl-angular',
186
-				// 'wl-angular-geolocation',
187
-				// 'wl-angular-touch',
188
-				// 'wl-angular-animate',
189
-				/**
190
-				 * We need the `wp.hooks` global to allow the edit.js script to send actions.
191
-				 *
192
-				 * @since 3.23.0
193
-				 */
194
-				'wp-hooks',
195
-			)
196
-		);
197
-
198
-		wp_enqueue_style( 'wl-classic-editor', "$script_name.css", array(), $this->plugin->get_version() );
199
-		// Disable Faq Editor.
200
-		// $this->load_faq_scripts_and_styles();
201
-		// $this->load_faq_settings( self::TINY_MCE );
202
-	}
203
-
204
-	/**
205
-	 * Enqueue the scripts and styles needed for FAQ
206
-	 */
207
-	private function load_faq_scripts_and_styles() {
208
-		wp_enqueue_style(
209
-			'wl-faq-metabox-style',
210
-			plugin_dir_url( __DIR__ ) . 'js/dist/faq.css',
211
-			array(),
212
-			WORDLIFT_VERSION
213
-		);
214
-		Scripts_Helper::enqueue_based_on_wordpress_version(
215
-			'wl-faq-metabox-script',
216
-			plugin_dir_url( __DIR__ ) . 'js/dist/faq',
217
-			array( 'wp-polyfill' ),
218
-			true
219
-		);
220
-	}
221
-
222
-	/**
223
-	 * Get FAQ settings array
224
-	 *
225
-	 * @return array
226
-	 */
227
-	public function get_faq_settings() {
228
-		return array(
229
-			'restUrl'                 => get_rest_url( null, WL_REST_ROUTE_DEFAULT_NAMESPACE . '/faq' ),
230
-			'listBoxId'               => self::FAQ_LIST_BOX_ID,
231
-			'nonce'                   => wp_create_nonce( 'wp_rest' ),
232
-			'postId'                  => get_the_ID(),
233
-			// Translation for warning, error message.
234
-			/* translators: %s: The invalid tag. */
235
-			'invalidTagMessage'       => sprintf( __( 'Invalid tags %s is present in answer', 'wordlift' ), '{INVALID_TAGS}' ),
236
-			/* translators: %s: The word count limit warning. */
237
-			'invalidWordCountMessage' => sprintf( __( 'Answer word count must not exceed %s words', 'wordlift' ), '{ANSWER_WORD_COUNT_WARNING_LIMIT}' ),
238
-			'questionText'            => __( 'Question', 'wordlift' ),
239
-			'answerText'              => __( 'Answer', 'wordlift' ),
240
-			'addQuestionOrAnswerText' => __( 'Add Question / Answer', 'wordlift' ),
241
-			'addQuestionText'         => __( 'Add Question', 'wordlift' ),
242
-			'addAnswerText'           => __( 'Add Answer', 'wordlift' ),
243
-			'noFaqItemsText'          => __( 'Highlight a question in content, then click Add Question.', 'wordlift' ),
244
-			'updatingText'            => __( 'Updating...', 'wordlift' ),
245
-		);
246
-	}
247
-
248
-	/**
249
-	 * Load FAQ settings to the add/edit post page
250
-	 *
251
-	 * @param $editor string specifying which text editor needed to be used.
252
-	 */
253
-	private function load_faq_settings( $editor ) {
254
-		// This script also provides translations to gutenberg.
255
-		wp_localize_script( 'wl-faq-metabox-script', '_wlFaqSettings', $this->get_faq_settings() );
256
-
257
-		// Enqueue the FAQ style
258
-		if ( self::GUTENBERG === $editor ) {
259
-			Scripts_Helper::enqueue_based_on_wordpress_version(
260
-				'wl-faq-gutenberg-plugin',
261
-				plugin_dir_url( __DIR__ ) . 'js/dist/block-editor-faq-plugin',
262
-				array( 'wp-polyfill' ),
263
-				true
264
-			);
265
-		}
266
-	}
267
-
268
-	/**
269
-	 * Enqueue scripts and styles for the gutenberg edit page.
270
-	 *
271
-	 * @since 3.21.0
272
-	 */
273
-	public function enqueue_scripts_gutenberg() {
274
-		// Load FAQ settings. - Disabled for now
275
-		// $this->load_faq_scripts_and_styles();
276
-		// $this->load_faq_settings( self::GUTENBERG );
277
-
278
-		wp_register_script(
279
-			'wl-block-editor',
280
-			plugin_dir_url( __DIR__ ) . 'js/dist/block-editor.js',
281
-			array(
282
-				'react',
283
-				'wordlift',
284
-				'wp-hooks',
285
-				'wp-data',
286
-				'wp-rich-text',
287
-				'wp-blocks',
288
-				'wp-plugins',
289
-				'wp-edit-post',
290
-			),
291
-			$this->plugin->get_version(),
292
-			false
293
-		);
294
-		wp_localize_script(
295
-			'wl-block-editor',
296
-			'_wlBlockEditorSettings',
297
-			array(
298
-				'root'  => esc_url_raw( rest_url() ),
299
-				'nonce' => wp_create_nonce( 'wp_rest' ),
300
-			)
301
-		);
302
-
303
-		/*
184
+                // Require Angular.
185
+                // 'wl-angular',
186
+                // 'wl-angular-geolocation',
187
+                // 'wl-angular-touch',
188
+                // 'wl-angular-animate',
189
+                /**
190
+                 * We need the `wp.hooks` global to allow the edit.js script to send actions.
191
+                 *
192
+                 * @since 3.23.0
193
+                 */
194
+                'wp-hooks',
195
+            )
196
+        );
197
+
198
+        wp_enqueue_style( 'wl-classic-editor', "$script_name.css", array(), $this->plugin->get_version() );
199
+        // Disable Faq Editor.
200
+        // $this->load_faq_scripts_and_styles();
201
+        // $this->load_faq_settings( self::TINY_MCE );
202
+    }
203
+
204
+    /**
205
+     * Enqueue the scripts and styles needed for FAQ
206
+     */
207
+    private function load_faq_scripts_and_styles() {
208
+        wp_enqueue_style(
209
+            'wl-faq-metabox-style',
210
+            plugin_dir_url( __DIR__ ) . 'js/dist/faq.css',
211
+            array(),
212
+            WORDLIFT_VERSION
213
+        );
214
+        Scripts_Helper::enqueue_based_on_wordpress_version(
215
+            'wl-faq-metabox-script',
216
+            plugin_dir_url( __DIR__ ) . 'js/dist/faq',
217
+            array( 'wp-polyfill' ),
218
+            true
219
+        );
220
+    }
221
+
222
+    /**
223
+     * Get FAQ settings array
224
+     *
225
+     * @return array
226
+     */
227
+    public function get_faq_settings() {
228
+        return array(
229
+            'restUrl'                 => get_rest_url( null, WL_REST_ROUTE_DEFAULT_NAMESPACE . '/faq' ),
230
+            'listBoxId'               => self::FAQ_LIST_BOX_ID,
231
+            'nonce'                   => wp_create_nonce( 'wp_rest' ),
232
+            'postId'                  => get_the_ID(),
233
+            // Translation for warning, error message.
234
+            /* translators: %s: The invalid tag. */
235
+            'invalidTagMessage'       => sprintf( __( 'Invalid tags %s is present in answer', 'wordlift' ), '{INVALID_TAGS}' ),
236
+            /* translators: %s: The word count limit warning. */
237
+            'invalidWordCountMessage' => sprintf( __( 'Answer word count must not exceed %s words', 'wordlift' ), '{ANSWER_WORD_COUNT_WARNING_LIMIT}' ),
238
+            'questionText'            => __( 'Question', 'wordlift' ),
239
+            'answerText'              => __( 'Answer', 'wordlift' ),
240
+            'addQuestionOrAnswerText' => __( 'Add Question / Answer', 'wordlift' ),
241
+            'addQuestionText'         => __( 'Add Question', 'wordlift' ),
242
+            'addAnswerText'           => __( 'Add Answer', 'wordlift' ),
243
+            'noFaqItemsText'          => __( 'Highlight a question in content, then click Add Question.', 'wordlift' ),
244
+            'updatingText'            => __( 'Updating...', 'wordlift' ),
245
+        );
246
+    }
247
+
248
+    /**
249
+     * Load FAQ settings to the add/edit post page
250
+     *
251
+     * @param $editor string specifying which text editor needed to be used.
252
+     */
253
+    private function load_faq_settings( $editor ) {
254
+        // This script also provides translations to gutenberg.
255
+        wp_localize_script( 'wl-faq-metabox-script', '_wlFaqSettings', $this->get_faq_settings() );
256
+
257
+        // Enqueue the FAQ style
258
+        if ( self::GUTENBERG === $editor ) {
259
+            Scripts_Helper::enqueue_based_on_wordpress_version(
260
+                'wl-faq-gutenberg-plugin',
261
+                plugin_dir_url( __DIR__ ) . 'js/dist/block-editor-faq-plugin',
262
+                array( 'wp-polyfill' ),
263
+                true
264
+            );
265
+        }
266
+    }
267
+
268
+    /**
269
+     * Enqueue scripts and styles for the gutenberg edit page.
270
+     *
271
+     * @since 3.21.0
272
+     */
273
+    public function enqueue_scripts_gutenberg() {
274
+        // Load FAQ settings. - Disabled for now
275
+        // $this->load_faq_scripts_and_styles();
276
+        // $this->load_faq_settings( self::GUTENBERG );
277
+
278
+        wp_register_script(
279
+            'wl-block-editor',
280
+            plugin_dir_url( __DIR__ ) . 'js/dist/block-editor.js',
281
+            array(
282
+                'react',
283
+                'wordlift',
284
+                'wp-hooks',
285
+                'wp-data',
286
+                'wp-rich-text',
287
+                'wp-blocks',
288
+                'wp-plugins',
289
+                'wp-edit-post',
290
+            ),
291
+            $this->plugin->get_version(),
292
+            false
293
+        );
294
+        wp_localize_script(
295
+            'wl-block-editor',
296
+            '_wlBlockEditorSettings',
297
+            array(
298
+                'root'  => esc_url_raw( rest_url() ),
299
+                'nonce' => wp_create_nonce( 'wp_rest' ),
300
+            )
301
+        );
302
+
303
+        /*
304 304
 		 * @since 3.25.1 The hook is used by the wp_localize_script to register the _wlEntityTypes global object.
305 305
 		 */
306
-		wp_enqueue_style(
307
-			'wl-block-editor',
308
-			plugin_dir_url( __DIR__ ) . 'js/dist/block-editor.css',
309
-			array(),
310
-			$this->plugin->get_version()
311
-		);
312
-
313
-		wp_enqueue_script(
314
-			'wl-autocomplete-select',
315
-			plugin_dir_url( __DIR__ ) . 'js/dist/autocomplete-select.js',
316
-			array(),
317
-			$this->plugin->get_version(),
318
-			true
319
-		);
320
-
321
-		wp_enqueue_style(
322
-			'wl-autocomplete-select',
323
-			plugin_dir_url( __DIR__ ) . 'js/dist/autocomplete-select.css',
324
-			array(),
325
-			$this->plugin->get_version()
326
-		);
327
-
328
-	}
306
+        wp_enqueue_style(
307
+            'wl-block-editor',
308
+            plugin_dir_url( __DIR__ ) . 'js/dist/block-editor.css',
309
+            array(),
310
+            $this->plugin->get_version()
311
+        );
312
+
313
+        wp_enqueue_script(
314
+            'wl-autocomplete-select',
315
+            plugin_dir_url( __DIR__ ) . 'js/dist/autocomplete-select.js',
316
+            array(),
317
+            $this->plugin->get_version(),
318
+            true
319
+        );
320
+
321
+        wp_enqueue_style(
322
+            'wl-autocomplete-select',
323
+            plugin_dir_url( __DIR__ ) . 'js/dist/autocomplete-select.css',
324
+            array(),
325
+            $this->plugin->get_version()
326
+        );
327
+
328
+    }
329 329
 
330 330
 }
Please login to merge, or discard this patch.
Spacing   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -56,24 +56,24 @@  discard block
 block discarded – undo
56 56
 	 *
57 57
 	 * @since 3.11.0
58 58
 	 */
59
-	public function __construct( $plugin ) {
59
+	public function __construct($plugin) {
60 60
 
61
-		$this->log = Wordlift_Log_Service::get_logger( get_class() );
61
+		$this->log = Wordlift_Log_Service::get_logger(get_class());
62 62
 
63
-		add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_scripts_gutenberg' ) );
63
+		add_action('enqueue_block_editor_assets', array($this, 'enqueue_scripts_gutenberg'));
64 64
 
65 65
 		// Bail out if we're in the UX Builder editor.
66
-		if ( $this->is_ux_builder_editor() ) {
67
-			$this->log->info( 'WordLift will not show, since we are in UX Builder editor.' );
66
+		if ($this->is_ux_builder_editor()) {
67
+			$this->log->info('WordLift will not show, since we are in UX Builder editor.');
68 68
 
69 69
 			return;
70 70
 		}
71 71
 
72 72
 		// Define the callbacks.
73
-		$callback = array( $this, 'enqueue_scripts' );
73
+		$callback = array($this, 'enqueue_scripts');
74 74
 		// Set a hook to enqueue scripts only when the edit page is displayed.
75
-		add_action( 'admin_print_scripts-post.php', $callback );
76
-		add_action( 'admin_print_scripts-post-new.php', $callback );
75
+		add_action('admin_print_scripts-post.php', $callback);
76
+		add_action('admin_print_scripts-post-new.php', $callback);
77 77
 
78 78
 		$this->plugin = $plugin;
79 79
 	}
@@ -85,13 +85,13 @@  discard block
 block discarded – undo
85 85
 	 * @since 3.22.3
86 86
 	 */
87 87
 	public function is_gutenberg_page() {
88
-		if ( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() ) {
88
+		if (function_exists('is_gutenberg_page') && is_gutenberg_page()) {
89 89
 			// The Gutenberg plugin is on.
90 90
 			return true;
91 91
 		}
92 92
 
93 93
 		$current_screen = get_current_screen();
94
-		if ( method_exists( $current_screen, 'is_block_editor' ) && $current_screen->is_block_editor() ) {
94
+		if (method_exists($current_screen, 'is_block_editor') && $current_screen->is_block_editor()) {
95 95
 			// Gutenberg page on 5+.
96 96
 			return true;
97 97
 		}
@@ -110,7 +110,7 @@  discard block
 block discarded – undo
110 110
 	 */
111 111
 	private function is_ux_builder_editor() {
112 112
 
113
-		return function_exists( 'ux_builder_is_editor' )
113
+		return function_exists('ux_builder_is_editor')
114 114
 			   && ux_builder_is_editor();
115 115
 	}
116 116
 
@@ -124,23 +124,23 @@  discard block
 block discarded – undo
124 124
 		// Dequeue potentially conflicting ontrapages angular scripts which any *are not* used on the edit screen.
125 125
 		//
126 126
 		// @see https://github.com/insideout10/wordlift-plugin/issues/832
127
-		wp_dequeue_script( 'ontrapagesAngular' );
128
-		wp_dequeue_script( 'ontrapagesApp' );
129
-		wp_dequeue_script( 'ontrapagesController' );
127
+		wp_dequeue_script('ontrapagesAngular');
128
+		wp_dequeue_script('ontrapagesApp');
129
+		wp_dequeue_script('ontrapagesController');
130 130
 
131 131
 		// Bail out if this is G'berg.
132
-		if ( $this->is_gutenberg_page() ) {
132
+		if ($this->is_gutenberg_page()) {
133 133
 			return;
134 134
 		}
135 135
 
136 136
 		// If Gutenberg is enabled for the post, do not load the legacy edit.js.
137
-		if ( function_exists( 'use_block_editor_for_post' ) && use_block_editor_for_post( get_post() ) ) {
137
+		if (function_exists('use_block_editor_for_post') && use_block_editor_for_post(get_post())) {
138 138
 			return;
139 139
 		}
140 140
 
141 141
 		// Bail out if classification sidebar is not enabled via hook
142 142
 		// phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
143
-		if ( ! apply_filters( 'wl_feature__enable__classification-sidebar', true ) ) {
143
+		if ( ! apply_filters('wl_feature__enable__classification-sidebar', true)) {
144 144
 			return;
145 145
 		}
146 146
 
@@ -153,7 +153,7 @@  discard block
 block discarded – undo
153 153
 		 *
154 154
 		 * @since 3.20.0 edit.js has been migrated to the new webpack configuration.
155 155
 		 */
156
-		$script_name = plugin_dir_url( __DIR__ ) . 'js/dist/edit';
156
+		$script_name = plugin_dir_url(__DIR__).'js/dist/edit';
157 157
 
158 158
 		/**
159 159
 		 * Scripts_Helper introduced.
@@ -195,7 +195,7 @@  discard block
 block discarded – undo
195 195
 			)
196 196
 		);
197 197
 
198
-		wp_enqueue_style( 'wl-classic-editor', "$script_name.css", array(), $this->plugin->get_version() );
198
+		wp_enqueue_style('wl-classic-editor', "$script_name.css", array(), $this->plugin->get_version());
199 199
 		// Disable Faq Editor.
200 200
 		// $this->load_faq_scripts_and_styles();
201 201
 		// $this->load_faq_settings( self::TINY_MCE );
@@ -207,14 +207,14 @@  discard block
 block discarded – undo
207 207
 	private function load_faq_scripts_and_styles() {
208 208
 		wp_enqueue_style(
209 209
 			'wl-faq-metabox-style',
210
-			plugin_dir_url( __DIR__ ) . 'js/dist/faq.css',
210
+			plugin_dir_url(__DIR__).'js/dist/faq.css',
211 211
 			array(),
212 212
 			WORDLIFT_VERSION
213 213
 		);
214 214
 		Scripts_Helper::enqueue_based_on_wordpress_version(
215 215
 			'wl-faq-metabox-script',
216
-			plugin_dir_url( __DIR__ ) . 'js/dist/faq',
217
-			array( 'wp-polyfill' ),
216
+			plugin_dir_url(__DIR__).'js/dist/faq',
217
+			array('wp-polyfill'),
218 218
 			true
219 219
 		);
220 220
 	}
@@ -226,22 +226,22 @@  discard block
 block discarded – undo
226 226
 	 */
227 227
 	public function get_faq_settings() {
228 228
 		return array(
229
-			'restUrl'                 => get_rest_url( null, WL_REST_ROUTE_DEFAULT_NAMESPACE . '/faq' ),
229
+			'restUrl'                 => get_rest_url(null, WL_REST_ROUTE_DEFAULT_NAMESPACE.'/faq'),
230 230
 			'listBoxId'               => self::FAQ_LIST_BOX_ID,
231
-			'nonce'                   => wp_create_nonce( 'wp_rest' ),
231
+			'nonce'                   => wp_create_nonce('wp_rest'),
232 232
 			'postId'                  => get_the_ID(),
233 233
 			// Translation for warning, error message.
234 234
 			/* translators: %s: The invalid tag. */
235
-			'invalidTagMessage'       => sprintf( __( 'Invalid tags %s is present in answer', 'wordlift' ), '{INVALID_TAGS}' ),
235
+			'invalidTagMessage'       => sprintf(__('Invalid tags %s is present in answer', 'wordlift'), '{INVALID_TAGS}'),
236 236
 			/* translators: %s: The word count limit warning. */
237
-			'invalidWordCountMessage' => sprintf( __( 'Answer word count must not exceed %s words', 'wordlift' ), '{ANSWER_WORD_COUNT_WARNING_LIMIT}' ),
238
-			'questionText'            => __( 'Question', 'wordlift' ),
239
-			'answerText'              => __( 'Answer', 'wordlift' ),
240
-			'addQuestionOrAnswerText' => __( 'Add Question / Answer', 'wordlift' ),
241
-			'addQuestionText'         => __( 'Add Question', 'wordlift' ),
242
-			'addAnswerText'           => __( 'Add Answer', 'wordlift' ),
243
-			'noFaqItemsText'          => __( 'Highlight a question in content, then click Add Question.', 'wordlift' ),
244
-			'updatingText'            => __( 'Updating...', 'wordlift' ),
237
+			'invalidWordCountMessage' => sprintf(__('Answer word count must not exceed %s words', 'wordlift'), '{ANSWER_WORD_COUNT_WARNING_LIMIT}'),
238
+			'questionText'            => __('Question', 'wordlift'),
239
+			'answerText'              => __('Answer', 'wordlift'),
240
+			'addQuestionOrAnswerText' => __('Add Question / Answer', 'wordlift'),
241
+			'addQuestionText'         => __('Add Question', 'wordlift'),
242
+			'addAnswerText'           => __('Add Answer', 'wordlift'),
243
+			'noFaqItemsText'          => __('Highlight a question in content, then click Add Question.', 'wordlift'),
244
+			'updatingText'            => __('Updating...', 'wordlift'),
245 245
 		);
246 246
 	}
247 247
 
@@ -250,16 +250,16 @@  discard block
 block discarded – undo
250 250
 	 *
251 251
 	 * @param $editor string specifying which text editor needed to be used.
252 252
 	 */
253
-	private function load_faq_settings( $editor ) {
253
+	private function load_faq_settings($editor) {
254 254
 		// This script also provides translations to gutenberg.
255
-		wp_localize_script( 'wl-faq-metabox-script', '_wlFaqSettings', $this->get_faq_settings() );
255
+		wp_localize_script('wl-faq-metabox-script', '_wlFaqSettings', $this->get_faq_settings());
256 256
 
257 257
 		// Enqueue the FAQ style
258
-		if ( self::GUTENBERG === $editor ) {
258
+		if (self::GUTENBERG === $editor) {
259 259
 			Scripts_Helper::enqueue_based_on_wordpress_version(
260 260
 				'wl-faq-gutenberg-plugin',
261
-				plugin_dir_url( __DIR__ ) . 'js/dist/block-editor-faq-plugin',
262
-				array( 'wp-polyfill' ),
261
+				plugin_dir_url(__DIR__).'js/dist/block-editor-faq-plugin',
262
+				array('wp-polyfill'),
263 263
 				true
264 264
 			);
265 265
 		}
@@ -277,7 +277,7 @@  discard block
 block discarded – undo
277 277
 
278 278
 		wp_register_script(
279 279
 			'wl-block-editor',
280
-			plugin_dir_url( __DIR__ ) . 'js/dist/block-editor.js',
280
+			plugin_dir_url(__DIR__).'js/dist/block-editor.js',
281 281
 			array(
282 282
 				'react',
283 283
 				'wordlift',
@@ -295,8 +295,8 @@  discard block
 block discarded – undo
295 295
 			'wl-block-editor',
296 296
 			'_wlBlockEditorSettings',
297 297
 			array(
298
-				'root'  => esc_url_raw( rest_url() ),
299
-				'nonce' => wp_create_nonce( 'wp_rest' ),
298
+				'root'  => esc_url_raw(rest_url()),
299
+				'nonce' => wp_create_nonce('wp_rest'),
300 300
 			)
301 301
 		);
302 302
 
@@ -305,14 +305,14 @@  discard block
 block discarded – undo
305 305
 		 */
306 306
 		wp_enqueue_style(
307 307
 			'wl-block-editor',
308
-			plugin_dir_url( __DIR__ ) . 'js/dist/block-editor.css',
308
+			plugin_dir_url(__DIR__).'js/dist/block-editor.css',
309 309
 			array(),
310 310
 			$this->plugin->get_version()
311 311
 		);
312 312
 
313 313
 		wp_enqueue_script(
314 314
 			'wl-autocomplete-select',
315
-			plugin_dir_url( __DIR__ ) . 'js/dist/autocomplete-select.js',
315
+			plugin_dir_url(__DIR__).'js/dist/autocomplete-select.js',
316 316
 			array(),
317 317
 			$this->plugin->get_version(),
318 318
 			true
@@ -320,7 +320,7 @@  discard block
 block discarded – undo
320 320
 
321 321
 		wp_enqueue_style(
322 322
 			'wl-autocomplete-select',
323
-			plugin_dir_url( __DIR__ ) . 'js/dist/autocomplete-select.css',
323
+			plugin_dir_url(__DIR__).'js/dist/autocomplete-select.css',
324 324
 			array(),
325 325
 			$this->plugin->get_version()
326 326
 		);
Please login to merge, or discard this patch.
src/admin/class-wordlift-admin-settings-analytics-page.php 2 patches
Indentation   +303 added lines, -303 removed lines patch added patch discarded remove patch
@@ -18,308 +18,308 @@
 block discarded – undo
18 18
  */
19 19
 class Wordlift_Admin_Settings_Analytics_Page extends Wordlift_Admin_Page {
20 20
 
21
-	/**
22
-	 * A singleton instance of the Notice service.
23
-	 *
24
-	 * @since  3.21.0
25
-	 * @access private
26
-	 * @var \Wordlift_Admin_Settings_Analytics_Page $instance A singleton instance of a {@link Wordlift_Admin_Settings_Analytics_Page} class.
27
-	 */
28
-	private static $instance;
29
-
30
-	/**
31
-	 * A {@link Wordlift_Admin_Input_Element} element renderer.
32
-	 *
33
-	 * @since  3.21.0
34
-	 * @access private
35
-	 * @var \Wordlift_Admin_Input_Element $input_element An {@link Wordlift_Admin_Input_Element} element renderer.
36
-	 */
37
-	private $input_element;
38
-
39
-	/**
40
-	 * A {@link Wordlift_Admin_Radio_Input_Element} element renderer.
41
-	 *
42
-	 * @since  3.21.0
43
-	 * @access protected
44
-	 * @var \Wordlift_Admin_Radio_Input_Element $radio_input_element A {@link Wordlift_Admin_Radio_Input_Element} element renderer.
45
-	 */
46
-	private $radio_input_element;
47
-
48
-	/**
49
-	 * Create a {@link Wordlift_Admin_Settings_Page} instance.
50
-	 *
51
-	 * @param \Wordlift_Admin_Input_Element       $input_element An input element class to output input boxes in a settings form.
52
-	 * @param \Wordlift_Admin_Radio_Input_Element $radio_input_element A radio element input class for use in a settings form.
53
-	 *
54
-	 * @since 3.21.0
55
-	 */
56
-	public function __construct( $input_element, $radio_input_element ) {
57
-
58
-		// Set a reference to the UI elements.
59
-		$this->input_element       = $input_element;
60
-		$this->radio_input_element = $radio_input_element;
61
-
62
-		// Adds this page to the main admin settings tabbed menu.
63
-		add_filter( 'wl_admin_page_tabs', array( $this, 'add_admin_page_tab' ) );
64
-
65
-		self::$instance = $this;
66
-	}
67
-
68
-	/**
69
-	 * Get the singleton instance of the Notice service.
70
-	 *
71
-	 * @return \Wordlift_Admin_Settings_Page The singleton instance of the settings page service.
72
-	 * @since 3.21.0
73
-	 */
74
-	public static function get_instance() {
75
-
76
-		return self::$instance;
77
-	}
78
-
79
-	/**
80
-	 * @inheritdoc
81
-	 */
82
-	protected function get_parent_slug() {
83
-
84
-		return 'wl_admin_menu';
85
-	}
86
-
87
-	/**
88
-	 * @inheritdoc
89
-	 */
90
-	protected function get_capability() {
91
-
92
-		return 'manage_options';
93
-	}
94
-
95
-	/**
96
-	 * @inheritdoc
97
-	 */
98
-	public function get_page_title() {
99
-
100
-		return __( 'WorldLift Analytics Settings', 'wordlift' );
101
-	}
102
-
103
-	/**
104
-	 * @inheritdoc
105
-	 */
106
-	public function get_menu_title() {
107
-
108
-		return __( 'Analytics Settings', 'wordlift' );
109
-	}
110
-
111
-	/**
112
-	 * @inheritdoc
113
-	 */
114
-	public function get_menu_slug() {
115
-
116
-		return 'wl_configuration_admin_analytics_menu';
117
-	}
118
-
119
-	/**
120
-	 * @inheritdoc
121
-	 */
122
-	public function get_partial_name() {
123
-
124
-		return 'wordlift-admin-settings-analytics-page.php';
125
-	}
126
-
127
-	/**
128
-	 * Returns the string to use for the tab slug on main admin settings page.
129
-	 *
130
-	 * @method get_admin_page_tab_slug
131
-	 * @return string
132
-	 * @since  3.21.0
133
-	 */
134
-	public function get_admin_page_tab_slug() {
135
-		return 'analytics';
136
-	}
137
-
138
-	/**
139
-	 * Adds pages to the tabs menu on the main admin settings page.
140
-	 *
141
-	 * @method add_admin_page_tab
142
-	 * @param array $tabs an array of tab titles and slugs to use when building a tabbed menu on option pages.
143
-	 *
144
-	 * @since  3.21.0
145
-	 */
146
-	public function add_admin_page_tab( $tabs ) {
147
-		if ( apply_filters( 'wl_feature__enable__analytics', true ) ) {
148
-			$tabs[] = array(
149
-				'title' => $this->get_menu_title(),
150
-				'slug'  => $this->get_admin_page_tab_slug(),
151
-			);
152
-		}
153
-
154
-		return $tabs;
155
-	}
156
-
157
-	/**
158
-	 * Configure all the configuration parameters.
159
-	 *
160
-	 * Called by the *admin_init* hook.
161
-	 *
162
-	 * @since 3.21.0
163
-	 */
164
-	public function admin_init() {
165
-
166
-		// Register WordLift's analytics settings with our in class sanitizer.
167
-		register_setting(
168
-			'wl_analytics_settings',
169
-			'wl_analytics_settings',
170
-			array( $this, 'sanitize_callback' )
171
-		);
172
-
173
-		// Add the analytics settings setction.
174
-		add_settings_section(
175
-			'wl_analytics_settings_section',
176
-			'',
177
-			'',
178
-			'wl_analytics_settings'
179
-		);
180
-
181
-		// Add a toggle to determine if analytics functions are enabled or not.
182
-		// NOTE: this uses yes/no rather than true/false.
183
-		add_settings_field(
184
-			'wl-analytics-enabled',
185
-			__( 'Enable Analytics', 'wordlift' ),
186
-			array( $this->radio_input_element, 'render' ),
187
-			'wl_analytics_settings',
188
-			'wl_analytics_settings_section',
189
-			array(
190
-				'id'          => 'wl-analytics-enable',
191
-				'name'        => 'wl_analytics_settings[' . Wordlift_Configuration_Service::ANALYTICS_ENABLE . ']',
192
-				'value'       => Wordlift_Configuration_Service::get_instance()->is_analytics_enable() ? 'yes' : 'no',
193
-				'description' => __( 'Toggle on/off the default values.', 'wordlift' ),
194
-			)
195
-		);
196
-
197
-		/**
198
-		 * A basic number field that will accept anything from 1 to 20.
199
-		 *
200
-		 * Represents the custom dim number for the uri.
201
-		 */
202
-		add_settings_field(
203
-			'wl-analytics-entity-uri-dimension',
204
-			__( 'Entity URI dimension', 'wordlift' ),
205
-			array( $this->input_element, 'render' ),
206
-			'wl_analytics_settings',
207
-			'wl_analytics_settings_section',
208
-			array(
209
-				'id'          => 'wl-analytics-entity-uri-dimension',
210
-				'name'        => 'wl_analytics_settings[' . Wordlift_Configuration_Service::ANALYTICS_ENTITY_URI_DIMENSION . ']',
211
-				'type'        => 'number',
212
-				'value'       => Wordlift_Configuration_Service::get_instance()->get_analytics_entity_uri_dimension(),
213
-				'description' => __( 'Entity URI dimesion', 'wordlift' ),
214
-			)
215
-		);
216
-
217
-		/**
218
-		 * A basic number field that will accept anything from 1 to 20.
219
-		 *
220
-		 * Represents the custom dim number for the type.
221
-		 */
222
-		add_settings_field(
223
-			'wl-analytics-entity-type-dimension',
224
-			__( 'Entity Type dimension', 'wordlift' ),
225
-			array( $this->input_element, 'render' ),
226
-			'wl_analytics_settings',
227
-			'wl_analytics_settings_section',
228
-			array(
229
-				'id'          => 'wl-analytics-entity-type-dimension',
230
-				'name'        => 'wl_analytics_settings[' . Wordlift_Configuration_Service::ANALYTICS_ENTITY_TYPE_DIMENSION . ']',
231
-				'type'        => 'number',
232
-				'value'       => Wordlift_Configuration_Service::get_instance()->get_analytics_entity_type_dimension(),
233
-				'description' => __( 'Entity Type dimension', 'wordlift' ),
234
-			)
235
-		);
236
-
237
-	}
238
-
239
-	/**
240
-	 * Validates an entity uri based on an integer passed.
241
-	 *
242
-	 * TODO: Needs a feedback method to pass back error messages.
243
-	 *
244
-	 * @method validate_entity_uri
245
-	 * @param string $uri a sting representing an entity ID that can be converted to a uri.
246
-	 *
247
-	 * @return int
248
-	 * @since 3.21.0
249
-	 */
250
-	public function validate_entity_uri( $uri ) {
251
-		// Basic validation is to ensure number is between 1 and 20.
252
-		// NOTE: certain analytics accounts have a much higher value - as many
253
-		// as 200 are allowed.
254
-		if ( (int) $uri < 1 || (int) $uri > 20 ) {
255
-			// if we are out of range then pass the default value.
256
-			$uri = Wordlift_Configuration_Service::get_instance()->get_analytics_entity_uri_dimension();
257
-		}
258
-
259
-		return absint( $uri );
260
-	}
261
-
262
-	/**
263
-	 * Validates an entity type.
264
-	 *
265
-	 * TODO: Needs a feedback method to pass back error messages.
266
-	 *
267
-	 * @method validate_entity_type
268
-	 * @param string $type This is an entity type ID in string form - really a number.
269
-	 *
270
-	 * @return int
271
-	 * @since  3.21.0
272
-	 */
273
-	public function validate_entity_type( $type ) {
274
-		// Basic validation is to ensure number is between 1 and 20.
275
-		// NOTE: certain analytics accounts have a much higher value - as many
276
-		// as 200 are allowed.
277
-		if ( (int) $type < 1 || (int) $type > 20 ) {
278
-			// if we are out of range then pass the default value.
279
-			$type = Wordlift_Configuration_Service::get_instance()->get_analytics_entity_type_dimension();
280
-		}
281
-
282
-		return absint( $type );
283
-	}
284
-
285
-	/**
286
-	 * Sanitize the configuration settings to be stored.
287
-	 *
288
-	 * If a new entity is being created for the publisher, create it and set The
289
-	 * publisher setting.
290
-	 *
291
-	 * @param array $input The configuration settings array.
292
-	 *
293
-	 * @return array The sanitized input array.
294
-	 * @since 3.21.0
295
-	 */
296
-	public function sanitize_callback( $input ) {
297
-		if ( ! check_admin_referer( 'wl_analytics_settings-options' ) ) {
298
-			// Any failing nonce checks already die().
299
-			return;
300
-		}
301
-
302
-		/**
303
-		 * Validate and sanitize the $inputs and store them in $output saved.
304
-		 */
305
-		$output = array();
306
-		if ( isset( $input['analytics_enable'] ) ) {
307
-			$output['analytics_enable'] = ( 'yes' === $input['analytics_enable'] ) ? 'yes' : 'no';
308
-		}
309
-		if ( isset( $input['analytics_entity_uri_dimension'] ) ) {
310
-			$output['analytics_entity_uri_dimension'] = (int) $this->validate_entity_uri( $input['analytics_entity_uri_dimension'] );
311
-		}
312
-		if ( isset( $input['analytics_entity_type_dimension'] ) ) {
313
-			// This dimension cannot be the same as the one set above. If it is
314
-			// then zero it out and it will fail validation.
315
-			if ( isset( $output['analytics_entity_uri_dimension'] ) && $output['analytics_entity_uri_dimension'] === (int) $input['analytics_entity_type_dimension'] ) {
316
-				$input['analytics_entity_type_dimension'] = 0;
317
-			}
318
-			$output['analytics_entity_type_dimension'] = (int) $this->validate_entity_type( $input['analytics_entity_type_dimension'] );
319
-		}
320
-
321
-		// return items added to the output for saving.
322
-		return $output;
323
-	}
21
+    /**
22
+     * A singleton instance of the Notice service.
23
+     *
24
+     * @since  3.21.0
25
+     * @access private
26
+     * @var \Wordlift_Admin_Settings_Analytics_Page $instance A singleton instance of a {@link Wordlift_Admin_Settings_Analytics_Page} class.
27
+     */
28
+    private static $instance;
29
+
30
+    /**
31
+     * A {@link Wordlift_Admin_Input_Element} element renderer.
32
+     *
33
+     * @since  3.21.0
34
+     * @access private
35
+     * @var \Wordlift_Admin_Input_Element $input_element An {@link Wordlift_Admin_Input_Element} element renderer.
36
+     */
37
+    private $input_element;
38
+
39
+    /**
40
+     * A {@link Wordlift_Admin_Radio_Input_Element} element renderer.
41
+     *
42
+     * @since  3.21.0
43
+     * @access protected
44
+     * @var \Wordlift_Admin_Radio_Input_Element $radio_input_element A {@link Wordlift_Admin_Radio_Input_Element} element renderer.
45
+     */
46
+    private $radio_input_element;
47
+
48
+    /**
49
+     * Create a {@link Wordlift_Admin_Settings_Page} instance.
50
+     *
51
+     * @param \Wordlift_Admin_Input_Element       $input_element An input element class to output input boxes in a settings form.
52
+     * @param \Wordlift_Admin_Radio_Input_Element $radio_input_element A radio element input class for use in a settings form.
53
+     *
54
+     * @since 3.21.0
55
+     */
56
+    public function __construct( $input_element, $radio_input_element ) {
57
+
58
+        // Set a reference to the UI elements.
59
+        $this->input_element       = $input_element;
60
+        $this->radio_input_element = $radio_input_element;
61
+
62
+        // Adds this page to the main admin settings tabbed menu.
63
+        add_filter( 'wl_admin_page_tabs', array( $this, 'add_admin_page_tab' ) );
64
+
65
+        self::$instance = $this;
66
+    }
67
+
68
+    /**
69
+     * Get the singleton instance of the Notice service.
70
+     *
71
+     * @return \Wordlift_Admin_Settings_Page The singleton instance of the settings page service.
72
+     * @since 3.21.0
73
+     */
74
+    public static function get_instance() {
75
+
76
+        return self::$instance;
77
+    }
78
+
79
+    /**
80
+     * @inheritdoc
81
+     */
82
+    protected function get_parent_slug() {
83
+
84
+        return 'wl_admin_menu';
85
+    }
86
+
87
+    /**
88
+     * @inheritdoc
89
+     */
90
+    protected function get_capability() {
91
+
92
+        return 'manage_options';
93
+    }
94
+
95
+    /**
96
+     * @inheritdoc
97
+     */
98
+    public function get_page_title() {
99
+
100
+        return __( 'WorldLift Analytics Settings', 'wordlift' );
101
+    }
102
+
103
+    /**
104
+     * @inheritdoc
105
+     */
106
+    public function get_menu_title() {
107
+
108
+        return __( 'Analytics Settings', 'wordlift' );
109
+    }
110
+
111
+    /**
112
+     * @inheritdoc
113
+     */
114
+    public function get_menu_slug() {
115
+
116
+        return 'wl_configuration_admin_analytics_menu';
117
+    }
118
+
119
+    /**
120
+     * @inheritdoc
121
+     */
122
+    public function get_partial_name() {
123
+
124
+        return 'wordlift-admin-settings-analytics-page.php';
125
+    }
126
+
127
+    /**
128
+     * Returns the string to use for the tab slug on main admin settings page.
129
+     *
130
+     * @method get_admin_page_tab_slug
131
+     * @return string
132
+     * @since  3.21.0
133
+     */
134
+    public function get_admin_page_tab_slug() {
135
+        return 'analytics';
136
+    }
137
+
138
+    /**
139
+     * Adds pages to the tabs menu on the main admin settings page.
140
+     *
141
+     * @method add_admin_page_tab
142
+     * @param array $tabs an array of tab titles and slugs to use when building a tabbed menu on option pages.
143
+     *
144
+     * @since  3.21.0
145
+     */
146
+    public function add_admin_page_tab( $tabs ) {
147
+        if ( apply_filters( 'wl_feature__enable__analytics', true ) ) {
148
+            $tabs[] = array(
149
+                'title' => $this->get_menu_title(),
150
+                'slug'  => $this->get_admin_page_tab_slug(),
151
+            );
152
+        }
153
+
154
+        return $tabs;
155
+    }
156
+
157
+    /**
158
+     * Configure all the configuration parameters.
159
+     *
160
+     * Called by the *admin_init* hook.
161
+     *
162
+     * @since 3.21.0
163
+     */
164
+    public function admin_init() {
165
+
166
+        // Register WordLift's analytics settings with our in class sanitizer.
167
+        register_setting(
168
+            'wl_analytics_settings',
169
+            'wl_analytics_settings',
170
+            array( $this, 'sanitize_callback' )
171
+        );
172
+
173
+        // Add the analytics settings setction.
174
+        add_settings_section(
175
+            'wl_analytics_settings_section',
176
+            '',
177
+            '',
178
+            'wl_analytics_settings'
179
+        );
180
+
181
+        // Add a toggle to determine if analytics functions are enabled or not.
182
+        // NOTE: this uses yes/no rather than true/false.
183
+        add_settings_field(
184
+            'wl-analytics-enabled',
185
+            __( 'Enable Analytics', 'wordlift' ),
186
+            array( $this->radio_input_element, 'render' ),
187
+            'wl_analytics_settings',
188
+            'wl_analytics_settings_section',
189
+            array(
190
+                'id'          => 'wl-analytics-enable',
191
+                'name'        => 'wl_analytics_settings[' . Wordlift_Configuration_Service::ANALYTICS_ENABLE . ']',
192
+                'value'       => Wordlift_Configuration_Service::get_instance()->is_analytics_enable() ? 'yes' : 'no',
193
+                'description' => __( 'Toggle on/off the default values.', 'wordlift' ),
194
+            )
195
+        );
196
+
197
+        /**
198
+         * A basic number field that will accept anything from 1 to 20.
199
+         *
200
+         * Represents the custom dim number for the uri.
201
+         */
202
+        add_settings_field(
203
+            'wl-analytics-entity-uri-dimension',
204
+            __( 'Entity URI dimension', 'wordlift' ),
205
+            array( $this->input_element, 'render' ),
206
+            'wl_analytics_settings',
207
+            'wl_analytics_settings_section',
208
+            array(
209
+                'id'          => 'wl-analytics-entity-uri-dimension',
210
+                'name'        => 'wl_analytics_settings[' . Wordlift_Configuration_Service::ANALYTICS_ENTITY_URI_DIMENSION . ']',
211
+                'type'        => 'number',
212
+                'value'       => Wordlift_Configuration_Service::get_instance()->get_analytics_entity_uri_dimension(),
213
+                'description' => __( 'Entity URI dimesion', 'wordlift' ),
214
+            )
215
+        );
216
+
217
+        /**
218
+         * A basic number field that will accept anything from 1 to 20.
219
+         *
220
+         * Represents the custom dim number for the type.
221
+         */
222
+        add_settings_field(
223
+            'wl-analytics-entity-type-dimension',
224
+            __( 'Entity Type dimension', 'wordlift' ),
225
+            array( $this->input_element, 'render' ),
226
+            'wl_analytics_settings',
227
+            'wl_analytics_settings_section',
228
+            array(
229
+                'id'          => 'wl-analytics-entity-type-dimension',
230
+                'name'        => 'wl_analytics_settings[' . Wordlift_Configuration_Service::ANALYTICS_ENTITY_TYPE_DIMENSION . ']',
231
+                'type'        => 'number',
232
+                'value'       => Wordlift_Configuration_Service::get_instance()->get_analytics_entity_type_dimension(),
233
+                'description' => __( 'Entity Type dimension', 'wordlift' ),
234
+            )
235
+        );
236
+
237
+    }
238
+
239
+    /**
240
+     * Validates an entity uri based on an integer passed.
241
+     *
242
+     * TODO: Needs a feedback method to pass back error messages.
243
+     *
244
+     * @method validate_entity_uri
245
+     * @param string $uri a sting representing an entity ID that can be converted to a uri.
246
+     *
247
+     * @return int
248
+     * @since 3.21.0
249
+     */
250
+    public function validate_entity_uri( $uri ) {
251
+        // Basic validation is to ensure number is between 1 and 20.
252
+        // NOTE: certain analytics accounts have a much higher value - as many
253
+        // as 200 are allowed.
254
+        if ( (int) $uri < 1 || (int) $uri > 20 ) {
255
+            // if we are out of range then pass the default value.
256
+            $uri = Wordlift_Configuration_Service::get_instance()->get_analytics_entity_uri_dimension();
257
+        }
258
+
259
+        return absint( $uri );
260
+    }
261
+
262
+    /**
263
+     * Validates an entity type.
264
+     *
265
+     * TODO: Needs a feedback method to pass back error messages.
266
+     *
267
+     * @method validate_entity_type
268
+     * @param string $type This is an entity type ID in string form - really a number.
269
+     *
270
+     * @return int
271
+     * @since  3.21.0
272
+     */
273
+    public function validate_entity_type( $type ) {
274
+        // Basic validation is to ensure number is between 1 and 20.
275
+        // NOTE: certain analytics accounts have a much higher value - as many
276
+        // as 200 are allowed.
277
+        if ( (int) $type < 1 || (int) $type > 20 ) {
278
+            // if we are out of range then pass the default value.
279
+            $type = Wordlift_Configuration_Service::get_instance()->get_analytics_entity_type_dimension();
280
+        }
281
+
282
+        return absint( $type );
283
+    }
284
+
285
+    /**
286
+     * Sanitize the configuration settings to be stored.
287
+     *
288
+     * If a new entity is being created for the publisher, create it and set The
289
+     * publisher setting.
290
+     *
291
+     * @param array $input The configuration settings array.
292
+     *
293
+     * @return array The sanitized input array.
294
+     * @since 3.21.0
295
+     */
296
+    public function sanitize_callback( $input ) {
297
+        if ( ! check_admin_referer( 'wl_analytics_settings-options' ) ) {
298
+            // Any failing nonce checks already die().
299
+            return;
300
+        }
301
+
302
+        /**
303
+         * Validate and sanitize the $inputs and store them in $output saved.
304
+         */
305
+        $output = array();
306
+        if ( isset( $input['analytics_enable'] ) ) {
307
+            $output['analytics_enable'] = ( 'yes' === $input['analytics_enable'] ) ? 'yes' : 'no';
308
+        }
309
+        if ( isset( $input['analytics_entity_uri_dimension'] ) ) {
310
+            $output['analytics_entity_uri_dimension'] = (int) $this->validate_entity_uri( $input['analytics_entity_uri_dimension'] );
311
+        }
312
+        if ( isset( $input['analytics_entity_type_dimension'] ) ) {
313
+            // This dimension cannot be the same as the one set above. If it is
314
+            // then zero it out and it will fail validation.
315
+            if ( isset( $output['analytics_entity_uri_dimension'] ) && $output['analytics_entity_uri_dimension'] === (int) $input['analytics_entity_type_dimension'] ) {
316
+                $input['analytics_entity_type_dimension'] = 0;
317
+            }
318
+            $output['analytics_entity_type_dimension'] = (int) $this->validate_entity_type( $input['analytics_entity_type_dimension'] );
319
+        }
320
+
321
+        // return items added to the output for saving.
322
+        return $output;
323
+    }
324 324
 
325 325
 }
Please login to merge, or discard this patch.
Spacing   +34 added lines, -34 removed lines patch added patch discarded remove patch
@@ -53,14 +53,14 @@  discard block
 block discarded – undo
53 53
 	 *
54 54
 	 * @since 3.21.0
55 55
 	 */
56
-	public function __construct( $input_element, $radio_input_element ) {
56
+	public function __construct($input_element, $radio_input_element) {
57 57
 
58 58
 		// Set a reference to the UI elements.
59 59
 		$this->input_element       = $input_element;
60 60
 		$this->radio_input_element = $radio_input_element;
61 61
 
62 62
 		// Adds this page to the main admin settings tabbed menu.
63
-		add_filter( 'wl_admin_page_tabs', array( $this, 'add_admin_page_tab' ) );
63
+		add_filter('wl_admin_page_tabs', array($this, 'add_admin_page_tab'));
64 64
 
65 65
 		self::$instance = $this;
66 66
 	}
@@ -97,7 +97,7 @@  discard block
 block discarded – undo
97 97
 	 */
98 98
 	public function get_page_title() {
99 99
 
100
-		return __( 'WorldLift Analytics Settings', 'wordlift' );
100
+		return __('WorldLift Analytics Settings', 'wordlift');
101 101
 	}
102 102
 
103 103
 	/**
@@ -105,7 +105,7 @@  discard block
 block discarded – undo
105 105
 	 */
106 106
 	public function get_menu_title() {
107 107
 
108
-		return __( 'Analytics Settings', 'wordlift' );
108
+		return __('Analytics Settings', 'wordlift');
109 109
 	}
110 110
 
111 111
 	/**
@@ -143,8 +143,8 @@  discard block
 block discarded – undo
143 143
 	 *
144 144
 	 * @since  3.21.0
145 145
 	 */
146
-	public function add_admin_page_tab( $tabs ) {
147
-		if ( apply_filters( 'wl_feature__enable__analytics', true ) ) {
146
+	public function add_admin_page_tab($tabs) {
147
+		if (apply_filters('wl_feature__enable__analytics', true)) {
148 148
 			$tabs[] = array(
149 149
 				'title' => $this->get_menu_title(),
150 150
 				'slug'  => $this->get_admin_page_tab_slug(),
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
 		register_setting(
168 168
 			'wl_analytics_settings',
169 169
 			'wl_analytics_settings',
170
-			array( $this, 'sanitize_callback' )
170
+			array($this, 'sanitize_callback')
171 171
 		);
172 172
 
173 173
 		// Add the analytics settings setction.
@@ -182,15 +182,15 @@  discard block
 block discarded – undo
182 182
 		// NOTE: this uses yes/no rather than true/false.
183 183
 		add_settings_field(
184 184
 			'wl-analytics-enabled',
185
-			__( 'Enable Analytics', 'wordlift' ),
186
-			array( $this->radio_input_element, 'render' ),
185
+			__('Enable Analytics', 'wordlift'),
186
+			array($this->radio_input_element, 'render'),
187 187
 			'wl_analytics_settings',
188 188
 			'wl_analytics_settings_section',
189 189
 			array(
190 190
 				'id'          => 'wl-analytics-enable',
191
-				'name'        => 'wl_analytics_settings[' . Wordlift_Configuration_Service::ANALYTICS_ENABLE . ']',
191
+				'name'        => 'wl_analytics_settings['.Wordlift_Configuration_Service::ANALYTICS_ENABLE.']',
192 192
 				'value'       => Wordlift_Configuration_Service::get_instance()->is_analytics_enable() ? 'yes' : 'no',
193
-				'description' => __( 'Toggle on/off the default values.', 'wordlift' ),
193
+				'description' => __('Toggle on/off the default values.', 'wordlift'),
194 194
 			)
195 195
 		);
196 196
 
@@ -201,16 +201,16 @@  discard block
 block discarded – undo
201 201
 		 */
202 202
 		add_settings_field(
203 203
 			'wl-analytics-entity-uri-dimension',
204
-			__( 'Entity URI dimension', 'wordlift' ),
205
-			array( $this->input_element, 'render' ),
204
+			__('Entity URI dimension', 'wordlift'),
205
+			array($this->input_element, 'render'),
206 206
 			'wl_analytics_settings',
207 207
 			'wl_analytics_settings_section',
208 208
 			array(
209 209
 				'id'          => 'wl-analytics-entity-uri-dimension',
210
-				'name'        => 'wl_analytics_settings[' . Wordlift_Configuration_Service::ANALYTICS_ENTITY_URI_DIMENSION . ']',
210
+				'name'        => 'wl_analytics_settings['.Wordlift_Configuration_Service::ANALYTICS_ENTITY_URI_DIMENSION.']',
211 211
 				'type'        => 'number',
212 212
 				'value'       => Wordlift_Configuration_Service::get_instance()->get_analytics_entity_uri_dimension(),
213
-				'description' => __( 'Entity URI dimesion', 'wordlift' ),
213
+				'description' => __('Entity URI dimesion', 'wordlift'),
214 214
 			)
215 215
 		);
216 216
 
@@ -221,16 +221,16 @@  discard block
 block discarded – undo
221 221
 		 */
222 222
 		add_settings_field(
223 223
 			'wl-analytics-entity-type-dimension',
224
-			__( 'Entity Type dimension', 'wordlift' ),
225
-			array( $this->input_element, 'render' ),
224
+			__('Entity Type dimension', 'wordlift'),
225
+			array($this->input_element, 'render'),
226 226
 			'wl_analytics_settings',
227 227
 			'wl_analytics_settings_section',
228 228
 			array(
229 229
 				'id'          => 'wl-analytics-entity-type-dimension',
230
-				'name'        => 'wl_analytics_settings[' . Wordlift_Configuration_Service::ANALYTICS_ENTITY_TYPE_DIMENSION . ']',
230
+				'name'        => 'wl_analytics_settings['.Wordlift_Configuration_Service::ANALYTICS_ENTITY_TYPE_DIMENSION.']',
231 231
 				'type'        => 'number',
232 232
 				'value'       => Wordlift_Configuration_Service::get_instance()->get_analytics_entity_type_dimension(),
233
-				'description' => __( 'Entity Type dimension', 'wordlift' ),
233
+				'description' => __('Entity Type dimension', 'wordlift'),
234 234
 			)
235 235
 		);
236 236
 
@@ -247,16 +247,16 @@  discard block
 block discarded – undo
247 247
 	 * @return int
248 248
 	 * @since 3.21.0
249 249
 	 */
250
-	public function validate_entity_uri( $uri ) {
250
+	public function validate_entity_uri($uri) {
251 251
 		// Basic validation is to ensure number is between 1 and 20.
252 252
 		// NOTE: certain analytics accounts have a much higher value - as many
253 253
 		// as 200 are allowed.
254
-		if ( (int) $uri < 1 || (int) $uri > 20 ) {
254
+		if ((int) $uri < 1 || (int) $uri > 20) {
255 255
 			// if we are out of range then pass the default value.
256 256
 			$uri = Wordlift_Configuration_Service::get_instance()->get_analytics_entity_uri_dimension();
257 257
 		}
258 258
 
259
-		return absint( $uri );
259
+		return absint($uri);
260 260
 	}
261 261
 
262 262
 	/**
@@ -270,16 +270,16 @@  discard block
 block discarded – undo
270 270
 	 * @return int
271 271
 	 * @since  3.21.0
272 272
 	 */
273
-	public function validate_entity_type( $type ) {
273
+	public function validate_entity_type($type) {
274 274
 		// Basic validation is to ensure number is between 1 and 20.
275 275
 		// NOTE: certain analytics accounts have a much higher value - as many
276 276
 		// as 200 are allowed.
277
-		if ( (int) $type < 1 || (int) $type > 20 ) {
277
+		if ((int) $type < 1 || (int) $type > 20) {
278 278
 			// if we are out of range then pass the default value.
279 279
 			$type = Wordlift_Configuration_Service::get_instance()->get_analytics_entity_type_dimension();
280 280
 		}
281 281
 
282
-		return absint( $type );
282
+		return absint($type);
283 283
 	}
284 284
 
285 285
 	/**
@@ -293,8 +293,8 @@  discard block
 block discarded – undo
293 293
 	 * @return array The sanitized input array.
294 294
 	 * @since 3.21.0
295 295
 	 */
296
-	public function sanitize_callback( $input ) {
297
-		if ( ! check_admin_referer( 'wl_analytics_settings-options' ) ) {
296
+	public function sanitize_callback($input) {
297
+		if ( ! check_admin_referer('wl_analytics_settings-options')) {
298 298
 			// Any failing nonce checks already die().
299 299
 			return;
300 300
 		}
@@ -303,19 +303,19 @@  discard block
 block discarded – undo
303 303
 		 * Validate and sanitize the $inputs and store them in $output saved.
304 304
 		 */
305 305
 		$output = array();
306
-		if ( isset( $input['analytics_enable'] ) ) {
307
-			$output['analytics_enable'] = ( 'yes' === $input['analytics_enable'] ) ? 'yes' : 'no';
306
+		if (isset($input['analytics_enable'])) {
307
+			$output['analytics_enable'] = ('yes' === $input['analytics_enable']) ? 'yes' : 'no';
308 308
 		}
309
-		if ( isset( $input['analytics_entity_uri_dimension'] ) ) {
310
-			$output['analytics_entity_uri_dimension'] = (int) $this->validate_entity_uri( $input['analytics_entity_uri_dimension'] );
309
+		if (isset($input['analytics_entity_uri_dimension'])) {
310
+			$output['analytics_entity_uri_dimension'] = (int) $this->validate_entity_uri($input['analytics_entity_uri_dimension']);
311 311
 		}
312
-		if ( isset( $input['analytics_entity_type_dimension'] ) ) {
312
+		if (isset($input['analytics_entity_type_dimension'])) {
313 313
 			// This dimension cannot be the same as the one set above. If it is
314 314
 			// then zero it out and it will fail validation.
315
-			if ( isset( $output['analytics_entity_uri_dimension'] ) && $output['analytics_entity_uri_dimension'] === (int) $input['analytics_entity_type_dimension'] ) {
315
+			if (isset($output['analytics_entity_uri_dimension']) && $output['analytics_entity_uri_dimension'] === (int) $input['analytics_entity_type_dimension']) {
316 316
 				$input['analytics_entity_type_dimension'] = 0;
317 317
 			}
318
-			$output['analytics_entity_type_dimension'] = (int) $this->validate_entity_type( $input['analytics_entity_type_dimension'] );
318
+			$output['analytics_entity_type_dimension'] = (int) $this->validate_entity_type($input['analytics_entity_type_dimension']);
319 319
 		}
320 320
 
321 321
 		// return items added to the output for saving.
Please login to merge, or discard this patch.