The Pyronix Enforcer wireless alarm system combines cutting edge
technology and ease of use with a wide range of accessories to make
one of the most advanced and comprehensive alarm systems available
today.
The alarm system can be expanded with a wide range of sensors
and detectors for physical and environmental detection all of which
feature advanced encrypted wireless technology and a long 2-year
battery life.
At the core of the system is the enforcer V11 panel which
includes a built-in Wi-Fi module for easy connection to the Pyronix
cloud and WPS functionality that enable new devices to be connected
quickly and easily. Connection to the Pyronix cloud enables
notifications and control of your alarm using the excellent
ProControl+ app. The app also allows you to add Pyronix Wi-Fi
cameras or monitor your Hikvision CCTV recorder all in one place
for a complete and easy to use security solution.
Whats Included in the Pyronix Enforcer Kit
3?
1 x Enforcer V11 wireless alarm
panel
4 x KX10DP-WE wireless pet immune
detectors
1 x wireless bell box module with
batteries
1 x MCNANO-WE Low Profile
Wireless Magnetic Contact
The Pyronix Enforcer kit 3 is an ideal starting point for larger
wireless alarm systems and represents a saving of over 30% off the
individual selling price of the parts included.
The kit includes a wireless magnetic door contact and 4 x pet
immune wireless motion sensors that use secure blue wave wireless
technology and have a long 2-year battery life. Also included is a
master V11 control panel with a built-in Wi-Fi communication module
and a wireless bell box module.
To complete the kit, you will need a base and lid for the bell
box in the colour of your choice.
The master control panel features a built-in keypad that can be
used for programming and arming / disarming your alarm.
Alternatively, you can add remote keyfobs, a remote keypad or use
the ProControl+ app for controlling your alarm system.
Key Features
V11 featuring built in Wi-Fi module, and WPS functionality
Compatible with Pyronix Android Tablet
Notification and control from the ProControl+ app
Secure wireless communication
Long 2-year battery life
Huge range of sensors and detectors available
Battery included
Enforcer Wireless Kit 3 contains:
1 x Enforcer V11 all in one two-way wireless panel with
built-in Wi-Fi module
4 x KX10DP-WE - wireless KX pet immune PIR detector 10m
range
1 x MCNANO-WE - Slimline Low Profile Wireless Magnetic
Contact
1 x DELTA/MOD-WE - wireless Deltabell module
YOU MIGHT ALSO NEED
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
SPECIFICATIONS
V11 Panel
Onboard/maximum zones
32/66
Onboard/maximum outputs
3/38
Areas (independent or level)
4
Arm/disarm methods
App, pin, prox or keyfob
User codes
80
- Guard/duress
2
System logs
750
Programmable automation types
30
Wireless devices (requires
ZEM32-WE*)
Onboard/maximum* zones
32/64
Keyfobs
32
Arming stations
4
Bells
2
Wired devices
Onboard/maximum zones
2/34
Onboard/maximum outputs
3/38
Maximum keypads
4 (including onboard)
Maximum readers
4 (including onboard)
Communication
Module compatibility
WIFI Built Onboard, DIGI-LAN, DIGI-GPRS+SIM, DIGI-GPRS,
DIGI-PSTN
App compatibility**
Yes
Push notifications**
Yes
Signalling protocols**
Contact ID IP, Contact ID, SIA IP, SIA3, Fast Format IP, Fast
Format and SMS
Technical
specification
Power supply onboard
~15.0VDC
- Maximum rating
0.7A
Panel current consumption
222mA - 75mA
Battery capacity
2200mAh
Other details
Operating temperature
-10ºC to +40ºC
Dimensions (W x H x D)
220 x 160 x 50mm
Weight
1025g inc. battery
Certifications
Security Grade 2
Environmental Class II
** App compatibility, push notifications and signalling protocol
options are dependent on the communication module.
* External websites provide additional content that supports the content on connectec.uk however the external Web site is subject to change and is beyond the control of Connectec Ltd. Connectec cannot guarantee the accuracy of content on external websites and does not endorse the information or products on any external websites. You will be subject to the external websites own privacy policy when you follow these links.
QUESTIONS AND ANSWERS
Get expert answers to questions specific to this product below or for more help visit our Q&A forum
If I were to install this as a diy project would I still be able to register the device for the app? Or do you have to be an approved installer to add it to the app and be able to keep subscribing each year?
(Luke Mumby )
This can be registered via the Pyronix app as a DIY user, no problem. The first year for this subscription is free, then is chargeable thereafter which is done directly with Pyronix.
(Callum )
Is the control panel battery or mains?
(Michael Hill )
The control panel is powered from the mains and has a built-in battery backup that is kept charged when the power is on.
(Nathan )
How do I check the siren batteries and how often do they need changing?
(Steve Palastanga )
The panel and App will notify you when the batteries are low but I would aim to replace the batteries at least every two years.
(Nathan )
Can this bell box be wired as well as wireless? I am moving into a house and don’t know if I will be able to cable to this just yet. Does this bell box offer both options?
(Jake )
The bell box module is wireless. You can run a power cable to it but you won't be able to wire it directly to the panel. The alarm panel does have a port which allows you to hardwire 1 device to it, so if you needed it to be wired, you could buy one of the wired bellbox modules to replace the wireless one.
(Neil Levett )
Does this system work with iPhones?
(Mr Shelton )
The Pyronix app is available on iOS and Android, so this will work on both platforms.
(Callum )
Does your system conform with EN50131 - grade 2.
(John Reidy )
Yes, this system meets the Grade 2 standards.
(Paul Jarvis )
How do you fix the PIR on the wall?
(Andreas Andrea )
You can fix directly through the back of the PIR either straight onto a flat wall or through the angled faces for corner mounting. See the guide below for more information.
https://cdn.connectec.uk/uploads/datasheets/kx10dpinstallationguide.pdf
(Nathan )
Does system comply with security alarm EN 50131 standard
(John Reidy )
Yes, this alarm complies with the below standards and is Grade 2
EN 62368-1:2014 + A11:2017 | EN 50131-1: 2006 + A1: 2009 +A2:2017 | EN 50131-3: 2009 | EN 50131-6: 2017 | EN 50131-5-3: 2017 | EN 50130-5: 2011 | EN 50130-4: 2011 + A1: 2014 | PD 6662: 2017
(Paul Jarvis )
In a previous question you were asked if the Enforcer V11 was compatible with the EUR-23 UK Premium Quality Tag and the reply was that the EUR-23 UK was a wired reader and would need wiring to the RS485 port. The features described on the Enforcer V11 control panel indicate that it has a Tag reader included, is this correct or would a separate tag reader be required to use this facility.
In the system I am configuring I would like a wired bell unit (preferably Deltabell X) this module appears to have its own unique bell box, why is it different to the other wired units the E and plus and could the standard bell box be used.
I would also prefer to have one wired dual tech sensor in my configuration as the area to be protected is external to the main building and separated by a solid wall, could this be connected directly to the enforcer control panel or would I need to include additional wired inputs.
(Anthony Lawton )
1. Yes, the Enforcer has a built-in proximity tag reader
2. The included Deltabell WE module is wireless module. The E, plus and X are all hard-wired modules. The hard-wired modules can be connected to the Enforcer if required.
3. There are 2 wired zones on the Enforcer panels for connecting wired devices like PIR's.
(Nathan )
How many sensor can attach to this alarm
Because I need 7 sensors
(Gill )
This panel accepts 32 wireless devices out of the box which can be a combination of detectors, keyfobs, keypads and bell boxes. This can be increased with the addition of expanders.
(Paul Jarvis )
Is this alarm NUD / NACOSS / SSAIB insurance approved?
(alistair haywood )
The Pyronix Enforcer meets grade 2 specifications and is approved by all major certification bodies when installed by an approved installer
(Nathan )
Is possible to hard wire the bell and panel so not to have to run off the mains and then off of the batteries in the event of power failure?
(J Richmond )
The bell module included in the kit 3 is battery only. If you purchase the kit 2 without the bell module however, you can add the Deltbell E, plus or X module separately, all of which can be hard wired and have a built-in battery backup. The Enforcer panel does have a dedicated wired bell output for this purpose.
(Nathan )
Does v11 have chime for entry zone
(Bobby )
Yes the V11 Enforcer supports an audible chime on an entry zone.
(Paul Jarvis )
Are there any allowances made for pets on these alarms? Specifically, a 4kg very adventurous cat.
(Sam Jones )
The Pyronix PIRs with a "P" in the model number (e.g., KX10DP) feature pet immunity to ignore small to medium sized dogs and cats. This is achieved by masking the lower part of the room so animals that climb onto furniture or can be seen walking upstairs may still be picked up by the detectors.
(Nathan )
What is the delay time on the enforcer when arming the system through the panel keypad? Can this be altered at all?
(Andrew Lynch )
Yes the exit and entry delay times for the different set modes can be altered for when you are arming/disarming via the keypad. You can also have different arm/disarm times for arming via the mobile app.
(Paul Jarvis )
Can more than one bell box be connected to the system (wired or wireless).
What is the signal range from the panel to devices (PIR & Bell box)?
(Brian McGowan )
A total of two wireless bells and two wired bells can be connected to the Enforcer system. Signal range to devices is approximately 300m in open space.
(Paul Jarvis )
Does this bell box light up at night?
(Andrew Lynch )
The wireless bell box does not light up at night, however a wired bell box, the deltabell x (10821) mod with light box (10818) does light up
(Rob Walley )
Does the Pyronix app used to monitor alarm connect to any HIK DVR ?
(Greg Wahl )
Yes the Pro-Control app can be used to monitor Hikvision equipment but the Home Control 2.0 supports only Pyronix alarms.
(Paul Jarvis )
Do I need an independent internet connection to run this system/sensors? Or does it generate its own wifi signalling? If it generates its own wifi signal is this secure for hacking?
Cheers
Nev
(Neville Bamforth )
Hi Neville,
The wireless system is a proprietary network that the alarm system generates for all of the associated addons. This is a secure network that switches frequency regularly and/or in the event of any kind of attempted jamming, which makes it secure and reliable.
Kind regards
(Callum )
What type of battery do you need as replacement for external sounder
(Thomas Anderson )
Good morning Thomas,
The required battery is the Pyronix BATT-ES1 which can be found here: https://connectec.uk/security/intruder-alarms/wireless-alarm-systems/pyronix-enforcer/pyronix-enforcer-batteries-and-spares/pyronix-batt-es1-single-deltabell-keypad-3-volt-lithium-battery
Kind regards
(Callum )
Hi I use these can you interface with other makes of DVR/NVR recorders please
(Alan Blackwell(AB ALARMS) )
This alarm does not support connectivity to other recorders but can be operated form the Hikvision CCTV mobile apps and well as the Pyronix apps
(Paul Jarvis )
Does this alarm meet EN50131 level 2?
(john moore )
The Enforcer panel meets the following standards
EN50131-1:2006+A1:2009
EN50131-3:2009
EN50131-6:2008
EN50131-5-3:2005+A1:2008
PD6662:2010
SG 2
EC II
(Paul Jarvis )
Does wireless external sounder can also be wired?
(Sp )
Yes, you can add a wired external sounder to a Pyronix Enforcer panel.
(Nathan )
Hi - why have you removed the manuals from the resources section? (Programming, communications etc.) They were really useful!
(Bob )
Pyronix raised security concerns with making these publicly available. They are now emailed automatically after a purchase or you can email [email protected] and we will send you any documentation you need.
(Nathan )
Hi can I add any wired components, keypad or siren as I have a wired connection to this already
(Richard )
There are 2 wired zones, an RS485 connection and a wired bell box output on the panel. You can also use the ZEM 8 expander to add another 8 wired zones.
(Nat )
Does this alarm so with the new V11 firmware now?
(Chris )
Yes all of our stock in the Kit3's are V11 versions now
(Paul Jarvis )
Does this alarm system include an internal and external alarm?
Is the the external alarm for outside the house the wireless bell box module with battery?
Is there an internal alarm for inside the house? If so, does the alarm noise come from the enforcer wireless alarm panel?
(Will )
The wireless bell box module is the external alarm (you will need a lid and base).
The panel also has a built-in sounder for an internal alarm.
(Nathan )
How many phone numbers can you link to the system for notification of alarm being set off?
(Joe Fairhall )
We are not aware of a limit to the number of shared devices for one panel. You can add the panel to several mobiles with the app installed.
(Paul Jarvis )
Does the system need phone line ,internet( Wi-Fi) or sim card
(Rohit Ga )
The Pyronix Enforcer can connect to WiFi if required for cloud/App connection although this is not required for standard offline usage.
(Paul )
Will this kit use my WiFi or does it require a cable from router?
Thanks
(Norman )
This Pyronix Enforcer panel has on board WiFi and will connect to your router wirelessly.
(Nat )
Hi. Is this kit easy to install? Does it come with installation guidance?
Thank you
(Atoosa )
This is a professional product designed to be installed by an alarm installer. If you have not installed anything similar I would recommend contacting an alarm installer.
(Nathan )
Are the batteries included for the bell box module
(Roland Bedford )
Yes, the kit includes all the required batteries
(Nathan )
Is the backup battery kept charged by the mains connection?
(Tom )
Yes, the mains supply continually charges the main panel backup battery.
(Nat )
Hi my kitchen alarm is low can u tell me what battery I need for the detector please thanks
(John lowe )
The Pyronix wireless PIR detectors take a 3 volt lithium CR123(A) battery.
(Paul )
What is the wireless range for this please.
I want to put a PIR sensor in the garage at the side of the house.
(Paul Goddard )
There is no specific range as such as wireless signals are significantly impacted by walls and objects blocking line of sight. If the panel is located centrally in the property, you should achieve good coverage on a typical 4-5 bedroom house. Please consider factors like wall construction and thickness.
(Paul Jarvis )
Can the control panel be used on battery ONLY ?
(Clare )
The panel requires mains power to operate without any faults. The battery is designed to offer a backup in instances of power loss.
(Paul Jarvis )
Hi, Will the ENF/KIT3-UK Alarm kit work with the MC1/SHOCK-WE, MCNANO-WE and EUR-023 UK Premium Quality Proximity tag.
(Eric )
Yes this panel will work with these accessories but the EUR-023 is a wired tag reader and will need to be hard wired to the RS485 on the panel.
(Paul Jarvis )
Hi does the control panel come with a back up battery thanks
(Kevin )
Yes, the control panel comes with a backup battery that is constantly charged by the mains supply.
(Nathan Owen )
Can the Enforcer control panel be plugged into the mains without any wiring
(Steve )
The panels has 230V mains terminals inside. You can either connect some flex with a plug or wire it directly into a fused spur.
(Nathan )
Can DIY fit this
(stephen king )
Although these panels have a very intuitive interface, if you have no prior experience of installing an alarm system, particularly a Pyronix one, you may find this difficult. We would always advise that you seek the services of a professional installer to ensure that the alarm is correctly installed.
(Paul Jarvis )
Will this work with a 4G router providing WiFi?
(Julian Guy )
Yes, the Pyronix cloud service uses peer to peer technology which means it will work over almost any Internet connection, including 4G, without needing router configuration.
(Nat )
Is the Bell Box module included in this kit the 2-way model? For anti jamming
(Kevin )
Yes, all of the current Enforcer wireless devices are twin channel when used with a new V10 panel.
(Nat )
Is there a back light on the bell box?
(Matt )
The wireless bell box module (DELTAMOD-WE) in the Enforcer kits has flashing comfort LED's but doesn't have a back-light.
(Nat )
Does this kit come with keyfobs?
(Shay )
No, the KIT3 doesn't include keyfobs.
(Paul )
Can you use the DIGI-GSM module as well as the wifi module so if phone line stops working it will then work with mobile network.
(Karl )
The Enforcer only supports one module. You could however use an external dialer as a backup
(Paul Jarvis )
You mentioned "optional subscription for the Pyronix Cloud for the app functionality". Does it mean without this subscription I can't control the system via app?
(Anna )
Correct. The Enforcer will work fine as a standalone alarm but the mobile app will require subscription to the cloud service which is free of charge for the first year and approx £36 per year thereafter.
(Paul Jarvis )
Are there any contracts or other ongoing charges
(mike )
There are no compulsory subscription charges but there is an optional subscription for the Pyronix Cloud for the app functionality . The first year is free and subsequent years can be paid for through the online portal.
(Paul Jarvis )
Are the batteries included for the sensors etc
(M Bird )
Yes the kit includes all the batteries required for the sensors and the backup battery for the panel.
(Nathan )
Is the bell box included with this kit?
(Stephen )
The kit includes the module for the bell box. You will need a base or lid which are available in a choice of colours.
(Paul )
Does the enforcer control panel need a 240 volt supply?
(Brenda Dunn )
Yes the control panel requires a permanent 240 volt supply. It has a backup battery which is included.
(Nat )
REVIEWS
Read customer reviews or submit your review of this product
Thanks for taking the time to review this product. Your feedback helps us improve our products and services as well as helping other users make informed buying decisions.
Very helpful staff
⭐
⭐
⭐
⭐
⭐
I recently bought a Pyronix Enforcer as a DIY installer. Amazingly easy to fit and pair the wireless devices. The booklets in the kit aren't as easy to understand as I thought so a phone call to Connectec was made on Saturday. Staff were extremely helpful with my problem of naming the wireless devices and connecting to the Pyronix Cloud. Definitely recommend
Author Barry Powell30/10/2018
4 people found this review helpfulVerified
Mrs
⭐
⭐
⭐
⭐
⭐
Good
Author Mary Anderson17/01/2021
2 people found this review helpful
Excellent
⭐
⭐
⭐
⭐
⭐
Long time user of Pyronix - First time buying from Connectec. Quick delivery, good price and I nice courtesy call to confirm I needed everything that I’d ordered. Will be using these again.
Author Mitchel Maclaren12/02/2020
3 people found this review helpfulVerified
This site uses cookies for essential website functions. You can choose to enable cookies that help us improve our services and promote relevant content to you.
For more information please see our Privacy Policy.
Array
(
[ALL] => Array
(
[0] => 03:34:19; PREPARED; MEMCACHE; __construct; SELECT * FROM ct_url_alias WHERE store_id = ? OR store_id = 0; 1
[1] => 03:34:19; PREPARED; MEMCACHE; index; SELECT * FROM ct_setting WHERE store_id = 0 OR store_id = ? ORDER BY store_id ASC; 1
[2] => 03:34:19; PREPARED; MEMCACHE; __construct; SELECT * FROM ct_customer_group WHERE customer_group_id = ?; 1
[3] => 03:34:19; PREPARED; MEMCACHE; getCustomerCatalog; SELECT cc.* FROM ct_customer_catalog_customer ccc LEFT JOIN ct_customer_catalog cc ON cc.customer_catalog_id = ccc.customer_catalog_id WHERE (ccc.customer_id = ? AND ccc.customer_id != 0) OR ccc.customer_group_id = ?; 0|1
[4] => 03:34:19; STANDARD; MEMCACHE; ModelLocalisationCurrency; getCurrencies; SELECT * FROM ct_currency WHERE status = 1 ORDER BY title ASC
[5] => 03:34:19; STANDARD; MEMCACHE; Cart\Currency; __construct; SELECT * FROM ct_currency
[6] => 03:34:19; PREPARED; 0.000753; Cart\Tax; setAddress; SELECT tr1.tax_class_id, tr2.tax_rate_id, tr2.name, tr2.rate, tr2.type, tr2.tax_rate_register FROM ct_tax_rule tr1 LEFT JOIN ct_tax_rate tr2 ON (tr1.tax_rate_id = tr2.tax_rate_id) LEFT JOIN ct_zone_to_geo_zone z2gz ON (tr2.geo_zone_id = z2gz.geo_zone_id) LEFT JOIN ct_geo_zone gz ON (tr2.geo_zone_id = gz.geo_zone_id) WHERE z2gz.country_id = ? AND z2gz.zone_id = ? AND tr2.tax_rate_register = ?; 222|11|0
[7] => 03:34:19; PREPARED; 0.000309; Tracking; getNewTracker; SELECT tracking_id FROM ct_tracking WHERE tracker = ?; 38c5f2485fb4193a718fd3846605d5e694764a58aa12a911c3ddbdc64093ae87
[8] => 03:34:19; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; security|
[9] => 03:34:19; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; intruder-alarms|
[10] => 03:34:19; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; wireless-alarm-systems|
[11] => 03:34:19; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; pyronix-enforcer|
[12] => 03:34:19; PREPARED; MEMCACHE; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; pyronix-enforcer-alarm-panels-and-kits|
[13] => 03:34:19; PREPARED; 0.000291; Url; getRedirect; SELECT * FROM ct_url_redirect WHERE source = ? AND path = ?; pyronix-enforcer-v11-wireless-intruder-alarm-kit-3-enf-kit3-uk|
[14] => 03:34:19; PREPARED; 0.001387; ModelCatalogProduct; getProduct; SELECT DISTINCT p.*, pav.available, pd.feature, pd.description, pd.specification, pd.tag, pd.meta_title, pd.meta_description, pd.product_note, IF(p.eol OR p.increment < 1, 1, p.increment) AS increment, IF(p.eol OR p.minimum < 1, 1, p.minimum) AS minimum, IF(p.eol, IF(p.maximum > 0, LEAST(pav.available, p.maximum), pav.available), IF(p.maximum > 0, p.maximum, 9999)) AS maximum, m.name AS manufacturer, m.image AS manufacturer_thumb, m.site AS manufacturer_site, m.support AS manufacturer_support, ss.name AS stock_status, ss.in_stock, ss.zero_checkout, COALESCE(AVG(r.rating), 0) AS rating, COUNT(DISTINCT r.review_id) AS reviews, p.sort_order , (SELECT GROUP_CONCAT(CONCAT(pv.variant_id, '|', pv.name)) FROM ct_product_variant pv WHERE pv.product_id = p.product_id GROUP BY pv.product_id ORDER BY pv.sort_order) AS variants FROM ct_product p LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id AND pav.store_id = 1 LEFT JOIN ct_review r ON (r.product_id = p.product_id AND r.status = '1') LEFT JOIN ct_stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN ct_product_description pd ON (p.product_id = pd.product_id) LEFT JOIN ct_manufacturer m ON (p.manufacturer_id = m.manufacturer_id) WHERE p.product_id = ?; 10759
[15] => 03:34:19; PREPARED; 0.000287; ModelCatalogProduct; getProductKit; SELECT * FROM ct_product_kit WHERE product_id = ?; 10759
[16] => 03:34:19; PREPARED; 0.000862; ModelCatalogProduct; getProductPrice; SELECT p.cost, p.tax_class_id, COALESCE(pr.markup, p.markup) AS markup, COALESCE(pr.login, p.login) AS login, COALESCE(pr.trade, p.trade) AS trade, p.rrp, p.points, COALESCE(pd.price, prd.price, 0) AS discount_price, COALESCE(pd.percent, prd.percent, 0) AS discount_percent, COALESCE(pd.markup, prd.markup, 0) AS discount_markup, COALESCE(pd.date_end, '') AS discount_end, COALESCE(pd.reason, prd.reason, '') AS discount_reason, COALESCE(pd.customer_group_id, prd.customer_group_id, 0) AS customer_group_id FROM ct_product p LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id LEFT JOIN ct_price_rule pr ON pr.price_rule_id = p.price_rule_id LEFT JOIN ct_price_rule_discount prd ON prd.price_rule_id = pr.price_rule_id AND ((prd.customer_id = ? OR prd.customer_id = 0) AND (prd.customer_group_id = 0 OR prd.customer_group_id = ? OR FIND_IN_SET(prd.customer_group_id, ?)) AND prd.quantity <= ?) LEFT JOIN ct_product_discount pd ON pd.product_id = p.product_id AND ((pd.customer_id = ? OR pd.customer_id = 0) AND (pd.customer_group_id = 0 OR pd.customer_group_id = ? OR FIND_IN_SET(pd.customer_group_id, ?)) AND ((pd.date_start = '0000-00-00' OR pd.date_start < NOW()) AND (pd.date_end = '0000-00-00' OR pd.date_end > NOW())) AND pd.quantity <= ? AND (pd.quantity_end = '' OR pav.available > pd.quantity_end)) WHERE p.product_id = ? ORDER BY prd.quantity DESC, pd.quantity DESC, prd.sort_order ASC, pd.sort_order ASC LIMIT 1; 0|1||1|0|1||1|10759
[17] => 03:34:19; PREPARED; 0.000469; ModelCatalogProduct; getProductPath; SELECT DISTINCT *, (SELECT GROUP_CONCAT(cp.path_id ORDER BY level SEPARATOR '_') FROM ct_category_path cp WHERE cp.category_id = p2c.category_id GROUP BY cp.category_id) AS path FROM ct_product_to_category p2c WHERE p2c.product_id = ? AND p2c.primary_category = 1 AND p2c.store_id = ?; 10759|1
[18] => 03:34:19; PREPARED; 0.000494; ModelCatalogProduct; getProductVariant; SELECT pv.variant_id, pv.name AS variant_name, p.sku, p.model, p.mpn, p.ean, p.tax_class_id, pav.available, ss.name AS stock_status, ss.in_stock FROM ct_product_variant pv LEFT JOIN ct_product p ON pv.variant_id = p.product_id LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id AND pav.store_id = ? LEFT JOIN ct_stock_status ss ON p.stock_status_id = ss.stock_status_id WHERE pv.product_id = ? AND p.status > 1 AND (p.eol = 0 OR pav.available > 0) AND p.date_available <= CURDATE() ORDER BY pv.sort_order ASC; 1|10759
[19] => 03:34:19; PREPARED; 0.000323; ModelCatalogProduct; getProductCountries; SELECT DISTINCT ztgz.country_id, c.iso_code_2, c.name FROM ct_product_geo_zone pgz LEFT JOIN ct_zone_to_geo_zone ztgz ON ztgz.geo_zone_id = pgz.geo_zone_id LEFT JOIN ct_country c ON c.country_id = ztgz.country_id WHERE pgz.product_id = ?; 10759
[20] => 03:34:19; PREPARED; 0.000271; ModelCatalogProduct; getProductCertifications; SELECT pc.*, c.name FROM ct_product_certification pc LEFT JOIN ct_certification c ON c.certification_id = pc.certification_id WHERE pc.product_id = ?; 10759
[21] => 03:34:19; PREPARED; 0.000611; ModelCatalogProduct; getAllProductUsed; SELECT pu.*, p.name AS name FROM ct_product_used pu LEFT JOIN ct_product p ON p.product_id = pu.product_id LEFT JOIN ct_product_to_category p2c ON p2c.product_id = pu.product_id AND p2c.primary_category = 1 AND p2c.store_id = ? WHERE pu.product_id = ? AND pu.quantity > 0 AND pu.price > 0 AND p2c.category_id IS NOT NULL; 1|10759
[22] => 03:34:19; PREPARED; 0.000463; ModelCatalogProduct; getProductOptions; SELECT * FROM ct_product_option WHERE product_id = ? ORDER BY sort_order ASC; 10759
[23] => 03:34:19; PREPARED; 0.000228; ModelCatalogProduct; getProductQtyDiscounts; SELECT p.price_rule_id FROM ct_product p WHERE p.product_id = ?; 10759
[24] => 03:34:19; PREPARED; 0.000335; ModelCatalogProduct; getProductQtyDiscounts; SELECT prd.*, '' AS date_start, '' AS date_end, '' AS quantity_end FROM ct_price_rule_discount prd WHERE prd.price_rule_id = ? AND (prd.customer_id = 0 OR prd.customer_id = ?) AND (prd.customer_group_id = 0 OR prd.customer_group_id = ?) AND prd.quantity > 1 ORDER BY prd.sort_order ASC; 41|0|1
[25] => 03:34:19; PREPARED; 0.000483; ModelCatalogProduct; getProductQtyDiscounts; SELECT pd.* FROM ct_product_discount pd LEFT JOIN ct_product p ON p.product_id = pd.product_id LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id AND pav.store_id = 1 WHERE pd.product_id = ? AND (pd.customer_id = 0 OR pd.customer_id = ?) AND (pd.customer_group_id = 0 OR pd.customer_group_id = ?) AND pd.quantity > 1 AND ((pd.date_start = '0000-00-00' OR pd.date_start < NOW()) AND (pd.date_end = '0000-00-00' OR pd.date_end > NOW())) AND (pd.quantity_end = '' OR pav.available > pd.quantity_end) ORDER BY pd.sort_order ASC; 10759|0|1
[26] => 03:34:19; PREPARED; 0.000501; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|b67aa3c4f1cf21b3edcdc80b31a3832f
[27] => 03:34:19; PREPARED; 0.001208; ModelCheckoutShippingMethod; getMethodsByAddress; SELECT sm.* FROM ct_shipping_method_geo_zone smgz LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = smgz.shipping_method_id LEFT JOIN ct_zone_to_geo_zone z2gz ON z2gz.geo_zone_id = smgz.geo_zone_id LEFT JOIN ct_zone z on z.zone_id = z2gz.zone_id WHERE FIND_IN_SET(?, stores) AND z2gz.country_id = ? AND (z2gz.zone_id = ? OR z2gz.zone_id = '0') AND sm.status = 1 AND sm.type = 'shipping' ORDER BY sm.sort_order ASC; 1|222|11
[28] => 03:34:19; PREPARED; 0.000284; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[29] => 03:34:19; PREPARED; 0.000281; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[30] => 03:34:19; PREPARED; 0.000797; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 2|2025-05-09
[31] => 03:34:19; PREPARED; 0.000296; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[32] => 03:34:19; PREPARED; 0.000289; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[33] => 03:34:19; PREPARED; 0.000374; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 3|2025-05-08
[34] => 03:34:19; PREPARED; 0.000273; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[35] => 03:34:19; PREPARED; 0.000252; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[36] => 03:34:19; PREPARED; 0.000349; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 1|2025-05-07
[37] => 03:34:19; PREPARED; 0.000245; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[38] => 03:34:19; PREPARED; 0.000280; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[39] => 03:34:19; PREPARED; 0.000388; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 16|2025-05-07
[40] => 03:34:19; PREPARED; 0.000249; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[41] => 03:34:19; PREPARED; 0.000282; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[42] => 03:34:19; PREPARED; 0.000348; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 17|2025-05-07
[43] => 03:34:19; PREPARED; 0.000254; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[44] => 03:34:19; PREPARED; 0.000252; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[45] => 03:34:19; PREPARED; 0.000299; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 18|2025-05-07
[46] => 03:34:19; STANDARD; MEMCACHE; ModelLocalisationCountry; getCountries; SELECT * FROM ct_country WHERE status = '1' ORDER BY name ASC
[47] => 03:34:19; STANDARD; MEMCACHE; ModelLocalisationZone; getZonesByCountryId; SELECT * FROM ct_zone WHERE country_id = '222' AND status = '1' ORDER BY name
[48] => 03:34:19; PREPARED; 0.001158; ModelCheckoutShippingMethod; getMethodsByAddress; SELECT sm.* FROM ct_shipping_method_geo_zone smgz LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = smgz.shipping_method_id LEFT JOIN ct_zone_to_geo_zone z2gz ON z2gz.geo_zone_id = smgz.geo_zone_id LEFT JOIN ct_zone z on z.zone_id = z2gz.zone_id WHERE FIND_IN_SET(?, stores) AND z2gz.country_id = ? AND (z2gz.zone_id = ? OR z2gz.zone_id = '0') AND sm.status = 1 AND sm.type = 'shipping' ORDER BY sm.sort_order ASC; 1|222|11
[49] => 03:34:19; PREPARED; 0.000288; ModelCheckoutOrder; getAddToNextOrders; SELECT DISTINCT o.order_id FROM ct_order_shipping_method osm LEFT JOIN ct_order o ON o.order_id = osm.order_id WHERE osm.type = 'add_to_order' AND o.add_to_order = 0 AND o.customer_id = ? AND o.customer_id != 0 AND o.shipping_postcode = ? AND o.order_status_id IN (?, ?); 0||4|5
[50] => 03:34:19; PREPARED; 0.000451; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|b67aa3c4f1cf21b3edcdc80b31a3832f
[51] => 03:34:19; PREPARED; 0.000308; Cart\Cart; getCountries; SELECT DISTINCT ztgz.country_id FROM ct_product_geo_zone pgz LEFT JOIN ct_zone_to_geo_zone ztgz ON ztgz.geo_zone_id = pgz.geo_zone_id WHERE pgz.product_id IN(?);
[52] => 03:34:19; PREPARED; 0.000457; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|b67aa3c4f1cf21b3edcdc80b31a3832f
[53] => 03:34:19; PREPARED; 0.000436; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|b67aa3c4f1cf21b3edcdc80b31a3832f
[54] => 03:34:19; PREPARED; 0.000250; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[55] => 03:34:19; PREPARED; 0.000231; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[56] => 03:34:19; PREPARED; 0.000322; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 2|2025-05-09
[57] => 03:34:19; PREPARED; 0.000272; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[58] => 03:34:19; PREPARED; 0.000260; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[59] => 03:34:19; PREPARED; 0.000238; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 2
[60] => 03:34:19; PREPARED; 0.000338; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 2|2025-05-09
[61] => 03:34:19; PREPARED; 0.000444; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|b67aa3c4f1cf21b3edcdc80b31a3832f
[62] => 03:34:19; PREPARED; 0.000307; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[63] => 03:34:19; PREPARED; 0.000242; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[64] => 03:34:19; PREPARED; 0.000364; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 3|2025-05-08
[65] => 03:34:19; PREPARED; 0.000290; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[66] => 03:34:19; PREPARED; 0.000223; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[67] => 03:34:19; PREPARED; 0.000253; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 3
[68] => 03:34:19; PREPARED; 0.000381; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 3|2025-05-08
[69] => 03:34:19; PREPARED; 0.000488; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|b67aa3c4f1cf21b3edcdc80b31a3832f
[70] => 03:34:19; PREPARED; 0.000256; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[71] => 03:34:19; PREPARED; 0.000238; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[72] => 03:34:19; PREPARED; 0.000370; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 1|2025-05-07
[73] => 03:34:19; PREPARED; 0.000263; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[74] => 03:34:19; PREPARED; 0.000234; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[75] => 03:34:19; PREPARED; 0.000256; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 1
[76] => 03:34:19; PREPARED; 0.000383; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 1|2025-05-07
[77] => 03:34:19; PREPARED; 0.000496; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|b67aa3c4f1cf21b3edcdc80b31a3832f
[78] => 03:34:19; PREPARED; 0.000297; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[79] => 03:34:19; PREPARED; 0.000252; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[80] => 03:34:19; PREPARED; 0.000382; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 16|2025-05-07
[81] => 03:34:19; PREPARED; 0.000248; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[82] => 03:34:19; PREPARED; 0.000264; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[83] => 03:34:19; PREPARED; 0.000240; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 16
[84] => 03:34:19; PREPARED; 0.000332; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 16|2025-05-07
[85] => 03:34:19; PREPARED; 0.000471; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|b67aa3c4f1cf21b3edcdc80b31a3832f
[86] => 03:34:19; PREPARED; 0.000282; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[87] => 03:34:19; PREPARED; 0.000246; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[88] => 03:34:19; PREPARED; 0.000367; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 17|2025-05-07
[89] => 03:34:19; PREPARED; 0.000290; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[90] => 03:34:19; PREPARED; 0.000250; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[91] => 03:34:19; PREPARED; 0.000292; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 17
[92] => 03:34:19; PREPARED; 0.000347; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 17|2025-05-07
[93] => 03:34:19; PREPARED; 0.000446; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|b67aa3c4f1cf21b3edcdc80b31a3832f
[94] => 03:34:19; PREPARED; 0.000258; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[95] => 03:34:19; PREPARED; 0.000251; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[96] => 03:34:19; PREPARED; 0.000319; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 18|2025-05-07
[97] => 03:34:19; PREPARED; 0.000299; Cart\Shipping; getArrivalDates; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[98] => 03:34:19; PREPARED; 0.000243; Cart\Shipping; getArrivalDate; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[99] => 03:34:19; PREPARED; 0.000244; Cart\Shipping; getTotalShipments; SELECT * FROM ct_shipping_method WHERE shipping_method_id = ?; 18
[100] => 03:34:19; PREPARED; 0.000317; Cart\Shipping; getTotalShipments; SELECT COUNT(DISTINCT order_id) AS total FROM ct_order_shipping_method osm LEFT JOIN ct_shipping_method sm ON sm.shipping_method_id = osm.shipping_method_id WHERE osm.shipping_method_id = ? AND osm.arrival_date = ?; 18|2025-05-07
[101] => 03:34:19; PREPARED; 0.000467; Cart\Cart; getProducts; SELECT c.*, pit.name AS product_inventory_type, pit.name AS type, pit.add_to_stock, pi.quantity AS product_inventory_quantity FROM ct_cart c LEFT JOIN ct_product_inventory pi ON pi.product_inventory_type_id = c.product_inventory_type_id AND pi.product_id = c.product_id LEFT JOIN ct_product_inventory_type pit ON pit.product_inventory_type_id = c.product_inventory_type_id WHERE c.api_id = ? AND c.customer_id = ? AND c.directory_id = ? AND c.session_id = ? ORDER BY c.sort_order ASC; 0|0|0|b67aa3c4f1cf21b3edcdc80b31a3832f
[102] => 03:34:19; STANDARD; MEMCACHE; ModelCatalogInformation; getInformation; SELECT DISTINCT * FROM ct_information i LEFT JOIN ct_information_description id ON (i.information_id = id.information_id) WHERE i.information_id = 12 AND i.status = 1
[103] => 03:34:19; PREPARED; 0.002146; ModelCatalogProduct; getProductOnOrder; SELECT ip.inventory_id, s.name AS supplier, (ip.ordered - ip.received) AS ordered, ip.date_due, i.product_inventory_type_id FROM ct_inventory_product ip LEFT JOIN ct_inventory i ON i.inventory_id = ip.inventory_id LEFT JOIN ct_supplier s ON s.supplier_id = i.supplier_id WHERE ip.ordered > ip.received AND ip.product_id = ? AND i.direct = '' ORDER BY ip.date_due ASC; 10759
[104] => 03:34:19; PREPARED; 0.000301; html; processLinks; SELECT status, parent_id FROM ct_product WHERE product_id = ?; 10804
[105] => 03:34:19; PREPARED; 0.000447; html; processLinks; SELECT COALESCE((SELECT GROUP_CONCAT(cp.path_id ORDER BY level SEPARATOR '_') FROM ct_category_path cp WHERE cp.category_id = p2c.category_id GROUP BY cp.category_id), '') AS path FROM ct_product_to_category p2c WHERE p2c.product_id = ? AND primary_category = 1; 10804
[106] => 03:34:19; PREPARED; 0.000228; html; processLinks; SELECT status, parent_id FROM ct_product WHERE product_id = ?; 10811
[107] => 03:34:19; PREPARED; 0.000351; html; processLinks; SELECT COALESCE((SELECT GROUP_CONCAT(cp.path_id ORDER BY level SEPARATOR '_') FROM ct_category_path cp WHERE cp.category_id = p2c.category_id GROUP BY cp.category_id), '') AS path FROM ct_product_to_category p2c WHERE p2c.product_id = ? AND primary_category = 1; 10811
[108] => 03:34:19; PREPARED; 0.000327; ModelCatalogProduct; getProductImages; SELECT * FROM ct_product_image WHERE product_id = ? ORDER BY sort_order ASC; 10759
[109] => 03:34:19; PREPARED; 0.000312; ModelCatalogProduct; getProductVideos; SELECT name, youtube_id FROM ct_product_video WHERE product_id = ? ORDER BY sort_order ASC; 10759
[110] => 03:34:19; PREPARED; 0.000481; ModelCatalogVideo; getVideos; SELECT DISTINCT v.* FROM ct_video v LEFT JOIN ct_video_keyword vk ON v.video_id = vk.video_id WHERE 1 AND (LOCATE(vk.keyword, ?) > 0 OR vk.keyword IS NULL) AND (manufacturer_id = ? OR manufacturer_id = 0) ORDER BY v.name ASC; Pyronix Enforcer V11 Wireless Intruder Alarm Kit 3 (ENF/KIT3-UK) alarm,intruder,pyronics,v10,version 10,version 11|75
[111] => 03:34:19; PREPARED; 0.000304; ModelCatalogProduct; getProductFiles; SELECT * FROM ct_product_file WHERE product_id = ? AND online = 1 ORDER BY sort_order ASC; 10759
[112] => 03:34:19; PREPARED; 0.000426; ModelCatalogProduct; getProductLinks; SELECT text, link FROM ct_product_link WHERE product_id = ? ORDER BY sort_order ASC; 10759
[113] => 03:34:19; PREPARED; 0.001001; ModelCatalogQuestion; getQuestions; SELECT q.question_id, q.reply_to, q.customer_id, q.author, q.text, q.date_added, c.firstname FROM ct_question q LEFT JOIN ct_customer c ON (c.customer_id = q.customer_id) WHERE q.product_id = ? AND q.status = '1' ORDER BY q.date_added DESC; 10759
[114] => 03:34:19; PREPARED; 0.002464; ModelCatalogProduct; getProductAddon; SELECT p.*, pa.addon_id, (SELECT GROUP_CONCAT(pv.variant_id SEPARATOR ',') FROM ct_product_variant pv WHERE pv.product_id = p.product_id GROUP BY pv.product_id ORDER BY pv.sort_order) AS variants FROM ct_product_addon pa LEFT JOIN ct_product p ON pa.addon_id = p.product_id LEFT JOIN ct_product_available pav ON pav.product_id = p.product_id AND pav.store_id = 1 LEFT JOIN ct_product_to_category p2c ON p2c.product_id = p.product_id AND p2c.primary_category = 1 AND p2c.store_id = ? WHERE pa.product_id = ? AND p.status > 1 AND p.date_available <= CURDATE() AND (p.eol = 0 OR pav.available > 0) AND p2c.category_id IS NOT NULL ORDER BY pa.sort_order ASC; 1|10759
[115] => 03:34:19; PREPARED; 0.001404; ModelCatalogProduct; getRelatedProducts; SELECT p2c.product_id FROM ct_product_to_category p2c LEFT JOIN ct_product p ON p.product_id = p2c.product_id WHERE p2c.category_id = (SELECT category_id FROM ct_product_to_category WHERE product_id = ? AND primary_category = 1 AND store_id = ?) AND p2c.product_id != ? AND p2c.store_id = ? AND p2c.primary_category = 1 AND p.eol = 0 AND p.status = 2 LIMIT 10; 10759|1|10759|1
[116] => 03:34:19; PREPARED; 0.000672; ModelCatalogReview; getProductRating; SELECT COALESCE(AVG(r.rating), 0) AS rating, COUNT(DISTINCT r.review_id) AS reviews FROM ct_review r WHERE r.product_id = ? AND r.status = '1'; 10759
[117] => 03:34:19; PREPARED; 0.000718; ModelCatalogReview; getReviewsByProductId; SELECT * FROM ct_review WHERE product_id = ? AND status = 1 ORDER BY helpful = 0, (((helpful +1) / (unhelpful +1)) * 100) DESC, helpful DESC, date_added DESC LIMIT 3; 10759
[118] => 03:34:19; PREPARED; 0.000516; ModelCatalogReview; reviewedBy; SELECT customer_id FROM ct_review WHERE product_id = ? AND customer_id = ?; 10759|0
[119] => 03:34:19; PREPARED; 0.000754; ModelCatalogProduct; getProductPath; SELECT DISTINCT *, (SELECT GROUP_CONCAT(cp.path_id ORDER BY level SEPARATOR '_') FROM ct_category_path cp WHERE cp.category_id = p2c.category_id GROUP BY cp.category_id) AS path FROM ct_product_to_category p2c WHERE p2c.product_id = ? AND p2c.primary_category = 1 AND p2c.store_id = ?; 10759|1
[120] => 03:34:19; PREPARED; 0.000487; ModelAccountFavourites; getFavourites; SELECT * FROM ct_customer_favourites WHERE customer_id = ?; 0
[121] => 03:34:19; PREPARED; 0.003041; ModelCatalogProduct; updateViewed; UPDATE ct_product SET viewed = (viewed + 1) WHERE product_id = ?; 10759
[122] => 03:34:19; PREPARED; 0.000378; Tracking; track; SELECT customer_id FROM ct_customer WHERE tracker = ?; 38c5f2485fb4193a718fd3846605d5e694764a58aa12a911c3ddbdc64093ae87
[123] => 03:34:19; PREPARED; 0.002557; Tracking; track; INSERT INTO ct_tracking SET tracker = ?, ip_address = ?, agent = ?, session_id = ?, customer_id = ?, referer = ?, url = ?, event_label = ?, event_value = ?, date_added = DATE(NOW()), time_added = TIME(NOW()); 38c5f2485fb4193a718fd3846605d5e694764a58aa12a911c3ddbdc64093ae87|18.191.171.58|Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])|b67aa3c4f1cf21b3edcdc80b31a3832f|0||/security/intruder-alarms/wireless-alarm-systems/pyronix-enforcer/pyronix-enforcer-alarm-panels-and-kits/pyronix-enforcer-v11-wireless-intruder-alarm-kit-3-enf-kit3-uk|view_product|10759
[124] => 03:34:19; PREPARED; 0.000515; ModelCatalogReview; getReviewsByProductId; SELECT * FROM ct_review WHERE product_id = ? AND status = 1 ORDER BY helpful = 0, (((helpful +1) / (unhelpful +1)) * 100) DESC, helpful DESC, date_added DESC LIMIT 1; 10759
[125] => 03:34:19; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; why_buy|1
[126] => 03:34:19; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_qa_text|1
[127] => 03:34:19; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_review_text|1
[128] => 03:34:19; PREPARED; MEMCACHE; getHtmlBlock; SELECT * FROM ct_html_block WHERE code = ? AND store_id = ?; product_links_disclaimer|1
)
[DUPLIACTES] => Array
(
)
[TOTAL_EXECUTION_TIME] => 0.0527985096
)