Unhandled Error!

Undefined index: HTTP_REFERER

Document /modules/shopproductbooking/controllers/booking.php
Document type PHP document
Line 163
Exception class Phpr_PhpException

Code Highlight

        $bookingDomain = Phpr::$config->get("BOOKING_FORM_DOMAIN",
            "booking." . str_replace("www.", "", $_SERVER['HTTP_HOST'])
        );
        if($dev = Phpr::$request->getField('dev_domain')) {
            $bookingDomain = str_replace("booking", "booking-$dev", $bookingDomain);
        }
        elseif(preg_match('/(?<=dev_domain=)[a-z]+/', $_SERVER['HTTP_REFERER'], $matches)) {
            $bookingDomain = str_replace("booking", "booking-{$matches[0]}", $bookingDomain);
        }
        return $bookingDomain;
    }
 
	public function getRemoteBookingForm() {
# Call Stack Code Document Line
32 ProductBookingController::getBookingDomain(()) /modules/shopproductbooking/controllers/booking.php 88
31 ProductBookingController::getRemoteProductDetails(array(1) [0 => 'Cement Mixer & Vibrating Plate Package']) /modules/shopproductbooking/controllers/booking.php 44
30 ProductBookingController::getProductDetails(array(7) [0 => 'WEB54', 1 => 'WEB55', 2 => 'WEB56', 3 => 'WEB57', 4 => 'WEB58', 5 => 'WEB59', 6 => 'Cement Mixer & Vibrating Plate Package']) /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(8) [0 => array(138), 1 => array(138), 2 => array(138), 3 => array(138), 4 => array(138), 5 => array(138), 6 => array(138), 7 => 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 20
15 eval(()) /modules/cms/classes/cms_controller.php 383
14 Cms_Controller->evalWithException('?><? $string = $_SERVER["REQUEST_URI"] ; $string = strtok($string, '?'); $placename = array_reverse(explode('/', trim($string, '/'))); $placename = ucwords(htmlentities($placename[0])); ?> <!-- view:shop:product_list_diy_trade_21_2_row_dynamics --> <!-- <?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"> <div class="twelve columns" style="height: 100%; border: 1px solid #404040; margin-bottom: 2em; padding:1.5em 1.5em 0;"> </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.2em 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, 'placename' => $placename)); ?> <?php $this->render_partial('product_card_header', array('product' => $product)); ?> <div class="four mobile-four columns"> <?php $days1Multiplier = 0.6; $percentages = $product->om('x_remote_percentages'); if($percentages && !empty($percentages['days_1'])) { $days1Multiplier = $percentages['days_1']/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">Our Price From: </span><span class="price"> POA</span> <? else: ?> <span class="price">Our 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')); ?> <? endif; ?> </span> <? endif; ?> </div> </div> <div class="twelve mobile-four columns ticks"> <p style="font-size: 1.1em; margin: 1em 0;">&nbsp;<i class="fas fa-check" style="color: #00b67A;"></i>&nbsp;&nbsp;DIY &amp; Trade<br class="hide-for-small"/> <?php if($product->om('is_on_sale')): ?> &nbsp;<i class="fas fa-check" style="color: #00b67A;"></i>&nbsp;&nbsp;<span style="color: #eb121a">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 "&#37;"; } 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">&nbsp;<i class="fas fa-arrow-trend-down" style="color: #00b67A;"></i>&nbsp;&nbsp;Low Availability</span> <?php else: ?> <span class="hide-for-small">&nbsp;<i class="fas fa-check" style="color: #00b67A;"></i>&nbsp;&nbsp;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">&nbsp;<i class="fas fa-shield" style="color: #00b67A;"></i>&nbsp;&nbsp;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">&nbsp;<i class="fas fa-money-bill-transfer" style="color: #00b67A;"></i>&nbsp;&nbsp;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">&nbsp;<i class="fas fa-id-card" style="color: #00b67A;"></i>&nbsp;&nbsp;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 &amp; Pay Online" class="button expand quotebutton"><i class="fas fa-calendar-alt"></i>&nbsp; Book &amp; 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 &amp; Pay Online" class="button expand quotebutton"><i class="fas fa-calendar-alt"></i>&nbsp; Book &amp; 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 &amp; Booking" class="button expand quotebutton"><i class="fas fa-calendar-alt"></i>&nbsp;&nbsp; Details &nbsp;&amp;&nbsp; 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>&nbsp; <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>&nbsp; <span style='font-weight: 700;'>FREE</span> Delivery: Nationwide"; } ?> <?php $collectionSitesCount = $product->om('x_collection_available_from'); if($collectionSitesCount > 0) { echo "<i class='fas fa-map-marker-alt'></i>&nbsp;&nbsp;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; ?>', 'CMS partial', 'shop:product_list_diy_trade_21_2_row_dynamics', array(1) [products => object(Shop_Product)]) /modules/cms/classes/cms_controller.php 1020
13 Cms_Controller->render_partial('shop:product_list_diy_trade_21_2_row_dynamics', array(1) [products => object(Shop_Product)]) /modules/cms/classes/cms_controller.php(383) : eval()'d code 86
12 eval(()) /modules/cms/classes/cms_controller.php 383
11 Cms_Controller->evalWithException('?><? $string = $_SERVER["REQUEST_URI"] ; $patterns = array(); $patterns[0] = '/cement-mixer-hire/'; $patterns[1] = '/-/'; $patterns[2] = '/\//'; $replacements = array(); $replacements[0] = ''; $replacements[1] = '-'; $replacements[2] = ''; $placename = ucwords(htmlentities( preg_replace($patterns, $replacements, $string))); $headers = array( "Cement Mixer Hire $placename", "Hire Cement Mixer $placename", "Cement Mixers For Hire $placename", "Cement Mixer Hire Near $placename", "Hire Cement Mixer Near $placename", "Concrete Mixer Hire $placename", "Hire A Cement Mixer $placename", "Mixer Hire $placename" ); $headerKey = array_rand($headers); $header = $headers[$headerKey]; $descriptions = array( "Whether you are constructing a wall, laying a patio or driveway, or completing any other type of construction work, you will need a high-quality cement mixer to get the consistency of your cement just right. We have electric cement mixers, petrol cement mixers and diesel cement mixers available for hire in the $placename area. We utilise stock from over 47 suppliers to offer more availability and better prices.", "You can book cement mixer hire in the $placename area through us. National Tool Hire has access to the equipment range of the country’s best regional and national tool suppliers. We offer simple online booking, fantastic availability, and better prices. We have a huge range of professional and reliable mixers available. We can supply 110v and 240v electric, petrol, and diesel mixers, plus forced action mixers and paddle stirrers.", "When you hire a concrete mixer, you get a high-quality, professional standard piece of construction equipment, that is suitable for DIY projects and professional jobs. At National Tool Hire Shops, we make cement mixer hire in $placename as easy as possible. We work with some of the best-rated regional and national tool suppliers in the country, to make sure we never let anyone down.", "We have concrete mixing equipment available throughout the $placename area. Our cement mixers are ideal for professional jobs and DIY. We have a great range available. You can book and pay online easily. We work with more than 47 of the UK’s most trusted tool suppliers, allowing us to supply high-demand regionally and nationally.", "Whether you are in the trade or just doing some home DIY, we can provide cement mixers and concrete equipment in the $placename area. We have electric, petrol, and diesel mixers available nationwide. We make it easy to find what you need online. Our prices are competitive, and our availability is fantastic. Book and pay today to secure your hire.", "If you need to hire a cement mixer in $placename, you can book with National Tool Hire Shops. Our hire rates are competitive, and we offer delivery or click and collect. Whether you are in the trade on a large job or an individual just doing some DIY, you can hire mixers to get the job done properly.", "Are you looking to rent a cement mixer in the $placename area? You can book online or over the phone with us with ease today. We work with great tool hire companies across the country, offering click and collect near you, and we can also deliver to your door! With fantastic availability and better rates, we can supply a brilliant range of concrete equipment. We have 110v and 240v electric, petrol, and diesel mixers ready and waiting.", "Whether you are a trade pro or someone looking to do some home DIY, we can supply a range of cement mixers and equipment in the $placename area. You can book and pay online, or call our Hire Team to book a hire over the phone.", "We have electric cement mixers, petrol cement mixers and diesel cement mixers available for hire in the $placename area. We work with some of the best regional and national suppliers, allowing us to offer the best availability and the best prices.", "Renting concrete mixers with National Tool Hire Shops is easy. We work with some of the best regional and national tool suppliers in the UK. Our partnerships allow us to provide high-demand equipment in the $placename area.", "We have cement mixing equipment available in the $placename area. The cement mixers we supply are professional standard, and high-quality. They allow you to mix concrete and mortar to the ideal consistency to get the best results for your project. Book and pay online today.", "Are you searching for hassle-free and reliable tool hire in the $placename area? We operate using a huge network of local, regional, and national tool suppliers, so we can always provide. Simply book a hire online or over the phone with National Tool Hire Shops. We can deliver to you or offer a click and collect location. Browse our cement mixer range below. Book and pay today.", "Do you need to hire a cement mixer in $placename? We have an excellent range available from our network of local, regional, and national supplier partners. We offer 110v, 240v, diesel, and electric mixers and more. The equipment is available to professional and DIY customers for contracted work and home projects. Book and pay online today.", "Are you after a cement mixer in the $placename? Choose National Tool Hire Shops for easy, great value hire in your area. We offer click and collect locations and delivery. Our range includes both 110v and 240v mixers, petrol mixers, and diesel mixers. The equipment is high-quality, and perfect for professional jobs and DIY projects.", "If you are looking to hire concrete mixing equipment in the $placename area, we can help. We utilise the product ranges of the best local, regional, and national tool hire suppliers in the UK. We can supply 240v cement mixers, 110v cement mixers, petrol mixers, and diesel mixers. The equipment is perfect for jobs and DIY projects. Book and pay online today.", "National Tool Hire Shops offers easy cement mixer hire in the $placename area. With our strong relationship with local, regional, and national suppliers, we offer excellent availability and the best prices. Our mixers are all high-quality, professional pieces of equipment. We have 110v, 240v, diesel, and petrol cement mixers, paddle stirrers, and forced action mixers ready and waiting for click and collect or delivery.", "You can hire a cement mixer in $placename easily with National Tool Hire Shops. We work with some of the best tool supplier companies in the UK, so that we can offer the best availability and the best value. Browse our range below, and book and pay online or give us a call. Our tools are available from contractors and DIY customers, so whatever the job or project is, we can help.", "Renting a cement mixer in $placename is easy with National Tool Hire Shops! Our range includes electric mixers, petrol mixers and diesel mixers - you can book easily online or over the phone. We can then deliver the concrete mixing equipment to you, or we can provide you with a click and collect location.", "For a quality cement mix every time, use the concrete mixing equipment range we have available at National Tool Hire Shops. Do you need a heavy-duty tip-up concrete mixer, rotating stand mixer, small or larger tip-up cement mixer for work in the $placename area? We have electric, diesel, and petrol models standing by. We can arrange for your cement mixer to be delivered to you, or we can provide you with a collection point, thanks to our fantastic relationship with some of the best regional and national suppliers in the UK.", "We offer a brilliant range of cement mixers, available for hire in the $placename area. We have tip-up mixers, heavy-duty site mixers, forced action mixers, and more available. We supply electric, diesel, and petrol equipment, so you can use them on-site for professional jobs and DIY projects. Book and pay online today.", ); $descriptionKey = array_rand($descriptions); $description = $descriptions[$descriptionKey]; ?> <section id="category-page" class="content category" style="z-index: 999; position:relative; padding-bottom: 0px;"> <div class="row"> <div class="twelve columns"> <div class="cat-breadcrumbs"> <a href="/">Home</a> &nbsp;>&nbsp; <?php echo "<a href='/tool-hire/$placename/' aria-label='Tool Hire $placename'>Tool Hire $placename</a>" ?> &nbsp;>&nbsp; <?php echo "Cement Mixer Hire $placename" ?> </div> </div> <div class="twelve columns"> <h1><?php echo $header; ?></h1> </div> </div> <div class="row"> <div class="twelve columns" style="margin-bottom: 2em;"> <p> <?php echo $description; ?> </p> </div> <?php $this->render_partial('free_delivery_dynamic'); ?> </div> </section> <section class="category"> <div class="row"> <div class="nine columns"> <?php $group = Shop_CustomGroup::create()->find_by_code('dynamic_cement_mixers'); if($group): ?> <?php $this->render_partial('shop:product_list_diy_trade_21_2_row_dynamics', array( 'products' => $group->list_products() )); ?> <?php endif; ?> </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> <p class="footerbanner" style="padding: 10px 5px; background-color: #c8102e; margin-bottom: 2em; margin-top: 0"> <? $num = Rand (1,5); switch ($num) { case 1: echo '<a class="footerbanner-link" href="/price-match/"><em class="fa fa-tag fa-lg"></em>&nbsp; &nbsp; <span style="font-weight: bold;">Cement Mixer Hire:</span> Price Match Promise</a></p>'; break; case 2: echo '<a class="footerbanner-link" href="/tool-hire-guide/"><em class="fa fa-info-circle fa-lg"></em>&nbsp; &nbsp; <span style="font-weight: bold;">DIY &amp; Trade:</span> Cement Mixer Hire</a></p>'; break; case 3: echo '<a class="footerbanner-link" href="/tool-hire-guide/"><em class="fa fa-calendar fa-lg"></em>&nbsp; &nbsp; <span style="font-weight: bold;">Cheap Weekly Hire Rates</span></a></p>'; break; case 4: echo '<a class="footerbanner-link" href="/free-delivery/"><em class="fa fa-hand-pointer-o fa-lg"></em>&nbsp; &nbsp; <span style="font-weight: bold;">Collect from Store</span> - or - <span style="font-weight: bold;">Delivered to Door</span>&nbsp; &nbsp; <em class="fa fa-truck fa-lg"></em></a></p>'; break; case 5: echo '<a class="footerbanner-link" href="/free-delivery/"><em class="fa fa-hand-pointer-o fa-lg"></em>&nbsp; &nbsp; <span style="font-weight: bold;">Click &amp Collect</span> - or - <span style="font-weight: bold;">Free Delivery</span>&nbsp; &nbsp; <em class="fa fa-truck fa-lg"></em></a></p>'; } ?> </p> <?php $reviews = array( "Great Value!|This was great value for money as well as being nice and easy enough to use and helped me on a small job at home|Lily F", "Does what it says on the tin|I used this when doing a customers fence posts, gave me a smooth mix without the need to scoop from the sides|Mr Hannigan", "Worth the money|After struggling to find a good quality mixer anywhere in $placename until now, I am so pleased with the end result thank you!|M. Johnson", "Perfect Patio|I needed a mixer when doing our patio last month and was very impressed with both the level of service and the quality of mixer, cheers|Andy O", "Thank you|Arrived a few days later than expected but our builders managed to get the job done within 24 hours once it did|Jill Briscoe", "Happy Customer|My company needed this mixer when doing a small weekend job, won't find better value for money anywhere in $placename|Neil Thompson", "DIY Porch|Thanks to the driver for giving me quick instructions I was a bit worried about doing my porch myself but I'm so glad I did|Graham Lavelle", "Great Mixer|My husband and I needed to hire a mixer when we got our drive done I am so happy with the end result, happy wife happy life!|Elaine Gallion", "Cheers|I used this doing quite a big job for a client in $placename this mxier made my job much easier than expected|T Dixon", "Fantastic Service|Thanks I am made up with the finished result my garden looks so much better just in time for summer, great service from start to finish|Mrs McFadden", "Cement Mixer|Great piece of kit used this when building our summer house mix was smooth and mixer looked brand new cant fault|Ahmed Nazir", "Bargain|Saved me a fortune when getting a job done in $placename last month. Special thanks to Dave for all the help|Denise McLean", "DIY|After being let down by another company I decided to do the job myself and thanks to this piece of kit it was done in no time|Lewis Riding", "Thanks|Cheers, cement mixer was in top condition giving me a smooth finish making my job (and life!) ten times easier|Martin F. Davies", "Decent Mixer|Decent quality concrete mixer in $placename used when getting our extension done, drum was good as new |Lee", "Great|Pleased with my final result after using this easy to use mixer thanks to the guys for all the help |Jay N", "Wow|Needed a mixer to get a big job done was great value for money the mixer paid for itself after a few days of use, deffo worth the money|Paul Zuraw", "Happy Husband|My husband used this mixer when we renovated our cottage in $placename he was very pleased with the results thanks|Joan McKie", "Quality Product|great product, works perfectly as its suppose to with no issues, the mixer done its job so I could complete mine, highly recommended |Jon Holt", "Mix It Up!!|Hired this products for my builders on site, they did nothing but praise the item as reliable and easy to use, no issues and the chat team were helpful|W.Pennington", "Decent product for a decent price|The product was in good condition, the weather was bad in $placename but the company still managed to get this to me later in the day and done the job perfect|Christian", "Cracking mixer|Good piece of kit, easy to use and worked perfectly on my drive, cant fault the chat team they was very helpful also would hire from this company again|Terry Jackson", "good value for money|Performs of the item is unquestionable as I ran it for 5 hours and no probs, quiet in operation and easy to move around on wheels, good job |Jason", "Mixer hire|My work asked me to find a mixer to edge a new driveway when I found this one in $placename, had high appraisal from work and got me out of a tough situation, quality!|Lewy Runt", "Quality happy wife happy life|My wife wanted a summer house, she got a summer house, arrived on time, clean and easy to use and got the job done so I have a happy wife now.|D.Thompson", "1st so good I hired another|Was impressed the driver give us a quick run down on how to use, was pretty straight forward I then hired another a few weeks later, good work|Jake", "Mixer|my mixer broke so i hired through this company it arrived on time and worked perfectly until the job was done id recommend this to anyone looking for kit in $placename|P Normanton", "Mixer Hire x 3|I hired these to sort out the staff area, staff were impressed after we sorted it & the mixers came brand new & was powerful, driver was helpful on pick up|Lucy Riley", "Mixer for wall|Found this cement mixer online at a great price, hired for a garden wall easy to move around and can hold a lot of mix, no faults|Tony", "DIY|Made a mistake of mixing by hand in the morning by afternoon I searched for mixers in $placename and had it delivered same day done the job I couldn’t finish|Steve Burke", "Great machine|Good capacity for decent size jobs, quiet. Really can’t grumble at this at all the chat team were helpful and the driver was efficent|Tommy", "Decent mixer|I had to dig and concrete some footings for our front wall at home. decent mixer, even my bricky preferred to use it rather than his one, price was decent|Jay Lewis", "Mixer hire|Great wee mixer, money wasn’t an issue lightweight and easy to move around adequate for the job in $placename no problems at all |Iain", "good mixer|This is a great mixer and I would reccommend it, Very quiet when running. The electrical lead comes with it & is bigger and stronger then expected|L.Davies", "Job well done|used yesterday for a few loads, quiet motor and does the job. My builder was impressed for the money spent on hiring and would recommend this|Jackson", "ideal|This mixer is ideal for house work that needs to be done quiet,reliable and put it through some heavy work, high praise to the guy on chat that helped|Almantas", "Cement Mixer|I have struggled in the past finding local high quality mixers until I happened to find this company. Excellent rates. Fantastic kit!|Terrance M.", "Mixer hire|Brilliant hire. I will certainly be using this company again. Simple process and brilliant kit. Arrived clean and ready to go.|Gerry Parke", "240V Mixer|I have had issues finding this product in $placename in the past. Fret no longer, good quality mixers available all year round!|Fran", "110v Mixing kit|We use mixers loads. This company really do provide the best mixing kit. No issues with any kit in 2 years of hires. Will continue to use.|David Forrest", "Mixer|Ordered and the kit was delivered the next day. Simple and easy to use, quick clean and then it was collected. Outstanding!|Barry M", "Simple and easy|I spoke to the Live chat team to sort this hire. Super helpful and reassured me that the kit is great qaulity. They were not wrong.|Micheal D.", "Petrol mixer hire|Needed this for the builders, hiring in $placename and it was super simple, kit arrived in working order and was collected on time|Michelle", "Cement Turner|Wasn't sure of what was needed. Spoke to the team on the phone and they has me sorted with a great 240v turner! I will be back!|Ian Moore", "Concrete mixer|Hired one of these locally recently and it turned up with a bunch of conrete inside. Used this company and the kit arrived spotless. |Rachel", "Garden Job|Hire in $placename. Not driving its always been an issue sourcing one. This company delivered for free and the kit was top notch!|Chris T.", "240v machine|Awesome process, brilliant kit, timely arrival. Its safe to say this company has found a loyal customer in me. Recommended!|Patrick", "Mixer kit|Super helpful chat team, they settled and concerns I had. The mixer arriving cemented my trust, pardon the pun. Will use again.|Karen Downes", "Five out of five.|I will be using this company in $placename again and again. Efficient service and amazing kit. Keep it up folks, great work.|ML", "240V Cement mix|Locally I can only seem to get petrol models. I found these guys online and have been supplied with great products time and time again.|Tom F", "Heavenly hire|This was so straight forward. My first time hiring and using this machine. Safe to say I was in good hands with a trusty machine. |Jenny B", "Mixing cement |My builders told me to hire a mixer. I was so clueless, the team helped me. Now the builders think I am a pro due to the qaulity of kit!|S. Dodd.", "240v mixing machine|Could not use the usual petrol model in this case. I am now considering the switch permanently, amazing hire. Thanks guys.|James Blithe", "Cement kit|Needed mixing kit in $placename on short notice, I was not disapointed, same day hire. High class kit, I will use you for future jobs|Jamie-Lea", "Top service|Super impressed with the whole process and mixer, would definitely recommend for any equipment. |John Butler", "Good|First time hiring any equipment. Arrived promptly and was collected easily. Good for my diy needs. |Ethan Shaw", "Easy|Delivered easily to $placename, good communication from the depot and team. Mixer was simple to use and was ideal for the job. |Jack Stone", "Mixer |Booking process was simple & the team were friendly. The mixer was good quality and inexpensive, Will use again. |D.Patten", "Impressed|The mixer worked well, I had no problems setting it up or using during the job. I'll be using Tool Hire for any further jobs.|Andy.S", "Efficient|The equipment was delivered clean and empty reeady for the job to $placename. The driver phoned ahead to alert me. No hassle connecting for use. Quick and simple|Joan Buyers", "A*|Couldn’t fault the equipment or delivery /collection. Great value for money too. Will be using again!|John Simpson", "Tool Hire|Used for cementing my garden path, job was complete within the day, saved lots of time. Collection was quick. Good service.|Mick Davis", "Mixer |Best value hire within the $placename area. The Hire team were friendly & the driver explained how to use the mixer. The drum was a good size and made light work of my drive. |Adam Dean", "Happy|First time hiring any equipment. The mixer was clean and easy to use, perfect for my renovations. I was able to extend the hire period easily without any fuss too.|Noah Lunt", "Will use again|Hired a cement mixer from National Tool Hire for DIY in my new house. Cheaper than buying one and storing. Would use for any other tools or equipment needed. Good service. |Robin Smith", "Great Mixer |The mixer looked like new and produced a high quality finish. The delivery driver was professional and helpful unloading the equipment. Happy to recommend|Stuart Tomlinson", "Problem free hire|Was able to pave my driveway quickly & easily. Mixed to a good cosistency, a dummy could use. Delivery & collection were quick and hiring online saved time. |J. Carrol", "Mixer hire|Hired an electric mixer to build a porch. Would recommend to friends for any diy needs. Thanks to the team for helping me select the right type of mixer.|Luke Ventre", "Hired 2 Mixers|Hired 2 mixers for a big job, Tool Hire were the only supplier in the area with availability in $placename. Simple to book, communication was excellent. |Ben Needham", "Cool|Easy to book in online, quality equipment for resonable price. Impressed. |Ian Johnson", "Helpful |Tool Hire were friendly when booking in the kit. Good service for last minute job. Happy to use again.|Chris.W", "Easy hire|Struggled to find anyone else in the $placename area with kit at short notice. Hired a cement mixer & plate packaged - no problems. |Alan Murray", "Good Drum Size|Hire in $placename great size drum, ample for paving my drive, really happy with how easy it was to use.|N. Cutter", "Tip Function|So glad this had the tipping function made it so easy when filling the wheel barrow will definately use this again.|Rob Lincoln", "High Quality|This machine producted the high quality finish I was looking for, and the team on were so helpful.|P. Steward", "Recommended|Hired in $placename Decent Power and really easy to use!|BAZ", "Wonder wheels|Only needed for a resonable small job, but well worth it, and I was able to move as on wheels and not to heavy.|Steph Hewitt", "One of the best|Used hundred of these mixer in my career but this one is the best, and gets top marks from me.|Arron Harper", "Top Mix|Mains powered easy to use, produced a really high quality mix not to cluncky.|Ethan", "Fantastic Hire|Great company to hire from, fantastic bit of kit.|Theo Roberts", "Great Mixer|Easy to fit the barrow underneath, making this much better for my back.|R Dinsdale", "Just Great|In $placename, The finish was great, great tool and a great man that made it, AKA me.|V Hynes", "Mixer|Building wall round the front garden, this mixer save me so much time, well worth it and cracking hire team, well informed.|Derek Alderson", "Storm Damage|Hire this mixer coz the storm took of some of the ridging tiles, nice and easy to use worth getting the tilt function|Smithy", "What more do you want|In $placename, every thing you want from mixer, really reliable, hire from 3 months|Harry Appleton", "Mixer Hire|Saved my husband back and hire for 24 hour, fab service, will be using again|Karen", "Summer house|Hired in $placename,Summer house looks lovely not just down to the mixer I helped.|Allan Trotter", "Home Use|Compatible with home eletrics, will be hiring here again.|Ali Star", "Leaky window|Got this mixer in $placename Little job. needed to fit a new lintal on my leaky window, great mixer will use again|Andy Taylor", "Cement Mixer Hire|First time using a mixer but really easy to use and hire team helped, in door job, so recommended a 240v run from indoor mains.|Angry kid" ); shuffle($reviews); $reviewKeys = array_rand($reviews, 3); ?> <h2 style="text-align: center; text-transform: uppercase"><i class="fa fa-user"></i>&nbsp; &nbsp; What <? print $placename ?> Cement Mixer Hire Customers Say About Us:</h2> <div class="row" style="padding: 2em 0;"> <div class="three hide-for-small columns" style="text-align: center;"> <img src="/themes/nthsv3/resources/images/rated_excellent2.png" loading="lazy" alt="Rated Excellent for Cement Mixer Hire in <? echo $placename ?>" style="float: left; width: 220px; height:100%;"> <p style="display: inline-block; float: left; padding-top: 1em;">Rated Excellent for<br/>Cement Mixer Hire in <? echo $placename ?></p> </div> <?php foreach($reviewKeys as $reviewKey): ?> <?php $review = explode('|', $reviews[$reviewKey]); ?> <div class="three mobile-four columns"> <div class="stars"> <img src="/themes/nthsv3/resources/images/stars-5.svg" loading="lazy" alt="Rated Excellent for Cement Mixer Hire in <? echo $placename ?>" style="width: 100px; height: 100%;"> </div> <div class="minireview"> <div> <h3 style='font-size: 1.2em; font-weight: 900; margin-bottom: 0; text-align: left;'><?php echo $review[0]; ?></h3> <?php if (isset($review[1])): ?> <p style='margin-bottom: 0;'><?php echo $review[1]; ?></p> <?php endif; ?> <?php if (isset($review[2])): ?> <p style='color: #909090;'><?php echo $review[2]; ?></p> <?php endif; ?> </div> </div> </div> <?php endforeach; ?> </div> </section> <script type="application/ld+json"> { "@context": "http://schema.org/", "@type": "LocalBusiness", "name": "National Tool Hire Shops: <?php echo $placename; ?>", "description": "Cement Mixer Hire in <?php echo $placename; ?>.", "telephone": "+44-800-808-9696", "image": "https://www.nationaltoolhireshops.co.uk/themes/nthsv3/resources/images/NTHS_logo.png", "address": "<?php echo $placename; ?>", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.9", "bestRating": "5", "worstRating": "1", "ratingCount": "278" } } </script>', 'CMS page', 'Cement Mixer 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 => 'blackpool']) /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('/cement-mixer-hire/Blackpool') /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