public function load() { $dealsManager = DealsManager::getInstance($this->config, $this->args); $itemManager = ItemManager::getInstance($this->config, $this->args); $this->addParam("itemManager", $itemManager); //today deals $todayDealDto = $dealsManager->getTodayDeal(); if ($todayDealDto) { $itemId = $todayDealDto->getItemId(); $todayItem = $itemManager->getItemsForOrder($itemId, $this->getUserId(), $this->getUserLevel(), true); if (isset($todayItem) && ($todayItem->getIsDealerOfThisCompany() == 0 || $this->getUserLevel() === UserGroups::$ADMIN)) { $totalDurationSeconds = intval($todayDealDto->getDurationMinutes()) * 60; $currentTimeInSeconds = time(); $dealStartTimeInSeconds = strtotime($todayDealDto->getDate() . ' ' . $todayDealDto->getStartTime()); $dealEndTimeInSeconds = strtotime($todayDealDto->getDate() . ' ' . $todayDealDto->getStartTime()) + $totalDurationSeconds; $dealIsEnable = $currentTimeInSeconds > $dealStartTimeInSeconds && $currentTimeInSeconds < $dealEndTimeInSeconds - 10; if ($dealIsEnable) { $this->addParam("todayItem", $todayItem); $this->addParam("today_deal_seconds_to_end", $dealEndTimeInSeconds - $currentTimeInSeconds); $this->addParam('today_deal_promo_code', $todayDealDto->getPromoCode()); $this->addParam('today_deal_fixed_price', $todayDealDto->getPriceAmd()); } } } //lighting deals /* $lightingDeals = $dealsManager->getLightingDeals(); if (!empty($lightingDeals)) { $this->addParam("lightingDeals", $lightingDeals); } */ }
/** * Returns an singleton instance of this class * * @param object $config * @param object $args * @return */ public static function getInstance($config, $args) { if (self::$instance == null) { self::$instance = new DealsManager($config, $args); } return self::$instance; }
public function applyDealsDiscountsOnCartItems($groupedCartItems, $promo_codes_arrray, $vatIncluded = 0) { $dealsManager = DealsManager::getInstance($this->config, $this->args); $realDealsPromos = array(); foreach ($promo_codes_arrray as $promoCode) { $deal = $dealsManager->getDealsByPromoCode($promoCode); if (isset($deal)) { $dealExist = $this->applyDealItemDiscountOnCustomerCartItems($groupedCartItems, $deal, $vatIncluded); if ($dealExist) { if (!in_array($deal->getPromoCode(), $realDealsPromos)) { $realDealsPromos[] = $deal->getPromoCode(); } } } } return $realDealsPromos; }