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 +418 -7 1.2.9 → 1.5.9 View file →
@@ -239,19 +239,42 @@
239 239
240 240 $fields_data = wdk_cached_field_get();
241 241 $fields_list = array('' => esc_html__('Not Selected', 'wpdirectorykit'));
242 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');
243 246
244 - $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 +
245 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');
246 257 $fields_list [(++$order_i).'__have_agency'] = esc_html__('Listing have agency', 'wpdirectorykit');
247 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');
248 261 $fields_list [(++$order_i).'__have_calendar'] = esc_html__('Listing have calendar', 'wpdirectorykit');
249 262 $fields_list [(++$order_i).'__havent_calendar'] = esc_html__('Listing not have calendar', 'wpdirectorykit');
250 263 $fields_list [(++$order_i).'__havent_images'] = esc_html__('Listing not have images', 'wpdirectorykit');
251 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 +
252 274 $fields_list [(++$order_i).'__idlisting'] = esc_html__('Id listing', 'wpdirectorykit');
253 275 $fields_list [(++$order_i).'__post_id'] = esc_html__('Post Id', 'wpdirectorykit');
276 + $fields_allow_for_compare[] = ($order_i).'__post_id';
254 277 $fields_list [(++$order_i).'__lat'] = esc_html__('Gps Lat', 'wpdirectorykit');
255 278 $fields_list [(++$order_i).'__lng'] = esc_html__('Gps Lng', 'wpdirectorykit');
256 279 $fields_list [(++$order_i).'__date'] = esc_html__('Date', 'wpdirectorykit');
257 280 $fields_list [(++$order_i).'__date_modified'] = esc_html__('Date Modified', 'wpdirectorykit');
@@ -257,10 +280,11 @@
257 280 $fields_list [(++$order_i).'__date_modified'] = esc_html__('Date Modified', 'wpdirectorykit');
258 281 $fields_list [(++$order_i).'__post_content'] = esc_html__('WP Content', 'wpdirectorykit');
259 282 $fields_list [(++$order_i).'__address'] = esc_html__('Address', 'wpdirectorykit');
260 283 $fields_list [(++$order_i).'__category_id'] = esc_html__('Category', 'wpdirectorykit');
284 + $fields_allow_for_compare[] = ($order_i).'__category_id';
261 285 $fields_list [(++$order_i).'__location_id'] = esc_html__('Location', 'wpdirectorykit');
262 -
286 + $fields_allow_for_compare[] = ($order_i).'__location_id';
263 287 foreach($fields_data as $field)
264 288 {
265 289 if(wmvc_show_data('field_type', $field) == 'SECTION') {
266 290 $fields_list [(++$order_i).'section__'.wmvc_show_data('idfield', $field)] = '-- '.esc_html__('Section', 'wpdirectorykit').' '.wmvc_show_data('field_label', $field).' --';
@@ -265,12 +289,24 @@
265 289 if(wmvc_show_data('field_type', $field) == 'SECTION') {
266 290 $fields_list [(++$order_i).'section__'.wmvc_show_data('idfield', $field)] = '-- '.esc_html__('Section', 'wpdirectorykit').' '.wmvc_show_data('field_label', $field).' --';
267 291 } else {
268 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);
269 294 }
270 295 }
271 296
272 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(
273 309 'wdk_related_field',
274 310 [
275 311 'label' => esc_html__('WDK Related FIeld', 'wpdirectorykit'),
276 312 'type' => Controls_Manager::SELECT,
@@ -281,8 +317,65 @@
281 317 'render_type' => 'none',
282 318 ]
283 319 );
284 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 +
285 378 $element->end_controls_section();
286 379
287 380 }
288 381
@@ -289,8 +382,9 @@
289 382 public function _start_element( $element ) {
290 383 global $wdk_listing_id;
291 384 $wdkmembership_user_id = wdk_get_profile_page_id();
292 385
386 + //if(Plugin::$instance->editor->is_edit_mode())return;
293 387 if(Plugin::$instance->editor->is_edit_mode() || (empty($wdk_listing_id) && empty($wdkmembership_user_id)))return;
294 388 //if(!in_array($element->get_name(), $this->supported_elements))return;
295 389
296 390 $WMVC = &wdk_get_instance();
@@ -296,9 +390,9 @@
296 390 $WMVC = &wdk_get_instance();
297 391 $WMVC->model('field_m');
298 392 $WMVC->load_helper('listing');
299 393 $settings = $element->get_settings_for_display();
300 -
394 +
301 395 if(isset($settings['wdk_related_field']) && !empty($settings['wdk_related_field']))
302 396 {
303 397
304 398 $field_id = NULL;
@@ -306,10 +400,51 @@
306 400 $field_empty = FALSE;
307 401 if(strpos($settings['wdk_related_field'], '__') !== FALSE){
308 402 $field_id = substr($settings['wdk_related_field'], strpos($settings['wdk_related_field'],'__')+2);
309 403 }
404 +
310 405 if(is_null($field_id))return;
311 - 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') {
312 447 if(function_exists('run_wdk_bookings')) {
313 448 global $Winter_MVC_wdk_bookings;
314 449 $Winter_MVC_wdk_bookings->model('calendar_m');
315 450 $calendar = $Winter_MVC_wdk_bookings->calendar_m->get_by(array('post_id' => $wdk_listing_id, 'is_activated' => 1));
@@ -334,8 +469,51 @@
334 469 $field_empty = false;
335 470 }
336 471
337 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 + }
338 516 } elseif($field_id == 'have_agency') {
339 517 $field_empty = true;
340 518 if(function_exists('run_wdk_membership') && file_exists(WDK_MEMBERSHIP_PATH.'application/models/Agency_agent_m.php')) {
341 519 if(wdk_field_value ('user_id_editor', $wdk_listing_id)) {
@@ -372,8 +550,19 @@
372 550 if(!$images){
373 551 $field_empty = true;
374 552 }
375 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 + }
376 565 } elseif(wdk_field_option($field_id, 'field_type') == "SECTION") {
377 566
378 567 // get all section fields
379 568 $sections_data = $WMVC->field_m->get_fields_section();
@@ -392,9 +581,74 @@
392 581 else
393 582 {
394 583 $field_value = wdk_field_value($field_id, $wdk_listing_id);
395 584
396 - 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 + }
397 651 }
398 652
399 653 if($field_empty)
400 654 {
@@ -414,8 +668,9 @@
414 668 global $wdk_listing_id;
415 669
416 670 $wdkmembership_user_id = wdk_get_profile_page_id();
417 671
672 + //if(Plugin::$instance->editor->is_edit_mode())return;
418 673 if(Plugin::$instance->editor->is_edit_mode() || (empty($wdk_listing_id) && empty($wdkmembership_user_id)))return;
419 674 //if(!in_array($element->get_name(), $this->supported_elements))return;
420 675
421 676 $WMVC = &wdk_get_instance();
@@ -432,9 +687,47 @@
432 687 $field_id = substr($settings['wdk_related_field'], strpos($settings['wdk_related_field'],'__')+2);
433 688 }
434 689
435 690 if(is_null($field_id))return;
436 - 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') {
437 730 if(function_exists('run_wdk_bookings')) {
438 731 global $Winter_MVC_wdk_bookings;
439 732 $Winter_MVC_wdk_bookings->model('calendar_m');
440 733 $calendar = $Winter_MVC_wdk_bookings->calendar_m->get_by(array('post_id' => $wdk_listing_id, 'is_activated' => 1));
@@ -458,8 +751,27 @@
458 751 $field_empty = false;
459 752 break;
460 753 }
461 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 + }
462 774 } elseif($field_id == 'have_agency') {
463 775 $field_empty = true;
464 776 if(function_exists('run_wdk_membership') && file_exists(WDK_MEMBERSHIP_PATH.'application/models/Agency_agent_m.php')) {
465 777 if(wdk_field_value ('user_id_editor', $wdk_listing_id)) {
@@ -484,8 +796,32 @@
484 796 $field_empty = false;
485 797 }
486 798
487 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 + }
488 824 } elseif($field_id == 'havent_images' || $field_id == 'have_images') {
489 825 $images = wdk_field_value('listing_images', $wdk_listing_id);
490 826 if($field_id == 'havent_images') {
491 827 if($images){
@@ -495,8 +831,19 @@
495 831 if(!$images){
496 832 $field_empty = true;
497 833 }
498 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 + }
499 846 } elseif(wdk_field_option($field_id, 'field_type') == "SECTION") {
500 847
501 848 // get all section fields
502 849 $sections_data = $WMVC->field_m->get_fields_section();
@@ -515,9 +862,73 @@
515 862 else
516 863 {
517 864 $field_value = wdk_field_value($field_id, $wdk_listing_id);
518 865
519 - 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 + }
520 931 }
521 932
522 933 if($field_empty)
523 934 {