Beispiel #1
1
 /**
  * Load coupons for existing order.
  *
  * @return void
  */
 public static function load()
 {
     if (self::$useMode != self::MODE_ORDER) {
         return;
     }
     self::$checkActivity = false;
     $couponsList = array();
     $couponIterator = Internals\OrderCouponsTable::getList(array('select' => array('*', 'MODULE' => 'ORDER_DISCOUNT.MODULE_ID', 'DISCOUNT_ID' => 'ORDER_DISCOUNT.DISCOUNT_ID', 'DISCOUNT_NAME' => 'ORDER_DISCOUNT.NAME'), 'filter' => array('=ORDER_ID' => self::$orderId), 'order' => array('ID' => 'ASC')));
     while ($coupon = $couponIterator->fetch()) {
         $couponData = $coupon['DATA'];
         $couponData['COUPON'] = $coupon['COUPON'];
         $couponData['STATUS'] = self::STATUS_ENTERED;
         $couponData['CHECK_CODE'] = self::COUPON_CHECK_OK;
         $couponData['MODULE'] = $coupon['MODULE'];
         $couponData['ID'] = $coupon['COUPON_ID'];
         $couponData['DISCOUNT_ID'] = $coupon['DISCOUNT_ID'];
         $couponData['DISCOUNT_NAME'] = (string) $coupon['DISCOUNT_NAME'];
         $couponData['DISCOUNT_ACTIVE'] = 'Y';
         $couponData['TYPE'] = $coupon['TYPE'];
         $couponData['ACTIVE'] = 'Y';
         $couponData['SAVED'] = 'Y';
         foreach (self::$timeFields as $fieldName) {
             if (isset($couponData[$fieldName])) {
                 $couponData[$fieldName] = Main\Type\DateTime::createFromTimestamp($couponData[$fieldName]);
             }
         }
         unset($fieldName);
         if (empty($couponData['USER_INFO']) && $couponData['MODE'] == self::COUPON_MODE_FULL) {
             $couponData['USER_INFO'] = array('USER_ID' => 0, 'MAX_USE' => 0, 'USE_COUNT' => 0, 'ACTIVE_FROM' => null, 'ACTIVE_TO' => null);
         }
         if (!empty($couponData['USER_INFO'])) {
             foreach (self::$timeFields as $fieldName) {
                 if (isset($couponData['USER_INFO'][$fieldName])) {
                     $couponData['USER_INFO'][$fieldName] = Main\Type\DateTime::createFromTimestamp($couponData['USER_INFO'][$fieldName]);
                 }
             }
             unset($fieldName);
             foreach ($couponData['USER_INFO'] as $fieldName => $fieldValue) {
                 $couponData[$fieldName] = $fieldValue;
             }
         }
         $couponsList[$couponData['COUPON']] = $couponData;
     }
     unset($coupon, $couponIterator);
     if (!empty($couponsList)) {
         self::setCoupons($couponsList, false);
     }
     self::$checkActivity = true;
 }
Beispiel #2
0
 /**
  * Load coupons for existing order.
  *
  * @return void
  */
 public static function load()
 {
     if (self::$useMode != self::MODE_ORDER) {
         return;
     }
     self::$checkActivity = false;
     self::$checkActivity = true;
     self::saveToStorage();
 }