PluginProbe ʕ •ᴥ•ʔ
Download Manager / 3.3.62
Download Manager v3.3.62
3.3.64 3.3.63 3.3.62 3.3.61 3.3.60 3.3.59 3.3.58 3.3.57 3.3.56 trunk 2.1.3 2.3.0 2.5.96 2.5.97 2.6.2 2.6.96 2.8.3 2.9.99 3.0.4 3.1.05 3.1.07 3.1.08 3.1.11 3.1.12 3.1.14 3.1.17 3.1.18 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.2.04 3.2.13 3.2.14 3.2.16 3.2.18 3.2.19 3.2.21 3.2.22 3.2.23 3.2.24 3.2.25 3.2.27 3.2.28 3.2.29 3.2.30 3.2.31 3.2.32 3.2.33 3.2.34 3.2.35 3.2.37 3.2.38 3.2.39 3.2.40 3.2.41 3.2.42 3.2.43 3.2.44 3.2.45 3.2.46 3.2.47 3.2.48 3.2.49 3.2.50 3.2.51 3.2.52 3.2.53 3.2.54 3.2.55 3.2.56 3.2.57 3.2.58 3.2.59 3.2.60 3.2.61 3.2.63 3.2.64 3.2.65 3.2.66 3.2.67 3.2.68 3.2.69 3.2.70 3.2.71 3.2.72 3.2.73 3.2.74 3.2.75 3.2.76 3.2.77 3.2.78 3.2.79 3.2.80 3.2.81 3.2.82 3.2.83 3.2.84 3.2.85 3.2.86 3.2.87 3.2.88 3.2.89 3.2.90 3.2.91 3.2.92 3.2.93 3.2.94 3.2.95 3.2.96 3.2.97 3.2.98 3.2.99 3.3.00 3.3.01 3.3.02 3.3.03 3.3.04 3.3.05 3.3.06 3.3.07 3.3.08 3.3.09 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.15 3.3.16 3.3.17 3.3.18 3.3.19 3.3.20 3.3.21 3.3.22 3.3.23 3.3.24 3.3.25 3.3.26 3.3.27 3.3.28 3.3.29 3.3.30 3.3.31 3.3.32 3.3.33 3.3.34 3.3.35 3.3.36 3.3.37 3.3.38 3.3.39 3.3.40 3.3.41 3.3.42 3.3.43 3.3.44 3.3.45 3.3.46 3.3.47 3.3.48 3.3.49 3.3.50 3.3.51 3.3.52 3.3.53 3.3.54 3.3.55
download-manager / src / __ / CronJobs.php
download-manager / src / __ Last commit date
HTML 1 year ago views 5 months ago Apply.php 6 months ago Cron.php 1 year ago CronJob.php 8 months ago CronJobs.php 3 months ago Crypt.php 2 months ago DownloadStats.php 5 months ago Email.php 2 weeks ago EmailCron.php 1 year ago FileSystem.php 1 year ago Installer.php 1 week ago Messages.php 1 year ago Query.php 5 months ago Session.php 1 week ago Settings.php 5 years ago SimpleMath.php 5 years ago TempStorage.php 1 week ago Template.php 5 months ago UI.php 7 months ago Updater.php 4 years ago UserAgent.php 2 years ago __.php 2 months ago __MailUI.php 3 years ago
CronJobs.php
107 lines
1 <?php
2 /**
3 * User: shahjada
4 * Date: 2019-03-21
5 * Time: 13:14
6 */
7
8 namespace WPDM\__;
9
10
11 class CronJobs
12 {
13 private static $instance;
14
15 public static function getInstance()
16 {
17 if (self::$instance === null) {
18 self::$instance = new self;
19 }
20 return self::$instance;
21 }
22 function __construct()
23 {
24
25 add_filter( 'cron_schedules', array($this, 'interval') );
26 add_action( 'init', array($this, 'clearTempDataCPCron') );
27 add_action( 'init', array($this, 'deleteExpired') );
28 add_action( 'init', array($this, 'cronCheck') );
29
30 if ( ! wp_next_scheduled( '__wpdm_cron' ) ) {
31 wp_schedule_event( time() + 3600, 'six_hourly', '__wpdm_cron' );
32 }
33
34 $this->schedule();
35
36 }
37
38 function cronCheck() {
39 if(wpdm_query_var('wpdm_cron', 'int')) {
40 if(!isset($_REQUEST['cronkey']) || $_REQUEST['cronkey'] !== WPDM()->cronJob->cronKey()) return;
41 $cronJob = new CronJob();
42 $cronJob->executeAll();
43 do_action('wpdm_cron_job');
44 die('Completed');
45 }
46 }
47
48 function interval( $schedules ) {
49 $schedules['six_hourly'] = array(
50 'interval' => 21600, //6 hours
51 'display' => esc_html__( 'Every 6 hours' ),
52 );
53
54 return $schedules;
55 }
56
57 function schedule(){
58 add_action( '__wpdm_cron', array($this, 'clearTempData') );
59 }
60
61 function clearTempData(){
62 if(!(int)get_option('__wpdm_auto_clean_cache', 0)) return;
63 global $wpdb;
64 $time = time();
65 $wpdb->query("delete from {$wpdb->prefix}ahm_sessions where `expire` < $time");
66 FileSystem::deleteFiles(WPDM_CACHE_DIR, false, '.zip');
67 FileSystem::deleteFiles(WPDM_CACHE_DIR, false, array('filetime' => time() - 3600, 'ext' => '.txt'));
68 //FileSystem::deleteFiles(WPDM_CACHE_DIR . 'pdfthumbs/', false);
69 }
70
71 function clearTempDataCPCron(){
72 if(!isset($_REQUEST['cpc']) || !isset($_REQUEST['cronkey']) || $_REQUEST['cpc'] !== 'wpdmcc') return;
73
74 if($_REQUEST['cronkey'] !== WPDM()->cronJob->cronKey()) return;
75
76 global $wpdb;
77 $time = time();
78 $wpdb->query("delete from {$wpdb->prefix}ahm_sessions where `expire` < $time");
79 FileSystem::deleteFiles(WPDM_CACHE_DIR, false, '.zip');
80 FileSystem::deleteFiles(WPDM_CACHE_DIR, false, array('filetime' => time() - 3600, 'ext' => '.txt'));
81 die('Cache cleared successfully!');
82 }
83
84 function deleteExpired(){
85
86 if(!isset($_REQUEST['cde']) || !isset($_REQUEST['cronkey']) || $_REQUEST['cde'] !== 'wpdmde') return;
87 if($_REQUEST['cronkey'] !== WPDM()->cronJob->cronKey()) return;
88
89 if(!(int)get_option('__wpdm_delete_expired', 0)) return;
90
91 global $wpdb;
92 $today = date("YmdHi");
93 $res = $wpdb->get_results("select post_id, meta_value as expire_date from {$wpdb->prefix}postmeta where meta_key = '__wpdm_expire_date' and meta_value <> ''");
94 $deleted = 0;
95 foreach ($res as $item) {
96 $time = strtotime($item->expire_date);
97 if($time < time() && get_post_status($item->post_id) == 'publish') {
98 wp_trash_post($item->post_id);
99 $deleted++;
100 }
101 }
102
103 wp_send_json(['success' => true, 'delete_expired' => $deleted]);
104 }
105 }
106
107