PluginProbe
WP Directory Kit / 1.5.9
WP Directory Kit v1.5.9
1.5.9 1.5.7 1.5.6 1.5.5 1.5.4 1.5.3 trunk 1.1.0 1.1.6 1.1.8 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.8 All 37 releases
← All changes | application/views/wdk_listing/index.php +698 -533 1.3.6 → 1.5.9 View file →
@@ -1,5 +1,6 @@
1 1 <?php
2 +
2 3 /**
3 4 * The template for Edit Listing.
4 5 *
5 6 * This is the template that form edit
@@ -5,162 +6,217 @@
5 6 * This is the template that form edit
6 7 *
7 8 */
8 9
9 -if ( ! defined( 'ABSPATH' ) ) {
10 - exit; // Exit if accessed directly.
10 +if (! defined('ABSPATH')) {
11 + exit; // Exit if accessed directly.
11 12 }
12 13 ?>
13 14
14 15 <!-- This file should primarily consist of HTML with a little bit of PHP. -->
15 16 <div class="wrap wdk-wrap">
16 - <h1 class="wp-heading-inline"><?php echo __('Add/Edit Listing', 'wpdirectorykit'); ?></h1>
17 - <br /><br />
18 - <div class="wdk-body">
19 - <form method="post" class="form_listing" action="<?php echo esc_url(wmvc_current_edit_url()); ?>" enctype="multipart/form-data" novalidate="novalidate">
20 - <?php wp_nonce_field( 'wdk-listing-edit_'.wmvc_show_data('ID', $db_data, 0), '_wpnonce'); ?>
17 + <h1 class="wp-heading-inline"><?php echo esc_html__('Add/Edit Listing', 'wpdirectorykit'); ?></h1>
18 + <br />
21 19
20 + <?php if (!function_exists('run_wdk_membership')): ?>
21 + <div class="notice notice-success">
22 + <p>
23 + <?php echo esc_html__('Do you need to add listing on frontend or allow visitors to add own listings?', 'wpdirectorykit'); ?>
24 + <a href="https://wpdirectorykit.com/plugins/wp-directory-membership.html" target="_blank">
25 + <?php echo esc_html__('Purchase our premium Membership feature and support our work!', 'wpdirectorykit'); ?>
26 + </a>
27 + </p>
28 + </div>
29 + <?php endif; ?>
30 +
31 + <div class="wdk-body wdk-body-listing">
32 + <?php do_action('wdk/listing/edit/aboveform', wmvc_show_data('ID', $db_data)); ?>
33 +
34 + <?php $this->view('wdk_listing/inc/quick-nav-listings',$data); ?>
35 +
36 + <form method="post" class="form_listing form_listing_ai" action="<?php echo esc_url(wmvc_current_edit_url()); ?>" enctype="multipart/form-data" novalidate="novalidate">
37 + <?php wp_nonce_field('wdk-listing-edit_' . wmvc_show_data('ID', $db_data, 0), '_wpnonce'); ?>
38 +
22 39 <div class="postbox" style="display: block;">
23 40 <div class="postbox-header">
24 - <h3 class="wide">
25 - <?php echo __('Main Data', 'wpdirectorykit'); ?> <?php if (function_exists('PLL')): ?>[<?php echo pll_get_post_language(wmvc_show_data('ID', $db_data, 0), 'slug' ); ?>]<?php endif; ?>
26 - <?php if(get_option('wdk_sub_listings_enable')): ?>
27 - <?php if(!empty(wmvc_show_data('listing_parent_post_id', $db_data))):?>
28 - <?php echo __('Child Listing of', 'wpdirectorykit'); ?> <a target="_blank" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id='.wmvc_show_data('listing_parent_post_id', $db_data)));?>"><?php echo esc_html(wdk_field_value('post_title', wmvc_show_data('listing_parent_post_id', $db_data)));?></a>
29 - <?php elseif(isset($_GET['parent_post_id']) && !empty($_GET['parent_post_id'])):?>
30 - <?php echo __('Child Listing of', 'wpdirectorykit'); ?> <a target="_blank" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id='.intval($_GET['parent_post_id'])));?>"><?php echo esc_html(wdk_field_value('post_title', intval($_GET['parent_post_id'])));?></a>
31 - <?php endif;?>
32 - <?php endif;?>
41 + <h3 class="wide wdk-gap-15 wdk-d-flex wdk-align-items-start wdk-align-items-center">
42 + <?php echo esc_html__('Main Data', 'wpdirectorykit'); ?> <?php if (function_exists('PLL')): ?>[<?php echo esc_attr(pll_get_post_language(wmvc_show_data('ID', $db_data, 0), 'slug')); ?>]<?php endif; ?>
43 +
44 + <a href="#"
45 + <?php if (!file_exists(ABSPATH . 'wp-content/plugins/wdk-geo/wdk-geo.php')): ?>
46 + class="wdk-mr-5 button button-primary alignright wdk-pro"
47 + data-button-succuss="<?php echo esc_attr__('Purchase Now', 'wpdirectorykit'); ?>"
48 + data-title="<?php echo esc_attr__('Your version doesn\'t support this functionality, please upgrade', 'wpdirectorykit'); ?>"
49 + data-content="<?php echo esc_attr__('We constantly maintain compatibility and improving this plugin for living, please support us and purchase, we provide very reasonable prices and will always do our best to help you!', 'wpdirectorykit'); ?>"
50 + data-action="https://wpdirectorykit.com/plugin/wp-directory-geo-coding/"
51 + <?php elseif (file_exists(ABSPATH . 'wp-content/plugins/wdk-geo/wdk-geo.php') && !function_exists('run_wdk_geo')): ?>
52 + class="wdk-mr-5 button button-primary alignright wdk-pro"
53 + data-button-succuss="<?php echo esc_attr__('Activate addon WDK Geo', 'wpdirectorykit'); ?>"
54 + data-title="<?php echo esc_attr__('Your version doesn\'t support this functionality, please upgrade', 'wpdirectorykit'); ?>"
55 + data-content="<?php echo esc_attr__('We constantly maintain compatibility and improving this plugin for living, please support us and purchase, we provide very reasonable prices and will always do our best to help you!', 'wpdirectorykit'); ?>"
56 +
57 + data-action="<?php echo esc_url(get_admin_url() . "plugins.php?plugin_status=all#activate-wdk-geo"); ?>"
58 + <?php else: ?>
59 + class="wdk-mr-5 button button-primary alignright wdk-geo-listing-google-places-search-btn"
60 + <?php endif; ?>>
61 + <?php echo esc_html__('Google Maps Search', 'wpdirectorykit') ?>
62 + </a>
63 +
64 + <?php if (get_option('wdk_sub_listings_enable')): ?>
65 + <?php if (!empty(wmvc_show_data('listing_parent_post_id', $db_data))): ?>
66 + <?php echo esc_html__('Child Listing of', 'wpdirectorykit'); ?> <a target="_blank" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id=' . wmvc_show_data('listing_parent_post_id', $db_data))); ?>"><?php echo esc_html(wdk_field_value('post_title', wmvc_show_data('listing_parent_post_id', $db_data))); ?></a>
67 + <?php elseif (isset($_GET['parent_post_id']) && !empty($_GET['parent_post_id'])): ?>
68 + <?php echo esc_html__('Child Listing of', 'wpdirectorykit'); ?> <a target="_blank" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id=' . intval($_GET['parent_post_id']))); ?>"><?php echo esc_html(wdk_field_value('post_title', intval($_GET['parent_post_id']))); ?></a>
69 + <?php endif; ?>
70 + <?php endif; ?>
33 71 </h3>
34 - <?php if(!empty(wmvc_show_data('ID', $db_data))):?>
35 72
36 - <?php if($calendar_id):?>
37 - <a href="<?php echo esc_url(get_admin_url() . "admin.php?page=wdk-bookings-calendar&function=edit&id=".esc_attr($calendar_id)); ?>"
38 - class="wdk-mr-5 button button-secondary alignright"
39 - >
40 - <span class="dashicons dashicons-calendar" style="margin-top: 4px;"></span> <?php echo __('Edit Calendar','wpdirectorykit')?>
41 - </a>
42 - <?php endif;?>
73 + <?php do_action('wdk/listing/edit/top/buttons/before', wmvc_show_data('ID', $db_data)); ?>
74 + <?php if (!empty(wmvc_show_data('ID', $db_data))): ?>
43 75
44 - <a href="<?php echo esc_url(get_admin_url() . "admin.php?page=wdk-duplicate-listing&function=duplicate&listing_post_id=".wmvc_show_data('ID', $db_data)); ?>"
45 - <?php if ( !file_exists(ABSPATH . 'wp-content/plugins/wdk-duplicate-listing/wdk-duplicate-listing.php') ):?>
46 - class="wdk-mr-5 button button-secondary alignright wdk-pro"
47 - data-button-succuss = "<?php echo esc_attr__('Purchase Now', 'wpdirectorykit');?>"
48 - data-title = "<?php echo esc_attr__('Your version doesn\'t support this functionality, please upgrade', 'wpdirectorykit');?>"
49 - data-content = "<?php echo esc_attr__('We constantly maintain compatibility and improving this plugin for living, please support us and purchase, we provide very reasonable prices and will always do our best to help you!','wpdirectorykit');?>"
50 - data-action = "https://www.wpdirectorykit.com/plugins/wp-directory-duplicate-listing.html"
51 - <?php elseif ( file_exists(ABSPATH . 'wp-content/plugins/wdk-duplicate-listing/wdk-duplicate-listing.php') && !function_exists('run_wdk_duplicate_listing')):?>
52 - class="wdk-mr-5 button button-secondary alignright wdk-pro"
53 - data-button-succuss = "<?php echo esc_attr__('Activate addon WDK Duplicate Listing', 'wpdirectorykit');?>"
54 - data-title = "<?php echo esc_attr__('Your version doesn\'t support this functionality, please upgrade', 'wpdirectorykit');?>"
55 - data-content = "<?php echo esc_attr__('We constantly maintain compatibility and improving this plugin for living, please support us and purchase, we provide very reasonable prices and will always do our best to help you!','wpdirectorykit');?>"
56 -
57 - data-action = "<?php echo esc_url(get_admin_url() . "plugins.php?plugin_status=all#activate-wdk-duplicate-listing"); ?>"
58 - <?php else:?>
59 - class="wdk-mr-5 button button-secondary alignright"
60 - <?php endif;?>
61 - >
62 - <span class="dashicons dashicons-admin-page" style="margin-top: 4px;"></span> <?php echo __('Duplicate Listing','wpdirectorykit')?>
76 + <?php if ($calendar_id): ?>
77 + <a href="<?php echo esc_url(get_admin_url() . "admin.php?page=wdk-bookings-calendar&function=edit&id=" . esc_attr($calendar_id)); ?>"
78 + class="wdk-mr-5 button button-secondary alignright">
79 + <span class="dashicons dashicons-calendar"></span> <?php echo esc_html__('Edit Calendar', 'wpdirectorykit') ?>
80 + </a>
81 + <?php endif; ?>
82 +
83 + <a href="<?php echo esc_url(get_admin_url() . "admin.php?page=wdk-duplicate-listing&function=duplicate&listing_post_id=" . wmvc_show_data('ID', $db_data)); ?>"
84 + <?php if (!file_exists(ABSPATH . 'wp-content/plugins/wdk-duplicate-listing/wdk-duplicate-listing.php')): ?>
85 + class="wdk-mr-5 button button-secondary alignright wdk-pro"
86 + data-button-succuss="<?php echo esc_attr__('Purchase Now', 'wpdirectorykit'); ?>"
87 + data-title="<?php echo esc_attr__('Your version doesn\'t support this functionality, please upgrade', 'wpdirectorykit'); ?>"
88 + data-content="<?php echo esc_attr__('We constantly maintain compatibility and improving this plugin for living, please support us and purchase, we provide very reasonable prices and will always do our best to help you!', 'wpdirectorykit'); ?>"
89 + data-action="https://www.wpdirectorykit.com/plugins/wp-directory-duplicate-listing.html"
90 + <?php elseif (file_exists(ABSPATH . 'wp-content/plugins/wdk-duplicate-listing/wdk-duplicate-listing.php') && !function_exists('run_wdk_duplicate_listing')): ?>
91 + class="wdk-mr-5 button button-secondary alignright wdk-pro"
92 + data-button-succuss="<?php echo esc_attr__('Activate addon WDK Duplicate Listing', 'wpdirectorykit'); ?>"
93 + data-title="<?php echo esc_attr__('Your version doesn\'t support this functionality, please upgrade', 'wpdirectorykit'); ?>"
94 + data-content="<?php echo esc_attr__('We constantly maintain compatibility and improving this plugin for living, please support us and purchase, we provide very reasonable prices and will always do our best to help you!', 'wpdirectorykit'); ?>"
95 +
96 + data-action="<?php echo esc_url(get_admin_url() . "plugins.php?plugin_status=all#activate-wdk-duplicate-listing"); ?>"
97 + <?php else: ?>
98 + class="wdk-mr-5 button button-secondary alignright"
99 + <?php endif; ?>>
100 + <span class="dashicons dashicons-admin-page"></span> <?php echo esc_html__('Duplicate Listing', 'wpdirectorykit') ?>
63 101 </a>
64 - <a href="<?php echo get_permalink(wmvc_show_data('ID', $db_data)); ?>" title="<?php echo esc_attr__('View','wpdirectorykit');?>" class="button button-secondary alignright" target="_blank" style="margin-right:15px;"><span class="dashicons dashicons-visibility" style="margin-top: 4px;"></span> <?php echo __('View listing', 'wpdirectorykit'); ?></a>
65 - <?php endif;?>
102 + <a href="<?php echo esc_url(get_permalink(wmvc_show_data('ID', $db_data))); ?>" title="<?php echo esc_attr__('View', 'wpdirectorykit'); ?>" class="button button-secondary alignright" target="_blank" style="margin-right:15px;"><span class="dashicons dashicons-visibility" ></span> <?php echo esc_html__('View listing', 'wpdirectorykit'); ?></a>
103 + <?php endif; ?>
66 104 </div>
67 105 <div class="inside">
68 106 <?php
69 107
70 - $success_message = NULL;
71 - if(isset($_GET['custom_message']))
72 - $success_message = esc_html(urldecode($_GET['custom_message']));
108 + $success_message = NULL;
109 + if (isset($_GET['custom_message']))
110 + $success_message = esc_html(urldecode($_GET['custom_message']));
73 111
74 - if(function_exists('run_wdk_bookings')) {
75 - /* if booking addon exists, show custom message with link to edit calendar */
76 - $success_message .= esc_html__('Successfully saved','wpdirectorykit').'. <a target="_blank" href="'. admin_url('admin.php?page=wdk-bookings-calendar&function=edit&id='.$calendar_id.'&post_id='.wmvc_show_data('ID', $db_data)).'">'.esc_html__('To define calendar availability dates please click here', 'wpdirectorykit').'</a>';
77 - }
78 -
79 - $form->messages('class="alert alert-danger"', $success_message);
112 + if (function_exists('run_wdk_bookings')) {
113 + /* if booking addon exists, show custom message with link to edit calendar */
114 + $success_message .= esc_html__('Successfully saved', 'wpdirectorykit') . '. <a target="_blank" href="' . esc_url(admin_url('admin.php?page=wdk-bookings-calendar&function=edit&id=' . $calendar_id . '&post_id=' . wmvc_show_data('ID', $db_data))) . '">' . esc_html__('To define calendar availability dates please click here', 'wpdirectorykit') . '</a>';
115 + }
116 + $form->messages('class="alert alert-danger"', $success_message);
80 117 ?>
118 +
81 119 <div class="wdk-side-content">
82 120 <div class="wdk-col main">
83 121 <table class="form-table" role="presentation">
84 122 <tbody>
85 - <tr>
86 - <th scope="row"><label for="post_title"><?php echo __('Title', 'wpdirectorykit'); ?>*</label></th>
87 - <td><input name="post_title" type="text" id="post_title" value="<?php echo wmvc_show_data('post_title', $db_data, ''); ?>" placeholder="<?php echo esc_html__('Title', 'wpdirectorykit');?>" class="regular-text"></td>
88 - </tr>
89 - <?php if(get_option('wdk_is_address_enabled', FALSE)): ?>
90 - <tr>
91 - <th scope="row"><label for="input_address"><?php echo __('Address', 'wpdirectorykit'); ?></label></th>
123 + <tr class="<?php if (method_exists($form, 'hasError') && $form->hasError('post_title')): ?> field-error <?php endif; ?>">
124 + <th scope="row"><label for="post_title"><?php echo esc_html__('Title', 'wpdirectorykit'); ?>*</label></th>
92 125 <td>
93 - <input name="address" type="text" id="input_address" value="<?php echo wmvc_show_data('address', $db_data, ''); ?>" placeholder="<?php echo esc_html__('Address', 'wpdirectorykit');?>" class="regular-text">
94 - <p class="description" id="input_address-description"><?php echo __('After you enter address system will try to autodetect and pin location on map, then you can drag and drop pin on map to fine tune location','wpdirectorykit'); ?></p>
126 + <input name="post_title" type="text" id="post_title" value="<?php echo esc_attr(wmvc_show_data('post_title', $db_data, '')); ?>" placeholder="<?php echo esc_attr__('Title', 'wpdirectorykit'); ?>" class="regular-text">
127 + <?php if (method_exists($form, 'hasError') && $form->getError('post_title')): ?>
128 + <p class="wdk-hint wdk-error">
129 + <?php echo wp_kses_post($form->getError('post_title')); ?>
130 + </p>
131 + <?php endif; ?>
95 132 </td>
96 133 </tr>
134 + <?php if (get_option('wdk_is_address_enabled', FALSE)): ?>
135 + <tr>
136 + <th scope="row"><label for="input_address"><?php echo esc_html__('Address', 'wpdirectorykit'); ?></label></th>
137 + <td>
138 + <input name="address" type="text" id="input_address" value="<?php echo esc_attr(wmvc_show_data('address', $db_data, '')); ?>" placeholder="<?php echo esc_attr__('Address', 'wpdirectorykit'); ?>" class="regular-text">
139 + <p class="description" id="input_address-description"><?php echo esc_html__('After you enter address system will try to autodetect and pin location on map, then you can drag and drop pin on map to fine tune location', 'wpdirectorykit'); ?></p>
140 + </td>
141 + </tr>
97 142 <?php endif; ?>
98 143
99 - <?php if(get_option('wdk_sub_listings_enable')): ?>
144 + <?php if (get_option('wdk_sub_listings_enable')): ?>
100 145
101 - <?php if(!empty(wmvc_show_data('listing_parent_post_id', $db_data)) || (isset($_GET['parent_post_id']) && !empty($_GET['parent_post_id']))):?>
102 - <tr class="<?php echo (defined( 'WP_DEBUG' ) && WP_DEBUG) ? '': 'hidden';?>">
103 - <th scope="row"><label for="listing_parent_post_id"><?php echo __('Parent ID', 'wpdirectorykit'); ?>*</label></th>
146 + <?php if (!empty(wmvc_show_data('listing_parent_post_id', $db_data)) || (isset($_GET['parent_post_id']) && !empty($_GET['parent_post_id']))): ?>
147 + <tr class="<?php echo (defined('WP_DEBUG') && WP_DEBUG) ? '' : 'hidden'; ?>">
148 + <th scope="row"><label for="listing_parent_post_id"><?php echo esc_html__('Parent ID', 'wpdirectorykit'); ?>*</label></th>
104 149 <td>
105 - <?php if(!empty(wmvc_show_data('listing_parent_post_id', $db_data))):?>
106 - <input readonly name="listing_parent_post_id" type="text" id="listing_parent_post_id" value="<?php echo wmvc_show_data('listing_parent_post_id', $db_data, ''); ?>" placeholder="<?php echo esc_html__('listing_parent_post_id', 'wpdirectorykit');?>" class="regular-text">
107 - <?php elseif(isset($_GET['parent_post_id']) && !empty($_GET['parent_post_id'])):?>
108 - <input readonly name="listing_parent_post_id" type="text" id="listing_parent_post_id" value="<?php echo esc_attr(intval($_GET['parent_post_id'])); ?>" placeholder="<?php echo esc_html__('listing_parent_post_id', 'wpdirectorykit');?>" class="regular-text">
109 - <?php endif;?>
150 + <?php if (!empty(wmvc_show_data('listing_parent_post_id', $db_data))): ?>
151 + <input readonly name="listing_parent_post_id" type="text" id="listing_parent_post_id" value="<?php echo esc_attr(wmvc_show_data('listing_parent_post_id', $db_data, '')); ?>" placeholder="<?php echo esc_attr__('listing_parent_post_id', 'wpdirectorykit'); ?>" class="regular-text">
152 + <?php elseif (isset($_GET['parent_post_id']) && !empty($_GET['parent_post_id'])): ?>
153 + <input readonly name="listing_parent_post_id" type="text" id="listing_parent_post_id" value="<?php echo esc_attr(intval($_GET['parent_post_id'])); ?>" placeholder="<?php echo esc_attr__('listing_parent_post_id', 'wpdirectorykit'); ?>" class="regular-text">
154 + <?php endif; ?>
110 155 </td>
111 156 </tr>
112 - <?php else:?>
113 - <?php if(!empty(wmvc_show_data('ID', $db_data)) && empty(wmvc_show_data('parent_post_id', $db_data))):?>
114 - <tr>
115 - <th scope="row"><label for="listing_related_ids"><?php echo __('Related', 'wpdirectorykit'); ?></label></th>
116 - <td>
117 - <div class="wdk-listing-childs-wrap">
118 -
119 - <div class="wdk-listing-childs-drop">
120 - <?php $related_ids = wmvc_show_data('listing_related_ids', $db_data, ''); ?>
121 - <?php if(!empty(wmvc_show_data('listing_related_ids', $db_data, ''))):?>
122 - <?php foreach (explode(',',wmvc_show_data('listing_related_ids', $db_data, '')) as $key => $child_idlisting):?>
123 -
124 - <?php
125 - if(empty(wdk_field_value('post_id', $child_idlisting))) {
126 - $related_ids = trim(str_replace(','.$child_idlisting.'','', ','.$related_ids.','),',');
127 - continue;
128 - }
157 + <?php else: ?>
158 + <?php if (!empty(wmvc_show_data('ID', $db_data)) && empty(wmvc_show_data('parent_post_id', $db_data))): ?>
159 + <tr>
160 + <th scope="row"><label for="listing_related_ids"><?php echo esc_html__('Related', 'wpdirectorykit'); ?></label></th>
161 + <td>
162 + <div class="wdk-listing-childs-wrap">
163 +
164 + <div class="wdk-listing-childs-drop">
165 + <?php $related_ids = wmvc_show_data('listing_related_ids', $db_data, ''); ?>
166 + <?php if (!empty(wmvc_show_data('listing_related_ids', $db_data, ''))): ?>
167 + <?php foreach (explode(',', wmvc_show_data('listing_related_ids', $db_data, '')) as $key => $child_idlisting): ?>
168 +
169 + <?php
170 + if (empty(wdk_field_value('post_id', $child_idlisting))) {
171 + $related_ids = trim(str_replace(',' . $child_idlisting . '', '', ',' . $related_ids . ','), ',');
172 + continue;
173 + }
129 174 ?>
130 175
131 - <div class="drop-listing-item" data-idlisting="<?php echo esc_attr($child_idlisting);?>">
132 - <h3 class="handle">
133 - <a target="_blank" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id='.$child_idlisting));?>" class="title"><?php echo esc_html('#'.$child_idlisting.', '.wdk_field_value('post_title', $child_idlisting));?></a>
134 - <a target="_blank" class="btn" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id='.$child_idlisting));?>" target="_blank" title="Edit"><span class="dashicons dashicons-edit"></span></a>
176 + <div class="drop-listing-item" data-idlisting="<?php echo esc_attr($child_idlisting); ?>">
177 + <h3 class="handle">
178 + <a target="_blank" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id=' . $child_idlisting)); ?>" class="title"><?php echo esc_html('#' . $child_idlisting . ', ' . wdk_field_value('post_title', $child_idlisting)); ?></a>
179 + <a target="_blank" class="btn" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id=' . $child_idlisting)); ?>" target="_blank" title="Edit"><span class="dashicons dashicons-edit"></span></a>
135 180 <a class="question_sure btn remove" href="#" title="Remove"><span class="dashicons dashicons-no"></span></a>
136 181 </h3>
137 182 </div>
138 - <?php endforeach;?>
139 - <?php endif;?>
183 + <?php endforeach; ?>
184 + <?php endif; ?>
185 + </div>
186 + <input readonly name="listing_related_ids" type="hidden" id="listing_related_ids" value="<?php echo esc_attr($related_ids); ?>" class="regular-text">
187 +
188 + <div class="wdk-field-edit">
189 + <div class="wdk-field-container" style="padding: 0;">
190 + <?php
191 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
192 + echo wdk_treefield_option('new_listing_id', 'listing_m', NULL, 'post_title', '', __('Not Selected', 'wpdirectorykit'), '', FALSE, 'only_nochilds'); ?>
193 + <a class="button button-primary add_new_listing" style="margin-left: 5px" href="#"><?php echo esc_html__('Add', 'wpdirectorykit'); ?></a>
194 + </div>
195 + </div>
196 + <a target="_blank" class="button button-secondary" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&parent_post_id=' . wmvc_show_data('ID', $db_data))); ?>"><?php echo esc_html__('Add New Related Listing', 'wpdirectorykit'); ?></a>
140 197 </div>
141 - <input readonly name="listing_related_ids" type="hidden" id="listing_related_ids" value="<?php echo esc_attr($related_ids); ?>" class="regular-text">
142 -
143 - <div class="wdk-field-edit">
144 - <div class="wdk-field-container" style="padding: 0;">
145 - <?php echo wdk_treefield_option('new_listing_id', 'listing_m', NULL, 'post_title', '', __('Not Selected', 'wpdirectorykit'),'',FALSE,'listing_parent_post_id IS NOT NULL');?>
146 - <a class="button button-primary add_new_listing" style="margin-left: 5px" href="#"><?php echo __('Add', 'wpdirectorykit'); ?></a>
147 - </div>
198 + </td>
199 + </tr>
200 + <?php else: ?>
201 + <tr>
202 + <th scope="row"><label for="listing_related_ids"><?php echo esc_html__('Related', 'wpdirectorykit'); ?></label></th>
203 + <td>
204 + <div class="wdk-listing-childs-wrap">
205 + <p class="alert alert-info"><?php echo esc_html__('Feature will be available after listing is saved', 'wpdirectorykit'); ?></p>
148 206 </div>
149 - <a target="_blank" class="button button-secondary" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&parent_post_id='.wmvc_show_data('ID', $db_data)));?>"><?php echo __('Add New Related Listing', 'wpdirectorykit'); ?></a>
150 - </div>
151 - </td>
152 - </tr>
153 - <?php endif;?>
207 + </td>
208 + </tr>
209 + <?php endif; ?>
154 210
155 - <?php endif;?>
211 + <?php endif; ?>
156 212
157 - <?php endif;?>
213 + <?php endif; ?>
158 214
159 - <?php if(get_option('wdk_is_category_enabled', FALSE)): ?>
160 - <?php if(wdk_get_option('wdk_multi_categories_edit_field_type') == 'wdk_treefield_dropdown'):?>
215 + <?php if (get_option('wdk_is_category_enabled', FALSE)): ?>
216 + <?php if (wdk_get_option('wdk_multi_categories_edit_field_type') == 'wdk_treefield_dropdown'): ?>
161 217 <tr>
162 - <th scope="row"><label for="category_id"><?php echo __('Category', 'wpdirectorykit'); ?><?php if(wdk_get_option('wdk_listing_category_required')):?>*<?php endif;?></label></th>
218 + <th scope="row"><label for="category_id"><?php echo esc_html__('Category', 'wpdirectorykit'); ?><?php if (wdk_get_option('wdk_listing_category_required')): ?>*<?php endif; ?></label></th>
163 219 <td class="wdk_multi_treefield_dropdown_container">
164 220 <?php
165 221 global $Winter_MVC_WDK;
166 222 $Winter_MVC_WDK->load_helper('listing');
@@ -166,16 +222,16 @@
166 222 $Winter_MVC_WDK->load_helper('listing');
167 223 $Winter_MVC_WDK->model('category_m');
168 224 $field_value = wmvc_show_data('category_id', $db_data, '');
169 225 $field_key = 'category_id';
170 -
226 +
171 227 $categories = array();
172 - if(!empty($field_value)) {
228 + if (!empty($field_value)) {
173 229 $categories[] = $field_value;
174 - $category = $Winter_MVC_WDK->category_m->get($field_value, TRUE);
230 + $category = $Winter_MVC_WDK->category_m->get($field_value, TRUE);
175 231
176 - while(!empty($category->parent_id)) {
177 - $category = $Winter_MVC_WDK->category_m->get($category->parent_id, TRUE);
232 + while (!empty($category->parent_id)) {
233 + $category = $Winter_MVC_WDK->category_m->get($category->parent_id, TRUE);
178 234 $categories[] = $category->idcategory;
179 235 }
180 236 krsort($categories);
181 237 } else {
@@ -183,20 +239,20 @@
183 239 }
184 240
185 241 wp_enqueue_style('wdk-treefield-dropdown');
186 242 wp_enqueue_script('wdk-treefield-dropdown');
187 - wp_enqueue_style( 'dashicons' );
243 + wp_enqueue_style('dashicons');
188 244
189 245
190 246 $level_max = $Winter_MVC_WDK->category_m->get_max_level();
191 247
192 248 $placeholder = [
193 - 0 => esc_html__('Select Categories','wpdirectorykit'),
194 - 1 => esc_html__('Select Sub Categories','wpdirectorykit'),
195 - 2 => esc_html__('Select Sub Categories','wpdirectorykit'),
196 - 3 => esc_html__('Select Sub Categories','wpdirectorykit'),
197 - 4 => esc_html__('Select Sub Categories','wpdirectorykit'),
198 - 5 => esc_html__('Select Sub Categories','wpdirectorykit'),
249 + 0 => esc_html__('Select Categories', 'wpdirectorykit'),
250 + 1 => esc_html__('Select Sub Categories', 'wpdirectorykit'),
251 + 2 => esc_html__('Select Sub Categories', 'wpdirectorykit'),
252 + 3 => esc_html__('Select Sub Categories', 'wpdirectorykit'),
253 + 4 => esc_html__('Select Sub Categories', 'wpdirectorykit'),
254 + 5 => esc_html__('Select Sub Categories', 'wpdirectorykit'),
199 255 ];
200 256 ?>
201 257
202 258 <input name="<?php echo esc_attr($field_key); ?>" type="hidden" value="<?php echo esc_attr($field_value); ?>">
@@ -204,27 +260,29 @@
204 260 $level = 0;
205 261 $current = NULL;
206 262
207 263 foreach ($categories as $category) {
208 - $current = $Winter_MVC_WDK->category_m->get($category, TRUE);
264 + $current = $Winter_MVC_WDK->category_m->get($category, TRUE);
265 + if (!$current)
266 + break;
267 + $list = $Winter_MVC_WDK->category_m->get_by(array('parent_id = ' . $current->parent_id => NULL));
209 268
210 - $list = $Winter_MVC_WDK->category_m->get_by(array('parent_id = '.$current->parent_id => NULL));
211 -
212 - if(isset($placeholder[$level])) {
213 - $values_list = array(''=> $placeholder[$level]);
214 -
215 - } else {
216 - $values_list = array(''=> esc_html__('Select Sub Categories','wpdirectorykit'));
269 + if (isset($placeholder[$level])) {
270 + $values_list = array('' => $placeholder[$level]);
271 + } else {
272 + $values_list = array('' => esc_html__('Select Sub Categories', 'wpdirectorykit'));
217 273 }
218 274
219 275 foreach ($list as $list_value) {
220 - $values_list[$list_value->idcategory] = $list_value->category_title;
276 + $values_list[$list_value->idcategory] = $list_value->category_title;
221 277 }
222 - ?>
278 + ?>
223 279
224 - <div data-level="<?php echo esc_attr($level);?>" data-field="<?php echo esc_attr($field_key); ?>" class="wdk_multi_treefield_dropdown wdk_treefield_dropdown">
280 + <div data-level="<?php echo esc_attr($level); ?>" data-field="<?php echo esc_attr($field_key); ?>" class="wdk_multi_treefield_dropdown wdk_treefield_dropdown">
225 281 <div class="wdk-field-group">
226 - <?php echo wmvc_select_option('category_'.$level, $values_list, $category, 'class="wdk-control"');?>
282 + <?php
283 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
284 + echo wmvc_select_option('category_' . $level, $values_list, $category, 'class="wdk-control"'); ?>
227 285 </div>
228 286 </div>
229 287
230 288 <?php
@@ -229,34 +287,36 @@
229 287
230 288 <?php
231 289 $level++;
232 290 }
233 -
234 - if($level<$level_max ) {
235 - for (; $level<$level_max;) {
236 -
237 - if(isset($placeholder[$level])) {
238 - $values_list = array(''=> $placeholder[$level]);
291 +
292 + if ($level < $level_max) {
293 + for (; $level < $level_max;) {
294 +
295 + if (isset($placeholder[$level])) {
296 + $values_list = array('' => $placeholder[$level]);
239 297 } else {
240 - $values_list = array(''=> esc_html__('Select Sub Categories','wpdirectorykit'));
298 + $values_list = array('' => esc_html__('Select Sub Categories', 'wpdirectorykit'));
241 299 }
242 300
243 - if($category) {
244 - $list = $Winter_MVC_WDK->category_m->get_by(array('parent_id = '.$category => NULL));
301 + if ($category) {
302 + $list = $Winter_MVC_WDK->category_m->get_by(array('parent_id = ' . $category => NULL));
245 303 foreach ($list as $list_value) {
246 - $values_list[$list_value->idcategory] = $list_value->category_title;
304 + $values_list[$list_value->idcategory] = $list_value->category_title;
247 305 }
248 306 $category = NULL;
249 307 }
250 308
251 - ?>
252 - <div data-level="<?php echo esc_attr($level);?>" data-field="<?php echo esc_attr($field_key); ?>" class="wdk_multi_treefield_dropdown wdk_treefield_dropdown">
309 + ?>
310 + <div data-level="<?php echo esc_attr($level); ?>" data-field="<?php echo esc_attr($field_key); ?>" class="wdk_multi_treefield_dropdown wdk_treefield_dropdown">
253 311 <div class="wdk-field-group">
254 - <?php echo wmvc_select_option('category_'.$level, $values_list, NULL, 'class="wdk-control"');?>
312 + <?php
313 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
314 + echo wmvc_select_option('category_' . $level, $values_list, NULL, 'class="wdk-control"'); ?>
255 315 </div>
256 316 </div>
257 317
258 - <?php
318 + <?php
259 319 $level++;
260 320 }
261 321 }
262 322 ?>
@@ -263,13 +323,15 @@
263 323 </td>
264 324 </tr>
265 325 <?php else: ?>
266 326 <tr>
267 - <th scope="row"><label for="category_id"><?php echo __('Category', 'wpdirectorykit'); ?><?php if(wdk_get_option('wdk_listing_category_required')):?>*<?php endif;?></label></th>
268 - <td >
327 + <th scope="row"><label for="category_id"><?php echo esc_html__('Category', 'wpdirectorykit'); ?><?php if (wdk_get_option('wdk_listing_category_required')): ?>*<?php endif; ?></label></th>
328 + <td>
269 329 <div class="wdk-field-edit edittable">
270 330 <div class="wdk-field-container">
271 - <?php echo wdk_treefield_option ('category_id', 'category_m', wmvc_show_data('category_id', $db_data, ''), 'category_title', '', __('Not Selected', 'wpdirectorykit'));?>
331 + <?php
332 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
333 + echo wdk_treefield_option('category_id', 'category_m', wmvc_show_data('category_id', $db_data, ''), 'category_title', '', __('Not Selected', 'wpdirectorykit')); ?>
272 334 </div>
273 335 </div>
274 336 </td>
275 337 </tr>
@@ -274,22 +336,24 @@
274 336 </td>
275 337 </tr>
276 338 <?php endif; ?>
277 339 <?php endif; ?>
278 -
279 - <?php if(get_option('wdk_is_category_enabled', FALSE) && get_option('wdk_multi_categories_other_enable', FALSE)): ?>
280 - <tr>
281 - <th scope="row"><label for="listing_categories"><?php echo __('More Categories', 'wpdirectorykit'); ?></label></th>
282 - <td class="">
283 - <?php echo wdk_treefield_select_ajax ('listing_sub_categories[]', 'category_m', wmvc_show_data('listing_sub_categories', $db_data, '', TRUE, TRUE), 'category_title', 'idcategory', '', __('All Categories', 'wpdirectorykit'), '', 'data-limit="10"');?>
284 - </td>
285 - </tr>
340 +
341 + <?php if (get_option('wdk_is_category_enabled', FALSE) && get_option('wdk_multi_categories_other_enable', FALSE)): ?>
342 + <tr>
343 + <th scope="row"><label for="listing_categories"><?php echo esc_html__('More Categories', 'wpdirectorykit'); ?></label></th>
344 + <td class="">
345 + <?php
346 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
347 + echo wdk_treefield_select_ajax('listing_sub_categories[]', 'category_m', wmvc_show_data('listing_sub_categories', $db_data, '', TRUE, TRUE), 'category_title', 'idcategory', '', __('All Categories', 'wpdirectorykit'), '', 'data-limit="10"'); ?>
348 + </td>
349 + </tr>
286 350 <?php endif; ?>
287 351
288 - <?php if(get_option('wdk_is_location_enabled', FALSE)): ?>
289 - <?php if(wdk_get_option('wdk_multi_categories_edit_field_type') == 'wdk_treefield_dropdown'):?>
352 + <?php if (get_option('wdk_is_location_enabled', FALSE)): ?>
353 + <?php if (wdk_get_option('wdk_multi_categories_edit_field_type') == 'wdk_treefield_dropdown'): ?>
290 354 <tr>
291 - <th scope="row"><label for="location_id"><?php echo __('Location', 'wpdirectorykit'); ?><?php if(wdk_get_option('wdk_listing_category_required')):?>*<?php endif;?></label></th>
355 + <th scope="row"><label for="location_id"><?php echo esc_html__('Location', 'wpdirectorykit'); ?><?php if (wdk_get_option('wdk_listing_category_required')): ?>*<?php endif; ?></label></th>
292 356 <td class="wdk_multi_treefield_dropdown_container">
293 357 <?php
294 358 global $Winter_MVC_WDK;
295 359 $Winter_MVC_WDK->load_helper('listing');
@@ -297,14 +361,14 @@
297 361 $field_value = wmvc_show_data('location_id', $db_data, '');
298 362 $field_key = 'location_id';
299 363
300 364 $locations = array();
301 - if(!empty($field_value)) {
365 + if (!empty($field_value)) {
302 366 $locations[] = $field_value;
303 - $location = $Winter_MVC_WDK->location_m->get($field_value, TRUE);
304 -
305 - while(!empty($location->parent_id)) {
306 - $location = $Winter_MVC_WDK->location_m->get($location->parent_id, TRUE);
367 + $location = $Winter_MVC_WDK->location_m->get($field_value, TRUE);
368 +
369 + while (!empty($location->parent_id)) {
370 + $location = $Winter_MVC_WDK->location_m->get($location->parent_id, TRUE);
307 371 $locations[] = $location->idlocation;
308 372 }
309 373 krsort($locations);
310 374 } else {
@@ -309,335 +373,377 @@
309 373 krsort($locations);
310 374 } else {
311 375 $locations[] = 0;
312 376 }
313 -
377 +
314 378 wp_enqueue_style('wdk-treefield-dropdown');
315 379 wp_enqueue_script('wdk-treefield-dropdown');
316 - wp_enqueue_style( 'dashicons' );
317 -
380 + wp_enqueue_style('dashicons');
381 +
318 382 $level_max = $Winter_MVC_WDK->location_m->get_max_level();
319 -
383 +
320 384 $placeholder = [
321 - 0 => esc_html__('Select Country','wpdirectorykit'),
322 - 1 => esc_html__('Select City','wpdirectorykit'),
323 - 2 => esc_html__('Select Neighborhood','wpdirectorykit'),
324 - 3 => esc_html__('Select Sub Area','wpdirectorykit'),
325 - 4 => esc_html__('Select Sub Area','wpdirectorykit'),
326 - 5 => esc_html__('Select Sub Area','wpdirectorykit'),
385 + 0 => esc_html__('Select Country', 'wpdirectorykit'),
386 + 1 => esc_html__('Select City', 'wpdirectorykit'),
387 + 2 => esc_html__('Select Neighborhood', 'wpdirectorykit'),
388 + 3 => esc_html__('Select Sub Area', 'wpdirectorykit'),
389 + 4 => esc_html__('Select Sub Area', 'wpdirectorykit'),
390 + 5 => esc_html__('Select Sub Area', 'wpdirectorykit'),
327 391 ];
328 392 ?>
329 393
330 394 <input name="<?php echo esc_attr($field_key); ?>" type="hidden" value="<?php echo esc_attr($field_value); ?>">
331 395 <?php
332 - $level = 0;
333 - $current = NULL;
334 -
335 - foreach ($locations as $location) {
336 - $current = $Winter_MVC_WDK->location_m->get($location, TRUE);
396 + $level = 0;
397 + $current = NULL;
337 398
338 - $list = $Winter_MVC_WDK->location_m->get_by(array('parent_id = '.$current->parent_id => NULL));
399 + foreach ($locations as $location) {
400 + $current = $Winter_MVC_WDK->location_m->get($location, TRUE);
401 + if (!$current)
402 + break;
403 + $list = $Winter_MVC_WDK->location_m->get_by(array('parent_id = ' . $current->parent_id => NULL));
339 404
340 - if(isset($placeholder[$level])) {
341 - $values_list = array(''=> $placeholder[$level]);
342 - } else {
343 - $values_list = array(''=> esc_html__('Select Sub Area','wpdirectorykit'));
344 - }
405 + if (isset($placeholder[$level])) {
406 + $values_list = array('' => $placeholder[$level]);
407 + } else {
408 + $values_list = array('' => esc_html__('Select Sub Area', 'wpdirectorykit'));
409 + }
345 410
346 - foreach ($list as $list_value) {
347 - $values_list[$list_value->idlocation] = $list_value->location_title;
348 - }
349 - ?>
411 + foreach ($list as $list_value) {
412 + $values_list[$list_value->idlocation] = $list_value->location_title;
413 + }
414 + ?>
350 415
351 - <div data-level="<?php echo esc_attr($level);?>" data-field="<?php echo esc_attr($field_key); ?>" class="wdk_multi_treefield_dropdown wdk_treefield_dropdown">
352 - <div class="wdk-field-group">
353 - <?php echo wmvc_select_option('location_'.$level, $values_list, $location, 'class="wdk-control"');?>
354 - </div>
416 + <div data-level="<?php echo esc_attr($level); ?>" data-field="<?php echo esc_attr($field_key); ?>" class="wdk_multi_treefield_dropdown wdk_treefield_dropdown">
417 + <div class="wdk-field-group">
418 + <?php
419 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
420 + echo wmvc_select_option('location_' . $level, $values_list, $location, 'class="wdk-control"'); ?>
355 421 </div>
422 + </div>
356 423
357 - <?php
358 - $level++;
359 - }
360 -
361 - if($level<$level_max ) {
362 - for (; $level<$level_max;) {
363 -
364 - if(isset($placeholder[$level])) {
365 - $values_list = array(''=> $placeholder[$level]);
424 + <?php
425 + $level++;
426 + }
427 +
428 + if ($level < $level_max) {
429 + for (; $level < $level_max;) {
430 +
431 + if (isset($placeholder[$level])) {
432 + $values_list = array('' => $placeholder[$level]);
366 433 } else {
367 - $values_list = array(''=> esc_html__('Select Sub Area','wpdirectorykit'));
434 + $values_list = array('' => esc_html__('Select Sub Area', 'wpdirectorykit'));
368 435 }
369 436
370 -
371 - if(isset($placeholder[$level])) {
372 - $values_list = array(''=> $placeholder[$level]);
437 +
438 + if (isset($placeholder[$level])) {
439 + $values_list = array('' => $placeholder[$level]);
373 440 } else {
374 - $values_list = array(''=> esc_html__('Select Sub Area','wpdirectorykit'));
441 + $values_list = array('' => esc_html__('Select Sub Area', 'wpdirectorykit'));
375 442 }
376 -
377 - if($location) {
378 - $list = $Winter_MVC_WDK->location_m->get_by(array('parent_id = '.$location => NULL));
443 +
444 + if ($location) {
445 + $list = $Winter_MVC_WDK->location_m->get_by(array('parent_id = ' . $location => NULL));
379 446 foreach ($list as $list_value) {
380 - $values_list[$list_value->idlocation] = $list_value->location_title;
447 + $values_list[$list_value->idlocation] = $list_value->location_title;
381 448 }
382 449 $location = NULL;
383 450 }
384 -
385 - ?>
386 - <div data-level="<?php echo esc_attr($level);?>" data-field="<?php echo esc_attr($field_key); ?>" class="wdk_multi_treefield_dropdown wdk_treefield_dropdown">
387 - <div class="wdk-field-group">
388 - <?php echo wmvc_select_option('location_'.$level, $values_list, NULL, 'class="wdk-control"');?>
389 - </div>
451 +
452 + ?>
453 + <div data-level="<?php echo esc_attr($level); ?>" data-field="<?php echo esc_attr($field_key); ?>" class="wdk_multi_treefield_dropdown wdk_treefield_dropdown">
454 + <div class="wdk-field-group">
455 + <?php
456 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
457 + echo wmvc_select_option('location_' . $level, $values_list, NULL, 'class="wdk-control"'); ?>
390 458 </div>
391 -
392 - <?php
393 - $level++;
394 - }
459 + </div>
460 +
461 + <?php
462 + $level++;
395 463 }
464 + }
396 465 ?>
397 466 </td>
398 467 </tr>
399 - <?php else: ?>
400 - <tr>
401 - <th scope="row"><label for="location_id"><?php echo __('Location', 'wpdirectorykit'); ?><?php if(wdk_get_option('wdk_listing_category_required')):?>*<?php endif;?></label></th>
402 - <td >
403 - <div class="wdk-field-edit edittable">
404 - <div class="wdk-field-container">
405 - <?php echo wdk_treefield_option ('location_id', 'location_m', wmvc_show_data('location_id', $db_data, ''), 'location_title', '', __('Not Selected', 'wpdirectorykit'));?>
406 - </div>
468 + <?php else: ?>
469 + <tr>
470 + <th scope="row"><label for="location_id"><?php echo esc_html__('Location', 'wpdirectorykit'); ?><?php if (wdk_get_option('wdk_listing_category_required')): ?>*<?php endif; ?></label></th>
471 + <td>
472 + <div class="wdk-field-edit edittable">
473 + <div class="wdk-field-container">
474 + <?php
475 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
476 + echo wdk_treefield_option('location_id', 'location_m', wmvc_show_data('location_id', $db_data, ''), 'location_title', '', __('Not Selected', 'wpdirectorykit')); ?>
407 477 </div>
408 - </td>
409 - </tr>
410 - <?php endif; ?>
478 + </div>
479 + </td>
480 + </tr>
481 + <?php endif; ?>
411 482 <?php endif; ?>
412 483
413 - <?php if(get_option('wdk_is_location_enabled', FALSE) && get_option('wdk_multi_locations_other_enable', FALSE)): ?>
414 - <tr>
415 - <th scope="row"><label for="listing_agents"><?php echo __('More Locations', 'wpdirectorykit'); ?></label></th>
416 - <td class="">
417 - <?php echo wdk_treefield_select_ajax ('listing_sub_locations[]', 'location_m', wmvc_show_data('listing_sub_locations', $db_data, '', TRUE, TRUE), 'location_title', 'idlocation', '', __('All Locations', 'wpdirectorykit'), '', 'data-limit="10"');?>
418 - </td>
419 - </tr>
420 - <?php endif; ?>
421 - <?php if(wdk_get_option('wdk_is_user_editor_enabled', FALSE)): ?>
422 - <tr>
423 - <th scope="row"><label for="user_id_editor"><?php echo __('Agent Editor', 'wpdirectorykit'); ?></label></th>
424 - <td>
425 - <div class="wdk-field-edit edittable">
426 - <div class="wdk-field-container">
427 - <?php echo wdk_treefield_option('user_id_editor', 'user_m', wmvc_show_data('user_id_editor', $db_data, ''), 'display_name', '', __('Not Selected', 'wpdirectorykit'));?>
428 - </div>
429 - </div>
430 - </td>
431 - </tr>
432 - <?php endif; ?>
433 - <?php if(wdk_get_option('wdk_is_alt_agent_enabled', FALSE)): ?>
434 - <?php if(function_exists('run_wdk_membership')): ?>
484 + <?php if (get_option('wdk_is_location_enabled', FALSE) && get_option('wdk_multi_locations_other_enable', FALSE)): ?>
435 485 <tr>
436 - <th scope="row"><label for="listing_agents"><?php echo __('Alternative Agents', 'wpdirectorykit'); ?></label></th>
486 + <th scope="row"><label for="listing_agents"><?php echo esc_html__('More Locations', 'wpdirectorykit'); ?></label></th>
437 487 <td class="">
438 - <?php echo wdk_user_select_ajax ('listing_agents[]', array_keys( wmvc_show_data('listing_agents', $db_data, '', TRUE, TRUE)), __('Add Agents', 'wpdirectorykit'));?>
488 + <?php
489 +
490 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
491 + echo wdk_treefield_select_ajax('listing_sub_locations[]', 'location_m', wmvc_show_data('listing_sub_locations', $db_data, '', TRUE, TRUE), 'location_title', 'idlocation', '', __('All Locations', 'wpdirectorykit'), '', 'data-limit="10"'); ?>
439 492 </td>
440 - <?php if(false):?>
441 - <td class="agents_group">
442 - <?php echo wdk_select_multi_option('listing_agents[]', wmvc_show_data('listing_agents', $db_data, '', TRUE, TRUE), array_keys( wmvc_show_data('listing_agents', $db_data, '', TRUE, TRUE)), "id='listing_agents'");?>
443 - <div class="agent_add form-inline">
444 - <div class="wdk-field-edit">
445 - <div class="wdk-field-container">
446 - <?php echo wdk_treefield_option('agent_id', 'user_m', '', 'display_name', '', __('Not Selected', 'wpdirectorykit'));?>
447 - </div>
493 + </tr>
494 + <?php endif; ?>
495 + <?php if (wdk_get_option('wdk_is_user_editor_enabled', FALSE)): ?>
496 + <tr>
497 + <th scope="row"><label for="user_id_editor"><?php echo esc_html__('Agent Editor', 'wpdirectorykit'); ?></label></th>
498 + <td>
499 + <div class="wdk-field-edit edittable">
500 + <div class="wdk-field-container">
501 + <?php
502 +
503 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
504 + echo wdk_treefield_option('user_id_editor', 'user_m', wmvc_show_data('user_id_editor', $db_data, ''), 'display_name', '', __('Not Selected', 'wpdirectorykit')); ?>
448 505 </div>
449 - <button type="button" class="button button-primary add_button"><?php echo __('Add agent', 'wpdirectorykit'); ?></button>
450 - <button type="button" title="<?php echo __('Remove latest on list', 'wpdirectorykit'); ?>" class="button button-secondary rem_button"><?php echo __('X', 'wpdirectorykit'); ?></button>
451 506 </div>
452 507 </td>
453 - <?php endif; ?>
454 508 </tr>
509 + <?php endif; ?>
510 + <?php if (wdk_get_option('wdk_is_alt_agent_enabled', FALSE)): ?>
511 + <?php if (function_exists('run_wdk_membership')): ?>
512 + <tr>
513 + <th scope="row"><label for="listing_agents"><?php echo esc_html__('Alternative Agents', 'wpdirectorykit'); ?></label></th>
514 + <td class="">
515 + <?php
516 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
517 + echo wdk_user_select_ajax('listing_agents[]', array_keys(wmvc_show_data('listing_agents', $db_data, '', TRUE, TRUE)), __('Add Agents', 'wpdirectorykit')); ?>
518 + </td>
519 + <?php if (false): ?>
520 + <td class="agents_group">
521 + <?php
522 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
523 + echo wdk_select_multi_option('listing_agents[]', wmvc_show_data('listing_agents', $db_data, '', TRUE, TRUE), array_keys(wmvc_show_data('listing_agents', $db_data, '', TRUE, TRUE)), "id='listing_agents'"); ?>
524 + <div class="agent_add form-inline">
525 + <div class="wdk-field-edit">
526 + <div class="wdk-field-container">
527 + <?php
528 +
529 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
530 + echo wdk_treefield_option('agent_id', 'user_m', '', 'display_name', '', __('Not Selected', 'wpdirectorykit')); ?>
531 + </div>
532 + </div>
533 + <button type="button" class="button button-primary add_button"><?php echo esc_html__('Add agent', 'wpdirectorykit'); ?></button>
534 + <button type="button" title="<?php echo esc_html__('Remove latest on list', 'wpdirectorykit'); ?>" class="button button-secondary rem_button"><?php echo esc_html__('X', 'wpdirectorykit'); ?></button>
535 + </div>
536 + </td>
537 + <?php endif; ?>
538 + </tr>
455 539 <?php endif; ?>
456 540 <?php endif; ?>
457 541
458 - <?php if(wdk_get_option('wdk_membership_is_enable_subscriptions') && function_exists('run_wdk_membership')):?>
459 - <tr>
460 - <th scope="row"><label for="subscription_id"><?php echo __('Membership Subscription', 'wpdirectorykit'); ?></label></th>
461 - <td>
462 - <?php
463 - echo wmvc_select_option('subscription_id', $subscriptions, wmvc_show_data('subscription_id', $db_data, ''), "id='subscription_id'", __('Not Selected', 'wpdirectorykit'));
464 - ?>
465 - </td>
466 - </tr>
467 - <?php endif;?>
542 + <?php if (wdk_get_option('wdk_membership_is_enable_subscriptions') && function_exists('run_wdk_membership')): ?>
543 + <tr>
544 + <th scope="row"><label for="subscription_id"><?php echo esc_html__('Membership Subscription', 'wpdirectorykit'); ?></label></th>
545 + <td>
546 + <?php
547 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
548 + echo wmvc_select_option('subscription_id', $subscriptions, wmvc_show_data('subscription_id', $db_data, ''), "id='subscription_id' class='regular-text'", __('Not Selected', 'wpdirectorykit'));
549 + ?>
550 + </td>
551 + </tr>
552 + <?php endif; ?>
468 553
469 - <?php if(function_exists('run_wdk_payments') && isset($packages)):?>
470 - <tr>
471 - <th scope="row"><label for="packages"><?php echo __('Package', 'wpdirectorykit'); ?></label></th>
472 - <td>
473 - <?php
474 - echo wmvc_select_option('package_id', $packages, wmvc_show_data('package_id', $db_data, ''), "id='packages'", __('Not Selected', 'wpdirectorykit'));
475 - ?>
476 - </td>
477 - </tr>
478 - <?php endif;?>
554 + <?php if (function_exists('run_wdk_payments') && isset($packages)): ?>
555 + <tr>
556 + <th scope="row"><label for="packages"><?php echo esc_html__('Package', 'wpdirectorykit'); ?></label></th>
557 + <td>
558 + <?php
559 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
560 + echo wmvc_select_option('package_id', $packages, wmvc_show_data('package_id', $db_data, ''), "id='packages'", __('Not Selected', 'wpdirectorykit'));
561 + ?>
562 + </td>
563 + </tr>
564 + <?php endif; ?>
479 565
480 - <?php if(wdk_get_option('wdk_is_rank_enabled', FALSE)): ?>
481 - <tr>
482 - <th scope="row"><label for="rank"><?php echo __('Rank', 'wpdirectorykit'); ?></label></th>
483 - <td>
484 - <input <?php if(!wmvc_user_in_role('administrator') && !current_user_can('wdk_listings_manage')):?> readonly="readonly" <?php endif;?> name="rank" type="number" id="rank" value="<?php echo wmvc_show_data('rank', $db_data, ''); ?>" placeholder="<?php echo esc_html__('Rank', 'wpdirectorykit');?>" class="regular-text">
485 - <p class="description" id="input_rank-description"><b><?php echo __('Rank', 'wpdirectorykit'); ?></b> <?php echo esc_html__('is number, higher number means a better position/rank in results.','wpdirectorykit');?></p>
486 - </td>
487 - </tr>
488 - <?php endif;?>
566 + <?php if (wdk_get_option('wdk_is_rank_enabled', FALSE)): ?>
567 + <tr>
568 + <th scope="row"><label for="rank"><?php echo esc_html__('Rank', 'wpdirectorykit'); ?></label></th>
569 + <td>
570 + <input <?php if (!wmvc_user_in_role('administrator') && !current_user_can('wdk_listings_manage')): ?> readonly="readonly" <?php endif; ?> name="rank" type="number" id="rank" value="<?php echo esc_attr(wmvc_show_data('rank', $db_data, '')); ?>" placeholder="<?php echo esc_attr__('Rank', 'wpdirectorykit'); ?>" class="regular-text">
571 + <p class="description" id="input_rank-description"><b><?php echo esc_html__('Rank', 'wpdirectorykit'); ?></b> <?php echo esc_html__('is number, higher number means a better position/rank in results.', 'wpdirectorykit'); ?></p>
572 + </td>
573 + </tr>
574 + <?php endif; ?>
489 575
490 - <?php if(wdk_get_option('wdk_is_featured_enabled', FALSE)): ?>
491 - <tr>
492 - <th scope="row"><label for="is_featured"><?php echo __('Is Featured', 'wpdirectorykit'); ?></label></th>
493 - <td>
494 - <input name="is_featured" type="checkbox" id="is_featured" value="1" <?php echo !empty(wmvc_show_data('is_featured', $db_data, ''))?'checked':''; ?>><label for="is_featured"><?php echo __('Make it featured','wpdirectorykit'); ?></label>
495 - <p class="description" id="is_featured-description"><?php echo __('Featured/Highlighted listing in results','wpdirectorykit'); ?></p>
496 - </td>
497 - </tr>
498 - <?php endif;?>
576 + <?php if (wdk_get_option('wdk_is_featured_enabled', FALSE)): ?>
577 + <tr>
578 + <th scope="row"><label for="is_featured"><?php echo esc_html__('Is Featured', 'wpdirectorykit'); ?></label></th>
579 + <td>
580 + <input name="is_featured" type="checkbox" id="is_featured" value="1" <?php echo !empty(wmvc_show_data('is_featured', $db_data, '')) ? 'checked' : ''; ?>><label for="is_featured"><?php echo esc_html__('Make it featured', 'wpdirectorykit'); ?></label>
581 + <p class="description" id="is_featured-description"><?php echo esc_html__('Featured/Highlighted listing in results', 'wpdirectorykit'); ?></p>
582 + </td>
583 + </tr>
584 + <?php endif; ?>
499 585
500 586 <tr>
501 - <th scope="row"><label for="is_activated"><?php echo __('Is Activated', 'wpdirectorykit'); ?></label></th>
587 + <th scope="row"><label for="is_activated"><?php echo esc_html__('Is Activated', 'wpdirectorykit'); ?></label></th>
502 588 <td>
503 - <input name="is_activated" type="checkbox" id="is_activated" value="1" <?php echo !empty(wmvc_show_data('is_activated', $db_data, ''))?'checked':''; ?>><label for="is_activated"><?php echo __('Make it available for public','wpdirectorykit'); ?></label>
504 - <p class="description" id="is_activated-description"><?php echo __('When listing is activated will be visible on frontend','wpdirectorykit'); ?></p>
589 + <input name="is_activated" type="checkbox" id="is_activated" value="1" <?php echo !empty(wmvc_show_data('is_activated', $db_data, '')) ? 'checked' : ''; ?>><label for="is_activated"><?php echo esc_html__('Make it available for public', 'wpdirectorykit'); ?></label>
590 + <p class="description" id="is_activated-description"><?php echo esc_html__('When enabled, the listing becomes visible on the frontend. The listing owner can activate or deactivate the listing at any time.', 'wpdirectorykit'); ?></p>
505 591 </td>
506 592 </tr>
507 - <?php if(function_exists('run_wdk_membership')):?>
593 + <?php if (function_exists('run_wdk_membership')): ?>
594 + <tr>
595 + <th scope="row"><label for="is_approved"><?php echo esc_html__('Is Approved', 'wpdirectorykit'); ?></label></th>
596 + <td>
597 + <input name="is_approved" type="checkbox" id="is_approved" value="1" <?php echo !empty(wmvc_show_data('is_approved', $db_data, '')) ? 'checked' : ''; ?>><label for="is_approved"><?php echo esc_html__('Make it approved for public', 'wpdirectorykit'); ?></label>
598 + <p class="description" id="is_approved-description"><?php echo esc_html__('When approved, the listing is eligible to be shown on the frontend, but it must also be activated. Approval can be granted by an admin, and for certain membership packages, listings may be auto-approved if configured.', 'wpdirectorykit'); ?> (<?php echo esc_html__('only admin can approve', 'wpdirectorykit'); ?>)</p>
599 + </td>
600 + </tr>
601 + <?php endif; ?>
508 602 <tr>
509 - <th scope="row"><label for="is_approved"><?php echo __('Is Approved', 'wpdirectorykit'); ?></label></th>
603 + <th scope="row"><label for="slug"><?php echo esc_html__('Slug', 'wpdirectorykit'); ?></label></th>
510 604 <td>
511 - <input name="is_approved" type="checkbox" id="is_approved" value="1" <?php echo !empty(wmvc_show_data('is_approved', $db_data, ''))?'checked':''; ?>><label for="is_approved"><?php echo __('Make it approved for public','wpdirectorykit'); ?></label>
512 - <p class="description" id="is_approved-description"><?php echo __('When listing is approved will be visible on frontend','wpdirectorykit'); ?> (<?php echo __('only admin can approve','wpdirectorykit'); ?>)</p>
605 + <input <?php if (!wmvc_user_in_role('administrator') && !current_user_can('wdk_listings_manage')): ?> readonly="readonly" <?php endif; ?> name="slug" type="text" id="slug" value="<?php echo esc_attr(wmvc_show_data('post_name', $db_data, '')); ?>" placeholder="<?php echo esc_attr__('Slug', 'wpdirectorykit'); ?>" class="regular-text">
513 606 </td>
514 607 </tr>
515 - <?php endif;?>
516 - <tr>
517 - <th scope="row"><label for="slug"><?php echo __('Slug', 'wpdirectorykit'); ?></label></th>
518 - <td>
519 - <input <?php if(!wmvc_user_in_role('administrator') && !current_user_can('wdk_listings_manage')):?> readonly="readonly" <?php endif;?> name="slug" type="text" id="slug" value="<?php echo wmvc_show_data('post_name', $db_data, ''); ?>" placeholder="<?php echo esc_html__('Slug', 'wpdirectorykit');?>" class="regular-text">
520 - </td>
521 - </tr>
522 608 </tbody>
523 609 </table>
524 610 </div>
525 611 <div class="wdk-col sidebar">
526 - <?php if(get_option('wdk_is_address_enabled', FALSE)): ?>
612 + <?php if (get_option('wdk_is_address_enabled', FALSE)): ?>
527 613 <div class="clearfix">
528 - <a href="#" class="button button-secondary alignright wdk_action_clear_gps_reset_map"><?php echo esc_html__('Clear Gps coordinates', 'wpdirectorykit');?></a>
614 + <a href="#" class="button button-secondary alignright wdk_action_clear_gps_reset_map"><?php echo esc_html__('Clear Gps coordinates', 'wpdirectorykit'); ?></a>
529 615 </div>
530 - <br/>
616 + <br />
531 617 <div id="map" class="listing_edit_map"></div>
532 - <br/>
533 - <p class="alert alert-info"><?php echo esc_html__('Drag and drop pin to desired location','wpdirectorykit');?></p>
618 + <br />
619 + <p class="alert alert-info"><?php echo esc_html__('Drag and drop pin to desired location', 'wpdirectorykit'); ?></p>
534 620 <div class="wdk-field-edit inline">
535 - <label for="listing_gps"><?php echo esc_html__('GPS','wpdirectorykit');?>:</label>
621 + <label for="listing_gps"><?php echo esc_html__('GPS', 'wpdirectorykit'); ?>:</label>
536 622 <div class="wdk-field-container">
537 - <input name="lat" readonly="readonly" type="text" id="input_lat" value="<?php echo wmvc_show_data('lat', $db_data, ''); ?>" class="regular-text" placeholder="<?php echo esc_html__('lat', 'wpdirectorykit');?>">
538 - <input name="lng" readonly="readonly" type="text" id="input_lng" value="<?php echo wmvc_show_data('lng', $db_data, ''); ?>" class="regular-text" placeholder="<?php echo esc_html__('lng', 'wpdirectorykit');?>">
623 + <input name="lat" readonly="readonly" type="text" id="input_lat" value="<?php echo esc_attr(wmvc_show_data('lat', $db_data, '')); ?>" class="regular-text" placeholder="<?php echo esc_attr__('lat', 'wpdirectorykit'); ?>">
624 + <input name="lng" readonly="readonly" type="text" id="input_lng" value="<?php echo esc_attr(wmvc_show_data('lng', $db_data, '')); ?>" class="regular-text" placeholder="<?php echo esc_attr__('lng', 'wpdirectorykit'); ?>">
539 625 </div>
540 626 </div>
541 - <?php endif;?>
542 - <?php if(!empty($edit_log)):?>
543 - <div class="wdk_editlog">
627 + <?php endif; ?>
628 + <?php if (!empty($edit_log)): ?>
629 + <div class="wdk_editlog">
544 630 <table class="table table-bordered">
545 - <caption><?php echo esc_html__('Edit History', 'wpdirectorykit');?></caption>
546 - <thead>
547 - <tr>
548 - <th><?php echo esc_html__('User', 'wpdirectorykit');?></th>
549 - <th><?php echo esc_html__('Date', 'wpdirectorykit');?></th>
550 - <th><?php echo esc_html__('IP', 'wpdirectorykit');?></th>
551 - </tr>
552 - </thead>
553 - <tbody>
554 - <?php foreach ($edit_log as $log_row):?>
555 - <tr>
556 - <td><?php echo esc_html($log_row->display_name);?></td>
557 - <td><?php echo esc_html(wdk_get_date($log_row->date));?></td>
558 - <td><?php echo esc_html($log_row->ip);?></td>
559 - </tr>
560 - <?php endforeach;?>
631 + <caption><?php echo esc_html__('Edit History', 'wpdirectorykit'); ?></caption>
632 + <thead>
633 + <tr>
634 + <th><?php echo esc_html__('User', 'wpdirectorykit'); ?></th>
635 + <th><?php echo esc_html__('Date', 'wpdirectorykit'); ?></th>
636 + <th><?php echo esc_html__('IP', 'wpdirectorykit'); ?></th>
637 + </tr>
638 + </thead>
639 + <tbody>
640 + <?php foreach ($edit_log as $log_row): ?>
641 + <tr>
642 + <td><?php echo esc_html($log_row->display_name); ?></td>
643 + <td><?php echo esc_html(wdk_get_date($log_row->date)); ?></td>
644 + <td><?php echo esc_html($log_row->ip); ?></td>
645 + </tr>
646 + <?php endforeach; ?>
561 647
562 - </tbody>
648 + </tbody>
563 649 </table>
564 - </div>
565 -
566 - <?php endif;?>
650 + </div>
567 651
652 + <?php endif; ?>
653 +
568 654 </div>
569 655 </div>
570 -
571 - <?php if(wdk_get_option('wdk_is_post_content_enable', FALSE)): ?>
572 - <table class="form-table" role="presentation">
573 - <tbody>
574 - <tr>
575 - <th scope="row"><label for="post_content"><?php echo __('Content', 'wpdirectorykit'); ?>*</label></th>
576 - <td><?php wp_editor(wmvc_show_data('post_content', $db_data, ''), 'post_content', array('media_buttons' => FALSE)); ?></td>
577 - </tr>
578 - </tbody>
579 - </table>
580 - <?php endif;?>
656 +
657 + <?php if (wdk_get_option('wdk_is_post_content_enable', FALSE)): ?>
658 + <table class="form-table <?php if (method_exists($form, 'hasError') && $form->hasError('post_content')): ?> field-error <?php endif; ?>" role="presentation">
659 + <tbody>
660 + <tr>
661 + <th scope="row"><label for="post_content"><?php echo esc_html__('Content', 'wpdirectorykit'); ?>*</label></th>
662 + <td><?php wp_editor(
663 + wmvc_show_data('post_content', $db_data, ''),
664 + 'post_content',
665 + apply_filters('wpdirectorykit/listing_edit/textarea_wysiwyg/config', array(
666 + 'media_buttons' => TRUE,
667 + ))
668 + ); ?>
669 + <?php if (method_exists($form, 'hasError') && $form->getError('post_content')): ?>
670 + <p class="wdk-hint wdk-error">
671 + <?php echo wp_kses_post($form->getError('post_content')); ?>
672 + </p>
673 + <?php endif; ?>
674 + </td>
675 + </tr>
676 + </tbody>
677 + </table>
678 + <?php endif; ?>
581 679 </div>
582 680 </div>
583 681 <div class="postbox listing_custom_fields" style="display: block;">
584 682 <div class="inside wdk-row">
585 - <?php if(count($fields) == 0): ?>
683 + <?php if (count($fields) == 0): ?>
586 684 <div class="wdk-col-12">
587 - <div class="alert alert-success mb0"><p><?php echo __('Fields doesn\'t exists','wpdirectorykit'); ?> <a href="<?php echo esc_url(get_admin_url() . "admin.php?page=wdk_fields"); ?>" class="button button-primary" id="add_field_button"><?php echo __('Manage Fields','wpdirectorykit'); ?></a></p></div>
685 + <div class="alert alert-success mb0">
686 + <p><?php echo esc_html__('Fields doesn\'t exists', 'wpdirectorykit'); ?> <a href="<?php echo esc_url(get_admin_url() . "admin.php?page=wdk_fields"); ?>" class="button button-primary" id="add_field_button"><?php echo esc_html__('Manage Fields', 'wpdirectorykit'); ?></a></p>
687 + </div>
588 688 </div>
589 689 <?php endif; ?>
590 690
591 - <?php echo wdk_generate_fields($fields, $db_data); ?>
691 + <?php wdk_generate_fields($fields, $db_data, $form); ?>
592 692 </div>
593 693 </div>
594 - <?php if(!wdk_get_option('wdk_listing_plangs_documents_disable')):?>
595 - <div class="postbox" style="display: block;">
596 - <div class="postbox-header">
597 - <h3><?php echo __('Listing plans and documents', 'wpdirectorykit'); ?></h3>
694 + <?php if (!wdk_get_option('wdk_listing_plangs_documents_disable')): ?>
695 + <div class="postbox" style="display: block;">
696 + <div class="postbox-header">
697 + <h3><?php echo esc_html__('Listing plans and documents', 'wpdirectorykit'); ?></h3>
698 + </div>
699 + <div class="inside">
700 + <p class="alert alert-info"><?php echo esc_html__('Drag and drop files to change order', 'wpdirectorykit'); ?></p>
701 + <?php
702 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
703 + echo wdk_upload_multi_files('listing_plans_documents', wmvc_show_data('listing_plans_documents', $db_data, ''));
704 + ?>
705 + </div>
598 706 </div>
599 - <div class="inside">
600 - <p class="alert alert-info"><?php echo __('Drag and drop image to change order', 'wpdirectorykit'); ?></p>
601 - <?php
602 - echo wdk_upload_multi_files('listing_plans_documents', wmvc_show_data('listing_plans_documents', $db_data, ''));
603 - ?>
707 + <?php endif; ?>
708 + <?php if (!wdk_get_option('wdk_listing_images_disable')): ?>
709 + <div class="postbox" style="display: block;">
710 + <div class="postbox-header">
711 + <h3><?php echo esc_html__('Listing Images/Videos', 'wpdirectorykit'); ?></h3>
712 + </div>
713 + <div class="inside">
714 + <p class="alert alert-info"><?php echo esc_html__('Drag and drop image to change order', 'wpdirectorykit'); ?></p>
715 + <?php
716 + // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped, WordPress.WP.I18n.NonSingularStringLiteralText
717 + echo wmvc_upload_multiple('listing_images', wmvc_show_data('listing_images', $db_data, ''));
718 + ?>
719 + </div>
604 720 </div>
605 - </div>
606 - <?php endif;?>
607 - <?php if(!wdk_get_option('wdk_listing_images_disable')):?>
608 - <div class="postbox" style="display: block;">
609 - <div class="postbox-header">
610 - <h3><?php echo __('Listing Images/Videos', 'wpdirectorykit'); ?></h3>
611 - </div>
612 - <div class="inside">
613 - <p class="alert alert-info"><?php echo __('Drag and drop image to change order', 'wpdirectorykit'); ?></p>
614 - <?php
615 - echo wmvc_upload_multiple('listing_images', wmvc_show_data('listing_images', $db_data, ''));
616 - ?>
617 - </div>
618 - </div>
619 - <?php endif;?>
620 - <button type="submit" class="button button-primary wdk-submit-loading out"><?php echo esc_html__('Save Changes','wpdirectorykit'); ?></button>
721 + <?php endif; ?>
722 + <button type="submit" class="button button-primary wdk-submit-loading out"><?php echo esc_html__('Save Changes', 'wpdirectorykit'); ?></button>
621 723 </form>
622 724 </div>
623 725
624 - <?php do_action('wpdirectorykit/admin/listing/edit/after_form', $db_data);?>
726 + <?php do_action('wpdirectorykit/admin/listing/edit/after_form', $db_data); ?>
625 727 </div>
626 728 <?php
627 - wp_enqueue_style('leaflet');
628 - wp_enqueue_script('leaflet');
629 -
630 - wp_enqueue_style('wdk-notify');
631 - wp_enqueue_script('wdk-notify');
632 -
633 - wp_enqueue_style('jquery-confirm');
634 - wp_enqueue_script('jquery-confirm');
729 +wp_enqueue_style('leaflet');
730 +wp_enqueue_script('leaflet');
731 +
732 +wp_enqueue_style('wdk-notify');
733 +wp_enqueue_script('wdk-notify');
734 +
735 +wp_enqueue_style('jquery-confirm');
736 +wp_enqueue_script('jquery-confirm');
737 +
738 +
739 +wp_enqueue_style('wdk-geo-listing-google-places-search');
740 +wp_enqueue_script('wdk-geo-listing-google-places-search');
635 741 ?>
636 742
637 743 <?php
638 - wp_enqueue_script( 'jquery-ui-core', false, array('jquery') );
639 - wp_enqueue_script( 'jquery-ui-sortable', false, array('jquery') );
744 +wp_enqueue_script('jquery-ui-core', false, array('jquery'));
745 +wp_enqueue_script('jquery-ui-sortable', false, array('jquery'));
640 746 ?>
641 747
642 748 <script>
643 749 // Generate table
@@ -642,14 +748,14 @@
642 748 <script>
643 749 // Generate table
644 750 jQuery(document).ready(function($) {
645 751
646 - <?php if(get_option('wdk_is_address_enabled', FALSE)): ?>
647 - var wdk_edit_map_marker,wdk_timerMap,wdk_edit_map;
752 + <?php if (get_option('wdk_is_address_enabled', FALSE)): ?>
753 + var wdk_edit_map_marker, wdk_timerMap, wdk_edit_map;
648 754 wdk_edit_map = L.map('map', {
649 - center: [<?php echo (wmvc_show_data('lat', $db_data) ?: get_option('wdk_default_lat', 51.505)); ?>, <?php echo (wmvc_show_data('lng', $db_data) ?: get_option('wdk_default_lng', -0.09)); ?>],
755 + center: [<?php echo esc_html(wmvc_show_data('lat', $db_data) ?: get_option('wdk_default_lat', 51.505)); ?>, <?php echo esc_html(wmvc_show_data('lng', $db_data) ?: get_option('wdk_default_lng', -0.09)); ?>],
650 756 zoom: 4,
651 - });
757 + });
652 758
653 759 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
654 760 attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
655 761 }).addTo(wdk_edit_map);
@@ -654,16 +760,20 @@
654 760 attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
655 761 }).addTo(wdk_edit_map);
656 762
657 763 wdk_edit_map_marker = L.marker(
658 - [<?php echo (wmvc_show_data('lat', $db_data) ?: get_option('wdk_default_lat', 51.505)); ?>, <?php echo (wmvc_show_data('lng', $db_data) ?: get_option('wdk_default_lng', -0.09)); ?>],
659 - {draggable: true}
764 + [<?php echo esc_html(wmvc_show_data('lat', $db_data) ?: get_option('wdk_default_lat', 51.505)); ?>, <?php echo esc_html(wmvc_show_data('lng', $db_data) ?: get_option('wdk_default_lng', -0.09)); ?>], {
765 + draggable: true
766 + }
660 767 ).addTo(wdk_edit_map);
661 768
662 - wdk_edit_map_marker.on('dragend', function(event){
769 + wdk_edit_map_marker.on('dragend', function(event) {
663 770 clearTimeout(wdk_timerMap);
664 771 var marker = event.target;
665 - var {lat,lng} = marker.getLatLng();
772 + var {
773 + lat,
774 + lng
775 + } = marker.getLatLng();
666 776 $('#input_lat').val(lat);
667 777 $('#input_lng').val(lng);
668 778 //retrieved the position
669 779 });
@@ -668,18 +778,18 @@
668 778 //retrieved the position
669 779 });
670 780
671 781 /* reset map and gps */
672 - $('.wdk_action_clear_gps_reset_map').on('click', function(e){
782 + $('.wdk_action_clear_gps_reset_map').on('click', function(e) {
673 783 e.preventDefault();
674 784 $('#input_lat,#input_lng').val('');
675 785
676 786 /* move marker on default poisition */
677 - wdk_edit_map_marker.setLatLng([<?php echo esc_js(get_option('wdk_default_lat', 51.505)); ?>, <?php echo esc_js(get_option('wdk_default_lng', -0.09)); ?>]).update();
678 - wdk_edit_map.panTo(new L.LatLng(<?php echo esc_js(get_option('wdk_default_lat', 51.505)); ?>, <?php echo esc_js(get_option('wdk_default_lng', -0.09)); ?>));
787 + wdk_edit_map_marker.setLatLng([<?php echo esc_js(get_option('wdk_default_lat', 51.505)); ?>, <?php echo esc_js(get_option('wdk_default_lng', -0.09)); ?>]).update();
788 + wdk_edit_map.panTo(new L.LatLng(<?php echo esc_js(get_option('wdk_default_lat', 51.505)); ?>, <?php echo esc_js(get_option('wdk_default_lng', -0.09)); ?>));
679 789 });
680 790
681 - wdk_edit_map.on('click', function(e){
791 + wdk_edit_map.on('click', function(e) {
682 792 let lat = e.latlng.lat;
683 793 let lng = e.latlng.lng;
684 794
685 795 wdk_edit_map_marker.setLatLng([lat, lng]).update();
@@ -685,74 +795,122 @@
685 795 wdk_edit_map_marker.setLatLng([lat, lng]).update();
686 796 $('#input_lat').val(lat);
687 797 $('#input_lng').val(lng);
688 798 })
689 -
690 - $('#input_address').on('change keyup', function (e) {
799 +
800 + $('#input_address').on('change keyup', function(e) {
691 801 clearTimeout(wdk_timerMap);
692 - wdk_timerMap = setTimeout(function () {
693 - $.get('https://nominatim.openstreetmap.org/search?format=json&q='+$('#input_address').val(), function(data){
694 - if(data.length && typeof data[0]) {
695 - var {lat,lon} =data[0];
696 - wdk_edit_map_marker.setLatLng([lat, lon]).update();
697 - wdk_edit_map.panTo(new L.LatLng(lat, lon));
698 - $('#input_lat').val(lat);
699 - $('#input_lng').val(lon);
700 - } else {
701 - wdk_log_notify('<?php echo esc_js(__('Address not found', 'wpdirectorykit')); ?>', 'error');
702 - return;
703 - }
704 - });
802 + wdk_timerMap = setTimeout(function() {
803 + var googleApiKey = '<?php echo esc_js(get_option('wdk_geo_google_api_key', '')); ?>';
804 + var address = $('#input_address').val();
805 +
806 + // If we have a Google API key, try Google Geocoding FIRST
807 + if (googleApiKey) {
808 + $.get('https://maps.googleapis.com/maps/api/geocode/json?address=' + encodeURIComponent(address) + '&key=' + googleApiKey, function(googleData) {
809 + if (googleData.status === "OK" && googleData.results.length > 0) {
810 + var location = googleData.results[0].geometry.location;
811 + wdk_edit_map_marker.setLatLng([location.lat, location.lng]).update();
812 + wdk_edit_map.panTo(new L.LatLng(location.lat, location.lng));
813 + $('#input_lat').val(location.lat);
814 + $('#input_lng').val(location.lng);
815 + } else {
816 + // If not found by Google, try Nominatim
817 + $.get('https://nominatim.openstreetmap.org/search?format=json&q=' + encodeURIComponent(address), function(data) {
818 + if (data.length && typeof data[0]) {
819 + var {
820 + lat,
821 + lon
822 + } = data[0];
823 + wdk_edit_map_marker.setLatLng([lat, lon]).update();
824 + wdk_edit_map.panTo(new L.LatLng(lat, lon));
825 + $('#input_lat').val(lat);
826 + $('#input_lng').val(lon);
827 + } else {
828 + wdk_log_notify('<?php echo esc_js(__('Address not found', 'wpdirectorykit')); ?>', 'error');
829 + }
830 + });
831 + }
832 + }).fail(function() {
833 + wdk_log_notify('<?php echo esc_js(__('Google Geocoding API request failed.', 'wpdirectorykit')); ?>', 'error');
834 + });
835 + } else {
836 + // If no API key, use Nominatim as fallback/only method
837 + $.get('https://nominatim.openstreetmap.org/search?format=json&q=' + encodeURIComponent(address), function(data) {
838 + if (data.length && typeof data[0]) {
839 + var {
840 + lat,
841 + lon
842 + } = data[0];
843 + wdk_edit_map_marker.setLatLng([lat, lon]).update();
844 + wdk_edit_map.panTo(new L.LatLng(lat, lon));
845 + $('#input_lat').val(lat);
846 + $('#input_lng').val(lon);
847 + } else {
848 + wdk_log_notify('<?php echo esc_js(__('Address not found', 'wpdirectorykit')); ?>', 'error');
849 + if ($('#input_address').parent().find('[data-alert="google"]').length === 0) {
850 + $('#input_address').parent().append(`<div class="alert alert-info" data-alert="google"><?php echo wp_kses(
851 + wdk_sprintf(
852 + /* translators: 1: Tag with link open, 2: close link tag. */
853 + esc_html__('Address not found, try enter google maps api key for more accurate results %1$s[here]%2$s','wpdirectorykit'),
854 + '<a target="_blank" href="'.esc_url(admin_url("admin.php?page=wdk_settings&wdk_tabs=wdk_tab_apis#wdk_geo_google_api_key")).'">','</a>'
855 + ),
856 + array(
857 + 'a' => array(
858 + 'href' => true,
859 + 'target' => true,
860 + ),
861 + )
862 + );?></div>`);
863 + }
864 + return;
865 + }
866 + });
867 + }
868 +
705 869 }, 1000);
706 870 });
707 871
708 - $('#input_gps').on('change keyup', function (e) {
872 + $('#input_gps').on('change keyup', function(e) {
709 873 wdk_edit_map.panTo(new L.LatLng($('#input_lat').val(), $('#input_lng').val()));
710 - wdk_edit_map_marker.setLatLng([parseFloat($('#input_lat').val()), parseFloat($('#input_lng').val())]).update();
874 + wdk_edit_map_marker.setLatLng([parseFloat($('#input_lat').val()), parseFloat($('#input_lng').val())]).update();
711 875 })
712 - <?php endif;?>
876 + <?php endif; ?>
713 877
714 878 /* agents */
715 -
716 - $('.agents_group .add_button').on( "click", function(e) {
879 +
880 + $('.agents_group .add_button').on("click", function(e) {
717 881 e.preventDefault();
718 882 var group_agent = $(this).closest('.agents_group');
719 883 var agent_id = group_agent.find('input[name="agent_id"]').val();
720 -
721 - if(agent_id != '')
722 - {
723 - var exists = 0 != group_agent.find('#listing_agents').find('option[value='+agent_id+']').length;
724 - var agent_name = group_agent.find('.wdk_dropdown_tree .btn-group .btn:first').text();
725 -
726 - if(!exists)
727 - {
728 - group_agent.find('#listing_agents').append('<option value="'+agent_id+'" selected>'+agent_name+'</option>');
729 - }
730 - else
731 - {
884 +
885 + if (agent_id != '') {
886 + var exists = 0 != group_agent.find('#listing_agents').find('option[value=' + agent_id + ']').length;
887 + var agent_name = group_agent.find('.wdk_dropdown_tree .btn-group .btn:first').text();
888 +
889 + if (!exists) {
890 + group_agent.find('#listing_agents').append('<option value="' + agent_id + '" selected>' + agent_name + '</option>');
891 + } else {
732 892 wdk_log_notify('<?php echo esc_js(__('Already on list', 'wpdirectorykit')); ?>', 'error');
733 893 }
734 - }
735 - else
736 - {
894 + } else {
737 895 wdk_log_notify('<?php echo esc_js(__('Not selected', 'wpdirectorykit')); ?>', 'error');
738 896 }
739 897 });
740 898
741 - $('.agents_group .rem_button').on( "click", function() {
899 + $('.agents_group .rem_button').on("click", function() {
742 900 $(this).closest('.agents_group').find('#listing_agents option:selected:last').remove();
743 901 });
744 902
745 -
746 - $('form.form_listing').on('submit', function(e){
747 - if($(this).find('#listing_agents').length) {
748 - $('#listing_agents').find('option').prop("selected", true).trigger('change')
749 - }
903 +
904 + $('form.form_listing').on('submit', function(e) {
905 + if ($(this).find('#listing_agents').length) {
906 + $('#listing_agents').find('option').prop("selected", true).trigger('change')
907 + }
750 908 });
751 -
909 +
752 910 wdk_childs_listings_list();
753 911
754 - $('.select_ajax_user').on('select2:selecting', function (e) {
912 + $('.select_ajax_user').on('select2:selecting', function(e) {
755 913 // Get the selected option value
756 914 var selectedValue = e.params.args.data.id;
757 915 var selecteduserEditor = $('[name="user_id_editor"]').val();
758 916
@@ -757,115 +915,122 @@
757 915 var selecteduserEditor = $('[name="user_id_editor"]').val();
758 916
759 917 // Check if the selected option should be prevented from being added
760 918 if (selectedValue == selecteduserEditor) {
761 - // Prevent the option from being added
919 + // Prevent the option from being added
762 920 e.preventDefault();
763 - wdk_log_notify('<?php echo esc_js(esc_attr__('User Alread defiend like editor','wpdirectorykit'));?>', 'error');
921 + wdk_log_notify('<?php echo esc_js(esc_attr__('User Alread defiend like editor', 'wpdirectorykit')); ?>', 'error');
764 922 }
765 923 });
766 924
925 +
926 +
767 927 });
768 928
769 929
770 -const wdk_childs_listings_list = ($selector= '.wdk-listing-childs-wrap', $field_name = 'listing_related_ids') => {
771 - var el_wrapper = jQuery($selector);
772 - var remove_child_listing,save_data;
773 -
774 - remove_child_listing = () => {
775 - el_wrapper.find( ".wdk-listing-childs-drop .drop-listing-item .remove" ).off().on('click', function(e){
776 - e.preventDefault();
930 + const wdk_childs_listings_list = ($selector = '.wdk-listing-childs-wrap', $field_name = 'listing_related_ids') => {
931 + var el_wrapper = jQuery($selector);
932 + var remove_child_listing, save_data;
777 933
778 - if(confirm("<?php echo esc_js(__('Are you sure?','wpdirectorykit')); ?>")) {
779 - jQuery(this).closest('.drop-listing-item').remove();
780 - save_data();
781 - }
782 - });
783 - };
934 + remove_child_listing = () => {
935 + el_wrapper.find(".wdk-listing-childs-drop .drop-listing-item .remove").off().on('click', function(e) {
936 + e.preventDefault();
784 937
785 - save_data = () => {
786 - var data_fields_sublist = '';
787 - el_wrapper.find('.wdk-listing-childs-drop .drop-listing-item').each(function( index ) {
788 - if(data_fields_sublist !='')
789 - data_fields_sublist +=',';
938 + if (confirm("<?php echo esc_js(__('Are you sure?', 'wpdirectorykit')); ?>")) {
939 + jQuery(this).closest('.drop-listing-item').remove();
940 + save_data();
941 + }
942 + });
943 + };
790 944
791 - data_fields_sublist += jQuery(this).attr('data-idlisting');
792 - });
793 - console.log(el_wrapper.find('input[name="'+$field_name+'"]'));
794 - el_wrapper.find('input[name="'+$field_name+'"]').val(data_fields_sublist);
795 - }
945 + save_data = () => {
946 + var data_fields_sublist = '';
947 + el_wrapper.find('.wdk-listing-childs-drop .drop-listing-item').each(function(index) {
948 + if (data_fields_sublist != '')
949 + data_fields_sublist += ',';
796 950
797 - remove_child_listing();
951 + data_fields_sublist += jQuery(this).attr('data-idlisting');
952 + });
953 + el_wrapper.find('input[name="' + $field_name + '"]').val(data_fields_sublist);
954 + }
798 955
799 - el_wrapper.find( ".wdk-listing-childs-drop" ).sortable({
956 + remove_child_listing();
957 +
958 + el_wrapper.find(".wdk-listing-childs-drop").sortable({
800 959 connectWith: ".wdk-listing-childs-drop",
801 960 placeholder: "ui-sortable-placeholder widget-placeholder",
802 961 update: function(event, ui) {
803 962 save_data();
804 963 }
805 - }).disableSelection();
964 + }).disableSelection();
806 965
807 - el_wrapper.find('.add_new_listing').on('click', function(e){
808 - e.preventDefault();
966 + el_wrapper.find('.add_new_listing').on('click', function(e) {
967 + e.preventDefault();
809 968
810 - var listing_id = el_wrapper.find('input[name="new_listing_id"]').val();
811 - var listing_title = el_wrapper.find('.wdk_dropdown_tree button:first-child').text();
969 + var listing_id = el_wrapper.find('input[name="new_listing_id"]').val();
970 + var listing_title = el_wrapper.find('.wdk_dropdown_tree button:first-child').text();
812 971
813 - if(listing_id == '') {
814 - wdk_log_notify('<?php echo esc_js(esc_attr__('Listing Not Defined','wpdirectorykit'));?>', 'error');
815 - return;
816 - }
972 + if (listing_id == '') {
973 + wdk_log_notify('<?php echo esc_js(esc_attr__('Listing Not Defined', 'wpdirectorykit')); ?>', 'error');
974 + return;
975 + }
817 976
818 - if(listing_id == '<?php echo esc_js(wmvc_show_data('ID', $db_data));?>') {
819 - wdk_log_notify('<?php echo esc_js(esc_attr__('Impossible add current listing','wpdirectorykit'));?>', 'error');
820 - return;
821 - }
977 + if (listing_id == '<?php echo esc_js(wmvc_show_data('ID', $db_data)); ?>') {
978 + wdk_log_notify('<?php echo esc_js(esc_attr__('Impossible add current listing', 'wpdirectorykit')); ?>', 'error');
979 + return;
980 + }
822 981
823 - if( el_wrapper.find( ".wdk-listing-childs-drop .drop-listing-item[data-idlisting='"+listing_id+"']" ).length) {
824 - wdk_log_notify('<?php echo esc_js(esc_attr__('Listing already added','wpdirectorykit'));?>', 'error');
825 - return;
826 - }
982 + if (el_wrapper.find(".wdk-listing-childs-drop .drop-listing-item[data-idlisting='" + listing_id + "']").length) {
983 + wdk_log_notify('<?php echo esc_js(esc_attr__('Listing already added', 'wpdirectorykit')); ?>', 'error');
984 + return;
985 + }
827 986
828 - var item_html = '<div class="drop-listing-item" data-idlisting="'+listing_id+'">\n\
987 + var item_html = '<div class="drop-listing-item" data-idlisting="' + listing_id + '">\n\
829 988 <h3 class="handle"> \n\
830 - <a target="_blank" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id='));?>'+listing_id+'" class="title">'+listing_title+'</a>\n\
831 - <a target="_blank" class="btn" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id='));?>'+listing_id+'" target="_blank" title="Edit"><span class="dashicons dashicons-edit"></span></a>\n\
832 - <a class="question_sure btn remove" href="#" title="<?php echo esc_js(__('Remove','wpdirectorykit'));?>"><span class="dashicons dashicons-no"></span></a>\n\
989 + <a target="_blank" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id=')); ?>' + listing_id + '" class="title">' + listing_title + '</a>\n\
990 + <a target="_blank" class="btn" href="<?php echo esc_url(admin_url('admin.php?page=wdk_listing&id=')); ?>' + listing_id + '" target="_blank" title="Edit"><span class="dashicons dashicons-edit"></span></a>\n\
991 + <a class="question_sure btn remove" href="#" title="<?php echo esc_js(__('Remove', 'wpdirectorykit')); ?>"><span class="dashicons dashicons-no"></span></a>\n\
833 992 </h3> \n\
834 993 </div>';
835 994
836 - el_wrapper.find( ".wdk-listing-childs-drop" ).append(item_html);
837 - remove_child_listing();
838 - save_data();
839 - });
840 -};
995 + el_wrapper.find(".wdk-listing-childs-drop").append(item_html);
996 + remove_child_listing();
997 + save_data();
998 + });
999 + };
841 1000
1001 +
842 1002 </script>
843 1003
844 1004 <style>
1005 + .form-table .agent_add.form-inline .wdk-field-edit {
1006 + display: inline-block;
1007 + }
845 1008
846 -.form-table .agent_add.form-inline .wdk-field-edit {
847 - display: inline-block;
848 -}
1009 + .form-table .agent_add.form-inline .wdk-field-edit .wdk-field-container {
1010 + padding: 0;
1011 + }
849 1012
850 -.form-table .agent_add.form-inline .wdk-field-edit .wdk-field-container {
851 - padding: 0;
852 -}
1013 + .form-table .agent_add.form-inline .wdk-field-edit,
1014 + .form-table .agent_add.form-inline .button {
1015 + margin: 15px 0px;
1016 + }
853 1017
854 -.form-table .agent_add.form-inline .wdk-field-edit,
855 -.form-table .agent_add.form-inline .button {
856 - margin: 15px 0px;
857 -}
1018 + .form-table #listing_agents {
1019 + max-width: 100%;
1020 + width: 25em;
1021 + }
858 1022
859 -.form-table #listing_agents {
860 - max-width: 100%;
861 - width: 25em;
862 -}
1023 + .form-table .agent_add.form-inline .wdk_dropdown_tree {
1024 + width: 230px;
1025 + max-width: 100%;
1026 + }
863 1027
864 -.form-table .agent_add.form-inline .wdk_dropdown_tree {
865 - width: 230px;
866 - max-width: 100%;
867 -}
868 -
1028 + .wdk-wrap .wdk-row {
1029 + margin-right: -12px;
1030 + margin-left: -12px;
1031 + }
1032 +
869 1033 </style>
870 1034
871 -<?php $this->view('general/footer', $data); ?>
1035 +<?php $this->view('general/footer', $data); ?>
1036 +