PluginProbe ʕ •ᴥ•ʔ
Download Manager / trunk
Download Manager vtrunk
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 2 months ago Crypt.php 2 months ago DownloadStats.php 5 months ago Email.php 1 week ago EmailCron.php 1 year ago FileSystem.php 1 year ago Installer.php 4 days ago Messages.php 1 year ago Query.php 5 months ago Session.php 4 days ago Settings.php 5 years ago SimpleMath.php 5 years ago TempStorage.php 4 days ago Template.php 5 months ago UI.php 6 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