PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 4.0.7
Taskbuilder – Project Management & Task Management Tool With Kanban Board v4.0.7
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 1.0.6 All 57 releases
taskbuilder / includes / admin / projects / wppm_create_project.php

wppm_create_project.php in Taskbuilder – Project Management & Task Management Tool With Kanban Board 4.0.7, at includes/admin/projects/wppm_create_project.php

48 lines 2.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit; // Exit if accessed directly
4 }
5 global $wpdb, $wppmfunction, $current_user;
6 if ( check_ajax_referer( 'wppm_create_project', '_ajax_nonce', false ) != 1 ) {
7 wp_send_json_error( 'Unauthorised request!', 401 );
8 }
9 $wppm_current_user_capability = get_user_meta( $current_user->ID, 'wppm_capability', true );
10 if (($current_user->has_cap('manage_options')) || $wppm_current_user_capability == 'wppm_manager'|| $wppm_current_user_capability == 'wppm_admin') {
11 // project name
12 $name = isset($_POST['name']) ? sanitize_text_field($_POST['name']) : '';
13 if($name) $args['name'] = $name;
14
15 // Description
16 $allowedtags = array( 'br' => array(), 'abbr' => array('title' => array(),), 'p' => array(), 'strong' => array(), 'a' => array('href' => array(), 'title' => array(),'target'=> array(), 'rel'=>array()),'em' =>array(),'span' =>array(), 'blockquote'=>array('cite' => array(),),'div' => array('class' => array(),'title' => array(),'style' => array(),),'ul'=>array(),'li'=>array(),'ol'=>array(),'img' => array( 'alt'=> array(),'class' => array(),'height' => array(),'src'=> array(),'width'=> array(),));
17 $project_description = isset($_POST['wppm_proj_description']) ? wp_kses(htmlspecialchars_decode($_POST['wppm_proj_description'], ENT_QUOTES),$allowedtags) : '';
18 if($project_description) $args['wppm_proj_description'] = $project_description;
19
20 //Project start date
21 $text = isset($_POST['wppm_start_date']) ? sanitize_text_field($_POST['wppm_start_date']) : '';
22 if($text) $args['wppm_start_date'] = date("Y-m-d H:i:s" ,strtotime($text));
23
24 //Project end date
25 $text2 = isset($_POST['wppm_end_date']) ? sanitize_text_field($_POST['wppm_end_date']) : '';
26 if($text2) $args['wppm_end_date'] = date("Y-m-d H:i:s" ,strtotime($text2));
27
28 // Category
29 $project_category = isset($_POST['wppm_create_project_category']) ? intval(sanitize_text_field($_POST['wppm_create_project_category'])) : '';
30 if($project_category) $args['wppm_create_project_category'] = $project_category;
31
32 //Assign user
33 $arrVal = isset($_POST['user_names']) ? array_unique($_POST['user_names']) : array();
34 if($arrVal) $args['user_names'] = $wppmfunction->sanitize_array($arrVal);
35
36 //public project
37 $public_proj = isset($_POST['wppm_public_project']) ? 1 : 0;
38
39 $args = apply_filters( 'wppm_before_create_project_args', $args);
40
41 $project_id = WPPM_Functions::create_project($args);
42 $auth_code = $wppmfunction->getRandomString(10);
43 $wppmfunction->add_project_meta($project_id,'public_project',$public_proj);
44 $wppmfunction->add_project_meta($project_id,'project_auth_code',$auth_code);
45 }
46
47 do_action('wppm_after_project_created',$project_id);
48