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 +251 -68 4.0.96.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);
@@ -164,13 +166,47 @@
164 166 add_action('wp_ajax_wppm_set_rich_text_editor_settings',array($this,'wppm_set_rich_text_editor_settings'));
165 167 // Search WP pages.
166 168 add_action( 'wp_ajax_wppm_search_wp_pages', array($this, 'wppm_search_wp_pages'));
167 169 add_action( 'wp_ajax_wppm_set_page_settings',array($this,'wppm_set_page_settings'));
170 + add_action( 'wp_ajax_wppm_get_task_pdf', array($this, 'wppm_get_task_pdf'));
171 + add_action( 'wp_ajax_wppm_download_pdf', array($this, 'wppm_download_pdf'),100,2);
172 + add_action('wp_ajax_wppm_get_print_task_settings',array($this,'wppm_get_print_task_settings'));
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'));
168 186 }
169 187
170 188 // Load admin scripts
171 189 public function loadScripts(){
172 - 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')) :
173 209 wp_enqueue_script('jquery');
174 210 wp_enqueue_script('jquery-ui-core');
175 211 wp_enqueue_script( 'jquery-ui-sortable' );
176 212 wp_enqueue_script( 'jquery-ui-datepicker' );
@@ -208,21 +244,29 @@
208 244 wp_enqueue_script('wppm-datatable-js', WPPM_PLUGIN_URL.'asset/lib/DataTables/datatables.min.js?version='.WPPM_VERSION, ['jquery'], null, true);
209 245 wp_enqueue_style('wppm-datatable-css', WPPM_PLUGIN_URL.'asset/lib/DataTables/datatables.min.css?version='.WPPM_VERSION );
210 246 // selectWoo.
211 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);
212 249 //localize script
213 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');
214 254 $localize_script_data = apply_filters( 'wppm_admin_localize_script', array(
215 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
255 + 'ajax_url' => esc_url(admin_url( 'admin-ajax.php' )),
216 256 'loading_html' => $loading_html,
217 - 'add_new_category' => __('Add New Category','taskbuilder'),
218 - 'edit_category' =>__('Edit Category','taskbuilder'),
219 - 'please_wait' =>__('Please wait ...','taskbuilder'),
220 - 'confirm' =>__('Are you sure?','taskbuilder'),
221 - 'add_new_status' =>__('Add New Status','taskbuilder'),
222 - 'edit_status' =>__('Edit status','taskbuilder'),
223 - 'add_new_priority' =>__('Add New Priority','taskbuilder'),
224 - '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,
225 269 ));
226 270 wp_localize_script( 'wppm-admin', 'wppm_admin', $localize_script_data );
227 271 endif;
228 272 }
@@ -230,55 +274,81 @@
230 274 // Dashboard Menus
231 275 public function wppm_register_dashboard_menu(){
232 276 global $current_user,$wppmfunction;
233 277 add_menu_page(
234 - __( 'Projects', 'taskbuilder'),
235 - __( 'Projects','taskbuilder'),
278 + esc_html__( 'Taskbuilder', 'taskbuilder'),
279 + esc_html__( 'Taskbuilder','taskbuilder'),
236 280 'read',
237 - 'wppm-projects',
238 - array($this,'wppm_projects'),
239 - WPPM_PLUGIN_URL.'asset/images/tasklist.svg',
281 + 'wppm-dashboard',
282 + array($this,'wppm_dashboard'),
283 + WPPM_PLUGIN_URL.'asset/images/taskbuilder_logo.svg',
240 284 25
241 285 );
242 286 add_submenu_page(
243 - 'wppm-projects',
244 - __('Project List', 'taskbuilder' ),
245 - __('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' ),
246 298 'read',
247 299 'wppm-projects',
248 300 array($this,'wppm_projects')
249 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 +
250 311
251 312 add_submenu_page(
252 - 'wppm-projects',
253 - __('Tasks', 'taskbuilder' ),
254 - __('Tasks', 'taskbuilder' ),
313 + 'wppm-dashboard',
314 + esc_html__('Tasks', 'taskbuilder' ),
315 + esc_html__('Tasks', 'taskbuilder' ),
255 316 'read',
256 317 'wppm-tasks',
257 318 array($this,'wppm_tasks')
258 319 );
259 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 +
260 330 if(current_user_can('manage_options')){
261 331 add_submenu_page(
262 - 'wppm-projects',
263 - __('Email Notifications', 'taskbuilder' ),
264 - __('Email Notifications', 'taskbuilder' ),
332 + 'wppm-dashboard',
333 + esc_html__('Email Notifications', 'taskbuilder' ),
334 + esc_html__('Email Notifications', 'taskbuilder' ),
265 335 'manage_options',
266 336 'wppm-email-notifications',
267 337 array($this,'wppm_email_notifications')
268 338 );
269 339 add_submenu_page(
270 - 'wppm-projects',
271 - __('Settings', 'taskbuilder' ),
272 - __('Settings', 'taskbuilder' ),
340 + 'wppm-dashboard',
341 + esc_html__('Settings', 'taskbuilder' ),
342 + esc_html__('Settings', 'taskbuilder' ),
273 343 'manage_options',
274 344 'wppm-settings',
275 345 array($this,'settings')
276 346 );
277 347 add_submenu_page(
278 - 'wppm-projects',
279 - __('License', 'taskbuilder' ),
280 - __('License', 'taskbuilder' ),
348 + 'wppm-dashboard',
349 + esc_html__('License', 'taskbuilder' ),
350 + esc_html__('License', 'taskbuilder' ),
281 351 'manage_options',
282 352 'wppm-license',
283 353 array($this,'licenses')
284 354 );
@@ -283,48 +353,39 @@
283 353 array($this,'licenses')
284 354 );
285 355
286 356 add_submenu_page(
287 - 'wppm-projects',
288 - __('Addons', 'taskbuilder' ),
289 - __('Addons', 'taskbuilder' ),
357 + 'wppm-dashboard',
358 + esc_html__('Pro Features', 'taskbuilder' ),
359 + esc_html__('Pro Features', 'taskbuilder' ),
290 360 'manage_options',
291 361 'wppm-addons',
292 362 array($this,'wppm_addons')
293 363 );
294 -
295 - add_submenu_page(
296 - 'wppm-projects',
297 - __('Other Plugins', 'taskbuilder' ),
298 - __('Other Plugins', 'taskbuilder' ),
299 - 'manage_options',
300 - 'wppm-other-plugins',
301 - array($this,'wppm_other_plugins')
302 - );
303 364
304 365 }
305 366
306 367 if(current_user_can('wppm_admin') && !current_user_can('manage_options')){
307 368 add_submenu_page(
308 - 'wppm-projects',
309 - __('Email Notifications', 'taskbuilder' ),
310 - __('Email Notifications', 'taskbuilder' ),
369 + 'wppm-dashboard',
370 + esc_html__('Email Notifications', 'taskbuilder' ),
371 + esc_html__('Email Notifications', 'taskbuilder' ),
311 372 'wppm_admin',
312 373 'wppm-email-notifications',
313 374 array($this,'wppm_email_notifications')
314 375 );
315 376 add_submenu_page(
316 - 'wppm-projects',
317 - __('Settings', 'taskbuilder' ),
318 - __('Settings', 'taskbuilder' ),
377 + 'wppm-dashboard',
378 + esc_html__('Settings', 'taskbuilder' ),
379 + esc_html__('Settings', 'taskbuilder' ),
319 380 'wppm_admin',
320 381 'wppm-settings',
321 382 array($this,'settings')
322 383 );
323 384 add_submenu_page(
324 - 'wppm-projects',
325 - __('License', 'taskbuilder' ),
326 - __('License', 'taskbuilder' ),
385 + 'wppm-dashboard',
386 + esc_html__('License', 'taskbuilder' ),
387 + esc_html__('License', 'taskbuilder' ),
327 388 'manage_options',
328 389 'wppm-license',
329 390 array($this,'licenses')
330 391 );
@@ -329,16 +390,33 @@
329 390 array($this,'licenses')
330 391 );
331 392
332 393 add_submenu_page(
333 - 'wppm-projects',
334 - __('Addons', 'taskbuilder' ),
335 - __('Addons', 'taskbuilder' ),
394 + 'wppm-dashboard',
395 + esc_html__('Addons', 'taskbuilder' ),
396 + esc_html__('Addons', 'taskbuilder' ),
336 397 'wppm_admin',
337 398 'wppm-addons',
338 399 array($this,'wppm_addons')
339 400 );
340 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 +
341 419 do_action('wppm_add_submenu_page');
342 420 }
343 421
344 422 public function wppm_projects(){
@@ -344,8 +422,12 @@
344 422 public function wppm_projects(){
345 423 include WPPM_ABSPATH.'includes/admin/projects/projects.php';
346 424 }
347 425
426 + public function wppm_dashboard(){
427 + include WPPM_ABSPATH.'includes/admin/dashboard.php';
428 + }
429 +
348 430 public function wppm_add_new_project(){
349 431 include WPPM_ABSPATH.'includes/admin/projects/wppm_add_new_project.php';
350 432 die();
351 433 }
@@ -353,8 +435,22 @@
353 435 public function wppm_tasks(){
354 436 include WPPM_ABSPATH.'includes/admin/tasks/wppm_tasks.php';
355 437 }
356 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 +
357 453 public function wppm_email_notifications(){
358 454 include WPPM_ABSPATH.'includes/admin/email_notifications/wppm_email_notifications.php';
359 455 }
360 456
@@ -364,12 +460,8 @@
364 460
365 461 public function licenses(){
366 462 include WPPM_ABSPATH.'includes/admin/licenses.php';
367 463 }
368 -
369 - public function wppm_other_plugin(){
370 - include WPPM_ABSPATH.'includes/admin/wppm_other_plugin.php';
371 - }
372 464
373 465 public function wppm_open_project(){
374 466 include WPPM_ABSPATH.'includes/admin/projects/wppm_open_project.php';
375 467 die();
@@ -583,8 +675,23 @@
583 675 include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_add_new_checklist.php';
584 676 die();
585 677 }
586 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 +
587 694 public function wppm_add_new_checklist_item(){
588 695 include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_add_new_checklist_item.php';
589 696 die();
590 697 }
@@ -834,12 +941,8 @@
834 941 public function wppm_addons(){
835 942 include WPPM_ABSPATH.'includes/admin/addons.php';
836 943 }
837 944
838 - public function wppm_other_plugins(){
839 - include WPPM_ABSPATH.'includes/admin/wppm_other_plugins.php';
840 - }
841 -
842 945 public function wppm_clone_task(){
843 946 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_clone_task.php';
844 947 die();
845 948 }
@@ -1107,10 +1210,90 @@
1107 1210 public function wppm_set_page_settings(){
1108 1211 include WPPM_ABSPATH.'includes/admin/settings/wppm_set_page_settings.php';
1109 1212 die();
1110 1213 }
1214 +
1215 + public function wppm_get_task_pdf(){
1216 + include WPPM_ABSPATH.'includes/admin/wppm_get_task_pdf.php';
1217 + die();
1218 + }
1219 +
1220 + public function wppm_download_pdf(){
1221 + include WPPM_ABSPATH.'includes/admin/wppm_download_pdf.php';
1222 + die();
1223 + }
1224 +
1225 + public function wppm_get_print_task_settings(){
1226 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_print_task_settings.php';
1227 + die();
1228 + }
1229 +
1230 + public function wppm_set_print_task_settings(){
1231 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_print_task_settings.php';
1232 + die();
1233 + }
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 + }
1111 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 + }
1112 1296 }
1113 -
1114 1297 endif;
1115 1298
1116 1299 new WPPM_Admin();