maison_alexandra/www/system-brs-core/app/pubBuy/pubBuy.php

77 lines
2.5 KiB
PHP

<?php
namespace BRSystems\Core\App\pubBuy;
use BRSystems\Core\App\pubBuy\inc\pubBuyController;
use BRSystems\Core\Library\cJSON\cJSON;
class pubBuy
{
public pubBuyController $controller;
public function __construct($uriData)
{
$DIR = __DIR__ ?: dirname(__FILE__);
$this->controller = new pubBuyController($uriData, $DIR, basename($DIR));
}
public function run()
{
$this->controller->run();
}
/**
* Handle cart actions
*/
public function myCartAction()
{
// Get action
$action = getV('action');
if (!$action) {
$action = getV('a');
}
// TODO: Unused
// Manage translatable url chunk part
$actionToTranslation = [
$this->controller->gM(pubBuyController::STEP_1_URL_KEY) => pubBuyController::STEP_1_CART_DATA,
$this->controller->gM(pubBuyController::STEP_2_URL_KEY) => pubBuyController::STEP_2_DELIVERY,
$this->controller->gM(pubBuyController::STEP_3_URL_KEY) => pubBuyController::STEP_3_PAYMENT,
$this->controller->gM(pubBuyController::STEP_4_URL_KEY) => pubBuyController::STEP_4_BILL_DL,
$this->controller->gM(pubBuyController::ORDER_RECEIVED_URL_KEY) => pubBuyController::STEP_4_BILL_DL,
];
if (!empty($actionToTranslation[$action])) {
$action = $actionToTranslation[$action];
}
switch ($action) {
case 'addToCart':
cJSON::sendok($this->controller->addToCart());
break;
case 'incDec':
cJSON::sendok($this->controller->incDecCartItemCount());
break;
case 'remItem':
cJSON::sendok($this->controller->removeItemFromCart(getP('item'), 'cat'));
break;
case 'clear':
cJSON::sendok($this->controller->clearCart());
break;
case pubBuyController::TYPE_P_STACIJAS:
case pubBuyController::TYPE_P_POST24:
cJSON::sendok($this->controller->getListForSelect($action));
break;
case pubBuyController::STEP_2_CHECKOUT:
$this->controller->checkout();
break;
case pubBuyController::STEP_3_ORDER_COMPLETE:
$this->controller->orderComplete();
break;
default:
$this->controller->cart(pubBuyController::STEP_1_CART_DATA);
break;
}
}
}