PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / trunk
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization vtrunk
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
AdvancedCache 3 days ago Notifications 3 days ago Settings 3 days ago Admin.php 1 month ago CLI.php 3 days ago Config.php 1 year ago ConflictingPlugins.php 10 months ago Connect.php 3 days ago Cron.php 1 year ago Invalidations.php 2 months ago NitroPack.php 3 days ago Settings.php 4 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