function aboutToExpire($date_target = null) { if ($date_target === null) { $date_target = plugin_movieviewer_now(); } if ($this->isExpired($date_target)) { return false; } $date_calc = new DateTime($date_target->format('Y-m-d H:i:sP')); return $date_calc->add(new DateInterval('P1M')) >= $this->date_end; }
function __construct($user_id, $pack_id, $viewing_period = array(), $date_confirmed = null) { $this->user_id = $user_id; $this->pack_id = $pack_id; if ($date_confirmed == null) { $date_confirmed = plugin_movieviewer_now(); } $this->date_confirmed = $date_confirmed; if ($viewing_period["date_begin"] === null) { $viewing_period["date_begin"] = new DateTime($this->date_confirmed->format("Y-m-15 00:00:00P")); } if ($viewing_period["date_end"] === null) { $viewing_period["date_end"] = new DateTime($viewing_period["date_begin"]->format("Y-m-d 00:00:00P")); $viewing_period["date_end"]->modify('+4 months')->modify('-1 sec'); // 前日までを 23:59:59 までとする } $this->viewing_period = new MovieViewerPeriod($viewing_period["date_begin"], $viewing_period["date_end"]); }
function findValidsByUser($user_id, $date_target = null) { if ($date_target === null) { $date_target = plugin_movieviewer_now(); } $data_dir = $this->getGlobPathByUser($user_id); $objects = array(); foreach (glob($data_dir) as $file_path) { $object = $this->createObject($file_path); if ($object->viewing_period->isBetween($date_target)) { $objects[] = $object; } } return $objects; }
/** * [ブロック] 視聴開始日の選択肢を生成する * * @return string 選択肢(radio) */ function plugin_movieviewer_review_purchase_confirm_payment_render_begin_date_candidates() { // 選択は明後日のみ $date_begin = plugin_movieviewer_now(); $date_begin->modify("+2 day"); $value = $date_begin->format("Y-m-d"); $id = "viewing_period_date_begin_{$value}"; $date_begin_cds = <<<TEXT <input type=radio id="{$id}" name="viewing_perod_date_begin" value="{$value}" checked><label for="{$id}">{$date_begin->format("m月d日")}から</label> TEXT; return $date_begin_cds; }
function __construct($user_id, $purchase_method, $item_ids, $date_requested, $date_confirmed = null, $viewing_period = array()) { $this->user_id = $user_id; $this->purchase_method = $purchase_method; $this->review_pack = new MovieViewerReviewPack($item_ids); $this->date_requested = $date_requested; if ($date_confirmed == null) { $date_confirmed = plugin_movieviewer_now(); } $this->date_confirmed = $date_confirmed; if (!isset($viewing_period["date_begin"])) { $viewing_period["date_begin"] = new DateTime($this->date_confirmed->format("Y-m-d 00:00:00P")); $viewing_period["date_begin"]->modify('+2 days'); } if (!isset($viewing_period["date_end"])) { $viewing_period["date_end"] = new DateTime($viewing_period["date_begin"]->format("Y-m-d 00:00:00P")); $viewing_period["date_end"]->modify('+1 months')->modify('-1 sec'); // 前日までを 23:59:59 までとする } $this->viewing_period = new MovieViewerPeriod($viewing_period["date_begin"], $viewing_period["date_end"]); }