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 +671 -57 1.0.36.0.6 View file →
@@ -10,13 +10,18 @@
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_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'));
14 17 add_action( 'wp_ajax_wppm_add_new_project',array($this,'wppm_add_new_project'));
15 18 add_action( 'wp_ajax_wppm_open_project',array($this,'wppm_open_project'));
19 + add_action( 'wp_ajax_nopriv_wppm_open_project',array($this,'wppm_open_project'));
16 20 add_action( 'wp_ajax_wppm_get_users',array($this,'wppm_get_users'));
17 21 add_action( 'wp_ajax_wppm_filter_autocomplete',array($this,'wppm_filter_autocomplete'));
18 22 add_action( 'wp_ajax_wppm_get_general_setings',array($this,'wppm_get_general_settings'));
23 + add_action( 'wp_ajax_wppm_get_page_setings',array($this,'wppm_get_page_settings'));
19 24 add_action( 'wp_ajax_wppm_get_category_settings',array($this,'wppm_get_category_settings'));
20 25 add_action( 'wp_ajax_wppm_get_add_category',array($this,'wppm_get_add_category'));
21 26 add_action( 'wp_ajax_wppm_set_add_category',array($this,'wppm_set_add_category'));
22 27 add_action( 'wp_ajax_wppm_get_edit_category',array($this,'wppm_get_edit_category'));
@@ -30,12 +35,12 @@
30 35 add_action( 'wp_ajax_wppm_set_edit_status',array($this,'wppm_set_edit_status'));
31 36 add_action( 'wp_ajax_wppm_delete_status',array($this,'wppm_delete_status'));
32 37 add_action( 'wp_ajax_wppm_set_status_order',array($this,'wppm_set_status_order'));
33 38 add_action( 'wp_ajax_wppm_create_project',array($this,'wppm_create_project'));
34 - add_action('wp_ajax_wppm_get_project_list',array($this,'wppm_get_project_list'));
39 + add_action('wp_ajax_wppm_get_project_list',array($this,'wppm_get_project_list'),10,2);
35 40 add_action('wp_ajax_wppm_view_project_tasks',array($this,'wppm_view_project_tasks'));
36 41 add_action('wp_ajax_wppm_add_new_task',array($this,'wppm_add_new_task'));
37 - 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);
38 43 add_action('wp_ajax_wppm_get_priority_settings',array($this,'wppm_get_priority_settings'));
39 44 add_action('wp_ajax_wppm_add_task_priority',array($this,'wppm_add_task_priority'));
40 45 add_action('wp_ajax_wppm_set_add_priority',array($this,'wppm_set_add_priority'));
41 46 add_action('wp_ajax_wppm_get_edit_priority',array($this,'wppm_get_edit_priority'));
@@ -49,20 +54,22 @@
49 54 add_action('wp_ajax_wppm_set_edit_task_status',array($this,'wppm_set_edit_task_status'));
50 55 add_action('wp_ajax_wppm_delete_task_status',array($this,'wppm_delete_task_status'));
51 56 add_action('wp_ajax_wppm_set_task_status_order',array($this,'wppm_set_task_status_order'));
52 57 add_action('wp_ajax_wppm_create_task',array($this,'wppm_create_task'));
53 - 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);
54 59 add_action('wp_ajax_wppm_drag_and_drop_card',array($this,'wppm_drag_and_drop_card'));
55 60 add_action('wp_ajax_wppm_open_task',array($this,'wppm_open_task'));
61 + add_action( 'wp_ajax_nopriv_wppm_open_task',array($this,'wppm_open_task'));
56 62 add_action('wp_ajax_wppm_add_new_checklist',array($this,'wppm_add_new_checklist'));
57 63 add_action('wp_ajax_wppm_add_new_checklist_item',array($this,'wppm_add_new_checklist_item'));
58 - add_action('wp_ajax_wppm_delete_checklist',array($this,'wppm_delete_checklist'));
64 + add_action('wp_ajax_wppm_delete_checklist',array($this,'wppm_delete_checklist'),100,4);
59 65 add_action('wp_ajax_wppm_set_checklist_progress',array($this,'wppm_set_checklist_progress'));
60 66 add_action('wp_ajax_wppm_set_project_users',array($this,'wppm_set_project_users'));
61 67 add_action('wp_ajax_wppm_get_task_users',array($this,'wppm_get_task_users'));
62 68 add_action('wp_ajax_wppm_set_task_users',array($this,'wppm_set_task_users'));
63 - add_action('wp_ajax_wppm_submit_task_comment',array($this,'wppm_submit_task_comment'));
69 + add_action('wp_ajax_wppm_submit_task_comment',array($this,'wppm_submit_task_comment'),100,2);
64 70 add_action('wp_ajax_wppm_upload_file',array($this,'wppm_upload_file'));
71 + add_action('wp_ajax_wppm_upload_proj_attach_file',array($this,'wppm_upload_file'));
65 72 add_action('wp_ajax_wppm_get_en_general_setting',array($this,'wppm_get_en_general_setting'));
66 73 add_action('wp_ajax_wppm_set_en_general_settings',array($this,'wppm_set_en_general_settings'));
67 74 add_action('wp_ajax_wppm_get_en_task_notifications',array($this,'wppm_get_en_task_notifications'));
68 75 add_action('wp_ajax_wppm_edit_task_status',array($this,'wppm_edit_task_status'));
@@ -71,11 +78,15 @@
71 78 add_action('wp_ajax_wppm_set_change_raised_by',array($this,'wppm_set_change_raised_by'));
72 79 add_action('wp_ajax_wppm_edit_task_details',array($this,'wppm_edit_task_details'));
73 80 add_action('wp_ajax_wppm_set_change_task_details',array($this,'wppm_set_change_task_details'));
74 81 add_action('wp_ajax_wppm_edit_task_thread',array($this,'wppm_edit_task_thread'));
82 + add_action('wp_ajax_wppm_edit_proj_thread',array($this,'wppm_edit_proj_thread'));
75 83 add_action('wp_ajax_wppm_set_edit_task_thread',array($this,'wppm_set_edit_task_thread'));
84 + add_action('wp_ajax_wppm_set_edit_proj_thread',array($this,'wppm_set_edit_proj_thread'));
76 85 add_action('wp_ajax_wppm_delete_task_thread',array($this,'wppm_delete_task_thread'));
86 + add_action('wp_ajax_wppm_delete_proj_thread',array($this,'wppm_delete_proj_thread'));
77 87 add_action('wp_ajax_wppm_set_delete_thread',array($this,'wppm_set_delete_thread'));
88 + add_action('wp_ajax_wppm_set_delete_proj_thread',array($this,'wppm_set_delete_proj_thread'));
78 89 add_action('wp_ajax_wppm_edit_project_details',array($this,'wppm_edit_project_details'));
79 90 add_action('wp_ajax_wppm_set_change_project_details',array($this,'wppm_set_change_project_details'));
80 91 add_action('wp_ajax_wppm_edit_project_status',array($this,'wppm_edit_project_status'));
81 92 add_action('wp_ajax_wppm_set_change_project_status',array($this,'wppm_set_change_project_status'),10,3);
@@ -82,9 +93,9 @@
82 93 add_action('wp_ajax_wppm_edit_project_creator',array($this,'wppm_edit_project_creator'));
83 94 add_action('wp_ajax_wppm_set_change_project_raised_by',array($this,'wppm_set_change_project_raised_by'));
84 95 add_action('wp_ajax_wppm_get_delete_project',array($this,'wppm_get_delete_project'));
85 96 add_action('wp_ajax_wppm_set_delete_project',array($this,'wppm_set_delete_project'));
86 - add_action('wp_ajax_wppm_get_delete_task',array($this,'wppm_get_delete_task'));
97 + add_action('wp_ajax_wppm_get_delete_task',array($this,'wppm_get_delete_task'),100,3);
87 98 add_action('wp_ajax_wppm_set_delete_task',array($this,'wppm_set_delete_task'));
88 99 add_action('wp_ajax_wppm_get_edit_email_notification',array($this,'wppm_get_edit_email_notification'));
89 100 add_action('wp_ajax_wppm_get_templates',array($this,'wppm_get_templates'));
90 101 add_action('wp_ajax_wppm_set_edit_email_notification',array($this,'wppm_set_edit_email_notification'));
@@ -95,17 +106,107 @@
95 106 add_action('wppm_after_task_created',array($this,'wppm_en_task_created'),100,1);
96 107 add_action('wppm_after_project_created',array($this,'wppm_set_project_meta'));
97 108 add_action('wppm_after_project_created',array($this,'wppm_en_project_created'),100,1);
98 109 add_action('wppm_after_submit_task_comment',array($this,'wppm_en_submit_task_comment'),10,2);
110 + add_action('wppm_after_submit_proj_comment',array($this,'wppm_en_submit_proj_comment'),10,2);
99 111 add_action('wp_ajax_wppm_set_general_settings',array($this,'wppm_set_general_settings'));
100 - add_action('wp_ajax_wppm_get_project_tasks',array($this,'wppm_get_project_tasks'));
101 - add_action('wp_ajax_wppm_remove_thread_attachment',array($this,'wppm_remove_thread_attachment'),10,3);
112 + add_action('wp_ajax_wppm_get_project_tasks',array($this,'wppm_get_project_tasks'),100,2);
113 + add_action('wp_ajax_wppm_remove_thread_attachment',array($this,'wppm_remove_thread_attachment'),10,5);
114 + add_action('wp_ajax_wppm_remove_proj_thread_attachment',array($this,'wppm_remove_proj_thread_attachment'),10,4);
102 115 add_action('wp_ajax_wppm_remove_checklist_item',array($this,'wppm_remove_checklist_item'),10,4);
116 + add_action('wp_ajax_wppm_clone_task',array($this,'wppm_clone_task'),10,2);
117 + add_action('wp_ajax_wppm_set_clone_task',array($this,'wppm_set_clone_task'),10,4);
118 + add_action('wp_ajax_wppm_get_advanced_settings',array($this,'wppm_get_advanced_settings'));
119 + add_action('wp_ajax_wppm_set_advanced_settings',array($this,'wppm_set_advanced_settings'));
120 + add_action('wp_ajax_wppm_get_appearance_settings',array($this,'wppm_get_appearance_settings'));
121 + add_action('wp_ajax_wppm_get_project_visibility',array($this,'wppm_get_project_visibility'),10,1);
122 + add_action('wp_ajax_wppm_change_project_visibility',array($this,'wppm_change_project_visibility'),10,2);
123 + add_action('wp_ajax_wppm_submit_proj_comment',array($this,'wppm_submit_proj_comment'));
124 + add_action('wp_ajax_wppm_set_change_task_start_date',array($this,'wppm_set_change_task_start_date'));
125 + add_action('wp_ajax_wppm_set_change_task_end_date',array($this,'wppm_set_change_task_end_date'));
126 + add_action('wp_ajax_wppm_set_change_proj_start_date',array($this,'wppm_set_change_proj_start_date'));
127 + add_action('wp_ajax_wppm_set_change_proj_end_date',array($this,'wppm_set_change_proj_end_date'));
128 + add_action('wp_ajax_wppm_get_ap_proj_list',array($this,'wppm_get_ap_proj_list'));
129 + add_action('wp_ajax_wppm_set_ap_proj_list',array($this,'wppm_set_ap_proj_list'));
130 + add_action('wp_ajax_wppm_get_ap_task_list',array($this,'wppm_get_ap_task_list'));
131 + add_action('wp_ajax_wppm_set_ap_task_list',array($this,'wppm_set_ap_task_list'));
132 + add_action('wp_ajax_wppm_reset_ap_proj_list',array($this,'wppm_reset_ap_proj_list'));
133 + add_action('wp_ajax_wppm_reset_ap_task_list',array($this,'wppm_reset_ap_task_list'));
134 + add_action('wp_ajax_wppm_get_ap_individual_proj',array($this,'wppm_get_ap_individual_proj'));
135 + add_action('wp_ajax_wppm_set_ap_individual_proj',array($this,'wppm_set_ap_individual_proj'));
136 + add_action('wp_ajax_wppm_reset_ap_individual_proj',array($this,'wppm_reset_ap_individual_proj'));
137 + add_action('wp_ajax_wppm_get_ap_individual_task',array($this,'wppm_get_ap_individual_task'));
138 + add_action('wp_ajax_wppm_set_ap_individual_task',array($this,'wppm_set_ap_individual_task'));
139 + add_action('wp_ajax_wppm_reset_ap_individual_task',array($this,'wppm_reset_ap_individual_task'));
140 + add_action('wp_ajax_wppm_get_ap_modal_popup',array($this,'wppm_get_ap_modal_popup'));
141 + add_action('wp_ajax_wppm_set_ap_modal_popup',array($this,'wppm_set_ap_modal_popup'));
142 + add_action('wp_ajax_wppm_reset_ap_modal_popup',array($this,'wppm_reset_ap_modal_popup'));
143 + add_action('wp_ajax_wppm_get_ap_grid_view',array($this,'wppm_get_ap_grid_view'));
144 + add_action('wp_ajax_wppm_set_ap_grid_view',array($this,'wppm_set_ap_grid_view'));
145 + add_action('wp_ajax_wppm_reset_ap_grid_view',array($this,'wppm_reset_ap_grid_view'));
146 + add_action('wp_ajax_wppm_get_ap_settings',array($this,'wppm_get_ap_settings'));
147 + add_action('wp_ajax_wppm_set_ap_settings',array($this,'wppm_set_ap_settings'));
148 + add_action('wp_ajax_wppm_reset_ap_settings',array($this,'wppm_reset_ap_settings'));
149 + add_action('wp_ajax_wppm_get_bulk_change_proj_status',array($this,'wppm_get_bulk_change_proj_status'));
150 + add_action('wp_ajax_wppm_set_bulk_change_project_status',array($this,'wppm_set_bulk_change_project_status'));
151 + add_action('wp_ajax_wppm_get_bulk_change_proj_cat',array($this,'wppm_get_bulk_change_proj_cat'));
152 + add_action('wp_ajax_wppm_set_bulk_change_project_category',array($this,'wppm_set_bulk_change_project_category'));
153 + add_action('wp_ajax_wppm_get_bulk_assign_users',array($this,'wppm_get_bulk_assign_users'));
154 + add_action('wp_ajax_wppm_set_bulk_project_users',array($this,'wppm_set_bulk_project_users'));
155 + add_action('wp_ajax_wppm_get_bulk_delete_project',array($this,'wppm_get_bulk_delete_project'));
156 + add_action('wp_ajax_wppm_set_delete_bulk_projects',array($this,'wppm_set_delete_bulk_projects'));
157 + add_action('wp_ajax_wppm_get_bulk_change_task_status',array($this,'wppm_get_bulk_change_task_status'));
158 + add_action('wp_ajax_wppm_set_bulk_change_task_status',array($this,'wppm_set_bulk_change_task_status'));
159 + add_action('wp_ajax_wppm_get_bulk_change_task_priority',array($this,'wppm_get_bulk_change_task_priority'));
160 + add_action('wp_ajax_wppm_set_bulk_change_task_priority',array($this,'wppm_set_bulk_change_task_priority'));
161 + add_action('wp_ajax_wppm_get_bulk_delete_task',array($this,'wppm_get_bulk_delete_task'));
162 + add_action('wp_ajax_wppm_set_delete_bulk_tasks',array($this,'wppm_set_delete_bulk_tasks'));
163 + add_action('wp_ajax_wppm_get_coworker_permission_settings',array($this,'wppm_get_coworker_permission_settings'));
164 + add_action('wp_ajax_wppm_set_coworkers_permission_settings',array($this,'wppm_set_coworkers_permission_settings'));
165 + add_action('wp_ajax_wppm_get_rich_text_editor_settings',array($this,'wppm_get_rich_text_editor_settings'));
166 + add_action('wp_ajax_wppm_set_rich_text_editor_settings',array($this,'wppm_set_rich_text_editor_settings'));
167 + // Search WP pages.
168 + add_action( 'wp_ajax_wppm_search_wp_pages', array($this, 'wppm_search_wp_pages'));
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'));
103 186 }
104 187
105 188 // Load admin scripts
106 189 public function loadScripts(){
107 - 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')) :
108 209 wp_enqueue_script('jquery');
109 210 wp_enqueue_script('jquery-ui-core');
110 211 wp_enqueue_script( 'jquery-ui-sortable' );
111 212 wp_enqueue_script( 'jquery-ui-datepicker' );
@@ -141,22 +242,31 @@
141 242
142 243 //datatable
143 244 wp_enqueue_script('wppm-datatable-js', WPPM_PLUGIN_URL.'asset/lib/DataTables/datatables.min.js?version='.WPPM_VERSION, ['jquery'], null, true);
144 245 wp_enqueue_style('wppm-datatable-css', WPPM_PLUGIN_URL.'asset/lib/DataTables/datatables.min.css?version='.WPPM_VERSION );
145 -
246 + // selectWoo.
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);
146 249 //localize script
147 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');
148 254 $localize_script_data = apply_filters( 'wppm_admin_localize_script', array(
149 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
255 + 'ajax_url' => esc_url(admin_url( 'admin-ajax.php' )),
150 256 'loading_html' => $loading_html,
151 - 'add_new_category' => __('Add New Category','taskbuilder'),
152 - 'edit_category' =>__('Edit Category','taskbuilder'),
153 - 'please_wait' =>__('Please wait ...','taskbuilder'),
154 - 'confirm' =>__('Are you sure?','taskbuilder'),
155 - 'add_new_status' =>__('Add New Status','taskbuilder'),
156 - 'edit_status' =>__('Edit status','taskbuilder'),
157 - 'add_new_priority' =>__('Add New Priority','taskbuilder'),
158 - '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,
159 269 ));
160 270 wp_localize_script( 'wppm-admin', 'wppm_admin', $localize_script_data );
161 271 endif;
162 272 }
@@ -162,31 +272,48 @@
162 272 }
163 273
164 274 // Dashboard Menus
165 275 public function wppm_register_dashboard_menu(){
166 - global $current_user,$wpscfunction;
276 + global $current_user,$wppmfunction;
167 277 add_menu_page(
168 - __( 'Projects', 'taskbuilder'),
169 - __( 'Projects','taskbuilder'),
278 + esc_html__( 'Taskbuilder', 'taskbuilder'),
279 + esc_html__( 'Taskbuilder','taskbuilder'),
170 280 'read',
171 - 'wppm-projects',
172 - array($this,'wppm_projects'),
173 - WPPM_PLUGIN_URL.'asset/images/tasklist.svg',
281 + 'wppm-dashboard',
282 + array($this,'wppm_dashboard'),
283 + WPPM_PLUGIN_URL.'asset/images/taskbuilder_logo.svg',
174 284 25
175 285 );
176 286 add_submenu_page(
177 - 'wppm-projects',
178 - __('Project List', 'taskbuilder' ),
179 - __('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' ),
180 298 'read',
181 299 'wppm-projects',
182 300 array($this,'wppm_projects')
183 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 +
184 311
185 312 add_submenu_page(
186 - 'wppm-projects',
187 - __('Tasks', 'taskbuilder' ),
188 - __('Tasks', 'taskbuilder' ),
313 + 'wppm-dashboard',
314 + esc_html__('Tasks', 'taskbuilder' ),
315 + esc_html__('Tasks', 'taskbuilder' ),
189 316 'read',
190 317 'wppm-tasks',
191 318 array($this,'wppm_tasks')
192 319 );
@@ -191,42 +318,116 @@
191 318 array($this,'wppm_tasks')
192 319 );
193 320
194 321 add_submenu_page(
195 - 'wppm-projects',
196 - __('Email Notifications', 'taskbuilder' ),
197 - __('Email Notifications', 'taskbuilder' ),
198 - 'manage_options',
199 - 'wppm-email-notifications',
200 - array($this,'wppm_email_notifications')
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')
201 328 );
202 329
203 - do_action('wppm_add_submenu_page');
330 + if(current_user_can('manage_options')){
331 + add_submenu_page(
332 + 'wppm-dashboard',
333 + esc_html__('Email Notifications', 'taskbuilder' ),
334 + esc_html__('Email Notifications', 'taskbuilder' ),
335 + 'manage_options',
336 + 'wppm-email-notifications',
337 + array($this,'wppm_email_notifications')
338 + );
339 + add_submenu_page(
340 + 'wppm-dashboard',
341 + esc_html__('Settings', 'taskbuilder' ),
342 + esc_html__('Settings', 'taskbuilder' ),
343 + 'manage_options',
344 + 'wppm-settings',
345 + array($this,'settings')
346 + );
347 + add_submenu_page(
348 + 'wppm-dashboard',
349 + esc_html__('License', 'taskbuilder' ),
350 + esc_html__('License', 'taskbuilder' ),
351 + 'manage_options',
352 + 'wppm-license',
353 + array($this,'licenses')
354 + );
355 +
356 + add_submenu_page(
357 + 'wppm-dashboard',
358 + esc_html__('Pro Features', 'taskbuilder' ),
359 + esc_html__('Pro Features', 'taskbuilder' ),
360 + 'manage_options',
361 + 'wppm-addons',
362 + array($this,'wppm_addons')
363 + );
364 +
365 + }
204 366
205 - add_submenu_page(
206 - 'wppm-projects',
207 - __('Settings', 'taskbuilder' ),
208 - __('Settings', 'taskbuilder' ),
209 - 'manage_options',
210 - 'wppm-settings',
211 - array($this,'settings')
212 - );
367 + if(current_user_can('wppm_admin') && !current_user_can('manage_options')){
368 + add_submenu_page(
369 + 'wppm-dashboard',
370 + esc_html__('Email Notifications', 'taskbuilder' ),
371 + esc_html__('Email Notifications', 'taskbuilder' ),
372 + 'wppm_admin',
373 + 'wppm-email-notifications',
374 + array($this,'wppm_email_notifications')
375 + );
376 + add_submenu_page(
377 + 'wppm-dashboard',
378 + esc_html__('Settings', 'taskbuilder' ),
379 + esc_html__('Settings', 'taskbuilder' ),
380 + 'wppm_admin',
381 + 'wppm-settings',
382 + array($this,'settings')
383 + );
384 + add_submenu_page(
385 + 'wppm-dashboard',
386 + esc_html__('License', 'taskbuilder' ),
387 + esc_html__('License', 'taskbuilder' ),
388 + 'manage_options',
389 + 'wppm-license',
390 + array($this,'licenses')
391 + );
392 +
393 + add_submenu_page(
394 + 'wppm-dashboard',
395 + esc_html__('Addons', 'taskbuilder' ),
396 + esc_html__('Addons', 'taskbuilder' ),
397 + 'wppm_admin',
398 + 'wppm-addons',
399 + array($this,'wppm_addons')
400 + );
401 + }
213 402
214 - add_submenu_page(
215 - 'wppm-projects',
216 - __('License', 'taskbuilder' ),
217 - __('License', 'taskbuilder' ),
218 - 'manage_options',
219 - 'wppm-license',
220 - array($this,'licenses')
221 - );
222 -
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 +
419 + do_action('wppm_add_submenu_page');
223 420 }
224 -
421 +
225 422 public function wppm_projects(){
226 423 include WPPM_ABSPATH.'includes/admin/projects/projects.php';
227 424 }
228 425
426 + public function wppm_dashboard(){
427 + include WPPM_ABSPATH.'includes/admin/dashboard.php';
428 + }
429 +
229 430 public function wppm_add_new_project(){
230 431 include WPPM_ABSPATH.'includes/admin/projects/wppm_add_new_project.php';
231 432 die();
232 433 }
@@ -234,8 +435,22 @@
234 435 public function wppm_tasks(){
235 436 include WPPM_ABSPATH.'includes/admin/tasks/wppm_tasks.php';
236 437 }
237 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 +
238 453 public function wppm_email_notifications(){
239 454 include WPPM_ABSPATH.'includes/admin/email_notifications/wppm_email_notifications.php';
240 455 }
241 456
@@ -460,8 +675,23 @@
460 675 include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_add_new_checklist.php';
461 676 die();
462 677 }
463 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 +
464 694 public function wppm_add_new_checklist_item(){
465 695 include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_add_new_checklist_item.php';
466 696 die();
467 697 }
@@ -550,23 +780,43 @@
550 780 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_edit_task_thread.php';
551 781 die();
552 782 }
553 783
784 + public function wppm_edit_proj_thread(){
785 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_edit_project_thread.php';
786 + die();
787 + }
788 +
554 789 public function wppm_set_edit_task_thread(){
555 790 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_set_edit_task_thread.php';
556 791 die();
557 792 }
558 793
794 + public function wppm_set_edit_proj_thread(){
795 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_set_edit_proj_thread.php';
796 + die();
797 + }
798 +
559 799 public function wppm_delete_task_thread(){
560 800 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_delete_task_thread.php';
561 801 die();
562 802 }
563 803
804 + public function wppm_delete_proj_thread(){
805 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_delete_proj_thread.php';
806 + die();
807 + }
808 +
564 809 public function wppm_set_delete_thread(){
565 810 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_set_delete_thread.php';
566 811 die();
567 812 }
568 813
814 + public function wppm_set_delete_proj_thread(){
815 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_set_delete_proj_thread.php';
816 + die();
817 + }
818 +
569 819 public function wppm_edit_project_details(){
570 820 include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_edit_project_details.php';
571 821 die();
572 822 }
@@ -654,8 +904,12 @@
654 904 public function wppm_en_submit_task_comment($task_id,$comment_id){
655 905 include WPPM_ABSPATH.'includes/admin/email_notifications/wppm_en_submit_task_comment.php';
656 906 }
657 907
908 + public function wppm_en_submit_proj_comment($proj_id,$comment_id){
909 + include WPPM_ABSPATH.'includes/admin/email_notifications/wppm_en_submit_proj_comment.php';
910 + }
911 +
658 912 public function wppm_en_task_created($task_id){
659 913 include WPPM_ABSPATH.'includes/admin/email_notifications/wppm_en_task_created.php';
660 914 }
661 915
@@ -673,13 +927,373 @@
673 927 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_thread_attachment_remove.php';
674 928 die();
675 929 }
676 930
931 + public function wppm_remove_proj_thread_attachment(){
932 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_proj_thread_attachment_remove.php';
933 + die();
934 + }
935 +
677 936 public function wppm_remove_checklist_item(){
678 937 include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_remove_checklist_item.php';
679 938 die();
680 939 }
940 +
941 + public function wppm_addons(){
942 + include WPPM_ABSPATH.'includes/admin/addons.php';
943 + }
944 +
945 + public function wppm_clone_task(){
946 + include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_clone_task.php';
947 + die();
948 + }
949 +
950 + public function wppm_set_clone_task($task_id){
951 + include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_set_clone_task.php';
952 + die();
953 + }
954 +
955 + public function wppm_get_advanced_settings(){
956 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_advanced_settings.php';
957 + die();
958 + }
959 +
960 + public function wppm_set_advanced_settings(){
961 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_advanced_settings.php';
962 + die();
963 + }
964 +
965 + public function wppm_get_appearance_settings(){
966 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_appearance_settings.php';
967 + die();
968 + }
969 +
970 + public function wppm_get_ap_proj_list(){
971 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_ap_proj_list.php';
972 + die();
973 + }
974 +
975 + public function wppm_get_ap_individual_proj(){
976 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_ap_individual_proj.php';
977 + die();
978 + }
979 +
980 + public function wppm_get_ap_individual_task(){
981 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_ap_individual_task.php';
982 + die();
983 + }
984 +
985 + public function wppm_set_ap_proj_list(){
986 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_ap_proj_list.php';
987 + die();
988 + }
989 +
990 + public function wppm_reset_ap_proj_list(){
991 + include WPPM_ABSPATH.'includes/admin/settings/wppm_reset_ap_proj_list.php';
992 + die();
993 + }
994 +
995 + public function wppm_get_project_visibility(){
996 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_get_project_visibility.php';
997 + die();
998 + }
999 +
1000 + public function wppm_change_project_visibility(){
1001 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_change_project_visibility.php';
1002 + die();
1003 + }
1004 +
1005 + public function wppm_submit_proj_comment(){
1006 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_submit_project_comment.php';
1007 + die();
1008 + }
1009 +
1010 + public function wppm_set_change_task_start_date(){
1011 + include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_set_change_task_start_date.php';
1012 + die();
1013 + }
1014 +
1015 + public function wppm_set_change_task_end_date(){
1016 + include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_set_change_task_end_date.php';
1017 + die();
1018 + }
1019 +
1020 + public function wppm_set_change_proj_start_date(){
1021 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_set_change_proj_start_date.php';
1022 + die();
1023 + }
1024 +
1025 + public function wppm_set_change_proj_end_date(){
1026 + include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_set_change_proj_end_date.php';
1027 + die();
1028 + }
1029 +
1030 + public function wppm_get_ap_task_list(){
1031 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_ap_task_list.php';
1032 + die();
1033 + }
1034 +
1035 + public function wppm_set_ap_task_list(){
1036 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_ap_task_list.php';
1037 + die();
1038 + }
1039 +
1040 + public function wppm_reset_ap_task_list(){
1041 + include WPPM_ABSPATH.'includes/admin/settings/wppm_reset_ap_task_list.php';
1042 + die();
1043 + }
1044 +
1045 + public function wppm_set_ap_individual_proj(){
1046 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_ap_individual_proj.php';
1047 + die();
1048 + }
1049 +
1050 + public function wppm_set_ap_individual_task(){
1051 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_ap_individual_task.php';
1052 + die();
1053 + }
1054 +
1055 + public function wppm_reset_ap_individual_proj(){
1056 + include WPPM_ABSPATH.'includes/admin/settings/wppm_reset_ap_individual_proj.php';
1057 + die();
1058 + }
1059 +
1060 + public function wppm_reset_ap_individual_task(){
1061 + include WPPM_ABSPATH.'includes/admin/settings/wppm_reset_ap_individual_task.php';
1062 + die();
1063 + }
1064 +
1065 + public function wppm_reset_ap_modal_popup(){
1066 + include WPPM_ABSPATH.'includes/admin/settings/wppm_reset_ap_modal_popup.php';
1067 + die();
1068 + }
1069 +
1070 + public function wppm_get_ap_modal_popup(){
1071 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_ap_modal_popup.php';
1072 + die();
1073 + }
1074 +
1075 + public function wppm_set_ap_modal_popup(){
1076 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_ap_modal_popup.php';
1077 + die();
1078 + }
1079 +
1080 + public function wppm_get_ap_grid_view(){
1081 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_ap_grid_view.php';
1082 + die();
1083 + }
1084 +
1085 + public function wppm_set_ap_grid_view(){
1086 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_ap_grid_view.php';
1087 + die();
1088 + }
1089 +
1090 + public function wppm_reset_ap_grid_view(){
1091 + include WPPM_ABSPATH.'includes/admin/settings/wppm_reset_ap_grid_view.php';
1092 + die();
1093 + }
1094 +
1095 + public function wppm_get_ap_settings(){
1096 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_ap_settings.php';
1097 + die();
1098 + }
1099 +
1100 + public function wppm_set_ap_settings(){
1101 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_ap_settings.php';
1102 + die();
1103 + }
1104 +
1105 + public function wppm_reset_ap_settings(){
1106 + include WPPM_ABSPATH.'includes/admin/settings/wppm_reset_ap_settings.php';
1107 + die();
1108 + }
1109 +
1110 + public function wppm_get_bulk_change_proj_status($proj_ids){
1111 + include WPPM_ABSPATH.'includes/admin/projects/wppm_get_bulk_change_proj_status.php';
1112 + die();
1113 + }
1114 +
1115 + public function wppm_set_bulk_change_project_status(){
1116 + include WPPM_ABSPATH.'includes/admin/projects/wppm_set_bulk_change_proj_status.php';
1117 + die();
1118 + }
1119 +
1120 + public function wppm_get_bulk_change_proj_cat($proj_ids){
1121 + include WPPM_ABSPATH.'includes/admin/projects/wppm_get_bulk_change_proj_cat.php';
1122 + die();
1123 + }
1124 +
1125 + public function wppm_set_bulk_change_project_category(){
1126 + include WPPM_ABSPATH.'includes/admin/projects/wppm_set_bulk_change_project_category.php';
1127 + die();
1128 + }
1129 +
1130 + public function wppm_get_bulk_assign_users($proj_ids){
1131 + include WPPM_ABSPATH.'includes/admin/projects/wppm_get_bulk_assign_users.php';
1132 + die();
1133 + }
1134 +
1135 + public function wppm_set_bulk_project_users(){
1136 + include WPPM_ABSPATH.'includes/admin/projects/wppm_set_bulk_project_users.php';
1137 + die();
1138 + }
1139 +
1140 + public function wppm_get_bulk_delete_project($proj_ids){
1141 + include WPPM_ABSPATH.'includes/admin/projects/wppm_get_bulk_delete_project.php';
1142 + die();
1143 + }
1144 +
1145 + public function wppm_set_delete_bulk_projects(){
1146 + include WPPM_ABSPATH.'includes/admin/projects/wppm_set_delete_bulk_projects.php';
1147 + die();
1148 + }
1149 +
1150 + public function wppm_get_bulk_change_task_status($task_ids){
1151 + include WPPM_ABSPATH.'includes/admin/tasks/wppm_get_bulk_change_task_status.php';
1152 + die();
1153 + }
1154 +
1155 + public function wppm_set_bulk_change_task_status(){
1156 + include WPPM_ABSPATH.'includes/admin/tasks/wppm_set_bulk_change_task_status.php';
1157 + die();
1158 + }
1159 +
1160 + public function wppm_get_bulk_change_task_priority($task_ids){
1161 + include WPPM_ABSPATH.'includes/admin/tasks/wppm_get_bulk_change_task_priority.php';
1162 + die();
1163 + }
1164 +
1165 + public function wppm_set_bulk_change_task_priority(){
1166 + include WPPM_ABSPATH.'includes/admin/tasks/wppm_set_bulk_change_task_priority.php';
1167 + die();
1168 + }
1169 +
1170 + public function wppm_get_bulk_delete_task($task_ids){
1171 + include WPPM_ABSPATH.'includes/admin/tasks/wppm_get_bulk_delete_task.php';
1172 + die();
1173 + }
1174 +
1175 + public function wppm_set_delete_bulk_tasks(){
1176 + include WPPM_ABSPATH.'includes/admin/tasks/wppm_set_delete_bulk_tasks.php';
1177 + die();
1178 + }
1179 +
1180 + public function wppm_get_coworker_permission_settings(){
1181 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_coworker_permission_settings.php';
1182 + die();
1183 + }
1184 +
1185 + public function wppm_set_coworkers_permission_settings(){
1186 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_coworkers_permission_settings.php';
1187 + die();
1188 + }
1189 +
1190 + public function wppm_get_rich_text_editor_settings(){
1191 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_rich_text_editor_settings.php';
1192 + die();
1193 + }
1194 +
1195 + public function wppm_set_rich_text_editor_settings(){
1196 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_rich_text_editor_settings.php';
1197 + die();
1198 + }
1199 +
1200 + public function wppm_get_page_settings(){
1201 + include WPPM_ABSPATH.'includes/admin/settings/wppm_get_page_settings.php';
1202 + die();
1203 + }
1204 +
1205 + public function wppm_search_wp_pages(){
1206 + include WPPM_ABSPATH.'includes/admin/settings/wppm_search_wp_pages.php';
1207 + die();
1208 + }
1209 +
1210 + public function wppm_set_page_settings(){
1211 + include WPPM_ABSPATH.'includes/admin/settings/wppm_set_page_settings.php';
1212 + die();
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 + }
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 + }
681 1296 }
682 -
683 1297 endif;
684 1298
685 1299 new WPPM_Admin();