PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.17.6
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.17.6
1.19.8 1.19.7 1.19.6 1.19.5 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.15.1 1.15.2 1.15.3 1.16.0 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.16.6 1.16.7 1.16.8 1.17.0 1.17.6 1.17.7 1.17.8 1.17.9 1.18.0 1.18.1 1.18.2 1.18.3 1.18.4 1.18.5 1.18.6 1.18.7 1.18.8 1.18.9 1.19.0 1.19.1 1.19.2 1.19.3 1.19.4 1.3.19 1.3.20 1.4.0 1.4.1 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.16 1.5.17 1.5.18 1.5.19 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.8.0 1.8.1 1.8.3 1.9.0 1.9.1 1.9.2
nitropack / classes / WordPress / Cron.php
nitropack / classes / WordPress Last commit date
Settings 1 year ago Config.php 2 years ago Cron.php 1 year ago NitroPack.php 1 year ago Notifications.php 1 year ago Settings.php 1 year ago
Cron.php
71 lines
1 <?php
2
3 /**
4 * Cron Class
5 *
6 * @package nitropack
7 */
8
9 namespace NitroPack\WordPress;
10
11 /**
12 * Cron class for sheduling events.
13 */
14 class Cron {
15 /**
16 * Init class.
17 */
18 public function __construct() {
19 add_action( 'nitropack_remove_old_logs', [ $this, 'remove_old_logs' ] );
20 }
21
22 /**
23 * Schedule events.
24 *
25 * @return void
26 */
27 public static function schedule_events() {
28
29 if ( ! wp_next_scheduled( 'nitropack_remove_old_logs' ) ) {
30 wp_schedule_event( time(), 'daily', 'nitropack_remove_old_logs' );
31 }
32 }
33
34 /**
35 * Unschedule events when plugin is deactivated.
36 *
37 * @return void
38 */
39 public static function unschedule_events() {
40 $timestamp = wp_next_scheduled( 'nitropack_remove_old_logs' );
41 wp_unschedule_event( $timestamp, 'nitropack_remove_old_logs' );
42 }
43
44 /**
45 * Remove old logs .csv and the .zip archive.
46 * Default to 14 days.
47 * Can be filtered with the 'nitropack_remove_old_logs_interval' filter by seconds.
48 * @return void
49 */
50 public function remove_old_logs() {
51 $files = glob( NITROPACK_LOGS_DATA_DIR . '/*.{csv,zip}', GLOB_BRACE );
52 if ( ! $files ) {
53 return;
54 }
55 $now = time();
56 $days = 14;
57 $seconds = $days * 24 * 60 * 60;
58
59 $seconds = apply_filters( 'nitropack_remove_old_logs_interval', $seconds );
60
61 foreach ( $files as $file ) {
62 if ( is_file( $file ) ) {
63 if ( $now - filemtime( $file ) >= $seconds ) {
64 unlink( $file );
65 }
66 }
67 }
68
69 }
70 }
71