77 lines
2.5 KiB
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;
|
|
}
|
|
}
|
|
}
|