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