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; }
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; }