PluginProbe
WP Directory Kit / 1.1.6
WP Directory Kit v1.1.6
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 1.4.0 1.4.1 All 35 releases
wpdirectorykit / extensions / wdk-dependfields.php

wdk-dependfields.php in WP Directory Kit 1.1.6, at extensions/wdk-dependfields.php

139 lines 6.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Wdk\Extensions;
4
5 if (!defined('ABSPATH')) exit; // Exit if accessed directly
6
7
8 class WdkDependfields
9 {
10 /**
11 * data array
12 *
13 * @var array
14 */
15 public $data = array();
16
17 public function __construct($data = array(), $args = null)
18 {
19
20 /* admin actions */
21 add_action( 'wpdirectorykit/admin/category/edit/after_form', array($this, 'dependfields'));
22
23 /* admin actions */
24 add_action( 'wpdirectorykit/admin/listing/edit/after_form', array($this, 'listing_edit'));
25 add_action( 'wdk-membership/view/listing_edit/after_form', array($this, 'listing_edit'));
26
27 add_action( 'wp_enqueue_scripts', array($this, 'front_search'), 100);
28 }
29
30 public function listing_edit($data = NULL)
31 {
32
33 global $Winter_MVC_WDK;
34 $Winter_MVC_WDK->model('dependfields_m');
35
36 $hidden_fields = array();
37
38 $depend_fields = $Winter_MVC_WDK->dependfields_m->get_by(array('main_field' => 'categories'));
39 if($depend_fields) {
40 foreach ($depend_fields as $depend_field) {
41 $hidden_fields[$depend_field->field_id] = ','.$depend_field->hidden_fields_list.',';
42 }
43 }
44
45 $params = array(
46 'ajax_url' => admin_url( 'admin-ajax.php' ),
47 'hidden_fields'=> $hidden_fields
48 );
49 wp_enqueue_script( 'wdk-dependfields-submitform');
50 wp_localize_script( 'wdk-dependfields-submitform', 'script_dependfields_submitform', $params);
51 }
52
53 public function front_search($data = NULL)
54 {
55
56 global $Winter_MVC_WDK;
57 $Winter_MVC_WDK->model('dependfields_m');
58
59 $hidden_fields = array();
60
61 $depend_fields = $Winter_MVC_WDK->dependfields_m->get_by(array('main_field' => 'categories'));
62 if($depend_fields) {
63 foreach ($depend_fields as $depend_field) {
64 $hidden_fields[$depend_field->field_id] = ','.$depend_field->hidden_fields_list.',';
65 }
66 }
67
68 $params = array(
69 'ajax_url' => admin_url( 'admin-ajax.php' ),
70 'hidden_fields'=> $hidden_fields
71 );
72 wp_enqueue_script( 'wdk-dependfields-search');
73 wp_localize_script( 'wdk-dependfields-search', 'script_dependfields_search', $params);
74 }
75
76 public function dependfields($data = NULL)
77 {
78 if (empty($data))
79 return false;
80
81 global $Winter_MVC_WDK;
82 $Winter_MVC_WDK->model('field_m');
83 $Winter_MVC_WDK->model('dependfields_m');
84 $this->data['fields_data'] = $Winter_MVC_WDK->field_m->get();
85 $this->data['hidden_fields'] = array();
86
87 wp_enqueue_script( 'wdk-dependfields-edit');
88
89 $depend_fields = $Winter_MVC_WDK->dependfields_m->get_by(array('field_id' => wmvc_show_data('idcategory', $data),'main_field' => 'categories'), TRUE);
90 if($depend_fields && !empty($depend_fields->hidden_fields_list)) {
91 $this->data['hidden_fields'] = explode(',', $depend_fields->hidden_fields_list);
92 }
93 ?>
94
95 <div class="wdk-body">
96 <div class="postbox" style="display: block;">
97 <div class="postbox-header">
98 <h3><?php echo __('Visible fields','wpdirectorykit'); ?></h3>
99 </div>
100 <div class="inside">
101 <form method="post" action="#" novalidate="novalidate" class="wdk-depend-fields" enctype="multipart/form-data">
102 <input name="main_field" type="hidden" value="categories" class="regular-text">
103 <input name="field_id" type="hidden" value="<?php echo esc_attr(wmvc_show_data('idcategory', $data));?>" class="regular-text">
104
105 <div class="wdk-row">
106 <?php echo esc_html(wmvc_show_data('field_label', $field));?>:
107 <hr/>
108 </div>
109
110 <div class="wdk-row">
111 <?php foreach ($this->data['fields_data'] as $field) :;?>
112 <?php if($field->field_type == "SECTION"):?>
113 <div class="wdk-col-md-12 wdk-col-section">
114 <div class="wdk_field section">
115 <?php echo esc_html(wmvc_show_data('field_label', $field));?>:
116 <label for="">
117 <input name="field_all_depend_<?php echo esc_attr(wmvc_show_data('idfield', $field));?>" type="checkbox" id="field_all_depend_<?php echo esc_attr(wmvc_show_data('idfield', $field));?>" value="1" class="regular-text trigger_section">
118 </label>
119 </div>
120 </div>
121 <?php else: ?>
122 <div class="wdk-col-md-<?php echo esc_attr($field->columns_number); ?> ">
123 <div class="wdk_field">
124 <label for="field_depend_<?php echo esc_attr(wmvc_show_data('idfield', $field));?>"><?php echo esc_html(wmvc_show_data('field_label', $field));?></label>
125 <input <?php if(empty($this->data['hidden_fields']) || !in_array(wmvc_show_data('idfield', $field), $this->data['hidden_fields'])):?> checked="checked"<?php endif;?> name="field_hide_<?php echo esc_attr(wmvc_show_data('idfield', $field));?>" type="checkbox" id="field_depend_<?php echo esc_attr(wmvc_show_data('idfield', $field));?>" value="1" class="regular-text">
126 </div>
127 </div>
128 <?php endif;?>
129 <?php endforeach; ?>
130 </div>
131 </form>
132 </div>
133 </div>
134 </div>
135 <?php
136 }
137
138 }
139