Example #1
0
 /**
  * Remove orders that have not been completed for a given number of days
  */
 public function deleteOldOrders()
 {
     $t = Order::getTable();
     $objOrders = Order::findBy(array("{$t}.order_status=0", "{$t}.tstamp<?"), array(time() - $GLOBALS['TL_CONFIG']['iso_orderTimeout']));
     if (($intPurged = $this->deleteOldCollections($objOrders)) > 0) {
         \System::log('Deleted ' . $intPurged . ' incomplete orders', __METHOD__, TL_CRON);
     }
 }
Example #2
0
 /**
  * Get and update order draft for current cart or create one if it does not yet exist
  *
  * @return Order
  */
 public function getDraftOrder()
 {
     if ($this->objDraftOrder === null) {
         $t = Order::getTable();
         $objOrder = Order::findOneBy(array("{$t}.source_collection_id=?", "{$t}.locked=''"), array($this->id));
         if ($objOrder === null) {
             $objOrder = Order::createFromCollection($this);
         } else {
             $objOrder->config_id = (int) $this->config_id;
             $objOrder->store_id = (int) $this->store_id;
             $objOrder->member = (int) $this->member;
             $objOrder->setShippingMethod($this->getShippingMethod());
             $objOrder->setPaymentMethod($this->getPaymentMethod());
             $objOrder->setShippingAddress($this->getShippingAddress());
             $objOrder->setBillingAddress($this->getBillingAddress());
             $objOrder->purge();
             $arrItemIds = $objOrder->copyItemsFrom($this);
             $objOrder->updateDatabase();
             // HOOK: order status has been updated
             if (isset($GLOBALS['ISO_HOOKS']['updateDraftOrder']) && is_array($GLOBALS['ISO_HOOKS']['updateDraftOrder'])) {
                 foreach ($GLOBALS['ISO_HOOKS']['updateDraftOrder'] as $callback) {
                     $objCallback = \System::importStatic($callback[0]);
                     $objCallback->{$callback}[1]($objOrder, $this, $arrItemIds);
                 }
             }
         }
         $this->objDraftOrder = $objOrder;
     }
     return $this->objDraftOrder;
 }