Example #1
0
 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);
               } */
 }
Example #2
0
 /**
  * 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;
 }