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 => '050030']) /modules/shopproductbooking/controllers/booking.php 44
30 ProductBookingController::getProductDetails(array(1) [0 => '050030']) /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(14) [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)], 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 84
12 eval(()) /modules/cms/classes/cms_controller.php 383
11 Cms_Controller->evalWithException('?><? $string = $_SERVER["REQUEST_URI"] ; $patterns = array(); $patterns[0] = '/wacker-plate-hire/'; $patterns[1] = '/-/'; $patterns[2] = '/\//'; $replacements = array(); $replacements[0] = ''; $replacements[1] = '-'; $replacements[2] = ''; $placename = ucwords(htmlentities( preg_replace($patterns, $replacements, $string))); $headers = array( "Wacker Plate Hire $placename", "Hire Wacker Plate $placename", "Hire A Wacker Plate $placename", "Compactor Plate Hire $placename", "Wacker Plate Hire Near $placename", "Wacker Hire $placename" ); $headerKey = array_rand($headers); $header = $headers[$headerKey]; $descriptions = array( "Whether you need to compact subbase and asphalt on a driveway or car park, or repair a pothole in a road or path, you will need a high-quality compactor plate to finish the job properly. We have a range of compaction plates available for hire in the $placename area. We can deliver to site or provide you with a click and collect location.", "Hiring one of our compactor plates allows you to finish your concrete or tarmac work to a high quality, professional standard. We have an excellent range available, and we use the most reputable regional and national UK suppliers. Take a look at what we have available below, and book online today.", "Vibrating plates compact hardcore, sand, or gravel. They produce low hand-arm vibration for longer safe usage times. They are easy to manoeuvre and control, the baseplate does not dig into the ground when dragged or turned. If you are looking to hire a wacker plate in the $placename area, booking through National Tool Hire Shops gives you access to the product ranges of excellent local, regional, and national suppliers across the UK.", "Find plate compactors for hire in the $placename area at National Tool Hire Shops. Wacker plates create a solid base for landscaping patios or sheds, driveway paving & other surfaces. We have an excellent range available, suitable for both professional work and DIY projects.", "Wacker plates are perfect if you are laying a driveway, compacting some soil, or filling potholes. You can use them a range of professional jobs and DIY projects. If you need a compactor plate in the $placename area, National Tool Hire Shops can help. We work with more than 47 of the UK’s most reputable tool suppliers, so we can fulfil more bookings at even better prices than anywhere else.", "You can see our range of concreting compaction tools below. This equipment is essential for foundation works and landscaping. We can supply wacker plates, reversible plate compactors, vibrating rollers, and trench rammers in the $placename area. Our quality range allows you to complete your job to the best possible standards.", "With a huge network of local, regional, and national tool hire suppliers, National Tools Hire Shops can supply wacker plate hire in $placename. Wherever you are living or working, we can deliver, or find a click and collect location, so that you are never stuck without the equipment you need.", "Our range of wacker plates are ideal for heavy-duty compaction works. We have a range of electric, diesel, and petrol-powered compactors available, with different base plate sizes, and more. Available from $placename depots, our whackers increase productivity and help you to achieve a high-quality finish. You can book for delivery or collect from a click and collect location.", "Looking to hire a vibrating compactor plate in $placename? You can hire easily online or over the phone, with National Tool Hire Shops. We can deliver the compactor when you need it, or we can find you a click and collect location. Make sure you book today.", "If you need to hire a wacker plate in $placename, you can book it online or over the phone with National Tool Hire Shops. Our hire rates are extremely competitive, and we can deliver a compactor to you whether you are in the trade on a large job, or an individual doing some DIY. Hire one of our high-quality compactor plates to get the job done properly.", "Looking for compaction plate rental in $placename? You can book a hire online or over the phone with National Tool Hire Shops. We can deliver it to site, or we can find a depot for click and collect. Our compactor plates are available for both DIY and trade users. Are availability is incredible and we offer better prices. Book today.", "Whether you are a trade customer or a private individual looking to do some DIY in the $placename area, we can supply wacker plate hire. As we use the hire catalogues of the UK's top tool hire suppliers, offering more availability and better prices.", "Renting a compactor plate with National Tool Hire Shops in $placename is easy. Take a look at our range below. We have vibrating plates, vibrating rollers, and trench rammers available. As we use the hire catalogues of the UK's top tool hire suppliers, we offer more availability and better prices. You can book and pay online for delivery or click and collect.", "You can rent concrete compactors with National Tool Hire Shops. We can deliver or find you a click and collect location in $placename. As we use the hire catalogues of the UK's top tool hire suppliers, we offer more availability and better prices. Book online today.", "Looking to rent a concrete compactor in $placename? Whether you need equipment for a DIY project or a professional job, we can supply. We provide equipment from more than 47 of the UK's regional and national suppliers, allowing us to offer excellent availability in the $placename area.", "For easy, great value wacker plate hire in the $placename area, you can book online or over the phone with National Tool Hire Shops. Our range includes professional standard whackers in a choice of sizes, including 320mm petrol, 400mm petrol, and 380mm electric. We also have petrol and diesel reversible plate compactors. You can use these machines to compact earth, sand & hardcore prior to laying a concrete slab, to ensure solid and long-lasting results.", "If you are looking to hire concrete compaction equipment in $placename, we can help. Our range includes wacker plates, vibrating rollers, and trench rammers in different sizes. We make everything easy to arrange online. You can book for delivery or click and collect near to you. We have more than 2,000 partner stores from over 47 UK regional and national suppliers. That makes us one of the largest tool hire companies available, and we provide our service right across the country.", "Concrete compactor hire in $placename is easy with National Tool Hire Shops. We supply wacker plates, vibrating rollers, and trench rammers from the UK’s top rated local, regional, and national suppliers. With our hire network, we can reliably offer high-demand equipment in busy areas, with excellent availability and even better prices. Book online today.", "We offer compacting equipment in the $placename area. We have various sizes and machines available, so no matter what the project is, we can supply the right product. We have 320mm (13in) up to 400mm (15.75in) petrol wacker plates. They are ideal for asphalt compaction, interlocking paving stones, compacting loose gravel, sand, and more. We also electric whackers, vibrating rollers, and trench rammers ready and waiting for your booking", "You can use compacting equipment when creating foundations that need solid, flat ground that’s ready for building. Renting a compactor plate in $placename is easy with National Tool Hire Shops! Our range includes vibrating plates in a range of sizes, concrete rollers, and trench rammers. You can book 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 "Wacker Plate 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_compactors'); 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;">Wacker Plate 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> Wacker Plate 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( "Gardening|Needed a compactor when doing our garden Im so glad we done this ourselves instead of paying someone else a fortune|James D", "Whacker Plate|This was a brill vibrating whacker plate exacly what we needed to get the job done quickly thanks to the driver for carrying it for my wife on delivery|Declan Walker", "Compacter|Needed a wacker plate for a job in $placename compacting soil wasn’t disappointed with the result cheers|stuart B", "Fantastic|Found this compacter affordable and easy to use I've wanted my garden sorting for years now it looks good as new|Mr Lee", "Time saver|This wacker plate saved me so much time and effort last week thanks to the delivery driver for reassuring me on how to use this kit much appreciated|Frank", "Great Compactor|Brill whacker plate compactor I used for a job in $placename last month would definitely use again saved a lot of unnecessary hassle|Gary Cowell", "Greenhouse Help|Needed a vibrating plate when doing our greenhouse a few weeks back this was easy to use and the job was done in no time|Sam Bailey", "Garden Pond|My wife wanted a new pond in our garden in time for summer thanks to this compactor we now have one we are both very happy with, thanks|Keith Rennie", "DIY Shed|Hired out this compactor when doing our garden shed saved a lot of time and a lot of money thank you|Dom Starkey", "Good Value|Best value for money in $placename thank you for a great service from start to finish|Christopher T", "Vibrating Plate|Needed a vibrating plate doing a DIY job on our drive made the job much easier with a few of us meant this was done in no time at all|Tom H", "Amazing Results|I hired a whacker plate after being advised by our workies laying our artificial grass, once arrived only took a matter of hours|Liz Bennett", "Vibrating Compactor|This compactor saved so much time and money last week and now our summer house is complete we are so looking forward to summer! Thanks!|Miles", "Vibrating Whacker Plate|So glad I managed to find a decent affordable compactor in $placename cheers guys|Patrick Jones", "Easy & Efficient|My husband said this was one of the most efficient vibrating whacker plates he's used, arrived very quickly too thanks|Lynette W", "Thanks Guys|Needed a compactor for a clients drive - service was brill from start to finish and the compactor was easy enough nice one!|Steven P", "Great|Would never go anywhere else now when looking for a compactor in $placename, life saver thank you|Chris J", "Compactor|My husband hired this after doing a search online in $placename I was pleasantly surprised and I was told it was easy to use|Sandra Grange", "compactor no issues!|It starts after 5 minutes ready to compact and is as good as when I previously hired it, cant fault any issues|Jimmy", "compactor crazy|For the price this is a great little tool to hire, was suprrised when we found this online, its helped widen my driveway & sorted my garden|Orla Mckee", "Compactor|a easy google search of compactors in $placename helped me and after a talk with the driver it was simple to use and got the job done|Andy Harrington", "Good Compactor|Good quality and good price, light enough to be maneuvored but heavy enough to compact, recommended|Timmy", "Perfectly perfect|Had a ton of hardcore to pack without this machine it would have took weeks but with this machine it took a weeks hire, perfect!!|Sam Hughes", "Happy Service|My grandfather was struggling with his garden so I found this in $placename to hire and helped him, quality was good and he was ecstatic with the finish|Jordan", "Good|Hire was fast on time in full I found it easy to use and im no handy guy, price was great for what was expected and over acheived|Taishi", "High quality|As a woman I thought id struggle but it was as easy as using a garden mower and now I feel like I can achieve anything, price was good|K.Wilson", "Compactor|I hired this from $placename wacker works well good guarantee and comes with everything you need, cant fault the customer service either|Robert", "Decent|The machines punched above its weight and went 6 hours none stop and helped me when mine broke, high quality|Jack Huston", "Wacker plate|Poweful enough for patio jobs and I thought it was easy but firm, would say it’s a job well done and in time for summer|zain", "Vibrating plate|fires up on the first pull. Works great and ideal for work in my drive and I now have one of the best front gardens in $placename|Karen", "Compactor plate|I hired this a few weeks ago for my back garden, it worked a delight & was easy to move, my neighbour also wanted to give it a go after seeing my garden|Declan Connor", "Ecstatic!!|As a landscape gardener I find it compact and easy to move with the wheels, I was a bit sceptical about the price but pleasantly surprised|George Whiston", "Wacker|Although this arrived a little late in the day I was informed by the driver when he was close by in $placename, for the price of the hire I couldnt complain|J.Wight", "Job complete|my expectations were exceeded when this product arrived on time, light weight and went smoothly across some hardcore stuff|Ryan", "Wacker|We wanted to hire this to sort out an area in the garden for the kids, my husband done a great job..but it was all down to the machine and the reliabilty|Lizzie Aldis", "Brill wacker|Brilliant wacker machine, hired in $placename for delivery. Had it dropped off and completed in two days. Really effiecent.|Jacob Morely", "Compactor|Super compactor, hired many of these over the years. This was easily one of the best, high qaulity ones. I have passed your details on!|Pascal N.", "Wacker|We have been hiring wackers for our jobs for years. We have never been let down by this company. Always up to scratch, always timely.|Dean", "320mm wacker|The lads on site have been raving about the products these guys hire out and now I know why. Brillant standard from you, thanks!|Peter h", "Compaction machine|Sourced this out to $placename using free delivery. Not only was it timely but the kit was outsanding! Jobs a gooden, thank team.|KHN", "400mm Compactor|I found it dificult to get a 400mm model of high standard anywhere. Fortunatly a mate put me onto you and this is an issue of the past.|Dwayne R", "Compactor plate|Me and my husband are new to this, I have only dealt with pleasant people and my husband tells me the kit is awesome! Good job!|Yolanda", "Good wacker|Wacker is very good. Works well for what I needed. I did not have single problem on this will be used again. Thanks for the help.|Bogdan", "Reversible Wacker|Lived in $placename for years, never have I seen this kit. Until now, to recieve the kit and for it to be in great condioton is a total bonus!|Laura s", "Quick and easy|Hired this for 48 hours, kit was superb and ended up finishing early with this. The team helped me off hire for quicker collection.|Linda Pearce", "Wonderful Wackers|I have been using you lot for some time, this review is over due. I have never had a bad hire with you, kit is always superb. Keep it up.|Dale", "First timer|Never used this kit in my life! It was simple to use and straight forward. Quick run down from the driver and I was away! Brill.|SJD", "Compaction plate|Our company in $placename have been using wackers for years. I wish we new about national tool hire all that time ago. Excellent qauilty.|Si", "Wacker plate|Needed one of these for our shed base. Spoke to the team, kit arrived the next day. I am almost sure it was brand new, amazing stuff.|Liam", "Wacker fun|First time I have had to do a job like this. Honestly found the whole thing fun! I would but it down to the machine being simple yet effective!|Bex S", "Tamper hire|Awesome stuff, can't go wrong using these guys. Great price, great team, great kit. What more could you want from a company? I will recommend.|Stephen Peters", "Vibratring plate|I would of been working for weeks if wasnt for this kit. So happy I hired this, had the hardcore compacted in days. Super service and kit, five star!|Joe Daws", "Excellent kit|I did not use this kit, however my builder told me to give a you a shining review as he was very impressed with it. He has said hell be using you from now on!|Beatrice", "Will hire again|Hired a 320mm wacker plate, kit arrived in a timely manner and was perfect for the job. Will use again.|Martin Dalton", "Perfect for the job|Used to compact sand on my drive, really happy with the fianl job. Worked well and was easy to use.|Jerome Heals", "Equipment needs|Quick delivery to $placename. Compactor was super easy use and in great condition. Would recommend.|Karl Anton", "DIY|Perfect for novice DIYers, the driver unloaded the compactor and showed me how to use it. Super pleased with the finish.|Hannah Ellis", "GOOD|Hired a wacker plate to finish my drive way off, managed to complete the job in one day. Real time saver, thanks Tool Hire.|Elliot Tand", "Good service|Hired a 400mm reversible wacker plate to $placename for 2 days. Happy with service & kit. Great hire service.|Sean Purvin", "Easy|No fuss, seamless service and good equipment. Wacker plate looked like new.|Daniel Murphy", "Wacker Plate|Phoned the team to book the equipment, very professional & helpful. The wacker plate was good and performed well.|Kevin Smart", "Simple to use|Delivered on time to $placename. No trouble hiring or using the equipment, strong compactor that worked well.|Alex Kent", "Friendly hire|Third time using National Tool Hire. Compactor was in good nic and made light work of site. Really happy with the service.|David.L", "Summer job|Brilliant for finishing my garden in time for summer. Will use again for any additional work.|Paul Denver", "Hired for builder|Hired a cement mixer & vibrating plate package for my builder, delivery to $placename. Cost effective kit and convenient service.|Mandy Addington", "Compactor|Paved my driveway using 380mm plate, pleased with the finish. Would recommend.|Anil Janis", "Couldn't fault|Hired for my daughters new home, good price considering the service and quality of kit. Will use for any future odd jobs.|John Arkle", "Excellent|Ordered a vibrating plate for delivery to $placename. Hire team were helpful organsing an extended hire. Excellent customer service.|Matt Smith", "10 out of 10|Good quality kit at affordable prices. Wacker plate was like new and worked well. Top notch!|Anna Denby", "Wacker Plate Hire|Levelled my patio in no time. Looks great!|H.Bromley", "Good Compactor|Hired a compactor for the yard in $placename, easy to manoeuvre and powerful performance. Quick job.|Matthew Lunt", "Paving|In $placename, Hired to lay my new drive, great size plate speed the job right up.|B Kniveton", "Fits in tight space|Easy to move it, as it was a tight space, did the job.|Mahammed Ali Ikbal", "Compator|2000 pound compressing force, great piece of kit. Highly effective|Bart Gorskski", "Compaction plate|Generated a really good vibration speed of 4550, and a great compaction force.|C Holt", "York Stone Deck|Easily adjustable handle, not as hard to use as I thought, will be hiring again for the back garden|Q Melling", "Up the hill|My garden is on a slope, but this bit of kit did the job, and fantastic hire advises, well informed team.|CK Tabern", "Wacker plate|Had this on hire for 6 month now cracking bit of kit highly recommended.|S Bilous", "Tamper|Hired though NTH, fantastic bit of kit, highly recommended|A. Needleton", "Compactor|Able to use on the block paving slabs with the rubber mat highly effective, professional finish.|S. Patel", "Verstile equipment|5 * will be using this company again, and great compression on variety of material and soil|T l Houghton", "Powerful|Great power not to heavy a vibration as was a large area to compact.|N Leming", "Excellent Wacker plate|Pounds compaction force excellent, great engine capacity 212CC|Jack Bridge", "Compactor|I used this myself, the driver gave clear instruction and hirer well informed, will hire again|K . Nicholson", "Plate Compactor|Really good, fuel effeicency, had on hire for big Job, the boys give it top marks|Hannah", "Top Driveway|Will be recommending, been doing drives for a while will use this company again.|Lesley Jenson", "Jobs a good 'un|Perfect plate size sped up the job, will be usiing this company again.|Tyler", "Hardcore laid|Great machine just great, lay the hardcore in half the time.|Builderboy 69", "Thanks NTH|Effective and efficent foundations done, amazing hire company to deal with thanks Steven.|SFoller" ); 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 ?> Wacker Plate 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 Wacker Plate 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/>Wacker Plate 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 Wacker Plate 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": "Wacker Plate 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": "254" } } </script>', 'CMS page', 'Wacker Plate 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 => 'ivybridge']) /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('/wacker-plate-hire/Ivybridge') /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