ExpressiveDate::minusMonths PHP Method

minusMonths() public method

Minus a given amount of months.
public minusMonths ( integer $amount ) : ExpressiveDate
$amount integer
return ExpressiveDate
    public function minusMonths($amount)
    {
        return $this->modifyMonths($amount, true);
    }

Usage Example

Beispiel #1
0
function eme_cleanup_page()
{
    global $wpdb, $eme_timezone;
    $bookings_table = $wpdb->prefix . BOOKINGS_TBNAME;
    $events_table = $wpdb->prefix . EVENTS_TBNAME;
    $recurrence_table = $wpdb->prefix . RECURRENCE_TBNAME;
    $message = "";
    if (current_user_can(get_option('eme_cap_cleanup'))) {
        // do the actions if required
        if (isset($_POST['eme_admin_action']) && $_POST['eme_admin_action'] == "eme_cleanup" && isset($_POST['eme_number']) && isset($_POST['eme_period'])) {
            $eme_number = intval($_POST['eme_number']);
            $eme_period = $_POST['eme_period'];
            $eme_date_obj = new ExpressiveDate(null, $eme_timezone);
            if (!in_array($eme_period, array('day', 'week', 'month'))) {
                $eme_period = "month";
            }
            switch ($eme_period) {
                case 'day':
                    $eme_date_obj->minusDays($eme_number);
                    break;
                case 'week':
                    $eme_date_obj->minusWeeks($eme_number);
                    break;
                default:
                    $eme_date_obj->minusMonths($eme_number);
                    break;
            }
            $end_date = $eme_date_obj->getDate();
            $wpdb->query("DELETE FROM {$bookings_table} where event_id in (SELECT event_id from {$events_table} where event_end_date<'{$end_date}')");
            $wpdb->query("DELETE FROM {$events_table} where event_end_date<'{$end_date}'");
            $wpdb->query("DELETE FROM {$recurrence_table} where recurence_freq <> 'specific' AND recurrence_end_date<'{$end_date}'");
            $message = sprintf(__("Cleanup done: events (and corresponding booking data) older than %d %s(s) have been removed.", "eme"), $eme_number, $eme_period);
        }
    }
    eme_cleanup_form($message);
}