PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 6.0.6
Taskbuilder – Project Management & Task Management Tool With Kanban Board v6.0.6
6.0.6 6.0.5 6.0.2 6.0.3 6.0.4 6.0.1 6.0.0 5.0.8 5.0.9 4.0.9 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 All 58 releases
← All changes | includes/frontend/shortcode.php +40 -14 5.0.16.0.6 View file →
@@ -95,14 +95,14 @@
95 95 function wppm_page_inline_script() { ?>
96 96 <script type="text/javascript">
97 97 jQuery( document ).ready( function( jQuery ) {
98 98 <?php if(is_user_logged_in()){
99 - if((!((isset($_REQUEST['project-id'])) && (!empty(sanitize_text_field($_REQUEST['auth-code'] )))))){
99 + if((!((isset($_REQUEST['project-id'])) && (!empty(sanitize_text_field(wp_unslash($_REQUEST['auth-code'] ))))))){
100 100 ?>
101 101 wppm_get_project_list();
102 102 <?php }
103 103 if((isset($_REQUEST['project-id'])) && (!empty(sanitize_text_field($_REQUEST['auth-code'] )))){ ?>
104 - wppm_open_project(<?php echo esc_js(sanitize_text_field($_REQUEST['project-id'])); ?>);
104 + wppm_open_project(<?php echo (intval(wp_unslash($_REQUEST['project-id']))); ?>);
105 105 <?php }
106 106 }
107 107 else{ ?>
108 108 wppm_sign_in();
@@ -112,11 +112,12 @@
112 112 function wppm_get_project_list(page_no){
113 113 jQuery('#wppm_project_container').show();
114 114 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
115 115 var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]);
116 - <?php echo do_action('wppm_project_list_dataform');?>
116 + jQuery(document).trigger('wppm_project_list_dataform', [dataform]);
117 117 dataform.append("page_no", page_no);
118 118 dataform.append("action", 'wppm_get_project_list');
119 + dataform.append('page', wppm_admin.page);
119 120 dataform.append("is_frontend", '1');
120 121 jQuery.ajax( {
121 122 url: wppm_admin.ajax_url,
122 123 type: 'POST',
@@ -128,9 +129,23 @@
128 129 jQuery('#wppm_project_container').html(response);
129 130 });
130 131 }
131 132
132 - function wppm_pl_reset_filter(){
133 + function wppm_pl_reset_filter(is_archieved){
134 + // clear advanced filter UI + cookie BEFORE requesting the list,
135 + // otherwise this request still sends the stale tb_proj_list_filters
136 + // cookie and the reset only takes effect on the next click
137 + jQuery("#tb-created-by").val(null).trigger("change");
138 + jQuery("#tb-assigned").val(null).trigger("change");
139 + jQuery("#tb-category").val(null).trigger("change");
140 + jQuery("#tb-start-date").val("");
141 + jQuery("#tb-end-date").val("");
142 + jQuery("#tb-advanced-panel").removeClass("tb-open");
143 + jQuery("#tb-backdrop").removeClass("active");
144 + jQuery("#tb-active-filters").html('');
145 + window.projectFilters = { created_by: [], assigned: [], category: [], start_date: "", end_date: "" };
146 + document.cookie = "tb_proj_list_filters=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
147 +
133 148 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
134 149 var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]);
135 150 dataform.append("action", 'wppm_get_project_list');
136 151 dataform.append("wppm_project_filter", 'all');
@@ -137,9 +152,14 @@
137 152 dataform.append("project_search", '');
138 153 dataform.append("sort_by", 'project_name');
139 154 dataform.append("order", 'ASC');
140 155 dataform.append("is_frontend", '1');
141 - <?php echo do_action('wppm_reset_project_dataform');?>
156 + dataform.append("page", wppm_admin.page);
157 + dataform.append("is_archieved",is_archieved);
158 + // send explicit empty filters so the server doesn't fall back to
159 + // the (possibly not-yet-expired) tb_proj_list_filters cookie
160 + dataform.append("filters", JSON.stringify({}));
161 + jQuery(document).trigger('wppm_reset_project_dataform', [dataform]);
142 162 jQuery.ajax( {
143 163 url: wppm_admin.ajax_url,
144 164 type: 'POST',
145 165 data: dataform,
@@ -144,9 +164,9 @@
144 164 type: 'POST',
145 165 data: dataform,
146 166 processData: false,
147 167 contentType: false
148 - })
168 + })
149 169 .done(function( response ) {
150 170 jQuery('#wppm_project_container').html(response);
151 171 });
152 172 }
@@ -154,9 +174,9 @@
154 174 function wppm_add_new_project(){
155 175 jQuery('#wppm_project_container').show();
156 176 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
157 177 var dataform=new FormData(jQuery('#wppm_add_new_project')[0]);
158 - <?php echo do_action('wppm_add_new_project_dataform');?>
178 + jQuery(document).trigger('wppm_add_new_project_dataform', [dataform]);
159 179 dataform.append("action", 'wppm_add_new_project');
160 180 jQuery.ajax( {
161 181 url: wppm_admin.ajax_url,
162 182 type: 'POST',
@@ -168,16 +188,18 @@
168 188 jQuery('#wppm_project_container').html(response);
169 189 });
170 190 }
171 191
172 - function wppm_apply_project_filter(){
192 + function wppm_apply_project_filter(is_archieved){
173 193 wppm_project_filter = jQuery('#wppm_project_filter').find(":selected").val();
174 194 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
175 195 var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]);
176 - <?php echo do_action('wppm_apply_project_filter_dataform');?>
196 + jQuery(document).trigger('wppm_apply_project_filter_dataform', [dataform]);
177 197 dataform.append("action", 'wppm_get_project_list');
178 198 dataform.append("wppm_project_filter", wppm_project_filter);
179 199 dataform.append("is_frontend", '1');
200 + dataform.append("page", wppm_admin.page);
201 + dataform.append("is_archieved",is_archieved);
180 202 jQuery.ajax( {
181 203 url: wppm_admin.ajax_url,
182 204 type: 'POST',
183 205 data: dataform,
@@ -188,17 +210,19 @@
188 210 jQuery('#wppm_project_container').html(response);
189 211 });
190 212 }
191 213
192 - function wppm_project_search_filter(){
193 - var project_search = jQuery("#wppm_project_search_filter").val();
214 + function wppm_project_search_filter(is_archieved){
215 + var project_search = jQuery("#wppm_project_search_filter").val() || '';
194 216 jQuery('#wppm_project_container').show();
195 217 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
196 218 var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]);
197 - <?php echo do_action('wppm_project_search_filter_dataform');?>
219 + jQuery(document).trigger('wppm_project_search_filter_dataform', [dataform]);
198 220 dataform.append("action", 'wppm_get_project_list');
199 221 dataform.append("project_search", project_search);
200 222 dataform.append("is_frontend", '1');
223 + dataform.append("page", wppm_admin.page);
224 + dataform.append("is_archieved",is_archieved);
201 225 jQuery.ajax( {
202 226 url: wppm_admin.ajax_url,
203 227 type: 'POST',
204 228 data: dataform,
@@ -213,13 +237,14 @@
213 237 function wppm_sort_up_project_list(sort_by,order){
214 238 jQuery('#wppm_project_container').show();
215 239 jQuery('#wppm_project_container').html(wppm_admin.loading_html);
216 240 var dataform=new FormData(jQuery('#wppm_project_list_frm')[0]);
217 - <?php echo do_action('wppm_sort_up_project_list_dataform');?>
241 + jQuery(document).trigger('wppm_sort_up_project_list_dataform', [dataform]);
218 242 dataform.append("action", 'wppm_get_project_list');
219 243 dataform.append("sort_by", sort_by);
220 244 dataform.append("order", order);
221 245 dataform.append("is_frontend", '1');
246 + dataform.append("page", wppm_admin.page);
222 247 jQuery.ajax( {
223 248 url: wppm_admin.ajax_url,
224 249 type: 'POST',
225 250 data: dataform,
@@ -233,12 +258,13 @@
233 258
234 259 function wppm_get_project_tasks(id){
235 260 wppm_modal_open('Tasks');
236 261 var dataform=new FormData(jQuery('#wppm_get_project_tasks_frm')[0]);
237 - <?php echo do_action('wppm_get_project_tasks_dataform');?>
262 + jQuery(document).trigger('wppm_get_project_tasks_dataform', [dataform]);
238 263 dataform.append("action", 'wppm_get_project_tasks');
239 264 dataform.append("id",id);
240 265 dataform.append("is_frontend", '1');
266 + dataform.append("_ajax_nonce", wppm_admin.nonce);
241 267 jQuery.ajax( {
242 268 url: wppm_admin.ajax_url,
243 269 type: 'POST',
244 270 data: dataform,