/home/admin/domains/app.wowzahosting.com/public_html/modules/Orderbutton/html_client/mod_orderbutton_product_configuration.html.twig
{% if not product %}
{% set product = request.product ? guest.product_get({"id":request.product}) : null %}
{% endif %}
<div class="accordion-item">
<h2 class="accordion-header">
<button class="accordion-button {% if not product %}collapsed{%endif%}" type="button" data-bs-toggle="collapse" data-bs-target="#order" aria-expanded="true" aria-controls="order">
<svg class="svg-icon me-2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z" /></svg>
{{ 'Product Configuration'|trans }}
</button>
</h2>
{% if product %}
<div id="order" class="accordion-collapse collapse {% if product %}show{%endif%}" data-bs-parent="#orderManager">
<div class="accordion-body">
<div class="accordion-inner">
<form method="post" style="background:none;" class="api-form form-{{ product.form_id ? guest.formbuilder_get( {"id":product.form_id}).style.type : 0 }}"
action="{{ 'api/guest/cart/add_item'|link }}" data-api-msg="{{ 'Product was added to shopping cart'|trans }}"
data-api-redirect="{{ 'order'|link({ 'checkout' : 1 }) }}" + "{% if request.show_custom_form_values %}&show_custom_form_values=1{% endif %}">
<input type="hidden" name="CSRFToken" value="{{ CSRFToken }}"/>
{% set product_details %}
<div class="well">
<h3>{{ product.title }}</h3>
{% if product.description %}
{{ product.description | markdown }}
{% endif %}
<hr>
<h5 class="mt-4 mb-1"><strong>{{ 'Billing'|trans }}</strong></h5>
<div class="row">
<div class="col-12 col-md-4 col-xl-3">
{% if product.pricing.type == 'recurrent' %}
<span>{{ 'Billing cycle'|trans }}</span>
{% else %}
<span>{{ 'One-time payment'|trans }}</span>
{% endif %}
</div>
<div class="col">
{% if product.pricing.type == 'recurrent' %}
{% set periods = guest.system_periods %}
Arguments
"An exception has been thrown during the rendering of a template ("Product not found")."
/home/admin/domains/app.wowzahosting.com/public_html/modules/Product/Api/Guest.php
* @throws \FOSSBilling\Exception
*/
public function get($data)
{
if (!isset($data['id']) && !isset($data['slug'])) {
throw new \FOSSBilling\Exception('Product ID or slug is missing');
}
$id = $data['id'] ?? null;
$slug = $data['slug'] ?? null;
$service = $this->getService();
if ($id) {
$model = $service->findOneActiveById($id);
} else {
$model = $service->findOneActiveBySlug($slug);
}
if (!$model instanceof \Model_Product) {
throw new \FOSSBilling\Exception('Product not found');
}
return $service->toApiArray($model);
}
/**
* Get paginated list of product categories.
*
* @return array
*/
public function category_get_list($data)
{
$data['status'] = 'enabled';
$service = $this->getService();
[$sql, $params] = $service->getProductCategorySearchQuery($data);
$per_page = $data['per_page'] ?? $this->di['pager']->getPer_page();
$pager = $this->di['pager']->getAdvancedResultSet($sql, $params, $per_page);
foreach ($pager['list'] as $key => $item) {
$category = $this->di['db']->getExistingModelById('ProductCategory', $item['id'], 'Product category not found');
$pager['list'][$key] = $this->getService()->toProductCategoryApiArray($category, true, $this->getIdentity());
Arguments
/home/admin/domains/app.wowzahosting.com/public_html/library/Api/Handler.php
}
$bb_mod = $this->di['mod']($mod);
$api->setDi($this->di);
$api->setMod($bb_mod);
$api->setIdentity($this->identity);
$api->setIp($this->di['request']->getClientAddress());
if ($bb_mod->hasService()) {
$api->setService($this->di['mod_service']($mod));
}
if (!method_exists($api, $method_name) || !is_callable([$api, $method_name])) {
$reflector = new ReflectionClass($api);
if (!$reflector->hasMethod('__call')) {
throw new FOSSBilling\Exception(':type API call :method does not exist in module :module', [':type' => ucfirst($this->type), ':method' => $method_name, ':module' => $mod], 740);
}
}
return $api->{$method_name}($arguments);
}
}
/home/admin/domains/app.wowzahosting.com/public_html/vendor/twig/twig/src/Extension/CoreExtension.php
if ($ignoreStrictCheck || !$env->isStrictVariables()) {
return;
}
throw new RuntimeError(sprintf('Neither the property "%1$s" nor one of the methods "%1$s()", "get%1$s()"/"is%1$s()"/"has%1$s()" or "__call()" exist and have public access in class "%2$s".', $item, $class), $lineno, $source);
}
if ($isDefinedTest) {
return true;
}
if ($sandboxed) {
$env->getExtension(SandboxExtension::class)->checkMethodAllowed($object, $method, $lineno, $source);
}
// Some objects throw exceptions when they have __call, and the method we try
// to call is not supported. If ignoreStrictCheck is true, we should return null.
try {
$ret = $object->$method(...$arguments);
} catch (\BadMethodCallException $e) {
if ($call && ($ignoreStrictCheck || !$env->isStrictVariables())) {
return;
}
throw $e;
}
return $ret;
}
/**
* Returns the values from a single column in the input array.
*
* <pre>
* {% set items = [{ 'fruit' : 'apple'}, {'fruit' : 'orange' }] %}
*
* {% set fruits = items|column('fruit') %}
*
* {# fruits now contains ['apple', 'orange'] #}
* </pre>
/home/admin/domains/app.wowzahosting.com/public_html/data/cache/fa/fad81b5d04804ed5309419e166870d47.php
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
// line 1
if ( !($context["product"] ?? null)) {
// line 2
yield " ";
$context["product"] = ((CoreExtension::getAttribute($this->env, $this->source, ($context["request"] ?? null), "product", [], "any", false, false, false, 2)) ? (CoreExtension::getAttribute($this->env, $this->source, ($context["guest"] ?? null), "product_get", [["id" => CoreExtension::getAttribute($this->env, $this->source, ($context["request"] ?? null), "product", [], "any", false, false, false, 2)]], "method", false, false, false, 2)) : (null));
}
// line 4
yield "<div class=\"accordion-item\">
<h2 class=\"accordion-header\">
<button class=\"accordion-button ";
// line 6
if ( !($context["product"] ?? null)) {
yield "collapsed";
}
yield "\" type=\"button\" data-bs-toggle=\"collapse\" data-bs-target=\"#order\" aria-expanded=\"true\" aria-controls=\"order\">
<svg class=\"svg-icon me-2\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12,8A4,4 0 0,1 16,12A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8M12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12A2,2 0 0,0 12,10M10,22C9.75,22 9.54,21.82 9.5,21.58L9.13,18.93C8.5,18.68 7.96,18.34 7.44,17.94L4.95,18.95C4.73,19.03 4.46,18.95 4.34,18.73L2.34,15.27C2.21,15.05 2.27,14.78 2.46,14.63L4.57,12.97L4.5,12L4.57,11L2.46,9.37C2.27,9.22 2.21,8.95 2.34,8.73L4.34,5.27C4.46,5.05 4.73,4.96 4.95,5.05L7.44,6.05C7.96,5.66 8.5,5.32 9.13,5.07L9.5,2.42C9.54,2.18 9.75,2 10,2H14C14.25,2 14.46,2.18 14.5,2.42L14.87,5.07C15.5,5.32 16.04,5.66 16.56,6.05L19.05,5.05C19.27,4.96 19.54,5.05 19.66,5.27L21.66,8.73C21.79,8.95 21.73,9.22 21.54,9.37L19.43,11L19.5,12L19.43,13L21.54,14.63C21.73,14.78 21.79,15.05 21.66,15.27L19.66,18.73C19.54,18.95 19.27,19.04 19.05,18.95L16.56,17.95C16.04,18.34 15.5,18.68 14.87,18.93L14.5,21.58C14.46,21.82 14.25,22 14,22H10M11.25,4L10.88,6.61C9.68,6.86 8.62,7.5 7.85,8.39L5.44,7.35L4.69,8.65L6.8,10.2C6.4,11.37 6.4,12.64 6.8,13.8L4.68,15.36L5.43,16.66L7.86,15.62C8.63,16.5 9.68,17.14 10.87,17.38L11.24,20H12.76L13.13,17.39C14.32,17.14 15.37,16.5 16.14,15.62L18.57,16.66L19.32,15.36L17.2,13.81C17.6,12.64 17.6,11.37 17.2,10.2L19.31,8.65L18.56,7.35L16.15,8.39C15.38,7.5 14.32,6.86 13.12,6.62L12.75,4H11.25Z\" /></svg>
";
// line 8
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(__trans("Product Configuration"), "html", null, true);
yield "
</button>
</h2>
";
// line 11
if (($context["product"] ?? null)) {
/home/admin/domains/app.wowzahosting.com/public_html/vendor/twig/twig/src/Template.php
/**
* @return iterable<string>
*/
public function yield(array $context, array $blocks = []): iterable
{
$context = $this->env->mergeGlobals($context);
$blocks = array_merge($this->blocks, $blocks);
try {
if ($this->useYield) {
yield from $this->doDisplay($context, $blocks);
return;
}
$level = ob_get_level();
ob_start();
foreach ($this->doDisplay($context, $blocks) as $data) {
if (ob_get_length()) {
$data = ob_get_clean().$data;
ob_start();
}
yield $data;
}
if (ob_get_length()) {
yield ob_get_clean();
}
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
/home/admin/domains/app.wowzahosting.com/public_html/data/cache/b6/b60039e2b9276173f79681d88bb798b3.php
// line 6
public function block_body($context, array $blocks = [])
{
$macros = $this->macros;
// line 7
yield "<div class=\"row\">
<div class=\"col-md-12\">
<div class=\"card border-0\" id=\"orderbutton\" style=\"margin-bottom: 0\">
<div class=\"card-body p-1\">
<div id=\"orderManager\" class=\"accordion\">
";
// line 13
yield from $this->loadTemplate("mod_orderbutton_choose_product.html.twig", "mod_orderbutton_index.html.twig", 13)->unwrap()->yield($context);
// line 14
yield "
";
// line 15
yield from $this->loadTemplate("mod_orderbutton_product_configuration.html.twig", "mod_orderbutton_index.html.twig", 15)->unwrap()->yield($context);
// line 16
yield "
";
// line 17
if ( !($context["client"] ?? null)) {
// line 18
yield " ";
yield from $this->loadTemplate("mod_orderbutton_client.html.twig", "mod_orderbutton_index.html.twig", 18)->unwrap()->yield($context);
// line 19
yield " ";
}
// line 20
yield "
";
// line 21
yield from $this->loadTemplate("mod_orderbutton_checkout.html.twig", "mod_orderbutton_index.html.twig", 21)->unwrap()->yield($context);
// line 22
yield "
<div class=\"accordion-item\">
<h2 class=\"accordion-header\">
/home/admin/domains/app.wowzahosting.com/public_html/vendor/twig/twig/src/Template.php
$block = null;
}
// avoid RCEs when sandbox is enabled
if (null !== $template && !$template instanceof self) {
throw new \LogicException('A block must be a method on a \Twig\Template instance.');
}
if (null !== $template) {
try {
if ($this->useYield) {
yield from $template->$block($context, $blocks);
return;
}
$level = ob_get_level();
ob_start();
foreach ($template->$block($context, $blocks) as $data) {
if (ob_get_length()) {
$data = ob_get_clean().$data;
ob_start();
}
yield $data;
}
if (ob_get_length()) {
yield ob_get_clean();
}
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
/home/admin/domains/app.wowzahosting.com/public_html/data/cache/40/4045351a26181d235c5f05b806b9484d.php
";
// line 24
yield $this->extensions['Box_TwigExtensions']->twig_script_tag($this->extensions['Box_TwigExtensions']->twig_library_url("Api/API.js"));
yield "
";
// line 25
yield $this->env->getFunction('encore_entry_script_tags')->getCallable()("huraga");
yield "
";
// line 26
yield from $this->unwrap()->yieldBlock('head', $context, $blocks);
// line 27
yield " ";
yield from $this->unwrap()->yieldBlock('js', $context, $blocks);
// line 28
yield "</head>
<body>
";
// line 30
yield from $this->unwrap()->yieldBlock('body', $context, $blocks);
// line 31
yield " <div aria-live=\"polite\" aria-atomic=\"true\" class=\"position-relative\">
<div class=\"toast-container position-fixed bottom-0 end-0 p-3\" style=\"z-index: 1070;\"></div>
</div>
";
// line 34
$__internal_compile_0 = null;
try {
$__internal_compile_0 = $this->loadTemplate("partial_pending_messages.html.twig", "layout_public.html.twig", 34);
} catch (LoaderError $e) {
// ignore missing template
}
if ($__internal_compile_0) {
yield from $__internal_compile_0->unwrap()->yield($context);
}
// line 35
yield "</body>
</html>
";
return; yield '';
/home/admin/domains/app.wowzahosting.com/public_html/vendor/twig/twig/src/Template.php
/**
* @return iterable<string>
*/
public function yield(array $context, array $blocks = []): iterable
{
$context = $this->env->mergeGlobals($context);
$blocks = array_merge($this->blocks, $blocks);
try {
if ($this->useYield) {
yield from $this->doDisplay($context, $blocks);
return;
}
$level = ob_get_level();
ob_start();
foreach ($this->doDisplay($context, $blocks) as $data) {
if (ob_get_length()) {
$data = ob_get_clean().$data;
ob_start();
}
yield $data;
}
if (ob_get_length()) {
yield ob_get_clean();
}
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
/home/admin/domains/app.wowzahosting.com/public_html/data/cache/b6/b60039e2b9276173f79681d88bb798b3.php
'js' => [$this, 'block_js'],
];
}
protected function doGetParent(array $context)
{
// line 1
return "layout_public.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
// line 2
$context["loader_nr"] = ((CoreExtension::getAttribute($this->env, $this->source, ($context["request"] ?? null), "loader", [], "any", true, true, false, 2)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["request"] ?? null), "loader", [], "any", false, false, false, 2), "8")) : ("8"));
// line 3
$context["loader_url"] = (("img/assets/loaders/loader" . ($context["loader_nr"] ?? null)) . ".gif");
// line 1
$this->parent = $this->loadTemplate("layout_public.html.twig", "mod_orderbutton_index.html.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 4
public function block_meta_title($context, array $blocks = [])
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(__trans("Order"), "html", null, true);
return; yield '';
}
// line 6
public function block_body($context, array $blocks = [])
{
$macros = $this->macros;
// line 7
yield "<div class=\"row\">
<div class=\"col-md-12\">
<div class=\"card border-0\" id=\"orderbutton\" style=\"margin-bottom: 0\">
<div class=\"card-body p-1\">
<div id=\"orderManager\" class=\"accordion\">
/home/admin/domains/app.wowzahosting.com/public_html/vendor/twig/twig/src/Template.php
/**
* @return iterable<string>
*/
public function yield(array $context, array $blocks = []): iterable
{
$context = $this->env->mergeGlobals($context);
$blocks = array_merge($this->blocks, $blocks);
try {
if ($this->useYield) {
yield from $this->doDisplay($context, $blocks);
return;
}
$level = ob_get_level();
ob_start();
foreach ($this->doDisplay($context, $blocks) as $data) {
if (ob_get_length()) {
$data = ob_get_clean().$data;
ob_start();
}
yield $data;
}
if (ob_get_length()) {
yield ob_get_clean();
}
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
/home/admin/domains/app.wowzahosting.com/public_html/data/cache/db/db15791b238da38bd4d20e42bf61f5b5.php
<div class=\"col-md-12\">
<div class=\"card mb-4\">
<div class=\"card-header py-3 py-3\">
<div class=\"d-flex justify-content-between align-items-center\">
<div class=\"w-100\">
<h5 class=\"mb-1\">";
// line 23
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(__trans("Products"), "html", null, true);
yield "</h5>
";
// line 24
yield from $this->loadTemplate("mod_orderbutton_currency.html.twig", "mod_order_index.html.twig", 24)->unwrap()->yield($context);
// line 25
yield " </div>
</div>
</div>
<div class=\"card-body overflow-hidden\">
";
// line 29
yield from $this->loadTemplate("mod_orderbutton_index.html.twig", "mod_order_index.html.twig", 29)->unwrap()->yield($context);
// line 30
yield " </div>
</div>
</div>
</div>
";
return; yield '';
}
// line 36
public function block_sidebar2($context, array $blocks = [])
{
$macros = $this->macros;
// line 37
yield " ";
yield from $this->loadTemplate("partial_currency.html.twig", "mod_order_index.html.twig", 37)->unwrap()->yield($context);
return; yield '';
}
// line 40
/home/admin/domains/app.wowzahosting.com/public_html/vendor/twig/twig/src/Template.php
$block = null;
}
// avoid RCEs when sandbox is enabled
if (null !== $template && !$template instanceof self) {
throw new \LogicException('A block must be a method on a \Twig\Template instance.');
}
if (null !== $template) {
try {
if ($this->useYield) {
yield from $template->$block($context, $blocks);
return;
}
$level = ob_get_level();
ob_start();
foreach ($template->$block($context, $blocks) as $data) {
if (ob_get_length()) {
$data = ob_get_clean().$data;
ob_start();
}
yield $data;
}
if (ob_get_length()) {
yield ob_get_clean();
}
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
/home/admin/domains/app.wowzahosting.com/public_html/data/cache/67/67bd9b93bd0b24e1f0b84ee6369f919a.php
<section role=\"main\">
";
// line 149
yield from $this->unwrap()->yieldBlock('content_before', $context, $blocks);
// line 150
yield " <div class=\"content-block\" role=\"main\">
";
// line 151
if (CoreExtension::getAttribute($this->env, $this->source, ($context["settings"] ?? null), "show_breadcrumb", [], "any", false, false, false, 151)) {
// line 152
yield " ";
yield from $this->unwrap()->yieldBlock('breadcrumbs', $context, $blocks);
// line 163
yield " ";
}
// line 164
yield "
";
// line 165
yield from $this->unwrap()->yieldBlock('content', $context, $blocks);
// line 166
yield "
";
// line 167
yield from $this->loadTemplate("partial_message.html.twig", "layout_default.html.twig", 167)->unwrap()->yield($context);
// line 168
yield "
";
// line 169
yield from $this->unwrap()->yieldBlock('content_after', $context, $blocks);
// line 170
yield " </div>
</section>
<div id=\"push\"></div>
</div>
";
// line 175
if (CoreExtension::getAttribute($this->env, $this->source, ($context["settings"] ?? null), "footer_enabled", [], "any", false, false, false, 175)) {
// line 176
/home/admin/domains/app.wowzahosting.com/public_html/vendor/twig/twig/src/Template.php
$block = null;
}
// avoid RCEs when sandbox is enabled
if (null !== $template && !$template instanceof self) {
throw new \LogicException('A block must be a method on a \Twig\Template instance.');
}
if (null !== $template) {
try {
if ($this->useYield) {
yield from $template->$block($context, $blocks);
return;
}
$level = ob_get_level();
ob_start();
foreach ($template->$block($context, $blocks) as $data) {
if (ob_get_length()) {
$data = ob_get_clean().$data;
ob_start();
}
yield $data;
}
if (ob_get_length()) {
yield ob_get_clean();
}
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
/home/admin/domains/app.wowzahosting.com/public_html/data/cache/67/67bd9b93bd0b24e1f0b84ee6369f919a.php
yield $this->extensions['FOSSBilling\TwigExtensions\DebugBar']->renderHead();
yield "
";
// line 27
yield from $this->unwrap()->yieldBlock('head', $context, $blocks);
// line 28
yield " ";
yield from $this->unwrap()->yieldBlock('js', $context, $blocks);
// line 29
yield "</head>
<body class=\"";
// line 31
yield from $this->unwrap()->yieldBlock('body_class', $context, $blocks);
yield "\">
";
// line 33
yield from $this->unwrap()->yieldBlock('body', $context, $blocks);
// line 253
yield "
";
// line 254
if (CoreExtension::getAttribute($this->env, $this->source, ($context["settings"] ?? null), "inject_javascript", [], "any", false, false, false, 254)) {
// line 255
yield " ";
yield CoreExtension::getAttribute($this->env, $this->source, ($context["settings"] ?? null), "inject_javascript", [], "any", false, false, false, 255);
yield "
";
}
// line 257
yield " ";
$__internal_compile_0 = null;
try {
$__internal_compile_0 = $this->loadTemplate("partial_pending_messages.html.twig", "layout_default.html.twig", 257);
} catch (LoaderError $e) {
// ignore missing template
}
if ($__internal_compile_0) {
/home/admin/domains/app.wowzahosting.com/public_html/vendor/twig/twig/src/Template.php
/**
* @return iterable<string>
*/
public function yield(array $context, array $blocks = []): iterable
{
$context = $this->env->mergeGlobals($context);
$blocks = array_merge($this->blocks, $blocks);
try {
if ($this->useYield) {
yield from $this->doDisplay($context, $blocks);
return;
}
$level = ob_get_level();
ob_start();
foreach ($this->doDisplay($context, $blocks) as $data) {
if (ob_get_length()) {
$data = ob_get_clean().$data;
ob_start();
}
yield $data;
}
if (ob_get_length()) {
yield ob_get_clean();
}
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
/home/admin/domains/app.wowzahosting.com/public_html/data/cache/db/db15791b238da38bd4d20e42bf61f5b5.php
];
}
protected function doGetParent(array $context)
{
// line 1
return $this->loadTemplate(((CoreExtension::getAttribute($this->env, $this->source, ($context["request"] ?? null), "ajax", [], "any", false, false, false, 1)) ? ("layout_blank.html.twig") : ("layout_default.html.twig")), "mod_order_index.html.twig", 1);
}
protected function doDisplay(array $context, array $blocks = [])
{
$macros = $this->macros;
// line 3
$macros["mf"] = $this->macros["mf"] = $this->loadTemplate("macro_functions.html.twig", "mod_order_index.html.twig", 3)->unwrap();
// line 7
$context["loader_nr"] = ((CoreExtension::getAttribute($this->env, $this->source, ($context["request"] ?? null), "loader", [], "any", true, true, false, 7)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, ($context["request"] ?? null), "loader", [], "any", false, false, false, 7), "8")) : ("8"));
// line 8
$context["loader_url"] = (("img/assets/loaders/loader" . ($context["loader_nr"] ?? null)) . ".gif");
// line 1
yield from $this->getParent($context)->unwrap()->yield($context, array_merge($this->blocks, $blocks));
}
// line 5
public function block_meta_title($context, array $blocks = [])
{
$macros = $this->macros;
yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(__trans("Order"), "html", null, true);
return; yield '';
}
// line 10
public function block_body_class($context, array $blocks = [])
{
$macros = $this->macros;
yield "order-index";
return; yield '';
}
// line 11
public function block_breadcrumb($context, array $blocks = [])
/home/admin/domains/app.wowzahosting.com/public_html/vendor/twig/twig/src/Template.php
/**
* @return iterable<string>
*/
public function yield(array $context, array $blocks = []): iterable
{
$context = $this->env->mergeGlobals($context);
$blocks = array_merge($this->blocks, $blocks);
try {
if ($this->useYield) {
yield from $this->doDisplay($context, $blocks);
return;
}
$level = ob_get_level();
ob_start();
foreach ($this->doDisplay($context, $blocks) as $data) {
if (ob_get_length()) {
$data = ob_get_clean().$data;
ob_start();
}
yield $data;
}
if (ob_get_length()) {
yield ob_get_clean();
}
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
/home/admin/domains/app.wowzahosting.com/public_html/vendor/twig/twig/src/Template.php
* directly.
*
* @return array An array of blocks
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = []): void
{
foreach ($this->yield($context, $blocks) as $data) {
echo $data;
}
}
public function render(array $context): string
{
$content = '';
foreach ($this->yield($context) as $data) {
$content .= $data;
}
return $content;
}
/**
* @return iterable<string>
*/
public function yield(array $context, array $blocks = []): iterable
{
$context = $this->env->mergeGlobals($context);
$blocks = array_merge($this->blocks, $blocks);
try {
if ($this->useYield) {
yield from $this->doDisplay($context, $blocks);
return;
}
/home/admin/domains/app.wowzahosting.com/public_html/vendor/twig/twig/src/TemplateWrapper.php
final class TemplateWrapper
{
private $env;
private $template;
/**
* This method is for internal use only and should never be called
* directly (use Twig\Environment::load() instead).
*
* @internal
*/
public function __construct(Environment $env, Template $template)
{
$this->env = $env;
$this->template = $template;
}
public function render(array $context = []): string
{
return $this->template->render($context);
}
public function display(array $context = [])
{
// using func_get_args() allows to not expose the blocks argument
// as it should only be used by internal code
$this->template->display($context, \func_get_args()[1] ?? []);
}
public function hasBlock(string $name, array $context = []): bool
{
return $this->template->hasBlock($name, $context);
}
/**
* @return string[] An array of defined template block names
*/
public function getBlockNames(array $context = []): array
{
return $this->template->getBlockNames($context);
/home/admin/domains/app.wowzahosting.com/public_html/library/Box/AppClient.php
/**
* @param string $fileName
*/
public function render($fileName, $variableArray = [], $ext = 'html.twig'): string
{
try {
$template = $this->getTwig()->load($fileName . '.' . $ext);
} catch (Twig\Error\LoaderError $e) {
$this->di['logger']->setChannel('routing')->info($e->getMessage());
http_response_code(404);
throw new FOSSBilling\InformationException('Page not found', null, 404);
}
if ($fileName . '.' . $ext == 'mod_page_sitemap.xml') {
header('Content-Type: application/xml');
}
return $template->render($variableArray);
}
protected function getTwig(): Twig\Environment
{
$service = $this->di['mod_service']('theme');
$code = $service->getCurrentClientAreaThemeCode();
$theme = $service->getTheme($code);
$settings = $service->getThemeSettings($theme);
$loader = new Box_TwigLoader(
[
'mods' => PATH_MODS,
'theme' => PATH_THEMES . DIRECTORY_SEPARATOR . $code,
'type' => 'client',
]
);
$twig = $this->di['twig'];
$twig->setLoader($loader);
/home/admin/domains/app.wowzahosting.com/public_html/modules/Order/Controller/Client.php
$this->di = $di;
}
public function getDi(): ?\Pimple\Container
{
return $this->di;
}
public function register(\Box_App &$app)
{
$app->get('/order', 'get_products', [], static::class);
$app->get('/order/service', 'get_orders', [], static::class);
$app->get('/order/:id', 'get_configure_product', ['id' => '[0-9]+'], static::class);
$app->get('/order/:slug', 'get_configure_product_by_slug', ['slug' => '[a-z0-9-]+'], static::class);
$app->get('/order/service/manage/:id', 'get_order', ['id' => '[0-9]+'], static::class);
}
public function get_products(\Box_App $app)
{
return $app->render('mod_order_index');
}
public function get_configure_product_by_slug(\Box_App $app, $slug)
{
$api = $this->di['api_guest'];
$product = $api->product_get(['slug' => $slug]);
$tpl = 'mod_service' . $product['type'] . '_order';
if ($api->system_template_exists(['file' => $tpl . '.html.twig'])) {
return $app->render($tpl, ['product' => $product]);
}
return $app->render('mod_order_product', ['product' => $product]);
}
public function get_configure_product(\Box_App $app, $id)
{
$api = $this->di['api_guest'];
$product = $api->product_get(['id' => $id]);
$tpl = 'mod_service' . $product['type'] . '_order';
if ($api->system_template_exists(['file' => $tpl . '.html.twig'])) {
/home/admin/domains/app.wowzahosting.com/public_html/library/Box/App.php
{
$this->debugBar['time']->startMeasure('executeShared', 'Reflecting module controller (shared mapping)');
$class = new $classname();
if ($class instanceof InjectionAwareInterface) {
$class->setDi($this->di);
}
$reflection = new ReflectionMethod($class::class, $methodName);
$args = [];
$args[] = $this; // first param always app instance
foreach ($reflection->getParameters() as $param) {
if (isset($params[$param->name])) {
$args[$param->name] = $params[$param->name];
} elseif ($param->isDefaultValueAvailable()) {
$args[$param->name] = $param->getDefaultValue();
}
}
$this->debugBar['time']->stopMeasure('executeShared');
return $reflection->invokeArgs($class, $args);
}
protected function execute($methodName, $params, $classname = null): string
{
$this->debugBar['time']->startMeasure('execute', 'Reflecting module controller');
$reflection = new ReflectionMethod(static::class, $methodName);
$args = [];
foreach ($reflection->getParameters() as $param) {
if (isset($params[$param->name])) {
$args[$param->name] = $params[$param->name];
} elseif ($param->isDefaultValueAvailable()) {
$args[$param->name] = $param->getDefaultValue();
}
}
$this->debugBar['time']->stopMeasure('execute');
return $reflection->invokeArgs($this, $args);
/home/admin/domains/app.wowzahosting.com/public_html/library/Box/App.php
$exc = new FOSSBilling\InformationException('The system is undergoing maintenance. Please try again later', [], 503);
$apiController = new Box\Mod\Api\Controller\Client();
$apiController->setDi($this->di);
return $apiController->renderJson(null, $exc);
} else {
return $this->render('mod_system_maintenance');
}
}
}
$this->debugBar['time']->startMeasure('sharedMapping', 'Checking shared mappings');
$sharedCount = count($this->shared);
for ($i = 0; $i < $sharedCount; ++$i) {
$mapping = $this->shared[$i];
$url = new Box_UrlHelper($mapping[0], $mapping[1], $mapping[3], $this->url);
if ($url->match) {
$this->debugBar['time']->stopMeasure('sharedMapping');
return $this->executeShared($mapping[4], $mapping[2], $url->params);
}
}
$this->debugBar['time']->stopMeasure('sharedMapping');
// this class mappings
$this->debugBar['time']->startMeasure('mapping', 'Checking mappings');
$mappingsCount = count($this->mappings);
for ($i = 0; $i < $mappingsCount; ++$i) {
$mapping = $this->mappings[$i];
$url = new Box_UrlHelper($mapping[0], $mapping[1], $mapping[3], $this->url);
if ($url->match) {
$this->debugBar['time']->stopMeasure('mapping');
return $this->execute($mapping[2], $url->params);
}
}
$this->debugBar['time']->stopMeasure('mapping');
$e = new FOSSBilling\InformationException('Page :url not found', [':url' => $this->url], 404);
/home/admin/domains/app.wowzahosting.com/public_html/library/Box/App.php
public function delete(string $url, string $methodName, ?array $conditions = [], string $class = null): void
{
$this->event('delete', $url, $methodName, $conditions, $class);
}
public function run(): string
{
$this->debugBar['time']->startMeasure('registerModule', 'Registering module routes');
$this->registerModule();
$this->debugBar['time']->stopMeasure('registerModule');
$this->debugBar['time']->startMeasure('init', 'Initializing the app');
$this->init();
$this->debugBar['time']->stopMeasure('init');
$this->debugBar['time']->startMeasure('checkperm', 'Checking access to module');
$this->checkPermission();
$this->debugBar['time']->stopMeasure('checkperm');
return $this->processRequest();
}
/**
* @param string $path
*/
public function redirect($path): never
{
$location = $this->di['url']->link($path);
header("Location: $location");
exit;
}
public function render($fileName, $variableArray = []): string
{
return 'Rendering ' . $fileName;
}
public function sendFile($filename, $contentType, $path): false|int
{
header("Content-type: $contentType");
/home/admin/domains/app.wowzahosting.com/public_html/index.php
// If HTTP error code has been passed, handle it.
if (!is_null($http_err_code)) {
switch ($http_err_code) {
case '404':
$e = new FOSSBilling\Exception('Page :url not found', [':url' => $url], 404);
echo $app->show404($e);
break;
default:
$http_err_code = intval($http_err_code);
http_response_code($http_err_code);
$e = new FOSSBilling\Exception('HTTP Error :err_code occurred while attempting to load :url', [':err_code' => $http_err_code, ':url' => $url], $http_err_code);
echo $app->render('error', ['exception' => $e]);
}
exit;
}
// If no HTTP error passed, run the app.
echo $app->run();
exit;