PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.17.0
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.17.0
4.17.0 4.16.19 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 5 days ago AdminBarDashboardAccess 3 years ago Classes 5 days ago ContentProtection 3 months ago Functions 5 days ago Integrations 1 year ago Membership 5 days ago NavigationMenuLinks 2 years ago RegisterActivation 10 months ago ShortcodeParser 5 days ago Themes 5 days ago Widgets 1 year ago lib 4 years ago templates 5 days ago Base.php 3 months ago Cron.php 2 years ago DBTables.php 4 years ago DBUpdates.php 3 months ago LoginRedirect.php 10 months ago RegisterScripts.php 5 months ago eu-vat-rates.json 11 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 }