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