Completed
Push — develop ( 4f9670...66f708 )
by David
02:29 queued 15s
created
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.
src/admin/wordlift-admin-meta-box-entities.php 2 patches
Indentation   +168 added lines, -168 removed lines patch added patch discarded remove patch
@@ -14,13 +14,13 @@  discard block
 block discarded – undo
14 14
  */
15 15
 function wl_register_metaboxes() {
16 16
 
17
-	new Wl_Metabox();     // Everything is done inside here with the correct timing.
17
+    new Wl_Metabox();     // Everything is done inside here with the correct timing.
18 18
 
19 19
 }
20 20
 
21 21
 if ( is_admin() ) {
22
-	add_action( 'load-post.php', 'wl_register_metaboxes' );
23
-	add_action( 'load-post-new.php', 'wl_register_metaboxes' );
22
+    add_action( 'load-post.php', 'wl_register_metaboxes' );
23
+    add_action( 'load-post-new.php', 'wl_register_metaboxes' );
24 24
 }
25 25
 
26 26
 /**
@@ -31,41 +31,41 @@  discard block
 block discarded – undo
31 31
  */
32 32
 function wl_admin_add_entities_meta_box( $post_type, $post ) {
33 33
 
34
-	/*
34
+    /*
35 35
 	 * Call the `wl_can_see_classification_box` filter to determine whether we can display the classification box.
36 36
 	 *
37 37
 	 * @since 3.20.3
38 38
 	 *
39 39
 	 * @see https://github.com/insideout10/wordlift-plugin/issues/914
40 40
 	 */
41
-	if ( ! apply_filters( 'wl_can_see_classification_box', true ) ) {
42
-		return;
43
-	}
44
-
45
-	// phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
46
-	if ( ! apply_filters( 'wl_feature__enable__classification-sidebar', true ) ) {
47
-		return;
48
-	}
49
-
50
-	// Bail out if the post type doesn't support a TinyMCE editor.
51
-	if ( ! wl_post_type_supports_editor( $post_type ) ) {
52
-		return;
53
-	}
54
-
55
-	// If the editor is not gutenberg and not any other custom editor then we use the sidebar.
56
-	if ( ! Wordlift_Admin::is_gutenberg() && ! No_Editor_Analysis_Feature::can_no_editor_analysis_be_used(
57
-		$post->ID
58
-	) ) {
59
-		// Add main meta box for related entities and 4W only if not Gutenberg
60
-		add_meta_box(
61
-			'wordlift_entities_box',
62
-			__( 'WordLift', 'wordlift' ),
63
-			'wl_entities_box_content',
64
-			$post_type,
65
-			'side',
66
-			'high'
67
-		);
68
-	}
41
+    if ( ! apply_filters( 'wl_can_see_classification_box', true ) ) {
42
+        return;
43
+    }
44
+
45
+    // phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
46
+    if ( ! apply_filters( 'wl_feature__enable__classification-sidebar', true ) ) {
47
+        return;
48
+    }
49
+
50
+    // Bail out if the post type doesn't support a TinyMCE editor.
51
+    if ( ! wl_post_type_supports_editor( $post_type ) ) {
52
+        return;
53
+    }
54
+
55
+    // If the editor is not gutenberg and not any other custom editor then we use the sidebar.
56
+    if ( ! Wordlift_Admin::is_gutenberg() && ! No_Editor_Analysis_Feature::can_no_editor_analysis_be_used(
57
+        $post->ID
58
+    ) ) {
59
+        // Add main meta box for related entities and 4W only if not Gutenberg
60
+        add_meta_box(
61
+            'wordlift_entities_box',
62
+            __( 'WordLift', 'wordlift' ),
63
+            'wl_entities_box_content',
64
+            $post_type,
65
+            'side',
66
+            'high'
67
+        );
68
+    }
69 69
 
70 70
 }
71 71
 
@@ -82,18 +82,18 @@  discard block
 block discarded – undo
82 82
  */
83 83
 function wl_post_type_supports_editor( $post_type ) {
84 84
 
85
-	$default = post_type_supports( $post_type, 'editor' );
86
-
87
-	/**
88
-	 * Allow 3rd parties to force the classification to load.
89
-	 *
90
-	 * @param bool $default The preset value as gathered by the `post_type_supports` call.
91
-	 *
92
-	 * @see https://github.com/insideout10/wordlift-plugin/issues/847.
93
-	 *
94
-	 * @since 3.19.4
95
-	 */
96
-	return apply_filters( 'wl_post_type_supports_editor', $default, $post_type );
85
+    $default = post_type_supports( $post_type, 'editor' );
86
+
87
+    /**
88
+     * Allow 3rd parties to force the classification to load.
89
+     *
90
+     * @param bool $default The preset value as gathered by the `post_type_supports` call.
91
+     *
92
+     * @see https://github.com/insideout10/wordlift-plugin/issues/847.
93
+     *
94
+     * @since 3.19.4
95
+     */
96
+    return apply_filters( 'wl_post_type_supports_editor', $default, $post_type );
97 97
 }
98 98
 
99 99
 /**
@@ -103,141 +103,141 @@  discard block
 block discarded – undo
103 103
  */
104 104
 function wl_entities_box_content( $post, $wrapper = true ) {
105 105
 
106
-	// Angularjs edit-post widget wrapper.
107
-	if ( $wrapper ) {
108
-		echo '<div id="wordlift-edit-post-outer-wrapper"></div>';
109
-	}
106
+    // Angularjs edit-post widget wrapper.
107
+    if ( $wrapper ) {
108
+        echo '<div id="wordlift-edit-post-outer-wrapper"></div>';
109
+    }
110 110
 }
111 111
 
112 112
 function wl_entities_box_content_scripts() {
113
-	$post = get_post();
113
+    $post = get_post();
114 114
 
115
-	// Angularjs edit-post widget classification boxes configuration.
116
-	// phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_unserialize
117
-	$classification_boxes = unserialize( WL_CORE_POST_CLASSIFICATION_BOXES );
115
+    // Angularjs edit-post widget classification boxes configuration.
116
+    // phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_unserialize
117
+    $classification_boxes = unserialize( WL_CORE_POST_CLASSIFICATION_BOXES );
118 118
 
119
-	// Array to store all related entities ids.
120
-	$all_referenced_entities_ids = array();
119
+    // Array to store all related entities ids.
120
+    $all_referenced_entities_ids = array();
121 121
 
122
-	// Add selected entities to classification_boxes.
123
-	foreach ( $classification_boxes as $i => $box ) {
122
+    // Add selected entities to classification_boxes.
123
+    foreach ( $classification_boxes as $i => $box ) {
124 124
 
125
-		// Get the entity referenced from the post content.
126
-		/*
125
+        // Get the entity referenced from the post content.
126
+        /*
127 127
 		 * Allow 3rd parties to provide another post content.
128 128
 		 *
129 129
 		 * @since 3.20.0
130 130
 		 */
131
-		$post_content = apply_filters( 'wl_post_content', $post->post_content, $post );
132
-		$entity_uris  = Wordlift_Content_Filter_Service::get_instance()->get_entity_uris( $post_content );
133
-
134
-		// Enhance current box selected entities.
135
-		$classification_boxes[ $i ]['selectedEntities'] = $entity_uris;
136
-
137
-		// Maps the URIs to entity posts.
138
-		$entity_service = Wordlift_Entity_Service::get_instance();
139
-
140
-		// Replace all entity URI's with post ID's if found or null if there is no related post.
141
-		$entity_ids = array_map(
142
-			function ( $item ) use ( $entity_service ) {
143
-				// Return entity post by the entity URI or null.
144
-				$post = $entity_service->get_entity_post_by_uri( $item );
145
-
146
-				// Check that the post object is not null.
147
-				if ( ! empty( $post ) ) {
148
-					  return $post->ID;
149
-				}
150
-			},
151
-			$entity_uris
152
-		);
153
-		// Store the entity ids for all the 4W.
154
-		$all_referenced_entities_ids = array_merge( $all_referenced_entities_ids, $entity_ids );
155
-
156
-	}
157
-
158
-	// Json encoding for classification boxes structure.
159
-	$classification_boxes = wp_json_encode( $classification_boxes );
160
-
161
-	// Ensure there are no repetitions of the referenced entities.
162
-	$all_referenced_entities_ids = array_unique( $all_referenced_entities_ids );
163
-
164
-	// Remove all null, false and empty strings.
165
-	// NULL is being returned in some cases, when there is not related post, so we need to remove it.
166
-	$all_referenced_entities_ids = array_filter( $all_referenced_entities_ids );
167
-
168
-	// Build the entity storage object.
169
-	$referenced_entities_obj = array();
170
-	foreach ( $all_referenced_entities_ids as $referenced_entity ) {
171
-		$entity = wl_serialize_entity( $referenced_entity );
172
-		// Set a default confidence of `PHP_INT_MAX` for already annotated entities.
173
-		$referenced_entities_obj[ $entity['id'] ] = $entity
174
-													+ array( 'confidence' => PHP_INT_MAX );
175
-	}
176
-
177
-	$referenced_entities_obj = empty( $referenced_entities_obj ) ?
178
-		'{}' : wp_json_encode( $referenced_entities_obj );
179
-
180
-	$published_place_id  = get_post_meta(
181
-		$post->ID,
182
-		Wordlift_Schema_Service::FIELD_LOCATION_CREATED,
183
-		true
184
-	);
185
-	$published_place_obj = ( $published_place_id ) ?
186
-		wp_json_encode( wl_serialize_entity( $published_place_id ) ) :
187
-		null;
188
-
189
-	$topic_id  = get_post_meta(
190
-		$post->ID,
191
-		Wordlift_Schema_Service::FIELD_TOPIC,
192
-		true
193
-	);
194
-	$topic_obj = ( $topic_id ) ?
195
-		wp_json_encode( wl_serialize_entity( $topic_id ) ) :
196
-		null;
197
-
198
-	$configuration_service = Wordlift_Configuration_Service::get_instance();
199
-
200
-	$default_thumbnail_path = WL_DEFAULT_THUMBNAIL_PATH;
201
-	$default_path           = WL_DEFAULT_PATH;
202
-	$dataset_uri            = $configuration_service->get_dataset_uri();
203
-	$current_post_uri       = Wordlift_Entity_Service::get_instance()->get_uri( $post->ID );
204
-	$is_entity              = Wordlift_Entity_Service::get_instance()->is_entity( $post->ID );
205
-
206
-	// Retrieve the current post author.
207
-	$post_author = get_userdata( $post->post_author )->display_name;
208
-	// Retrive the published date.
209
-	$published_date = get_the_time( 'Y-m-d', $post->ID );
210
-	// Current language.
211
-	$current_language            = $configuration_service->get_language_code();
212
-	$wordlift_timeline_shortcode = new Wordlift_Timeline_Shortcode();
213
-	$timelinejs_default_options  = wp_json_encode( $wordlift_timeline_shortcode->get_timelinejs_default_options(), JSON_PRETTY_PRINT );
214
-	$addslashes_post_author      = addslashes( $post_author );
215
-
216
-	$metabox_settings = array(
217
-		'classificationBoxes'      => json_decode( $classification_boxes ),
218
-		'entities'                 => json_decode( $referenced_entities_obj ),
219
-		'currentPostId'            => intval( $post->ID ),
220
-		'currentPostUri'           => $current_post_uri,
221
-		'currentPostType'          => $post->post_type,
222
-		'isEntity'                 => ! empty( $is_entity ),
223
-		'defaultThumbnailPath'     => $default_thumbnail_path,
224
-		'defaultWordLiftPath'      => $default_path,
225
-		'datasetUri'               => $dataset_uri,
226
-		'currentUser'              => $addslashes_post_author,
227
-		'publishedDate'            => $published_date,
228
-		'publishedPlace'           => $published_place_obj,
229
-		'topic'                    => json_decode( $topic_obj ),
230
-		'currentLanguage'          => $current_language,
231
-		'timelinejsDefaultOptions' => json_decode( $timelinejs_default_options ),
232
-		'ajax_url'                 => admin_url( 'admin-ajax.php' ),
233
-	);
234
-
235
-	// Allow Classic and Block Editor scripts to register first.
236
-	// Hook to the Block Editor script.
237
-	wp_localize_script( 'wl-block-editor', '_wlMetaBoxSettings', array( 'settings' => $metabox_settings ) );
238
-
239
-	// Hook to the Classic Editor script, see Wordlift_Admin_Post_Edit_Page.
240
-	wp_localize_script( 'wl-classic-editor', '_wlMetaBoxSettings', array( 'settings' => $metabox_settings ) );
131
+        $post_content = apply_filters( 'wl_post_content', $post->post_content, $post );
132
+        $entity_uris  = Wordlift_Content_Filter_Service::get_instance()->get_entity_uris( $post_content );
133
+
134
+        // Enhance current box selected entities.
135
+        $classification_boxes[ $i ]['selectedEntities'] = $entity_uris;
136
+
137
+        // Maps the URIs to entity posts.
138
+        $entity_service = Wordlift_Entity_Service::get_instance();
139
+
140
+        // Replace all entity URI's with post ID's if found or null if there is no related post.
141
+        $entity_ids = array_map(
142
+            function ( $item ) use ( $entity_service ) {
143
+                // Return entity post by the entity URI or null.
144
+                $post = $entity_service->get_entity_post_by_uri( $item );
145
+
146
+                // Check that the post object is not null.
147
+                if ( ! empty( $post ) ) {
148
+                        return $post->ID;
149
+                }
150
+            },
151
+            $entity_uris
152
+        );
153
+        // Store the entity ids for all the 4W.
154
+        $all_referenced_entities_ids = array_merge( $all_referenced_entities_ids, $entity_ids );
155
+
156
+    }
157
+
158
+    // Json encoding for classification boxes structure.
159
+    $classification_boxes = wp_json_encode( $classification_boxes );
160
+
161
+    // Ensure there are no repetitions of the referenced entities.
162
+    $all_referenced_entities_ids = array_unique( $all_referenced_entities_ids );
163
+
164
+    // Remove all null, false and empty strings.
165
+    // NULL is being returned in some cases, when there is not related post, so we need to remove it.
166
+    $all_referenced_entities_ids = array_filter( $all_referenced_entities_ids );
167
+
168
+    // Build the entity storage object.
169
+    $referenced_entities_obj = array();
170
+    foreach ( $all_referenced_entities_ids as $referenced_entity ) {
171
+        $entity = wl_serialize_entity( $referenced_entity );
172
+        // Set a default confidence of `PHP_INT_MAX` for already annotated entities.
173
+        $referenced_entities_obj[ $entity['id'] ] = $entity
174
+                                                    + array( 'confidence' => PHP_INT_MAX );
175
+    }
176
+
177
+    $referenced_entities_obj = empty( $referenced_entities_obj ) ?
178
+        '{}' : wp_json_encode( $referenced_entities_obj );
179
+
180
+    $published_place_id  = get_post_meta(
181
+        $post->ID,
182
+        Wordlift_Schema_Service::FIELD_LOCATION_CREATED,
183
+        true
184
+    );
185
+    $published_place_obj = ( $published_place_id ) ?
186
+        wp_json_encode( wl_serialize_entity( $published_place_id ) ) :
187
+        null;
188
+
189
+    $topic_id  = get_post_meta(
190
+        $post->ID,
191
+        Wordlift_Schema_Service::FIELD_TOPIC,
192
+        true
193
+    );
194
+    $topic_obj = ( $topic_id ) ?
195
+        wp_json_encode( wl_serialize_entity( $topic_id ) ) :
196
+        null;
197
+
198
+    $configuration_service = Wordlift_Configuration_Service::get_instance();
199
+
200
+    $default_thumbnail_path = WL_DEFAULT_THUMBNAIL_PATH;
201
+    $default_path           = WL_DEFAULT_PATH;
202
+    $dataset_uri            = $configuration_service->get_dataset_uri();
203
+    $current_post_uri       = Wordlift_Entity_Service::get_instance()->get_uri( $post->ID );
204
+    $is_entity              = Wordlift_Entity_Service::get_instance()->is_entity( $post->ID );
205
+
206
+    // Retrieve the current post author.
207
+    $post_author = get_userdata( $post->post_author )->display_name;
208
+    // Retrive the published date.
209
+    $published_date = get_the_time( 'Y-m-d', $post->ID );
210
+    // Current language.
211
+    $current_language            = $configuration_service->get_language_code();
212
+    $wordlift_timeline_shortcode = new Wordlift_Timeline_Shortcode();
213
+    $timelinejs_default_options  = wp_json_encode( $wordlift_timeline_shortcode->get_timelinejs_default_options(), JSON_PRETTY_PRINT );
214
+    $addslashes_post_author      = addslashes( $post_author );
215
+
216
+    $metabox_settings = array(
217
+        'classificationBoxes'      => json_decode( $classification_boxes ),
218
+        'entities'                 => json_decode( $referenced_entities_obj ),
219
+        'currentPostId'            => intval( $post->ID ),
220
+        'currentPostUri'           => $current_post_uri,
221
+        'currentPostType'          => $post->post_type,
222
+        'isEntity'                 => ! empty( $is_entity ),
223
+        'defaultThumbnailPath'     => $default_thumbnail_path,
224
+        'defaultWordLiftPath'      => $default_path,
225
+        'datasetUri'               => $dataset_uri,
226
+        'currentUser'              => $addslashes_post_author,
227
+        'publishedDate'            => $published_date,
228
+        'publishedPlace'           => $published_place_obj,
229
+        'topic'                    => json_decode( $topic_obj ),
230
+        'currentLanguage'          => $current_language,
231
+        'timelinejsDefaultOptions' => json_decode( $timelinejs_default_options ),
232
+        'ajax_url'                 => admin_url( 'admin-ajax.php' ),
233
+    );
234
+
235
+    // Allow Classic and Block Editor scripts to register first.
236
+    // Hook to the Block Editor script.
237
+    wp_localize_script( 'wl-block-editor', '_wlMetaBoxSettings', array( 'settings' => $metabox_settings ) );
238
+
239
+    // Hook to the Classic Editor script, see Wordlift_Admin_Post_Edit_Page.
240
+    wp_localize_script( 'wl-classic-editor', '_wlMetaBoxSettings', array( 'settings' => $metabox_settings ) );
241 241
 
242 242
 }
243 243
 
Please login to merge, or discard this patch.
Spacing   +57 added lines, -59 removed lines patch added patch discarded remove patch
@@ -14,13 +14,13 @@  discard block
 block discarded – undo
14 14
  */
15 15
 function wl_register_metaboxes() {
16 16
 
17
-	new Wl_Metabox();     // Everything is done inside here with the correct timing.
17
+	new Wl_Metabox(); // Everything is done inside here with the correct timing.
18 18
 
19 19
 }
20 20
 
21
-if ( is_admin() ) {
22
-	add_action( 'load-post.php', 'wl_register_metaboxes' );
23
-	add_action( 'load-post-new.php', 'wl_register_metaboxes' );
21
+if (is_admin()) {
22
+	add_action('load-post.php', 'wl_register_metaboxes');
23
+	add_action('load-post-new.php', 'wl_register_metaboxes');
24 24
 }
25 25
 
26 26
 /**
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
  * @param string  $post_type The type of the current open post.
30 30
  * @param WP_Post $post WordPress post.
31 31
  */
32
-function wl_admin_add_entities_meta_box( $post_type, $post ) {
32
+function wl_admin_add_entities_meta_box($post_type, $post) {
33 33
 
34 34
 	/*
35 35
 	 * Call the `wl_can_see_classification_box` filter to determine whether we can display the classification box.
@@ -38,28 +38,28 @@  discard block
 block discarded – undo
38 38
 	 *
39 39
 	 * @see https://github.com/insideout10/wordlift-plugin/issues/914
40 40
 	 */
41
-	if ( ! apply_filters( 'wl_can_see_classification_box', true ) ) {
41
+	if ( ! apply_filters('wl_can_see_classification_box', true)) {
42 42
 		return;
43 43
 	}
44 44
 
45 45
 	// phpcs:ignore WordPress.NamingConventions.ValidHookName.UseUnderscores
46
-	if ( ! apply_filters( 'wl_feature__enable__classification-sidebar', true ) ) {
46
+	if ( ! apply_filters('wl_feature__enable__classification-sidebar', true)) {
47 47
 		return;
48 48
 	}
49 49
 
50 50
 	// Bail out if the post type doesn't support a TinyMCE editor.
51
-	if ( ! wl_post_type_supports_editor( $post_type ) ) {
51
+	if ( ! wl_post_type_supports_editor($post_type)) {
52 52
 		return;
53 53
 	}
54 54
 
55 55
 	// If the editor is not gutenberg and not any other custom editor then we use the sidebar.
56 56
 	if ( ! Wordlift_Admin::is_gutenberg() && ! No_Editor_Analysis_Feature::can_no_editor_analysis_be_used(
57 57
 		$post->ID
58
-	) ) {
58
+	)) {
59 59
 		// Add main meta box for related entities and 4W only if not Gutenberg
60 60
 		add_meta_box(
61 61
 			'wordlift_entities_box',
62
-			__( 'WordLift', 'wordlift' ),
62
+			__('WordLift', 'wordlift'),
63 63
 			'wl_entities_box_content',
64 64
 			$post_type,
65 65
 			'side',
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
 
70 70
 }
71 71
 
72
-add_action( 'add_meta_boxes', 'wl_admin_add_entities_meta_box', 10, 2 );
72
+add_action('add_meta_boxes', 'wl_admin_add_entities_meta_box', 10, 2);
73 73
 
74 74
 /**
75 75
  * Whether the post type supports the editor UI.
@@ -80,9 +80,9 @@  discard block
 block discarded – undo
80 80
  *
81 81
  * @return bool True if the editor UI is supported otherwise false.
82 82
  */
83
-function wl_post_type_supports_editor( $post_type ) {
83
+function wl_post_type_supports_editor($post_type) {
84 84
 
85
-	$default = post_type_supports( $post_type, 'editor' );
85
+	$default = post_type_supports($post_type, 'editor');
86 86
 
87 87
 	/**
88 88
 	 * Allow 3rd parties to force the classification to load.
@@ -93,7 +93,7 @@  discard block
 block discarded – undo
93 93
 	 *
94 94
 	 * @since 3.19.4
95 95
 	 */
96
-	return apply_filters( 'wl_post_type_supports_editor', $default, $post_type );
96
+	return apply_filters('wl_post_type_supports_editor', $default, $post_type);
97 97
 }
98 98
 
99 99
 /**
@@ -101,10 +101,10 @@  discard block
 block discarded – undo
101 101
  *
102 102
  * @param WP_Post $post The current post.
103 103
  */
104
-function wl_entities_box_content( $post, $wrapper = true ) {
104
+function wl_entities_box_content($post, $wrapper = true) {
105 105
 
106 106
 	// Angularjs edit-post widget wrapper.
107
-	if ( $wrapper ) {
107
+	if ($wrapper) {
108 108
 		echo '<div id="wordlift-edit-post-outer-wrapper"></div>';
109 109
 	}
110 110
 }
@@ -114,13 +114,13 @@  discard block
 block discarded – undo
114 114
 
115 115
 	// Angularjs edit-post widget classification boxes configuration.
116 116
 	// phpcs:ignore WordPress.PHP.DiscouragedPHPFunctions.serialize_unserialize
117
-	$classification_boxes = unserialize( WL_CORE_POST_CLASSIFICATION_BOXES );
117
+	$classification_boxes = unserialize(WL_CORE_POST_CLASSIFICATION_BOXES);
118 118
 
119 119
 	// Array to store all related entities ids.
120 120
 	$all_referenced_entities_ids = array();
121 121
 
122 122
 	// Add selected entities to classification_boxes.
123
-	foreach ( $classification_boxes as $i => $box ) {
123
+	foreach ($classification_boxes as $i => $box) {
124 124
 
125 125
 		// Get the entity referenced from the post content.
126 126
 		/*
@@ -128,118 +128,116 @@  discard block
 block discarded – undo
128 128
 		 *
129 129
 		 * @since 3.20.0
130 130
 		 */
131
-		$post_content = apply_filters( 'wl_post_content', $post->post_content, $post );
132
-		$entity_uris  = Wordlift_Content_Filter_Service::get_instance()->get_entity_uris( $post_content );
131
+		$post_content = apply_filters('wl_post_content', $post->post_content, $post);
132
+		$entity_uris  = Wordlift_Content_Filter_Service::get_instance()->get_entity_uris($post_content);
133 133
 
134 134
 		// Enhance current box selected entities.
135
-		$classification_boxes[ $i ]['selectedEntities'] = $entity_uris;
135
+		$classification_boxes[$i]['selectedEntities'] = $entity_uris;
136 136
 
137 137
 		// Maps the URIs to entity posts.
138 138
 		$entity_service = Wordlift_Entity_Service::get_instance();
139 139
 
140 140
 		// Replace all entity URI's with post ID's if found or null if there is no related post.
141 141
 		$entity_ids = array_map(
142
-			function ( $item ) use ( $entity_service ) {
142
+			function($item) use ($entity_service) {
143 143
 				// Return entity post by the entity URI or null.
144
-				$post = $entity_service->get_entity_post_by_uri( $item );
144
+				$post = $entity_service->get_entity_post_by_uri($item);
145 145
 
146 146
 				// Check that the post object is not null.
147
-				if ( ! empty( $post ) ) {
147
+				if ( ! empty($post)) {
148 148
 					  return $post->ID;
149 149
 				}
150 150
 			},
151 151
 			$entity_uris
152 152
 		);
153 153
 		// Store the entity ids for all the 4W.
154
-		$all_referenced_entities_ids = array_merge( $all_referenced_entities_ids, $entity_ids );
154
+		$all_referenced_entities_ids = array_merge($all_referenced_entities_ids, $entity_ids);
155 155
 
156 156
 	}
157 157
 
158 158
 	// Json encoding for classification boxes structure.
159
-	$classification_boxes = wp_json_encode( $classification_boxes );
159
+	$classification_boxes = wp_json_encode($classification_boxes);
160 160
 
161 161
 	// Ensure there are no repetitions of the referenced entities.
162
-	$all_referenced_entities_ids = array_unique( $all_referenced_entities_ids );
162
+	$all_referenced_entities_ids = array_unique($all_referenced_entities_ids);
163 163
 
164 164
 	// Remove all null, false and empty strings.
165 165
 	// NULL is being returned in some cases, when there is not related post, so we need to remove it.
166
-	$all_referenced_entities_ids = array_filter( $all_referenced_entities_ids );
166
+	$all_referenced_entities_ids = array_filter($all_referenced_entities_ids);
167 167
 
168 168
 	// Build the entity storage object.
169 169
 	$referenced_entities_obj = array();
170
-	foreach ( $all_referenced_entities_ids as $referenced_entity ) {
171
-		$entity = wl_serialize_entity( $referenced_entity );
170
+	foreach ($all_referenced_entities_ids as $referenced_entity) {
171
+		$entity = wl_serialize_entity($referenced_entity);
172 172
 		// Set a default confidence of `PHP_INT_MAX` for already annotated entities.
173
-		$referenced_entities_obj[ $entity['id'] ] = $entity
174
-													+ array( 'confidence' => PHP_INT_MAX );
173
+		$referenced_entities_obj[$entity['id']] = $entity
174
+													+ array('confidence' => PHP_INT_MAX);
175 175
 	}
176 176
 
177
-	$referenced_entities_obj = empty( $referenced_entities_obj ) ?
178
-		'{}' : wp_json_encode( $referenced_entities_obj );
177
+	$referenced_entities_obj = empty($referenced_entities_obj) ?
178
+		'{}' : wp_json_encode($referenced_entities_obj);
179 179
 
180
-	$published_place_id  = get_post_meta(
180
+	$published_place_id = get_post_meta(
181 181
 		$post->ID,
182 182
 		Wordlift_Schema_Service::FIELD_LOCATION_CREATED,
183 183
 		true
184 184
 	);
185
-	$published_place_obj = ( $published_place_id ) ?
186
-		wp_json_encode( wl_serialize_entity( $published_place_id ) ) :
187
-		null;
185
+	$published_place_obj = ($published_place_id) ?
186
+		wp_json_encode(wl_serialize_entity($published_place_id)) : null;
188 187
 
189
-	$topic_id  = get_post_meta(
188
+	$topic_id = get_post_meta(
190 189
 		$post->ID,
191 190
 		Wordlift_Schema_Service::FIELD_TOPIC,
192 191
 		true
193 192
 	);
194
-	$topic_obj = ( $topic_id ) ?
195
-		wp_json_encode( wl_serialize_entity( $topic_id ) ) :
196
-		null;
193
+	$topic_obj = ($topic_id) ?
194
+		wp_json_encode(wl_serialize_entity($topic_id)) : null;
197 195
 
198 196
 	$configuration_service = Wordlift_Configuration_Service::get_instance();
199 197
 
200 198
 	$default_thumbnail_path = WL_DEFAULT_THUMBNAIL_PATH;
201 199
 	$default_path           = WL_DEFAULT_PATH;
202 200
 	$dataset_uri            = $configuration_service->get_dataset_uri();
203
-	$current_post_uri       = Wordlift_Entity_Service::get_instance()->get_uri( $post->ID );
204
-	$is_entity              = Wordlift_Entity_Service::get_instance()->is_entity( $post->ID );
201
+	$current_post_uri       = Wordlift_Entity_Service::get_instance()->get_uri($post->ID);
202
+	$is_entity              = Wordlift_Entity_Service::get_instance()->is_entity($post->ID);
205 203
 
206 204
 	// Retrieve the current post author.
207
-	$post_author = get_userdata( $post->post_author )->display_name;
205
+	$post_author = get_userdata($post->post_author)->display_name;
208 206
 	// Retrive the published date.
209
-	$published_date = get_the_time( 'Y-m-d', $post->ID );
207
+	$published_date = get_the_time('Y-m-d', $post->ID);
210 208
 	// Current language.
211 209
 	$current_language            = $configuration_service->get_language_code();
212 210
 	$wordlift_timeline_shortcode = new Wordlift_Timeline_Shortcode();
213
-	$timelinejs_default_options  = wp_json_encode( $wordlift_timeline_shortcode->get_timelinejs_default_options(), JSON_PRETTY_PRINT );
214
-	$addslashes_post_author      = addslashes( $post_author );
211
+	$timelinejs_default_options  = wp_json_encode($wordlift_timeline_shortcode->get_timelinejs_default_options(), JSON_PRETTY_PRINT);
212
+	$addslashes_post_author      = addslashes($post_author);
215 213
 
216 214
 	$metabox_settings = array(
217
-		'classificationBoxes'      => json_decode( $classification_boxes ),
218
-		'entities'                 => json_decode( $referenced_entities_obj ),
219
-		'currentPostId'            => intval( $post->ID ),
215
+		'classificationBoxes'      => json_decode($classification_boxes),
216
+		'entities'                 => json_decode($referenced_entities_obj),
217
+		'currentPostId'            => intval($post->ID),
220 218
 		'currentPostUri'           => $current_post_uri,
221 219
 		'currentPostType'          => $post->post_type,
222
-		'isEntity'                 => ! empty( $is_entity ),
220
+		'isEntity'                 => ! empty($is_entity),
223 221
 		'defaultThumbnailPath'     => $default_thumbnail_path,
224 222
 		'defaultWordLiftPath'      => $default_path,
225 223
 		'datasetUri'               => $dataset_uri,
226 224
 		'currentUser'              => $addslashes_post_author,
227 225
 		'publishedDate'            => $published_date,
228 226
 		'publishedPlace'           => $published_place_obj,
229
-		'topic'                    => json_decode( $topic_obj ),
227
+		'topic'                    => json_decode($topic_obj),
230 228
 		'currentLanguage'          => $current_language,
231
-		'timelinejsDefaultOptions' => json_decode( $timelinejs_default_options ),
232
-		'ajax_url'                 => admin_url( 'admin-ajax.php' ),
229
+		'timelinejsDefaultOptions' => json_decode($timelinejs_default_options),
230
+		'ajax_url'                 => admin_url('admin-ajax.php'),
233 231
 	);
234 232
 
235 233
 	// Allow Classic and Block Editor scripts to register first.
236 234
 	// Hook to the Block Editor script.
237
-	wp_localize_script( 'wl-block-editor', '_wlMetaBoxSettings', array( 'settings' => $metabox_settings ) );
235
+	wp_localize_script('wl-block-editor', '_wlMetaBoxSettings', array('settings' => $metabox_settings));
238 236
 
239 237
 	// Hook to the Classic Editor script, see Wordlift_Admin_Post_Edit_Page.
240
-	wp_localize_script( 'wl-classic-editor', '_wlMetaBoxSettings', array( 'settings' => $metabox_settings ) );
238
+	wp_localize_script('wl-classic-editor', '_wlMetaBoxSettings', array('settings' => $metabox_settings));
241 239
 
242 240
 }
243 241
 
244
-add_action( 'admin_print_scripts-post.php', 'wl_entities_box_content_scripts', 11 );
245
-add_action( 'admin_print_scripts-post-new.php', 'wl_entities_box_content_scripts', 11 );
242
+add_action('admin_print_scripts-post.php', 'wl_entities_box_content_scripts', 11);
243
+add_action('admin_print_scripts-post-new.php', 'wl_entities_box_content_scripts', 11);
Please login to merge, or discard this patch.
src/admin/class-wordlift-notice-service.php 2 patches
Indentation   +189 added lines, -189 removed lines patch added patch discarded remove patch
@@ -7,194 +7,194 @@
 block discarded – undo
7 7
  */
8 8
 class Wordlift_Notice_Service {
9 9
 
10
-	/**
11
-	 * The template used to display notices. The <em>notice dismissible</em> style classes make this notice dismissible
12
-	 * on the WordPress UI (via a small X button on the right side of the notice).
13
-	 *
14
-	 * @since 3.2.0
15
-	 */
16
-	const TEMPLATE = '<div class="wl-notice notice is-dismissible %s"><p>%s</p></div>';
17
-
18
-	/**
19
-	 * The standard WordPress <em>update</em> style class.
20
-	 *
21
-	 * @since 3.2.0
22
-	 */
23
-	const UPDATE = 'update';
24
-
25
-	/**
26
-	 * The standard WordPress <em>update-nag</em> style class.
27
-	 *
28
-	 * @since 3.2.0
29
-	 */
30
-	const UPDATE_NAG = 'update-nag';
31
-
32
-	/**
33
-	 * The standard WordPress <em>error</em> style class.
34
-	 *
35
-	 * @since 3.2.0
36
-	 */
37
-	const ERROR = 'error';
38
-
39
-	/**
40
-	 * A custom WordLift css style class used for WordLift suggestions.
41
-	 *
42
-	 * @since 3.3.0
43
-	 */
44
-	const SUGGESTION = 'wl-suggestion';
45
-
46
-	/**
47
-	 * The array of notices.
48
-	 *
49
-	 * @since 3.2.0
50
-	 * @access private
51
-	 * @var array $notices The array of notices.
52
-	 */
53
-	private $notices = array();
54
-
55
-	/**
56
-	 * A singleton instance of the Notice service.
57
-	 *
58
-	 * @since 3.2.0
59
-	 * @access private
60
-	 * @var \Wordlift_Notice_Service $instance A singleton instance of the Notice service.
61
-	 */
62
-	private static $instance;
63
-
64
-	/**
65
-	 * Create an instance of the Notice service.
66
-	 *
67
-	 * @since 3.2.0
68
-	 */
69
-	public function __construct() {
70
-		/**
71
-		 * Filter: wl_feature__enable__notices.
72
-		 *
73
-		 * @param bool whether the notices needs to be enabled or not.
74
-		 *
75
-		 * @return bool
76
-		 * @since 3.27.6
77
-		 */
78
-		if ( apply_filters( 'wl_feature__enable__notices', true ) ) {
79
-			// Hook to be called when to display notices.
80
-			add_action( 'admin_notices', array( $this, 'admin_notices' ) );
81
-		}
82
-		self::$instance = $this;
83
-
84
-	}
85
-
86
-	/**
87
-	 * Get the singleton instance of the Notice service.
88
-	 *
89
-	 * @return \Wordlift_Notice_Service The singleton instance of the Notice service.
90
-	 * @since 3.2.0
91
-	 */
92
-	public static function get_instance() {
93
-
94
-		return self::$instance;
95
-	}
96
-
97
-	/**
98
-	 * Add a notice.
99
-	 *
100
-	 * @param string $class The css class.
101
-	 * @param string $message The message.
102
-	 *
103
-	 * @since 3.2.0
104
-	 */
105
-	public function add( $class, $message ) {
106
-
107
-		$this->notices[] = sprintf( self::TEMPLATE, $class, $this->transform( $message ) );
108
-
109
-	}
110
-
111
-	/**
112
-	 * Add an update notice (message with a white background and a green left border).
113
-	 *
114
-	 * @param string $message The message to display.
115
-	 *
116
-	 * @since 3.2.0
117
-	 */
118
-	public function add_update( $message ) {
119
-
120
-		$this->add( self::UPDATE, $message );
121
-
122
-	}
123
-
124
-	/**
125
-	 * Add an update nag notice (message with a white background and a yellow left border).
126
-	 *
127
-	 * @param string $message The message to display.
128
-	 *
129
-	 * @since 3.2.0
130
-	 */
131
-	public function add_update_nag( $message ) {
132
-
133
-		$this->add( self::UPDATE_NAG, $message );
134
-
135
-	}
136
-
137
-	/**
138
-	 * Add an error notice (message with a white background and a red left border).
139
-	 *
140
-	 * @param string $message The message to display.
141
-	 *
142
-	 * @since 3.2.0
143
-	 */
144
-	public function add_error( $message ) {
145
-
146
-		$this->add( self::ERROR, $message );
147
-
148
-	}
149
-
150
-	/**
151
-	 * Add a suggestion notice (message with a white background and a WordLift brand colored left border).
152
-	 *
153
-	 * @param string $message The message to display.
154
-	 *
155
-	 * @since 3.3.0
156
-	 */
157
-	public function add_suggestion( $message ) {
158
-
159
-		$this->add( self::SUGGESTION, $message );
160
-
161
-	}
162
-
163
-	/**
164
-	 * Print out the notices when the admin_notices action is called.
165
-	 *
166
-	 * @since 3.2.0
167
-	 */
168
-	public function admin_notices() {
169
-
170
-		foreach ( $this->notices as $notice ) {
171
-			echo wp_kses(
172
-				$notice,
173
-				array(
174
-					'div' => array( 'class' => array() ),
175
-					'p'   => array(),
176
-				)
177
-			);
178
-		}
179
-
180
-	}
181
-
182
-	/**
183
-	 * Transform message depending on message type. Return a string
184
-	 *
185
-	 * @param string $message The message.
186
-	 *
187
-	 * @since 3.3.0
188
-	 */
189
-	private function transform( $message ) {
190
-
191
-		switch ( gettype( $message ) ) {
192
-			case 'array':
193
-				return implode( '<br />', $message );
194
-			default:
195
-				return $message;
196
-		}
197
-
198
-	}
10
+    /**
11
+     * The template used to display notices. The <em>notice dismissible</em> style classes make this notice dismissible
12
+     * on the WordPress UI (via a small X button on the right side of the notice).
13
+     *
14
+     * @since 3.2.0
15
+     */
16
+    const TEMPLATE = '<div class="wl-notice notice is-dismissible %s"><p>%s</p></div>';
17
+
18
+    /**
19
+     * The standard WordPress <em>update</em> style class.
20
+     *
21
+     * @since 3.2.0
22
+     */
23
+    const UPDATE = 'update';
24
+
25
+    /**
26
+     * The standard WordPress <em>update-nag</em> style class.
27
+     *
28
+     * @since 3.2.0
29
+     */
30
+    const UPDATE_NAG = 'update-nag';
31
+
32
+    /**
33
+     * The standard WordPress <em>error</em> style class.
34
+     *
35
+     * @since 3.2.0
36
+     */
37
+    const ERROR = 'error';
38
+
39
+    /**
40
+     * A custom WordLift css style class used for WordLift suggestions.
41
+     *
42
+     * @since 3.3.0
43
+     */
44
+    const SUGGESTION = 'wl-suggestion';
45
+
46
+    /**
47
+     * The array of notices.
48
+     *
49
+     * @since 3.2.0
50
+     * @access private
51
+     * @var array $notices The array of notices.
52
+     */
53
+    private $notices = array();
54
+
55
+    /**
56
+     * A singleton instance of the Notice service.
57
+     *
58
+     * @since 3.2.0
59
+     * @access private
60
+     * @var \Wordlift_Notice_Service $instance A singleton instance of the Notice service.
61
+     */
62
+    private static $instance;
63
+
64
+    /**
65
+     * Create an instance of the Notice service.
66
+     *
67
+     * @since 3.2.0
68
+     */
69
+    public function __construct() {
70
+        /**
71
+         * Filter: wl_feature__enable__notices.
72
+         *
73
+         * @param bool whether the notices needs to be enabled or not.
74
+         *
75
+         * @return bool
76
+         * @since 3.27.6
77
+         */
78
+        if ( apply_filters( 'wl_feature__enable__notices', true ) ) {
79
+            // Hook to be called when to display notices.
80
+            add_action( 'admin_notices', array( $this, 'admin_notices' ) );
81
+        }
82
+        self::$instance = $this;
83
+
84
+    }
85
+
86
+    /**
87
+     * Get the singleton instance of the Notice service.
88
+     *
89
+     * @return \Wordlift_Notice_Service The singleton instance of the Notice service.
90
+     * @since 3.2.0
91
+     */
92
+    public static function get_instance() {
93
+
94
+        return self::$instance;
95
+    }
96
+
97
+    /**
98
+     * Add a notice.
99
+     *
100
+     * @param string $class The css class.
101
+     * @param string $message The message.
102
+     *
103
+     * @since 3.2.0
104
+     */
105
+    public function add( $class, $message ) {
106
+
107
+        $this->notices[] = sprintf( self::TEMPLATE, $class, $this->transform( $message ) );
108
+
109
+    }
110
+
111
+    /**
112
+     * Add an update notice (message with a white background and a green left border).
113
+     *
114
+     * @param string $message The message to display.
115
+     *
116
+     * @since 3.2.0
117
+     */
118
+    public function add_update( $message ) {
119
+
120
+        $this->add( self::UPDATE, $message );
121
+
122
+    }
123
+
124
+    /**
125
+     * Add an update nag notice (message with a white background and a yellow left border).
126
+     *
127
+     * @param string $message The message to display.
128
+     *
129
+     * @since 3.2.0
130
+     */
131
+    public function add_update_nag( $message ) {
132
+
133
+        $this->add( self::UPDATE_NAG, $message );
134
+
135
+    }
136
+
137
+    /**
138
+     * Add an error notice (message with a white background and a red left border).
139
+     *
140
+     * @param string $message The message to display.
141
+     *
142
+     * @since 3.2.0
143
+     */
144
+    public function add_error( $message ) {
145
+
146
+        $this->add( self::ERROR, $message );
147
+
148
+    }
149
+
150
+    /**
151
+     * Add a suggestion notice (message with a white background and a WordLift brand colored left border).
152
+     *
153
+     * @param string $message The message to display.
154
+     *
155
+     * @since 3.3.0
156
+     */
157
+    public function add_suggestion( $message ) {
158
+
159
+        $this->add( self::SUGGESTION, $message );
160
+
161
+    }
162
+
163
+    /**
164
+     * Print out the notices when the admin_notices action is called.
165
+     *
166
+     * @since 3.2.0
167
+     */
168
+    public function admin_notices() {
169
+
170
+        foreach ( $this->notices as $notice ) {
171
+            echo wp_kses(
172
+                $notice,
173
+                array(
174
+                    'div' => array( 'class' => array() ),
175
+                    'p'   => array(),
176
+                )
177
+            );
178
+        }
179
+
180
+    }
181
+
182
+    /**
183
+     * Transform message depending on message type. Return a string
184
+     *
185
+     * @param string $message The message.
186
+     *
187
+     * @since 3.3.0
188
+     */
189
+    private function transform( $message ) {
190
+
191
+        switch ( gettype( $message ) ) {
192
+            case 'array':
193
+                return implode( '<br />', $message );
194
+            default:
195
+                return $message;
196
+        }
197
+
198
+    }
199 199
 
200 200
 }
Please login to merge, or discard this patch.
Spacing   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -75,9 +75,9 @@  discard block
 block discarded – undo
75 75
 		 * @return bool
76 76
 		 * @since 3.27.6
77 77
 		 */
78
-		if ( apply_filters( 'wl_feature__enable__notices', true ) ) {
78
+		if (apply_filters('wl_feature__enable__notices', true)) {
79 79
 			// Hook to be called when to display notices.
80
-			add_action( 'admin_notices', array( $this, 'admin_notices' ) );
80
+			add_action('admin_notices', array($this, 'admin_notices'));
81 81
 		}
82 82
 		self::$instance = $this;
83 83
 
@@ -102,9 +102,9 @@  discard block
 block discarded – undo
102 102
 	 *
103 103
 	 * @since 3.2.0
104 104
 	 */
105
-	public function add( $class, $message ) {
105
+	public function add($class, $message) {
106 106
 
107
-		$this->notices[] = sprintf( self::TEMPLATE, $class, $this->transform( $message ) );
107
+		$this->notices[] = sprintf(self::TEMPLATE, $class, $this->transform($message));
108 108
 
109 109
 	}
110 110
 
@@ -115,9 +115,9 @@  discard block
 block discarded – undo
115 115
 	 *
116 116
 	 * @since 3.2.0
117 117
 	 */
118
-	public function add_update( $message ) {
118
+	public function add_update($message) {
119 119
 
120
-		$this->add( self::UPDATE, $message );
120
+		$this->add(self::UPDATE, $message);
121 121
 
122 122
 	}
123 123
 
@@ -128,9 +128,9 @@  discard block
 block discarded – undo
128 128
 	 *
129 129
 	 * @since 3.2.0
130 130
 	 */
131
-	public function add_update_nag( $message ) {
131
+	public function add_update_nag($message) {
132 132
 
133
-		$this->add( self::UPDATE_NAG, $message );
133
+		$this->add(self::UPDATE_NAG, $message);
134 134
 
135 135
 	}
136 136
 
@@ -141,9 +141,9 @@  discard block
 block discarded – undo
141 141
 	 *
142 142
 	 * @since 3.2.0
143 143
 	 */
144
-	public function add_error( $message ) {
144
+	public function add_error($message) {
145 145
 
146
-		$this->add( self::ERROR, $message );
146
+		$this->add(self::ERROR, $message);
147 147
 
148 148
 	}
149 149
 
@@ -154,9 +154,9 @@  discard block
 block discarded – undo
154 154
 	 *
155 155
 	 * @since 3.3.0
156 156
 	 */
157
-	public function add_suggestion( $message ) {
157
+	public function add_suggestion($message) {
158 158
 
159
-		$this->add( self::SUGGESTION, $message );
159
+		$this->add(self::SUGGESTION, $message);
160 160
 
161 161
 	}
162 162
 
@@ -167,11 +167,11 @@  discard block
 block discarded – undo
167 167
 	 */
168 168
 	public function admin_notices() {
169 169
 
170
-		foreach ( $this->notices as $notice ) {
170
+		foreach ($this->notices as $notice) {
171 171
 			echo wp_kses(
172 172
 				$notice,
173 173
 				array(
174
-					'div' => array( 'class' => array() ),
174
+					'div' => array('class' => array()),
175 175
 					'p'   => array(),
176 176
 				)
177 177
 			);
@@ -186,11 +186,11 @@  discard block
 block discarded – undo
186 186
 	 *
187 187
 	 * @since 3.3.0
188 188
 	 */
189
-	private function transform( $message ) {
189
+	private function transform($message) {
190 190
 
191
-		switch ( gettype( $message ) ) {
191
+		switch (gettype($message)) {
192 192
 			case 'array':
193
-				return implode( '<br />', $message );
193
+				return implode('<br />', $message);
194 194
 			default:
195 195
 				return $message;
196 196
 		}
Please login to merge, or discard this patch.
src/admin/class-wordlift-admin-page.php 2 patches
Indentation   +128 added lines, -128 removed lines patch added patch discarded remove patch
@@ -18,133 +18,133 @@
 block discarded – undo
18 18
  */
19 19
 abstract class Wordlift_Admin_Page {
20 20
 
21
-	/**
22
-	 * Define the {@link Wordlift_Admin_Page} constructor.
23
-	 *
24
-	 * @since 3.20.0
25
-	 */
26
-	public function __construct() {
27
-		add_action( 'admin_menu', array( $this, 'admin_menu' ), 10, 0 );
28
-	}
29
-
30
-	/**
31
-	 * Get the parent slug.
32
-	 *
33
-	 * @return string The parent slug (default 'wl_admin_menu').
34
-	 * @since 3.11.0
35
-	 */
36
-	protected function get_parent_slug() {
37
-
38
-		return 'wl_admin_menu';
39
-	}
40
-
41
-	/**
42
-	 * Get the required capability.
43
-	 *
44
-	 * @return string The capability (default 'manage_options').
45
-	 * @since 3.11.0
46
-	 */
47
-	protected function get_capability() {
48
-
49
-		return 'manage_options';
50
-	}
51
-
52
-	/**
53
-	 * Get the page title. Will be translated.
54
-	 *
55
-	 * @return string The page title.
56
-	 * @since 3.11.0
57
-	 */
58
-	abstract public function get_page_title();
59
-
60
-	/**
61
-	 * Get the menu title. Will be translated.
62
-	 *
63
-	 * @return string The menu title.
64
-	 * @since 3.11.0
65
-	 */
66
-	abstract public function get_menu_title();
67
-
68
-	/**
69
-	 * Get the menu slug.
70
-	 *
71
-	 * @return string The menu slug.
72
-	 * @since 3.11.0
73
-	 */
74
-	abstract public function get_menu_slug();
75
-
76
-	/**
77
-	 * Get the page url.
78
-	 *
79
-	 * @return string The escaped url of the admin page
80
-	 * @since 3.14.0
81
-	 */
82
-	public function get_url() {
83
-
84
-		// ideally should have used menu_page_url, but it is loaded later than some usages.
85
-		$url = admin_url( 'admin.php?page=' . $this->get_menu_slug() );
86
-
87
-		return esc_url( $url );
88
-	}
89
-
90
-	/**
91
-	 * Get the partial file name, used in the {@link render} function.
92
-	 *
93
-	 * @return string The partial file name.
94
-	 * @since 3.11.0
95
-	 */
96
-	abstract public function get_partial_name();
97
-
98
-	/**
99
-	 * The `admin_menu` callback. Will call {@link add_submenu_page} to add the
100
-	 * page to the admin menu.
101
-	 *
102
-	 * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
103
-	 * @since 3.11.0
104
-	 */
105
-	public function admin_menu() {
106
-		// Add the sub-menu page.
107
-		//
108
-		// See http://codex.wordpress.org/Function_Reference/add_submenu_page
109
-		$page = add_submenu_page(
110
-			$this->get_parent_slug(),
111
-			$this->get_page_title(),
112
-			$this->get_menu_title(),
113
-			$this->get_capability(),                   // The required capability, provided by the calling hook.
114
-			$this->get_menu_slug(),
115
-			array( $this, 'render' )
116
-		);
117
-
118
-		// Set a hook to enqueue scripts only when the settings page is displayed.
119
-		add_action(
120
-			'admin_print_scripts-' . $page,
121
-			array(
122
-				$this,
123
-				'enqueue_scripts',
124
-			)
125
-		);
126
-
127
-		// Finally return the page hook_suffix.
128
-		return $page;
129
-	}
130
-
131
-	/**
132
-	 * Enqueue scripts for the specific page. Subclasses can override this function
133
-	 * to provide their own styles/scripts.
134
-	 *
135
-	 * @since 3.11.0
136
-	 */
137
-	public function enqueue_scripts() {
138
-	}
139
-
140
-	/**
141
-	 * Render the page.
142
-	 */
143
-	public function render() {
144
-
145
-		// Include the partial.
146
-		include plugin_dir_path( __FILE__ ) . 'partials/' . $this->get_partial_name();
147
-
148
-	}
21
+    /**
22
+     * Define the {@link Wordlift_Admin_Page} constructor.
23
+     *
24
+     * @since 3.20.0
25
+     */
26
+    public function __construct() {
27
+        add_action( 'admin_menu', array( $this, 'admin_menu' ), 10, 0 );
28
+    }
29
+
30
+    /**
31
+     * Get the parent slug.
32
+     *
33
+     * @return string The parent slug (default 'wl_admin_menu').
34
+     * @since 3.11.0
35
+     */
36
+    protected function get_parent_slug() {
37
+
38
+        return 'wl_admin_menu';
39
+    }
40
+
41
+    /**
42
+     * Get the required capability.
43
+     *
44
+     * @return string The capability (default 'manage_options').
45
+     * @since 3.11.0
46
+     */
47
+    protected function get_capability() {
48
+
49
+        return 'manage_options';
50
+    }
51
+
52
+    /**
53
+     * Get the page title. Will be translated.
54
+     *
55
+     * @return string The page title.
56
+     * @since 3.11.0
57
+     */
58
+    abstract public function get_page_title();
59
+
60
+    /**
61
+     * Get the menu title. Will be translated.
62
+     *
63
+     * @return string The menu title.
64
+     * @since 3.11.0
65
+     */
66
+    abstract public function get_menu_title();
67
+
68
+    /**
69
+     * Get the menu slug.
70
+     *
71
+     * @return string The menu slug.
72
+     * @since 3.11.0
73
+     */
74
+    abstract public function get_menu_slug();
75
+
76
+    /**
77
+     * Get the page url.
78
+     *
79
+     * @return string The escaped url of the admin page
80
+     * @since 3.14.0
81
+     */
82
+    public function get_url() {
83
+
84
+        // ideally should have used menu_page_url, but it is loaded later than some usages.
85
+        $url = admin_url( 'admin.php?page=' . $this->get_menu_slug() );
86
+
87
+        return esc_url( $url );
88
+    }
89
+
90
+    /**
91
+     * Get the partial file name, used in the {@link render} function.
92
+     *
93
+     * @return string The partial file name.
94
+     * @since 3.11.0
95
+     */
96
+    abstract public function get_partial_name();
97
+
98
+    /**
99
+     * The `admin_menu` callback. Will call {@link add_submenu_page} to add the
100
+     * page to the admin menu.
101
+     *
102
+     * @return false|string The resulting page's hook_suffix, or false if the user does not have the capability required.
103
+     * @since 3.11.0
104
+     */
105
+    public function admin_menu() {
106
+        // Add the sub-menu page.
107
+        //
108
+        // See http://codex.wordpress.org/Function_Reference/add_submenu_page
109
+        $page = add_submenu_page(
110
+            $this->get_parent_slug(),
111
+            $this->get_page_title(),
112
+            $this->get_menu_title(),
113
+            $this->get_capability(),                   // The required capability, provided by the calling hook.
114
+            $this->get_menu_slug(),
115
+            array( $this, 'render' )
116
+        );
117
+
118
+        // Set a hook to enqueue scripts only when the settings page is displayed.
119
+        add_action(
120
+            'admin_print_scripts-' . $page,
121
+            array(
122
+                $this,
123
+                'enqueue_scripts',
124
+            )
125
+        );
126
+
127
+        // Finally return the page hook_suffix.
128
+        return $page;
129
+    }
130
+
131
+    /**
132
+     * Enqueue scripts for the specific page. Subclasses can override this function
133
+     * to provide their own styles/scripts.
134
+     *
135
+     * @since 3.11.0
136
+     */
137
+    public function enqueue_scripts() {
138
+    }
139
+
140
+    /**
141
+     * Render the page.
142
+     */
143
+    public function render() {
144
+
145
+        // Include the partial.
146
+        include plugin_dir_path( __FILE__ ) . 'partials/' . $this->get_partial_name();
147
+
148
+    }
149 149
 
150 150
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -24,7 +24,7 @@  discard block
 block discarded – undo
24 24
 	 * @since 3.20.0
25 25
 	 */
26 26
 	public function __construct() {
27
-		add_action( 'admin_menu', array( $this, 'admin_menu' ), 10, 0 );
27
+		add_action('admin_menu', array($this, 'admin_menu'), 10, 0);
28 28
 	}
29 29
 
30 30
 	/**
@@ -82,9 +82,9 @@  discard block
 block discarded – undo
82 82
 	public function get_url() {
83 83
 
84 84
 		// ideally should have used menu_page_url, but it is loaded later than some usages.
85
-		$url = admin_url( 'admin.php?page=' . $this->get_menu_slug() );
85
+		$url = admin_url('admin.php?page='.$this->get_menu_slug());
86 86
 
87
-		return esc_url( $url );
87
+		return esc_url($url);
88 88
 	}
89 89
 
90 90
 	/**
@@ -110,14 +110,14 @@  discard block
 block discarded – undo
110 110
 			$this->get_parent_slug(),
111 111
 			$this->get_page_title(),
112 112
 			$this->get_menu_title(),
113
-			$this->get_capability(),                   // The required capability, provided by the calling hook.
113
+			$this->get_capability(), // The required capability, provided by the calling hook.
114 114
 			$this->get_menu_slug(),
115
-			array( $this, 'render' )
115
+			array($this, 'render')
116 116
 		);
117 117
 
118 118
 		// Set a hook to enqueue scripts only when the settings page is displayed.
119 119
 		add_action(
120
-			'admin_print_scripts-' . $page,
120
+			'admin_print_scripts-'.$page,
121 121
 			array(
122 122
 				$this,
123 123
 				'enqueue_scripts',
@@ -143,7 +143,7 @@  discard block
 block discarded – undo
143 143
 	public function render() {
144 144
 
145 145
 		// Include the partial.
146
-		include plugin_dir_path( __FILE__ ) . 'partials/' . $this->get_partial_name();
146
+		include plugin_dir_path(__FILE__).'partials/'.$this->get_partial_name();
147 147
 
148 148
 	}
149 149
 
Please login to merge, or discard this patch.
src/admin/elements/class-wordlift-admin-author-element.php 2 patches
Indentation   +120 added lines, -120 removed lines patch added patch discarded remove patch
@@ -19,125 +19,125 @@
 block discarded – undo
19 19
  */
20 20
 class Wordlift_Admin_Author_Element implements Wordlift_Admin_Element {
21 21
 
22
-	/**
23
-	 * The {@link Wordlift_Publisher_Service} instance.
24
-	 *
25
-	 * @since  3.14.0
26
-	 * @access private
27
-	 * @var \Wordlift_Publisher_Service $publisher_service The {@link Wordlift_Publisher_Service} instance.
28
-	 */
29
-	private $publisher_service;
30
-
31
-	/**
32
-	 * A {@link Wordlift_Admin_Select2_Element} instance.
33
-	 *
34
-	 * @since  3.14.0
35
-	 * @access private
36
-	 * @var \Wordlift_Admin_Select2_Element $select_element A {@link Wordlift_Admin_Select2_Element} instance.
37
-	 */
38
-	private $select_element;
39
-
40
-	/**
41
-	 * Create a {@link Wordlift_Admin_Person_Element} instance.
42
-	 *
43
-	 * @param \Wordlift_Publisher_Service     $publisher_service The {@link Wordlift_Publisher_Service} instance.
44
-	 * @param \Wordlift_Admin_Select2_Element $select_element The {@link Wordlift_Admin_Select_Element} instance.
45
-	 *
46
-	 * @since 3.14.0
47
-	 */
48
-	public function __construct( $publisher_service, $select_element ) {
49
-
50
-		$this->publisher_service = $publisher_service;
51
-
52
-		// Child elements.
53
-		$this->select_element = $select_element;
54
-
55
-	}
56
-
57
-	/**
58
-	 * @inheritdoc
59
-	 */
60
-	public function render( $args ) {
61
-
62
-		// Parse the arguments and merge with default values.
63
-		$params = wp_parse_args(
64
-			$args,
65
-			array(
66
-				'id'             => uniqid( 'wl-input-' ),
67
-				'name'           => uniqid( 'wl-input-' ),
68
-				'current_entity' => 0,
69
-			)
70
-		);
71
-
72
-		$current_entity_id = $params['current_entity'];
73
-		$data              = $this->publisher_service->query();
74
-
75
-		// Set a default to show when no entity is associated and a way to unassign.
76
-		array_unshift(
77
-			$data,
78
-			array(
79
-				'id'            => '0',
80
-				'text'          => '<em>' . __( '(none)', 'wordlift' ) . '</em>',
81
-				'type'          => '',
82
-				'thumbnail_url' => plugin_dir_url( __DIR__ ) . 'images/pixel.png',
83
-			)
84
-		);
85
-
86
-		// Finally do the render, passing along also the current selected entity
87
-		// id and the options data.
88
-		return $this->do_render( $params, $current_entity_id, $data );
89
-	}
90
-
91
-	/**
92
-	 * Render the `select` using the provided parameters.
93
-	 *
94
-	 * @param array $params The array of parameters from the `render` function.
95
-	 * @param int   $current_post_id The currently selected {@link WP_Post} `id`.
96
-	 * @param array $data An array of Select2 options.
97
-	 *
98
-	 * @return \Wordlift_Admin_Author_Element $this Return this element.
99
-	 * @since 3.14.0
100
-	 */
101
-	protected function do_render( $params, $current_post_id, $data ) {
102
-
103
-		// Queue the script which will initialize the select and style it.
104
-		wp_enqueue_script( 'wl-author-element', plugin_dir_url( __DIR__ ) . 'js/1/author.js', array( 'wordlift-select2' ), WORDLIFT_VERSION, false );
105
-		wp_enqueue_style( 'wl-author-element', plugin_dir_url( __DIR__ ) . 'js/1/author.css', array(), WORDLIFT_VERSION );
106
-
107
-		// Prepare the URLs for entities which don't have logos.
108
-		$person_thumbnail_url       = plugin_dir_url( __DIR__ ) . '../images/person.png';
109
-		$organization_thumbnail_url = plugin_dir_url( __DIR__ ) . '../images/organization.png';
110
-
111
-		// Get the current post.
112
-		$current_post = $current_post_id ? get_post( $current_post_id ) : null;
113
-
114
-		// Finally render the Select.
115
-		$this->select_element->render(
116
-			array(
117
-				// Id.
118
-				'id'      => $params['id'],
119
-				// Name.
120
-				'name'    => $params['name'],
121
-				// Class names.
122
-				'class'   => 'wl-select2-element',
123
-				// The selected id.
124
-				'value'   => $current_post_id,
125
-				// The selected item (must be in the options for Select2 to display it).
126
-				'options' => $current_post ? array( $current_post->ID => $current_post->post_title ) : array(),
127
-				// Data attributes.
128
-				'data'    => array(
129
-					// The list of available options.
130
-					'wl-select2-data'               => wp_json_encode( $data ),
131
-					// The HTML template for each option.
132
-					'wl-select2-template-result'    => "<div class='wl-select2-result'><span class='wl-select2-thumbnail' style='background-image: url( <%- obj.thumbnail_url || ( 'Organization' === obj.type ? '$organization_thumbnail_url' : '$person_thumbnail_url' ) %> );'>&nbsp;</span><span class='wl-select2'><%- obj.text %></span><span class='wl-select2-type'><%- obj.type %></span></div>",
133
-					// The HTML template for the selected option.
134
-					'wl-select2-template-selection' => "<div class='wl-select2-selection'><span class='wl-select2-thumbnail' style='background-image: url( <%- obj.thumbnail_url || ( 'Organization' === obj.type ? '$organization_thumbnail_url' : '$person_thumbnail_url' ) %> );'>&nbsp;</span><span class='wl-select2'><%- obj.text %></span><span class='wl-select2-type'><%- obj.type %></span></div>",
135
-				),
136
-			)
137
-		);
138
-
139
-		// Finally return the element instance.
140
-		return $this;
141
-	}
22
+    /**
23
+     * The {@link Wordlift_Publisher_Service} instance.
24
+     *
25
+     * @since  3.14.0
26
+     * @access private
27
+     * @var \Wordlift_Publisher_Service $publisher_service The {@link Wordlift_Publisher_Service} instance.
28
+     */
29
+    private $publisher_service;
30
+
31
+    /**
32
+     * A {@link Wordlift_Admin_Select2_Element} instance.
33
+     *
34
+     * @since  3.14.0
35
+     * @access private
36
+     * @var \Wordlift_Admin_Select2_Element $select_element A {@link Wordlift_Admin_Select2_Element} instance.
37
+     */
38
+    private $select_element;
39
+
40
+    /**
41
+     * Create a {@link Wordlift_Admin_Person_Element} instance.
42
+     *
43
+     * @param \Wordlift_Publisher_Service     $publisher_service The {@link Wordlift_Publisher_Service} instance.
44
+     * @param \Wordlift_Admin_Select2_Element $select_element The {@link Wordlift_Admin_Select_Element} instance.
45
+     *
46
+     * @since 3.14.0
47
+     */
48
+    public function __construct( $publisher_service, $select_element ) {
49
+
50
+        $this->publisher_service = $publisher_service;
51
+
52
+        // Child elements.
53
+        $this->select_element = $select_element;
54
+
55
+    }
56
+
57
+    /**
58
+     * @inheritdoc
59
+     */
60
+    public function render( $args ) {
61
+
62
+        // Parse the arguments and merge with default values.
63
+        $params = wp_parse_args(
64
+            $args,
65
+            array(
66
+                'id'             => uniqid( 'wl-input-' ),
67
+                'name'           => uniqid( 'wl-input-' ),
68
+                'current_entity' => 0,
69
+            )
70
+        );
71
+
72
+        $current_entity_id = $params['current_entity'];
73
+        $data              = $this->publisher_service->query();
74
+
75
+        // Set a default to show when no entity is associated and a way to unassign.
76
+        array_unshift(
77
+            $data,
78
+            array(
79
+                'id'            => '0',
80
+                'text'          => '<em>' . __( '(none)', 'wordlift' ) . '</em>',
81
+                'type'          => '',
82
+                'thumbnail_url' => plugin_dir_url( __DIR__ ) . 'images/pixel.png',
83
+            )
84
+        );
85
+
86
+        // Finally do the render, passing along also the current selected entity
87
+        // id and the options data.
88
+        return $this->do_render( $params, $current_entity_id, $data );
89
+    }
90
+
91
+    /**
92
+     * Render the `select` using the provided parameters.
93
+     *
94
+     * @param array $params The array of parameters from the `render` function.
95
+     * @param int   $current_post_id The currently selected {@link WP_Post} `id`.
96
+     * @param array $data An array of Select2 options.
97
+     *
98
+     * @return \Wordlift_Admin_Author_Element $this Return this element.
99
+     * @since 3.14.0
100
+     */
101
+    protected function do_render( $params, $current_post_id, $data ) {
102
+
103
+        // Queue the script which will initialize the select and style it.
104
+        wp_enqueue_script( 'wl-author-element', plugin_dir_url( __DIR__ ) . 'js/1/author.js', array( 'wordlift-select2' ), WORDLIFT_VERSION, false );
105
+        wp_enqueue_style( 'wl-author-element', plugin_dir_url( __DIR__ ) . 'js/1/author.css', array(), WORDLIFT_VERSION );
106
+
107
+        // Prepare the URLs for entities which don't have logos.
108
+        $person_thumbnail_url       = plugin_dir_url( __DIR__ ) . '../images/person.png';
109
+        $organization_thumbnail_url = plugin_dir_url( __DIR__ ) . '../images/organization.png';
110
+
111
+        // Get the current post.
112
+        $current_post = $current_post_id ? get_post( $current_post_id ) : null;
113
+
114
+        // Finally render the Select.
115
+        $this->select_element->render(
116
+            array(
117
+                // Id.
118
+                'id'      => $params['id'],
119
+                // Name.
120
+                'name'    => $params['name'],
121
+                // Class names.
122
+                'class'   => 'wl-select2-element',
123
+                // The selected id.
124
+                'value'   => $current_post_id,
125
+                // The selected item (must be in the options for Select2 to display it).
126
+                'options' => $current_post ? array( $current_post->ID => $current_post->post_title ) : array(),
127
+                // Data attributes.
128
+                'data'    => array(
129
+                    // The list of available options.
130
+                    'wl-select2-data'               => wp_json_encode( $data ),
131
+                    // The HTML template for each option.
132
+                    'wl-select2-template-result'    => "<div class='wl-select2-result'><span class='wl-select2-thumbnail' style='background-image: url( <%- obj.thumbnail_url || ( 'Organization' === obj.type ? '$organization_thumbnail_url' : '$person_thumbnail_url' ) %> );'>&nbsp;</span><span class='wl-select2'><%- obj.text %></span><span class='wl-select2-type'><%- obj.type %></span></div>",
133
+                    // The HTML template for the selected option.
134
+                    'wl-select2-template-selection' => "<div class='wl-select2-selection'><span class='wl-select2-thumbnail' style='background-image: url( <%- obj.thumbnail_url || ( 'Organization' === obj.type ? '$organization_thumbnail_url' : '$person_thumbnail_url' ) %> );'>&nbsp;</span><span class='wl-select2'><%- obj.text %></span><span class='wl-select2-type'><%- obj.type %></span></div>",
135
+                ),
136
+            )
137
+        );
138
+
139
+        // Finally return the element instance.
140
+        return $this;
141
+    }
142 142
 
143 143
 }
Please login to merge, or discard this patch.
Spacing   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -45,7 +45,7 @@  discard block
 block discarded – undo
45 45
 	 *
46 46
 	 * @since 3.14.0
47 47
 	 */
48
-	public function __construct( $publisher_service, $select_element ) {
48
+	public function __construct($publisher_service, $select_element) {
49 49
 
50 50
 		$this->publisher_service = $publisher_service;
51 51
 
@@ -57,14 +57,14 @@  discard block
 block discarded – undo
57 57
 	/**
58 58
 	 * @inheritdoc
59 59
 	 */
60
-	public function render( $args ) {
60
+	public function render($args) {
61 61
 
62 62
 		// Parse the arguments and merge with default values.
63 63
 		$params = wp_parse_args(
64 64
 			$args,
65 65
 			array(
66
-				'id'             => uniqid( 'wl-input-' ),
67
-				'name'           => uniqid( 'wl-input-' ),
66
+				'id'             => uniqid('wl-input-'),
67
+				'name'           => uniqid('wl-input-'),
68 68
 				'current_entity' => 0,
69 69
 			)
70 70
 		);
@@ -77,15 +77,15 @@  discard block
 block discarded – undo
77 77
 			$data,
78 78
 			array(
79 79
 				'id'            => '0',
80
-				'text'          => '<em>' . __( '(none)', 'wordlift' ) . '</em>',
80
+				'text'          => '<em>'.__('(none)', 'wordlift').'</em>',
81 81
 				'type'          => '',
82
-				'thumbnail_url' => plugin_dir_url( __DIR__ ) . 'images/pixel.png',
82
+				'thumbnail_url' => plugin_dir_url(__DIR__).'images/pixel.png',
83 83
 			)
84 84
 		);
85 85
 
86 86
 		// Finally do the render, passing along also the current selected entity
87 87
 		// id and the options data.
88
-		return $this->do_render( $params, $current_entity_id, $data );
88
+		return $this->do_render($params, $current_entity_id, $data);
89 89
 	}
90 90
 
91 91
 	/**
@@ -98,18 +98,18 @@  discard block
 block discarded – undo
98 98
 	 * @return \Wordlift_Admin_Author_Element $this Return this element.
99 99
 	 * @since 3.14.0
100 100
 	 */
101
-	protected function do_render( $params, $current_post_id, $data ) {
101
+	protected function do_render($params, $current_post_id, $data) {
102 102
 
103 103
 		// Queue the script which will initialize the select and style it.
104
-		wp_enqueue_script( 'wl-author-element', plugin_dir_url( __DIR__ ) . 'js/1/author.js', array( 'wordlift-select2' ), WORDLIFT_VERSION, false );
105
-		wp_enqueue_style( 'wl-author-element', plugin_dir_url( __DIR__ ) . 'js/1/author.css', array(), WORDLIFT_VERSION );
104
+		wp_enqueue_script('wl-author-element', plugin_dir_url(__DIR__).'js/1/author.js', array('wordlift-select2'), WORDLIFT_VERSION, false);
105
+		wp_enqueue_style('wl-author-element', plugin_dir_url(__DIR__).'js/1/author.css', array(), WORDLIFT_VERSION);
106 106
 
107 107
 		// Prepare the URLs for entities which don't have logos.
108
-		$person_thumbnail_url       = plugin_dir_url( __DIR__ ) . '../images/person.png';
109
-		$organization_thumbnail_url = plugin_dir_url( __DIR__ ) . '../images/organization.png';
108
+		$person_thumbnail_url       = plugin_dir_url(__DIR__).'../images/person.png';
109
+		$organization_thumbnail_url = plugin_dir_url(__DIR__).'../images/organization.png';
110 110
 
111 111
 		// Get the current post.
112
-		$current_post = $current_post_id ? get_post( $current_post_id ) : null;
112
+		$current_post = $current_post_id ? get_post($current_post_id) : null;
113 113
 
114 114
 		// Finally render the Select.
115 115
 		$this->select_element->render(
@@ -123,11 +123,11 @@  discard block
 block discarded – undo
123 123
 				// The selected id.
124 124
 				'value'   => $current_post_id,
125 125
 				// The selected item (must be in the options for Select2 to display it).
126
-				'options' => $current_post ? array( $current_post->ID => $current_post->post_title ) : array(),
126
+				'options' => $current_post ? array($current_post->ID => $current_post->post_title) : array(),
127 127
 				// Data attributes.
128 128
 				'data'    => array(
129 129
 					// The list of available options.
130
-					'wl-select2-data'               => wp_json_encode( $data ),
130
+					'wl-select2-data'               => wp_json_encode($data),
131 131
 					// The HTML template for each option.
132 132
 					'wl-select2-template-result'    => "<div class='wl-select2-result'><span class='wl-select2-thumbnail' style='background-image: url( <%- obj.thumbnail_url || ( 'Organization' === obj.type ? '$organization_thumbnail_url' : '$person_thumbnail_url' ) %> );'>&nbsp;</span><span class='wl-select2'><%- obj.text %></span><span class='wl-select2-type'><%- obj.type %></span></div>",
133 133
 					// The HTML template for the selected option.
Please login to merge, or discard this patch.
src/admin/elements/class-wordlift-admin-radio-input-element.php 2 patches
Indentation   +42 added lines, -42 removed lines patch added patch discarded remove patch
@@ -18,54 +18,54 @@  discard block
 block discarded – undo
18 18
  */
19 19
 class Wordlift_Admin_Radio_Input_Element implements Wordlift_Admin_Element {
20 20
 
21
-	/**
22
-	 * Output the HTML for an input box type settings_page.
23
-	 *
24
-	 * @param array $args {
25
-	 *                           An array of arguments.
26
-	 *
27
-	 * @type string $name The name attribute of the input element. Mandatory.
28
-	 * @type string $id The id attribute of the input element. Optional,
29
-	 *                           randomly generated one is used if not supplied.
30
-	 * @type string $value The value of the input element. Optional, defaults
31
-	 *                           to empty string.
32
-	 * @type string $css_class The class attribute for the input element. If empty
33
-	 *                           string no class attribute will be added. Optional,
34
-	 *                           defaults to empty string.
35
-	 * @type string $description The description text to be displayed below the element.
36
-	 *                           Can include some HTML element. If empty string no
37
-	 *                           description will be displayed. Optional, defaults to
38
-	 *                           empty string.
39
-	 * }
40
-	 * @return $this|Wordlift_Admin_Element
41
-	 * @since      3.13.0
42
-	 */
43
-	public function render( $args ) {
44
-		/*
21
+    /**
22
+     * Output the HTML for an input box type settings_page.
23
+     *
24
+     * @param array $args {
25
+     *                           An array of arguments.
26
+     *
27
+     * @type string $name The name attribute of the input element. Mandatory.
28
+     * @type string $id The id attribute of the input element. Optional,
29
+     *                           randomly generated one is used if not supplied.
30
+     * @type string $value The value of the input element. Optional, defaults
31
+     *                           to empty string.
32
+     * @type string $css_class The class attribute for the input element. If empty
33
+     *                           string no class attribute will be added. Optional,
34
+     *                           defaults to empty string.
35
+     * @type string $description The description text to be displayed below the element.
36
+     *                           Can include some HTML element. If empty string no
37
+     *                           description will be displayed. Optional, defaults to
38
+     *                           empty string.
39
+     * }
40
+     * @return $this|Wordlift_Admin_Element
41
+     * @since      3.13.0
42
+     */
43
+    public function render( $args ) {
44
+        /*
45 45
 		 * Parse the arguments and merge with default values.
46 46
 		 * Name intentionally do not have a default as it has to be in SyncEvent
47 47
 		 * with form handling code
48 48
 		 */
49
-		$params = wp_parse_args(
50
-			$args,
51
-			array(
52
-				'id'          => uniqid( 'wl-input-' ),
53
-				'value'       => '',
54
-				'css_class'   => '',
55
-				'description' => '',
56
-			)
57
-		);
49
+        $params = wp_parse_args(
50
+            $args,
51
+            array(
52
+                'id'          => uniqid( 'wl-input-' ),
53
+                'value'       => '',
54
+                'css_class'   => '',
55
+                'description' => '',
56
+            )
57
+        );
58 58
 
59
-		// Set the readonly and class attributes and the description.
60
-		$value = $params['value'];
61
-		?>
59
+        // Set the readonly and class attributes and the description.
60
+        $value = $params['value'];
61
+        ?>
62 62
 
63 63
 		<input type="radio" id="<?php echo esc_attr( $params['id'] ); ?>"
64 64
 			   name="<?php echo esc_attr( $params['name'] ); ?>"
65 65
 			   value="yes" 
66 66
 			   <?php
67
-				if ( ! empty( $params['css_class'] ) ) {
68
-					?>
67
+                if ( ! empty( $params['css_class'] ) ) {
68
+                    ?>
69 69
 					 class="<?php echo esc_attr( $params['css_class'] ); ?>" <?php } ?>
70 70
 			<?php checked( $value, 'yes' ); ?>
71 71
 		/> Yes
@@ -73,8 +73,8 @@  discard block
 block discarded – undo
73 73
 			   name="<?php echo esc_attr( $params['name'] ); ?>"
74 74
 			   value="no" 
75 75
 			   <?php
76
-				if ( ! empty( $params['css_class'] ) ) {
77
-					?>
76
+                if ( ! empty( $params['css_class'] ) ) {
77
+                    ?>
78 78
 					 class="<?php echo esc_attr( $params['css_class'] ); ?>" <?php } ?>
79 79
 			<?php checked( $value, 'no' ); ?>
80 80
 		/> No
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 			<p><?php echo wp_kses( $params['description'], array( 'a' => array( 'href' => array() ) ) ); ?></p><?php } ?>
83 83
 		<?php
84 84
 
85
-		return $this;
86
-	}
85
+        return $this;
86
+    }
87 87
 
88 88
 }
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -40,7 +40,7 @@  discard block
 block discarded – undo
40 40
 	 * @return $this|Wordlift_Admin_Element
41 41
 	 * @since      3.13.0
42 42
 	 */
43
-	public function render( $args ) {
43
+	public function render($args) {
44 44
 		/*
45 45
 		 * Parse the arguments and merge with default values.
46 46
 		 * Name intentionally do not have a default as it has to be in SyncEvent
@@ -49,7 +49,7 @@  discard block
 block discarded – undo
49 49
 		$params = wp_parse_args(
50 50
 			$args,
51 51
 			array(
52
-				'id'          => uniqid( 'wl-input-' ),
52
+				'id'          => uniqid('wl-input-'),
53 53
 				'value'       => '',
54 54
 				'css_class'   => '',
55 55
 				'description' => '',
@@ -60,26 +60,26 @@  discard block
 block discarded – undo
60 60
 		$value = $params['value'];
61 61
 		?>
62 62
 
63
-		<input type="radio" id="<?php echo esc_attr( $params['id'] ); ?>"
64
-			   name="<?php echo esc_attr( $params['name'] ); ?>"
63
+		<input type="radio" id="<?php echo esc_attr($params['id']); ?>"
64
+			   name="<?php echo esc_attr($params['name']); ?>"
65 65
 			   value="yes" 
66 66
 			   <?php
67
-				if ( ! empty( $params['css_class'] ) ) {
67
+				if ( ! empty($params['css_class'])) {
68 68
 					?>
69
-					 class="<?php echo esc_attr( $params['css_class'] ); ?>" <?php } ?>
70
-			<?php checked( $value, 'yes' ); ?>
69
+					 class="<?php echo esc_attr($params['css_class']); ?>" <?php } ?>
70
+			<?php checked($value, 'yes'); ?>
71 71
 		/> Yes
72
-		<input type="radio" id="<?php echo esc_attr( $params['id'] ); ?>"
73
-			   name="<?php echo esc_attr( $params['name'] ); ?>"
72
+		<input type="radio" id="<?php echo esc_attr($params['id']); ?>"
73
+			   name="<?php echo esc_attr($params['name']); ?>"
74 74
 			   value="no" 
75 75
 			   <?php
76
-				if ( ! empty( $params['css_class'] ) ) {
76
+				if ( ! empty($params['css_class'])) {
77 77
 					?>
78
-					 class="<?php echo esc_attr( $params['css_class'] ); ?>" <?php } ?>
79
-			<?php checked( $value, 'no' ); ?>
78
+					 class="<?php echo esc_attr($params['css_class']); ?>" <?php } ?>
79
+			<?php checked($value, 'no'); ?>
80 80
 		/> No
81
-		<?php if ( ! empty( $params['description'] ) ) { ?>
82
-			<p><?php echo wp_kses( $params['description'], array( 'a' => array( 'href' => array() ) ) ); ?></p><?php } ?>
81
+		<?php if ( ! empty($params['description'])) { ?>
82
+			<p><?php echo wp_kses($params['description'], array('a' => array('href' => array()))); ?></p><?php } ?>
83 83
 		<?php
84 84
 
85 85
 		return $this;
Please login to merge, or discard this patch.
src/admin/elements/class-wordlift-admin-country-select-element.php 2 patches
Indentation   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -18,37 +18,37 @@  discard block
 block discarded – undo
18 18
  */
19 19
 class Wordlift_Admin_Country_Select_Element extends Wordlift_Admin_Select_Element {
20 20
 
21
-	/**
22
-	 * Adds a filter that will add data `country-codes` attrbiute to the country select
23
-	 * to allow front-end validation.
24
-	 *
25
-	 * @since 3.18.0
26
-	 */
27
-	public function __construct() {
28
-		// Adds the country codes as data attribute to allow front-end validation.
29
-		add_filter( 'wl_admin_select_element_data_attributes', array( $this, 'add_country_codes_data' ), 10, 1 );
30
-	}
21
+    /**
22
+     * Adds a filter that will add data `country-codes` attrbiute to the country select
23
+     * to allow front-end validation.
24
+     *
25
+     * @since 3.18.0
26
+     */
27
+    public function __construct() {
28
+        // Adds the country codes as data attribute to allow front-end validation.
29
+        add_filter( 'wl_admin_select_element_data_attributes', array( $this, 'add_country_codes_data' ), 10, 1 );
30
+    }
31 31
 
32
-	/**
33
-	 * @inheritdoc
34
-	 */
35
-	public function render_options( $params ) {
36
-		// Print all the supported countries, preselecting the one configured
37
-		// in WP (or United Kingdom if not supported). We now use the `Wordlift_Countries`
38
-		// class which provides the list of countries supported by WordLift.
39
-		//
40
-		// https://github.com/insideout10/wordlift-plugin/issues/713
32
+    /**
33
+     * @inheritdoc
34
+     */
35
+    public function render_options( $params ) {
36
+        // Print all the supported countries, preselecting the one configured
37
+        // in WP (or United Kingdom if not supported). We now use the `Wordlift_Countries`
38
+        // class which provides the list of countries supported by WordLift.
39
+        //
40
+        // https://github.com/insideout10/wordlift-plugin/issues/713
41 41
 
42
-		$lang = ( isset( $params['lang'] ) ) ? $params['lang'] : false;
42
+        $lang = ( isset( $params['lang'] ) ) ? $params['lang'] : false;
43 43
 
44
-		// Get WordLift's supported countries.
45
-		$countries = Wordlift_Countries::get_countries( $lang );
44
+        // Get WordLift's supported countries.
45
+        $countries = Wordlift_Countries::get_countries( $lang );
46 46
 
47
-		// If we support WP's configured language, then use that, otherwise use English by default.
48
-		$language = isset( $countries[ $params['value'] ] ) ? $params['value'] : 'uk';
47
+        // If we support WP's configured language, then use that, otherwise use English by default.
48
+        $language = isset( $countries[ $params['value'] ] ) ? $params['value'] : 'uk';
49 49
 
50
-		foreach ( $countries as $code => $label ) :
51
-			?>
50
+        foreach ( $countries as $code => $label ) :
51
+            ?>
52 52
 			<option
53 53
 					value="<?php echo esc_attr( $code ); ?>"
54 54
 				<?php echo selected( $code, $language, false ); ?>
@@ -56,50 +56,50 @@  discard block
 block discarded – undo
56 56
 				<?php echo esc_html( $label ); ?>
57 57
 			</option>
58 58
 			<?php
59
-		endforeach;
60
-	}
59
+        endforeach;
60
+    }
61 61
 
62
-	/**
63
-	 * Returns select options html.
64
-	 *
65
-	 * @since 3.18.0
66
-	 *
67
-	 * @return void Echoes select options or empty string if required params are not set.
68
-	 */
69
-	public function get_options_html() {
70
-		$html = '';
62
+    /**
63
+     * Returns select options html.
64
+     *
65
+     * @since 3.18.0
66
+     *
67
+     * @return void Echoes select options or empty string if required params are not set.
68
+     */
69
+    public function get_options_html() {
70
+        $html = '';
71 71
 
72
-		// Check whether the required params are set.
72
+        // Check whether the required params are set.
73 73
         // phpcs:ignore Standard.Category.SniffName.ErrorCode
74
-		if ( ! empty( $_POST['lang'] ) && ! empty( $_POST['value'] ) ) { //phpcs:ignore WordPress.Security.NonceVerification.Missing
75
-			ob_start();
76
-			// Get the new options.
77
-			// phpcs:ignore Standard.Category.SniffName.ErrorCode
78
-			$this->render_options( $_POST ); //phpcs:ignore WordPress.Security.NonceVerification.Missing
74
+        if ( ! empty( $_POST['lang'] ) && ! empty( $_POST['value'] ) ) { //phpcs:ignore WordPress.Security.NonceVerification.Missing
75
+            ob_start();
76
+            // Get the new options.
77
+            // phpcs:ignore Standard.Category.SniffName.ErrorCode
78
+            $this->render_options( $_POST ); //phpcs:ignore WordPress.Security.NonceVerification.Missing
79 79
 
80
-			$html = ob_get_clean();
81
-		}
80
+            $html = ob_get_clean();
81
+        }
82 82
 
83
-		// Return the html.
84
-		wp_send_json_success( $html );
85
-	}
83
+        // Return the html.
84
+        wp_send_json_success( $html );
85
+    }
86 86
 
87
-	/**
88
-	 * Modify the field data attributes by adding`country-code`
89
-	 * to existing attributes.
90
-	 *
91
-	 * @param array $attributes Current data attributes.
92
-	 *
93
-	 * @since 3.18.0
94
-	 *
95
-	 * @return array $attributes Modified attributes.
96
-	 */
97
-	public function add_country_codes_data( $attributes ) {
98
-		// Add the country codes.
99
-		$attributes['country-codes'] = wp_json_encode( Wordlift_Countries::get_codes() );
87
+    /**
88
+     * Modify the field data attributes by adding`country-code`
89
+     * to existing attributes.
90
+     *
91
+     * @param array $attributes Current data attributes.
92
+     *
93
+     * @since 3.18.0
94
+     *
95
+     * @return array $attributes Modified attributes.
96
+     */
97
+    public function add_country_codes_data( $attributes ) {
98
+        // Add the country codes.
99
+        $attributes['country-codes'] = wp_json_encode( Wordlift_Countries::get_codes() );
100 100
 
101
-		// Return the attributes.
102
-		return $attributes;
103
-	}
101
+        // Return the attributes.
102
+        return $attributes;
103
+    }
104 104
 
105 105
 }
Please login to merge, or discard this patch.
Spacing   +14 added lines, -14 removed lines patch added patch discarded remove patch
@@ -26,34 +26,34 @@  discard block
 block discarded – undo
26 26
 	 */
27 27
 	public function __construct() {
28 28
 		// Adds the country codes as data attribute to allow front-end validation.
29
-		add_filter( 'wl_admin_select_element_data_attributes', array( $this, 'add_country_codes_data' ), 10, 1 );
29
+		add_filter('wl_admin_select_element_data_attributes', array($this, 'add_country_codes_data'), 10, 1);
30 30
 	}
31 31
 
32 32
 	/**
33 33
 	 * @inheritdoc
34 34
 	 */
35
-	public function render_options( $params ) {
35
+	public function render_options($params) {
36 36
 		// Print all the supported countries, preselecting the one configured
37 37
 		// in WP (or United Kingdom if not supported). We now use the `Wordlift_Countries`
38 38
 		// class which provides the list of countries supported by WordLift.
39 39
 		//
40 40
 		// https://github.com/insideout10/wordlift-plugin/issues/713
41 41
 
42
-		$lang = ( isset( $params['lang'] ) ) ? $params['lang'] : false;
42
+		$lang = (isset($params['lang'])) ? $params['lang'] : false;
43 43
 
44 44
 		// Get WordLift's supported countries.
45
-		$countries = Wordlift_Countries::get_countries( $lang );
45
+		$countries = Wordlift_Countries::get_countries($lang);
46 46
 
47 47
 		// If we support WP's configured language, then use that, otherwise use English by default.
48
-		$language = isset( $countries[ $params['value'] ] ) ? $params['value'] : 'uk';
48
+		$language = isset($countries[$params['value']]) ? $params['value'] : 'uk';
49 49
 
50
-		foreach ( $countries as $code => $label ) :
50
+		foreach ($countries as $code => $label) :
51 51
 			?>
52 52
 			<option
53
-					value="<?php echo esc_attr( $code ); ?>"
54
-				<?php echo selected( $code, $language, false ); ?>
53
+					value="<?php echo esc_attr($code); ?>"
54
+				<?php echo selected($code, $language, false); ?>
55 55
 			>
56
-				<?php echo esc_html( $label ); ?>
56
+				<?php echo esc_html($label); ?>
57 57
 			</option>
58 58
 			<?php
59 59
 		endforeach;
@@ -71,17 +71,17 @@  discard block
 block discarded – undo
71 71
 
72 72
 		// Check whether the required params are set.
73 73
         // phpcs:ignore Standard.Category.SniffName.ErrorCode
74
-		if ( ! empty( $_POST['lang'] ) && ! empty( $_POST['value'] ) ) { //phpcs:ignore WordPress.Security.NonceVerification.Missing
74
+		if ( ! empty($_POST['lang']) && ! empty($_POST['value'])) { //phpcs:ignore WordPress.Security.NonceVerification.Missing
75 75
 			ob_start();
76 76
 			// Get the new options.
77 77
 			// phpcs:ignore Standard.Category.SniffName.ErrorCode
78
-			$this->render_options( $_POST ); //phpcs:ignore WordPress.Security.NonceVerification.Missing
78
+			$this->render_options($_POST); //phpcs:ignore WordPress.Security.NonceVerification.Missing
79 79
 
80 80
 			$html = ob_get_clean();
81 81
 		}
82 82
 
83 83
 		// Return the html.
84
-		wp_send_json_success( $html );
84
+		wp_send_json_success($html);
85 85
 	}
86 86
 
87 87
 	/**
@@ -94,9 +94,9 @@  discard block
 block discarded – undo
94 94
 	 *
95 95
 	 * @return array $attributes Modified attributes.
96 96
 	 */
97
-	public function add_country_codes_data( $attributes ) {
97
+	public function add_country_codes_data($attributes) {
98 98
 		// Add the country codes.
99
-		$attributes['country-codes'] = wp_json_encode( Wordlift_Countries::get_codes() );
99
+		$attributes['country-codes'] = wp_json_encode(Wordlift_Countries::get_codes());
100 100
 
101 101
 		// Return the attributes.
102 102
 		return $attributes;
Please login to merge, or discard this patch.
src/admin/elements/class-wordlift-admin-tabs-element.php 2 patches
Indentation   +41 added lines, -41 removed lines patch added patch discarded remove patch
@@ -18,48 +18,48 @@  discard block
 block discarded – undo
18 18
  */
19 19
 class Wordlift_Admin_Tabs_Element implements Wordlift_Admin_Element {
20 20
 
21
-	/**
22
-	 * Render the element.
23
-	 *
24
-	 * @param array $args {
25
-	 *      Parameters controlling the html being output.
26
-	 *
27
-	 * @type integer $active The index of the active panel on first render
28
-	 *                              a zero based number of the tab actual placement
29
-	 *
30
-	 * @type array $tabs {
31
-	 *          The array of tabs to be rendered.
32
-	 *          The index of the elements is expected to be an ascending integers
33
-	 *          tabs with lower index values will be render first (on the left)
34
-	 *
35
-	 * @type string $label The label used for the tab.
36
-	 * @type callable $callback The callback to call to render the
37
-	 *                                      Tab "panel".
38
-	 * @type array $args The arguments array passed to the callback.
39
-	 *          }
40
-	 *      }
41
-	 *
42
-	 * @return \Wordlift_Admin_Element The element instance.
43
-	 * @since 3.11.0
44
-	 */
45
-	public function render( $args ) {
21
+    /**
22
+     * Render the element.
23
+     *
24
+     * @param array $args {
25
+     *      Parameters controlling the html being output.
26
+     *
27
+     * @type integer $active The index of the active panel on first render
28
+     *                              a zero based number of the tab actual placement
29
+     *
30
+     * @type array $tabs {
31
+     *          The array of tabs to be rendered.
32
+     *          The index of the elements is expected to be an ascending integers
33
+     *          tabs with lower index values will be render first (on the left)
34
+     *
35
+     * @type string $label The label used for the tab.
36
+     * @type callable $callback The callback to call to render the
37
+     *                                      Tab "panel".
38
+     * @type array $args The arguments array passed to the callback.
39
+     *          }
40
+     *      }
41
+     *
42
+     * @return \Wordlift_Admin_Element The element instance.
43
+     * @since 3.11.0
44
+     */
45
+    public function render( $args ) {
46 46
 
47
-		// Enqueue the jQuery UI Tabs script.
48
-		wp_enqueue_script( 'jquery-ui-tabs' );
47
+        // Enqueue the jQuery UI Tabs script.
48
+        wp_enqueue_script( 'jquery-ui-tabs' );
49 49
 
50
-		// Parse the arguments and merge with default values.
51
-		$params = wp_parse_args(
52
-			$args,
53
-			array(
54
-				'tabs'   => array(),
55
-				'active' => 0,
56
-			)
57
-		);
50
+        // Parse the arguments and merge with default values.
51
+        $params = wp_parse_args(
52
+            $args,
53
+            array(
54
+                'tabs'   => array(),
55
+                'active' => 0,
56
+            )
57
+        );
58 58
 
59
-		// Following is the HTML code:
60
-		// - the labels are printed, using the tab's `label`,
61
-		// - the panels are printed, using the tab's `callback`.
62
-		?>
59
+        // Following is the HTML code:
60
+        // - the labels are printed, using the tab's `label`,
61
+        // - the panels are printed, using the tab's `callback`.
62
+        ?>
63 63
 		<div
64 64
 				class="wl-tabs-element"
65 65
 				data-active="<?php echo esc_attr( $params['active'] ); ?>"
@@ -82,7 +82,7 @@  discard block
 block discarded – undo
82 82
 
83 83
 		<?php
84 84
 
85
-		return $this;
86
-	}
85
+        return $this;
86
+    }
87 87
 
88 88
 }
Please login to merge, or discard this patch.
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -42,10 +42,10 @@  discard block
 block discarded – undo
42 42
 	 * @return \Wordlift_Admin_Element The element instance.
43 43
 	 * @since 3.11.0
44 44
 	 */
45
-	public function render( $args ) {
45
+	public function render($args) {
46 46
 
47 47
 		// Enqueue the jQuery UI Tabs script.
48
-		wp_enqueue_script( 'jquery-ui-tabs' );
48
+		wp_enqueue_script('jquery-ui-tabs');
49 49
 
50 50
 		// Parse the arguments and merge with default values.
51 51
 		$params = wp_parse_args(
@@ -62,20 +62,20 @@  discard block
 block discarded – undo
62 62
 		?>
63 63
 		<div
64 64
 				class="wl-tabs-element"
65
-				data-active="<?php echo esc_attr( $params['active'] ); ?>"
65
+				data-active="<?php echo esc_attr($params['active']); ?>"
66 66
 		>
67 67
 			<ul class="nav-tab-wrapper">
68
-				<?php foreach ( $params['tabs'] as $index => $tab ) : ?>
68
+				<?php foreach ($params['tabs'] as $index => $tab) : ?>
69 69
 					<li class="nav-tab">
70
-						<a href="#tabs-<?php echo esc_html( $index + 1 ); ?>">
71
-							<?php echo esc_html( $tab['label'] ); ?>
70
+						<a href="#tabs-<?php echo esc_html($index + 1); ?>">
71
+							<?php echo esc_html($tab['label']); ?>
72 72
 						</a>
73 73
 					</li>
74 74
 				<?php endforeach; ?>
75 75
 			</ul>
76
-			<?php foreach ( $params['tabs'] as $index => $tab ) : ?>
77
-				<div id="tabs-<?php echo esc_html( $index + 1 ); ?>">
78
-					<?php call_user_func( $tab['callback'], $tab['args'] ); ?>
76
+			<?php foreach ($params['tabs'] as $index => $tab) : ?>
77
+				<div id="tabs-<?php echo esc_html($index + 1); ?>">
78
+					<?php call_user_func($tab['callback'], $tab['args']); ?>
79 79
 				</div>
80 80
 			<?php endforeach; ?>
81 81
 		</div>
Please login to merge, or discard this patch.
src/admin/elements/class-wordlift-admin-select2-element.php 2 patches
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -18,13 +18,13 @@  discard block
 block discarded – undo
18 18
  */
19 19
 class Wordlift_Admin_Select2_Element extends Wordlift_Admin_Select_Element {
20 20
 
21
-	/**
22
-	 * @inheritdoc
23
-	 */
24
-	public function render_options( $params ) {
25
-		// Loop through all params and add the options.
26
-		foreach ( $params['options'] as $value => $label ) :
27
-			?>
21
+    /**
22
+     * @inheritdoc
23
+     */
24
+    public function render_options( $params ) {
25
+        // Loop through all params and add the options.
26
+        foreach ( $params['options'] as $value => $label ) :
27
+            ?>
28 28
 			<option
29 29
 					value="<?php echo esc_attr( $value ); ?>"
30 30
 				<?php selected( $params['value'], $value ); ?>
@@ -32,26 +32,26 @@  discard block
 block discarded – undo
32 32
 				<?php echo esc_html( $label ); ?>
33 33
 			</option>
34 34
 			<?php
35
-		endforeach;
36
-	}
35
+        endforeach;
36
+    }
37 37
 
38
-	/**
39
-	 * @inheritdoc
40
-	 */
41
-	protected function enqueue_resources() {
42
-		// Enqueue select2 library js and css.
43
-		// Underscore is needed for Select2's `templateResult` and `templateSelection` templates.
44
-		wp_enqueue_script(
45
-			'wordlift-select2',
46
-			plugin_dir_url( __DIR__ ) . 'js/select2/js/select2' . ( ! defined( 'SCRIPT_DEBUG' ) || ! SCRIPT_DEBUG ? '.min' : '' ) . '.js',
47
-			array(
48
-				'jquery',
49
-				'underscore',
50
-			),
51
-			'4.0.3',
52
-			false
53
-		);
54
-		wp_enqueue_style( 'wordlift-select2', plugin_dir_url( __DIR__ ) . 'js/select2/css/select2' . ( ! defined( 'SCRIPT_DEBUG' ) || ! SCRIPT_DEBUG ? '.min' : '' ) . '.css', array(), '4.0.3' );
55
-	}
38
+    /**
39
+     * @inheritdoc
40
+     */
41
+    protected function enqueue_resources() {
42
+        // Enqueue select2 library js and css.
43
+        // Underscore is needed for Select2's `templateResult` and `templateSelection` templates.
44
+        wp_enqueue_script(
45
+            'wordlift-select2',
46
+            plugin_dir_url( __DIR__ ) . 'js/select2/js/select2' . ( ! defined( 'SCRIPT_DEBUG' ) || ! SCRIPT_DEBUG ? '.min' : '' ) . '.js',
47
+            array(
48
+                'jquery',
49
+                'underscore',
50
+            ),
51
+            '4.0.3',
52
+            false
53
+        );
54
+        wp_enqueue_style( 'wordlift-select2', plugin_dir_url( __DIR__ ) . 'js/select2/css/select2' . ( ! defined( 'SCRIPT_DEBUG' ) || ! SCRIPT_DEBUG ? '.min' : '' ) . '.css', array(), '4.0.3' );
55
+    }
56 56
 
57 57
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -21,15 +21,15 @@  discard block
 block discarded – undo
21 21
 	/**
22 22
 	 * @inheritdoc
23 23
 	 */
24
-	public function render_options( $params ) {
24
+	public function render_options($params) {
25 25
 		// Loop through all params and add the options.
26
-		foreach ( $params['options'] as $value => $label ) :
26
+		foreach ($params['options'] as $value => $label) :
27 27
 			?>
28 28
 			<option
29
-					value="<?php echo esc_attr( $value ); ?>"
30
-				<?php selected( $params['value'], $value ); ?>
29
+					value="<?php echo esc_attr($value); ?>"
30
+				<?php selected($params['value'], $value); ?>
31 31
 			>
32
-				<?php echo esc_html( $label ); ?>
32
+				<?php echo esc_html($label); ?>
33 33
 			</option>
34 34
 			<?php
35 35
 		endforeach;
@@ -43,7 +43,7 @@  discard block
 block discarded – undo
43 43
 		// Underscore is needed for Select2's `templateResult` and `templateSelection` templates.
44 44
 		wp_enqueue_script(
45 45
 			'wordlift-select2',
46
-			plugin_dir_url( __DIR__ ) . 'js/select2/js/select2' . ( ! defined( 'SCRIPT_DEBUG' ) || ! SCRIPT_DEBUG ? '.min' : '' ) . '.js',
46
+			plugin_dir_url(__DIR__).'js/select2/js/select2'.( ! defined('SCRIPT_DEBUG') || ! SCRIPT_DEBUG ? '.min' : '').'.js',
47 47
 			array(
48 48
 				'jquery',
49 49
 				'underscore',
@@ -51,7 +51,7 @@  discard block
 block discarded – undo
51 51
 			'4.0.3',
52 52
 			false
53 53
 		);
54
-		wp_enqueue_style( 'wordlift-select2', plugin_dir_url( __DIR__ ) . 'js/select2/css/select2' . ( ! defined( 'SCRIPT_DEBUG' ) || ! SCRIPT_DEBUG ? '.min' : '' ) . '.css', array(), '4.0.3' );
54
+		wp_enqueue_style('wordlift-select2', plugin_dir_url(__DIR__).'js/select2/css/select2'.( ! defined('SCRIPT_DEBUG') || ! SCRIPT_DEBUG ? '.min' : '').'.css', array(), '4.0.3');
55 55
 	}
56 56
 
57 57
 }
Please login to merge, or discard this patch.