PluginProbe
SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent / 2.3.1
SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent v2.3.1
3.5.4 3.5.3 3.5.2 3.5.1 3.4.9 3.5.0 3.4.8 3.4.7 trunk 2.3.1 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6
supportcandy / includes / actions / wpsc_auto_delete_tickets_cron.php

wpsc_auto_delete_tickets_cron.php in SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent 2.3.1, at includes/actions/wpsc_auto_delete_tickets_cron.php

88 lines 2.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
6 global $wpscfunction,$wpdb;
7
8 $check_flag = false;
9 $last_check = get_option('wpsc_auto_delete_cron_last_check');
10
11 if($last_check){
12 $now = time();
13 $ago = strtotime($last_check);
14 $diff = $now - $ago;
15 $diff_minutes = round( $diff / 60 );
16
17 if( $diff_minutes >= 60 ){
18 $check_flag = true;
19 }
20 }
21
22 if(!(!$last_check || $check_flag)){
23 return;
24 } else {
25 update_option('wpsc_auto_delete_cron_last_check',date("Y-m-d H:i:s"));
26 }
27
28 $wpsc_auto_delete_ticket_time = get_option('wpsc_auto_delete_ticket_time');
29 $auto_delete_ticket = get_option('wpsc_auto_delete_ticket');
30
31 if(!$wpsc_auto_delete_ticket_time || !$auto_delete_ticket){
32 return;
33 }
34
35 //Close tickets status
36 $wpsc_close_ticket_status = get_option('wpsc_close_ticket_status');
37
38 $ticket_data = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}wpsc_ticket WHERE ticket_status IN ($wpsc_close_ticket_status) AND active=1");
39
40 $wpsc_auto_delete_ticket_time_period_unit = get_option('wpsc_auto_delete_ticket_time_period_unit');
41 if($wpsc_auto_delete_ticket_time_period_unit == 'days'){
42 foreach ($ticket_data as $key => $ticket) {
43 $ticket_id = $ticket->id;
44 $now = time();
45 $date_updated = $ticket->date_updated;
46 $upago = strtotime($date_updated);
47 $diff = $now - $upago;
48 $diff_days = intval( $diff / (60 * 60 * 24));
49
50 if( $diff_days > $wpsc_auto_delete_ticket_time ){
51 $values = array(
52 'active' => '0'
53 );
54 $wpdb->update($wpdb->prefix.'wpsc_ticket',$values,array('id'=>$ticket_id));
55 }
56 }
57 }elseif ($wpsc_auto_delete_ticket_time_period_unit == 'months') {
58 foreach ($ticket_data as $key => $ticket) {
59 $ticket_id = $ticket->id;
60 $now = new DateTime();
61 $date_updated = new DateTime($ticket->date_updated);
62 $diff = $now->diff($date_updated);
63 $months = ($diff->y*12) + $diff->m;
64
65 if( $months > $wpsc_auto_delete_ticket_time ){
66 $values = array(
67 'active' => '0'
68 );
69 $wpdb->update($wpdb->prefix.'wpsc_ticket',$values,array('id'=>$ticket_id));
70 }
71 }
72 }elseif ($wpsc_auto_delete_ticket_time_period_unit=='years') {
73 foreach ($ticket_data as $key => $ticket) {
74 $ticket_id = $ticket->id;
75 $now = new DateTime();
76 $date_updated = new DateTime($ticket->date_updated);
77 $diff = $now->diff($date_updated);
78 $years = $diff->y;
79
80 if( $years > $wpsc_auto_delete_ticket_time ){
81 $values = array(
82 'active' => '0'
83 );
84 $wpdb->update($wpdb->prefix.'wpsc_ticket',$values,array('id'=>$ticket_id));
85 }
86 }
87 }
88