#0 | Modules\Frontend\Components\BreadCrumbsWidget->getParentTree(0)
/var/www/aquamarket.ua/html/app/frontend/components/BreadCrumbsWidget.php (125) <?php
/**
* Created by PhpStorm.
* User: Ivan
* Date: 29.06.2017
* Time: 10:56
*/
namespace Modules\Frontend\Components;
use Models\Category;
use Models\Cms;
use Models\CmsCategory;
use Models\CmsCategoryLang;
use Models\CmsLang;
use Models\Context;
use Models\DeliveryPrice;
use Models\Product;
use Models\Trademark;
class BreadCrumbsWidget extends BaseComponent
{
public $viewCatalog = 'breadcrumps';
public function run($view = 'nav')
{
$controller_name = $this->router->getControllerName();
$action_name = $this->router->getActionName();
$method = $controller_name . '/' . $action_name;
$this->view->iso_code = Context::getContext()->getLanguage()->iso_code;
if ($method == 'index/index') {
return false;
} else {
$title = !$this->tag->name? $this->tag->getTitleText():$this->tag->name;
$page_title['name'] = $title;
$method = $controller_name . '/' . $action_name;
$links = array();
switch ($method) {
case 'products/view':
$links = $this->getProductCrumbs();
array_push($links, $page_title);
break;
case 'categories/view':
$links = $this->getCategoryCrumbs();
array_push($links, $page_title);
break;
case 'cms/view':
$links = $this->getCmsCrumbs();
array_push($links, $page_title);
break;
case 'cms/index':
$links = $this->getCmsCategoryCrumbs();
array_push($links, $page_title);
break;
case 'index/authentication':
$links = $this->getAuthenticationCrumbs();
array_push($links, $page_title);
break;
case 'index/signup':
$links[] = $page_title;
break;
case 'account/index':
$links = $this->getAccountCrumbs();
break;
case 'account/myinfo':
$links = $this->getAccountCrumbs();
array_push($links, $page_title);
break;
case 'wishlists/index':
$links = $this->getAccountCrumbs();
array_push($links, $page_title);
break;
case 'account/orders':
$links = $this->getAccountCrumbs();
array_push($links, $page_title);
break;
case 'account/promo':
$links = $this->getAccountCrumbs();
array_push($links, $page_title);
break;
case 'account/addresses':
$links = $this->getAccountCrumbs();
array_push($links, $page_title);
break;
case 'trademark/index':
$links = [['name'=>$this->t->_('trademarks'),'url'=>$this->url->get(['for'=>'trademark-index'])]];
break;
case 'trademark/view':
$links = $this->getTrademarkCrumbs();
break;
case 'delivery/cities':
$links = [['name'=>$this->t->_('delivery-page'),'url'=>$this->url->get(['for'=>'delivery-cities'])]];
break;
case 'delivery/cityView':
$links = $this->getDeliveryCityCrumbs();
break;
default:
$links[] = $page_title;
break;
}
$this->view->links = $links;
return $this->render($view);
}
}
public function getProductCrumbs()
{
$id_product = $this->dispatcher->getParam('id_product');
$product = Product::findFirst('id_product = ' . $id_product);
if (!$product) {
return [];
}
$links = $this->getParentTree($product->id_category_default);
$links = array_reverse($links);
return $links;
}
public function getCategoryCrumbs()
{
$id_category = $this->dispatcher->getParam('id_category');
$category = Category::findFirst('id_category = ' . $id_category);
if (!$category) {
return [];
}
$links = $this->getParentTree($category->id_parent);
$links = array_reverse($links);
return $links;
}
public function getParentTree($id_category)
{
$category = Category::findFirst('id_category =' . $id_category);
$parent_lists = array();
if ($category->id_parent != 1) {
$parent_list['name'] = $category->getLang() ? $category->getLang()->name:'';
$parent_list['url'] = $this->url->getCategoryLink($category->id_category, $category->lang->link_rewrite);
$parent_lists[] = $parent_list;
$parent_lists = array_merge($parent_lists, $this->getParentTree($category->id_parent));
}
return $parent_lists;
}
public function getCmsCrumbs()
{
$iso_code = $this->dispatcher->getParam('iso_code');
$id_cms = $this->dispatcher->getParam('id_cms');
$full_cms = Cms::getCmsFull($id_cms);
$links = array();
$tmp_arr['name'] = $full_cms->name_cms_category;
$tmp_arr['url'] = $this->url->getCmsCategoryLink($iso_code, $full_cms->id_cms_category, $full_cms->alias_cms_category);
$id_cms_category = $full_cms->id_cms_category;
if($id_cms_category == 5 || $id_cms_category == 6){
$cms_category_lang = CmsCategoryLang::findFirst('id_cms_category = 3 AND id_lang = '.$this->context->language->id_language);
$category_name = $cms_category_lang->name;
$url = $this->url->getCmsCategoryLink($iso_code,$cms_category_lang->id_cms_category, $cms_category_lang->link_rewrite);
$links = [['name'=> $category_name,'url'=> $url ],$tmp_arr];
return $links;
}
$links[] = $tmp_arr;
return $links;
}
public function getCmsCategoryCrumbs()
{
$links = array();
$id_cms_category = $this->dispatcher->getParam('id_cms_category');
$iso_code = $this->dispatcher->getParam('iso_code');
$cms_category = CmsCategory::findFirst($id_cms_category);
if($cms_category->id_parent != 0 && $cms_category->id_parent != 1){
$cms_parent = CmsCategory::findFirst($cms_category->id_parent);
$cms_parent_lang = CmsCategoryLang::findFirst('id_cms_category = '.$cms_parent->id_cms_category.' AND id_lang = '.$this->context->language->id_language);
$links []= [
'name'=> $cms_parent_lang->name,
'url'=> $this->url->getCmsCategoryLink($iso_code,$cms_parent->id_cms_category,$cms_parent_lang->link_rewrite)
];
}
return $links;
}
public function getAuthenticationCrumbs()
{
$arr = array();
return $arr;
}
public function getAccountCrumbs()
{
$links = array();
$url = $this->url->get(['for' => 'account-index', 'iso_code' => $this->context->language->iso_code]);
$tmp['url'] = $url;
$tmp['name'] = $this->t->_('my-account');
$links[] = $tmp;
return $links;
}
public function getTrademarkCrumbs()
{
$language = Context::getContext()->getLanguage();
$iso_code = $language->iso_code;
$id_lang = $language->id_language;
$link_rewrite = $this->dispatcher->getParam('link_rewrite');
$trademark = Trademark::findFirst(
[
'conditions' => 'link_rewrite = :link_rewrite: AND id_lang = :id_lang:',
'bind' => [
'link_rewrite' => $link_rewrite,
'id_lang' => $id_lang
]
]
);
return [
['name'=>$this->t->_('trademarks'),'url'=>$this->url->get(['for'=>'trademark-index'])],
['name'=>$trademark->getName(),'url'=>$this->url->get(['for'=>'trademark-view','iso_code'=>$iso_code,'link_rewrite'=>$link_rewrite])],
];
}
public function getDeliveryCityCrumbs()
{
$id_delivery_price = $this->dispatcher->getParam('id_delivery_price');
$delivery_price = DeliveryPrice::findFirst($id_delivery_price);
$iso_code = Context::getContext()->getLanguage()->iso_code;
$link_rewrite = $delivery_price->lang->link_rewrite;
$links = [
[
'name'=>$this->t->_('delivery-page'),
'url'=>$this->url->get(['for'=>'delivery-cities'])
],
[
'name'=>$this->t->_('delivery-page').' - '.$delivery_price->getName(),
'url'=>$this->url->get(['for'=>'delivery-city-view','iso_code'=>$iso_code,'id_delivery_price'=>$id_delivery_price,'link_rewrite'=>$link_rewrite])
],
];
return $links;
}
} |
#1 | Modules\Frontend\Components\BreadCrumbsWidget->getCategoryCrumbs()
/var/www/aquamarket.ua/html/app/frontend/components/BreadCrumbsWidget.php (44) <?php
/**
* Created by PhpStorm.
* User: Ivan
* Date: 29.06.2017
* Time: 10:56
*/
namespace Modules\Frontend\Components;
use Models\Category;
use Models\Cms;
use Models\CmsCategory;
use Models\CmsCategoryLang;
use Models\CmsLang;
use Models\Context;
use Models\DeliveryPrice;
use Models\Product;
use Models\Trademark;
class BreadCrumbsWidget extends BaseComponent
{
public $viewCatalog = 'breadcrumps';
public function run($view = 'nav')
{
$controller_name = $this->router->getControllerName();
$action_name = $this->router->getActionName();
$method = $controller_name . '/' . $action_name;
$this->view->iso_code = Context::getContext()->getLanguage()->iso_code;
if ($method == 'index/index') {
return false;
} else {
$title = !$this->tag->name? $this->tag->getTitleText():$this->tag->name;
$page_title['name'] = $title;
$method = $controller_name . '/' . $action_name;
$links = array();
switch ($method) {
case 'products/view':
$links = $this->getProductCrumbs();
array_push($links, $page_title);
break;
case 'categories/view':
$links = $this->getCategoryCrumbs();
array_push($links, $page_title);
break;
case 'cms/view':
$links = $this->getCmsCrumbs();
array_push($links, $page_title);
break;
case 'cms/index':
$links = $this->getCmsCategoryCrumbs();
array_push($links, $page_title);
break;
case 'index/authentication':
$links = $this->getAuthenticationCrumbs();
array_push($links, $page_title);
break;
case 'index/signup':
$links[] = $page_title;
break;
case 'account/index':
$links = $this->getAccountCrumbs();
break;
case 'account/myinfo':
$links = $this->getAccountCrumbs();
array_push($links, $page_title);
break;
case 'wishlists/index':
$links = $this->getAccountCrumbs();
array_push($links, $page_title);
break;
case 'account/orders':
$links = $this->getAccountCrumbs();
array_push($links, $page_title);
break;
case 'account/promo':
$links = $this->getAccountCrumbs();
array_push($links, $page_title);
break;
case 'account/addresses':
$links = $this->getAccountCrumbs();
array_push($links, $page_title);
break;
case 'trademark/index':
$links = [['name'=>$this->t->_('trademarks'),'url'=>$this->url->get(['for'=>'trademark-index'])]];
break;
case 'trademark/view':
$links = $this->getTrademarkCrumbs();
break;
case 'delivery/cities':
$links = [['name'=>$this->t->_('delivery-page'),'url'=>$this->url->get(['for'=>'delivery-cities'])]];
break;
case 'delivery/cityView':
$links = $this->getDeliveryCityCrumbs();
break;
default:
$links[] = $page_title;
break;
}
$this->view->links = $links;
return $this->render($view);
}
}
public function getProductCrumbs()
{
$id_product = $this->dispatcher->getParam('id_product');
$product = Product::findFirst('id_product = ' . $id_product);
if (!$product) {
return [];
}
$links = $this->getParentTree($product->id_category_default);
$links = array_reverse($links);
return $links;
}
public function getCategoryCrumbs()
{
$id_category = $this->dispatcher->getParam('id_category');
$category = Category::findFirst('id_category = ' . $id_category);
if (!$category) {
return [];
}
$links = $this->getParentTree($category->id_parent);
$links = array_reverse($links);
return $links;
}
public function getParentTree($id_category)
{
$category = Category::findFirst('id_category =' . $id_category);
$parent_lists = array();
if ($category->id_parent != 1) {
$parent_list['name'] = $category->getLang() ? $category->getLang()->name:'';
$parent_list['url'] = $this->url->getCategoryLink($category->id_category, $category->lang->link_rewrite);
$parent_lists[] = $parent_list;
$parent_lists = array_merge($parent_lists, $this->getParentTree($category->id_parent));
}
return $parent_lists;
}
public function getCmsCrumbs()
{
$iso_code = $this->dispatcher->getParam('iso_code');
$id_cms = $this->dispatcher->getParam('id_cms');
$full_cms = Cms::getCmsFull($id_cms);
$links = array();
$tmp_arr['name'] = $full_cms->name_cms_category;
$tmp_arr['url'] = $this->url->getCmsCategoryLink($iso_code, $full_cms->id_cms_category, $full_cms->alias_cms_category);
$id_cms_category = $full_cms->id_cms_category;
if($id_cms_category == 5 || $id_cms_category == 6){
$cms_category_lang = CmsCategoryLang::findFirst('id_cms_category = 3 AND id_lang = '.$this->context->language->id_language);
$category_name = $cms_category_lang->name;
$url = $this->url->getCmsCategoryLink($iso_code,$cms_category_lang->id_cms_category, $cms_category_lang->link_rewrite);
$links = [['name'=> $category_name,'url'=> $url ],$tmp_arr];
return $links;
}
$links[] = $tmp_arr;
return $links;
}
public function getCmsCategoryCrumbs()
{
$links = array();
$id_cms_category = $this->dispatcher->getParam('id_cms_category');
$iso_code = $this->dispatcher->getParam('iso_code');
$cms_category = CmsCategory::findFirst($id_cms_category);
if($cms_category->id_parent != 0 && $cms_category->id_parent != 1){
$cms_parent = CmsCategory::findFirst($cms_category->id_parent);
$cms_parent_lang = CmsCategoryLang::findFirst('id_cms_category = '.$cms_parent->id_cms_category.' AND id_lang = '.$this->context->language->id_language);
$links []= [
'name'=> $cms_parent_lang->name,
'url'=> $this->url->getCmsCategoryLink($iso_code,$cms_parent->id_cms_category,$cms_parent_lang->link_rewrite)
];
}
return $links;
}
public function getAuthenticationCrumbs()
{
$arr = array();
return $arr;
}
public function getAccountCrumbs()
{
$links = array();
$url = $this->url->get(['for' => 'account-index', 'iso_code' => $this->context->language->iso_code]);
$tmp['url'] = $url;
$tmp['name'] = $this->t->_('my-account');
$links[] = $tmp;
return $links;
}
public function getTrademarkCrumbs()
{
$language = Context::getContext()->getLanguage();
$iso_code = $language->iso_code;
$id_lang = $language->id_language;
$link_rewrite = $this->dispatcher->getParam('link_rewrite');
$trademark = Trademark::findFirst(
[
'conditions' => 'link_rewrite = :link_rewrite: AND id_lang = :id_lang:',
'bind' => [
'link_rewrite' => $link_rewrite,
'id_lang' => $id_lang
]
]
);
return [
['name'=>$this->t->_('trademarks'),'url'=>$this->url->get(['for'=>'trademark-index'])],
['name'=>$trademark->getName(),'url'=>$this->url->get(['for'=>'trademark-view','iso_code'=>$iso_code,'link_rewrite'=>$link_rewrite])],
];
}
public function getDeliveryCityCrumbs()
{
$id_delivery_price = $this->dispatcher->getParam('id_delivery_price');
$delivery_price = DeliveryPrice::findFirst($id_delivery_price);
$iso_code = Context::getContext()->getLanguage()->iso_code;
$link_rewrite = $delivery_price->lang->link_rewrite;
$links = [
[
'name'=>$this->t->_('delivery-page'),
'url'=>$this->url->get(['for'=>'delivery-cities'])
],
[
'name'=>$this->t->_('delivery-page').' - '.$delivery_price->getName(),
'url'=>$this->url->get(['for'=>'delivery-city-view','iso_code'=>$iso_code,'id_delivery_price'=>$id_delivery_price,'link_rewrite'=>$link_rewrite])
],
];
return $links;
}
} |
#2 | Modules\Frontend\Components\BreadCrumbsWidget->run()
/var/www/aquamarket.ua/html/app/frontend/cache/volt/%%var%%www%%aquamarket.ua%%html%%app%%frontend%%views%%layouts%%main.volt.php (280) <!DOCTYPE html>
<html lang="<?= $iso_code ?>">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="theme-color" content="#00b2ee"/>
<?php if (isset($site_full_version_view)) { ?>
<meta name="viewport" content="width=<?= $site_full_version_view ?>, initial-scale=0">
<?php } else { ?>
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php } ?>
<?php if ($indexed_page == 0) { ?>
<meta name="robots" content="noindex, nofollow"/>
<?php } else { ?>
<meta name="robots" content="index, follow"/>
<?php } ?>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-43134149-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-43134149-1');
</script>
<?= $this->TwitterCardWidget->run() ?>
<?= $this->tag->getTitle() ?>
<?= $this->tag->getDescription() ?>
<?= $this->tag->getAppleTouchIcons() ?>
<?= $this->tag->getCanonical() ?>
<?= $this->tag->og->getAll() ?>
<?= $this->assets->outputCss('headerMinCss') ?>
<?= $this->assets->outputCss('headerCss') ?>
<?= $this->assets->outputJs('headerMinJS') ?>
<?= $this->assets->outputJs('headerJS') ?>
<link href="https://fonts.googleapis.com/css?family=Open+Sans|Open+Sans+Condensed:300|Oswald|Poiret+One|Roboto|Roboto+Condensed|Roboto+Slab|Source+Sans+Pro|Helvetica" rel="stylesheet">
<link rel="icon" type="image/png" href="//aquamarket.ua/logo.png">
<link rel="icon" type="image/vnd.microsoft.icon" href="//aquamarket.ua/img/favicon.ico?1497884684"/>
<meta property="og:image" content="//aquamarket.ua/themes/aqumarket/img/logo.png"/>
<meta property="og:image" content="https://aquamarket.ua/img/icons/apple-touch-icon-120x120.png"/>
<link rel="apple-touch-icon" href="//aquamarket.ua/img/icons/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="76x76" href="//aquamarket.ua/img/icons/apple-touch-icon-76x76.png">
<link rel="apple-touch-icon" sizes="120x120" href="//aquamarket.ua/img/icons/apple-touch-icon-120x120.png">
<link rel="apple-touch-icon" sizes="152x152" href="//aquamarket.ua/img/icons/apple-touch-icon-152x152.png">
<link rel="icon" type="image/png" href="//aquamarket.ua/logo.png">
<link rel="shortcut icon" type="image/x-icon" href="/img/favicon.ico?1497884684"/>
<?php $v112033355493070328821iterator = $langs; $v112033355493070328821incr = 0; $v112033355493070328821loop = new stdClass(); $v112033355493070328821loop->self = &$v112033355493070328821loop; $v112033355493070328821loop->length = count($v112033355493070328821iterator); $v112033355493070328821loop->index = 1; $v112033355493070328821loop->index0 = 1; $v112033355493070328821loop->revindex = $v112033355493070328821loop->length; $v112033355493070328821loop->revindex0 = $v112033355493070328821loop->length - 1; ?><?php foreach ($v112033355493070328821iterator as $lang) { ?><?php $v112033355493070328821loop->first = ($v112033355493070328821incr == 0); $v112033355493070328821loop->index = $v112033355493070328821incr + 1; $v112033355493070328821loop->index0 = $v112033355493070328821incr; $v112033355493070328821loop->revindex = $v112033355493070328821loop->length - $v112033355493070328821incr; $v112033355493070328821loop->revindex0 = $v112033355493070328821loop->length - ($v112033355493070328821incr + 1); $v112033355493070328821loop->last = ($v112033355493070328821incr == ($v112033355493070328821loop->length - 1)); ?>
<link rel="alternate" hreflang="<?= $lang->iso_code ?>" href="<?= $urls_langs[$lang->id_language] ?>">
<?php $v112033355493070328821incr++; } ?>
<?php if ($id_shop == 4 || $id_shop == 3 || $id_shop == 2) { ?>
<style>
@media (min-width:1201px) {
.block-main-category:nth-child(9) > .category-dropdown {
left: 323px;
}
}
</style>
<?php } ?>
</head>
<body>
<!-- Fixed navbar -->
<nav class="navbar navbar-default" role="navigation">
<div class="row-permalinks">
<div class="container" style="padding-left: 15px;">
<div class="navbar-header hidden-md hidden-lg">
<div class="pull-left">
<button type="button" class="navbar-toggle navbar-fixed-bottom toggle nav-toggle">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="nav-search-inpt-mob">
<form class="navbar-link search-form-1 hidden-md hidden-lg" action="/<?= $iso_code ?>/search"
method="get"
role="search">
<div class="input-group search-input-group">
<input name="search_query" type="text" class="form-control search-input"
placeholder="<?= $this->t->_('search') ?>">
<span class="input-group-addon">
<button type="submit">
<span class="fa fa-search"></span>
</button>
</span>
</div>
</form>
</div>
<div class="pull-right">
<a href="<?= $this->url->get(['for' => 'order-page']) ?>" class="" style="position:relative;">
<img src="/img/icons/cart_white_icon.png" style="height: 30px;">
<div class="mobile-total-products"><span><?= $total_products_cart ?></span></div>
</a>
</div>
</div>
<div class="nav-bckgrnd">
<span class="nav-close close-icon">
<i class="fa fa-chevron-left"></i>
</span>
</div>
<div id="navbar" class="navbar-default list-inline">
<a href="/<?= $iso_code ?>/" class="shop-logo-hdr hidden-xs hidden-sm">
<img class="logo img-responsive"
src="/img/aquamarket-logo-1450342761.jpg"
alt="Київ"/>
</a>
<ul class="list-unstyled permalinks">
<li class="nav-img">
<a href="/<?= $iso_code ?>/">
<img src="/img/aqua-logo-mob.png">
</a>
</li>
<li class="mob-hdr-nav">
<a id="mob-menu-catalog-btn"><i class="fa fa-bars"></i> Каталог</a>
<div id="mob-menu-catalog" style="display: none;">
<?= $this->MenuWidget->run('header-menu') ?>
</div>
</li>
<li class="divider"></li>
<li>
<a href="/<?= $iso_code ?>/contact-us">
<i class="i-collapsed fa fa-pencil"></i> <?= $this->t->_('contact-us') ?>
</a>
</li>
<li>
<a href="<?= $this->url->get(['for' => 'products-week-index', 'iso_code' => $iso_code]) ?>"><i
class="i-collapsed fa fa-calendar-check-o"></i> <?= $this->t->_('products-of-the-week') ?>
</a>
</li>
<li>
<a href="<?= $this->url->get(['for' => 'delivery', 'iso_code' => $this->context->language->iso_code]) ?>">
<i class="i-collapsed fa fa-truck"></i> <?= $this->t->_('delivery-page') ?>
</a>
</li>
<li>
<a href="<?= $this->url->get(['for' => 'service', 'iso_code' => $iso_code]) ?>">
<i class="i-collapsed fa fa-wrench"></i> <?= $this->t->_('service') ?>
</a>
</li>
<li>
<a href="<?= $this->url->get(['for' => 'contacts', 'iso_code' => $this->context->language->iso_code]) ?>">
<i class="i-collapsed fa fa-phone"></i> <?= $this->t->_('contacts') ?>
</a>
</li>
<li class="nav-viber-hdr">
<a class="btn_viber" target="_blank" href="viber://pa?chatURI=aquamarket"
title="<?= $this->t->_('follow-viber') ?>">
<img src="/img/icons/viber-icon-noborder.png">
<span>Viber</span>
</a>
</li>
<li class="nav-callback-hdr">
<a data-toggle="modal" data-target="#callbackModal" class="btn-callback">
<img src="/img/icons/callback-noborder.png">
<span><?= $this->t->_('callback') ?></span>
</a>
</li>
<li class="divider mob-hdr-nav"></li>
<li class="divider mob-hdr-nav"></li>
<?= $this->MyAccountWidget->run('header') ?>
<li class="divider mob-hdr-nav"></li>
<li class="change-lang-header navbar-right">
<i class="i-collapsed fa fa-globe"></i>
<?php $v112033355493070328821iterator = $langs; $v112033355493070328821incr = 0; $v112033355493070328821loop = new stdClass(); $v112033355493070328821loop->self = &$v112033355493070328821loop; $v112033355493070328821loop->length = count($v112033355493070328821iterator); $v112033355493070328821loop->index = 1; $v112033355493070328821loop->index0 = 1; $v112033355493070328821loop->revindex = $v112033355493070328821loop->length; $v112033355493070328821loop->revindex0 = $v112033355493070328821loop->length - 1; ?><?php foreach ($v112033355493070328821iterator as $lang) { ?><?php $v112033355493070328821loop->first = ($v112033355493070328821incr == 0); $v112033355493070328821loop->index = $v112033355493070328821incr + 1; $v112033355493070328821loop->index0 = $v112033355493070328821incr; $v112033355493070328821loop->revindex = $v112033355493070328821loop->length - $v112033355493070328821incr; $v112033355493070328821loop->revindex0 = $v112033355493070328821loop->length - ($v112033355493070328821incr + 1); $v112033355493070328821loop->last = ($v112033355493070328821incr == ($v112033355493070328821loop->length - 1)); ?>
<a href="<?= $urls_langs[$lang->id_language] ?>"
<?php if ($lang->id_language == $curr_id_lang) { ?>onclick="return false;" class="active"<?php } ?>>
<?= $this->converter->truncate($lang->name, 3, '', 0) ?>
</a>
<?php if (!$v112033355493070328821loop->last) { ?>
|
<?php } ?>
<?php $v112033355493070328821incr++; } ?>
</li>
<li class="mob-hdr-nav">
<a data-toggle="modal" data-target="#callbackModal" class="btn-callback nav-close">
<i class="fa fa-volume-control-phone"></i>
<span><?= $this->t->_('callback') ?></span>
</a>
</li>
<li class="mob-hdr-nav">
<?php if ($this->context->customer->logged) { ?>
<a class="header-button" rel="nofollow"
href="<?= $this->url->get(['for' => 'wishlist', 'iso_code' => $this->context->language->iso_code]) ?>">
<i class="fa fa-heart-o" aria-hidden="true"></i> <?= $this->t->_('favorites') ?>
</a>
<?php } ?>
</li>
<li class="mob-hdr-nav">
<a id="compare-header"
href="<?= $this->url->get(['for' => 'compare', 'iso_code' => $this->context->language->iso_code]) ?>">
<i class="fa fa-balance-scale" aria-hidden="true"></i> <?= $this->t->_('compare') ?>
</a>
</li>
<li class="divider"></li>
<?= $this->ShopSelectWidget->run() ?>
<li class="divider"></li>
<li class="mob-hdr-nav">
<a href="/index/setviewport">
<?php if (!isset($site_full_version_view)) { ?>
<i class="fa fa-desktop"></i><?= $this->t->_('get-site-view-full-version') ?>
<?php } ?>
</a>
</li>
<li class="mob-hdr-nav mob-menu-last-li hidden-sm hidden-md"></li>
</ul>
</div>
<!--/.nav-collapse -->
<div class="city-popup-title" style="display: none">
<?= $this->t->_('yours-city-is') ?> <span></span>?
<i class="close-popup fa fa-times-circle pull-right"></i>
<br>
<button class="btn" data-choose="yes"><?= $this->t->_('yes') ?></button>
<a class="choose-another pull-right" data-choose="no" data-toggle="modal"
data-target="#choose-cities-list">
<?= $this->t->_('choose-another-city') ?>
</a>
</div>
</div>
</div>
<div class="header-row-2 hidden-xs hidden-sm">
<div class="container">
<div class="header-button_list">
<?= $this->SearchWidget->run() ?>
<div class="shop-phones-hdr">
<?= $this->ShopPhonesWidget->run('header') ?>
</div>
<div class="user-button pull-right">
<?php if ($this->context->customer->logged) { ?>
<?= $this->WishlistWidget->run() ?>
<?php } ?>
<div id="compare-header-div">
<a id="compare-header" class="header-button"
href="<?= $this->url->get(['for' => 'compare', 'iso_code' => $this->context->language->iso_code]) ?>">
<i class="fa fa-balance-scale" aria-hidden="true"></i><br>
<?= $this->t->_('compare') ?>
<div class="compare-total-products"><span></span></div>
<div id="compare-dropdown">
<div id="compare-ajax-block"></div>
</div>
</a>
</div>
<div>
<a class="header-button header-cart" href="<?= $this->url->get(['for' => 'quick-order/action', 'iso_code' => $iso_code, 'action' => 'products']) ?>">
<div class="header-cart-icon">
</div>
<?= $this->t->_('shopping-basket') ?>
<div class="total-products"><span><?= $total_products_cart ?></span></div>
</a>
</div>
</div>
</div>
</div>
</div>
<div class="row-products-menu ">
<div class="container">
<div class="collapse navbar-collapse hidden-md hidden-xs" id="categories-menu">
<?= $this->MenuWidget->run('header-menu') ?>
</div><!--/.nav-collapse -->
</div>
</div>
</nav>
<div class="<?= $content_container ?>">
<div class="<?= (empty($breadcrambs_container) ? ('') : ($breadcrambs_container)) ?>">
<?= $this->BreadCrumbsWidget->run() ?>
</div>
<?= $this->flash->output() ?><!--Вывод всех ошибок flash-->
<?= $this->flashDirect->output() ?><!--Вывод всех ошибок flash-->
<?= $this->getContent() ?>
</div>
<footer id="footer">
<div class="footer-line-1">
<div class="container">
<div class="col-md-12 footer-title">
<?= $this->t->_('delivery water and products') ?>
</div>
</div>
</div>
<div class="footer-line-2">
<div class="container">
<div class="" id="footer-accordion">
<div class="col-md-2 col-xs-12">
<h4 class="footer-collapse" data-toggle="collapse" data-parent="#footer-accordion"
href="#collapse-about">
<?= $this->t->_('about-store') ?> <i class="fa fa-plus pull-right"></i>
</h4>
<div id="collapse-about" class="collapse in">
<ul class="list-unstyled">
<li>
<a href="<?= $this->url->get(['for' => 'delivery', 'iso_code' => $this->context->language->iso_code]) ?>"><?= $this->t->_('delivery-f') ?></a>
</li>
<li><a href="<?= $this->url->get(['for' => 'service', 'iso_code' => $iso_code]) ?>"><?= $this->t->_('service') ?></a>
</li>
<li>
<a href="<?= $this->url->get(['for' => 'news-base', 'iso_code' => $this->context->language->iso_code]) ?>"><?= $this->t->_('news') ?></a>
</li>
<li>
<a href="<?= $this->url->get(['for' => 'feedback-index', 'iso_code' => $this->context->language->iso_code]) ?>"><?= $this->t->_('contacts') ?></a>
</li>
<li>
<a href="<?= $this->url->get(['for' => 'contract-offer', 'iso_code' => $this->context->language->iso_code]) ?>"><?= $this->t->_('contract-offer') ?></a>
</li>
<li><a href="/<?= $iso_code ?>/sitemap"><?= $this->t->_('site-map') ?></a></li>
<li><a href="/<?= $iso_code ?>/partners" style="line-height: 40px;"><?= $this->t->_('partners') ?></a>
</li>
</ul>
</div>
</div>
<div class="col-md-2 col-xs-12">
<h4 class="footer-collapse" data-toggle="collapse" data-parent="#footer-accordion"
href="#collapse-categories">
<?= $this->t->_('categories-f') ?> <i class="fa fa-plus pull-right"></i>
</h4>
<div id="collapse-categories" class="collapse in">
<ul class="list-unstyled">
<?= $this->MenuWidget->run('footer-menu') ?>
<li>
<hr>
</li>
<li>
<a href="<?= $this->url->get(['for' => 'products-week-index', 'iso_code' => $iso_code]) ?>"><?= $this->t->_('week-product') ?></a>
</li>
<li>
<a href="<?= $this->url->get(['for' => 'best-sales', 'iso_code' => $iso_code]) ?>"><?= $this->t->_('best-products') ?></a>
</li>
<li>
<a href="<?= $this->url->get(['for' => 'new-products', 'iso_code' => $iso_code]) ?>"><?= $this->t->_('new-products') ?></a>
</li>
</ul>
</div>
</div>
<div class="col-md-3 col-xs-12">
<h4 class="footer-collapse" data-toggle="collapse" data-parent="#footer-accordion"
href="#collapse-account">
<?= $this->t->_('my-account') ?> <i class="fa fa-plus pull-right"></i>
</h4>
<div id="collapse-account" class="collapse in">
<?= $this->MyAccountWidget->run('footer') ?>
</div>
</div>
</div>
<div class="col-md-5 col-xs-12" id="subscribe_and_news">
<div class="col-md-12" id="subscribe">
<label><h4><?= $this->t->_('news_subsscribing') ?></h4></label>
<div class="col-md-8 col-xs-4">
<input type="text" class="form-control" placeholder="<?= $this->t->_('type_yours_email') ?>">
</div>
<div class="col-md-4 col-xs-4">
<button id="subscribe_news_button" class="btn btn-blue-shadow"><?= $this->t->_('subscribe') ?></button>
</div>
</div>
<div class="col-xs-12 p-0">
<div class="col-md-5 col-xs-4 p-0 footer-social">
<span><?= $this->t->_('we-in-social') ?></span>
<ul class="social-icons">
<li>
<a class="social_facebook" title="<?= $this->t->_('follow-fb') ?>" rel="nofollow" target="_blank"
href="https://www.facebook.com/aquamarket.ua" data-original-title="Facebook"></a>
</li>
<li>
<a class="social_googleplus" title="<?= $this->t->_('follow-google') ?>" rel="nofollow"
target="_blank" href="https://plus.google.com/102680268228147955144/about"
data-original-title="Goole Plus"></a>
</li>
<li>
<a class="social_viber" title="<?= $this->t->_('follow-viber') ?>" rel="nofollow"
target="_blank" href="viber://pa?chatURI=aquamarket" data-original-title="Viber"></a>
</li>
</ul>
</div>
<div class="col-md-7 col-xs-8 p-0 pull-right footer-apps" style="text-align: right;">
<span><?= $this->t->_('dwn-app') ?></span>
<a target="_blank" rel="nofollow" href="https://itunes.apple.com/ua/app/akvamarket/id775839495?mt=8"
class="pull-right">
<img src="/img/app-store-apple-min.png" width="115">
</a>
<a target="_blank" rel="nofollow" href="https://play.google.com/store/apps/details?id=ua.aquamarket.catalog"
class="pull-right">
<img src="/img/app-store-android-min.png" width="115">
</a>
</div>
</div>
</div>
</div>
</div>
<div class="footer-line-3">
<div class="container">
<div class="col-md-7">
<h3 class="page-header">АкваМаркет</h3>
<p><?= $this->t->_('footer-about') ?></p>
</div>
<div class="col-md-5 footer-contacts">
<h3><?= $this->t->_('contacts') ?></h3>
<?= $this->ShopPhonesWidget->run('footer') ?>
</div>
<?php if (isset($site_full_version_view)) { ?>
<div class="col-md-12 col-lg-12 viewport-link">
<a href="/index/setviewport">
<i class="fa fa-mobile"></i>
<?= $this->t->_('get-site-view-mobile-version') ?>
</a>
</div>
<?php } else { ?>
<div class="hidden-md hidden-lg col-sm-12 col-xs-12 viewport-link">
<a href="/index/setviewport">
<i class="fa fa-desktop"></i> <?= $this->t->_('get-site-view-full-version') ?>
</a>
</div>
<?php } ?>
</div>
</div>
<div class="footer-line-4">
<div class="container">
<div class="col-md-12 p-0">
<div id="powered-by" class="col-md-4">© 2017 AquaMarket Service LLC - a part of KSB GLOBAL™.</div>
<div class="col-md-8 text-center">
<?= $this->t->_('give-to-pay') ?>:
<img src="/img/icons/visa.png">
</div>
</div>
</div>
<?= $this->CallbackWidget->run('modal') ?>
<?= $this->AuthWidget->run('modal') ?>
<?= $this->ShopSelectWidget->run('modal-choose-city', true) ?>
<?= $this->AcceptPhoneWidget->run('modal') ?>
<div id="shop-redirect-notice" class="modal fade" role="dialog">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title"><?= $this->t->_('attention') ?></h4>
</div>
<div class="modal-body text-center">
<p><?= $this->t->_('redirect-city-notice') ?></p>
<form id="set-city-form" type="post">
<input name="id_shop" type="hidden" value="" data-curr-shop="<?= $this->context->shop->id_shop ?>">
<input name="id_delivery_price" type="hidden" value="">
<button class="btn btn-primary pull-right" type="submit"><?= $this->t->_('submit') ?></button>
</form>
<button type="button" class="btn btn-default pull-left" data-dismiss="modal"
style="color:#777;"><?= $this->t->_('stay-here') ?></button>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
</footer>
<script>
var baseUri = '<?= $HTTP_TYPE ?>://<?= $this->request->getServerName() ?>';
var iso_code = '<?= $iso_code ?>';
var id_curr_shop = '<?= $this->context->shop->id_shop ?>';
if($(window).width() < 769){
document.cookie = "mobile=1; expires=Thu, 18 Dec 2019 12:00:00 UTC; path=/; domain=.aquamarket.ua";
} else {
document.cookie = "mobile=0; expires=Thu, 18 Dec 2019 12:00:00 UTC; path=/; domain=.aquamarket.ua";
}
</script>
<?= $this->assets->outputJs('footerJS') ?>
<?= $this->BlockCart->run() ?>
<div class="arrow-container">
<i class="fa fa-chevron-up arrow-top-page" aria-hidden="true"></i>
<i class="fa fa-chevron-down arrow-bottom-page" aria-hidden="true"></i>
</div>
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-43134149-1', 'auto');
ga('send', 'pageview');
<?php if ($this->router->getControllerName() == 'quick-order' && ($this->router->getActionName() == 'success' || $this->router->getActionName() == 'confirm')) { ?>
ga('require', 'ecommerce');
ga('ecommerce:addTransaction', {
'id': '<?= $order->id_order ?>',
'affiliation': 'Aquamarket',
'revenue': '<?= $order->total_paid ?>',
'shipping': '<?= $order->total_shipping ?>',
'tax': '<?= $order->total_paid % 20 ?>',
'currency': 'UAH'
});
<?php $v112033355493070328821iterator = $order->order_details; $v112033355493070328821incr = 0; $v112033355493070328821loop = new stdClass(); $v112033355493070328821loop->self = &$v112033355493070328821loop; $v112033355493070328821loop->length = count($v112033355493070328821iterator); $v112033355493070328821loop->index = 1; $v112033355493070328821loop->index0 = 1; $v112033355493070328821loop->revindex = $v112033355493070328821loop->length; $v112033355493070328821loop->revindex0 = $v112033355493070328821loop->length - 1; ?><?php foreach ($v112033355493070328821iterator as $order_product) { ?><?php $v112033355493070328821loop->first = ($v112033355493070328821incr == 0); $v112033355493070328821loop->index = $v112033355493070328821incr + 1; $v112033355493070328821loop->index0 = $v112033355493070328821incr; $v112033355493070328821loop->revindex = $v112033355493070328821loop->length - $v112033355493070328821incr; $v112033355493070328821loop->revindex0 = $v112033355493070328821loop->length - ($v112033355493070328821incr + 1); $v112033355493070328821loop->last = ($v112033355493070328821incr == ($v112033355493070328821loop->length - 1)); ?>
ga('ecommerce:addItem', {
'id': '<?= $order->id_order ?>',
'name': '<?= $order_product->product_name ?>',
'sku': '<?= $order_product->product_reference ?>',
'category': '<?= $order_product->product->id_category_default ?>',
'price': '<?= $order_product->product_price ?>',
'quantity': '<?= $order_product->product_quantity ?>',
'currency': 'UAH'
});
<?php $v112033355493070328821incr++; } ?>
ga('ecommerce:send');
<?php } ?>
</script>
<!-- Google Tag Manager -->
<noscript>
<iframe src="//www.googletagmanager.com/ns.html?id=GTM-MS873L"
height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<script>(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(), event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'//www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-5WWGT7');</script>
<!-- End Google Tag Manager -->
<div itemscope itemtype="https://schema.org/LocalBusiness" style="display:none;">
<time itemprop="openingHours" datetime="Mo-Su"></time>
<span itemprop="name">AquaMarket Service LLC</span>
<div itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
<span itemprop="addressLocality">Киев</span>,
</div>
<span itemprop="telephone">+38(044) 455-88-38</span>,
<span itemprop="email">info@aquamarket.ua</span>
<span itemprop="image">https://aquamarket.ua/img/aquamarket-logo-1450342761.jpg</span>
<span itemprop="priceRange">$</span>
</div>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "AquaMarket Service LLC",
"url": "https://aquamarket.ua/<?= $iso_code ?>/",
"logo": "https://aquamarket.ua/img/aquamarket-logo-1450342761.jpg",
"sameAs" : [
"https://vk.com/aquamarket_service",
"https://plus.google.com/102680268228147955144/about",
"https://www.facebook.com/aquamarket.ua/"
],
"contactPoint" : [{
"@type" : "ContactPoint",
"telephone" : "+38(044) 455-88-38",
"contactType" : "sales",
"availableLanguage" : [
"Russian",
"Ukranian"
]
}]
}
</script>
<!-- BEGIN JIVOSITE CODE -->
<script type='text/javascript'>
if(window.innerWidth > 768){
(function () {
var widget_id = '2ybRsFZQUw';
var d = document;
var w = window;
function l() {
var s = document.createElement('script');
s.type = 'text/javascript';
// s.async = false;
s.src = '//code.jivosite.com/script/widget/' + widget_id;
var ss = document.getElementsByTagName('script')[0];
ss.parentNode.insertBefore(s, ss);
}
if (d.readyState == 'complete') {
l();
} else {
if (w.attachEvent) {
w.attachEvent('onload', l);
} else {
w.addEventListener('load', l, true);
}
}
})();
}
</script>
</body>
</html>
|
#7 | Phalcon\Mvc\Application->handle()
/var/www/aquamarket.ua/html/public/index.php (94) <?php
/**
* Created by PhpStorm.
* User: Andrew Kuzmenko
* Date: 26.04.2017
* Time: 18:30
*/
use Phalcon\Mvc\Application;
use Phalcon\Loader;
//if($_SERVER['REMOTE_ADDR'] != '77.222.128.58'){
// header( 'Location: http://aquamarket.ua', true, 302 );
// exit();
//}
ini_set( 'session.cookie_domain', '.aquamarket.ua' );
session_set_cookie_params (0, '/', '.aquamarket.ua', true);
session_start();
setcookie('PHPSESSID', session_id(), time()+60*60*24*30, '/', '.aquamarket.ua', true, true);
defined('BASE_PATH') || define('BASE_PATH', dirname(__DIR__));
header('Strict-Transport-Security: max-age=63072000');
header('Content-Security-Policy: self-ancestors "self"');
header('X-Frame-Options: SAMEORIGIN');
header('X-Content-Type-Options: nosniff');
header('X-XSS-Protection: 1; mode=block');
try {
/**
* Disable update snapshotdata on save Model
*/
Phalcon\Mvc\Model::setup(
[
'updateSnapshotOnSave' => false,
]
);
require_once('../vendor/autoload.php');
require_once('../vendor/vendor/autoload.php');
require_once('../vendor/mpdf/autoload.php');
require __DIR__ . '/../app/config/settings.inc.php';
// Creates the autoloader
$loader = new Loader();
// Register some classes
$loader->registerClasses(
[
'BackendRoutes' => '../app/config/BackendRoutes.php',
'FrontendRoutes' => '../app/config/FrontendRoutes.php',
'ApiRoutes' => '../app/config/ApiRoutes.php',
'Phalcon\Ext\Mailer' => __DIR__ . '/../../vendor/phalcon-ext/mailer/src/',
'PHPExcel' => '../vendor/PHPExcel/Classes/PHPExcel.php',
'PHPExcel_IOFactory' => '../vendor/PHPExcel/Classes/PHPExcel/IOFactory.php',
]
);
$loader->registerNamespaces(array(
'Phalcon\Ext\Mailer' => __DIR__ . '/../../vendor/phalcon-ext/mailer/src/',
// 'Elasticsearch' => BASE_PATH . '/vendor/elasticsearch/src/Elasticsearch/',
// 'Psr\Log' => BASE_PATH . '/vendor/psr/log/Psr/Log/',
// 'GuzzleHttp\Ring' => BASE_PATH . '/vendor/guzzlehttp/ringphp/src/',
// 'GuzzleHttp\Streams' => BASE_PATH . '/vendor/guzzlehttp/streams/src/',
// 'React\Promise' => BASE_PATH . '/vendor/react/promise/src/',
'PDW'=> __DIR__ .'/../vendor/PDW/',
));
$loader->register();
/**
* Include services
*/
require __DIR__ . '/../app/config/services.php';
if(_PS_MODE_DEV_) {
error_reporting(E_ALL);
$debug = new \Phalcon\Debug();
$debug->listen();
}
// $debugWidget = new \PDW\DebugWidget($di);
/**
* Handle the request
*/
$application = new Application();
/**
* Assign the DI
*/
$application->setDI($di);
/**
* Include modules
*/
require __DIR__ . '/../app/config/modules.php';
$handle = $application->handle();
echo $handle->getContent();
} catch (Phalcon\Exception $e) {
echo $e->getMessage();
echo nl2br(htmlentities($e->getTraceAsString()));
} catch (PDOException $e){
echo $e->getMessage();
} catch (Exception $e){
echo $e->getMessage();
}
|