| @@ -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')); |
| @@ -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'),100,3); | |
| 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); |
| @@ -172,13 +174,39 @@ | ||
| 172 | 174 | add_action('wp_ajax_wppm_update_checklist_order',array($this,'wppm_update_checklist_order')); |
| 173 | 175 | add_action('wp_ajax_wppm_edit_checklist_item',array($this,'wppm_edit_checklist_item'),10,5); |
| 174 | 176 | add_action('wp_ajax_wppm_set_checklist_item_name',array($this,'wppm_set_checklist_item_name'),10,3); |
| 175 | 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')); | |
| 176 | 186 | } |
| 177 | 187 | |
| 178 | 188 | // Load admin scripts |
| 179 | 189 | public function loadScripts(){ |
| 180 | - 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')) : | |
| 181 | 209 | wp_enqueue_script('jquery'); |
| 182 | 210 | wp_enqueue_script('jquery-ui-core'); |
| 183 | 211 | wp_enqueue_script( 'jquery-ui-sortable' ); |
| 184 | 212 | wp_enqueue_script( 'jquery-ui-datepicker' ); |
| @@ -216,22 +244,29 @@ | ||
| 216 | 244 | wp_enqueue_script('wppm-datatable-js', WPPM_PLUGIN_URL.'asset/lib/DataTables/datatables.min.js?version='.WPPM_VERSION, ['jquery'], null, true); |
| 217 | 245 | wp_enqueue_style('wppm-datatable-css', WPPM_PLUGIN_URL.'asset/lib/DataTables/datatables.min.css?version='.WPPM_VERSION ); |
| 218 | 246 | // selectWoo. |
| 219 | 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); | |
| 220 | 249 | //localize script |
| 221 | 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'); | |
| 222 | 254 | $localize_script_data = apply_filters( 'wppm_admin_localize_script', array( |
| 223 | - 'ajax_url' => admin_url( 'admin-ajax.php' ), | |
| 255 | + 'ajax_url' => esc_url(admin_url( 'admin-ajax.php' )), | |
| 224 | 256 | 'loading_html' => $loading_html, |
| 225 | - 'add_new_category' => __('Add New Category','taskbuilder'), | |
| 226 | - 'edit_category' =>__('Edit Category','taskbuilder'), | |
| 227 | - 'please_wait' =>__('Please wait ...','taskbuilder'), | |
| 228 | - 'confirm' =>__('Are you sure?','taskbuilder'), | |
| 229 | - 'add_new_status' =>__('Add New Status','taskbuilder'), | |
| 230 | - 'edit_status' =>__('Edit status','taskbuilder'), | |
| 231 | - 'add_new_priority' =>__('Add New Priority','taskbuilder'), | |
| 232 | - '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'), | |
| 233 | 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, | |
| 234 | 269 | )); |
| 235 | 270 | wp_localize_script( 'wppm-admin', 'wppm_admin', $localize_script_data ); |
| 236 | 271 | endif; |
| 237 | 272 | } |
| @@ -239,29 +274,46 @@ | ||
| 239 | 274 | // Dashboard Menus |
| 240 | 275 | public function wppm_register_dashboard_menu(){ |
| 241 | 276 | global $current_user,$wppmfunction; |
| 242 | 277 | add_menu_page( |
| 243 | - __( 'Projects', 'taskbuilder'), | |
| 244 | - __( 'Projects','taskbuilder'), | |
| 278 | + esc_html__( 'Taskbuilder', 'taskbuilder'), | |
| 279 | + esc_html__( 'Taskbuilder','taskbuilder'), | |
| 245 | 280 | 'read', |
| 246 | - 'wppm-projects', | |
| 247 | - array($this,'wppm_projects'), | |
| 248 | - WPPM_PLUGIN_URL.'asset/images/tasklist.svg', | |
| 281 | + 'wppm-dashboard', | |
| 282 | + array($this,'wppm_dashboard'), | |
| 283 | + WPPM_PLUGIN_URL.'asset/images/taskbuilder_logo.svg', | |
| 249 | 284 | 25 |
| 250 | 285 | ); |
| 251 | 286 | add_submenu_page( |
| 252 | - 'wppm-projects', | |
| 253 | - __('Project List', 'taskbuilder' ), | |
| 254 | - __('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' ), | |
| 255 | 298 | 'read', |
| 256 | 299 | 'wppm-projects', |
| 257 | 300 | array($this,'wppm_projects') |
| 258 | 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 | + | |
| 259 | 311 | |
| 260 | 312 | add_submenu_page( |
| 261 | - 'wppm-projects', | |
| 262 | - __('Tasks', 'taskbuilder' ), | |
| 263 | - __('Tasks', 'taskbuilder' ), | |
| 313 | + 'wppm-dashboard', | |
| 314 | + esc_html__('Tasks', 'taskbuilder' ), | |
| 315 | + esc_html__('Tasks', 'taskbuilder' ), | |
| 264 | 316 | 'read', |
| 265 | 317 | 'wppm-tasks', |
| 266 | 318 | array($this,'wppm_tasks') |
| 267 | 319 | ); |
| @@ -266,11 +318,11 @@ | ||
| 266 | 318 | array($this,'wppm_tasks') |
| 267 | 319 | ); |
| 268 | 320 | |
| 269 | 321 | add_submenu_page( |
| 270 | - 'wppm-projects', | |
| 271 | - __('Archived Tasks', 'taskbuilder' ), | |
| 272 | - __('Archived Tasks', 'taskbuilder' ), | |
| 322 | + 'wppm-dashboard', | |
| 323 | + esc_html__('Archived Tasks', 'taskbuilder' ), | |
| 324 | + esc_html__('Archived Tasks', 'taskbuilder' ), | |
| 273 | 325 | 'read', |
| 274 | 326 | 'wppm-archived-tasks', |
| 275 | 327 | array($this,'wppm_archived_tasks') |
| 276 | 328 | ); |
| @@ -276,27 +328,27 @@ | ||
| 276 | 328 | ); |
| 277 | 329 | |
| 278 | 330 | if(current_user_can('manage_options')){ |
| 279 | 331 | add_submenu_page( |
| 280 | - 'wppm-projects', | |
| 281 | - __('Email Notifications', 'taskbuilder' ), | |
| 282 | - __('Email Notifications', 'taskbuilder' ), | |
| 332 | + 'wppm-dashboard', | |
| 333 | + esc_html__('Email Notifications', 'taskbuilder' ), | |
| 334 | + esc_html__('Email Notifications', 'taskbuilder' ), | |
| 283 | 335 | 'manage_options', |
| 284 | 336 | 'wppm-email-notifications', |
| 285 | 337 | array($this,'wppm_email_notifications') |
| 286 | 338 | ); |
| 287 | 339 | add_submenu_page( |
| 288 | - 'wppm-projects', | |
| 289 | - __('Settings', 'taskbuilder' ), | |
| 290 | - __('Settings', 'taskbuilder' ), | |
| 340 | + 'wppm-dashboard', | |
| 341 | + esc_html__('Settings', 'taskbuilder' ), | |
| 342 | + esc_html__('Settings', 'taskbuilder' ), | |
| 291 | 343 | 'manage_options', |
| 292 | 344 | 'wppm-settings', |
| 293 | 345 | array($this,'settings') |
| 294 | 346 | ); |
| 295 | 347 | add_submenu_page( |
| 296 | - 'wppm-projects', | |
| 297 | - __('License', 'taskbuilder' ), | |
| 298 | - __('License', 'taskbuilder' ), | |
| 348 | + 'wppm-dashboard', | |
| 349 | + esc_html__('License', 'taskbuilder' ), | |
| 350 | + esc_html__('License', 'taskbuilder' ), | |
| 299 | 351 | 'manage_options', |
| 300 | 352 | 'wppm-license', |
| 301 | 353 | array($this,'licenses') |
| 302 | 354 | ); |
| @@ -301,11 +353,11 @@ | ||
| 301 | 353 | array($this,'licenses') |
| 302 | 354 | ); |
| 303 | 355 | |
| 304 | 356 | add_submenu_page( |
| 305 | - 'wppm-projects', | |
| 306 | - __('Pro Features', 'taskbuilder' ), | |
| 307 | - __('Pro Features', 'taskbuilder' ), | |
| 357 | + 'wppm-dashboard', | |
| 358 | + esc_html__('Pro Features', 'taskbuilder' ), | |
| 359 | + esc_html__('Pro Features', 'taskbuilder' ), | |
| 308 | 360 | 'manage_options', |
| 309 | 361 | 'wppm-addons', |
| 310 | 362 | array($this,'wppm_addons') |
| 311 | 363 | ); |
| @@ -313,27 +365,27 @@ | ||
| 313 | 365 | } |
| 314 | 366 | |
| 315 | 367 | if(current_user_can('wppm_admin') && !current_user_can('manage_options')){ |
| 316 | 368 | add_submenu_page( |
| 317 | - 'wppm-projects', | |
| 318 | - __('Email Notifications', 'taskbuilder' ), | |
| 319 | - __('Email Notifications', 'taskbuilder' ), | |
| 369 | + 'wppm-dashboard', | |
| 370 | + esc_html__('Email Notifications', 'taskbuilder' ), | |
| 371 | + esc_html__('Email Notifications', 'taskbuilder' ), | |
| 320 | 372 | 'wppm_admin', |
| 321 | 373 | 'wppm-email-notifications', |
| 322 | 374 | array($this,'wppm_email_notifications') |
| 323 | 375 | ); |
| 324 | 376 | add_submenu_page( |
| 325 | - 'wppm-projects', | |
| 326 | - __('Settings', 'taskbuilder' ), | |
| 327 | - __('Settings', 'taskbuilder' ), | |
| 377 | + 'wppm-dashboard', | |
| 378 | + esc_html__('Settings', 'taskbuilder' ), | |
| 379 | + esc_html__('Settings', 'taskbuilder' ), | |
| 328 | 380 | 'wppm_admin', |
| 329 | 381 | 'wppm-settings', |
| 330 | 382 | array($this,'settings') |
| 331 | 383 | ); |
| 332 | 384 | add_submenu_page( |
| 333 | - 'wppm-projects', | |
| 334 | - __('License', 'taskbuilder' ), | |
| 335 | - __('License', 'taskbuilder' ), | |
| 385 | + 'wppm-dashboard', | |
| 386 | + esc_html__('License', 'taskbuilder' ), | |
| 387 | + esc_html__('License', 'taskbuilder' ), | |
| 336 | 388 | 'manage_options', |
| 337 | 389 | 'wppm-license', |
| 338 | 390 | array($this,'licenses') |
| 339 | 391 | ); |
| @@ -338,16 +390,33 @@ | ||
| 338 | 390 | array($this,'licenses') |
| 339 | 391 | ); |
| 340 | 392 | |
| 341 | 393 | add_submenu_page( |
| 342 | - 'wppm-projects', | |
| 343 | - __('Addons', 'taskbuilder' ), | |
| 344 | - __('Addons', 'taskbuilder' ), | |
| 394 | + 'wppm-dashboard', | |
| 395 | + esc_html__('Addons', 'taskbuilder' ), | |
| 396 | + esc_html__('Addons', 'taskbuilder' ), | |
| 345 | 397 | 'wppm_admin', |
| 346 | 398 | 'wppm-addons', |
| 347 | 399 | array($this,'wppm_addons') |
| 348 | 400 | ); |
| 349 | 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 | + | |
| 350 | 419 | do_action('wppm_add_submenu_page'); |
| 351 | 420 | } |
| 352 | 421 | |
| 353 | 422 | public function wppm_projects(){ |
| @@ -353,8 +422,12 @@ | ||
| 353 | 422 | public function wppm_projects(){ |
| 354 | 423 | include WPPM_ABSPATH.'includes/admin/projects/projects.php'; |
| 355 | 424 | } |
| 356 | 425 | |
| 426 | + public function wppm_dashboard(){ | |
| 427 | + include WPPM_ABSPATH.'includes/admin/dashboard.php'; | |
| 428 | + } | |
| 429 | + | |
| 357 | 430 | public function wppm_add_new_project(){ |
| 358 | 431 | include WPPM_ABSPATH.'includes/admin/projects/wppm_add_new_project.php'; |
| 359 | 432 | die(); |
| 360 | 433 | } |
| @@ -366,8 +439,18 @@ | ||
| 366 | 439 | public function wppm_archived_tasks(){ |
| 367 | 440 | include WPPM_ABSPATH.'includes/admin/tasks/wppm_tasks.php'; |
| 368 | 441 | } |
| 369 | 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 | + | |
| 370 | 453 | public function wppm_email_notifications(){ |
| 371 | 454 | include WPPM_ABSPATH.'includes/admin/email_notifications/wppm_email_notifications.php'; |
| 372 | 455 | } |
| 373 | 456 | |
| @@ -592,8 +675,23 @@ | ||
| 592 | 675 | include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_add_new_checklist.php'; |
| 593 | 676 | die(); |
| 594 | 677 | } |
| 595 | 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 | + | |
| 596 | 694 | public function wppm_add_new_checklist_item(){ |
| 597 | 695 | include WPPM_ABSPATH.'includes/admin/tasks/open_task/checklist/wppm_add_new_checklist_item.php'; |
| 598 | 696 | die(); |
| 599 | 697 | } |
| @@ -843,12 +941,8 @@ | ||
| 843 | 941 | public function wppm_addons(){ |
| 844 | 942 | include WPPM_ABSPATH.'includes/admin/addons.php'; |
| 845 | 943 | } |
| 846 | 944 | |
| 847 | - public function wppm_other_plugins(){ | |
| 848 | - include WPPM_ABSPATH.'includes/admin/wppm_other_plugins.php'; | |
| 849 | - } | |
| 850 | - | |
| 851 | 945 | public function wppm_clone_task(){ |
| 852 | 946 | include WPPM_ABSPATH.'includes/admin/tasks/open_task/wppm_clone_task.php'; |
| 853 | 947 | die(); |
| 854 | 948 | } |
| @@ -1154,8 +1248,50 @@ | ||
| 1154 | 1248 | } |
| 1155 | 1249 | |
| 1156 | 1250 | public function wppm_archive_task(){ |
| 1157 | 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'; | |
| 1158 | 1294 | die(); |
| 1159 | 1295 | } |
| 1160 | 1296 | } |
| 1161 | 1297 | endif; |