PluginProbe
SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent / 3.5.4
SupportCandy – AI Customer Support Ticket System & Live Chatbot Agent v3.5.4
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
← All changes | includes/class-wpsc-cron.php +40 -35 3.4.4 → 3.5.4 View file →
@@ -182,30 +182,32 @@
182 182 $age->sub( new DateInterval( 'P' . $time . 'Y' ) );
183 183 break;
184 184 }
185 185
186 - // Get tickets to be archive.
187 - $tickets = WPSC_Ticket::find(
188 - array(
189 - 'items_per_page' => 20,
190 - 'orderby' => 'date_closed',
191 - 'order' => 'ASC',
192 - 'meta_query' => array(
193 - 'relation' => 'AND',
194 - array(
195 - 'slug' => 'status',
196 - 'compare' => 'IN',
197 - 'val' => $ad_settings['closed-ticket-statuses'],
198 - ),
199 - array(
200 - 'slug' => 'date_closed',
201 - 'compare' => '<',
202 - 'val' => $age->format( 'Y-m-d' ),
203 - ),
186 + // Arguments for fetching closed tickets to be archived.
187 + $filters = array(
188 + 'items_per_page' => 20,
189 + 'orderby' => 'date_closed',
190 + 'order' => 'ASC',
191 + 'meta_query' => array(
192 + 'relation' => 'AND',
193 + array(
194 + 'slug' => 'status',
195 + 'compare' => 'IN',
196 + 'val' => $ad_settings['closed-ticket-statuses'],
204 197 ),
205 - )
198 + array(
199 + 'slug' => 'date_closed',
200 + 'compare' => '<',
201 + 'val' => $age->format( 'Y-m-d' ),
202 + ),
203 + ),
206 204 );
207 205
206 + $filters = apply_filters( 'wpsc_auto_archive_closed_tickets_query', $filters );
207 + // Get tickets to be archive.
208 + $tickets = WPSC_Ticket::find( $filters );
209 +
208 210 // Archive tickets.
209 211 if ( $tickets['total_items'] > 0 ) {
210 212 foreach ( $tickets['results'] as $ticket ) {
211 213 WPSC_Individual_Ticket::$ticket = $ticket;
@@ -316,25 +318,28 @@
316 318 $age->sub( new DateInterval( 'P' . $time . 'Y' ) );
317 319 break;
318 320 }
319 321
322 + $args = array(
323 + 'items_per_page' => 20,
324 + 'orderby' => 'date_updated',
325 + 'order' => 'ASC',
326 + 'is_active' => 0,
327 + );
328 +
329 + $meta_query = array( 'relation' => 'AND' );
330 +
331 + $meta_query[] = array(
332 + 'slug' => 'date_updated',
333 + 'compare' => '<',
334 + 'val' => $age->format( 'Y-m-d' ),
335 + );
336 +
337 + $filters = array_merge( $args, array( 'meta_query' => $meta_query ) );
338 + $filters = apply_filters( 'wpsc_permanently_delete_tickets_query', $filters );
339 +
320 340 // get tickets to be deleted.
321 - $tickets = WPSC_Ticket::find(
322 - array(
323 - 'items_per_page' => 2,
324 - 'orderby' => 'date_closed',
325 - 'order' => 'ASC',
326 - 'is_active' => 0,
327 - 'meta_query' => array(
328 - 'relation' => 'AND',
329 - array(
330 - 'slug' => 'date_updated',
331 - 'compare' => '<',
332 - 'val' => $age->format( 'Y-m-d' ),
333 - ),
334 - ),
335 - )
336 - );
341 + $tickets = WPSC_Ticket::find( $filters );
337 342
338 343 // Delete tickets.
339 344 if ( $tickets['total_items'] > 0 ) {
340 345 foreach ( $tickets['results'] as $ticket ) {