| 1 |
<?php |
| 2 |
/** |
| 3 |
* The template for Edit Listing. |
| 4 |
* |
| 5 |
* This is the template that form edit |
| 6 |
* |
| 7 |
*/ |
| 8 |
|
| 9 |
if ( ! defined( 'ABSPATH' ) ) { |
| 10 |
exit; // Exit if accessed directly. |
| 11 |
} |
| 12 |
?> |
| 13 |
|
| 14 |
<!-- This file should primarily consist of HTML with a little bit of PHP. --> |
| 15 |
<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'); ?> |
| 21 |
|
| 22 |
<div class="postbox" style="display: block;"> |
| 23 |
<div class="postbox-header"> |
| 24 |
<h3 class="wide"> |
| 25 |
<?php echo __('Main Data', 'wpdirectorykit'); ?> |
| 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;?> |
| 33 |
</h3> |
| 34 |
<?php if(!empty(wmvc_show_data('ID', $db_data))):?> |
| 35 |
|
| 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;?> |
| 43 |
|
| 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')?> |
| 63 |
</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;?> |
| 66 |
</div> |
| 67 |
<div class="inside"> |
| 68 |
<?php |
| 69 |
|
| 70 |
$success_message = NULL; |
| 71 |
if(isset($_GET['custom_message'])) |
| 72 |
$success_message = esc_html(urldecode($_GET['custom_message'])); |
| 73 |
|
| 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); |
| 80 |
?> |
| 81 |
<div class="wdk-side-content"> |
| 82 |
<div class="wdk-col main"> |
| 83 |
<table class="form-table" role="presentation"> |
| 84 |
<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> |
| 92 |
<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> |
| 95 |
</td> |
| 96 |
</tr> |
| 97 |
<?php endif; ?> |
| 98 |
|
| 99 |
<?php if(get_option('wdk_sub_listings_enable')): ?> |
| 100 |
|
| 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> |
| 104 |
<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;?> |
| 110 |
</td> |
| 111 |
</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 |
} |
| 129 |
?> |
| 130 |
|
| 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> |
| 135 |
<a class="question_sure btn remove" href="#" title="Remove"><span class="dashicons dashicons-no"></span></a> |
| 136 |
</h3> |
| 137 |
</div> |
| 138 |
<?php endforeach;?> |
| 139 |
<?php endif;?> |
| 140 |
</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> |
| 148 |
</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;?> |
| 154 |
|
| 155 |
<?php endif;?> |
| 156 |
|
| 157 |
<?php endif;?> |
| 158 |
|
| 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'):?> |
| 161 |
<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> |
| 163 |
<td class="wdk_multi_treefield_dropdown_container"> |
| 164 |
<?php |
| 165 |
global $Winter_MVC_WDK; |
| 166 |
$Winter_MVC_WDK->load_helper('listing'); |
| 167 |
$Winter_MVC_WDK->model('category_m'); |
| 168 |
$field_value = wmvc_show_data('category_id', $db_data, ''); |
| 169 |
$field_key = 'category_id'; |
| 170 |
|
| 171 |
$categories = array(); |
| 172 |
if(!empty($field_value)) { |
| 173 |
$categories[] = $field_value; |
| 174 |
$category = $Winter_MVC_WDK->category_m->get($field_value, TRUE); |
| 175 |
|
| 176 |
while(!empty($category->parent_id)) { |
| 177 |
$category = $Winter_MVC_WDK->category_m->get($category->parent_id, TRUE); |
| 178 |
$categories[] = $category->idcategory; |
| 179 |
} |
| 180 |
krsort($categories); |
| 181 |
} else { |
| 182 |
$categories[] = 0; |
| 183 |
} |
| 184 |
|
| 185 |
wp_enqueue_style('wdk-treefield-dropdown'); |
| 186 |
wp_enqueue_script('wdk-treefield-dropdown'); |
| 187 |
wp_enqueue_style( 'dashicons' ); |
| 188 |
|
| 189 |
|
| 190 |
$level_max = $Winter_MVC_WDK->category_m->get_max_level(); |
| 191 |
|
| 192 |
$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'), |
| 199 |
]; |
| 200 |
?> |
| 201 |
|
| 202 |
<input name="<?php echo esc_attr($field_key); ?>" type="hidden" value="<?php echo esc_attr($field_value); ?>"> |
| 203 |
<?php |
| 204 |
$level = 0; |
| 205 |
$current = NULL; |
| 206 |
|
| 207 |
foreach ($categories as $category) { |
| 208 |
$current = $Winter_MVC_WDK->category_m->get($category, TRUE); |
| 209 |
|
| 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')); |
| 217 |
} |
| 218 |
|
| 219 |
foreach ($list as $list_value) { |
| 220 |
$values_list[$list_value->idcategory] = $list_value->category_title; |
| 221 |
} |
| 222 |
?> |
| 223 |
|
| 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"> |
| 225 |
<div class="wdk-field-group"> |
| 226 |
<?php echo wmvc_select_option('category_'.$level, $values_list, $category, 'class="wdk-control"');?> |
| 227 |
</div> |
| 228 |
</div> |
| 229 |
|
| 230 |
<?php |
| 231 |
$level++; |
| 232 |
} |
| 233 |
|
| 234 |
if($level<$level_max ) { |
| 235 |
for (; $level<$level_max;) { |
| 236 |
|
| 237 |
if(isset($placeholder[$level])) { |
| 238 |
$values_list = array(''=> $placeholder[$level]); |
| 239 |
} else { |
| 240 |
$values_list = array(''=> esc_html__('Select Sub Categories','wpdirectorykit')); |
| 241 |
} |
| 242 |
|
| 243 |
if($category) { |
| 244 |
$list = $Winter_MVC_WDK->category_m->get_by(array('parent_id = '.$category => NULL)); |
| 245 |
foreach ($list as $list_value) { |
| 246 |
$values_list[$list_value->idcategory] = $list_value->category_title; |
| 247 |
} |
| 248 |
$category = NULL; |
| 249 |
} |
| 250 |
|
| 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"> |
| 253 |
<div class="wdk-field-group"> |
| 254 |
<?php echo wmvc_select_option('category_'.$level, $values_list, NULL, 'class="wdk-control"');?> |
| 255 |
</div> |
| 256 |
</div> |
| 257 |
|
| 258 |
<?php |
| 259 |
$level++; |
| 260 |
} |
| 261 |
} |
| 262 |
?> |
| 263 |
</td> |
| 264 |
</tr> |
| 265 |
<?php else: ?> |
| 266 |
<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 > |
| 269 |
<div class="wdk-field-edit edittable"> |
| 270 |
<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'));?> |
| 272 |
</div> |
| 273 |
</div> |
| 274 |
</td> |
| 275 |
</tr> |
| 276 |
<?php endif; ?> |
| 277 |
<?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> |
| 286 |
<?php endif; ?> |
| 287 |
|
| 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'):?> |
| 290 |
<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> |
| 292 |
<td class="wdk_multi_treefield_dropdown_container"> |
| 293 |
<?php |
| 294 |
global $Winter_MVC_WDK; |
| 295 |
$Winter_MVC_WDK->load_helper('listing'); |
| 296 |
$Winter_MVC_WDK->model('location_m'); |
| 297 |
$field_value = wmvc_show_data('location_id', $db_data, ''); |
| 298 |
$field_key = 'location_id'; |
| 299 |
|
| 300 |
$locations = array(); |
| 301 |
if(!empty($field_value)) { |
| 302 |
$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); |
| 307 |
$locations[] = $location->idlocation; |
| 308 |
} |
| 309 |
krsort($locations); |
| 310 |
} else { |
| 311 |
$locations[] = 0; |
| 312 |
} |
| 313 |
|
| 314 |
wp_enqueue_style('wdk-treefield-dropdown'); |
| 315 |
wp_enqueue_script('wdk-treefield-dropdown'); |
| 316 |
wp_enqueue_style( 'dashicons' ); |
| 317 |
|
| 318 |
$level_max = $Winter_MVC_WDK->location_m->get_max_level(); |
| 319 |
|
| 320 |
$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'), |
| 327 |
]; |
| 328 |
?> |
| 329 |
|
| 330 |
<input name="<?php echo esc_attr($field_key); ?>" type="hidden" value="<?php echo esc_attr($field_value); ?>"> |
| 331 |
<?php |
| 332 |
$level = 0; |
| 333 |
$current = NULL; |
| 334 |
|
| 335 |
foreach ($locations as $location) { |
| 336 |
$current = $Winter_MVC_WDK->location_m->get($location, TRUE); |
| 337 |
|
| 338 |
$list = $Winter_MVC_WDK->location_m->get_by(array('parent_id = '.$current->parent_id => NULL)); |
| 339 |
|
| 340 |
if(isset($placeholder[$level])) { |
| 341 |
$values_list = array(''=> $placeholder[$level]); |
| 342 |
} else { |
| 343 |
$values_list = array(''=> esc_html__('Select Sub Area','wpdirectorykit')); |
| 344 |
} |
| 345 |
|
| 346 |
foreach ($list as $list_value) { |
| 347 |
$values_list[$list_value->idlocation] = $list_value->location_title; |
| 348 |
} |
| 349 |
?> |
| 350 |
|
| 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> |
| 355 |
</div> |
| 356 |
|
| 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]); |
| 366 |
} else { |
| 367 |
$values_list = array(''=> esc_html__('Select Sub Area','wpdirectorykit')); |
| 368 |
} |
| 369 |
|
| 370 |
|
| 371 |
if(isset($placeholder[$level])) { |
| 372 |
$values_list = array(''=> $placeholder[$level]); |
| 373 |
} else { |
| 374 |
$values_list = array(''=> esc_html__('Select Sub Area','wpdirectorykit')); |
| 375 |
} |
| 376 |
|
| 377 |
if($location) { |
| 378 |
$list = $Winter_MVC_WDK->location_m->get_by(array('parent_id = '.$location => NULL)); |
| 379 |
foreach ($list as $list_value) { |
| 380 |
$values_list[$list_value->idlocation] = $list_value->location_title; |
| 381 |
} |
| 382 |
$location = NULL; |
| 383 |
} |
| 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> |
| 390 |
</div> |
| 391 |
|
| 392 |
<?php |
| 393 |
$level++; |
| 394 |
} |
| 395 |
} |
| 396 |
?> |
| 397 |
</td> |
| 398 |
</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> |
| 407 |
</div> |
| 408 |
</td> |
| 409 |
</tr> |
| 410 |
<?php endif; ?> |
| 411 |
<?php endif; ?> |
| 412 |
|
| 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')): ?> |
| 435 |
<tr> |
| 436 |
<th scope="row"><label for="listing_agents"><?php echo __('Alternative Agents', 'wpdirectorykit'); ?></label></th> |
| 437 |
<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'));?> |
| 439 |
</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> |
| 448 |
</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 |
</div> |
| 452 |
</td> |
| 453 |
<?php endif; ?> |
| 454 |
</tr> |
| 455 |
<?php endif; ?> |
| 456 |
<?php endif; ?> |
| 457 |
|
| 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;?> |
| 468 |
|
| 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;?> |
| 479 |
|
| 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;?> |
| 489 |
|
| 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;?> |
| 499 |
|
| 500 |
<tr> |
| 501 |
<th scope="row"><label for="is_activated"><?php echo __('Is Activated', 'wpdirectorykit'); ?></label></th> |
| 502 |
<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> |
| 505 |
</td> |
| 506 |
</tr> |
| 507 |
<?php if(function_exists('run_wdk_membership')):?> |
| 508 |
<tr> |
| 509 |
<th scope="row"><label for="is_approved"><?php echo __('Is Approved', 'wpdirectorykit'); ?></label></th> |
| 510 |
<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> |
| 513 |
</td> |
| 514 |
</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 |
</tbody> |
| 523 |
</table> |
| 524 |
</div> |
| 525 |
<div class="wdk-col sidebar"> |
| 526 |
<?php if(get_option('wdk_is_address_enabled', FALSE)): ?> |
| 527 |
<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> |
| 529 |
</div> |
| 530 |
<br/> |
| 531 |
<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> |
| 534 |
<div class="wdk-field-edit inline"> |
| 535 |
<label for="listing_gps"><?php echo esc_html__('GPS','wpdirectorykit');?>:</label> |
| 536 |
<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');?>"> |
| 539 |
</div> |
| 540 |
</div> |
| 541 |
<?php endif;?> |
| 542 |
<?php if(!empty($edit_log)):?> |
| 543 |
<div class="wdk_editlog"> |
| 544 |
<table class="table table-bordered"> |
| 545 |
<caption><?php echo esc_html__('Edit History', 'wpdirectorykitesc_html(');?></caption> |
| 546 |
<thead> |
| 547 |
<tr> |
| 548 |
<th><?php echo esc_html__('User', 'wpdirectorykitesc_html(');?></th> |
| 549 |
<th><?php echo esc_html__('Date', 'wpdirectorykitesc_html(');?></th> |
| 550 |
<th><?php echo esc_html__('IP', 'wpdirectorykitesc_html(');?></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;?> |
| 561 |
|
| 562 |
</tbody> |
| 563 |
</table> |
| 564 |
</div> |
| 565 |
|
| 566 |
<?php endif;?> |
| 567 |
|
| 568 |
</div> |
| 569 |
</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;?> |
| 581 |
</div> |
| 582 |
</div> |
| 583 |
<div class="postbox listing_custom_fields" style="display: block;"> |
| 584 |
<div class="inside wdk-row"> |
| 585 |
<?php if(count($fields) == 0): ?> |
| 586 |
<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> |
| 588 |
</div> |
| 589 |
<?php endif; ?> |
| 590 |
|
| 591 |
<?php echo wdk_generate_fields($fields, $db_data); ?> |
| 592 |
</div> |
| 593 |
</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> |
| 598 |
</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 |
?> |
| 604 |
</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> |
| 621 |
</form> |
| 622 |
</div> |
| 623 |
|
| 624 |
<?php do_action('wpdirectorykit/admin/listing/edit/after_form', $db_data);?> |
| 625 |
</div> |
| 626 |
<?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'); |
| 635 |
?> |
| 636 |
|
| 637 |
<?php |
| 638 |
wp_enqueue_script( 'jquery-ui-core', false, array('jquery') ); |
| 639 |
wp_enqueue_script( 'jquery-ui-sortable', false, array('jquery') ); |
| 640 |
?> |
| 641 |
|
| 642 |
<script> |
| 643 |
// Generate table |
| 644 |
jQuery(document).ready(function($) { |
| 645 |
|
| 646 |
<?php if(get_option('wdk_is_address_enabled', FALSE)): ?> |
| 647 |
var wdk_edit_map_marker,wdk_timerMap,wdk_edit_map; |
| 648 |
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)); ?>], |
| 650 |
zoom: 4, |
| 651 |
}); |
| 652 |
|
| 653 |
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { |
| 654 |
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' |
| 655 |
}).addTo(wdk_edit_map); |
| 656 |
|
| 657 |
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} |
| 660 |
).addTo(wdk_edit_map); |
| 661 |
|
| 662 |
wdk_edit_map_marker.on('dragend', function(event){ |
| 663 |
clearTimeout(wdk_timerMap); |
| 664 |
var marker = event.target; |
| 665 |
var {lat,lng} = marker.getLatLng(); |
| 666 |
$('#input_lat').val(lat); |
| 667 |
$('#input_lng').val(lng); |
| 668 |
//retrieved the position |
| 669 |
}); |
| 670 |
|
| 671 |
/* reset map and gps */ |
| 672 |
$('.wdk_action_clear_gps_reset_map').on('click', function(e){ |
| 673 |
e.preventDefault(); |
| 674 |
$('#input_lat,#input_lng').val(''); |
| 675 |
|
| 676 |
/* 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)); ?>)); |
| 679 |
}); |
| 680 |
|
| 681 |
wdk_edit_map.on('click', function(e){ |
| 682 |
let lat = e.latlng.lat; |
| 683 |
let lng = e.latlng.lng; |
| 684 |
|
| 685 |
wdk_edit_map_marker.setLatLng([lat, lng]).update(); |
| 686 |
$('#input_lat').val(lat); |
| 687 |
$('#input_lng').val(lng); |
| 688 |
}) |
| 689 |
|
| 690 |
$('#input_address').on('change keyup', function (e) { |
| 691 |
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 |
}); |
| 705 |
}, 1000); |
| 706 |
}); |
| 707 |
|
| 708 |
$('#input_gps').on('change keyup', function (e) { |
| 709 |
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(); |
| 711 |
}) |
| 712 |
<?php endif;?> |
| 713 |
|
| 714 |
/* agents */ |
| 715 |
|
| 716 |
$('.agents_group .add_button').on( "click", function(e) { |
| 717 |
e.preventDefault(); |
| 718 |
var group_agent = $(this).closest('.agents_group'); |
| 719 |
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 |
{ |
| 732 |
wdk_log_notify('<?php echo esc_js(__('Already on list', 'wpdirectorykit')); ?>', 'error'); |
| 733 |
} |
| 734 |
} |
| 735 |
else |
| 736 |
{ |
| 737 |
wdk_log_notify('<?php echo esc_js(__('Not selected', 'wpdirectorykit')); ?>', 'error'); |
| 738 |
} |
| 739 |
}); |
| 740 |
|
| 741 |
$('.agents_group .rem_button').on( "click", function() { |
| 742 |
$(this).closest('.agents_group').find('#listing_agents option:selected:last').remove(); |
| 743 |
}); |
| 744 |
|
| 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 |
} |
| 750 |
}); |
| 751 |
|
| 752 |
wdk_childs_listings_list(); |
| 753 |
|
| 754 |
$('.select_ajax_user').on('select2:selecting', function (e) { |
| 755 |
// Get the selected option value |
| 756 |
var selectedValue = e.params.args.data.id; |
| 757 |
var selecteduserEditor = $('[name="user_id_editor"]').val(); |
| 758 |
|
| 759 |
// Check if the selected option should be prevented from being added |
| 760 |
if (selectedValue == selecteduserEditor) { |
| 761 |
// Prevent the option from being added |
| 762 |
e.preventDefault(); |
| 763 |
wdk_log_notify('<?php echo esc_js(esc_attr__('User Alread defiend like editor','wpdirectorykit'));?>', 'error'); |
| 764 |
} |
| 765 |
}); |
| 766 |
|
| 767 |
}); |
| 768 |
|
| 769 |
|
| 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(); |
| 777 |
|
| 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 |
}; |
| 784 |
|
| 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 +=','; |
| 790 |
|
| 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 |
} |
| 796 |
|
| 797 |
remove_child_listing(); |
| 798 |
|
| 799 |
el_wrapper.find( ".wdk-listing-childs-drop" ).sortable({ |
| 800 |
connectWith: ".wdk-listing-childs-drop", |
| 801 |
placeholder: "ui-sortable-placeholder widget-placeholder", |
| 802 |
update: function(event, ui) { |
| 803 |
save_data(); |
| 804 |
} |
| 805 |
}).disableSelection(); |
| 806 |
|
| 807 |
el_wrapper.find('.add_new_listing').on('click', function(e){ |
| 808 |
e.preventDefault(); |
| 809 |
|
| 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(); |
| 812 |
|
| 813 |
if(listing_id == '') { |
| 814 |
wdk_log_notify('<?php echo esc_js(esc_attr__('Listing Not Defined','wpdirectorykit'));?>', 'error'); |
| 815 |
return; |
| 816 |
} |
| 817 |
|
| 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 |
} |
| 822 |
|
| 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 |
} |
| 827 |
|
| 828 |
var item_html = '<div class="drop-listing-item" data-idlisting="'+listing_id+'">\n\ |
| 829 |
<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\ |
| 833 |
</h3> \n\ |
| 834 |
</div>'; |
| 835 |
|
| 836 |
el_wrapper.find( ".wdk-listing-childs-drop" ).append(item_html); |
| 837 |
remove_child_listing(); |
| 838 |
save_data(); |
| 839 |
}); |
| 840 |
}; |
| 841 |
|
| 842 |
</script> |
| 843 |
|
| 844 |
<style> |
| 845 |
|
| 846 |
.form-table .agent_add.form-inline .wdk-field-edit { |
| 847 |
display: inline-block; |
| 848 |
} |
| 849 |
|
| 850 |
.form-table .agent_add.form-inline .wdk-field-edit .wdk-field-container { |
| 851 |
padding: 0; |
| 852 |
} |
| 853 |
|
| 854 |
.form-table .agent_add.form-inline .wdk-field-edit, |
| 855 |
.form-table .agent_add.form-inline .button { |
| 856 |
margin: 15px 0px; |
| 857 |
} |
| 858 |
|
| 859 |
.form-table #listing_agents { |
| 860 |
max-width: 100%; |
| 861 |
width: 25em; |
| 862 |
} |
| 863 |
|
| 864 |
.form-table .agent_add.form-inline .wdk_dropdown_tree { |
| 865 |
width: 230px; |
| 866 |
max-width: 100%; |
| 867 |
} |
| 868 |
|
| 869 |
</style> |
| 870 |
|
| 871 |
<?php $this->view('general/footer', $data); ?> |