PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.18.6
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.18.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
Notifications 7 months ago Settings 7 months ago Config.php 1 year ago ConflictingPlugins.php 10 months ago Cron.php 1 year ago NitroPack.php 7 months ago Settings.php 7 months 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