PluginProbe
Property Hive / 2.4.0
Property Hive v2.4.0
2.4.0 2.3.1 2.3.0 2.2.6 2.2.5 2.2.4 2.2.3 2.2.2 1.4.46 1.4.47 1.4.48 1.4.49 1.4.5 1.4.50 1.4.51 1.4.52 1.4.53 1.4.54 1.4.55 1.4.56 1.4.57 1.4.58 1.4.59 1.4.6 1.4.60 All 262 releases
← All changes | includes/elementor-widgets/property-search-form.php +34 -34 2.2.2 → 2.4.0 View file →
@@ -3,8 +3,9 @@
3 3 * Elementor Property Search Form Widget.
4 4 *
5 5 * @since 1.0.0
6 6 */
7 +// phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedClassFound -- Existing public Elementor widget class; retain its registered name for extension compatibility.
7 8 class Elementor_Property_Search_Form_Widget extends \Elementor\Widget_Base {
8 9
9 10 public function get_name() {
10 11 return 'property-search-form';
@@ -35,13 +36,13 @@
35 36 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
36 37 ]
37 38 );
38 39
39 - $description = '';
40 - if ( class_exists('PH_Template_Assistant') )
41 - {
42 - $description = sprintf( __( 'Search forms can be managed from within \'<a href="%s" target="_blank">Property Hive > Settings > Template Assistant > Search Forms</a>\'', 'propertyhive' ), admin_url('/admin.php?page=ph-settings&tab=template-assistant&section=search-forms') );
43 - }
40 + $description = sprintf(
41 + /* translators: %s: URL to Property Hive settings area */
42 + __( 'Search forms can be managed from within \'<a href="%s" target="_blank">Property Hive > Settings > Frontend > Search Forms</a>\'', 'propertyhive' ),
43 + esc_url(admin_url('admin.php?page=ph-settings&tab=frontend&section=search-forms'))
44 + );
44 45
45 46 $this->add_control(
46 47 'form_id',
47 48 [
@@ -382,35 +383,34 @@
382 383 }
383 384 </style>';
384 385 }
385 386
386 - $original_department = isset($_GET['department']) ? sanitize_text_field($_GET['department']) : false;
387 - $changed_department = false;
388 - if (
389 - isset($settings['default_department']) && !empty($settings['default_department']) &&
390 - (
391 - !isset($_GET['department']) ||
392 - ( isset($_GET['department']) && empty($_GET['department']) )
393 - )
394 - )
395 - {
396 - $_GET['department'] = $settings['default_department'];
397 - $_REQUEST['department'] = $settings['default_department'];
398 -
399 - $changed_department = true;
400 - }
401 - ph_get_search_form( ( ( isset($settings['form_id']) && !empty($settings['form_id']) ) ? $settings['form_id'] : 'default' ) );
402 - if ( $changed_department === true )
403 - {
404 - if ( $original_department === false )
405 - {
406 - unset($_GET['department']);
407 - unset($_REQUEST['department']);
408 - }
409 - else
410 - {
411 - $_GET['department'] = $original_department;
412 - $_REQUEST['department'] = $original_department;
413 - }
414 - }
387 + // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Snapshot read-only search state for exact restoration after rendering.
388 + $original_get = $_GET;
389 + // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- GET and REQUEST can differ; preserve each caller's original search state.
390 + $original_request = $_REQUEST;
391 + $department = isset( $original_get['department'] ) && is_string( $original_get['department'] ) ? sanitize_text_field( wp_unslash( $original_get['department'] ) ) : '';
392 + if ( empty( $department ) && isset( $settings['default_department'] ) && is_string( $settings['default_department'] ) ) {
393 + $department = sanitize_text_field( $settings['default_department'] );
394 + }
395 + if ( '' !== $department ) {
396 + $_GET['department'] = wp_slash( $department );
397 + $_REQUEST['department'] = wp_slash( $department );
398 + } else {
399 + unset( $_GET['department'], $_REQUEST['department'] );
400 + }
401 + try {
402 + ph_get_search_form( ( isset( $settings['form_id'] ) && ! empty( $settings['form_id'] ) ) ? $settings['form_id'] : 'default' );
403 + } finally {
404 + if ( array_key_exists( 'department', $original_get ) ) {
405 + $_GET['department'] = $original_get['department'];
406 + } else {
407 + unset( $_GET['department'] );
408 + }
409 + if ( array_key_exists( 'department', $original_request ) ) {
410 + $_REQUEST['department'] = $original_request['department'];
411 + } else {
412 + unset( $_REQUEST['department'] );
413 + }
414 + }
415 415 }
416 416 }