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 | elementor-extensions/class-hider.php +457 -11 1.2.8 → 1.5.9 View file →
@@ -51,8 +51,12 @@
51 51 'element' => 'common',
52 52 'action' => '_section_style',
53 53 ),
54 54 array(
55 + 'element' => 'container',
56 + 'action' => 'section_layout',
57 + ),
58 + array(
55 59 'element' => 'section',
56 60 'action' => 'section_advanced',
57 61 ),
58 62 array(
@@ -193,8 +197,12 @@
193 197
194 198 // SECTION
195 199 add_action( 'elementor/frontend/section/before_render', [ $this, '_start_element' ], 10, 1 );
196 200 add_action( 'elementor/frontend/section/after_render', [ $this, '_end_element' ], 10, 1 );
201 +
202 + // CONTAINER
203 + add_action( 'elementor/frontend/container/before_render', [ $this, '_start_element' ], 10, 1 );
204 + add_action( 'elementor/frontend/container/after_render', [ $this, '_end_element' ], 10, 1 );
197 205
198 206 // COLUMN
199 207 add_action( 'elementor/frontend/column/before_render', [ $this, '_start_element' ], 10, 1 );
200 208 add_action( 'elementor/frontend/column/after_render', [ $this, '_end_element' ], 10, 1 );
@@ -228,22 +236,45 @@
228 236 'tab' => 'advanced',
229 237 ]
230 238 );
231 239
232 - $WMVC = &wdk_get_instance();
233 - $WMVC->model('field_m');
234 - $fields_data = $WMVC->field_m->get();
240 + $fields_data = wdk_cached_field_get();
235 241 $fields_list = array('' => esc_html__('Not Selected', 'wpdirectorykit'));
236 242 $order_i = 0;
243 + $fields_allow_for_get = array();
244 + $fields_allow_for_compare = array();
245 + $fields_list [(++$order_i).'__section'] = esc_html__('-- Section Custom fields --', 'wpdirectorykit');
237 246
238 - $fields_list [(++$order_i).'__section'] = esc_html__('-- Section Custom fields --', 'wpdirectorykit');
247 + $fields_list [(++$order_i).'__hide_on_get'] = esc_html__('Hide if GET is', 'wpdirectorykit');
248 + $fields_allow_for_get[] = $order_i.'__hide_on_get';
249 + $fields_list [(++$order_i).'__show_on_get'] = esc_html__('Show if GET is', 'wpdirectorykit');
250 + $fields_allow_for_get[] = $order_i.'__show_on_get';
251 +
239 252 $fields_list [(++$order_i).'__profile_have_agency'] = esc_html__('Profile page is agency', 'wpdirectorykit');
253 + $fields_list [(++$order_i).'__profile_have_listings'] = esc_html__('Profile page have listings', 'wpdirectorykit');
254 + $fields_list [(++$order_i).'__profile_nothave_listings'] = esc_html__('Profile page haven\'t listings', 'wpdirectorykit');
255 + $fields_list [(++$order_i).'__profile_have_membership'] = esc_html__('Profile page have membership', 'wpdirectorykit');
256 + $fields_list [(++$order_i).'__profile_nothave_membership'] = esc_html__('Profile page haven\'t membership', 'wpdirectorykit');
240 257 $fields_list [(++$order_i).'__have_agency'] = esc_html__('Listing have agency', 'wpdirectorykit');
241 258 $fields_list [(++$order_i).'__have_sublistings'] = esc_html__('Listing have sublistings', 'wpdirectorykit');
259 + $fields_list [(++$order_i).'__have_wdk_rating'] = esc_html__('Exists WDK Rating', 'wpdirectorykit');
260 + $fields_list [(++$order_i).'__havent_wdk_rating'] = esc_html__('WDK Rating is not exists', 'wpdirectorykit');
242 261 $fields_list [(++$order_i).'__have_calendar'] = esc_html__('Listing have calendar', 'wpdirectorykit');
243 262 $fields_list [(++$order_i).'__havent_calendar'] = esc_html__('Listing not have calendar', 'wpdirectorykit');
263 + $fields_list [(++$order_i).'__havent_images'] = esc_html__('Listing not have images', 'wpdirectorykit');
264 + $fields_list [(++$order_i).'__have_images'] = esc_html__('Listing have images', 'wpdirectorykit');
265 + $fields_list [(++$order_i).'__havent_plan_images'] = esc_html__('Listing not have plan images', 'wpdirectorykit');
266 + $fields_list [(++$order_i).'__have_plan_images'] = esc_html__('Listing have plan images', 'wpdirectorykit');
267 +
268 + $fields_list [(++$order_i).'__membership_subscription_id_visitor'] = esc_html__('Id Membership Subscription Visitor', 'wpdirectorykit');
269 + $fields_allow_for_compare[] = ($order_i).'__membership_subscription_id_visitor';
270 +
271 + $fields_list [(++$order_i).'__membership_subscription_id_owner'] = esc_html__('Id Membership Subscription Owner', 'wpdirectorykit');
272 + $fields_allow_for_compare[] = ($order_i).'__membership_subscription_id_owner';
273 +
244 274 $fields_list [(++$order_i).'__idlisting'] = esc_html__('Id listing', 'wpdirectorykit');
245 275 $fields_list [(++$order_i).'__post_id'] = esc_html__('Post Id', 'wpdirectorykit');
276 + $fields_allow_for_compare[] = ($order_i).'__post_id';
246 277 $fields_list [(++$order_i).'__lat'] = esc_html__('Gps Lat', 'wpdirectorykit');
247 278 $fields_list [(++$order_i).'__lng'] = esc_html__('Gps Lng', 'wpdirectorykit');
248 279 $fields_list [(++$order_i).'__date'] = esc_html__('Date', 'wpdirectorykit');
249 280 $fields_list [(++$order_i).'__date_modified'] = esc_html__('Date Modified', 'wpdirectorykit');
@@ -249,10 +280,11 @@
249 280 $fields_list [(++$order_i).'__date_modified'] = esc_html__('Date Modified', 'wpdirectorykit');
250 281 $fields_list [(++$order_i).'__post_content'] = esc_html__('WP Content', 'wpdirectorykit');
251 282 $fields_list [(++$order_i).'__address'] = esc_html__('Address', 'wpdirectorykit');
252 283 $fields_list [(++$order_i).'__category_id'] = esc_html__('Category', 'wpdirectorykit');
284 + $fields_allow_for_compare[] = ($order_i).'__category_id';
253 285 $fields_list [(++$order_i).'__location_id'] = esc_html__('Location', 'wpdirectorykit');
254 -
286 + $fields_allow_for_compare[] = ($order_i).'__location_id';
255 287 foreach($fields_data as $field)
256 288 {
257 289 if(wmvc_show_data('field_type', $field) == 'SECTION') {
258 290 $fields_list [(++$order_i).'section__'.wmvc_show_data('idfield', $field)] = '-- '.esc_html__('Section', 'wpdirectorykit').' '.wmvc_show_data('field_label', $field).' --';
@@ -257,12 +289,24 @@
257 289 if(wmvc_show_data('field_type', $field) == 'SECTION') {
258 290 $fields_list [(++$order_i).'section__'.wmvc_show_data('idfield', $field)] = '-- '.esc_html__('Section', 'wpdirectorykit').' '.wmvc_show_data('field_label', $field).' --';
259 291 } else {
260 292 $fields_list[(++$order_i).'__'.wmvc_show_data('idfield', $field)] = '#'.wmvc_show_data('idfield', $field).' '.wmvc_show_data('field_label', $field).'['.wmvc_show_data('field_type', $field).']';
293 + $fields_allow_for_compare[] = ($order_i).'__'.wmvc_show_data('idfield', $field);
261 294 }
262 295 }
263 296
264 297 $element->add_control(
298 + 'class_hider_important_note',
299 + [
300 + 'label' => '',
301 + 'type' => \Elementor\Controls_Manager::RAW_HTML,
302 + 'raw' => esc_html__('Element will be hidden if related field is empty or condition is met.', 'wpdirectorykit'),
303 + 'content_classes' => 'wdk_elementor_hint',
304 + 'separator' => 'after',
305 + ]
306 + );
307 +
308 + $element->add_control(
265 309 'wdk_related_field',
266 310 [
267 311 'label' => esc_html__('WDK Related FIeld', 'wpdirectorykit'),
268 312 'type' => Controls_Manager::SELECT,
@@ -267,12 +311,71 @@
267 311 'label' => esc_html__('WDK Related FIeld', 'wpdirectorykit'),
268 312 'type' => Controls_Manager::SELECT,
269 313 'options' => $fields_list,
270 314 'default' => '',
271 - 'separator' => 'after',
315 + 'return_value' => 'section',
316 + 'frontend_available' => true,
317 + 'render_type' => 'none',
272 318 ]
273 319 );
274 320
321 + $element->add_control(
322 + 'wdk_related_show_on_get_key',
323 + [
324 + 'label' => __( 'Key', 'wpdirectorykit' ),
325 + 'type' => \Elementor\Controls_Manager::TEXT,
326 + 'default' => '',
327 + 'condition' => [
328 + 'wdk_related_field' => $fields_allow_for_get,
329 + ],
330 + ]
331 + );
332 +
333 + $element->add_control(
334 + 'wdk_related_show_on_get_value',
335 + [
336 + 'label' => __( 'Value', 'wpdirectorykit' ),
337 + 'type' => \Elementor\Controls_Manager::TEXT,
338 + 'default' => '',
339 + 'condition' => [
340 + 'wdk_related_field' => $fields_allow_for_get,
341 + ],
342 + ]
343 + );
344 +
345 + $element->add_control(
346 + 'wdk_related_compare_type',
347 + [
348 + 'label' => __( 'Compare Type', 'wpdirectorykit' ),
349 + 'type' => \Elementor\Controls_Manager::SELECT,
350 + 'default' => '',
351 + 'options' => [
352 + '' => esc_html__('Default (if not empty)', 'wpdirectorykit'),
353 + '==' => esc_html__('==', 'wpdirectorykit'),
354 + '!=' => esc_html__('!=', 'wpdirectorykit'),
355 + '>' => esc_html__('>', 'wpdirectorykit'),
356 + '<' => esc_html__('<', 'wpdirectorykit'),
357 + '!in' => esc_html__('!in', 'wpdirectorykit'),
358 + 'in' => esc_html__('in', 'wpdirectorykit'),
359 + ],
360 + 'condition' => [
361 + 'wdk_related_field' => $fields_allow_for_compare,
362 + ],
363 + ]
364 + );
365 +
366 + $element->add_control(
367 + 'wdk_related_compare_value',
368 + [
369 + 'label' => __( 'Value', 'wpdirectorykit' ),
370 + 'type' => \Elementor\Controls_Manager::TEXT,
371 + 'default' => '',
372 + 'condition' => [
373 + 'wdk_related_field' => $fields_allow_for_compare,
374 + ],
375 + ]
376 + );
377 +
275 378 $element->end_controls_section();
276 379
277 380 }
278 381
@@ -279,8 +382,9 @@
279 382 public function _start_element( $element ) {
280 383 global $wdk_listing_id;
281 384 $wdkmembership_user_id = wdk_get_profile_page_id();
282 385
386 + //if(Plugin::$instance->editor->is_edit_mode())return;
283 387 if(Plugin::$instance->editor->is_edit_mode() || (empty($wdk_listing_id) && empty($wdkmembership_user_id)))return;
284 388 //if(!in_array($element->get_name(), $this->supported_elements))return;
285 389
286 390 $WMVC = &wdk_get_instance();
@@ -286,11 +390,12 @@
286 390 $WMVC = &wdk_get_instance();
287 391 $WMVC->model('field_m');
288 392 $WMVC->load_helper('listing');
289 393 $settings = $element->get_settings_for_display();
290 -
394 +
291 395 if(isset($settings['wdk_related_field']) && !empty($settings['wdk_related_field']))
292 396 {
397 +
293 398 $field_id = NULL;
294 399 $field_value = NULL;
295 400 $field_empty = FALSE;
296 401 if(strpos($settings['wdk_related_field'], '__') !== FALSE){
@@ -295,10 +400,51 @@
295 400 $field_empty = FALSE;
296 401 if(strpos($settings['wdk_related_field'], '__') !== FALSE){
297 402 $field_id = substr($settings['wdk_related_field'], strpos($settings['wdk_related_field'],'__')+2);
298 403 }
404 +
299 405 if(is_null($field_id))return;
300 - if($field_id == 'havent_calendar' || $field_id == 'have_calendar') {
406 + if($field_id == 'show_on_get' || $field_id == 'hide_on_get') {
407 + if(!empty($settings['wdk_related_show_on_get_key']) && !empty($settings['wdk_related_show_on_get_value'])) {
408 + $get_val = null;
409 + if(isset($_GET[$settings['wdk_related_show_on_get_key']])){
410 + $get_val = sanitize_text_field($_GET[$settings['wdk_related_show_on_get_key']]);
411 + }
412 +
413 + if($field_id == 'hide_on_get') {
414 + if($get_val == $settings['wdk_related_show_on_get_value']){
415 + $field_empty = true;
416 + }
417 + } else if($field_id == 'show_on_get') {
418 + if($get_val !== $settings['wdk_related_show_on_get_value']){
419 + $field_empty = true;
420 + }
421 + }
422 + }
423 + }elseif($field_id == 'havent_wdk_rating' || $field_id == 'have_wdk_rating') {
424 + if(function_exists('run_wdk_reviews')) {
425 + global $Winter_MVC_wdk_reviews;
426 + $Winter_MVC_wdk_reviews->model('reviews_m');
427 + $generate_avg_total = null;
428 +
429 + if($wdkmembership_user_id) {
430 + $generate_avg_total = $Winter_MVC_wdk_reviews->reviews_m->generate_avg_total($wdkmembership_user_id);
431 + } else {
432 + $generate_avg_total = $Winter_MVC_wdk_reviews->reviews_m->generate_avg_total($wdk_listing_id);
433 + }
434 +
435 + if($field_id == 'havent_wdk_rating') {
436 +
437 + if($generate_avg_total && !empty($generate_avg_total['reviewers_total'])){
438 + $field_empty = true;
439 + }
440 + } else if($field_id == 'have_wdk_rating') {
441 + if(!$generate_avg_total || ($generate_avg_total && empty($generate_avg_total['reviewers_total']))){
442 + $field_empty = true;
443 + }
444 + }
445 + }
446 + }elseif($field_id == 'havent_calendar' || $field_id == 'have_calendar') {
301 447 if(function_exists('run_wdk_bookings')) {
302 448 global $Winter_MVC_wdk_bookings;
303 449 $Winter_MVC_wdk_bookings->model('calendar_m');
304 450 $calendar = $Winter_MVC_wdk_bookings->calendar_m->get_by(array('post_id' => $wdk_listing_id, 'is_activated' => 1));
@@ -323,8 +469,51 @@
323 469 $field_empty = false;
324 470 }
325 471
326 472 }
473 + } elseif($field_id == 'profile_have_listings') {
474 + $wdkmembership_user_id = wdk_get_profile_page_id();
475 + $field_empty = true;
476 +
477 +
478 + if($wdkmembership_user_id) {
479 + $user = wdk_get_user_data($wdkmembership_user_id);
480 + $WMVC->model('listing_m');
481 + if($WMVC->listing_m->total(array('is_activated' => 1,'is_approved'=>1), TRUE, $wdkmembership_user_id, TRUE)) {
482 + $field_empty = false;
483 + }
484 + }
485 + } elseif($field_id == 'profile_nothave_listings') {
486 + $wdkmembership_user_id = wdk_get_profile_page_id();
487 + $field_empty = true;
488 +
489 +
490 + if($wdkmembership_user_id) {
491 + $user = wdk_get_user_data($wdkmembership_user_id);
492 + $WMVC->model('listing_m');
493 + if(!$WMVC->listing_m->total(array('is_activated' => 1,'is_approved'=>1), TRUE, $wdkmembership_user_id, TRUE)) {
494 + $field_empty = false;
495 + }
496 + }
497 + } elseif($field_id == 'profile_have_listings') {
498 + $wdkmembership_user_id = wdk_get_profile_page_id();
499 + $field_empty = true;
500 +
501 +
502 + if($wdkmembership_user_id) {
503 + if(wdk_membership_subscription_booking_enabled($wdkmembership_user_id)) {
504 + $field_empty = false;
505 + }
506 + }
507 + } elseif($field_id == 'profile_nothave_membership') {
508 + $wdkmembership_user_id = wdk_get_profile_page_id();
509 + $field_empty = true;
510 +
511 + if($wdkmembership_user_id) {
512 + if(!wdk_membership_subscription_booking_enabled($wdkmembership_user_id)) {
513 + $field_empty = false;
514 + }
515 + }
327 516 } elseif($field_id == 'have_agency') {
328 517 $field_empty = true;
329 518 if(function_exists('run_wdk_membership') && file_exists(WDK_MEMBERSHIP_PATH.'application/models/Agency_agent_m.php')) {
330 519 if(wdk_field_value ('user_id_editor', $wdk_listing_id)) {
@@ -329,8 +518,9 @@
329 518 if(function_exists('run_wdk_membership') && file_exists(WDK_MEMBERSHIP_PATH.'application/models/Agency_agent_m.php')) {
330 519 if(wdk_field_value ('user_id_editor', $wdk_listing_id)) {
331 520 $agent_id = wdk_field_value ('user_id_editor', $wdk_listing_id);
332 521 global $Winter_MVC_wdk_membership;
522 + $Winter_MVC_wdk_membership->model('agency_agent_m');
333 523 $agent_agency = $Winter_MVC_wdk_membership->agency_agent_m->get_by(array('agent_id' => $agent_id, 'status' => 'CONFIRMED'), TRUE);
334 524 if($agent_agency) {
335 525 $user = wdk_get_user_data( wmvc_show_data('agency_id', $agent_agency, 0));
336 526 if($user){
@@ -349,8 +539,30 @@
349 539 $field_empty = false;
350 540 break;
351 541 }
352 542 }
543 + } elseif($field_id == 'havent_images' || $field_id == 'have_images') {
544 + $images = wdk_field_value('listing_images', $wdk_listing_id);
545 + if($field_id == 'havent_images') {
546 + if($images){
547 + $field_empty = true;
548 + }
549 + } else if($field_id == 'have_images') {
550 + if(!$images){
551 + $field_empty = true;
552 + }
553 + }
554 + } elseif($field_id == 'havent_plan_images' || $field_id == 'have_plan_images') {
555 + $images = wdk_field_value('listing_plans_documents', $wdk_listing_id);
556 + if($field_id == 'havent_plan_images') {
557 + if($images){
558 + $field_empty = true;
559 + }
560 + } else if($field_id == 'have_plan_images') {
561 + if(!$images){
562 + $field_empty = true;
563 + }
564 + }
353 565 } elseif(wdk_field_option($field_id, 'field_type') == "SECTION") {
354 566
355 567 // get all section fields
356 568 $sections_data = $WMVC->field_m->get_fields_section();
@@ -369,9 +581,74 @@
369 581 else
370 582 {
371 583 $field_value = wdk_field_value($field_id, $wdk_listing_id);
372 584
373 - if(empty($field_value))$field_empty = TRUE;
585 + if($field_id == 'membership_subscription_id_visitor') {
586 + if(get_current_user_id()) {
587 + $field_value = wdk_get_user_subscription_id(get_current_user_id());
588 + } else {
589 + $field_value = 0;
590 + }
591 + }
592 +
593 + if($field_id == 'membership_subscription_id_owner') {
594 + if(wdk_field_value('user_id_editor', $wdk_listing_id)) {
595 + $field_value = wdk_get_user_subscription_id(wdk_field_value('user_id_editor', $wdk_listing_id));
596 + } else {
597 + $field_value = 0;
598 + }
599 + }
600 +
601 + if(!empty($settings['wdk_related_compare_type'])) {
602 + switch ($settings['wdk_related_compare_type']) {
603 + case '==':
604 + if($field_value == $settings['wdk_related_compare_value']) {
605 + $field_empty = TRUE;
606 + }
607 + break;
608 + case '!=':
609 + if($field_value != $settings['wdk_related_compare_value']) {
610 + $field_empty = TRUE;
611 + }
612 + break;
613 + case '>':
614 + if($field_value > $settings['wdk_related_compare_value']) {
615 + $field_empty = TRUE;
616 + }
617 + break;
618 + case '<':
619 + if($field_value < $settings['wdk_related_compare_value']) {
620 + $field_empty = TRUE;
621 + }
622 + break;
623 + case 'in':
624 + // Accept comma separated values or array
625 + $compare_values = $settings['wdk_related_compare_value'];
626 + if (!is_array($compare_values)) {
627 + $compare_values = array_map('trim', explode(',', $compare_values));
628 + // dump($compare_values);
629 + }
630 + if (in_array($field_value, $compare_values)) {
631 + $field_empty = TRUE;
632 + }
633 + break;
634 + case '!in':
635 + // Accept comma separated values or array
636 + $compare_values = $settings['wdk_related_compare_value'];
637 + if (!is_array($compare_values)) {
638 + $compare_values = array_map('trim', explode(',', $compare_values));
639 + }
640 + if (!in_array($field_value, $compare_values)) {
641 + $field_empty = TRUE;
642 + }
643 + break;
644 + default:
645 + // No action
646 + break;
647 + }
648 + } else {
649 + if(empty($field_value))$field_empty = TRUE;
650 + }
374 651 }
375 652
376 653 if($field_empty)
377 654 {
@@ -391,8 +668,9 @@
391 668 global $wdk_listing_id;
392 669
393 670 $wdkmembership_user_id = wdk_get_profile_page_id();
394 671
672 + //if(Plugin::$instance->editor->is_edit_mode())return;
395 673 if(Plugin::$instance->editor->is_edit_mode() || (empty($wdk_listing_id) && empty($wdkmembership_user_id)))return;
396 674 //if(!in_array($element->get_name(), $this->supported_elements))return;
397 675
398 676 $WMVC = &wdk_get_instance();
@@ -409,9 +687,47 @@
409 687 $field_id = substr($settings['wdk_related_field'], strpos($settings['wdk_related_field'],'__')+2);
410 688 }
411 689
412 690 if(is_null($field_id))return;
413 - if($field_id == 'havent_calendar' || $field_id == 'have_calendar') {
691 + if($field_id == 'show_on_get' || $field_id == 'hide_on_get') {
692 + if(!empty($settings['wdk_related_show_on_get_key']) && !empty($settings['wdk_related_show_on_get_value'])) {
693 + $get_val = null;
694 + if(isset($_GET[$settings['wdk_related_show_on_get_key']])){
695 + $get_val = sanitize_text_field($_GET[$settings['wdk_related_show_on_get_key']]);
696 + }
697 + if($field_id == 'hide_on_get') {
698 + if($get_val == $settings['wdk_related_show_on_get_value']){
699 + $field_empty = true;
700 + }
701 + } else if($field_id == 'show_on_get') {
702 + if($get_val !== $settings['wdk_related_show_on_get_value']){
703 + $field_empty = true;
704 + }
705 + }
706 + }
707 + }elseif($field_id == 'havent_wdk_rating' || $field_id == 'have_wdk_rating') {
708 + if(function_exists('run_wdk_reviews')) {
709 + global $Winter_MVC_wdk_reviews;
710 + $Winter_MVC_wdk_reviews->model('reviews_m');
711 + $generate_avg_total = null;
712 +
713 + if($wdkmembership_user_id) {
714 + $generate_avg_total = $Winter_MVC_wdk_reviews->reviews_m->generate_avg_total($wdkmembership_user_id);
715 + } else {
716 + $generate_avg_total = $Winter_MVC_wdk_reviews->reviews_m->generate_avg_total($wdk_listing_id);
717 + }
718 +
719 + if($field_id == 'havent_wdk_rating') {
720 + if($generate_avg_total && !empty($generate_avg_total['reviewers_total'])){
721 + $field_empty = true;
722 + }
723 + } else if($field_id == 'have_wdk_rating') {
724 + if(!$generate_avg_total || ($generate_avg_total && empty($generate_avg_total['reviewers_total']))){
725 + $field_empty = true;
726 + }
727 + }
728 + }
729 + }elseif($field_id == 'havent_calendar' || $field_id == 'have_calendar') {
414 730 if(function_exists('run_wdk_bookings')) {
415 731 global $Winter_MVC_wdk_bookings;
416 732 $Winter_MVC_wdk_bookings->model('calendar_m');
417 733 $calendar = $Winter_MVC_wdk_bookings->calendar_m->get_by(array('post_id' => $wdk_listing_id, 'is_activated' => 1));
@@ -435,8 +751,27 @@
435 751 $field_empty = false;
436 752 break;
437 753 }
438 754 }
755 + } elseif($field_id == 'profile_have_listings') {
756 + $wdkmembership_user_id = wdk_get_profile_page_id();
757 + $field_empty = true;
758 +
759 +
760 + if($wdkmembership_user_id) {
761 + if(wdk_membership_subscription_booking_enabled($wdkmembership_user_id)) {
762 + $field_empty = false;
763 + }
764 + }
765 + } elseif($field_id == 'profile_nothave_membership') {
766 + $wdkmembership_user_id = wdk_get_profile_page_id();
767 + $field_empty = true;
768 +
769 + if($wdkmembership_user_id) {
770 + if(!wdk_membership_subscription_booking_enabled($wdkmembership_user_id)) {
771 + $field_empty = false;
772 + }
773 + }
439 774 } elseif($field_id == 'have_agency') {
440 775 $field_empty = true;
441 776 if(function_exists('run_wdk_membership') && file_exists(WDK_MEMBERSHIP_PATH.'application/models/Agency_agent_m.php')) {
442 777 if(wdk_field_value ('user_id_editor', $wdk_listing_id)) {
@@ -441,8 +776,9 @@
441 776 if(function_exists('run_wdk_membership') && file_exists(WDK_MEMBERSHIP_PATH.'application/models/Agency_agent_m.php')) {
442 777 if(wdk_field_value ('user_id_editor', $wdk_listing_id)) {
443 778 $agent_id = wdk_field_value ('user_id_editor', $wdk_listing_id);
444 779 global $Winter_MVC_wdk_membership;
780 + $Winter_MVC_wdk_membership->model('agency_agent_m');
445 781 $agent_agency = $Winter_MVC_wdk_membership->agency_agent_m->get_by(array('agent_id' => $agent_id, 'status' => 'CONFIRMED'), TRUE);
446 782 if($agent_agency) {
447 783 $user = wdk_get_user_data( wmvc_show_data('agency_id', $agent_agency, 0));
448 784 if($user){
@@ -460,8 +796,54 @@
460 796 $field_empty = false;
461 797 }
462 798
463 799 }
800 + } elseif($field_id == 'profile_have_listings') {
801 + $wdkmembership_user_id = wdk_get_profile_page_id();
802 + $field_empty = true;
803 +
804 +
805 + if($wdkmembership_user_id) {
806 + $user = wdk_get_user_data($wdkmembership_user_id);
807 + $WMVC->model('listing_m');
808 + if($WMVC->listing_m->total(array('is_activated' => 1,'is_approved'=>1), TRUE, $wdkmembership_user_id, TRUE)) {
809 + $field_empty = false;
810 + }
811 + }
812 + } elseif($field_id == 'profile_nothave_listings') {
813 + $wdkmembership_user_id = wdk_get_profile_page_id();
814 + $field_empty = true;
815 +
816 +
817 + if($wdkmembership_user_id) {
818 + $user = wdk_get_user_data($wdkmembership_user_id);
819 + $WMVC->model('listing_m');
820 + if(!$WMVC->listing_m->total(array('is_activated' => 1,'is_approved'=>1), TRUE, $wdkmembership_user_id, TRUE)) {
821 + $field_empty = false;
822 + }
823 + }
824 + } elseif($field_id == 'havent_images' || $field_id == 'have_images') {
825 + $images = wdk_field_value('listing_images', $wdk_listing_id);
826 + if($field_id == 'havent_images') {
827 + if($images){
828 + $field_empty = true;
829 + }
830 + } else if($field_id == 'have_images') {
831 + if(!$images){
832 + $field_empty = true;
833 + }
834 + }
835 + } elseif($field_id == 'havent_plan_images' || $field_id == 'have_plan_images') {
836 + $images = wdk_field_value('listing_plans_documents', $wdk_listing_id);
837 + if($field_id == 'havent_plan_images') {
838 + if($images){
839 + $field_empty = true;
840 + }
841 + } else if($field_id == 'have_plan_images') {
842 + if(!$images){
843 + $field_empty = true;
844 + }
845 + }
464 846 } elseif(wdk_field_option($field_id, 'field_type') == "SECTION") {
465 847
466 848 // get all section fields
467 849 $sections_data = $WMVC->field_m->get_fields_section();
@@ -480,9 +862,73 @@
480 862 else
481 863 {
482 864 $field_value = wdk_field_value($field_id, $wdk_listing_id);
483 865
484 - if(empty($field_value))$field_empty = TRUE;
866 + if($field_id == 'membership_subscription_id_visitor') {
867 + if(get_current_user_id()) {
868 + $field_value = wdk_get_user_subscription_id(get_current_user_id());
869 + } else {
870 + $field_value = 0;
871 + }
872 + }
873 +
874 + if($field_id == 'membership_subscription_id_owner') {
875 + if(wdk_field_value('user_id_editor', $wdk_listing_id)) {
876 + $field_value = wdk_get_user_subscription_id(wdk_field_value('user_id_editor', $wdk_listing_id));
877 + } else {
878 + $field_value = 0;
879 + }
880 + }
881 +
882 + if(!empty($settings['wdk_related_compare_type'])) {
883 + switch ($settings['wdk_related_compare_type']) {
884 + case '==':
885 + if($field_value == $settings['wdk_related_compare_value']) {
886 + $field_empty = TRUE;
887 + }
888 + break;
889 + case '!=':
890 + if($field_value != $settings['wdk_related_compare_value']) {
891 + $field_empty = TRUE;
892 + }
893 + break;
894 + case '>':
895 + if($field_value > $settings['wdk_related_compare_value']) {
896 + $field_empty = TRUE;
897 + }
898 + break;
899 + case '<':
900 + if($field_value < $settings['wdk_related_compare_value']) {
901 + $field_empty = TRUE;
902 + }
903 + break;
904 + case 'in':
905 + // Accept comma separated values or array
906 + $compare_values = $settings['wdk_related_compare_value'];
907 + if (!is_array($compare_values)) {
908 + $compare_values = array_map('trim', explode(',', $compare_values));
909 + }
910 + if (in_array($field_value, $compare_values)) {
911 + $field_empty = TRUE;
912 + }
913 + break;
914 + case '!in':
915 + // Accept comma separated values or array
916 + $compare_values = $settings['wdk_related_compare_value'];
917 + if (!is_array($compare_values)) {
918 + $compare_values = array_map('trim', explode(',', $compare_values));
919 + }
920 + if (!in_array($field_value, $compare_values)) {
921 + $field_empty = TRUE;
922 + }
923 + break;
924 + default:
925 + // No action
926 + break;
927 + }
928 + } else {
929 + if(empty($field_value))$field_empty = TRUE;
930 + }
485 931 }
486 932
487 933 if($field_empty)
488 934 {