/home
/deploy
/EHungry-2-joel
/Web
/templates4.0
/customer
/cart.php
<?
/** @var Account $account */
/** @var Cart $cart */
require_once(CORE_PATH . 'checkout/cart.php');
$_SESSION['redirect_form'] = "checkout";
$cart->calculateSubtotal();
if (!$account->getSetting(\Setting::ACCOUNT_SHOW_TIPS_FORM_IN_CHECKOUT)) {
$cart->setDefaultTip($restaurant, $handler);
}
$total = $cart->calculateTotal($restaurant, $company ?? null, $customer ?? null);
$cartItemCount = $cart->getCartItemCount();
$is_checkout_cart = $_REQUEST['form'] == 'checkout' || $_REQUEST['checkout'] == 'true';
?>
<aside
id="cart-right-side"
class="checkout_orderbox <?=$_REQUEST['form'] === 'ajaxcart' && $_GET['cartaction'] !== 'add' && !$_GET['coupons'] ? 'is-shown' : ''?>"
style="grid-area: cart"
data-event-on:show_cart="$(this).addClass('is-shown').one('transitionend', () => $(document.body).css({ overflow: 'hidden' }))"
data-event-on:hide_cart="$(this).removeClass('is-shown').one('transitionend', () => $(document.body).css({ overflow: '' }))"
>
<div class="your_order css-scroll d-flex flex-column">
<div class="d-flex align-items-center p-3">
<? if ($is_checkout_cart) { ?>
<?=EDS\Button([
'class' => 'd-block d-lg-none me-2p5',
'variant' => 'outline-secondary',
'shape' => 'circle',
'onclick' => '
$(this).find(".' . EDS\IconStatic::ICON_CLASS . '").toggleClass("' . EDS\IconStatic::getIconClass('chevron-down') . '").toggleClass("' . EDS\IconStatic::getIconClass('chevron-right') . '");
$(".ordered_list").toggle();
',
], EDS\Icon(['' => '', 'icon' => 'chevron-down', 'variant' => 'regular']))?>
<? } ?>
<h2 class="flex-fill eds-display-text-title-s m-0 p-0">
Your Order
Arguments
"require_once(): Failed opening required '/home/deploy/EHungry-2-joel/Web/checkout/cart.php' (include_path='/home/deploy/EHungry-2-joel/PHP/vendor/pear/console_getopt:/home/deploy/EHungry-2-joel/PHP/vendor/pear/ole:/home/deploy/EHungry-2-joel/PHP/vendor/pear/pear-core-minimal/src:/home/deploy/EHungry-2-joel/PHP/vendor/pear/pear_exception:/home/deploy/EHungry-2-joel/PHP/vendor/pear/spreadsheet_excel_writer:.:/usr/share/pear:/usr/share/php:/home/deploy/EHungry-2-joel/Web/classes:/home/deploy/EHungry-2-joel/Web/classes/traits')"
/home
/deploy
/EHungry-2-joel
/Web
/view4.0
/customer
/category.php
data-async-on-event="menu_selected"
data-async-block="this"
data-async-method="get"
data-async-action="<?=htmlentities(getSecureHost() . 'ajax/?form=menu_items')?>"
data-async-then="({ data }) => {
app.event.emit('menu_items_loaded');
if (data.category_id != null) {
app.event.emit('category_selected', { id: data.category_id });
}
}"
>
<?=$menuPageFragment?>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<? include(CORE_PATH. 'templates4.0/customer/cart.php'); ?>
<input type="hidden" id="hid-category-id" value="<?=$category->id?>" />
<div class="hidden" id="upsell-source">
<? include(CORE_PATH. 'templates4.0/customer/cartupsell.php'); ?>
</div>
<?
if (!empty($_REQUEST['item_id'])) {
$item = new MenuItem($_REQUEST['item_id']); ?>
<script>
// load menu item when it's a menu item page url - for `history.pushState()`
$(() => {
$('#add_menu_item').modal('show');
loadMenuItem(<?=$item->id?>, <?=$_REQUEST['price_id'] ?: 'null'?>, null, <?=$menu->id?>, <?=$category->id?>);
});
</script>
<? } ?>
<script>
/home
/deploy
/EHungry-2-joel
/Web
/view4.0
/customer
/ordering3.php
<?
switch ($_REQUEST['ordering_level']) {
case OrderingLevel::NONE:
App::debugbarTime($timerLevel = 'ordering3: locationlist');
include(CORE_PATH . 'templates4.0/customer/locationlist.php');
break;
case OrderingLevel::RESTAURANT:
case OrderingLevel::MENU:
App::debugbarTime($timerLevel = 'ordering3: menu');
include(CORE_PATH . 'view4.0/customer/menu.php');
break;
case OrderingLevel::CATEGORY:
App::debugbarTime($timerLevel = 'ordering3: category');
include(CORE_PATH . 'view4.0/customer/category.php');
break;
case OrderingLevel::ITEM:
case OrderingLevel::PRICE:
App::debugbarTime($timerLevel = 'ordering3: menuitem');
include(CORE_PATH . 'view4.0/customer/category.php');
break;
}
if (isset($timerLevel)) {
App::debugbarTime($timerLevel);
}
/home
/deploy
/EHungry-2-joel
/Web
/controllers
/customer.php
if (!in_array($_REQUEST['form'], ['checkout', 'nosuchpage', 'validatecallback', 'viewdeliveryzone'])) {
//TODO: probably need to add one more form here that is called ajax, callback seems to reset when it shouldnt
unset($_SESSION['validation_data']);
}
$locs = $account->getActiveRestaurants('position');
$tab = MainNavigationTab::getAllForAccount($account->getId());
include_once(CORE_PATH.'lib/helpers/customer3.0.php');
if (!in_array($_REQUEST['form'], $viewContentOnly)) {
App::debugbarTime('header');
include_once(getLayoutPartPath('header'));
App::debugbarTime('header');
}
App::debugbarTime("view '{$_REQUEST['form']}'");
$path = CORE_PATH.'view' . ($_REQUEST['_VERSION'] == 4 ? 4 : 3) . '.0/customer/'.$_REQUEST['form'].'.php';
if (is_readable($path)) {
include_once($path);
}
App::debugbarTime("view '{$_REQUEST['form']}'");
if (!in_array($_REQUEST['form'], $viewContentOnly)) {
App::debugbarTime('footer');
include_once(getLayoutPartPath('footer'));
App::debugbarTime('footer');
}
function getLayoutPartPath($part) {
if (isset($_REQUEST['_CORDOVA_APP'])) {
$cart = Cart::getCurrent();
//FIXME: it's technically possible to end up with $template = null
if (!$_REQUEST['contentonly']) {
$template = !isset($_REQUEST["altdoc"])? "app/$part" : "app/alt$part";
}
} else {
$template = !isset($_REQUEST["altdoc"])? "customer/$part" : "customer/alt$part";
}
/home
/deploy
/EHungry-2-joel
/Web
/index.php
App::startTime();
ErrorHandlers::register();
// Global.php is the core setup file for the application
App::debugbarTime('Global.php');
require(dirname(__DIR__) . '/PHP/Global.php');
App::debugbarTime('Global.php');
/** @var string $controller The main controller - defined at /PHP/Global.php */
App::debugbarTime('Sentry - controller');
ErrorHandlers::sentryInit($controller); //doesn't always do much - not every controller has a Sentry project
App::debugbarTime('Sentry - controller');
App::debugbarTime("controller: $controller");
apache_note('AppController', $controller);
if (file_exists(CORE_PATH."lib/helpers/$controller.php")) {
require CORE_PATH."lib/helpers/$controller.php";
}
require CORE_PATH."controllers/$controller.php";
App::debugbarTime("controller: $controller");
/home
/deploy
/EHungry-2-joel
/Web
/index.php
<? /** @noinspection PhpIncludeInspection - to avoid marking dynamic includes */
//TODO create a «root»/_bootstrap.php which can be used by .psysh.php, tests/bootstrap.php and Web/index.php
require(dirname(__DIR__).'/PHP/base_consts.php');
require(dirname(__DIR__).'/PHP/autoloader.php');
initializeAutoLoader();
//disabled for now since we already have our own Alerts infrastructure, and it's not worth it to append another cloud provider to the startup of every freaking request; it's also not possible to catch errors this early if we depend on database checks, but we'll leave it here in case we change our mind?
//ErrorHandlers::sentryInit(); //early catch of errors and failsafe for smaller controllers, not in Sentry
App::startTime();
ErrorHandlers::register();
// Global.php is the core setup file for the application
App::debugbarTime('Global.php');
require(dirname(__DIR__) . '/PHP/Global.php');
App::debugbarTime('Global.php');
/** @var string $controller The main controller - defined at /PHP/Global.php */
App::debugbarTime('Sentry - controller');
ErrorHandlers::sentryInit($controller); //doesn't always do much - not every controller has a Sentry project
App::debugbarTime('Sentry - controller');
App::debugbarTime("controller: $controller");
apache_note('AppController', $controller);
if (file_exists(CORE_PATH."lib/helpers/$controller.php")) {
require CORE_PATH."lib/helpers/$controller.php";
}
require CORE_PATH."controllers/$controller.php";
App::debugbarTime("controller: $controller");