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/class-wppm-admin.php +229 -69 5.0.16.0.6 View file →
@@ -10,9 +10,11 @@
10 10 // constructor
11 11 public function __construct() {
12 12 add_action( 'admin_enqueue_scripts', array( $this, 'loadScripts') );
13 13 add_action( 'admin_menu', array($this,'wppm_register_dashboard_menu') );
14 - // add_action( 'admin_init',array($this,'wppm_appearance_setting_tab') );
14 + add_action( 'admin_notices', array($this,'wppm_update_admin_notice'));
15 + add_action('wp_footer', array($this,'wppm_add_notification_container'));
16 + add_action('admin_footer', array($this,'wppm_add_notification_container'));
15 17 add_action( 'wp_ajax_wppm_add_new_project',array($this,'wppm_add_new_project'));
16 18 add_action( 'wp_ajax_wppm_open_project',array($this,'wppm_open_project'));
17 19 add_action( 'wp_ajax_nopriv_wppm_open_project',array($this,'wppm_open_project'));
18 20 add_action( 'wp_ajax_wppm_get_users',array($this,'wppm_get_users'));
@@ -36,9 +38,9 @@
36 38 add_action( 'wp_ajax_wppm_create_project',array($this,'wppm_create_project'));
37 39 add_action('wp_ajax_wppm_get_project_list',array($this,'wppm_get_project_list'),10,2);
38 40 add_action('wp_ajax_wppm_view_project_tasks',array($this,'wppm_view_project_tasks'));
39 41 add_action('wp_ajax_wppm_add_new_task',array($this,'wppm_add_new_task'));
40 - add_action('wp_ajax_wppm_get_task_list',array($this,'wppm_get_task_list'));
42 + add_action('wp_ajax_wppm_get_task_list',array($this,'wppm_get_task_list'),100,3);
41 43 add_action('wp_ajax_wppm_get_priority_settings',array($this,'wppm_get_priority_settings'));
42 44 add_action('wp_ajax_wppm_add_task_priority',array($this,'wppm_add_task_priority'));
43 45 add_action('wp_ajax_wppm_set_add_priority',array($this,'wppm_set_add_priority'));
44 46 add_action('wp_ajax_wppm_get_edit_priority',array($this,'wppm_get_edit_priority'));
@@ -52,9 +54,9 @@
52 54 add_action('wp_ajax_wppm_set_edit_task_status',array($this,'wppm_set_edit_task_status'));
53 55 add_action('wp_ajax_wppm_delete_task_status',array($this,'wppm_delete_task_status'));
54 56 add_action('wp_ajax_wppm_set_task_status_order',array($this,'wppm_set_task_status_order'));
55 57 add_action('wp_ajax_wppm_create_task',array($this,'wppm_create_task'));
56 - add_action('wp_ajax_wppm_get_task_list_card_view',array($this,'wppm_get_task_list_card_view'));
58 + add_action('wp_ajax_wppm_get_task_list_card_view',array($this,'wppm_get_task_list_card_view'),100,4);
57 59 add_action('wp_ajax_wppm_drag_and_drop_card',array($this,'wppm_drag_and_drop_card'));
58 60 add_action('wp_ajax_wppm_open_task',array($this,'wppm_open_task'));
59 61 add_action( 'wp_ajax_nopriv_wppm_open_task',array($this,'wppm_open_task'));
60 62 add_action('wp_ajax_wppm_add_new_checklist',array($this,'wppm_add_new_checklist'));
@@ -91,9 +93,9 @@
91 93 add_action('wp_ajax_wppm_edit_project_creator',array($this,'wppm_edit_project_creator'));
92 94 add_action('wp_ajax_wppm_set_change_project_raised_by',array($this,'wppm_set_change_project_raised_by'));
93 95 add_action('wp_ajax_wppm_get_delete_project',array($this,'wppm_get_delete_project'));
94 96 add_action('wp_ajax_wppm_set_delete_project',array($this,'wppm_set_delete_project'));
95 - add_action('wp_ajax_wppm_get_delete_task',array($this,'wppm_get_delete_task'),100,2);
97 + add_action('wp_ajax_wppm_get_delete_task',array($this,'wppm_get_delete_task'),100,3);
96 98 add_action('wp_ajax_wppm_set_delete_task',array($this,'wppm_set_delete_task'));
97 99 add_action('wp_ajax_wppm_get_edit_email_notification',array($this,'wppm_get_edit_email_notification'));
98 100 add_action('wp_ajax_wppm_get_templates',array($this,'wppm_get_templates'));
99 101 add_action('wp_ajax_wppm_set_edit_email_notification',array($this,'wppm_set_edit_email_notification'));
@@ -106,9 +108,9 @@
106 108 add_action('wppm_after_project_created',array($this,'wppm_en_project_created'),100,1);
107 109 add_action('wppm_after_submit_task_comment',array($this,'wppm_en_submit_task_comment'),10,2);
108 110 add_action('wppm_after_submit_proj_comment',array($this,'wppm_en_submit_proj_comment'),10,2);
109 111 add_action('wp_ajax_wppm_set_general_settings',array($this,'wppm_set_general_settings'));
110 - add_action('wp_ajax_wppm_get_project_tasks',array($this,'wppm_get_project_tasks'));
112 + add_action('wp_ajax_wppm_get_project_tasks',array($this,'wppm_get_project_tasks'),100,2);
111 113 add_action('wp_ajax_wppm_remove_thread_attachment',array($this,'wppm_remove_thread_attachment'),10,5);
112 114 add_action('wp_ajax_wppm_remove_proj_thread_attachment',array($this,'wppm_remove_proj_thread_attachment'),10,4);
113 115 add_action('wp_ajax_wppm_remove_checklist_item',array($this,'wppm_remove_checklist_item'),10,4);
114 116 add_action('wp_ajax_wppm_clone_task',array($this,'wppm_clone_task'),10,2);
@@ -168,13 +170,43 @@
168 170 add_action( 'wp_ajax_wppm_get_task_pdf', array($this, 'wppm_get_task_pdf'));
169 171 add_action( 'wp_ajax_wppm_download_pdf', array($this, 'wppm_download_pdf'),100,2);
170 172 add_action('wp_ajax_wppm_get_print_task_settings',array($this,'wppm_get_print_task_settings'));
171 173 add_action('wp_ajax_wppm_set_print_task_settings',array($this,'wppm_set_print_task_settings'));
174 + add_action('wp_ajax_wppm_update_checklist_order',array($this,'wppm_update_checklist_order'));
175 + add_action('wp_ajax_wppm_edit_checklist_item',array($this,'wppm_edit_checklist_item'),10,5);
176 + add_action('wp_ajax_wppm_set_checklist_item_name',array($this,'wppm_set_checklist_item_name'),10,3);
177 + add_action('wp_ajax_wppm_archive_task',array($this,'wppm_archive_task'));
178 + add_action('wp_ajax_wppm_get_project_tasks_kanban_view',array($this,'wppm_get_project_tasks_kanban_view'));
179 + add_action('wp_ajax_wppm_get_notifications',array($this,'wppm_get_notifications_callback'));
180 + add_action('wp_ajax_wppm_mark_notification_read',array($this,'wppm_mark_notification_as_read'));
181 + add_action('wp_ajax_wppm_archive_project',array($this,'wppm_archive_project'));
182 + add_action('wp_ajax_wppm_archieve_project_list',array($this,'wppm_archieve_project_list'),100,1);
183 + add_action('wp_ajax_wppm_add_new_subtask',array($this,'wppm_add_new_subtask'));
184 + add_action('wp_ajax_wppm_remove_subtask',array($this,'wppm_remove_subtask'));
185 + add_action('wp_ajax_wppm_convert_subtask_to_task',array($this,'wppm_convert_subtask_to_task'));
172 186 }
173 187
174 188 // Load admin scripts
175 189 public function loadScripts(){
176 - if(isset($_REQUEST['page']) && preg_match('/wppm-/',sanitize_text_field($_REQUEST['page']))) :
190 + $loading_html = '<div class="wppm_loading_icon"><img src="'.WPPM_PLUGIN_URL.'asset/images/ajax-loading.gif"></div>';
191 + wp_enqueue_script(
192 + 'wppm-notification',
193 + WPPM_PLUGIN_URL . 'asset/js/notification.js',
194 + array( 'jquery' ),
195 + WPPM_VERSION,
196 + true
197 + );
198 +
199 + wp_localize_script(
200 + 'wppm-notification',
201 + 'wppm_notification',
202 + array(
203 + 'ajax_url' => admin_url( 'admin-ajax.php' ),
204 + 'nonce' => wp_create_nonce( 'wppm_notification_nonce' ),
205 + 'loading_html' => $loading_html,
206 + )
207 + );
208 + if(isset($_REQUEST['page']) && preg_match('/wppm-/',sanitize_text_field($_REQUEST['page'])) || (isset($_REQUEST['page']) && $_REQUEST['page'] == 'wppm_dashboard')) :
177 209 wp_enqueue_script('jquery');
178 210 wp_enqueue_script('jquery-ui-core');
179 211 wp_enqueue_script( 'jquery-ui-sortable' );
180 212 wp_enqueue_script( 'jquery-ui-datepicker' );
@@ -212,21 +244,29 @@
212 244 wp_enqueue_script('wppm-datatable-js', WPPM_PLUGIN_URL.'asset/lib/DataTables/datatables.min.js?version='.WPPM_VERSION, ['jquery'], null, true);
213 245 wp_enqueue_style('wppm-datatable-css', WPPM_PLUGIN_URL.'asset/lib/DataTables/datatables.min.css?version='.WPPM_VERSION );
214 246 // selectWoo.
215 247 wp_enqueue_script( 'selectWoo', WPPM_PLUGIN_URL . 'asset/js/selectWoo/selectWoo.full.min.js', array( 'jquery' ), WPPM_VERSION, true );
248 + wp_enqueue_script('chartjs',WPPM_PLUGIN_URL.'asset/lib/chartjs/chart.js?version='.WPPM_VERSION, ['jquery'], null, true);
216 249 //localize script
217 250 $loading_html = '<div class="wppm_loading_icon"><img src="'.WPPM_PLUGIN_URL.'asset/images/ajax-loading.gif"></div>';
251 + $wppm_rich_text_editor = get_option('wppm_rich_text_editor');
252 + $wppm_tinymce_visibility_open_task = get_option('wppm_tinymce_visibility_open_task');
253 + $wppm_tinymce_visibility_open_project = get_option('wppm_tinymce_visibility_open_project');
218 254 $localize_script_data = apply_filters( 'wppm_admin_localize_script', array(
219 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
255 + 'ajax_url' => esc_url(admin_url( 'admin-ajax.php' )),
220 256 'loading_html' => $loading_html,
221 - 'add_new_category' => __('Add New Category','taskbuilder'),
222 - 'edit_category' =>__('Edit Category','taskbuilder'),
223 - 'please_wait' =>__('Please wait ...','taskbuilder'),
224 - 'confirm' =>__('Are you sure?','taskbuilder'),
225 - 'add_new_status' =>__('Add New Status','taskbuilder'),
226 - 'edit_status' =>__('Edit status','taskbuilder'),
227 - 'add_new_priority' =>__('Add New Priority','taskbuilder'),
228 - 'templates' => __('Templates','taskbuilder')
257 + 'add_new_category' => esc_html__('Add New Category','taskbuilder'),
258 + 'edit_category' => esc_html__('Edit Category','taskbuilder'),
259 + 'please_wait' => esc_html__('Please wait ...','taskbuilder'),
260 + 'confirm' => esc_html__('Are you sure?','taskbuilder'),
261 + 'add_new_status' => esc_html__('Add New Status','taskbuilder'),
262 + 'edit_status' => esc_html__('Edit status','taskbuilder'),
263 + 'add_new_priority' => esc_html__('Add New Priority','taskbuilder'),
264 + 'templates' => esc_html__('Templates','taskbuilder'),
265 + 'page' => isset($_REQUEST['page']) ? sanitize_text_field($_REQUEST['page']) : '',
266 + 'rich_text_editor' => !empty($wppm_rich_text_editor) ? (int) $wppm_rich_text_editor : 0,
267 + 'wppm_tinymce_visibility_open_task' => !empty($wppm_tinymce_visibility_open_task) ? (int) $wppm_tinymce_visibility_open_task : 0,
268 + 'wppm_tinymce_visibility_open_project' => !empty($wppm_tinymce_visibility_open_project) ? (int) $wppm_tinymce_visibility_open_project : 0,
229 269 ));
230 270 wp_localize_script( 'wppm-admin', 'wppm_admin', $localize_script_data );
231 271 endif;
232 272 }
@@ -234,55 +274,81 @@
234 274 // Dashboard Menus
235 275 public function wppm_register_dashboard_menu(){
236 276 global $current_user,$wppmfunction;
237 277 add_menu_page(
238 - __( 'Projects', 'taskbuilder'),
239 - __( 'Projects','taskbuilder'),
278 + esc_html__( 'Taskbuilder', 'taskbuilder'),
279 + esc_html__( 'Taskbuilder','taskbuilder'),
240 280 'read',
241 - 'wppm-projects',
242 - array($this,'wppm_projects'),
243 - WPPM_PLUGIN_URL.'asset/images/tasklist.svg',
281 + 'wppm-dashboard',
282 + array($this,'wppm_dashboard'),
283 + WPPM_PLUGIN_URL.'asset/images/taskbuilder_logo.svg',
244 284 25
245 285 );
246 286 add_submenu_page(
247 - 'wppm-projects',
248 - __('Project List', 'taskbuilder' ),
249 - __('Projects', 'taskbuilder' ),
287 + 'wppm-dashboard',
288 + esc_html__('Dashboard', 'taskbuilder' ),
289 + esc_html__('Dashboard', 'taskbuilder' ),
290 + 'read',
291 + 'wppm-dashboard',
292 + array($this,'wppm_dashboard')
293 + );
294 + add_submenu_page(
295 + 'wppm-dashboard',
296 + esc_html__('Project List', 'taskbuilder' ),
297 + esc_html__('Projects', 'taskbuilder' ),
250 298 'read',
251 299 'wppm-projects',
252 300 array($this,'wppm_projects')
253 301 );
302 + // add_submenu_page(
303 + // 'wppm-dashboard',
304 + // esc_html__('Archived Projects', 'taskbuilder' ),
305 + // esc_html__('Archived Projects', 'taskbuilder' ),
306 + // 'read',
307 + // 'wppm-archived-projects',
308 + // array($this,'wppm_archived_projects')
309 + // );
310 +
254 311
255 312 add_submenu_page(
256 - 'wppm-projects',
257 - __('Tasks', 'taskbuilder' ),
258 - __('Tasks', 'taskbuilder' ),
313 + 'wppm-dashboard',
314 + esc_html__('Tasks', 'taskbuilder' ),
315 + esc_html__('Tasks', 'taskbuilder' ),
259 316 'read',
260 317 'wppm-tasks',
261 318 array($this,'wppm_tasks')
262 319 );
263 320
321 + add_submenu_page(
322 + 'wppm-dashboard',
323 + esc_html__('Archived Tasks', 'taskbuilder' ),
324 + esc_html__('Archived Tasks', 'taskbuilder' ),
325 + 'read',
326 + 'wppm-archived-tasks',
327 + array($this,'wppm_archived_tasks')
328 + );
329 +
264 330 if(current_user_can('manage_options')){
265 331 add_submenu_page(
266 - 'wppm-projects',
267 - __('Email Notifications', 'taskbuilder' ),
268 - __('Email Notifications', 'taskbuilder' ),
332 + 'wppm-dashboard',
333 + esc_html__('Email Notifications', 'taskbuilder' ),
334 + esc_html__('Email Notifications', 'taskbuilder' ),
269 335 'manage_options',
270 336 'wppm-email-notifications',
271 337 array($this,'wppm_email_notifications')
272 338 );
273 339 add_submenu_page(
274 - 'wppm-projects',
275 - __('Settings', 'taskbuilder' ),
276 - __('Settings', 'taskbuilder' ),
340 + 'wppm-dashboard',
341 + esc_html__('Settings', 'taskbuilder' ),
342 + esc_html__('Settings', 'taskbuilder' ),
277 343 'manage_options',
278 344 'wppm-settings',
279 345 array($this,'settings')
280 346 );
281 347 add_submenu_page(
282 - 'wppm-projects',
283 - __('License', 'taskbuilder' ),
284 - __('License', 'taskbuilder' ),
348 + 'wppm-dashboard',
349 + esc_html__('License', 'taskbuilder' ),
350 + esc_html__('License', 'taskbuilder' ),
285 351 'manage_options',
286 352 'wppm-license',
287 353 array($this,'licenses')
288 354 );
@@ -287,48 +353,39 @@
287 353 array($this,'licenses')
288 354 );
289 355
290 356 add_submenu_page(
291 - 'wppm-projects',
292 - __('Addons', 'taskbuilder' ),
293 - __('Addons', 'taskbuilder' ),
357 + 'wppm-dashboard',
358 + esc_html__('Pro Features', 'taskbuilder' ),
359 + esc_html__('Pro Features', 'taskbuilder' ),
294 360 'manage_options',
295 361 'wppm-addons',
296 362 array($this,'wppm_addons')
297 363 );
298 -
299 - add_submenu_page(
300 - 'wppm-projects',
301 - __('Other Plugins', 'taskbuilder' ),
302 - __('Other Plugins', 'taskbuilder' ),
303 - 'manage_options',
304 - 'wppm-other-plugins',
305 - array($this,'wppm_other_plugins')
306 - );
307 364
308 365 }
309 366
310 367 if(current_user_can('wppm_admin') && !current_user_can('manage_options')){
311 368 add_submenu_page(
312 - 'wppm-projects',
313 - __('Email Notifications', 'taskbuilder' ),
314 - __('Email Notifications', 'taskbuilder' ),
369 + 'wppm-dashboard',
370 + esc_html__('Email Notifications', 'taskbuilder' ),
371 + esc_html__('Email Notifications', 'taskbuilder' ),
315 372 'wppm_admin',
316 373 'wppm-email-notifications',
317 374 array($this,'wppm_email_notifications')
318 375 );
319 376 add_submenu_page(
320 - 'wppm-projects',
321 - __('Settings', 'taskbuilder' ),
322 - __('Settings', 'taskbuilder' ),
377 + 'wppm-dashboard',
378 + esc_html__('Settings', 'taskbuilder' ),
379 + esc_html__('Settings', 'taskbuilder' ),
323 380 'wppm_admin',
324 381 'wppm-settings',
325 382 array($this,'settings')
326 383 );
327 384 add_submenu_page(
328 - 'wppm-projects',
329 - __('License', 'taskbuilder' ),
330 - __('License', 'taskbuilder' ),
385 + 'wppm-dashboard',
386 + esc_html__('License', 'taskbuilder' ),
387 + esc_html__('License', 'taskbuilder' ),
331 388 'manage_options',
332 389 'wppm-license',
333 390 array($this,'licenses')
334 391 );
@@ -333,16 +390,33 @@
333 390 array($this,'licenses')
334 391 );
335 392
336 393 add_submenu_page(
337 - 'wppm-projects',
338 - __('Addons', 'taskbuilder' ),
339 - __('Addons', 'taskbuilder' ),
394 + 'wppm-dashboard',
395 + esc_html__('Addons', 'taskbuilder' ),
396 + esc_html__('Addons', 'taskbuilder' ),
340 397 'wppm_admin',
341 398 'wppm-addons',
342 399 array($this,'wppm_addons')
343 400 );
344 401 }
402 +
403 + if ( current_user_can('manage_options') || current_user_can('wppm_admin') ) {
404 + foreach ( wppm_get_locked_pro_addons_by_placement('menu') as $wppm_addon_key => $wppm_addon ) {
405 + add_submenu_page(
406 + 'wppm-dashboard',
407 + $wppm_addon['label'],
408 + $wppm_addon['label'] . ' <span class="wppm-pro-badge" title="' . esc_attr__('Pro feature', 'taskbuilder') . '">' . wppm_pro_badge_svg() . '</span>',
409 + 'read',
410 + 'wppm-pro-' . $wppm_addon_key,
411 + function() use ( $wppm_addon ) {
412 + $addon = $wppm_addon;
413 + include WPPM_ABSPATH . 'includes/admin/wppm_pro_addon_teaser.php';
414 + }
415 + );
416 + }
417 + }
418 +
345 419 do_action('wppm_add_submenu_page');
346 420 }
347 421
348 422 public function wppm_projects(){
@@ -348,8 +422,12 @@
348 422 public function wppm_projects(){
349 423 include WPPM_ABSPATH.'includes/admin/projects/projects.php';
350 424 }
351 425
426 + public function wppm_dashboard(){
427 + include WPPM_ABSPATH.'includes/admin/dashboard.php';
428 + }
429 +
352 430 public function wppm_add_new_project(){
353 431 include WPPM_ABSPATH.'includes/admin/projects/wppm_add_new_project.php';
354 432 die();
355 433 }
@@ -357,8 +435,22 @@
357 435 public function wppm_tasks(){
358 436 include WPPM_ABSPATH.'includes/admin/tasks/wppm_tasks.php';
359 437 }
360 438
439 + public function wppm_archived_tasks(){
440 + include WPPM_ABSPATH.'includes/admin/tasks/wppm_tasks.php';
441 + }
442 +
443 + // public function wppm_archived_projects(){
444 + // include WPPM_ABSPATH.'includes/admin/projects/projects.php';
445 + // }
446 +
447 + public function wppm_archieve_project_list(){
448 + $is_archieved = 1;
449 + include WPPM_ABSPATH.'includes/admin/projects/projects.php';
450 + die();
451 + }
452 +
361 453 public function wppm_email_notifications(){
362 454 include WPPM_ABSPATH.'includes/admin/email_notifications/wppm_email_notifications.php';
363 455 }
364 456
@@ -368,12 +460,8 @@
368 460
369 461 public function licenses(){
370 462 include WPPM_ABSPATH.'includes/admin/licenses.php';
371 463 }
372 -
373 - public function wppm_other_plugin(){
374 - include WPPM_ABSPATH.'includes/admin/wppm_other_plugin.php';
375 - }
376 464
377 465 public function wppm_open_project(){
378 466 include WPPM_ABSPATH.'includes/admin/projects/wppm_open_project.php';
379 467 die();
@@ -587,8 +675,23 @@
587 675 include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_add_new_checklist.php';
588 676 die();
589 677 }
590 678
679 + public function wppm_add_new_subtask(){
680 + include WPPM_ABSPATH.'includes/admin/tasks/open_task/subtask/wppm_add_new_subtask.php';
681 + die();
682 + }
683 +
684 + public function wppm_remove_subtask(){
685 + include WPPM_ABSPATH.'includes/admin/tasks/open_task/subtask/wppm_remove_subtask.php';
686 + die();
687 + }
688 +
689 + public function wppm_convert_subtask_to_task(){
690 + include WPPM_ABSPATH.'includes/admin/tasks/open_task/subtask/wppm_convert_subtask_to_task.php';
691 + die();
692 + }
693 +
591 694 public function wppm_add_new_checklist_item(){
592 695 include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_add_new_checklist_item.php';
593 696 die();
594 697 }
@@ -838,12 +941,8 @@
838 941 public function wppm_addons(){
839 942 include WPPM_ABSPATH.'includes/admin/addons.php';
840 943 }
841 944
842 - public function wppm_other_plugins(){
843 - include WPPM_ABSPATH.'includes/admin/wppm_other_plugins.php';
844 - }
845 -
846 945 public function wppm_clone_task(){
847 946 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_clone_task.php';
848 947 die();
849 948 }
@@ -1131,9 +1230,70 @@
1131 1230 public function wppm_set_print_task_settings(){
1132 1231 include WPPM_ABSPATH.'includes/admin/settings/wppm_set_print_task_settings.php';
1133 1232 die();
1134 1233 }
1135 -}
1136 -
1234 +
1235 + public function wppm_update_checklist_order(){
1236 + include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_update_checklist_order.php';
1237 + die();
1238 + }
1239 +
1240 + public function wppm_edit_checklist_item(){
1241 + include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_edit_checklist_item.php';
1242 + die();
1243 + }
1244 +
1245 + public function wppm_set_checklist_item_name(){
1246 + include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_set_checklist_item_name.php';
1247 + die();
1248 + }
1249 +
1250 + public function wppm_archive_task(){
1251 + include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_update_archive_task.php';
1252 + die();
1253 + }
1254 +
1255 + public function wppm_update_admin_notice(){
1256 + include WPPM_ABSPATH.'includes/admin/wppm_update_admin_notice.php';
1257 + }
1258 +
1259 + public function wppm_get_project_tasks_kanban_view(){
1260 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_get_project_tasks_kanban_view.php';
1261 + die();
1262 + }
1263 +
1264 + public function wppm_get_notifications_callback(){
1265 + include WPPM_ABSPATH.'includes/admin/email_notifications/wppm_get_notifications.php';
1266 + die();
1267 + }
1268 +
1269 + public function wppm_add_notification_container(){
1270 + $mention_notification = get_option('wppm_default_global_mention_comment_notification',1);
1271 + if ( ! $mention_notification ) {
1272 + return;
1273 + }
1274 + echo
1275 + ' <div id="wppm_notification_bell">
1276 + <i class="dashicons dashicons-bell"></i>
1277 + <span class="wppm-badge">0</span>
1278 + </div>
1279 + <div id="wppm-notification-container"></div>';
1280 + }
1281 +
1282 + public function wppm_mark_notification_as_read(){
1283 + global $wpdb;
1284 + $id = isset($_POST['id']) ? intval(sanitize_text_field($_POST['id'])) : 0;
1285 + $wpdb->update(
1286 + $wpdb->prefix . 'wppm_notifications',
1287 + array('is_read' => 1),
1288 + array('id' => $id)
1289 + );
1290 + wp_send_json_success();
1291 + }
1292 + public function wppm_archive_project(){
1293 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_update_archive_project.php';
1294 + die();
1295 + }
1296 + }
1137 1297 endif;
1138 1298
1139 1299 new WPPM_Admin();