PluginProbe
Taskbuilder – Project Management & Task Management Tool With Kanban Board / 2.0.5
Taskbuilder – Project Management & Task Management Tool With Kanban Board v2.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 / settings / wppm_get_priority_settings.php

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

168 lines 6.9 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 $current_user, $wpdb, $wppmfunction;
7 if (!($current_user->ID && $current_user->has_cap('manage_options'))) {
8 exit;
9 }
10 $priorities = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}wppm_task_priorities ORDER BY load_order ASC" );
11 $priority_arr = $wpdb->get_results( "SELECT id FROM {$wpdb->prefix}wppm_task_priorities" );
12 $priority_ids = array();
13 if(!empty($priority_arr)){
14 foreach($priority_arr as $key=>$val){
15 $priorities_array= json_decode(json_encode($val));
16 $priority_ids[] = $priorities_array->id;
17 }
18 $priority_ids = $wppmfunction->sanitize_array($priority_ids);
19 }
20 ?>
21 <div id="wppm_task_priorities_container">
22 <div class="wppm-help-container">
23 <a href="https://taskbuilder.net/docs/task-priorities/" target="_blank"><?php echo esc_attr__( 'Click here', 'taskbuilder' )?></a> <?php echo esc_attr__( 'to see the documentation!', 'taskbuilder' )?>
24 </div>
25 <span class="wppm-title">
26 <?php echo esc_html_e('Task Priorities','taskbuilder');?>
27 <span style="margin-left:10px;" class="wppm-add-new-btn wppm_btn btn-primary" onclick="wppm_add_task_priority();"><?php echo esc_html_e('+Add New','taskbuilder');?></span>
28 </span>
29 <div class="wppm_padding_space"></div>
30 <ul class="wppm-sortable">
31 <?php
32 if(!empty($priorities)){
33 foreach ($priorities as $priority){
34 $color=$priority->color;
35 $background_color=$priority->bg_color;
36 ?>
37 <li class="ui-state-default" data-id="<?php echo esc_attr($priority->id)?>">
38 <div class="wppm-flex-container"style="background-color:<?php echo esc_attr($background_color)?>;color:<?php echo esc_attr($color)?>;">
39 <div class="wppm-sortable-handle"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/filter.svg'); ?>" alt="filter"></div>
40 <div class="wppm-sortable-label"><?php echo esc_html_e($priority->name,'taskbuilder') ?></div>
41 <div class="wppm-sortable-edit" data-toggle="tooltip" title="Edit" data-placement="top" onclick="wppm_get_edit_task_priority(<?php echo esc_attr($priority->id)?>);"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/edit1.svg'); ?>" alt="edit"></div>
42 <div class="wppm-sortable-delete" data-toggle="tooltip" title="Delete" data-placement="top" onclick="wppm_delete_task_priority(<?php echo esc_attr($priority->id)?>);"><img src="<?php echo esc_url( WPPM_PLUGIN_URL . 'asset/images/trash.svg'); ?>" alt="delete"></div>
43 </div>
44 </li>
45
46 <?php }
47 }
48 ?>
49 </ul>
50 <div>
51 <script>
52 jQuery(function(){
53 jQuery( ".wppm-sortable" ).sortable({ handle: '.wppm-sortable-handle' });
54 jQuery( ".wppm-sortable" ).on("sortupdate",function(event,ui){
55 var keys = jQuery(this).sortable( "toArray", {attribute: 'data-id'} );
56 var priority_order = <?php echo json_encode($priority_ids); ?>;
57 var result = {};
58 for (var i = 0; i < keys.length; i++){
59 result[keys[i]] = priority_order[i];
60 }
61 var data = {
62 action: 'wppm_set_priority_order',
63 load_orders : result
64 };
65 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
66 var response = JSON.parse(response_str);
67 if (response.sucess_status==1) {
68 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
69 }
70 jQuery('#wppm_alert_success').slideDown('fast',function(){});
71 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
72 });
73 });
74 });
75
76 function wppm_set_add_priority(){
77 var priority_name = jQuery('#wppm_priority_name').val().trim();
78 if (priority_name.length == 0) {
79 jQuery('#wppm_priority_name').val('').focus();
80 return;
81 }
82 var priority_color = jQuery('#wppm_priority_color').val().trim();
83 if (priority_color.length == 0) {
84 priority_color = '#ffffff';
85 }
86 var priority_bg_color = jQuery('#wppm_priority_bg_color').val().trim();
87 if (priority_bg_color.length == 0) {
88 priority_bg_color = '#1E90FF';
89 }
90 jQuery('.wppm_popup_action').text('<?php _e('Please wait ...','taskbuilder')?>');
91 jQuery('.wppm_popup_action, #wppm_popup_body input').attr("disabled", "disabled");
92 var data = {
93 action: 'wppm_set_add_priority',
94 priority_name : priority_name,
95 priority_color: priority_color,
96 priority_bg_color: priority_bg_color
97 };
98 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
99 wppm_modal_close();
100 var response = JSON.parse(response_str);
101 wppm_get_task_prioriy_settings();
102 if (response.sucess_status=='1') {
103 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
104 jQuery('#wppm_alert_success').slideDown('fast',function(){});
105 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
106 wppm_get_task_prioriy_settings();
107 } else {
108 jQuery('#wppm_alert_error .wppm_alert_text').text(response.messege);
109 jQuery('#wppm_alert_error').slideDown('fast',function(){});
110 setTimeout(function(){ jQuery('#wppm_alert_error').slideUp('fast',function(){}); }, 3000);
111 }
112 })
113 }
114
115 function wppm_get_edit_task_priority(priority_id){
116 wppm_modal_open(wppm_admin.edit_status);
117 var data = {
118 action : 'wppm_get_edit_priority',
119 priority_id:priority_id
120 };
121 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
122 var response = JSON.parse(response_str);
123 jQuery('#wppm_popup_body').html(response.body);
124 jQuery('#wppm_popup_footer').html(response.footer);
125 jQuery('#wppm_proj_status_name').focus();
126 })
127 }
128
129 function wppm_set_edit_priority(priority_id){
130 var priority_name = jQuery('#wppm_edit_priority_name').val().trim();
131 if (priority_name.length == 0) {
132 jQuery('#wppm_edit_priority_name').val('').focus();
133 return;
134 }
135 var priority_color = jQuery('#wppm_edit_priority_color').val().trim();
136 if (priority_color.length == 0) {
137 priority_color = '#ffffff';
138 }
139 var priority_bg_color = jQuery('#wppm_edit_priority_bg_color').val().trim();
140 if (priority_bg_color.length == 0) {
141 priority_bg_color = '#1E90FF';
142 }
143 jQuery('.wppm_popup_action').text('<?php _e('Please wait ...','taskbuilder')?>');
144 jQuery('.wppm_popup_action, #wppm_popup_body input').attr("disabled", "disabled");
145 var data = {
146 action : 'wppm_set_edit_priority',
147 priority_id:priority_id,
148 priority_name:priority_name,
149 priority_color: priority_color,
150 priority_bg_color: priority_bg_color
151 };
152 jQuery.post(wppm_admin.ajax_url, data, function(response_str) {
153 wppm_modal_close();
154 var response = JSON.parse(response_str);
155 wppm_get_task_prioriy_settings();
156 if (response.sucess_status=='1') {
157 jQuery('#wppm_alert_success .wppm_alert_text').text(response.messege);
158 jQuery('#wppm_alert_success').slideDown('fast',function(){});
159 setTimeout(function(){ jQuery('#wppm_alert_success').slideUp('fast',function(){}); }, 3000);
160 wppm_get_task_prioriy_settings();
161 } else {
162 jQuery('#wppm_alert_error .wppm_alert_text').text(response.messege);
163 jQuery('#wppm_alert_error').slideDown('fast',function(){});
164 setTimeout(function(){ jQuery('#wppm_alert_error').slideUp('fast',function(){}); }, 3000);
165 }
166 });
167 }
168 </script>