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 +656 -67 1.0.56.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,19 +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);
103 - add_action('wp_ajax_wppm_clone_task',array($this,'wppm_clone_task'),10,1);
104 - add_action('wp_ajax_wppm_set_clone_task',array($this,'wppm_set_clone_task'),10,2);
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'));
105 186 }
106 187
107 188 // Load admin scripts
108 189 public function loadScripts(){
109 - 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')) :
110 209 wp_enqueue_script('jquery');
111 210 wp_enqueue_script('jquery-ui-core');
112 211 wp_enqueue_script( 'jquery-ui-sortable' );
113 212 wp_enqueue_script( 'jquery-ui-datepicker' );
@@ -143,22 +242,31 @@
143 242
144 243 //datatable
145 244 wp_enqueue_script('wppm-datatable-js', WPPM_PLUGIN_URL.'asset/lib/DataTables/datatables.min.js?version='.WPPM_VERSION, ['jquery'], null, true);
146 245 wp_enqueue_style('wppm-datatable-css', WPPM_PLUGIN_URL.'asset/lib/DataTables/datatables.min.css?version='.WPPM_VERSION );
147 -
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);
148 249 //localize script
149 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');
150 254 $localize_script_data = apply_filters( 'wppm_admin_localize_script', array(
151 - 'ajax_url' => admin_url( 'admin-ajax.php' ),
255 + 'ajax_url' => esc_url(admin_url( 'admin-ajax.php' )),
152 256 'loading_html' => $loading_html,
153 - 'add_new_category' => __('Add New Category','taskbuilder'),
154 - 'edit_category' =>__('Edit Category','taskbuilder'),
155 - 'please_wait' =>__('Please wait ...','taskbuilder'),
156 - 'confirm' =>__('Are you sure?','taskbuilder'),
157 - 'add_new_status' =>__('Add New Status','taskbuilder'),
158 - 'edit_status' =>__('Edit status','taskbuilder'),
159 - 'add_new_priority' =>__('Add New Priority','taskbuilder'),
160 - '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,
161 269 ));
162 270 wp_localize_script( 'wppm-admin', 'wppm_admin', $localize_script_data );
163 271 endif;
164 272 }
@@ -164,31 +272,48 @@
164 272 }
165 273
166 274 // Dashboard Menus
167 275 public function wppm_register_dashboard_menu(){
168 - global $current_user,$wpscfunction;
276 + global $current_user,$wppmfunction;
169 277 add_menu_page(
170 - __( 'Projects', 'taskbuilder'),
171 - __( 'Projects','taskbuilder'),
278 + esc_html__( 'Taskbuilder', 'taskbuilder'),
279 + esc_html__( 'Taskbuilder','taskbuilder'),
172 280 'read',
173 - 'wppm-projects',
174 - array($this,'wppm_projects'),
175 - WPPM_PLUGIN_URL.'asset/images/tasklist.svg',
281 + 'wppm-dashboard',
282 + array($this,'wppm_dashboard'),
283 + WPPM_PLUGIN_URL.'asset/images/taskbuilder_logo.svg',
176 284 25
177 285 );
178 286 add_submenu_page(
179 - 'wppm-projects',
180 - __('Project List', 'taskbuilder' ),
181 - __('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' ),
182 298 'read',
183 299 'wppm-projects',
184 300 array($this,'wppm_projects')
185 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 +
186 311
187 312 add_submenu_page(
188 - 'wppm-projects',
189 - __('Tasks', 'taskbuilder' ),
190 - __('Tasks', 'taskbuilder' ),
313 + 'wppm-dashboard',
314 + esc_html__('Tasks', 'taskbuilder' ),
315 + esc_html__('Tasks', 'taskbuilder' ),
191 316 'read',
192 317 'wppm-tasks',
193 318 array($this,'wppm_tasks')
194 319 );
@@ -193,51 +318,116 @@
193 318 array($this,'wppm_tasks')
194 319 );
195 320
196 321 add_submenu_page(
197 - 'wppm-projects',
198 - __('Email Notifications', 'taskbuilder' ),
199 - __('Email Notifications', 'taskbuilder' ),
200 - 'manage_options',
201 - 'wppm-email-notifications',
202 - 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')
203 328 );
204 329
205 - 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 + }
206 366
207 - add_submenu_page(
208 - 'wppm-projects',
209 - __('Settings', 'taskbuilder' ),
210 - __('Settings', 'taskbuilder' ),
211 - 'manage_options',
212 - 'wppm-settings',
213 - array($this,'settings')
214 - );
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 + }
215 402
216 - add_submenu_page(
217 - 'wppm-projects',
218 - __('License', 'taskbuilder' ),
219 - __('License', 'taskbuilder' ),
220 - 'manage_options',
221 - 'wppm-license',
222 - array($this,'licenses')
223 - );
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 + }
224 418
225 - add_submenu_page(
226 - 'wppm-projects',
227 - __('Addons', 'taskbuilder' ),
228 - __('Addons', 'taskbuilder' ),
229 - 'manage_options',
230 - 'wppm-addons',
231 - array($this,'wppm_addons')
232 - );
233 -
419 + do_action('wppm_add_submenu_page');
234 420 }
235 -
421 +
236 422 public function wppm_projects(){
237 423 include WPPM_ABSPATH.'includes/admin/projects/projects.php';
238 424 }
239 425
426 + public function wppm_dashboard(){
427 + include WPPM_ABSPATH.'includes/admin/dashboard.php';
428 + }
429 +
240 430 public function wppm_add_new_project(){
241 431 include WPPM_ABSPATH.'includes/admin/projects/wppm_add_new_project.php';
242 432 die();
243 433 }
@@ -245,8 +435,22 @@
245 435 public function wppm_tasks(){
246 436 include WPPM_ABSPATH.'includes/admin/tasks/wppm_tasks.php';
247 437 }
248 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 +
249 453 public function wppm_email_notifications(){
250 454 include WPPM_ABSPATH.'includes/admin/email_notifications/wppm_email_notifications.php';
251 455 }
252 456
@@ -471,8 +675,23 @@
471 675 include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_add_new_checklist.php';
472 676 die();
473 677 }
474 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 +
475 694 public function wppm_add_new_checklist_item(){
476 695 include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_add_new_checklist_item.php';
477 696 die();
478 697 }
@@ -561,23 +780,43 @@
561 780 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_edit_task_thread.php';
562 781 die();
563 782 }
564 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 +
565 789 public function wppm_set_edit_task_thread(){
566 790 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_set_edit_task_thread.php';
567 791 die();
568 792 }
569 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 +
570 799 public function wppm_delete_task_thread(){
571 800 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_delete_task_thread.php';
572 801 die();
573 802 }
574 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 +
575 809 public function wppm_set_delete_thread(){
576 810 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_set_delete_thread.php';
577 811 die();
578 812 }
579 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 +
580 819 public function wppm_edit_project_details(){
581 820 include WPPM_ABSPATH.'includes/admin/projects/open_project/wppm_edit_project_details.php';
582 821 die();
583 822 }
@@ -665,8 +904,12 @@
665 904 public function wppm_en_submit_task_comment($task_id,$comment_id){
666 905 include WPPM_ABSPATH.'includes/admin/email_notifications/wppm_en_submit_task_comment.php';
667 906 }
668 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 +
669 912 public function wppm_en_task_created($task_id){
670 913 include WPPM_ABSPATH.'includes/admin/email_notifications/wppm_en_task_created.php';
671 914 }
672 915
@@ -684,8 +927,13 @@
684 927 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_thread_attachment_remove.php';
685 928 die();
686 929 }
687 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 +
688 936 public function wppm_remove_checklist_item(){
689 937 include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_remove_checklist_item.php';
690 938 die();
691 939 }
@@ -702,9 +950,350 @@
702 950 public function wppm_set_clone_task($task_id){
703 951 include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_set_clone_task.php';
704 952 die();
705 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 + }
706 1296 }
707 -
708 1297 endif;
709 1298
710 1299 new WPPM_Admin();