HEX
Server: nginx/1.24.0
System: Linux DGT-WORDPRESS-VM-SERVER 6.14.0-1014-azure #14~24.04.1-Ubuntu SMP Fri Oct 3 20:52:11 UTC 2025 x86_64
User: ubuntu (1000)
PHP: 8.4.12
Disabled: NONE
Upload Files
File: /mnt/data/dreamstour-wp/wp-content/plugins/dreams-tour/includes/search-widget.php
<?php
/**
 * Widget: Dreamstour Search
 */

if (!defined('ABSPATH')) {
    exit;
}

class Dreamstour_Widget_Search extends WP_Widget
{
    public function __construct()
    {
        $widget_ops = array(
            'classname'                   => 'widget_dreamstour_search',
            'description'                 => __('A search form for your site.', 'dreams-tour'),
            'customize_selective_refresh' => true,
        );

        parent::__construct('dreamstour-search', __('Dreams Tour Search', 'dreams-tour'), $widget_ops);
        $this->alt_option_name = 'widget_dreamstour_search';
    }

    public function widget($args, $instance)
    {
        if (!isset($args['widget_id'])) {
            $args['widget_id'] = $this->id;
        }

        $title       = !empty($instance['title']) ? $instance['title'] : esc_html__('Search', 'dreams-tour');
        $placeholder = !empty($instance['placeholder']) ? $instance['placeholder'] : esc_html__('Search', 'dreams-tour');

        echo $args['before_widget'];
        ?>
        <div class="card-header border-0 pb-0">
            <div class="pb-3 border-bottom">
                <h5><i class="isax isax-search-normal-1 text-primary fs-16 me-2"></i><?php echo esc_html($title); ?></h5>
            </div>
        </div>
        <div class="card-body pt-3">
            <form role="search" method="get" action="<?php echo esc_url(home_url('/')); ?>">
                <div class="bg-light-100 p-3 rounded border">
                    <div class="input-icon">
                        <span class="input-icon-addon">
                            <i class="isax isax-search-normal-1 fs-14"></i>
                        </span>
                        <input type="text" class="form-control" name="s" value="<?php echo esc_attr(get_search_query()); ?>" placeholder="<?php echo esc_attr($placeholder); ?>">
                    </div>
                </div>
            </form>
        </div>
        <?php
        echo $args['after_widget'];
    }

    public function update($new_instance, $old_instance)
    {
        $instance               = $old_instance;
        $instance['title']      = sanitize_text_field($new_instance['title']);
        $instance['placeholder'] = sanitize_text_field($new_instance['placeholder']);
        return $instance;
    }

    public function form($instance)
    {
        $title       = isset($instance['title']) ? esc_attr($instance['title']) : esc_html__('Search', 'dreams-tour');
        $placeholder = isset($instance['placeholder']) ? esc_attr($instance['placeholder']) : esc_html__('Search', 'dreams-tour');
        ?>
        <p>
            <label for="<?php echo esc_attr($this->get_field_id('title')); ?>"><?php esc_html_e('Title:', 'dreams-tour'); ?></label>
            <input class="widefat" id="<?php echo esc_attr($this->get_field_id('title')); ?>" name="<?php echo esc_attr($this->get_field_name('title')); ?>" type="text" value="<?php echo esc_attr($title); ?>" />
        </p>
        <p>
            <label for="<?php echo esc_attr($this->get_field_id('placeholder')); ?>"><?php esc_html_e('Placeholder:', 'dreams-tour'); ?></label>
            <input class="widefat" id="<?php echo esc_attr($this->get_field_id('placeholder')); ?>" name="<?php echo esc_attr($this->get_field_name('placeholder')); ?>" type="text" value="<?php echo esc_attr($placeholder); ?>" />
        </p>
        <?php
    }
}

function dreamstour_register_search_widget()
{
    register_widget('Dreamstour_Widget_Search');
}
add_action('widgets_init', 'dreamstour_register_search_widget');