Passed
Push — master ( a652d6...4cf722 )
by Warwick
05:42
created

Frontend::get_search_query()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 8
rs 10
cc 3
nc 2
nop 1
1
<?php
2
/**
3
 * LSX Search Frontend Class.
4
 *
5
 * @package lsx-search
6
 */
7
8
namespace lsx\search\classes;
9
10
class Frontend {
0 ignored issues
show
Coding Style Documentation introduced by
Missing doc comment for class Frontend
Loading history...
11
12
	/**
13
	 * Holds class instance
14
	 *
15
	 * @since 1.0.0
16
	 *
17
	 * @var      object \lsx\search\classes\Frontend()
18
	 */
19
	protected static $instance = null;
20
21
	public $options = false;
0 ignored issues
show
Coding Style Documentation introduced by
Missing member variable doc comment
Loading history...
22
23
	public $tabs = false;
0 ignored issues
show
Coding Style Documentation introduced by
Missing member variable doc comment
Loading history...
24
25
	public $facet_data = false;
0 ignored issues
show
Coding Style Documentation introduced by
Missing member variable doc comment
Loading history...
26
27
	/**
28
	 * Determine weather or not search is enabled for this page.
29
	 *
30
	 * @var boolean
31
	 */
32
	public $search_enabled = false;
33
34
	public $search_core_suffix = false;
0 ignored issues
show
Coding Style Documentation introduced by
Missing member variable doc comment
Loading history...
35
36
	public $search_prefix = false;
0 ignored issues
show
Coding Style Documentation introduced by
Missing member variable doc comment
Loading history...
37
38
	/**
39
	 * Holds the post types enabled
40
	 *
41
	 * @var array
42
	 */
43
	public $post_types = array();
44
45
	/**
46
	 * Holds the taxonomies enabled for search
47
	 *
48
	 * @var array
49
	 */
50
	public $taxonomies = array();
51
52
	/**
53
	 * If the current search page has posts or not
54
	 *
55
	 * @var boolean
56
	 */
57
	public $has_posts = false;
58
59
	/**
60
	 * If we are using the CMB2 options or not.
61
	 *
62
	 * @var boolean
63
	 */
64
	public $new_options = false;
65
66
	/**
67
	 * Construct method.
68
	 */
69
	public function __construct() {
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines before function; 1 found
Loading history...
70
		$this->options = \lsx\search\includes\get_options();
71
		$this->load_classes();
72
73
		add_filter( 'wpseo_json_ld_search_url', array( $this, 'change_json_ld_search_url' ), 10, 1 );
74
		add_action( 'wp', array( $this, 'set_vars' ), 21 );
75
		add_action( 'wp', array( $this, 'set_facetwp_vars' ), 22 );
76
		add_action( 'wp', array( $this, 'core' ), 23 );
77
		add_action( 'lsx_body_top', array( $this, 'check_for_results' ) );
78
79
		add_filter( 'pre_get_posts', array( $this, 'ignore_sticky_search' ) );
80
		add_action( 'pre_get_posts', array( $this, 'filter_post_types' ) );
81
82
		add_filter( 'lsx_search_post_types', array( $this, 'register_post_types' ) );
83
		add_filter( 'lsx_search_taxonomies', array( $this, 'register_taxonomies' ) );
84
		add_filter( 'lsx_search_post_types_plural', array( $this, 'register_post_type_tabs' ) );
85
		add_filter( 'facetwp_sort_options', array( $this, 'facetwp_sort_options' ), 10, 2 );
86
		add_filter( 'wp_kses_allowed_html', array( $this, 'kses_allowed_html' ), 20, 2 );
87
		add_filter( 'get_search_query', array( $this, 'get_search_query' ) );
88
89
		// Redirects.
90
		add_action( 'template_redirect', array( $this, 'pretty_search_redirect' ) );
91
		add_filter( 'pre_get_posts', array( $this, 'pretty_search_parse_query' ) );
92
93
		add_action( 'lsx_search_sidebar_top', array( $this, 'search_sidebar_top' ) );
94
		add_filter( 'facetwp_facet_html', array( $this, 'search_facet_html' ), 10, 2 );
95
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
96
97
	/**
98
	 * Return an instance of this class.
99
	 *
100
	 * @since 1.0.0
101
	 *
102
	 * @return    object \lsx\member_directory\search\Frontend()    A single instance of this class.
103
	 */
104
	public static function get_instance() {
105
		// If the single instance hasn't been set, set it now.
106
		if ( null === self::$instance ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
107
			self::$instance = new self();
108
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
109
		return self::$instance;
110
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
111
112
	/**
113
	 * Loads the variable classes and the static classes.
114
	 */
115
	private function load_classes() {
116
		require_once LSX_SEARCH_PATH . 'classes/frontend/class-layout.php';
117
		$this->layout = frontend\Layout::get_instance();
0 ignored issues
show
Bug Best Practice introduced by
The property layout does not exist. Although not strictly required by PHP, it is generally a best practice to declare properties explicitly.
Loading history...
118
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
119
120
	/**
121
	 * Check all settings.
122
	 */
123
	public function set_vars() {
124
		$post_type = '';
125
126
		$this->post_types      = apply_filters( 'lsx_search_post_types', array() );
127
		$this->taxonomies      = apply_filters( 'lsx_search_taxonomies', array() );
128
		$this->tabs            = apply_filters( 'lsx_search_post_types_plural', array() );
129
		$this->options         = apply_filters( 'lsx_search_options', $this->options );
130
		$this->post_types      = get_post_types();
131
		$this->post_type_slugs = array(
0 ignored issues
show
Bug Best Practice introduced by
The property post_type_slugs does not exist. Although not strictly required by PHP, it is generally a best practice to declare properties explicitly.
Loading history...
132
			'post'        => 'posts',
133
			'project'     => 'projects',
134
			'service'     => 'services',
135
			'team'        => 'team',
136
			'testimonial' => 'testimonials',
137
			'video'       => 'videos',
138
			'product'     => 'products',
139
		);
140
		$this->set_search_prefix();
141
		$this->get_cmb2_options();
142
		$this->search_enabled = apply_filters( 'lsx_search_enabled', $this->is_search_enabled(), $this );
143
		$this->search_prefix  = apply_filters( 'lsx_search_prefix', $this->search_prefix, $this );
144
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
145
146
	private function get_cmb2_options() {
0 ignored issues
show
Coding Style Documentation introduced by
Missing doc comment for function get_cmb2_options()
Loading history...
147
		$cmb2_options = get_option( 'lsx-search-settings' );
148
		if ( false !== $cmb2_options && ! empty( $cmb2_options ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
149
			$this->set_search_prefix( true );
150
			$this->options['display'] = $cmb2_options;
151
			foreach ( $this->options['display'] as $option_key => $option_value ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
152
				if ( is_array( $option_value ) && ! empty( $option_value ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
153
					$new_values = array();
154
					foreach ( $option_value as $empty_key => $key_value ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
155
						$new_values[ $key_value ] = 'on';
156
					}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
157
					$this->options['display'][ $option_key ] = $new_values;
158
				}
159
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
160
			$this->new_options = true;
161
			$this->disable_to_search_actions();
162
		}
163
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
164
165
	private function disable_to_search_actions() {
0 ignored issues
show
Coding Style Documentation introduced by
Missing doc comment for function disable_to_search_actions()
Loading history...
166
		global $lsx_to_search_fwp, $lsx_to_search;
167
		if ( null !== $lsx_to_search ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
168
			// Redirects.
169
			remove_filter( 'template_include', array( $lsx_to_search, 'search_template_include' ), 99 );
170
			remove_action( 'template_redirect', array( $lsx_to_search, 'pretty_search_redirect' ) );
171
			remove_filter( 'pre_get_posts', array( $lsx_to_search, 'pretty_search_parse_query' ) );
172
173
			// Layout Filter.
174
			remove_filter( 'lsx_layout', array( $lsx_to_search, 'lsx_layout' ), 20, 1 );
0 ignored issues
show
Unused Code introduced by
The call to remove_filter() has too many arguments starting with 1. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

174
			/** @scrutinizer ignore-call */ 
175
   remove_filter( 'lsx_layout', array( $lsx_to_search, 'lsx_layout' ), 20, 1 );

This check compares calls to functions or methods with their respective definitions. If the call has more arguments than are defined, it raises an issue.

If a function is defined several times with a different number of parameters, the check may pick up the wrong definition and report false positives. One codebase where this has been known to happen is Wordpress. Please note the @ignore annotation hint above.

Loading history...
175
			remove_filter( 'lsx_layout_selector', array( $lsx_to_search, 'lsx_layout_selector' ), 10, 4 );
176
			remove_filter( 'lsx_to_archive_layout', array( $lsx_to_search, 'lsx_to_search_archive_layout' ), 10, 2 );
177
178
			remove_action( 'lsx_search_sidebar_top', array( $lsx_to_search, 'search_sidebar_top' ) );
179
			remove_action( 'pre_get_posts', array( $lsx_to_search, 'price_sorting' ), 100 );
180
181
			//add_shortcode( 'lsx_search_form', array( 'LSX_TO_Search_Frontend', 'search_form' ) );
0 ignored issues
show
Unused Code Comprehensibility introduced by
62% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
Coding Style introduced by
No space found before comment text; expected "// add_shortcode( 'lsx_search_form', array( 'LSX_TO_Search_Frontend', 'search_form' ) );" but found "//add_shortcode( 'lsx_search_form', array( 'LSX_TO_Search_Frontend', 'search_form' ) );"
Loading history...
Coding Style introduced by
Inline comments must end in full-stops, exclamation marks, or question marks
Loading history...
182
			remove_filter( 'searchwp_short_circuit', array( $lsx_to_search, 'searchwp_short_circuit' ), 10, 2 );
183
			remove_filter( 'get_search_query', array( $lsx_to_search, 'get_search_query' ) );
184
			remove_filter( 'body_class', array( $lsx_to_search, 'to_add_search_url_class' ), 20 );
185
186
			remove_filter( 'facetwp_preload_url_vars', array( $lsx_to_search, 'preload_url_vars' ), 10, 1 );
187
			remove_filter( 'wpseo_json_ld_search_url', array( $lsx_to_search, 'change_json_ld_search_url' ), 10, 1 );
188
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
189
		if ( null !== $lsx_to_search_fwp ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
190
			remove_filter( 'facetwp_indexer_row_data', array( $lsx_to_search_fwp, 'facetwp_index_row_data' ), 10, 2 );
191
			remove_filter( 'facetwp_index_row', array( $lsx_to_search_fwp, 'facetwp_index_row' ), 10, 2 );
192
193
			remove_filter( 'facetwp_sort_options', array( $lsx_to_search_fwp, 'facet_sort_options' ), 10, 2 );
194
195
			remove_filter( 'facetwp_pager_html', array( $lsx_to_search_fwp, 'facetwp_pager_html' ), 10, 2 );
196
			remove_filter( 'facetwp_result_count', array( $lsx_to_search_fwp, 'facetwp_result_count' ), 10, 2 );
197
198
			remove_filter( 'facetwp_facet_html', array( $lsx_to_search_fwp, 'destination_facet_html' ), 10, 2 );
199
			remove_filter( 'facetwp_facet_html', array( $lsx_to_search_fwp, 'slide_facet_html' ), 10, 2 );
200
			remove_filter( 'facetwp_facet_html', array( $lsx_to_search_fwp, 'search_facet_html' ), 10, 2 );
201
			remove_filter( 'facetwp_load_css', array( $lsx_to_search_fwp, 'facetwp_load_css' ), 10, 1 );
202
203
			if ( class_exists( 'LSX_Currencies' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
204
				remove_filter( 'facetwp_render_output', array( $lsx_to_search_fwp, 'slide_price_lsx_currencies' ), 10, 2 );
205
			} else {
206
				remove_filter( 'facetwp_render_output', array( $lsx_to_search_fwp, 'slide_price_to_currencies' ), 10, 2 );
207
			}
208
		}
209
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
210
211
	/**
212
	 * Returns if the search is enabled.
213
	 *
214
	 * @return boolean
215
	 */
216
	public function is_search_enabled() {
217
		$search_enabled = false;
218
219
		if ( false === $this->new_options ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
220
			if ( isset( $this->options['display'][ $this->search_prefix . '_enable_' . $this->search_core_suffix ] ) && ( ! empty( $this->options ) ) && 'on' == $this->options['display'][ $this->search_prefix . '_enable_' . $this->search_core_suffix ] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
introduced by
Found: ==. Use strict comparisons (=== or !==).
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
221
				$search_enabled = true;
222
			}
223
		} else {
224
			$enable_prefix = $this->search_prefix;
225
			if ( ! empty( $this->options ) && isset( $this->options['display'] ) && isset( $this->options['display'][ $enable_prefix . '_enable' ] ) && 'on' === $this->options['display'][ $enable_prefix . '_enable' ] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
226
				$search_enabled = true;
227
			}
228
		}
229
230
		// These are specific plugin exclusions.
231
		if ( is_tax( array( 'wcpv_product_vendors' ) ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
232
			$search_enabled = false;
233
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
234
		return $search_enabled;
235
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
236
237
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$new_prefixes" missing
Loading history...
238
	 * Sets the search prefix.
239
	 *
240
	 * @return void
241
	 */
242
	private function set_search_prefix( $new_prefixes = false ) {
243
		$page_for_posts = get_option( 'page_for_posts' );
244
		if ( false !== $new_prefixes ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
245
			$this->taxonomies = array();
246
			$this->post_types = array();
247
		}
248
249
		if ( is_search() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
250
			if ( false === $new_prefixes ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
251
				$this->search_core_suffix = 'core';
252
				$this->search_prefix      = 'search';
253
			} else {
254
				$this->search_core_suffix = 'enable';
255
				$this->search_prefix      = 'engine_search';
256
			}
257
		} elseif ( is_post_type_archive( $this->post_types ) || is_tax() || is_page( $page_for_posts ) || is_home() || is_category() || is_tag() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
258
			if ( false === $new_prefixes ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
259
				$this->search_core_suffix = 'search';
260
			} else {
261
				$this->search_core_suffix = 'enable';
262
			}
263
264
			if ( is_tax() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
265
				$tax = get_query_var( 'taxonomy' );
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 7 spaces but found 1 space

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
266
				$tax = get_taxonomy( $tax );
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 7 spaces but found 1 space

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
267
				$post_type = $tax->object_type[0];
268
			} else if ( is_page( $page_for_posts ) || is_category() || is_tag() || is_home() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
269
				$post_type = 'post';
270
			} else {
271
				$post_type = get_query_var( 'post_type' );
272
			}
273
274
			if ( false === $new_prefixes ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
275
				if ( isset( $this->tabs[ $post_type ] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
276
					$this->search_prefix = $this->tabs[ $post_type ] . '_archive';
277
				}
278
			} else {
279
				$this->search_prefix = $post_type . '_search';
280
			}
281
		}
282
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
283
284
	/**
285
	 * Sets the FacetWP variables.
286
	 */
287
	public function set_facetwp_vars() {
0 ignored issues
show
Coding Style introduced by
Expected 0 blank lines after opening function brace; 1 found
Loading history...
288
289
		if ( class_exists( 'FacetWP' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
290
			$facet_data = FWP()->helper->get_facets();
0 ignored issues
show
Bug introduced by
The function FWP was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

290
			$facet_data = /** @scrutinizer ignore-call */ FWP()->helper->get_facets();
Loading history...
291
		}
292
293
		$this->facet_data = array();
294
295
		$this->facet_data['search_form'] = array(
296
			'name' => 'search_form',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 2 space(s) between "'name'" and double arrow, but found 1.
Loading history...
297
			'label' => esc_html__( 'Search Form', 'lsx-search' ),
298
		);
299
300
		if ( ! empty( $facet_data ) && is_array( $facet_data ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
301
			foreach ( $facet_data as $facet ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
302
				$this->facet_data[ $facet['name'] ] = $facet;
303
			}
304
		}
305
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
306
307
	/**
308
	 * Check all settings.
309
	 */
310
	public function core() {
0 ignored issues
show
Coding Style introduced by
Expected 0 blank lines after opening function brace; 1 found
Loading history...
311
312
		if ( true === $this->search_enabled ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
313
			add_action( 'wp_enqueue_scripts', array( $this, 'assets' ), 999 );
314
315
			add_filter( 'lsx_layout', array( $this, 'lsx_layout' ), 20, 1 );
316
			add_filter( 'lsx_layout_selector', array( $this, 'lsx_layout_selector' ), 10, 4 );
317
			add_filter( 'lsx_slot_class', array( $this, 'change_slot_column_class' ) );
318
			add_action( 'lsx_entry_top', array( $this, 'add_label_to_title' ) );
319
			add_filter( 'body_class', array( $this, 'body_class' ), 10 );
320
321
			add_filter( 'lsx_blog_customizer_top_of_blog_action', array( $this, 'top_of_blog_action' ), 10, 1 );
322
			add_filter( 'lsx_blog_customizer_blog_description_class', array( $this, 'blog_description_class' ), 10, 1 );
323
324
			if ( class_exists( 'LSX_Videos' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
325
				global $lsx_videos_frontend;
326
				remove_action( 'lsx_content_top', array( $lsx_videos_frontend, 'categories_tabs' ), 15 );
327
			}
328
329
			add_filter( 'lsx_paging_nav_disable', '__return_true' );
330
			add_action( 'lsx_content_top', array( $this, 'facet_top_bar' ) );
331
			add_action( 'lsx_content_top', array( $this, 'facetwp_tempate_open' ) );
332
			add_action( 'lsx_content_bottom', array( $this, 'facetwp_tempate_close' ) );
333
			add_action( 'lsx_content_bottom', array( $this, 'facet_bottom_bar' ) );
334
335
			if ( ! empty( $this->options['display'][ $this->search_prefix . '_layout' ] ) && '1c' !== $this->options['display'][ $this->search_prefix . '_layout' ] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
336
				add_filter( 'lsx_sidebar_enable', array( $this, 'lsx_sidebar_enable' ), 10, 1 );
337
			}
338
339
			add_action( 'lsx_content_wrap_before', array( $this, 'search_sidebar' ), 150 );
340
341
			if ( class_exists( 'WooCommerce' ) && ( is_shop() || is_product_category() || is_product_tag() ) ) {
0 ignored issues
show
Bug introduced by
The function is_product_category was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

341
			if ( class_exists( 'WooCommerce' ) && ( is_shop() || /** @scrutinizer ignore-call */ is_product_category() || is_product_tag() ) ) {
Loading history...
Bug introduced by
The function is_product_tag was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

341
			if ( class_exists( 'WooCommerce' ) && ( is_shop() || is_product_category() || /** @scrutinizer ignore-call */ is_product_tag() ) ) {
Loading history...
Bug introduced by
The function is_shop was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

341
			if ( class_exists( 'WooCommerce' ) && ( /** @scrutinizer ignore-call */ is_shop() || is_product_category() || is_product_tag() ) ) {
Loading history...
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
342
				remove_action( 'woocommerce_archive_description', 'woocommerce_taxonomy_archive_description' );
343
				remove_action( 'woocommerce_archive_description', 'woocommerce_product_archive_description' );
344
				add_filter( 'woocommerce_show_page_title', '__return_false' );
345
346
				add_filter( 'loop_shop_columns', function() {
0 ignored issues
show
Coding Style introduced by
The opening parenthesis of a multi-line function call should be the last content on the line.
Loading history...
Coding Style introduced by
For multi-line function calls, each argument should be on a separate line.

For a function calls that spawns multiple lines, the coding style suggests to split arguments to separate lines like this:

someFunctionCall(
    $firstArgument,
    $secondArgument,
    $thirdArgument
);
Loading history...
347
					return 3;
348
				} );
0 ignored issues
show
Coding Style introduced by
For multi-line function calls, the closing parenthesis should be on a new line.

If a function call spawns multiple lines, the coding standard suggests to move the closing parenthesis to a new line:

someFunctionCall(
    $firstArgument,
    $secondArgument,
    $thirdArgument
); // Closing parenthesis on a new line.
Loading history...
349
350
				// Actions added by LSX theme
0 ignored issues
show
Coding Style introduced by
Inline comments must end in full-stops, exclamation marks, or question marks
Loading history...
351
				remove_action( 'lsx_content_wrap_before', 'lsx_global_header' );
352
				add_action( 'lsx_content_wrap_before', array( $this, 'wc_archive_header' ), 140 );
353
354
				// Actions added be LSX theme / woocommerce.php file
0 ignored issues
show
Coding Style introduced by
Inline comments must end in full-stops, exclamation marks, or question marks
Loading history...
355
				remove_action( 'woocommerce_after_shop_loop', 'lsx_wc_sorting_wrapper', 9 );
356
				remove_action( 'woocommerce_after_shop_loop', 'woocommerce_catalog_ordering', 10 );
357
				remove_action( 'woocommerce_after_shop_loop', 'woocommerce_result_count', 20 );
358
				remove_action( 'woocommerce_after_shop_loop', 'woocommerce_pagination', 30 );
359
				remove_action( 'woocommerce_after_shop_loop', 'lsx_wc_sorting_wrapper_close', 31 );
360
361
				// Actions added be LSX theme / woocommerce.php file
0 ignored issues
show
Coding Style introduced by
Inline comments must end in full-stops, exclamation marks, or question marks
Loading history...
362
				remove_action( 'woocommerce_before_shop_loop', 'lsx_wc_sorting_wrapper', 9 );
363
				remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 10 );
364
				remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
365
				remove_action( 'woocommerce_before_shop_loop', 'lsx_wc_woocommerce_pagination', 30 );
366
				remove_action( 'woocommerce_before_shop_loop', 'lsx_wc_sorting_wrapper_close', 31 );
367
			}
368
		}
369
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
370
371
	/**
372
	 * Adds a search class to the body to allow the styling of the sidebars etc.
373
	 *
374
	 * @param  array $classes The classes.
375
	 * @return array $classes The classes.
376
	 */
377
	public function body_class( $classes ) {
378
		$classes[] = 'lsx-search-enabled';
379
		return $classes;
380
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
381
382
	/**
383
	 * Moves the blog description to above the content columns.
384
	 *
385
	 * @param  string $action
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
386
	 * @return string $action
387
	 */
388
	public function top_of_blog_action( $action = '' ) {
389
		$action = 'lsx_content_wrap_before';
390
		return $action;
391
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
392
393
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$class" missing
Loading history...
394
	 * Adds a class to the blog description.
395
	 *
396
	 * @param  string $action
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
Coding Style introduced by
Doc comment for parameter $action does not match actual variable name $class
Loading history...
397
	 * @return string $action
398
	 */
399
	public function blog_description_class( $class = '' ) {
400
		$class .= ' col-md-12 search-description';
401
		return $class;
402
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
403
404
	/**
405
	 * Check the $wp_query global to see if there are posts in the current query.
406
	 *
407
	 * @return void
408
	 */
409
	public function check_for_results() {
410
		if ( true === $this->search_enabled ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
411
			global $wp_query;
412
			if ( empty( $wp_query->posts ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
413
				$this->has_posts = false;
414
				remove_action( 'lsx_content_top', array( $this, 'facet_top_bar' ) );
415
				remove_action( 'lsx_content_bottom', array( $this, 'facet_bottom_bar' ) );
416
				remove_action( 'lsx_content_wrap_before', array( $this, 'search_sidebar' ), 150 );
417
			} else {
418
				$this->has_posts = true;
419
			}
420
		}
421
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
422
423
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$query" missing
Loading history...
424
	 * Filter the post types.
425
	 */
426
	public function filter_post_types( $query ) {
427
		if ( ! is_admin() && $query->is_main_query() && $query->is_search() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
428
			if ( ! empty( $this->options ) && ! empty( $this->options['display']['search_enable_core'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
429
				if ( ! empty( $this->options['general']['search_post_types'] ) && is_array( $this->options['general']['search_post_types'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
430
					$post_types = array_keys( $this->options['general']['search_post_types'] );
431
					$query->set( 'post_type', $post_types );
432
				}
433
			}
434
		}
435
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
436
437
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$post_types" missing
Loading history...
438
	 * Sets post types with active search options.
439
	 */
440
	public function register_post_types( $post_types ) {
441
		$post_types = array( 'post', 'project', 'service', 'team', 'testimonial', 'video', 'product' );
442
		return $post_types;
443
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
444
445
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$taxonomies" missing
Loading history...
446
	 * Sets taxonomies with active search options.
447
	 */
448
	public function register_taxonomies( $taxonomies ) {
449
		$taxonomies = array( 'category', 'post_tag', 'project-group', 'service-group', 'team_role', 'video-category', 'product_cat', 'product_tag' );
450
		return $taxonomies;
451
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
452
453
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$post_types_plural" missing
Loading history...
454
	 * Sets post types with active search options.
455
	 */
456
	public function register_post_type_tabs( $post_types_plural ) {
457
		$post_types_plural = array(
458
			'post' => 'posts',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 8 space(s) between "'post'" and double arrow, but found 1.
Loading history...
459
			'project' => 'projects',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 5 space(s) between "'project'" and double arrow, but found 1.
Loading history...
460
			'service' => 'services',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 5 space(s) between "'service'" and double arrow, but found 1.
Loading history...
461
			'team' => 'team',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 8 space(s) between "'team'" and double arrow, but found 1.
Loading history...
462
			'testimonial' => 'testimonials',
463
			'video' => 'videos',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 7 space(s) between "'video'" and double arrow, but found 1.
Loading history...
464
			'product' => 'products', // WooCommerce
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 5 space(s) between "'product'" and double arrow, but found 1.
Loading history...
Coding Style introduced by
Inline comments must end in full-stops, exclamation marks, or question marks
Loading history...
465
		);
466
		return $post_types_plural;
467
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
468
469
	/**
470
	 * Enqueue styles and scripts.
471
	 */
472
	public function assets() {
473
		add_filter( 'lsx_defer_parsing_of_js', array( $this, 'skip_js_defer' ), 10, 4 );
474
		wp_enqueue_script( 'touchSwipe', LSX_SEARCH_URL . 'assets/js/vendor/jquery.touchSwipe.min.js', array( 'jquery' ), LSX_SEARCH_VER, true );
475
		wp_enqueue_script( 'slideandswipe', LSX_SEARCH_URL . 'assets/js/vendor/jquery.slideandswipe.min.js', array( 'jquery', 'touchSwipe' ), LSX_SEARCH_VER, true );
476
		wp_enqueue_script( 'lsx-search', LSX_SEARCH_URL . 'assets/js/src/lsx-search.js', array( 'jquery', 'touchSwipe', 'slideandswipe', 'jquery-ui-datepicker' ), LSX_SEARCH_VER, true );
477
478
		$params = apply_filters( 'lsx_search_js_params', array(
0 ignored issues
show
Coding Style introduced by
The opening parenthesis of a multi-line function call should be the last content on the line.
Loading history...
Coding Style introduced by
For multi-line function calls, each argument should be on a separate line.

For a function calls that spawns multiple lines, the coding style suggests to split arguments to separate lines like this:

someFunctionCall(
    $firstArgument,
    $secondArgument,
    $thirdArgument
);
Loading history...
479
			'ajax_url' => admin_url( 'admin-ajax.php' ),
480
		));
0 ignored issues
show
Coding Style introduced by
For multi-line function calls, the closing parenthesis should be on a new line.

If a function call spawns multiple lines, the coding standard suggests to move the closing parenthesis to a new line:

someFunctionCall(
    $firstArgument,
    $secondArgument,
    $thirdArgument
); // Closing parenthesis on a new line.
Loading history...
481
482
		wp_localize_script( 'lsx-search', 'lsx_customizer_params', $params );
483
484
		wp_enqueue_style( 'lsx-search', LSX_SEARCH_URL . 'assets/css/lsx-search.css', array(), LSX_SEARCH_VER );
485
		wp_style_add_data( 'lsx-search', 'rtl', 'replace' );
486
487
		if ( true === $this->new_options ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
488
			wp_deregister_style( 'lsx_to_search' );
489
			wp_deregister_script( 'lsx_to_search' );
490
		}
491
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
492
493
	/**
494
	 * Adds the to-search.min.js and the to-search.js
495
	 *
496
	 * @param boolean $should_skip
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
497
	 * @param string  $tag
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
498
	 * @param string  $handle
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
499
	 * @param string  $href
0 ignored issues
show
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
500
	 * @return boolean
501
	 */
502
	public function skip_js_defer( $should_skip, $tag, $handle, $href ) {
503
		if ( ! is_admin() && ( false !== stripos( $href, 'lsx-search.min.js' ) || false !== stripos( $href, 'lsx-search.js' ) ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
504
			$should_skip = true;
505
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
506
		return $should_skip;
507
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
508
509
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$template" missing
Loading history...
510
	 * Redirect wordpress to the search template located in the plugin
0 ignored issues
show
introduced by
Please spell "WordPress" correctly. Found 1 misspelling(s): wordpress
Loading history...
511
	 *
512
	 * @param	$template
0 ignored issues
show
Coding Style introduced by
Missing parameter name
Loading history...
introduced by
Spaces must be used for mid-line alignment; tabs are not allowed
Loading history...
513
	 * @return	$template
0 ignored issues
show
Documentation Bug introduced by
The doc comment $template at position 0 could not be parsed: Unknown type name '$template' at position 0 in $template.
Loading history...
introduced by
Spaces must be used for mid-line alignment; tabs are not allowed
Loading history...
514
	 */
515
	public function search_template_include( $template ) {
516
		if ( is_main_query() && is_search() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
517
			if ( file_exists( LSX_SEARCH_PATH . 'templates/search.php' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
518
				$template = LSX_SEARCH_PATH . 'templates/search.php';
519
			}
520
		}
521
522
		return $template;
523
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
524
525
	/**
526
	 * Ignore sticky posts on Blog search.
527
	 *
528
	 * @param [type] $query
0 ignored issues
show
Documentation Bug introduced by
The doc comment [type] at position 0 could not be parsed: Unknown type name '[' at position 0 in [type].
Loading history...
Coding Style Documentation introduced by
Missing parameter comment
Loading history...
529
	 * @return void
530
	 */
531
	public function ignore_sticky_search( $query ) {
532
		if ( $query->is_main_query() && is_home() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
533
			$query->set( 'ignore_sticky_posts', true );
534
		}
535
	}
0 ignored issues
show
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
536
537
	/**
538
	 * Rewrite the search URL
539
	 */
540
	public function pretty_search_redirect() {
541
		global $wp_rewrite,$wp_query;
542
543
		if ( ! isset( $wp_rewrite ) || ! is_object( $wp_rewrite ) || ! $wp_rewrite->using_permalinks() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
544
			return;
545
		}
546
547
		$search_base = $wp_rewrite->search_base;
548
549
		if ( is_search() && ! is_admin() && strpos( $_SERVER['REQUEST_URI'], "/{$search_base}/" ) === false ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
introduced by
Detected usage of a possibly undefined superglobal array index: $_SERVER['REQUEST_URI']. Use isset() or empty() to check the index exists before using it
Loading history...
introduced by
$_SERVER data not unslashed before sanitization. Use wp_unslash() or similar
Loading history...
introduced by
Detected usage of a non-sanitized input variable: $_SERVER['REQUEST_URI']
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
550
			$search_query = get_query_var( 's' );
551
			$engine = '';
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 7 spaces but found 1 space

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
552
553
			// If the search was triggered by a supplemental engine.
554
			if ( isset( $_GET['engine'] ) && 'default' !== $_GET['engine'] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
introduced by
Processing form data without nonce verification.
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
555
				$engine = sanitize_text_field( wp_unslash( $_GET['engine'] ) );
0 ignored issues
show
Bug introduced by
It seems like wp_unslash($_GET['engine']) can also be of type string[]; however, parameter $str of sanitize_text_field() does only seem to accept string, maybe add an additional type check? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

555
				$engine = sanitize_text_field( /** @scrutinizer ignore-type */ wp_unslash( $_GET['engine'] ) );
Loading history...
introduced by
Processing form data without nonce verification.
Loading history...
556
				$index  = array_search( $engine, $this->post_type_slugs, true );
557
				if ( false !== $index ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
558
					$engine = $index;
559
				}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
560
				$engine = $engine . '/';
561
			}
562
563
			$get_array = $_GET;
0 ignored issues
show
introduced by
Processing form data without nonce verification.
Loading history...
564
565
			if ( is_array( $get_array ) && ! empty( $get_array ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
566
				$vars_to_maintain = array();
567
568
				foreach ( $get_array as $ga_key => $ga_value ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
569
					if ( false !== strpos( $ga_key, 'fwp_' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
570
						$vars_to_maintain[] = $ga_key . '=' . $ga_value;
571
					}
572
				}
573
			}
574
575
			$redirect_url = home_url( "/{$search_base}/" . $engine . urlencode( $search_query ) );
0 ignored issues
show
introduced by
urlencode() should only be used when dealing with legacy applications rawurlencode() should now be used instead. See http://php.net/manual/en/function.rawurlencode.php and http://www.faqs.org/rfcs/rfc3986.html
Loading history...
576
577
			if ( ! empty( $vars_to_maintain ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
578
				$redirect_url .= '?' . implode( '&', $vars_to_maintain );
579
			}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
580
			wp_redirect( $redirect_url );
0 ignored issues
show
introduced by
wp_redirect() found. Using wp_safe_redirect(), along with the allowed_redirect_hosts filter if needed, can help avoid any chances of malicious redirects within code. It is also important to remember to call exit() after a redirect so that no other unwanted code is executed.
Loading history...
581
			exit();
0 ignored issues
show
Best Practice introduced by
Using exit here is not recommended.

In general, usage of exit should be done with care and only when running in a scripting context like a CLI script.

Loading history...
582
		}
583
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
584
585
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$query" missing
Loading history...
586
	 * Parse the Query and trigger a search
587
	 */
588
	public function pretty_search_parse_query( $query ) {
589
		$this->post_type_slugs = array(
0 ignored issues
show
Bug Best Practice introduced by
The property post_type_slugs does not exist. Although not strictly required by PHP, it is generally a best practice to declare properties explicitly.
Loading history...
590
			'post' => 'posts',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 8 space(s) between "'post'" and double arrow, but found 1.
Loading history...
591
			'project' => 'projects',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 5 space(s) between "'project'" and double arrow, but found 1.
Loading history...
592
			'service' => 'services',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 5 space(s) between "'service'" and double arrow, but found 1.
Loading history...
593
			'team' => 'team',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 8 space(s) between "'team'" and double arrow, but found 1.
Loading history...
594
			'testimonial' => 'testimonials',
595
			'video' => 'videos',
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 7 space(s) between "'video'" and double arrow, but found 1.
Loading history...
596
			'product' => 'products', // WooCommerce
0 ignored issues
show
introduced by
Array double arrow not aligned correctly; expected 5 space(s) between "'product'" and double arrow, but found 1.
Loading history...
Coding Style introduced by
Inline comments must end in full-stops, exclamation marks, or question marks
Loading history...
597
		);
598
		if ( $query->is_search() && ! is_admin() && $query->is_main_query() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
599
			$search_query = $query->get( 's' );
600
			$keyword_test = explode( '/', $search_query );
601
602
			$index = array_search( $keyword_test[0], $this->post_type_slugs, true );
603
			if ( false !== $index ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
604
				$engine = $this->post_type_slugs[ $index ];
605
606
				$query->set( 'post_type', $engine );
607
				$query->set( 'engine', $engine );
608
609
				if ( count( $keyword_test ) > 1 ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
610
					$query->set( 's', $keyword_test[1] );
611
				} elseif ( post_type_exists( $engine ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
612
					$query->set( 's', '' );
613
				}
614
			} else {
615
				if ( isset( $this->options['general']['search_post_types'] ) && is_array( $this->options['general']['search_post_types'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
616
					$post_types = array_keys( $this->options['general']['search_post_types'] );
617
					$query->set( 'post_type', $post_types );
618
				}
619
			}
620
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
621
		return $query;
622
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
623
624
	/**
625
	 * Change the search slug to /search/ for the JSON+LD output in Yoast SEO
626
	 *
627
	 * @return url
0 ignored issues
show
Bug introduced by
The type lsx\search\classes\url was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
628
	 */
629
	public function change_json_ld_search_url() {
630
		return trailingslashit( home_url() ) . 'search/{search_term_string}';
631
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
632
633
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$layout" missing
Loading history...
634
	 * A filter to set the layout to 2 column.
635
	 */
636
	public function lsx_layout( $layout ) {
637
		if ( ! empty( $this->options['display'][ $this->search_prefix . '_layout' ] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
638
			if ( false === $this->has_posts ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
639
				$layout = '1c';
640
			} else {
641
				$layout = $this->options['display'][ $this->search_prefix . '_layout' ];
642
			}
643
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
644
		return $layout;
645
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
646
647
	/**
648
	 * Outputs the Search Title Facet
649
	 */
650
	public function search_sidebar_top() {
651
		if ( ! empty( $this->options['display'][ $this->search_prefix . '_facets' ] ) && is_array( $this->options['display'][ $this->search_prefix . '_facets' ] ) && true !== apply_filters( 'lsx_search_hide_search_box', false ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
652
653
			if ( ! is_search() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
654
655
				foreach ( $this->options['display'][ $this->search_prefix . '_facets' ] as $facet => $facet_useless ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
656
657
					if ( isset( $this->facet_data[ $facet ] ) && 'search' === $this->facet_data[ $facet ]['type'] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
658
						echo wp_kses_post( '<div class="row">' );
659
							$this->display_facet_default( $facet );
660
						echo wp_kses_post( '</div>' );
661
						unset( $this->options['display'][ $this->search_prefix . '_facets' ][ $facet ] );
662
					}
663
				}
664
			} else {
665
				echo wp_kses_post( '<div class="row">' );
666
					$this->display_facet_search();
667
				echo wp_kses_post( '</div>' );
668
			}
669
		}
670
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
671
672
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$output" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$params" missing
Loading history...
673
	 * Overrides the search facet HTML
674
	 * @param $output
0 ignored issues
show
Coding Style introduced by
There must be exactly one blank line before the tags in a doc comment
Loading history...
Coding Style introduced by
Missing parameter name
Loading history...
675
	 * @param $params
0 ignored issues
show
Coding Style introduced by
Missing parameter name
Loading history...
676
	 *
677
	 * @return string
678
	 */
679
	public function search_facet_html( $output, $params ) {
680
		if ( 'search' == $params['facet']['type'] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
introduced by
Found: ==. Use strict comparisons (=== or !==).
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
681
682
			$value = (array) $params['selected_values'];
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 7 spaces but found 1 space

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
683
			$value = empty( $value ) ? '' : stripslashes( $value[0] );
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 7 spaces but found 1 space

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
684
			$placeholder = isset( $params['facet']['placeholder'] ) ? $params['facet']['placeholder'] : __( 'Search...', 'lsx-search' );
685
			$placeholder = facetwp_i18n( $placeholder );
0 ignored issues
show
Bug introduced by
The function facetwp_i18n was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

685
			$placeholder = /** @scrutinizer ignore-call */ facetwp_i18n( $placeholder );
Loading history...
686
687
			ob_start();
688
			?>
689
			<div class="col-xs-12 facetwp-item facetwp-form">
690
				<div class="search-form lsx-search-form 2">
691
					<div class="input-group facetwp-search-wrap">
692
						<div class="field">
693
							<input class="facetwp-search search-field form-control" type="text" placeholder="<?php echo esc_attr( $placeholder ); ?>" autocomplete="off" value="<?php echo esc_attr( $value ); ?>">
694
						</div>
695
696
						<div class="field submit-button">
697
							<button class="search-submit btn facetwp-btn" type="submit"><?php esc_html_e( 'Search', 'lsx-search' ); ?></button>
698
						</div>
699
					</div>
700
				</div>
701
			</div>
702
			<?php
703
			$output = ob_get_clean();
704
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
705
		return $output;
706
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
707
708
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$return_class" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$class" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$layout" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$size" missing
Loading history...
709
	 * Change the primary and secondary column classes.
710
	 */
711
	public function lsx_layout_selector( $return_class, $class, $layout, $size ) {
712
		if ( ! empty( $this->options['display'][ $this->search_prefix . '_layout' ] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Blank line found at start of control structure
Loading history...
713
714
			if ( '2cl' === $layout || '2cr' === $layout ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
715
				$main_class    = 'col-sm-8 col-md-9';
716
				$sidebar_class = 'col-sm-4 col-md-3';
717
718
				if ( '2cl' === $layout ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
719
					$main_class    .= ' col-sm-pull-4 col-md-pull-3 search-sidebar-left';
720
					$sidebar_class .= ' col-sm-push-8 col-md-push-9';
721
				}
722
723
				if ( 'main' === $class ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
724
					return $main_class;
725
				}
726
727
				if ( 'sidebar' === $class ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
728
					return $sidebar_class;
729
				}
730
			}
731
		}
732
733
		return $return_class;
734
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
735
736
	/**
737
	 * Displays the Alphabet sorter above the facets.
738
	 *
739
	 * @return void
740
	 */
741
	public function display_alphabet_facet() {
742
		if ( isset( $this->options['display'][ $this->search_prefix . '_az_pagination' ] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
743
			$az_pagination = $this->options['display'][ $this->search_prefix . '_az_pagination' ];
744
		} else {
745
			$az_pagination = false;
746
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
747
		$az_pagination = apply_filters( 'lsx_search_top_az_pagination', $az_pagination );
748
		if ( false !== $az_pagination && '' !== $az_pagination ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
749
			echo do_shortcode( '[facetwp facet="' . $az_pagination . '"]' );
750
		}
751
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
752
753
	/**
754
	 * Outputs top.
755
	 */
756
	public function facet_top_bar() {
757
		if ( true === apply_filters( 'lsx_search_hide_top_bar', false ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
758
			return;
759
		}
760
761
		$show_pagination     = true;
762
		$pagination_visible  = false;
763
		$show_per_page_combo = empty( $this->options['display'][ $this->search_prefix . '_disable_per_page' ] );
764
		$show_sort_combo     = empty( $this->options['display'][ $this->search_prefix . '_disable_sorting' ] );
765
766
		$show_pagination     = apply_filters( 'lsx_search_top_show_pagination', $show_pagination );
767
		$pagination_visible  = apply_filters( 'lsx_search_top_pagination_visible', $pagination_visible );
768
		$show_per_page_combo = apply_filters( 'lsx_search_top_show_per_page_combo', $show_per_page_combo );
769
		$show_sort_combo     = apply_filters( 'lsx_search_top_show_sort_combo', $show_sort_combo );
770
		$facet_row_classes   = apply_filters( 'lsx_search_top_facetwp_row_classes', '' );
771
		?>
772
		<div id="facetwp-top">
773
			<?php if ( $show_sort_combo || ( $show_pagination && $show_per_page_combo ) ) { ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
774
				<div class="row facetwp-top-row-1 hidden-xs <?php echo esc_attr( $facet_row_classes ); ?>">
775
					<div class="col-xs-12">
776
777
						<?php if ( ! empty( $this->options['display'][ $this->search_prefix . '_display_result_count' ] ) && false === apply_filters( 'lsx_search_hide_result_count', false ) ) { ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
778
							<div class="row">
779
								<div class="col-md-12 facetwp-item facetwp-results">
780
									<h3 class="lsx-search-title lsx-search-title-results"><?php esc_html_e( 'Results', 'lsx-search' ); ?> <?php echo '(' . do_shortcode( '[facetwp counts="true"]' ) . ')&nbsp;'; ?>
781
									<?php if ( false !== $this->options && isset( $this->options['display'] ) && ( ! empty( $this->options['display'][ $this->search_prefix . '_display_clear_button' ] ) ) && 'on' === $this->options['display'][ $this->search_prefix . '_display_clear_button' ] ) { ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
782
										<span class="clear-facets hidden">- <a title="<?php esc_html_e( 'Clear the current search filters.', 'lsx-search' ); ?>" class="facetwp-results-clear" type="button" onclick="<?php echo esc_attr( apply_filters( 'lsx_search_clear_function', 'lsx_search.clearFacets(this);' ) ); ?>"><?php esc_html_e( 'Clear', 'lsx-search' ); ?></a></span>
783
									<?php } ?>
784
									</h3>
785
								</div>
786
							</div>
787
						<?php } ?>
788
789
						<?php do_action( 'lsx_search_facetwp_top_row' ); ?>
790
791
						<?php $this->display_alphabet_facet(); ?>
792
793
						<?php if ( $show_sort_combo ) { ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
794
							<?php echo do_shortcode( '[facetwp sort="true"]' ); ?>
795
						<?php } ?>
796
797
					</div>
798
				</div>
799
			<?php } ?>
800
		</div>
801
		<?php
802
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
803
804
	/**
805
	 * Outputs bottom.
806
	 */
807
	public function facet_bottom_bar() {
808
		if ( true === apply_filters( 'lsx_search_hide_bottom_bar', false ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
809
			return;
810
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
811
		$show_pagination    = true;
812
		$pagination_visible = false;
813
		if ( isset( $this->options['display'][ $this->search_prefix . '_az_pagination' ] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
814
			$az_pagination = $this->options['display'][ $this->search_prefix . '_az_pagination' ];
815
		} else {
816
			$az_pagination = false;
817
		}
818
819
		$show_per_page_combo = empty( $this->options['display'][ $this->search_prefix . '_disable_per_page' ] );
820
		$show_sort_combo     = empty( $this->options['display'][ $this->search_prefix . '_search_disable_sorting' ] );
821
822
		$show_pagination     = apply_filters( 'lsx_search_bottom_show_pagination', $show_pagination );
823
		$pagination_visible  = apply_filters( 'lsx_search_bottom_pagination_visible', $pagination_visible );
824
		$show_per_page_combo = apply_filters( 'lsx_search_bottom_show_per_page_combo', $show_per_page_combo );
825
		$show_sort_combo     = apply_filters( 'lsx_search_bottom_show_sort_combo', $show_sort_combo );
826
827
		if ( $show_pagination || ! empty( $az_pagination ) ) { ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Closing PHP tag must be on a line by itself
Loading history...
828
			<div id="facetwp-bottom">
829
				<div class="row facetwp-bottom-row-1">
830
					<div class="col-xs-12">
831
						<?php do_action( 'lsx_search_facetwp_bottom_row' ); ?>
832
833
						<?php //if ( $show_sort_combo ) { ?>
0 ignored issues
show
Unused Code Comprehensibility introduced by
56% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
Coding Style introduced by
No space found before comment text; expected "// if ( $show_sort_combo ) {" but found "//if ( $show_sort_combo ) {"
Loading history...
Coding Style introduced by
Inline comments must end in full-stops, exclamation marks, or question marks
Loading history...
834
							<?php //echo do_shortcode( '[facetwp sort="true"]' ); ?>
0 ignored issues
show
Unused Code Comprehensibility introduced by
56% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
Coding Style introduced by
No space found before comment text; expected "// echo do_shortcode( '[facetwp sort="true"]' );" but found "//echo do_shortcode( '[facetwp sort="true"]' );"
Loading history...
Coding Style introduced by
Inline comments must end in full-stops, exclamation marks, or question marks
Loading history...
835
						<?php //} ?>
0 ignored issues
show
Coding Style introduced by
No space found before comment text; expected "// }" but found "//}"
Loading history...
836
837
						<?php //if ( ( $show_pagination && $show_per_page_combo ) || $show_per_page_combo ) { ?>
0 ignored issues
show
Unused Code Comprehensibility introduced by
53% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
Coding Style introduced by
No space found before comment text; expected "// if ( ( $show_pagination && $show_per_page_combo ) || $show_per_page_combo ) {" but found "//if ( ( $show_pagination && $show_per_page_combo ) || $show_per_page_combo ) {"
Loading history...
Coding Style introduced by
Inline comments must end in full-stops, exclamation marks, or question marks
Loading history...
838
							<?php //echo do_shortcode( '[facetwp per_page="true"]' ); ?>
0 ignored issues
show
Unused Code Comprehensibility introduced by
56% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
Coding Style introduced by
No space found before comment text; expected "// echo do_shortcode( '[facetwp per_page="true"]' );" but found "//echo do_shortcode( '[facetwp per_page="true"]' );"
Loading history...
Coding Style introduced by
Inline comments must end in full-stops, exclamation marks, or question marks
Loading history...
839
						<?php //} ?>
0 ignored issues
show
Coding Style introduced by
No space found before comment text; expected "// }" but found "//}"
Loading history...
840
841
						<?php
842
						if ( $show_pagination ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
843
							$output_pagination = do_shortcode( '[facetwp pager="true"]' );
844
							if ( ! empty( $this->options['display'][ $this->search_prefix . '_facets' ] ) && is_array( $this->options['display'][ $this->search_prefix . '_facets' ] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
845
								foreach ( $this->options['display'][ $this->search_prefix . '_facets' ] as $facet => $facet_useless ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
846
									if ( isset( $this->facet_data[ $facet ] ) && in_array( $this->facet_data[ $facet ]['type'], array( 'pager' ) ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
introduced by
Not using strict comparison for in_array; supply true for third argument.
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
847
										$output_pagination = do_shortcode( '[facetwp facet="pager_"]' );
848
									}
849
								}
850
							}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
851
							echo wp_kses_post( $output_pagination );
852
						?>
853
						<?php } ?>
854
					</div>
855
				</div>
856
			</div>
857
		<?php }
0 ignored issues
show
Coding Style introduced by
Opening PHP tag must be on a line by itself
Loading history...
858
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
859
860
	/**
861
	 * Adds in the closing facetwp div
862
	 *
863
	 * @return void
864
	 */
865
	public function facetwp_tempate_open() {
866
		?>
867
		<div class="facetwp-template">
868
		<?php
869
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
870
871
	/**
872
	 * Adds in the closing facetwp div
873
	 *
874
	 * @return void
875
	 */
876
	public function facetwp_tempate_close() {
877
		?>
878
		</div>
879
		<?php
880
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
881
882
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$sidebar_enabled" missing
Loading history...
883
	 * Disables default sidebar.
884
	 */
885
	public function lsx_sidebar_enable( $sidebar_enabled ) {
886
		$sidebar_enabled = false;
887
		return $sidebar_enabled;
888
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
889
890
	/**
891
	 * Outputs custom sidebar.
892
	 */
893
	public function search_sidebar() {
0 ignored issues
show
Coding Style introduced by
Expected 0 blank lines after opening function brace; 1 found
Loading history...
894
895
		$this->options = apply_filters( 'lsx_search_sidebar_options', $this->options );
896
		?>
897
			<?php do_action( 'lsx_search_sidebar_before' ); ?>
898
899
			<div id="secondary" class="facetwp-sidebar widget-area <?php echo esc_attr( lsx_sidebar_class() ); ?>" role="complementary">
900
901
				<?php do_action( 'lsx_search_sidebar_top' ); ?>
902
903
				<?php if ( ! empty( $this->options['display'][ $this->search_prefix . '_facets' ] ) && is_array( $this->options['display'][ $this->search_prefix . '_facets' ] ) ) { ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
904
					<div class="row facetwp-row lsx-search-filer-area">
905
						<h3 class="facetwp-filter-title"><?php echo esc_html_e( 'Refine by', 'lsx-search' ); ?></h3>
906
						<div class="col-xs-12 facetwp-item facetwp-filters-button hidden-sm hidden-md hidden-lg">
907
							<button class="ssm-toggle-nav btn btn-block" rel="lsx-search-filters"><?php esc_html_e( 'Filters', 'lsx-search' ); ?> <i class="fa fa-chevron-down" aria-hidden="true"></i></button>
908
						</div>
909
910
						<div class="ssm-overlay ssm-toggle-nav" rel="lsx-search-filters"></div>
911
912
						<div class="col-xs-12 facetwp-item-wrap facetwp-filters-wrap" id="lsx-search-filters">
913
							<div class="row hidden-sm hidden-md hidden-lg ssm-row-margin-bottom">
914
								<div class="col-xs-12 facetwp-item facetwp-filters-button">
915
									<button class="ssm-close-btn ssm-toggle-nav btn btn-block" rel="lsx-search-filters"><?php esc_html_e( 'Close Filters', 'lsx-search' ); ?> <i class="fa fa-times" aria-hidden="true"></i></button>
916
								</div>
917
							</div>
918
919
							<div class="row">
920
								<?php
921
								// Slider.
922
								foreach ( $this->options['display'][ $this->search_prefix . '_facets' ] as $facet => $facet_useless ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
923
									if ( isset( $this->facet_data[ $facet ] ) && ! in_array( $this->facet_data[ $facet ]['type'], array( 'alpha', 'search', 'pager' ) ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
introduced by
Not using strict comparison for in_array; supply true for third argument.
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
924
										$this->display_facet_default( $facet );
925
									}
926
								}
927
								?>
928
							</div>
929
930
							<div class="row hidden-sm hidden-md hidden-lg ssm-row-margin-top">
931
								<div class="col-xs-12 facetwp-item facetwp-filters-button">
932
									<button class="ssm-apply-btn ssm-toggle-nav btn btn-block" rel="lsx-search-filters"><?php esc_html_e( 'Apply Filters', 'lsx-search' ); ?> <i class="fa fa-check" aria-hidden="true"></i></button>
933
								</div>
934
							</div>
935
						</div>
936
					</div>
937
				<?php } ?>
938
939
				<?php do_action( 'lsx_search_sidebar_bottom' ); ?>
940
			</div>
941
942
			<?php do_action( 'lsx_search_sidebar_after' ); ?>
943
		<?php
944
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
945
946
	/**
947
	 * Check if the pager facet is on
948
	 *
949
	 * @return void
0 ignored issues
show
Coding Style introduced by
Function return type is void, but function contains return statement
Loading history...
950
	 */
951
	public function pager_facet_enabled() {
0 ignored issues
show
Coding Style introduced by
Expected 0 blank lines after opening function brace; 1 found
Loading history...
952
953
		$pager_facet_off = false;
954
955
		if ( ! empty( $this->options['display'][ $this->search_prefix . '_facets' ] ) && is_array( $this->options['display'][ $this->search_prefix . '_facets' ] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
956
			foreach ( $this->options['display'][ $this->search_prefix . '_facets' ] as $facet => $facet_useless ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
957
				if ( isset( $this->facet_data[ $facet ] ) && ! in_array( $this->facet_data[ $facet ]['type'], array( 'pager' ) ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
introduced by
Not using strict comparison for in_array; supply true for third argument.
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
958
					$pager_facet_off = true;
959
				}
960
			}
961
		}
962
963
		return $pager_facet_off;
964
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
965
966
	/**
967
	 * Display WooCommerce archive title.
968
	 */
969
	public function wc_archive_header() {
970
		$default_size   = 'sm';
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 1 space but found 3 spaces

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
971
		$size           = apply_filters( 'lsx_bootstrap_column_size', $default_size );
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 9 spaces but found 11 spaces

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
972
		?>
973
			<div class="archive-header-wrapper banner-woocommerce col-<?php echo esc_attr( $size ); ?>-12">
974
				<?php lsx_global_header_inner_bottom(); ?>
975
				<header class="archive-header">
976
					<h1 class="archive-title"><?php woocommerce_page_title(); ?></h1>
0 ignored issues
show
Bug introduced by
The function woocommerce_page_title was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

976
					<h1 class="archive-title"><?php /** @scrutinizer ignore-call */ woocommerce_page_title(); ?></h1>
Loading history...
977
				</header>
978
			</div>
979
		<?php
980
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
981
982
	/**
983
	 * Display facet search.
984
	 */
985
	public function display_facet_search() {
986
		?>
987
		<div class="col-xs-12 facetwp-item facetwp-form">
988
			<form class="search-form lsx-search-form" action="/" method="get">
989
				<div class="input-group">
990
					<div class="field">
991
						<input class="facetwp-search search-field form-control" name="s" type="search" placeholder="<?php esc_html_e( 'Search', 'lsx-search' ); ?>..." autocomplete="off" value="<?php echo get_search_query() ?>">
0 ignored issues
show
Coding Style introduced by
Inline PHP statement must end with a semicolon
Loading history...
992
					</div>
993
994
					<div class="field submit-button">
995
						<button class="search-submit btn" type="submit"><?php esc_html_e( 'Search', 'lsx-search' ); ?></button>
996
					</div>
997
				</div>
998
			</form>
999
		</div>
1000
		<?php
1001
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1002
1003
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$facet" missing
Loading history...
1004
	 * Display facet default.
1005
	 */
1006
	public function display_facet_default( $facet ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 blank lines after opening function brace; 1 found
Loading history...
1007
1008
		$show_collapse = ! isset( $this->options['display'][$this->search_prefix . '_collapse'] ) || 'on' !== $this->options['display'][$this->search_prefix . '_collapse'];
0 ignored issues
show
introduced by
Array keys must be surrounded by spaces unless they contain a string or an integer.
Loading history...
1009
		$col_class = '';
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 5 spaces but found 1 space

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
1010
1011
		if ( 'search' === $this->facet_data[ $facet ]['type'] ) : ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
Coding Style introduced by
Closing PHP tag must be on a line by itself
Loading history...
1012
			<?php echo do_shortcode( '[facetwp facet="' . $facet . '"]' ); ?>
1013
		<?php else : ?>
1014
			<div class="col-xs-12 facetwp-item parent-facetwp-facet-<?php echo esc_html( $facet ); ?> <?php echo esc_attr( $col_class ); ?>">
1015
				<?php if ( ! $show_collapse ) { ?>
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1016
					<div class="facetwp-collapsed">
1017
						<h3 class="lsx-search-title"><?php echo wp_kses_post( $this->facet_data[ $facet ]['label'] ); ?></h3>
1018
						<button title="<?php echo esc_html_e( 'Click to Expand', 'lsx-search' ); ?>" class="facetwp-collapse" type="button" data-toggle="collapse" data-target="#collapse-<?php echo esc_html( $facet ); ?>" aria-expanded="false" aria-controls="collapse-<?php echo esc_html( $facet ); ?>"></button>
1019
					</div>
1020
					<div id="collapse-<?php echo esc_html( $facet ); ?>" class="collapse">
1021
						<?php echo do_shortcode( '[facetwp facet="' . $facet . '"]' ); ?>
1022
					</div>
1023
				<?php } else { ?>
1024
					<h3 class="lsx-search-title"><?php echo wp_kses_post( $this->facet_data[ $facet ]['label'] ); ?></h3>
1025
					<?php echo do_shortcode( '[facetwp facet="' . $facet . '"]' ); ?>
1026
				<?php } ?>
1027
			</div>
1028
		<?php
1029
		endif;
1030
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1031
1032
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$class" missing
Loading history...
1033
	 * Changes slot column class.
1034
	 */
1035
	public function change_slot_column_class( $class ) {
1036
		if ( is_post_type_archive( 'video' ) || is_tax( 'video-category' ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1037
			$column_class = 'col-xs-12 col-sm-4';
1038
		}
1039
1040
		return $column_class;
1041
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1042
1043
	/**
1044
	 * Add post type label to the title.
1045
	 */
1046
	public function add_label_to_title() {
1047
		if ( is_search() ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1048
			if ( ! empty( $this->options['display']['engine_search_enable_pt_label'] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1049
				$post_type = get_post_type();
1050
				$post_type = str_replace( '_', ' ', $post_type );
1051
				$post_type = str_replace( '-', ' ', $post_type );
1052
				if ( 'tribe events' === $post_type ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1053
					$post_type = 'Events';
1054
				}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
1055
				echo wp_kses_post( ' <span class="label label-default lsx-label-post-type">' . $post_type . '</span>' );
1056
			}
1057
		}
1058
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1059
1060
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$options" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$params" missing
Loading history...
1061
	 * Changes the sort options.
1062
	 */
1063
	public function facetwp_sort_options( $options, $params ) {
1064
		$this->set_vars();
1065
1066
		if ( true === $this->search_enabled ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1067
			if ( 'default' !== $params['template_name'] && 'wp' !== $params['template_name'] ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1068
				return $options;
1069
			}
1070
1071
			if ( ! empty( $this->options['display'][ $this->search_prefix . '_disable_date' ] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1072
				unset( $options['date_desc'] );
1073
				unset( $options['date_asc'] );
1074
			}
1075
1076
			if ( ! empty( $this->options['display'][ $this->search_prefix . '_disable_az_sorting' ] ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1077
				unset( $options['title_desc'] );
1078
				unset( $options['title_asc'] );
1079
			}
1080
		}
1081
1082
		return $options;
1083
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1084
1085
	/**
0 ignored issues
show
Coding Style introduced by
Missing short description in doc comment
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$allowedtags" missing
Loading history...
Coding Style Documentation introduced by
Doc comment for parameter "$context" missing
Loading history...
1086
	 * @param $allowedtags
0 ignored issues
show
Coding Style introduced by
Missing parameter name
Loading history...
1087
	 * @param $context
0 ignored issues
show
Coding Style introduced by
Missing parameter name
Loading history...
1088
	 *
1089
	 * @return mixed
1090
	 */
1091
	public function kses_allowed_html( $allowedtags, $context ) {
1092
		$allowedtags['a']['data-value'] = true;
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 7 spaces but found 1 space

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
1093
		$allowedtags['a']['data-selection']  = true;
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 3 spaces but found 2 spaces

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
1094
		$allowedtags['button']['data-toggle'] = true;
1095
		return $allowedtags;
1096
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 1 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1097
1098
	/**
0 ignored issues
show
Coding Style Documentation introduced by
Doc comment for parameter "$keyword" missing
Loading history...
1099
	 * Change FaceWP result count HTML
1100
	 */
1101
	public function get_search_query( $keyword ) {
1102
		$needle = trim( '/ ' );
1103
		$words = explode( $needle, $keyword );
0 ignored issues
show
Coding Style introduced by
Equals sign not aligned with surrounding assignments; expected 2 spaces but found 1 space

This check looks for multiple assignments in successive lines of code. It will report an issue if the operators are not in a straight line.

To visualize

$a = "a";
$ab = "ab";
$abc = "abc";

will produce issues in the first and second line, while this second example

$a   = "a";
$ab  = "ab";
$abc = "abc";

will produce no issues.

Loading history...
1104
		if ( is_array( $words ) && ! empty( $words ) ) {
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces after opening bracket; 1 found
Loading history...
Coding Style introduced by
Expected 0 spaces before closing bracket; 1 found
Loading history...
1105
			$keyword = $words[ count( $words ) - 1 ];
1106
		}
0 ignored issues
show
Coding Style introduced by
No blank line found after control structure
Loading history...
1107
		$keyword = str_replace( '+', ' ', $keyword );
1108
		return $keyword;
1109
	}
0 ignored issues
show
Coding Style introduced by
Expected 2 blank lines after function; 0 found
Loading history...
Coding Style introduced by
Expected 1 blank line before closing function brace; 0 found
Loading history...
1110
}
1111