PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 3.0.0
Taskbuilder – Project Management & Task Management Tool With Kanban Board v3.0.0
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 / settings / wppm_get_task_status_settings.php

wppm_get_task_status_settings.php in Taskbuilder – Project Management & Task Management Tool With Kanban Board 3.0.0, at includes/admin/settings/wppm_get_task_status_settings.php

185 lines 7.7 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 <?php
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit; // Exit if accessed directly
9 }
10
11 global $current_user, $wpdb, $wppmfunction;
12 if (!($current_user->ID && $current_user->has_cap('manage_options'))) {
13 exit;
14 }
15 $statuses = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_task_statuses ORDER BY load_order ASC" );
16 $status_arr = $wpdb->get_results( "SELECT id FROM {$wpdb->prefix}wppm_task_statuses" );
17 $status_ids=array();
18 if(!empty($status_arr)){
19 foreach($status_arr as $key=>$val){
20 $statuses_array= json_decode(json_encode($val));
21 $status_ids[] = $statuses_array->id;
22 }
23 $status_ids = $wppmfunction->sanitize_array($status_ids);
24 }
25 $wppm_ap_settings = get_option("wppm-ap-settings");
26 ?>
27 <div id="wppm_task_statuses_container">
28 <div class="wppm-help-container">
29 <a href="https://taskbuilder.net/docs/task-statuses/" target="_blank"><?php echo esc_attr__( 'Click here', 'taskbuilder' )?></a> <?php echo esc_attr__( 'to see the documentation!', 'taskbuilder' )?>
30 </div>
31 <span class="wppm-title">
32 <?php echo esc_html_e('Task Statuses','taskbuilder');?>
33 </span>
34 <span style="margin-left:10px;background-color:<?php echo esc_attr($wppm_ap_settings['add-new-button-bg-color'])?>;color:<?php echo esc_attr($wppm_ap_settings['add-new-button-text-color'])?>;" class="wppm_btn btn-primary wppm-add-new-btn" onclick="wppm_get_add_task_status();"><?php echo esc_html_e('+Add New','taskbuilder');?></span>
35 <div class="wppm_padding_space"></div>
36 <ul class="wppm-sortable">
37 <?php
38 if(!empty($statuses)){
39 foreach ($statuses as $status){
40 $color=$status->color;
41 $background_color=$status->bg_color;
42 ?>
43 <li class="ui-state-default" data-id="<?php echo esc_attr($status->id)?>">
44 <div class="wppm-flex-container"style="background-color:<?php echo esc_attr($background_color)?>;color:<?php echo esc_attr($color)?>;">
45 <div class="wppm-sortable-handle"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/filter.svg'); ?>" alt="filter"></div>
46 <div class="wppm-sortable-label"><?php echo esc_html_e($status->name,'taskbuilder')?></div>
47 <div class="wppm-sortable-edit" onclick="wppm_get_edit_task_status(<?php echo esc_attr($status->id)?>);"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/edit1.svg'); ?>" alt="edit"></div>
48 <div class="wppm-sortable-delete" onclick="wppm_delete_task_status(<?php echo esc_attr($status->id)?>);"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/trash.svg'); ?>" alt="delete"></div>
49 </div>
50 </li>
51
52 <?php }
53 }
54 ?>
55 </ul>
56 <input type="hidden" name="wppm_tstatus_order_ajax_nonce" id="wppm_tstatus_order_ajax_nonce" value="<?php echo esc_attr( wp_create_nonce( 'wppm_set_task_status_order' ) ); ?>">
57 <input type="hidden" name="wppm_delete_tstatus_ajax_nonce" id="wppm_delete_tstatus_ajax_nonce" value="<?php echo esc_attr( wp_create_nonce( 'wppm_delete_task_status' ) ); ?>">
58 <div>
59 <style>
60 #wppm_task_statuses_container .wppm-add-new-btn:hover{
61 background-color: <?php echo esc_attr($wppm_ap_settings['add-new-button-hover-color'])?>!important;
62 }
63 </style>
64 <script>
65 jQuery(function(){
66 jQuery( ".wppm-sortable" ).sortable({ handle: '.wppm-sortable-handle' });
67 jQuery( ".wppm-sortable" ).on("sortupdate",function(event,ui){
68 var keys = jQuery(this).sortable( "toArray", {attribute: 'data-id'} );
69 var status_order = <?php echo json_encode($status_ids); ?>;
70 var result = {};
71 for (var i = 0; i < keys.length; i++){
72 result[keys[i]] = status_order[i];
73 }
74 var data = {
75 action: 'wppm_set_task_status_order',
76 load_orders : result,
77 _ajax_nonce : jQuery('#wppm_tstatus_order_ajax_nonce').val()
78 };
79 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
80 var response = JSON.parse(response_str);
81 if (response.sucess_status==1) {
82 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
83 }
84 jQuery('#wppm_alert_success').slideDown('fast',function(){});
85 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
86 });
87 });
88 });
89
90 function wppm_set_add_task_status(){
91 var status_name = jQuery('#wppm_task_status_name').val().trim();
92 if (status_name.length == 0) {
93 jQuery('#wppm_task_status_name').val('').focus();
94 return;
95 }
96 var status_color = jQuery('#wppm_task_status_color').val().trim();
97 if (status_color.length == 0) {
98 status_color = '#ffffff';
99 }
100 var status_bg_color = jQuery('#wppm_task_status_bg_color').val().trim();
101 if (status_bg_color.length == 0) {
102 status_bg_color = '#1E90FF';
103 }
104 jQuery('.wppm_popup_action').text('<?php _e('Please wait ...','taskbuilder')?>');
105 jQuery('.wppm_popup_action, #wppm_popup_body input').attr("disabled", "disabled");
106 var data = {
107 action: 'wppm_set_add_task_status',
108 status_name : status_name,
109 status_color: status_color,
110 status_bg_color: status_bg_color,
111 _ajax_nonce:jQuery('[name="_ajax_nonce"]').val()
112 };
113 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
114 wppm_modal_close();
115 var response = JSON.parse(response_str);
116 wppm_get_task_status_settings();
117 if (response.sucess_status=='1') {
118 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
119 jQuery('#wppm_alert_success').slideDown('fast',function(){});
120 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
121 wppm_get_task_status_settings();
122 } else {
123 jQuery('#wppm_alert_error .wppm_alert_text').text(response.messege);
124 jQuery('#wppm_alert_error').slideDown('fast',function(){});
125 setTimeout(function(){ jQuery('#wppm_alert_error').slideUp('fast',function(){}); }, 3000);
126 }
127 })
128 }
129
130 function wppm_get_edit_task_status(status_id){
131 wppm_modal_open(wppm_admin.edit_status);
132 var data = {
133 action : 'wppm_get_edit_task_status',
134 status_id:status_id
135 };
136 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
137 var response = JSON.parse(response_str);
138 jQuery('#wppm_popup_body').html(response.body);
139 jQuery('#wppm_popup_footer').html(response.footer);
140 jQuery('#wppm_proj_status_name').focus();
141 })
142 }
143
144 function wppm_set_edit_task_status(status_id){
145 var status_name = jQuery('#wppm_edit_task_status_name').val().trim();
146 if (status_name.length == 0) {
147 jQuery('#wppm_edit_task_status_name').val('').focus();
148 return;
149 }
150 var status_color = jQuery('#wppm_edit_task_status_color').val().trim();
151 if (status_color.length == 0) {
152 status_color = '#ffffff';
153 }
154 var status_bg_color = jQuery('#wppm_edit_task_status_bg_color').val().trim();
155 if (status_bg_color.length == 0) {
156 status_bg_color = '#1E90FF';
157 }
158 jQuery('.wppm_popup_action').text('<?php _e('Please wait ...','taskbuilder')?>');
159 jQuery('.wppm_popup_action, #wppm_popup_body input').attr("disabled", "disabled");
160 var data = {
161 action : 'wppm_set_edit_task_status',
162 status_id:status_id,
163 status_name:status_name,
164 status_color: status_color,
165 status_bg_color: status_bg_color,
166 _ajax_nonce:jQuery('[name="_ajax_nonce"]').val()
167 };
168 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
169 wppm_modal_close();
170 var response = JSON.parse(response_str);
171 wppm_get_task_status_settings();
172 if (response.sucess_status=='1') {
173 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
174 jQuery('#wppm_alert_success').slideDown('fast',function(){});
175 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
176 wppm_get_task_status_settings();
177 } else {
178 jQuery('#wppm_alert_error .wppm_alert_text').text(response.messege);
179 jQuery('#wppm_alert_error').slideDown('fast',function(){});
180 setTimeout(function(){ jQuery('#wppm_alert_error').slideUp('fast',function(){}); }, 3000);
181 }
182 });
183 }
184 </script>
185