HEX
Server: nginx/1.27.1
System: Linux in-4 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64
User: ilikadirect (1186)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
Upload Files
File: /storage/v6964/testingff/public_html/fdfctr/wp-content/plugins/listdom/app/includes/element/map.php
<?php
// no direct access
defined('ABSPATH') or die();

if(!class_exists('LSD_Element_Map')):

/**
 * Listdom Map Element Class.
 *
 * @class LSD_Element_Map
 * @version	1.0.0
 */
class LSD_Element_Map extends LSD_Element
{
    public $key = 'map';
    public $label;

    /**
	 * Constructor method
	 */
	public function __construct()
    {
        // Call the parent constructor
        parent::__construct();

        $this->label = esc_html__('Map', 'listdom');
	}

    public function get($post_id = null, $args = [])
    {
        if(is_null($post_id))
        {
            global $post;
            $post_id = $post->ID;
        }

        // Generate output
        $HTML = lsd_map([$post_id], [
            'provider' => (isset($args['provider']) ? $args['provider'] : LSD_Map_Provider::def()),
            'clustering' => false,
            'id' => $post_id,
            'canvas_class' => 'lsd-map-canvas',
            'mapstyle' => (isset($args['style']) ? $args['style'] : null),
            'gplaces' => (isset($args['gplaces']) ? $args['gplaces'] : 0),
            'onclick' => ((isset($args['onclick']) and $args['onclick'] === 'none') ? $args['onclick'] : 'infowindow'),
            'mapcontrols' => (isset($args['mapcontrols']) ? $args['mapcontrols'] : []),
            'args' => (isset($args['args']) ? $args['args'] : []),
            'direction' => apply_filters('lsd_map_direction', 0),
        ]);

        return $this->content(
            $HTML,
            $this,
            [
                'post_id' => $post_id,
                'args' => $args,
            ]
        );
    }

    public function form($data = [])
    {
        // Positions Array
        $positions = $this->get_map_control_positions();
        $map_control_options = array_merge(['0' => esc_html__('Disabled', 'listdom')], $positions);

        // Third Party Fields
        ob_start();
        do_action('lsd_element_form_options', $this->key, $data);
        $additional = LSD_Kses::form(ob_get_clean());

        return '<div class="lsd-form-row">
            <div class="lsd-col-10 lsd-handler">
                <input type="hidden" name="lsd[elements]['.esc_attr($this->key).']" />
                <input type="hidden" name="lsd[elements]['.esc_attr($this->key).'][enabled]" value="'.esc_attr($data['enabled']).'" />
                '.$this->label.'
            </div>
            <div class="lsd-col-2 lsd-actions lsd-details-page-element-toggle-status" id="lsd_actions_'.esc_attr($this->key).'" data-key="'.esc_attr($this->key).'">
                <span class="lsd-toggle lsd-mr-2" data-for="#lsd_options_'.esc_attr($this->key).'" data-all=".lsd-element-options">
                    <i class="lsd-icon fa fa-cog fa-lg"></i>
                </span>
                <strong class="lsd-enabled '.($data['enabled'] ? '' : 'lsd-util-hide').'"><i class="lsd-icon fa fa-check"></i></strong>
                <strong class="lsd-disabled '.($data['enabled'] ? 'lsd-util-hide' : '').'"><i class="lsd-icon fa fa-minus-circle"></i></strong>
            </div>
        </div>
        <div class="lsd-element-options lsd-util-hide" id="lsd_options_'.esc_attr($this->key).'">
            <div class="lsd-form-row">
                <div class="lsd-col-2">
                    <label for="lsd_elements_'.esc_attr($this->key).'_show_title">'.esc_html__('Show Title', 'listdom').'</label>
                    <select name="lsd[elements]['.esc_attr($this->key).'][show_title]" id="lsd_elements_'.esc_attr($this->key).'_show_title">
                        <option value="1" '.((isset($data['show_title']) and $data['show_title'] == 1) ? 'selected="selected"' : '').'>'.esc_html__('Yes', 'listdom').'</option>
                        <option value="0" '.((isset($data['show_title']) and $data['show_title'] == 0) ? 'selected="selected"' : '').'>'.esc_html__('No', 'listdom').'</option>
                    </select>
                </div>
                <div class="lsd-col-2">
                    <label for="lsd_elements_'.esc_attr($this->key).'_map_provider">'.esc_html__('Map Provider', 'listdom').'</label>
                    '.LSD_Form::providers([
                        'id' => 'lsd_elements_'.esc_attr($this->key).'_map_provider',
                        'name' => 'lsd[elements]['.esc_attr($this->key).'][map_provider]',
                        'value' => (isset($data['map_provider']) ? $data['map_provider'] : LSD_Map_Provider::def()),
                        'class' => 'lsd-map-provider-toggle',
                        'attributes' => [
                            'data-parent' => '#lsd_options_map'
                        ]
                    ]).'
                </div>
                <div class="lsd-col-2 lsd-map-provider-dependency lsd-map-provider-dependency-googlemap">
                    <label for="lsd_elements_'.esc_attr($this->key).'_style">'.esc_html__('Style', 'listdom').'</label>
                    '.LSD_Form::mapstyle([
                        'id' => 'lsd_elements_'.esc_attr($this->key).'_style',
                        'name' => 'lsd[elements]['.esc_attr($this->key).'][style]',
                        'value' => (isset($data['style']) ? $data['style'] : ''),
                    ]).'
                </div>
                <div class="lsd-col-2 lsd-map-provider-dependency lsd-map-provider-dependency-googlemap">
                    <label for="lsd_elements_'.esc_attr($this->key).'_gplaces">'.esc_html__('Google Places', 'listdom').'</label>
                    '.LSD_Form::select([
                        'id' => 'lsd_elements_'.esc_attr($this->key).'_gplaces',
                        'name' => 'lsd[elements]['.esc_attr($this->key).'][gplaces]',
                        'options' => ['0'=>esc_html__('Disabled', 'listdom'), '1'=>esc_html__('Enabled', 'listdom')],
                        'value' => (isset($data['gplaces']) ? $data['gplaces'] : 0),
                    ]).'
                </div>
            </div>
            <div class="lsd-form-row lsd-map-provider-dependency lsd-map-provider-dependency-googlemap">
                <div class="lsd-col-2">
                    <label for="lsd_elements_'.esc_attr($this->key).'_control_zoom">'.esc_html__('Zoom Control', 'listdom').'</label>
                    '.LSD_Form::select([
                        'id' => 'lsd_elements_'.esc_attr($this->key).'_control_zoom',
                        'name' => 'lsd[elements]['.esc_attr($this->key).'][control_zoom]',
                        'options' => $map_control_options,
                        'value' => (isset($data['control_zoom']) ? $data['control_zoom'] : 'RIGHT_BOTTOM'),
                    ]).'
                </div>
                <div class="lsd-col-2">
                    <label for="lsd_elements_'.esc_attr($this->key).'_control_maptype">'.esc_html__('Map Type', 'listdom').'</label>
                    '.LSD_Form::select([
                        'id' => 'lsd_elements_'.esc_attr($this->key).'_control_maptype',
                        'name' => 'lsd[elements]['.esc_attr($this->key).'][control_maptype]',
                        'options' => $map_control_options,
                        'value' => (isset($data['control_maptype']) ? $data['control_maptype'] : 'TOP_LEFT'),
                    ]).'
                </div>
                <div class="lsd-col-2">
                    <label for="lsd_elements_'.esc_attr($this->key).'_control_streetview">'.esc_html__('Street View', 'listdom').'</label>
                    '.LSD_Form::select([
                        'id' => 'lsd_elements_'.esc_attr($this->key).'_control_streetview',
                        'name' => 'lsd[elements]['.esc_attr($this->key).'][control_streetview]',
                        'options' => $map_control_options,
                        'value' => (isset($data['control_streetview']) ? $data['control_streetview'] : 'RIGHT_BOTTOM'),
                    ]).'
                </div>
                <div class="lsd-col-2">
                    <label for="lsd_elements_'.esc_attr($this->key).'_control_scale">'.esc_html__('Scale Control', 'listdom').'</label>
                    '.LSD_Form::select([
                        'id' => 'lsd_elements_'.esc_attr($this->key).'_control_scale',
                        'name' => 'lsd[elements]['.esc_attr($this->key).'][control_scale]',
                        'options' => ['0'=>esc_html__('Disabled', 'listdom'), '1'=>esc_html__('Enabled', 'listdom')],
                        'value' => (isset($data['control_scale']) ? $data['control_scale'] : '0'),
                    ]).'
                </div>
                <div class="lsd-col-2">
                    <label for="lsd_elements_'.esc_attr($this->key).'_control_fullscreen">'.esc_html__('Fullscreen', 'listdom').'</label>
                    '.LSD_Form::select([
                        'id' => 'lsd_elements_'.esc_attr($this->key).'_control_fullscreen',
                        'name' => 'lsd[elements]['.esc_attr($this->key).'][control_fullscreen]',
                        'options' => ['0'=>esc_html__('Disabled', 'listdom'), '1'=>esc_html__('Enabled', 'listdom')],
                        'value' => (isset($data['control_fullscreen']) ? $data['control_fullscreen'] : '1'),
                    ]).'
                </div>
            </div>
            '.$additional.'
        </div>';
    }
}

endif;