function fetchBasket()
 {
     $http = eZHTTPTool::instance();
     $sessionID = $http->sessionID();
     $basketList = eZPersistentObject::fetchObjectList(eZBasket::definition(), null, array("session_id" => $sessionID), null, null, true);
     $currentBasket = false;
     if (count($basketList) == 0) {
         // If we don't have a stored basket we create a temporary
         // one which can be returned.
         $collection = eZProductCollection::create();
         $currentBasket = new eZBasket(array("session_id" => $sessionID, "productcollection_id" => 0));
     } else {
         $currentBasket = $basketList[0];
     }
     if ($currentBasket === null) {
         $result = array('error' => array('error_type' => 'kernel', 'error_code' => eZError::KERNEL_NOT_FOUND));
     } else {
         $result = array('result' => $currentBasket);
     }
     return $result;
 }
Exemplo n.º 2
0
 static function currentBasket($asObject = true, $byOrderID = -1)
 {
     $basketList = array();
     if ($byOrderID != -1) {
         $basketList = eZPersistentObject::fetchObjectList(eZBasket::definition(), null, array("order_id" => $byOrderID), null, null, $asObject);
     } else {
         $http = eZHTTPTool::instance();
         $sessionID = $http->sessionID();
         $basketList = eZPersistentObject::fetchObjectList(eZBasket::definition(), null, array("session_id" => $sessionID), null, null, $asObject);
     }
     $currentBasket = false;
     if (count($basketList) == 0) {
         $db = eZDB::instance();
         $db->begin();
         $collection = eZProductCollection::create();
         $collection->store();
         $currentBasket = new eZBasket(array("session_id" => $sessionID, "productcollection_id" => $collection->attribute("id")));
         $currentBasket->store();
         $db->commit();
     } else {
         $currentBasket = $basketList[0];
     }
     return $currentBasket;
 }