*/ /** * Required classes */ GalleryCoreApi::requireOnce('modules/cart/classes/CartHelper.class'); /** * This controller will handle adding an item to the cart. * * @package Cart * @subpackage UserInterface */ class AddToCartController extends GalleryController { /** * @see GalleryController::handleRequest() */ function handleRequest($form) { global $gallery; $itemId = GalleryUtilities::getRequestVariables('itemId'); list ($ret, $item) = GalleryCoreApi::loadEntitiesById($itemId); if ($ret) { return array($ret->wrap(__FILE__, __LINE__), null); } /* Figure out what ids we care about */ if ($item->getCanContainChildren()) { list ($ret, $ids) = GalleryCoreApi::fetchChildDataItemIds($item); if ($ret) { return array($ret->wrap(__FILE__, __LINE__), null); } } else { $ret = GalleryCoreApi::assertHasItemPermission($itemId, 'core.view'); if ($ret) { return array($ret->wrap(__FILE__, __LINE__), null); } $ids = array($item->getId()); } $ret = CartHelper::addItemsToCart($ids); if ($ret) { return array($ret->wrap(__FILE__, __LINE__), null); } /* Prepare our results */ $results['redirect']['view'] = 'cart.ViewCart'; $results['status'] = array(); $results['error'] = array(); return array(null, $results); } } ?>