32 |
ProductBookingController::getBookingDomain(()) |
/modules/shopproductbooking/controllers/booking.php |
88 |
31 |
ProductBookingController::getRemoteProductDetails(array(1) [0 => '999978']) |
/modules/shopproductbooking/controllers/booking.php |
44 |
30 |
ProductBookingController::getProductDetails(array(7) [0 => '010345', 1 => '010350', 2 => '010355', 3 => '010360', 4 => '010365', 5 => '010370', 6 => '999978']) |
/modules/shopproductbooking/classes/shopproductbooking_module.php |
58 |
29 |
ShopProductBooking_Module->after_product_fetch(object(Shop_Product)) |
|
|
28 |
call_user_func_array(array(2) [0 => object(ShopProductBooking_Module), 1 => 'after_product_fetch'], array(1) [0 => object(Shop_Product)]) |
/phproad/system/class_functions.php |
18 |
27 |
callFunction(array(2) [0 => object(ShopProductBooking_Module), 1 => 'after_product_fetch'], array(1) [0 => object(Shop_Product)]) |
/phproad/modules/phpr/classes/phpr_events.php |
79 |
26 |
Phpr_Events->fire_event(array(1) [name => 'shop:onAfterProductRecordFetch'], object(Shop_Product)) |
|
|
25 |
call_user_func_array(array(2) [0 => object(Phpr_Events), 1 => 'fire_event'], array(2) [0 => array(1), 1 => object(Shop_Product)]) |
/phproad/system/class_functions.php |
18 |
24 |
callFunction(array(2) [0 => object(Phpr_Events), 1 => 'fire_event'], array(2) [0 => array(1), 1 => object(Shop_Product)]) |
/phproad/modules/phpr/classes/phpr_events.php |
153 |
23 |
Phpr_Events->fireEvent('shop:onAfterProductRecordFetch', object(Shop_Product)) |
|
|
22 |
call_user_func_array(array(2) [0 => object(Phpr_Events), 1 => 'fireEvent'], array(2) [0 => 'shop:onAfterProductRecordFetch', 1 => object(Shop_Product)]) |
/phproad/modules/phpr/classes/phpr_extensible.php |
159 |
21 |
Phpr_Extensible->__call('fireEvent', array(2) [0 => 'shop:onAfterProductRecordFetch', 1 => object(Shop_Product)]) |
/modules/shop/models/shop_product.php |
1861 |
20 |
Backend_Events->fireEvent('shop:onAfterProductRecordFetch', object(Shop_Product)) |
/modules/shop/models/shop_product.php |
1861 |
19 |
Shop_Product->after_fetch(()) |
/phproad/modules/db/classes/db_activerecord.php |
444 |
18 |
Db_ActiveRecord->_find_fill(array(16) [0 => array(138), 1 => array(138), 2 => array(138), 3 => array(138), 4 => array(138), 5 => array(138), 6 => array(138), 7 => array(138), 8 => array(138), 9 => array(138), 10 => array(138), 11 => array(138), 12 => array(138), 13 => array(138), 14 => array(138), 15 => array(138)], null) |
/phproad/modules/db/classes/db_activerecord.php |
540 |
17 |
Db_ActiveRecord->find_all_internal(null, array(0), null) |
/phproad/modules/db/classes/db_activerecord.php |
559 |
16 |
Db_ActiveRecord->find_all(()) |
/modules/cms/classes/cms_controller.php(383) : eval()'d code |
12 |
15 |
eval(()) |
/modules/cms/classes/cms_controller.php |
383 |
14 |
Cms_Controller->evalWithException('?><!-- view:shop:product_list_diy_trade_21_2_row -->
<!--
<?php
if( isset($paginate) && $paginate ) {
$page_index = isset($page_index) ? $page_index-1 : 0;
$records_per_page = isset($records_per_page) ? $records_per_page : 48;
$pagination = $products->paginate($page_index, $records_per_page);
}
else {
$pagination = null;
}
$products = $products instanceof Db_ActiveRecord ? $products->find_all() : $products;
?>
-->
<?php
$foundit = 0 ;
foreach ($products as $product){
if($product->x_bookpay <= 1 or $product->x_bookpay >= 200){
$foundit = 1 ;
}
}
if(empty($foundit)) return ;
?>
<?php $i=1 ; $showEvery = 3 ; foreach ($products as $product): ?>
<?php if($product->x_bookpay <= 1 or $product->x_bookpay >= 200): ?>
<?php if( is_int(($i-1) / $showEvery) && $i >1 ): ?>
<!-- start promo -->
<div style="margin-bottom: 2em;" class="hide-for-small category-promo">
<div class="twelve columns" style="height: 100%; background-color: #fff; margin-bottom: 3em; padding:1.5em 1.5em 0;">
<!--<?php $this->render_partial('category_reviews_21'); ?>-->
<?php $this->render_partial('category_reviews_tp'); ?>
</div>
</div>
<!-- end promo -->
<?php endif ?>
<div style="margin-bottom: 2em;" class="product-list-item">
<? if($i == 1): ?>
<div class="" style="display: inline-block; border: 1px solid #002B41; background: #002B41; color: #fff; padding: 0.5em 0.5em 0.2em 0.5em; font-size: 1.6em; text-transform: uppercase; font-weight: bold">Most Popular</div>
<? endif; ?>
<? if (strpos($product->name, 'Package') !== false): ?>
<div class="" style="display: inline-block; border: 1px solid #00b67A; background: #00b67A; color: #fff; padding: 0.5em 0.5em 0.2em 0.5em; font-size: 1.6em; font-weight: bold; text-transform: uppercase;">Package Deal</div>
<? endif; ?>
<div class="twelve columns" style="<?php echo ($i == 1) ? 'border: 0.4em solid #002B41 !important;' : ''; ?> <? if (strpos($product->name, 'Package') !== false): ?>border: 0.2em solid #00b67A !important;<? endif; ?> height: 100%; margin-bottom: 2em; padding:1.5em 1.5em 0; min-height: 280px;">
<?php $this->render_partial('product_card_image', array('product' => $product)); ?>
<?php $this->render_partial('product_card_header', array('product' => $product)); ?>
<div class="four mobile-four columns">
<?php
$days1Multiplier = 0.6;
$days7Multiplier = 1;
$percentages = $product->om('x_remote_percentages');
if($percentages && !empty($percentages['days_1'])) {
$days1Multiplier = $percentages['days_1']/100;
}
if($percentages && !empty($percentages['days_7'])) {
$days7Multiplier = $percentages['days_7']/100;
}
?>
<div class="product-mobile">
<?php $this->render_partial('product_card_banners', array('product' => $product)); ?>
<div class="catbul"><?php echo $product->x_bullets; ?></div>
</div>
<div class="row desc">
<div class="twelve mobile-four columns product-price-wrap">
<? if (strpos($product->name, 'Skip Hire') !== false): ?>
<span class="price">from </span><span class="price"> POA</span>
<? else: ?>
<span class="price">from </span><span class="price"> <? if ($product->x_weekly_only != 1): ?> <?php echo format_currency($product->om('x_remote_sale_price')*$days1Multiplier); ?> <? else: ?> <?php echo format_currency($product->om('x_remote_sale_price')*$days7Multiplier); ?> <? endif; ?> </span>
<? endif; ?>
</div>
</div>
<div class="twelve mobile-four columns ticks">
<p style="font-size: 1.1em; margin: 1em 0;"> <i class="fas fa-check" style="color: #00b67A;"></i> DIY & Trade<br class="hide-for-small"/>
<?php if($product->om('is_on_sale')): ?>
<i class="fas fa-check" style="color: #00b67A;"></i> <span style="color: #c8102e">Save
<?php
$sale_price_or_discount = $product->om('x_remote_discount') ?: $product->om('sale_price_or_discount');
if(strpos($sale_price_or_discount, '%')) {
echo round($sale_price_or_discount); echo "%";
}
else {
echo format_currency(ltrim($sale_price_or_discount, '-'));
}
?></span><br/>
<?php endif; ?>
<?php if($product->om('x_remote_booking_delay') >= 7): ?>
<span class="hide-for-small"> <i class="fas fa-arrow-trend-down" style="color: #00b67A;"></i> Low Availability</span>
<?php else: ?>
<span class="hide-for-small"> <i class="fas fa-check" style="color: #00b67A;"></i> Best Availability</span>
<?php endif ?>
<?php if(Phpr::$config->get('TEST_EXTRA_API_FIELDS', false) && $product->om('x_has_insurance')): ?>
<span class="hide-for-small"> <i class="fas fa-shield" style="color: #00b67A;"></i> Insurance Available</span>
<?php endif ?>
<?php if(Phpr::$config->get('TEST_EXTRA_API_FIELDS', false) && $product->om('x_deposit_amount')): ?>
<span class="hide-for-small"> <i class="fas fa-money-bill-transfer" style="color: #00b67A;"></i> Deposit <?= format_currency($product->om('x_deposit_amount')) ?> (Refundable)</span>
<?php endif ?>
<?php if(Phpr::$config->get('TEST_EXTRA_API_FIELDS', false) && $product->om('x_requires_id')): ?>
<span class="hide-for-small"> <i class="fas fa-id-card" style="color: #00b67A;"></i> Online ID Verification Required</span>
<?php endif ?>
</p>
</div>
<? $productUrl = $product->page_url('/product') . '/';
if(!$product->has_om_records()) {
$productUrl .= (strpos($productUrl, '?') ? '&' : '?') . 'booking_modal_show=1';
}
?>
<div class="row">
<!--<div class="twelve mobile-four columns">
<a href="<?php echo $productUrl ?>" title="Book & Pay Online" class="button expand quotebutton"><i class="fas fa-calendar-alt"></i> Book & Pay Online</a>
</div>
<div class="twelve mobile-four columns">
<a href="<?php echo $product->page_url('/product'); ?>/" data-gtm="Button: Book & Pay Online (C)" title="Book & Pay Online" class="button expand quotebutton"><i class="fas fa-calendar-alt"></i> Book & Pay Online</a>
</div>
<div class="twelve mobile-four columns">
<a href="<?php echo $product->page_url('/product'); ?>/" data-gtm="Button: Product Detail (C)" title="More Information" class="button expand quotebutton-alt">Product Detail</a>
</div>-->
<div class="twelve mobile-four columns">
<a href="<?php echo $product->page_url('/product'); ?>/" data-gtm="Button: Details & Booking (C)" title="Details & Booking" class="button expand quotebutton"><i class="fas fa-calendar-alt"></i> Details & Booking</a>
</div>
</div>
<div class="row">
<div class="twelve columns" style="text-align: center; padding-top: 1em; color: #808080;">
<p class='product-list-free-delivery'>
<?php if($product->om('x_allow_delivery') > 0 && $product->om('x_min_delivery_charge') > 0) {
echo "<i class='fas fa-truck fa-fw' style='padding-right: 1em'></i> <span style='font-weight: 700;'>Low Cost</span> National Delivery";
} elseif ($product->om('x_allow_delivery') > 0 && $product->om('x_min_delivery_charge') < 1) {
echo "<i class='fas fa-truck fa-fw' style='padding-right: 1em'></i> <span style='font-weight: 700;'>FREE</span> Delivery: Nationwide";
}
?>
<?php
$collectionSitesCount = $product->om('x_collection_available_from');
if($collectionSitesCount > 0) {
echo "<br/><i class='fas fa-map-marker-alt'></i> Click & Collect: <span style='font-weight: 700;'>$collectionSitesCount</span> Locations";
}
?>
</p>
</div>
</div>
</div>
</div>
</div>
<?php /*
<?php else: ?>
<!--<div style="margin-bottom: 2em;">
<div class="twelve columns" style="height: 100%; border: 1px solid #404040; margin-bottom: 2em; padding:1.5em 1.5em 0;">
.
</div>
</div>-->
<?php endif; ?>
*/ ?>
<?php $i++; ?>
<?php endif; ?>
<?php endforeach; ?>
<?php if(!isset($hideCatProductSchema)): ?>
<?php $this->render_partial('category_product_schema', array('products' => $products)); ?>
<?php endif; ?>
', 'CMS partial', 'shop:product_list_diy_trade_21_2_row', array(6) [products => object(Shop_Product), class => 'four mobile-four', records_per_page => '80', paginate => '1', pagination_base_url => '/category/ladder-hire', page_index => 'ladder-hire']) |
/modules/cms/classes/cms_controller.php |
1020 |
13 |
Cms_Controller->render_partial('shop:product_list_diy_trade_21_2_row', array(6) [products => object(Shop_Product), class => 'four mobile-four', records_per_page => '80', paginate => '1', pagination_base_url => '/category/ladder-hire', page_index => 'ladder-hire'], array(4) [cache => '1', cache_vary_by => array(1), cache_versions => array(1), cache_ttl => '86400']) |
/modules/cms/classes/cms_controller.php(383) : eval()'d code |
214 |
12 |
eval(()) |
/modules/cms/classes/cms_controller.php |
383 |
11 |
Cms_Controller->evalWithException('?><section class="content" style="padding:0px;">
<section class="category <?php echo $category->url_name; ?>">
<div class="row">
<!--<div class="two columns">
<? foreach ($category->images as $image): ?>
<img src="<?= $image->getThumbnailPath(400, 400) ?>"/>
<? endforeach ?>
</div>-->
<div class="twelve columns">
<div id="category-page">
<? if ($category):
$subcategories = $category->list_children('front_end_sort_order');
$has_subcategories = $subcategories->count;
$has_products = $category->eval_num_of_products();
?>
<? if ($category): ?>
<?php $this->render_partial('category_breadcrumb'); ?>
<? endif ?>
<h1><em><?php if(!empty($category->title)): ?><?= $category->title ?><?php else: ?><?= $category->name ?><?php endif; ?></em></h1>
<? if ($category->short_description): ?>
<div class="description">
<p class="description" style="font-size: 1.1em;"><?= ($category->short_description) ?></p>
</div>
<? endif ?>
<?php $this->render_partial('free_delivery_cat'); ?>
<? if ($has_subcategories): ?>
<ul class="product-list">
<? $i=0 ; $showEvery = 4 ; foreach ($subcategories as $subcategory): ?>
<?php if( is_int(($i-0) / $showEvery) && $i >0 ): ?>
<? $this->render_partial('random_usp_drama') ?>
<?php endif ?>
<li class="<?php echo isset($class) ? $class : 'four'; ?> columns catcol" style="height: 100%;">
<div class="images" style="border: 0.1em solid #404040; margin: 0.5em; text-align: center; padding: 1em;">
<div class="desc">
<h2 style="font-size: 1.5em;">
<? if(!empty($subcategory->x_catfalse)): ?>
<a href="<?= $subcategory->x_catfalse ?>" data-gtm="SubCat Name (C)" title="<?= h($subcategory->name) ?>" class="product-list"><?= h($subcategory->name) ?></a>
<? else: ?>
<a href="<?= $subcategory->page_url('category') ?>/" data-gtm="SubCat Name (C)" title="<?= h($subcategory->name) ?>" class="product-list"><?= h($subcategory->name) ?></a>
<? endif ?>
</h2>
<div>
<? if(!empty($subcategory->x_catfalse)): ?>
<a href="<?= $subcategory->x_catfalse ?>" data-gtm="SubCat Image (C)" title="<?= h($subcategory->name) ?>" class="product-list" style="padding: 1em 0;">
<? else: ?>
<a href="<?= $subcategory->page_url('category') ?>/" data-gtm="SubCat Image (C)" title="<?= h($subcategory->name) ?>" class="product-list" style="padding: 1em 0;">
<? endif ?>
<img class="primary" style="display: block; margin-left: auto; margin-right: auto;"
src="<?= $subcategory->image_url(0, 260, 'auto') ?>" title="<?= h($subcategory->name) ?>"
width="260" height="260"
alt="<?= h($subcategory->name) ?>" loading="eager" max-width="100%" max-height="100%"/>
</a>
</div>
<div class="row">
<div class="twelve columns">
<p class="hide-for-small" style="padding: 0 1em;"><?= ($subcategory->x_catcontext) ?></p>
<? if(!empty($subcategory->x_catfalse)): ?>
<a href="<?= $subcategory->x_catfalse ?>" data-gtm="Button: View the Range (C)" title="View the Range" class="button expand quotebutton">View the Range</a>
<? else: ?>
<a href="<?= $subcategory->page_url('category') ?>/" data-gtm="Button: View the Range (C)" title="View the Range" class="button expand quotebutton">View the Range</a>
<? endif ?>
</div>
</div>
</li>
<?php $i++; ?>
<? endforeach ?>
</ul>
<? endif ?>
</div>
</div>
</div>
</section>
<? if ($has_subcategories): ?>
<? if ($category->description): ?>
<section class="category-description">
<div class="row">
<div class="twelve columns">
<div class="description">
<p class="description">
<?= ($category->description) ?>
<? if(strpos($_SERVER['REQUEST_URI'], 'power-and-lighting-hire') !== false):?>
<?php $this->render_partial('dlink_power_lighting'); ?>
<? elseif(strpos($_SERVER['REQUEST_URI'], 'plant-hire') !== false):?>
<?php $this->render_partial('dlink_plant'); ?>
<? elseif(strpos($_SERVER['REQUEST_URI'], 'powered-access-hire') !== false):?>
<?php $this->render_partial('dlink_powered_access'); ?>
<? elseif(strpos($_SERVER['REQUEST_URI'], 'cleaning-equipment-hire') !== false):?>
<?php $this->render_partial('dlink_cleaning'); ?>
<? elseif(strpos($_SERVER['REQUEST_URI'], 'access-equipment-hire') !== false):?>
<?php $this->render_partial('dlink_access'); ?>
<? elseif(strpos($_SERVER['REQUEST_URI'], 'lifting-equipment-hire') !== false):?>
<?php $this->render_partial('dlink_lifting'); ?>
<? elseif(strpos($_SERVER['REQUEST_URI'], 'climate-control-hire') !== false):?>
<?php $this->render_partial('dlink_climate'); ?>
<? elseif(strpos($_SERVER['REQUEST_URI'], 'garden-tool-hire') !== false):?>
<?php $this->render_partial('dlink_gardening'); ?>
<? elseif(strpos($_SERVER['REQUEST_URI'], 'building') !== false):?>
<?php $this->render_partial('dlink_building'); ?>
<? endif ?>
</p>
<p class="description"><?php $this->render_partial('category_qa'); ?></p>
</div>
</div>
</div>
</section>
<? endif ?>
<? if(!empty($category->x_popular_group)): ?>
<hr />
<section class="productslatest" style="background-color: #ffffff; margin-bottom: 1em;">
<div class="row">
<div class="twelve columns">
<h2>Popular <?php echo $category->name; ?> Products</h2>
<?php
$group = Shop_CustomGroup::create()->find_by_code($category->x_popular_group);
if($group): ?>
<?php
$this->render_partial('shop:product_list_popular_products', array(
'products' => $group->list_products()
),
array(
'cache'=>true,
'cache_vary_by'=>array('url'),
'cache_versions'=>array('catalog'),
'cache_ttl'=>86400
)); ?>
<?php endif; ?>
</div>
</div>
</section>
<? endif ?>
<? endif ?>
<!--<div id="category-products">
<? $this->render_partial('shop:categories') ?>
</div>-->
<? if (!$has_subcategories && !$has_products): ?>
<p>This category does not contain any products or subcategories.</p>
<p><a href="<?= root_url('/')?>" title="Return to the home page">Return to the home page</a></p>
<? endif ?>
<? else: ?>
<h1>Category not found</h1>
<p>Sorry, the specified category cannot be found.</p>
<p><a href="<?= root_url('/')?>" title="Return to the home page">Return to the home page</a></p>
<? endif ?>
</div>
<div class="clearfix"></div>
</div>
</div>
</section>
</section>
<? if (!$has_subcategories && $has_products): ?>
<section class="content category-products">
<section class="category <?php echo $category->url_name; ?>">
<div class="row">
<div class="nine columns">
<div class="product-list-diy-trade">
<?php $this->render_partial('shop:product_list_diy_trade_21_2_row', array(
'products' => $category->list_products(array('sorting'=>array('price desc'))),
'class' => 'four mobile-four',
'records_per_page' => 80,
'paginate'=> true,
'pagination_base_url' => $category->page_url('/category'),
'page_index' => $this->request_param(-1, 0)
),
array(
'cache'=>true,
'cache_vary_by'=>array('url'),
'cache_versions'=>array('catalog'),
'cache_ttl'=>86400
)); ?>
</div>
<div id="product_list" class="product-list-trade-only">
<?php $this->render_partial('shop:product_list_trade_only_21_2_row', array(
'products' => $category->list_products(array('sorting'=>array('price desc'))),
'class' => 'three mobile-two',
'records_per_page' => 80,
'paginate'=> true,
'pagination_base_url' => $category->page_url('/category'),
'page_index' => $this->request_param(-1, 0)
),
array(
'cache'=>true,
'cache_vary_by'=>array('url'),
'cache_versions'=>array('catalog'),
'cache_ttl'=>86400
)); ?>
</div>
<div class="product-list-training">
<!--<div id="product_list">-->
<?php $this->render_partial('shop:product_list_training_21_2_row', array(
'products' => $category->list_products(array('sorting'=>array('price desc'))),
'class' => 'three mobile-two',
'records_per_page' => 80,
'paginate'=> true,
'pagination_base_url' => $category->page_url('/category'),
'page_index' => $this->request_param(-1, 0)
),
array(
'cache'=>true,
'cache_vary_by'=>array('url'),
'cache_versions'=>array('catalog'),
'cache_ttl'=>86400
)); ?>
<!--</div>-->
</div>
<div class="product-list-sale" id="product_list">
<?php $this->render_partial('shop:product_list_for_sale', array(
'products' => $category->list_products(array('sorting'=>array('price desc'))),
'class' => 'three mobile-two',
'records_per_page' => 80,
'paginate'=> true,
'pagination_base_url' => $category->page_url('/category'),
'page_index' => $this->request_param(-1, 0)
),
array(
'cache'=>true,
'cache_vary_by'=>array('url'),
'cache_versions'=>array('catalog'),
'cache_ttl'=>86400
)); ?>
</div>
<? if ($category->description): ?>
<!--<p class="description"><?= ($category->description) ?></p>-->
<div class="description">
<?= $category->description ?>
<?php $this->render_partial('category_qa'); ?>
</div>
<? endif ?>
<!--<p class="description"><?= ($category->description) ?></p>-->
</div>
<div class="three columns" style="position: -webkit-sticky; /* Safari */ position: sticky; top: 1rem;">
<?php $this->render_partial('call_free') ?>
<div class="twelve columns random-usp">
<?php $this->render_partial('random_usp') ?>
</div>
<div class="twelve columns random-blog">
<?php $this->render_partial('random_blog') ?>
</div>
</div>
</div>
</section>
</section>
<? endif ?>
<?= $this->render_partial('white_diesel_modal') ?>
<?= $this->render_partial('insurance_modal') ?>', 'CMS page', 'Extension & Stepladder Hire') |
/modules/cms/classes/cms_controller.php |
608 |
10 |
Cms_Controller->eval_page_content(()) |
/modules/cms/classes/cms_controller.php |
198 |
9 |
Cms_Controller->open(object(Cms_Page), array(1) [0 => 'ladder-hire']) |
/controllers/application.php |
72 |
8 |
Application->On404(()) |
|
|
7 |
call_user_func_array(array(2) [0 => object(Application), 1 => 'On404'], array(0)) |
/phproad/modules/phpr/classes/phpr_controller.php |
170 |
6 |
Phpr_Controller->executeAction('On404', array(0)) |
/phproad/modules/phpr/classes/phpr_controller.php |
84 |
5 |
Phpr_Controller->_run('On404', array(0)) |
/phproad/modules/phpr/classes/phpr_response.php |
64 |
4 |
Phpr_Response->open404(()) |
/phproad/modules/phpr/classes/phpr_response.php |
37 |
3 |
Phpr_Response->open('/category/ladder-hire') |
/phproad/system/phproad.php |
31 |
2 |
include('/var/www/vhosts/nationaltoolhireshops.co.uk/httpdocs/phproad/system/phproad.php') |
/boot.php |
114 |
1 |
require_once('/var/www/vhosts/nationaltoolhireshops.co.uk/httpdocs/boot.php') |
/index.php |
23 |