PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 5.0.2
Taskbuilder – Project Management & Task Management Tool With Kanban Board v5.0.2
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
taskbuilder / includes / admin / tasks / open_task / wppm_edit_task_details.php

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

188 lines 8.5 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
6 global $wpdb,$wppmfunction,$current_user;
7 $task_id = isset($_POST['task_id']) ? intval(sanitize_text_field($_POST['task_id'])) : '' ;
8 $proj_id = isset($_POST['proj_id']) ? intval(sanitize_text_field($_POST['proj_id'])) : '' ;
9 if (!(($current_user->ID && $current_user->has_cap('manage_options')) || $wppmfunction->has_permission('change_task_details',$task_id))) {exit;}
10 $task_data = $wppmfunction->get_task($task_id);
11 $settings = get_option("wppm-ap-modal");
12 $orderby_proj_sql = esc_sql(sanitize_sql_orderby( "project_name" ));
13 $project_data = $wppmfunction->get_project(intval(sanitize_text_field($task_data['project'])));
14 if($current_user->has_cap('manage_options')){
15 $projects = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_project ORDER BY $orderby_proj_sql" );
16 }else{
17 $query = ("SELECT Proj.*
18 FROM {$wpdb->prefix}wppm_project AS Proj
19 Left join {$wpdb->prefix}wppm_project_meta proj_meta ON Proj.id = proj_meta.project_id
20 where (FIND_IN_SET($current_user->ID,Proj.users)) OR (Proj.id = proj_meta.project_id AND proj_meta.meta_key='public_project' AND proj_meta.meta_value=1) Group by Proj.id ORDER BY $orderby_proj_sql");
21 $projects = $wpdb->get_results($query);
22 }
23 $priority_id = sanitize_text_field($task_data['priority']);
24 $project_id = sanitize_text_field($task_data['project']);
25
26 $priorities = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}wppm_task_priorities");
27 ob_start();
28 ?>
29 <form id="frm_get_edit_task_deatils" method="post">
30 <div class="row" style="padding-left:2px;">
31 <div class="col-sm-12">
32 <label class="wppm_edit_task_label" for="wppm_edit_task_label"><?php echo esc_html_e('Task','taskbuilder') ?> </label>
33 </div>
34 </div>
35 <div class="row" style="padding-left:2px;">
36 <div class="col-sm-12">
37 <input type="text" class="wppm_edit_task_label form-control" name="wppm_edit_task_label" id="wppm_edit_task_label" value="<?php echo isset($task_data['task_name']) ? esc_attr($task_data['task_name']) :"" ?>">
38 </div>
39 </div>
40 <div class="row" style="padding-left:2px;">
41 <div class="col-sm-12">
42 <label class="wppm_edit_project_label" for="wppm_edit_project_label"><?php esc_html_e('Project:','taskbuilder') ?> </label>
43 </div>
44 </div>
45 <div class="row" style="padding-left:2px;padding-bottom: 10px;">
46 <div class="col-sm-12">
47 <select searchable="search here" onchange="wppm_select_project()" class="form-control" size="40" name="wppm_task_project" id="wppm_task_project">
48 <?php
49 if(!empty($projects)){
50 foreach($projects as $proj) {
51 ?>
52 <option <?php echo esc_attr($proj->id)==esc_attr($project_id) ?'selected="selected"':''?> value="<?php echo esc_attr($proj->id)?>"><?php echo esc_html_e($proj->project_name,'taskbuilder');?></option>
53 <?php }
54 } ?>
55 </select>
56 </div>
57 </div>
58 <div class="row" style="padding-left:2px;">
59 <div class="col-sm-12">
60 <label class="wppm_edit_task_start_date" for="wppm_edit_task_start_date"><?php echo esc_html_e('Start Date','taskbuilder') ?> </label>
61 </div>
62 </div>
63 <div class="row" style="padding-left:2px;">
64 <div class="col-sm-12">
65 <input name="wppm_edit_task_start_date" class="form-control" id="wppm_edit_task_start_date" type="text" value="<?php echo isset($task_data['start_date'])? esc_attr($task_data['start_date']):""?>" size="40" aria-required="true"><br>
66 </div>
67 </div>
68 <div class="row" style="padding-left:2px;">
69 <div class="col-sm-12">
70 <label class="wppm_edit_task_end_date" for="wppm_edit_task_end_date"><?php echo esc_html_e('End Date','taskbuilder') ?> </label>
71 </div>
72 </div>
73 <div class="row" style="padding-left:2px;">
74 <div class="col-sm-12">
75 <input name="wppm_edit_task_end_date" class="form-control" id="wppm_edit_task_end_date" type="text" value="<?php echo isset($task_data['end_date']) ? esc_attr($task_data['end_date']):"" ?>" size="40" aria-required="true"><br>
76 </div>
77 </div>
78 <div class="row" style="padding-left:2px;">
79 <div class="col-sm-12">
80 <label class="wppm_edit_task_priority_label" for="wppm_edit_task_priority_label" id="wppm_edit_task_priority_label"><?php echo esc_html_e('Task Priority','taskbuilder');?></label>
81 </div>
82 </div>
83 <div class="row" style="padding-left:2px;">
84 <div class="col-sm-12">
85 <select class="form-control" name="wppm_edit_task_priority" id="wppm_edit_task_priority">
86 <option></option>
87 <?php
88 if(!empty($priorities)){
89 foreach ( $priorities as $priority ) :
90 $selected = $priority_id == $priority->id ? 'selected="selected"' : '';
91 echo '<option '.esc_attr($selected).' value="'.esc_attr($priority->id).'">'.esc_html($priority->name).'</option>';
92 endforeach;
93 }
94 ?>
95 </select>
96 </div>
97 </div>
98 <div class="row" style="padding-left:2px;">
99 <div class="col-sm-12">
100 <label class="wppm_edit_task_description_label" id="wppm_edit_task_description_label">
101 <?php echo esc_html_e('Description','taskbuilder');?>
102 </label>
103 </div>
104 </div>
105 <div class="row" style="padding-left:2px;">
106 <div class="col-sm-12">
107 <textarea id="wppm_edit_task_description" class="form-control" name="wppm_edit_task_description">
108 <?php echo isset($task_data['description']) ? stripslashes(htmlspecialchars_decode(esc_textarea($task_data['description']),ENT_QUOTES)) :""?>
109 </textarea>
110 </div>
111 </div>
112 <?php do_action('wppm_edit_task_details',$task_id,$project_id);?>
113 <input type="hidden" name="action" value="wppm_set_change_task_details" />
114 <input type="hidden" name="_ajax_nonce" value="<?php echo wp_create_nonce('wppm_set_change_task_details')?>">
115 <input type="hidden" name="user_id" id="user_id" value="">
116 <input type="hidden" name="task_id" value="<?php echo esc_attr($task_id) ?>" />
117 </form>
118 <style>
119 .select2-results__options {
120 color:<?php echo esc_attr( $settings['body-text-color'])?>!important;
121 }
122 </style>
123 <script>
124 jQuery( document ).ready( function( jQuery ) {
125 wppm_select_project();
126 jQuery("#wppm_edit_task_start_date").flatpickr({
127 enableTime: true,
128 dateFormat: "Y-m-d H:i",
129 });
130 jQuery("#wppm_edit_task_end_date").flatpickr({
131 enableTime: true,
132 dateFormat: "Y-m-d H:i"
133 //minDate: startdate
134 });
135 tinymce.remove();
136 tinymce.init({
137 selector:'#wppm_edit_task_description',
138 body_id: 'wppm_edit_task_description',
139 directionality : '<?php //echo 'rtl'; ?>',
140 menubar: false,
141 statusbar: false,
142 height : '200',
143 width : '100%',
144 plugins: [
145 'lists link image directionality paste'
146 ],
147 image_advtab: true,
148 toolbar: 'bold italic underline blockquote | alignleft aligncenter alignright | bullist numlist | rtl | link image',
149 branding: false,
150 autoresize_bottom_margin: 20,
151 browser_spellcheck : true,
152 relative_urls : false,
153 remove_script_host : false,
154 convert_urls : true,
155 paste_as_text: true,
156 content_style:
157 `body {
158 color:<?php echo esc_attr( $settings['body-text-color'])?>!important;
159 }`,
160 setup: function (editor) {
161 }
162 });
163 });
164 jQuery('#wppm_task_project').select2();
165 function wppm_select_project(){
166 jQuery('.wppm_filter_display_element').hide();
167 <?php do_action('wppm_display_cf_by_project_in_edit_task_details') ?>
168 }
169 jQuery('#wppm_edit_project_label').select2();
170
171 </script>
172 <?php
173 $body = ob_get_clean();
174
175 ob_start();
176 ?>
177 <button type="button" class="btn <?php echo ($proj_id!="0") ? 'wppm_popup_close': 'wppm_task_popup_close' ?> " onclick="<?php echo ($proj_id!=0) ? "wppm_modal_close()":"wppm_task_modal_close()"?>"><?php echo esc_html_e('Close','taskbuilder');?></button>
178 <button type="button" class="btn <?php echo ($proj_id!="0") ? 'wppm_popup_action': 'wppm_task_popup_action' ?> " onclick="wppm_set_change_task_details(<?php echo esc_attr($task_id)?>,<?php echo esc_attr($proj_id) ?>);"><?php echo esc_html_e('Save','taskbuilder');?></button>
179 <?php
180 $footer = ob_get_clean();
181
182 $output = array(
183 'body' => $body,
184 'footer' => $footer
185 );
186 echo json_encode($output);
187 ?>
188