PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / trunk
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress vtrunk
4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / src / Cron.php
wp-user-avatar / src Last commit date
Admin 1 hour ago AdminBarDashboardAccess 3 years ago Classes 1 hour ago ContentProtection 2 months ago Functions 4 months ago Integrations 1 year ago Membership 1 hour ago NavigationMenuLinks 2 years ago RegisterActivation 9 months ago ShortcodeParser 1 month ago Themes 2 months ago Widgets 11 months ago lib 3 years ago templates 1 hour ago Base.php 2 months ago Cron.php 2 years ago DBTables.php 3 years ago DBUpdates.php 2 months ago LoginRedirect.php 9 months ago RegisterScripts.php 4 months ago eu-vat-rates.json 10 months ago
Cron.php
58 lines
1 <?php
2
3 namespace ProfilePress\Core;
4
5 use ProfilePress\Core\Membership\Models\Subscription\SubscriptionStatus;
6 use ProfilePress\Core\Membership\Repositories\SubscriptionRepository;
7 use ProfilePressVendor\Carbon\CarbonImmutable;
8
9 class Cron
10 {
11 public function __construct()
12 {
13 add_action('init', [$this, 'create_recurring_schedule']);
14
15 add_action('ppress_daily_recurring_job', [$this, 'check_for_expired_subscriptions']);
16 }
17
18 public function create_recurring_schedule()
19 {
20 if ( ! wp_next_scheduled('ppress_daily_recurring_job')) {
21 wp_schedule_event(time(), 'daily', 'ppress_daily_recurring_job');
22 }
23 }
24
25 /**
26 * Check for expired subscriptions once per day and mark them as expired
27 */
28 public function check_for_expired_subscriptions()
29 {
30 $subs = SubscriptionRepository::init()->retrieveBy([
31 'status' => [SubscriptionStatus::ACTIVE, SubscriptionStatus::TRIALLING, SubscriptionStatus::CANCELLED],
32 'expiration_date' => CarbonImmutable::now('UTC')->endOfDay()->toDateTimeString(),
33 'date_compare' => '<=',
34 'number' => 100
35 ]);
36
37 if ( ! empty($subs)) {
38
39 foreach ($subs as $sub) {
40 $sub->expire(true, true);
41 }
42 }
43 }
44
45 /**
46 * @return self
47 */
48 public static function get_instance()
49 {
50 static $instance = null;
51
52 if (is_null($instance)) {
53 $instance = new self();
54 }
55
56 return $instance;
57 }
58 }