PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 1.0.5
Taskbuilder – Project Management & Task Management Tool With Kanban Board v1.0.5
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 / tasks / open_task / wppm_set_clone_task.php

wppm_set_clone_task.php in Taskbuilder – Project Management & Task Management Tool With Kanban Board 1.0.5, at includes/admin/tasks/open_task/wppm_set_clone_task.php

86 lines 3.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,$current_user,$wppmfunction;
6
7 $prev_task_id = isset($_POST['task_id']) ? sanitize_text_field($_POST['task_id']) : '' ;
8 $task = $wppmfunction->get_task($prev_task_id);
9 if (!(($current_user->ID && $current_user->has_cap('manage_options')) || $wppmfunction->has_permission('clone_task',$task['id']))) {
10 exit;
11 }
12 $checklists = $wppmfunction->get_checklist($prev_task_id);
13 $task_project = $task['project'];
14 $task_comments = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}wppm_task_comment WHERE task_id=$prev_task_id ");
15 $task_name = isset($_POST['task_name']) ? stripslashes(sanitize_text_field($_POST['task_name'])) : $task->task_name ;
16 $now = date("Y-m-d H:i:s");
17 $attachment_id = array();
18 $values = array(
19 'created_by'=>$current_user->ID,
20 'name'=>$task_name,
21 'wppm_task_description'=>$task['description'],
22 'wppm_task_project'=>$task['project'],
23 'wppm_task_start_date'=>$task['start_date'],
24 'wppm_task_end_date'=>$task['end_date'],
25 'status'=>$task['status'],
26 'wppm_create_task_priority'=>$task['priority'],
27 'user_names'=>explode(",",$task['users']),
28 'date_created'=>date("Y-m-d h:i:sa"),
29 'task_auth_code'=> $wppmfunction->getRandomString(10),
30 'active'=>1
31 );
32 $task_id = $wppmfunction->create_task($values);
33 do_action('wppm_after_task_created', $task_id);
34 if(!empty($checklists)){
35 foreach($checklists as $checklist){
36 $chk_values = array(
37 'task_id' => $task_id,
38 'checklist_name' => $checklist['checklist_name'],
39 'created_by'=> $checklist['created_by']
40 );
41 $checklist_id = $wppmfunction->create_checklist($chk_values);
42 $checklist_items = $wppmfunction->get_checklist_items($checklist['id']);
43 if(!empty($checklist_items)){
44 foreach($checklist_items as $checklist_item){
45 $chk_items_values = array(
46 'checklist_id' => $checklist_id,
47 'item_name' => $checklist_item['item_name'],
48 'checked'=>$checklist_item['checked'],
49 'members'=>$checklist_item['members'],
50 'due_date'=> $checklist_item['due_date']
51 );
52 $checklist_item_id = $wppmfunction->create_checklist_item($chk_items_values);
53 }
54 }
55 }
56 }
57 if(!empty($task_comments)){
58 foreach($task_comments as $task_comment){
59 $task_comment_data = json_decode(json_encode($task_comment), true);
60 $attachment_ids = $task_comment_data['attachment_ids'];
61 $attachment_ids_array = explode(",",$attachment_ids);
62 foreach($attachment_ids_array as $attach_id){
63 $attachment_data = $wppmfunction->get_attachment($attach_id);
64 $values=array(
65 'name'=>$attachment_data['name'],
66 'file_name'=> $attachment_data['file_name'],
67 'file_path'=>$attachment_data['file_path'],
68 'is_image'=>$attachment_data['is_image'],
69 'is_active'=>1,
70 'is_uploaded'=>0,
71 'date_created'=>$now
72 );
73 $wpdb->insert($wpdb->prefix.'wppm_attachments',$values);
74 $attachment_id[] = $wpdb->insert_id;
75 }
76 $args = array(
77 'task_id'=>$task_id,
78 'body'=>$task_comment_data['body'],
79 'attachment_ids' =>implode(',',$attachment_id) ,
80 'create_time'=>$task_comment_data['create_time'],
81 'created_by'=>$task_comment_data['created_by']
82 );
83 $comment_id = $wppmfunction->wppm_submit_task_comment($args);
84 }
85 }
86 do_action("wppm_after_task_clone",$prev_task_id,$task_id);