Jump to content



Member Since 08 Nov 2008
Offline Last Active Jul 06 2020 08:34 PM

Topics I've Started

Ez Common Addon Issue

21 April 2020 - 05:01 PM

Last night we had a "fat finger experience" where a problem went out for distribution unintentionally.


If you are experiencing an issue with the ez_common addon, please contact us vie phone, email or the contact-us link on our website and we'll get you taken care of as quickly as possible.


Alternatively, you can extract this archive into the root of your store and it will address the issue:



Automated upgrades are a two-edged sword.  When it works, it works great for both provider and consumer and no one notices.  However, when an issue erupts, it gets distributed far and wide and all hell breaks loose at once.  Kinda like a virus!


Stay safe and we apologize for any inconvenience this may have caused.

Addon: Ez Admin Helper - Added Functionality

19 December 2019 - 10:21 PM

We have included several of our smaller addons into EZ Admin Helper.  This makes it the most robust admin extension for cs-cart.


We've added the following optional features:

+ cost based pricing/reporting  (import product cost and optionally set price based on cost, see profit by product/ordert)

+ Order status history (changes shown by date/user)

+ Abandoned cart details (adds last page customer viewed to abandoned cart page).

+ Bulk order status change (change multiple orders to common status).

+ Stock History (stock changes by date/user)

+ Log Email (outbound email logging by ‘To’ and  ‘Subject’)


Any/all of these functions can be enabled/disabled separately.


Other existing functionality includes:

+ Force all customers to change password on next login

+ Set admin URL

All the standard "cron style" actions remain such as

- Clear cache

- Clear template cache

- Clear thumb cache

- Clear logs (preserve number of days - default 30)

- Clear carts (preserve number of days - default 30)

- Backup site

- Optimize database

- Backup database

- Update currencies (3 different providers to choose from)

- Monitor files (see what files have changed on your site - provides for excluded directories)

- Check detailed images (cleans up the images/images_links tables for consistency)

- Check security intrusions (about 12 different known intrusions are checked for)

- Sync orders and users (associate anonymous users to newer accounts)

- Archive orders (archive orders to corresponding archive tables - good annual practice)

Documentation is located here.

Product detail page is here.

Marketplace product page is here.


Existing customers of EZ Admin Helper should be updated automatically in the next few days.  If you don't get updated or want to force an update now, use this parameter to your admin url


Any conflicting addons  will be uninstalled (new embedded functionality versus stand-alone addon) and you can select which to enable in either the addon settings or from the main EZ Admin manage page.


Main Screenshot:


Speed Up Query

23 November 2019 - 01:11 AM

The following filter query takes 50 seconds on a dedicated server with tons of ram and cpu.

I've made mysqld adjustments so that temp tables are in memory (not to disk) and it still takes 50 seconds.


The filter is looking for products that match 2 features:

122 - 36 associated variants

93 - 1776 associated variants


I have verified that all the JOIN references are indexed, etc.


This is a version 4.7 cs-cart but I don't see any difference running it in a 4.9.3 environment.


Any thoughts on how to get this to perform?

SELECT cscart_product_filters.filter_id, cscart_product_features_values.variant_id 
FROM cscart_product_features_values 
LEFT JOIN cscart_products as products ON products.product_id = cscart_product_features_values.product_id 
LEFT JOIN cscart_product_filters ON cscart_product_filters.feature_id = cscart_product_features_values.feature_id
LEFT JOIN cscart_product_features ON cscart_product_features.feature_id = cscart_product_features_values.feature_id 
LEFT JOIN cscart_product_options_inventory as inventory ON inventory.product_id = products.product_id 
INNER JOIN cscart_products_categories as products_categories ON products_categories.product_id = products.product_id 
INNER JOIN cscart_categories ON cscart_categories.category_id = products_categories.category_id AND (cscart_categories.usergroup_ids = '' OR FIND_IN_SET(0, cscart_categories.usergroup_ids) OR FIND_IN_SET(1, cscart_categories.usergroup_ids)) AND cscart_categories.status IN ('A', 'H') 
LEFT JOIN cscart_supplier_links ON cscart_supplier_links.object_id = products.product_id AND cscart_supplier_links.object_type = 'P' 
LEFT JOIN cscart_product_popularity as popularity ON popularity.product_id = products.product_id 
LEFT JOIN cscart_product_sales as product_sales ON product_sales.product_id = products.product_id 
LEFT JOIN cscart_product_features_values as var_val_122 ON var_val_122.product_id = products.product_id AND var_val_122.lang_code = 'en' AND var_val_122.feature_id = 122 
LEFT JOIN cscart_product_features_values as var_val_93 ON var_val_93.product_id = products.product_id AND var_val_93.lang_code = 'en' AND var_val_93.feature_id = 93 
WHERE cscart_product_filters.filter_id IN (36, 37, 32) AND cscart_product_features_values.feature_id IN (122, 93, 102) AND cscart_product_features_values.lang_code = 'en' AND cscart_categories.category_id IN (1) AND cscart_categories.company_id = 1 AND (products.usergroup_ids = '' OR FIND_IN_SET(0, products.usergroup_ids) OR FIND_IN_SET(1, products.usergroup_ids)) AND products.status IN ('A') AND ((var_val_122.variant_id IN (12995) AND var_val_93.variant_id IN (12844) AND cscart_product_features_values.feature_id NOT IN (122, 93)) OR (var_val_93.variant_id IN (12844) AND cscart_product_features_values.feature_id = 122) OR (var_val_122.variant_id IN (12995) AND cscart_product_features_values.feature_id = 93)) AND cscart_product_features.feature_type IN ('S', 'M', 'E') GROUP BY cscart_product_features_values.variant_id

Refresh Tabs On Product Option Change

07 November 2019 - 01:45 AM

Is there a way to refresh a tab that is based on a block when a product option is changed?

I have data that is based on product_code for display.  But when a product_option is displayed, the block is not redrawn.


I have a html/smarty block that has code to display data based on what the product code of the product is.  If page is loaded with ABC-S (small) if I change the option to large, the product_code changes to ABC-L but the block is not re-rendered so it can pick up the data for the correct product code.


Is there a block option or something else I can do to have it re-rendered when the product options are changed?

Data-* Attributes In Html

16 September 2019 - 07:22 PM

Can anyone provide a pointer to any documentation that lists all the data* attributes by name, any values they may have and/or the behavior of each?


There's no documentation I can find on this other than how to set a link to submit a form.




"true" or "false"

Determines whether to save the values when the value changes.  Will "GET" the data to controller=checkout, mode=customer_info


From what I can see, there may be 10's or 100's of these with various meanings and definitions.   A simple presence should indicate 'true" and absence indicates "false"


Sure be nice if developer documenation was available BEFORE a release or at least at the time of release!  Grr...