Abstract WP's current_time() function in the code base

This commit is contained in:
Vlad
2018-03-20 16:34:50 -04:00
parent d317eb4fbd
commit 467cf350e9
9 changed files with 35 additions and 18 deletions

View File

@ -19,6 +19,7 @@ use MailPoet\Newsletter\Renderer\Renderer;
use MailPoet\Newsletter\Scheduler\Scheduler; use MailPoet\Newsletter\Scheduler\Scheduler;
use MailPoet\Newsletter\Url as NewsletterUrl; use MailPoet\Newsletter\Url as NewsletterUrl;
use MailPoet\WP\Hooks; use MailPoet\WP\Hooks;
use MailPoet\WP\Functions as WPFunctions;
if(!defined('ABSPATH')) exit; if(!defined('ABSPATH')) exit;
@ -169,7 +170,7 @@ class Newsletters extends APIEndpoint {
$queue = $newsletter->queue()->findOne(); $queue = $newsletter->queue()->findOne();
if($queue) { if($queue) {
$queue->task() $queue->task()
->whereLte('scheduled_at', Carbon::createFromTimestamp(current_time('timestamp'))) ->whereLte('scheduled_at', Carbon::createFromTimestamp(WPFunctions::currentTime('timestamp')))
->where('status', SendingQueue::STATUS_SCHEDULED) ->where('status', SendingQueue::STATUS_SCHEDULED)
->findResultSet() ->findResultSet()
->set('scheduled_at', $next_run_date) ->set('scheduled_at', $next_run_date)
@ -414,7 +415,7 @@ class Newsletters extends APIEndpoint {
'groups' => $listing_data['groups'], 'groups' => $listing_data['groups'],
'mta_log' => Setting::getValue('mta_log'), 'mta_log' => Setting::getValue('mta_log'),
'mta_method' => Setting::getValue('mta.method'), 'mta_method' => Setting::getValue('mta.method'),
'current_time' => current_time('mysql') 'current_time' => WPFunctions::currentTime('mysql')
)); ));
} }

View File

@ -25,6 +25,7 @@ use MailPoet\Util\License\License;
use MailPoet\WP\DateTime; use MailPoet\WP\DateTime;
use MailPoet\WP\Notice as WPNotice; use MailPoet\WP\Notice as WPNotice;
use MailPoet\WP\Readme; use MailPoet\WP\Readme;
use MailPoet\WP\Functions as WPFunctions;
if(!defined('ABSPATH')) exit; if(!defined('ABSPATH')) exit;
@ -383,7 +384,7 @@ class Menu {
$data['is_old_user'] = false; $data['is_old_user'] = false;
if(!empty($data['settings']['installed_at'])) { if(!empty($data['settings']['installed_at'])) {
$installed_at = Carbon::createFromTimestamp(strtotime($data['settings']['installed_at'])); $installed_at = Carbon::createFromTimestamp(strtotime($data['settings']['installed_at']));
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::currentTime('timestamp'));
$data['is_new_user'] = $current_time->diffInDays($installed_at) <= 30; $data['is_new_user'] = $current_time->diffInDays($installed_at) <= 30;
$data['is_old_user'] = $current_time->diffInMonths($installed_at) >= 6; $data['is_old_user'] = $current_time->diffInMonths($installed_at) >= 6;
$data['stop_call_for_rating'] = isset($data['settings']['stop_call_for_rating']) ? $data['settings']['stop_call_for_rating'] : false; $data['stop_call_for_rating'] = isset($data['settings']['stop_call_for_rating']) ? $data['settings']['stop_call_for_rating'] : false;

View File

@ -1,4 +1,5 @@
<?php <?php
namespace MailPoet\Cron\Workers; namespace MailPoet\Cron\Workers;
use Carbon\Carbon; use Carbon\Carbon;
@ -8,8 +9,8 @@ use MailPoet\Models\Subscriber;
use MailPoet\Models\SubscriberSegment; use MailPoet\Models\SubscriberSegment;
use MailPoet\Segments\SubscribersFinder; use MailPoet\Segments\SubscribersFinder;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\Util\Helpers;
use MailPoet\Newsletter\Scheduler\Scheduler as NewsletterScheduler; use MailPoet\Newsletter\Scheduler\Scheduler as NewsletterScheduler;
use MailPoet\WP\Functions as WPFunctions;
if(!defined('ABSPATH')) exit; if(!defined('ABSPATH')) exit;
require_once(ABSPATH . 'wp-includes/pluggable.php'); require_once(ABSPATH . 'wp-includes/pluggable.php');
@ -125,7 +126,7 @@ class Scheduler {
// check if subscriber is confirmed (subscribed) // check if subscriber is confirmed (subscribed)
if($subscriber->status !== Subscriber::STATUS_SUBSCRIBED) { if($subscriber->status !== Subscriber::STATUS_SUBSCRIBED) {
// reschedule delivery in 5 minutes // reschedule delivery in 5 minutes
$scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $scheduled_at = Carbon::createFromTimestamp(WPFunctions::currentTime('timestamp'));
$queue->scheduled_at = $scheduled_at->addMinutes( $queue->scheduled_at = $scheduled_at->addMinutes(
self::UNCONFIRMED_SUBSCRIBER_RESCHEDULE_TIMEOUT self::UNCONFIRMED_SUBSCRIBER_RESCHEDULE_TIMEOUT
); );

View File

@ -1,9 +1,11 @@
<?php <?php
namespace MailPoet\Cron\Workers; namespace MailPoet\Cron\Workers;
use Carbon\Carbon; use Carbon\Carbon;
use MailPoet\Cron\CronHelper; use MailPoet\Cron\CronHelper;
use MailPoet\Models\ScheduledTask; use MailPoet\Models\ScheduledTask;
use MailPoet\WP\Functions as WPFunctions;
if(!defined('ABSPATH')) exit; if(!defined('ABSPATH')) exit;
@ -94,19 +96,19 @@ abstract class SimpleWorker {
} }
function complete(ScheduledTask $task) { function complete(ScheduledTask $task) {
$task->processed_at = current_time('mysql'); $task->processed_at = WPFunctions::currentTime('mysql');
$task->status = ScheduledTask::STATUS_COMPLETED; $task->status = ScheduledTask::STATUS_COMPLETED;
$task->save(); $task->save();
} }
function reschedule(ScheduledTask $task, $timeout) { function reschedule(ScheduledTask $task, $timeout) {
$scheduled_at = Carbon::createFromTimestamp(current_time('timestamp')); $scheduled_at = Carbon::createFromTimestamp(WPFunctions::currentTime('timestamp'));
$task->scheduled_at = $scheduled_at->addMinutes($timeout); $task->scheduled_at = $scheduled_at->addMinutes($timeout);
$task->save(); $task->save();
} }
static function getNextRunDate() { static function getNextRunDate() {
$date = Carbon::createFromTimestamp(current_time('timestamp')); $date = Carbon::createFromTimestamp(WPFunctions::currentTime('timestamp'));
// Random day of the next week // Random day of the next week
$date->setISODate($date->format('o'), $date->format('W') + 1, mt_rand(1, 7)); $date->setISODate($date->format('o'), $date->format('W') + 1, mt_rand(1, 7));
$date->startOfDay(); $date->startOfDay();
@ -116,7 +118,7 @@ abstract class SimpleWorker {
static function getScheduledTasks($future = false) { static function getScheduledTasks($future = false) {
$dateWhere = ($future) ? 'whereGt' : 'whereLte'; $dateWhere = ($future) ? 'whereGt' : 'whereLte';
return ScheduledTask::where('type', static::TASK_TYPE) return ScheduledTask::where('type', static::TASK_TYPE)
->$dateWhere('scheduled_at', Carbon::createFromTimestamp(current_time('timestamp'))) ->$dateWhere('scheduled_at', Carbon::createFromTimestamp(WPFunctions::currentTime('timestamp')))
->whereNull('deleted_at') ->whereNull('deleted_at')
->where('status', ScheduledTask::STATUS_SCHEDULED) ->where('status', ScheduledTask::STATUS_SCHEDULED)
->findMany(); ->findMany();
@ -124,7 +126,7 @@ abstract class SimpleWorker {
static function getRunningTasks() { static function getRunningTasks() {
return ScheduledTask::where('type', static::TASK_TYPE) return ScheduledTask::where('type', static::TASK_TYPE)
->whereLte('scheduled_at', Carbon::createFromTimestamp(current_time('timestamp'))) ->whereLte('scheduled_at', Carbon::createFromTimestamp(WPFunctions::currentTime('timestamp')))
->whereNull('deleted_at') ->whereNull('deleted_at')
->whereNull('status') ->whereNull('status')
->findMany(); ->findMany();

View File

@ -1,6 +1,9 @@
<?php <?php
namespace MailPoet\Models; namespace MailPoet\Models;
use MailPoet\WP\Functions as WPFunctions;
if(!defined('ABSPATH')) exit; if(!defined('ABSPATH')) exit;
class ScheduledTask extends Model { class ScheduledTask extends Model {
@ -34,7 +37,7 @@ class ScheduledTask extends Model {
} }
function complete() { function complete() {
$this->processed_at = current_time('mysql'); $this->processed_at = WPFunctions::currentTime('mysql');
$this->set('status', self::STATUS_COMPLETED); $this->set('status', self::STATUS_COMPLETED);
$this->save(); $this->save();
return ($this->getErrors() === false && $this->id() > 0); return ($this->getErrors() === false && $this->id() > 0);

View File

@ -1,4 +1,5 @@
<?php <?php
namespace MailPoet\Newsletter\Scheduler; namespace MailPoet\Newsletter\Scheduler;
use Carbon\Carbon; use Carbon\Carbon;
@ -8,6 +9,7 @@ use MailPoet\Models\NewsletterOptionField;
use MailPoet\Models\NewsletterPost; use MailPoet\Models\NewsletterPost;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Tasks\Sending as SendingTask;
use MailPoet\WP\Functions as WPFunctions;
class Scheduler { class Scheduler {
const SECONDS_IN_HOUR = 3600; const SECONDS_IN_HOUR = 3600;
@ -85,7 +87,7 @@ class Scheduler {
$after_time_type = $newsletter->afterTimeType; $after_time_type = $newsletter->afterTimeType;
$after_time_number = $newsletter->afterTimeNumber; $after_time_number = $newsletter->afterTimeNumber;
$scheduled_at = null; $scheduled_at = null;
$current_time = Carbon::createFromTimestamp(current_time('timestamp')); $current_time = Carbon::createFromTimestamp(WPFunctions::currentTime('timestamp'));
switch($after_time_type) { switch($after_time_type) {
case 'hours': case 'hours':
$scheduled_at = $current_time->addHours($after_time_number); $scheduled_at = $current_time->addHours($after_time_number);
@ -162,7 +164,7 @@ class Scheduler {
} }
static function getNextRunDate($schedule, $from_timestamp = false) { static function getNextRunDate($schedule, $from_timestamp = false) {
$from_timestamp = ($from_timestamp) ? $from_timestamp : current_time('timestamp'); $from_timestamp = ($from_timestamp) ? $from_timestamp : WPFunctions::currentTime('timestamp');
try { try {
$schedule = \Cron\CronExpression::factory($schedule); $schedule = \Cron\CronExpression::factory($schedule);
$next_run_date = $schedule->getNextRunDate(Carbon::createFromTimestamp($from_timestamp)) $next_run_date = $schedule->getNextRunDate(Carbon::createFromTimestamp($from_timestamp))
@ -174,7 +176,7 @@ class Scheduler {
} }
static function getPreviousRunDate($schedule, $from_timestamp = false) { static function getPreviousRunDate($schedule, $from_timestamp = false) {
$from_timestamp = ($from_timestamp) ? $from_timestamp : current_time('timestamp'); $from_timestamp = ($from_timestamp) ? $from_timestamp : WPFunctions::currentTime('timestamp');
try { try {
$schedule = \Cron\CronExpression::factory($schedule); $schedule = \Cron\CronExpression::factory($schedule);
$previous_run_date = $schedule->getPreviousRunDate(Carbon::createFromTimestamp($from_timestamp)) $previous_run_date = $schedule->getPreviousRunDate(Carbon::createFromTimestamp($from_timestamp))

View File

@ -2,6 +2,8 @@
namespace MailPoet\Newsletter\Shortcodes\Categories; namespace MailPoet\Newsletter\Shortcodes\Categories;
use MailPoet\WP\Functions as WPFunctions;
class Date { class Date {
static function process( static function process(
$action, $action,
@ -17,10 +19,10 @@ class Date {
'y' => 'Y' 'y' => 'Y'
); );
if(!empty($action_mapping[$action])) { if(!empty($action_mapping[$action])) {
return date_i18n($action_mapping[$action], current_time('timestamp')); return date_i18n($action_mapping[$action], WPFunctions::currentTime('timestamp'));
} }
return ($action === 'custom' && $action_argument === 'format') ? return ($action === 'custom' && $action_argument === 'format') ?
date_i18n($action_argument_value, current_time('timestamp')) : date_i18n($action_argument_value, WPFunctions::currentTime('timestamp')) :
false; false;
} }
} }

View File

@ -1,4 +1,5 @@
<?php <?php
namespace MailPoet\Tasks; namespace MailPoet\Tasks;
use Carbon\Carbon; use Carbon\Carbon;
@ -6,6 +7,7 @@ use MailPoet\Models\ScheduledTask;
use MailPoet\Models\ScheduledTaskSubscriber; use MailPoet\Models\ScheduledTaskSubscriber;
use MailPoet\Models\SendingQueue; use MailPoet\Models\SendingQueue;
use MailPoet\Util\Helpers; use MailPoet\Util\Helpers;
use MailPoet\WP\Functions as WPFunctions;
if(!defined('ABSPATH')) exit; if(!defined('ABSPATH')) exit;
@ -221,7 +223,7 @@ class Sending {
static function getScheduledQueues() { static function getScheduledQueues() {
$tasks = ScheduledTask::where('status', ScheduledTask::STATUS_SCHEDULED) $tasks = ScheduledTask::where('status', ScheduledTask::STATUS_SCHEDULED)
->whereLte('scheduled_at', Carbon::createFromTimestamp(current_time('timestamp'))) ->whereLte('scheduled_at', Carbon::createFromTimestamp(WPFunctions::currentTime('timestamp')))
->where('type', 'sending') ->where('type', 'sending')
->findMany(); ->findMany();
$result = array(); $result = array();

View File

@ -1,6 +1,9 @@
<?php <?php
namespace MailPoet\WP; namespace MailPoet\WP;
use MailPoet\WP\Functions as WPFunctions;
class DateTime { class DateTime {
const DEFAULT_DATE_FORMAT = 'Y-m-d'; const DEFAULT_DATE_FORMAT = 'Y-m-d';
@ -24,7 +27,7 @@ class DateTime {
function getCurrentTime($format=false) { function getCurrentTime($format=false) {
if (empty($format)) $format = $this->getTimeFormat(); if (empty($format)) $format = $this->getTimeFormat();
return current_time($format); return WPFunctions::currentTime($format);
} }
function getCurrentDate($format=false) { function getCurrentDate($format=false) {