Products' Options' Stock Manager (POSM)

Version 4.2.4, supporting Zen Cart versions v1.5.5e and later

Copyright © 2014-2021, Vinos de Frutas Tropicales, contact me here. Current Support Thread on github: https://github.com/lat9/options_stock_support; click here to access the plugin's product page.


Starting with v4.1.1, the majority of the POSM documentation has been moved on-line, reducing the "footprint" of the plugin's distribution.


Notes:

  1. Starting with v1.4.1, a fresh installation of this plugin will update your database so that all product quantities are greater than or equal to 0.
  2. Products whose individual option-combinations (a.k.a variants) are managed by POSM must have their Product Qty Min/Unit Mixed value set to "No" in their product-edit screen, especially when your store's Configuration->Stock->Allow Checkout is set to false. For POSM versions prior to v1.5.9, this requires manual edit; for version 1.6.0 and later, the admin-level initialization script enforces this setting.
  3. POSM has been designed to work hand-in-hand with Edit Orders, maintaining your store's option-combinations' stock levels during the editing process. Starting with v2.2.0 of POSM, the changes to EO are no longer part of the POSM distribution. Instead, the POSM admin-level installation checks to see if EO is configured and, if so, that the Edit Orders plugin version is at least 4.1.7. If an incompatibility is detected, an admin-level warning will be displayed until the issue is resolved.
  4. Starting with v2.3.0, an additional configuration setting is provided to enable POSM to check that any back-in-stock dates you've configured aren't within their expiration "window". If any such dates are found, an admin-level warning is displayed. See the Customization tab for details.
  5. Not supported for stores using templates purchased from either Template Monster or Theme Forest.
  6. Starting with v4.0.0:
    1. The minimum Zen Cart base requirement is now v1.5.5e. The POSM distribution has been modified so that many of the plugin's required core/template changes are assumed to be in your Zen Cart base code. If you're still running an earlier Zen Cart version and are performing an initial install, please contact me to request a previous version of POSM. Upgrading from a prior version is still possible, since the required notifications and/or processing were previously installed!
    2. This release also assumes that your active template has loaded a jQuery version greater than or equal to 1.12.1 in its HTML-header processing and that your base Zen Cart admin code is loading a version of jQuery.
    3. POSM v4.1.1 requires notifier additions to an additional core-file. Please refer to the "Installation" (purchased version only) and "Change History" tabs for additional information.
  7. Starting with v4.2.0, Zen Cart 1.5.7 is also supported with no core-file overwrites!

This plugin provides a method for you to assign stock levels for your products based on product-attribute combinations. For example, if you sell T-shirts with sizes of Small, Medium and Large, this plugin enables you to specify that there are 3-Small, 4-Medium and 2-Large currently in stock — and then manages those stock levels for you. That's the easy part, what if you have a product that has three (3) options:

  1. Size: Small, Medium and Large
  2. Color: Black, White, Red, Blue and Pink
  3. Trim-color: Black, White, Red, Blue and Pink

You don't actually stock all 75 option-combinations for this product, just a select subset. The Products' Options' Stock Manager (POSM) allows you to choose which option-combinations you actually stock and want to manage. Each managed option can be configured to have a unique Model/SKU and a customized out-of-stock message. If you choose, managed products with multiple options are handled as dependent attributes!

Starting with v1.4.0, a tool is provided to enable shops that currently use the Zen Cart Stock by Attributes (SBA) plugin to convert their SBA database records into their POSM equivalents. See Extras->Convert SBA to POSM for more information.

Additional documentation can be found on-line:

  1. Storefront Displays
  2. Configuration Options
  3. Other Admin Tools
  4. DbIo Handlers

This section identifies the processes you'll use to initially install POSM, update an existing POSM installation or uninstall POSM entirely. There's also a section that identifies the database changes made by the plugin's installation.

The details of this section are provided when you purchase the plugin.

The details of this section are provided when you purchase the plugin.

The details of this section are provided when you purchase the plugin.

On the first admin-page access after the plugin's files have been copied, the plugin's auto-loaded installation script:

  1. Creates three new tables in your database:
    1. products_options_stock — provides the mapping of a product and attribute-combination to that attribute-combination's stock-level and (optional) model/SKU number.
    2. products_options_stock_attributes — contains the detailed attribute-combinations being managed.
    3. products_options_stock_names — contains the out-of-stock labels used by the plugin.
  2. Increases the maximum field length of the products_name field of the orders_products table to be at least 128 characters. POSM uses this extra space to append its in-/out-of-stock messages which are required for the plugin to maintain accurate stock levels when orders are changed and/or deleted within your Zen Cart admin.
  3. Creates the configuration settings for the plugin, accessible via Configuration->Options' Stock Manager.
  4. Registers the admin pages for Catalog->Manage Options' Stock, Catalog->Options' Stock — View All, Localization->Out-of-Stock Labels, Tools->POSM: Find Duplicate Models and Extras->Convert SBA to POSM.
  5. Forces the following built-in Zen Cart Configuration->Stock settings to values required for this plugin's proper operation:
    1. Subtract stocktrue
  6. Updates the products table so that all products_quantity values are greater than or equal to zero (0). (v1.4.1 and later)
Table: products_options_stock
Field Name Field Type Field Description
pos_id int(11) AUTO_INCREMENT The automatically-incrementing, unique ID associated with this product options' stock combination.
products_id int(11) The products_id value (an index into the products table) that is associated with this options' stock combination.
pos_name_id int(11) The pos_name_id value (an index into the products_options_stock_names table) that is associated with this options-stock combination's out-of-stock "label"
products_quantity float The quantity on-hand of the products' options' stock combination.
pos_hash char(32) The MD5 hash of the products_id and options_id/options_values_id values that uniquely defines this options-stock combination.
pos_model varchar(32) If not an empty value, contains the model/SKU associated with this products' options' stock combination.
pos_date date If the products' out-of-stock label, referenced by pos_name_id contains the date-insertion tag [date], this date (formatted using the zen_date_short function) is inserted in that tag's place.
last_modified datetime The date/time that the record was last modified.
Table: products_options_stock_attributes
Field Name Field Type Field Description
pos_attribute_id int(11) AUTO_INCREMENT The automatically-incrementing, unique ID associated with this product options' stock attribute record.
pos_id int(11) The pos_id value (an index into the products_options_stock table) that is associated with this options' stock name/value pair.
products_id int(11) The products_id value (an index into the products or products_options_stock tables) that is associated with this options' stock name/value pair.
options_id int(11) The index into the products_attributes or products_options table that is associated with the options' stock name for this pair.
options_values_id int(11) The index into the products_attributes or products_options_values table that is associated with the options' stock value for this pair.
Table: products_options_stock_names
Field Name Field Type Field Description
pos_name_id int(11) This calculated value, along with the associated language_id, provides the index to this record.
language_id int(11) This value, along with the associated pos_name_id, provides the index to this record.
pos_name varchar(64) This language-specific value identifies one of the out-of-stock messages used by the Products' Options' Stock Manager. If the value contains the date-insertion tag [date], the out-of-stock date customized for a specific option-stock combination will be inserted in the tag's place.

The Products' Options' Stock Manager appends each ordered product's in-/out-of-stock messages in the products_name field within your database's orders_products table. This information is used by POSM when you are administrating those orders to ensure that the associated product's option-combination quantities are properly maintained.

If your store chooses to not display these messages, but you have plugins that also perform order-related tasks … those stock messages might still be displayed by those plugins:

  1. If the plugin makes use of the Zen Cart "order" class, POSM's admin-level observer "watches" for this class' instantiation and automatically removes the stock messages from the order-object's products' names.
  2. If the plugin gathers the order-related information directly from the database, then the stock messages will still be appended to the end of the products' names — unless you make the following code-change! Starting with v2.1.5 of POSM, the admin-level observer provides a function that can be used by any caller to remove those messages. You'll use a PHP statement similar to:

    $products_name = $posObserver->stripStockMessage($products_name);

    wherever that other plugin is dealing with an order's products' names. Don't forget to declare the $posObserver object as global if the plugin's product-name manipulation occurs within a function!

    Note: Updating an ordered product's name in the database and removing POSM's stock message will have unwanted consequences, as any update to the associated order will no longer be able to track the product-variant's stock level.

This section contains the plugin's version-history and an association of files changed in each version.

  • 4.2.4, 2021-02-21:
    1. BUGFIX: Processing disabled during admin; PHP notices generated (missing overall 'enabled' flag).
    2. BUGFIX: Correct PHP error when using dependent attributes on zc158.
    3. INTROP: PHP 8.1 interopertion, modifying $GLOBALS usage.
  • 4.2.3, 2021-01-17:
    1. BUGFIX: Correct PHP Notice issued by the observer's 'debug_message' method when POSM is disabled.
    2. BUGFIX: Ensure no storefront processing if disabled via configuration.
    3. BUGFIX: Correct PHP notice when checkboxes aren't optional but included when adding a product to the cart.
  • 4.2.2, 2020-11-17:
    1. BUGFIX: POSM: Find Duplicate Models, correct strict MySQL fatal error due to fields missing from the GROUP BY clause.
    2. BUGFIX: POSM: Find Duplicate Models, correcting back-link to the Options' Stock Manager and the gathering of the duplications.
    3. CHANGE: Add notification when a managed option is inserted (POSM_MAIN_OPTION_INSERTED).
    4. BUGFIX: Reference correct php.ini setting ('max_input_vars', was 'max_input_size').
    5. BUGFIX: Correct misleading message on product update when an attribute has been removed from the product, but not from POSM.
  • 4.2.1, 2020-08-29:
    1. BUGFIX: Correct sprintf format for admin-issued message.
    2. BUGFIX: Correct attributes' sort when all attributes have the same sort-order.
    3. BUGFIX: Performance, add indices to tables and restructure duplicate-model's query.
    4. BUGFIX: Correct calculation on product's name/stock-message 'overflow'.
    5. CHANGE: Future-proofing, zen_db_output to be deprecated.
    6. BUGFIX: Active product 'lost' when changing options' sort-order.
  • 4.2.0, 2020-07-05:
    1. BUGFIX: Ensure that the configuration is set before used by the admin/storefront observers.
    2. BUGFIX: Correct jQuery error on add-to-cart for first-group radio-buttons with no default.
    3. ZC-157: Language files now loaded via class method; need to globalize $db.
    4. ZC-157: Correct dependent-attributes' handling when a wrapper surrounds each attribute's rendering.
  • 4.1.5, 2020-06-06:
    1. BUGFIX: Bring unselected option into customer's view on Add-to-cart button click.
    2. BUGFIX: MySQL error when editing/saving an empty (i.e. '') out-of-stock "name".
      • Note: The get_pos_oos_name function now returns (bool)false instead of an empty string when an out-of-stock name is not found.
    3. BUGFIX: Ensure that a unique option-value- and product-attribute sort-order is applied during OptionsStockFull DbIo imports.
  • 4.1.4, 2020-04-26:
    1. BUGFIX: Correct PHP notice during "add_cart" processing.
    2. CHANGE: Make the admin observer's getInStockMessage method publically available, supporting site-specific integrations.
  • 4.1.3, 2020-02-27:
    1. BUGFIX: Correct PHP error when deleting POSM-managed attributes.
  • 4.1.2, 2020-01-15:
    1. BUGFIX: Remove unwanted changes from core-file.
    2. BUGFIX: Correct 'broken' link from products' listing to options' stock manager.
  • 4.1.1, 2020-01-08:
    1. BUGFIX: Correct MySQL error on advanced_search_results page when sub-categories are included.
    2. BUGFIX: Correct PHP error (missing function) on an initial install.
    3. BUGFIX: Correct "View All" page, can't update model numbers.
    4. BUGFIX: Copy managed options' records when a product (or its options) are duplicated. Note: Core-file changes again required; the distribution has been slightly restructured to make those changes more clear.
    5. CHANGE: The majority of POSM's documentation has been moved on-line, reducing the size of this distribution.
  • 4.1.0, 2019-12-19:
    1. BUGFIX: Correct PHP notice, concatenating to uninitialized value.
    2. CHANGE: Use default sort-order during installation; set numeric database fields to integers.
    3. BUGFIX: Ensure that numeric database fields' defaults are, in fact, integer values.
    4. CHANGE: Add notifications, enabling store-specific customizations without alteration to the "core" POSM files.
    5. CHANGE: Don't display the Out of Stock Date column if no stock label includes dates, to increase the on-screen real-estate.
    6. BUGFIX: Displayed product's model and quantity header-display can get out-of-sync.
    7. BUGFIX: Use of undefined constant when deleting an out-of-stock label.
    8. CHANGE: Update admin tools to use HTML5; no more in-line styles or 'onclicks'.
    9. BUGFIX: Correct MySQL error, generated when all managed options are removed from a product.
    10. BUGFIX: Correct invalid HTML in product-selection drop-down, when a product's name includes an ampersand.
    11. CHANGE: Use exactly-equal-to comparisons, given that many variables are 'mixed' types.
    12. CHANGE: Provide a checkbox, enabling the base product's model number to pre-fill option-specific models.
    13. BUGFIX: Dependent-attributes, don't add extra blank to stock message if no 'extra_info'.
    14. CHANGE: Add "Please select" as the first/default choice for the categories' drop-down menu.
  • 4.0.3, 2019-04-06:
    1. BUGFIX: In-stock products show [] when Include In-Stock Status is set to false.
    2. BUGFIX: Restore "public" access to the stripStockMessage admin method, as described in the readme.
  • 4.0.2, 2019-01-10:
    1. BUGFIX: Missing admin language constants and update copyright information.
    2. BUGFIX: Missing POSM icon on zc155 admin products' listing page.
  • 4.0.1, 2019-01-05:
    1. CHANGE: Readme-only update! The core-file changes required by POSM are now included in Zen Cart 1.5.6a and later; no more core-file overwrites for that and future versions of POSM!
  • 4.0.0, 2019-01-03:
    1. CHANGE: Add support for Zen Cart v1.5.6. This change removes the changes required to many core- and template-override files; be sure to review the "Upgrade Instructions" in this document!
    2. BUGFIX: jQuery error when an out-of-stock name includes a single-quote.
    3. CHANGE: Split admin-installation to reduce "base" memory requirements.
    4. BUGFIX: Sanitize numeric values and character lengths for database insertion or update.
    5. CHANGE: Add configuration setting to enable the display of product model-numbers on the shopping-cart page.
    6. BUGFIX: Check for missing variables on submit, due to a store's max_input_vars or post_max_size limitations.
  • 3.1.2, 2018-02-01:
    1. BUGFIX: Correct SQL error on initial install.
  • 3.1.1, 2018-01-31:
    1. BUGFIX: Correct interaction with Attribute Image Swapper.
    2. BUGFIX: Include correction (see line#175) to /includes/functions/functions_lookups.php, as provided in the Zen Cart 1.5.5f release.
  • 3.1.0, 2017-12-30:
    1. BUGFIX: Overall product-quantity not correctly updated when multiple option-combinations of the same base product are purchased in the same order.
    2. CHANGE: Catalog->Manage Options' Stock performance improvements for stores with "large" numbers of products and/or options.
    3. BUGFIX: Modify duplicate-model SQL query for performance improvement.
    4. CHANGE: Defer installation or upgrade until an admin is logged in.
    5. BUGFIX: Code modified to remove use of deprecated PHP each() function.
    6. BUGFIX: Create valid HTML when appending dependent-attributes' information to select-style attributes.
  • 3.0.1, 2017-10-20:
    1. BUGFIX: Correct product-quantity updates on Customers->Orders, order removal.
    2. BUGFIX: Pull in corrected jscript_framework.php (based on One-Page Checkout changes.
  • 3.0.0, 2017-09-06:
    1. BUGFIX: Correct PHP notify issue under PHP 7.1 or later.
    2. BUGFIX: MySQL 5.7+: Correct SQL queries that resulted in "Expression xx of SELECT list is not in GROUP BY clause" errors.
    3. BUGFIX: MySQL 5.7+: Correct SQL queires that resulted in "ORDER BY clause is not in SELECT list" errors.
    4. CHANGE: Include template-override files associated with the responsive_classic template, too.
    5. CHANGE: Update the plugin's SQL queries to use explicit rather than implicit joins … as future-proofing!
    6. BUGFIX: Correct admin tools' CSS attribute selectors.
    7. CHANGE: The minimum Zen Cart version now supported is v1.5.5b. Core-file changes are reduced as most of the prior changes now use built-in notifiers.
  • 2.3.2, 2017-04-25:
    1. BUGFIX: IE and Safari don't support hiding HTML select options.
  • 2.3.1, 2017-04-24:
    1. BUGFIX: Correct the case where an on-page javascript error allowed unconfigured (i.e. invalid) option-combinations to be added to the cart.
  • 2.3.0, 2017-03-01:
    1. CHANGE: Add a configuration setting, enabling POSM to notify you of any back-in-stock dates that might be near their "expiration".
  • 2.2.0, 2017-01-05:
    1. CHANGE: Enable the import/export of your store's POSM (and POSM-PW, too) products' settings via the Database I/O Manager.
    2. CHANGE: Disable interface error logs, but provide method to re-enable them, if needed.
    3. CHANGE: Remove Edit Orders function file from this distribution; check for proper EO version instead.
    4. BUGFIX: Correct support for PayPal Standard payment method.
  • 2.1.8, 2016-08-28:
    1. CHANGE: Enhance on-screen instructions, identifying the need to properly set options' and attributes' sort-orders.
    2. CHANGE: Add an AJAX interface for POSM extensions (like Products' Options' Stock Manager — Price/Weight) to "extend" their dependent-options' handling.
    3. CHANGE: Add a configuration setting to allow stores to control the width of a managed-product's Option Model/SKU input fields.
    4. BUGFIX: Load the base plugin's observer one-tick earlier than the price/weight extension to work around the OS-dependent load-order used by /includes/initsystem.php.
    5. CHANGE: Update "Please Choose" handling to provide "First Choose ..." and "Next Choose ..." guidance.
    6. BUGFIX: Initialization not ensuring that Configuration->Stock>Subtract stock is set to "true".
    7. BUGFIX: Disable SQL cache when determining the next-available sort-order for the plugin's admin-page additions.
  • 2.1.7, 2016-08-21:
    1. BUGFIX: Unwanted de-selection of default attribute choice when the product has a single option.
    2. BUGFIX: Missing .htaccess from the /docs folder.
  • 2.1.6, 2016-07-05:
    1. BUGFIX: Correct select/unselect all handling for the "Remove" button.
    2. BUGFIX: Update tpl_account_history_info_default.php to use Zen Cart 1.5.5a as its change-basis.
    3. BUGFIX: Use jQuery prop instead of attr or removeAttr when manipulating checked and selected properties.
    4. BUGFIX: Correct interoperability issue with Attribute Image Swapper.
    5. CHANGE: Update AJAX log handling.
  • 2.1.5, 2016-05-19:
    1. BUGFIX: Dependent Attributes: Reset disabled options from previous selection.
    2. BUGFIX: Stock labels not removed from products' names when using Edit Orders.
    3. BUGFIX: Model numbers not updated when adding/updating a product using Edit Orders.
    4. CHANGE: Update most core-files to use Zen Cart v1.5.5a as their change-basis; /YOUR_ADMIN/orders.php is still on a Zen Cart v1.5.4 base.
    5. CHANGE: Enable sort by model-number within Catalog->Manage Options' Stock and Catalog->Options' Stock - View All tools.
    6. CHANGE: Provide a helper-function to support admin-level integration of other plugins.
  • v2.1.4, 2016-04-03:
    1. CHANGE: Update core-file base to released version of Zen Cart v1.5.5 (2016-03-29).
    2. BUGFIX: Correct split-page handling in the "View All" tool.
    3. BUGFIX: Correct "Can't change the case of the model-number" within the "View All" tool.
    4. CHANGE: Modify some of the debug-output.
    5. CHANGE: Display the product's base model-number in the Catalog->Manage Options' Stock tool.
  • v2.1.3, 2015-12-26:
    1. CHANGE: Update core-file base to Zen Cart v1.5.5.
  • v2.1.2, 2015-11-29:
    1. BUGFIX: Incorporate Zen-Cart security patches, see this posting.
    2. CHANGE: Added the section entitled Upgrading an Existing POSM Installation to this document.
  • v2.1.1, 2015-10-16:
    1. BUGFIX: Correct UTF-8 sequence in AJAX calls introduced in v2.1.0; it broke the dependent-attributes handling.
    2. BUGFIX: Correct HTML validation error and alt-text constant in Tools->POSM: Find Duplicate Models.
  • v2.1.0, 2015-09-27:
    1. BUGFIX: Fix UTF-8 sequence in AJAX calls, see this Zen Cart posting for details.
    2. CHANGE: Use trigger_error instead of error_log to report POSM interface issues.
    3. CHANGE: Added Tools->POSM: Find Duplicate Models.
    4. CHANGE: Updated Catalog->Manage Options' Stock and the "View All" tool to report duplicate model numbers.
    5. BUGFIX: Correct incorrect in-stock message for unmanaged products with insufficient stock when using "Edit Orders".
    6. CHANGE: The "View All" tool can now be accessed directly from the admin menu: Catalog->Options Stock — View All
  • v2.0.1, 2015-08-31:
    1. BUGFIX: Correct "View All" display; unwanted -1"> displayed.
    2. BUGFIX: Added View All: Maximum Products/Page. Installations with a "large" number of products and/or options could fail when trying to Update.
  • v2.0.0, 2015-06-02:
    1. BUGFIX: Improper handling of POSM-managed products with text attributes.
    2. CHANGE: Updates (mostly the addition of notifiers) to allow POSM extensions to "plug in".
  • v1.6.2, 2015-05-22:
    1. BUGFIX: Out-of-stock combination can be added to cart.
    2. BUGFIX: Attribute images don't line up.
    3. BUGFIX: Database error when product's name includes quotes.
  • v1.6.1, 2015-05-01:
    1. CHANGE: Allow store-owners more control over where the in- and out-of-stock messages are displayed.
    2. CHANGE: Allow options' stock model numbers to be edited via "View All".
    3. BUGFIX: Correct database error when editing order.
    4. BUGFIX: "View All" button not displayed until a POSM product is selected.
    5. BUGFIX: Correct "View All" log on unmanaged product variant.
    6. BUGFIX: Remove unwanted debug log from "View All" tool.
    7. BUGFIX: Correct edit_orders processing.
    8. BUGFIX: Correct language for "View All" page.
    9. BUGFIX: Correct validation errors in dependent-attributes' jQuery script.
    10. BUGFIX: Correct unwanted Zen Cart low-stock emails when a managed product's overall quantity is reduced to 0.
  • v1.6.0, 2015-04-25:
    1. CHANGE: Remove the restriction that Configuration->Stock->Show Sold Out Image Instead of Add to Cart be set to 0.
    2. CHANGE: Highlight products with out-of-stock variants in the products' drop-down menu in the Catalog->Manage Options' Stock tool.
    3. CHANGE: Added a "View All" page, where you can mass-set products' variants' quantities.
    4. BUGFIX: Ensure that a POSM-managed product's products_quantity_mixed flag is set to 0, disabling "mixed variant" checking in the cart and order processing.
    5. BUGFIX: Correct processing when Configuration->Stock>Allow Checkout is set to "false".
    6. BUGFIX: Remove unwanted (and duplicated) configuration value in Configuration->Stock.
    7. BUGFIX: Honor the Configuration->E-mail Options->Send Low Stock Emails setting.
    8. BUGFIX: Restore the POSM model search functionality.
    9. BUGFIX: Correct sort-order of options' values within Catalog->Manage Options' Stock.
  • v1.5.8, 2015-04-21:
    1. BUGFIX: Revert change made in v1.5.2 to include POSM model number in search, while I investigate a proper solution.
  • v1.5.7, 2015-04-14:
    1. CHANGE: Add a configuration setting to allow stores to enable/disable the store-side options' stock processing.
    2. BUGFIX: Debug-log created when a POSM-managed product was "Call for Price".
    3. BUGFIX: Correct dependent-options processing for radio-buttons and the various Attribute Style values.
  • v1.5.6, 2015-04-03:
    1. CHANGE: Add a configuration setting to allow stores to indicate whether or not to display the in-stock counts within the dependent attributes' processing.
    2. CHANGE: Don't enable the dependent attributes' jQuery script if the current product includes an Attribute Image Swatch attribute.
  • v1.5.5, 2015-03-20:
    1. BUGFIX: The dependent-options' jQuery script was not including the quantity value for any in-stock option combinations.
    2. BUGFIX: Update dependent-options' processing to properly not display unconfigured option combinations.
    3. CHANGE: Include a minified version of the dependencies jQuery script, saving roughly 6Kb in the page-load.
    4. CHANGE: Modify the display of the Catalog->Categories/Products listing, aligning the options' stock icon.
  • v1.5.4, 2015-03-06:
    1. BUGFIX: The dependent-options' jQuery script was being loaded on non-product pages, resulting in unwanted debug-log files.
    2. CHANGE: Add debug information to the dependent-options' ajax calls, to aid in problem determination.
  • v1.5.3, 2015-01-27:
    1. BUGFIX: Correct uninstall SQL.
    2. BUGFIX: Can't add first dropdown option to the cart if the dropdown is a product's single managed-option.
    3. CHANGE: Allow HTML tags in out-of-stock labels to be properly rendered.
    4. CHANGE: Remove unused file (/includes/templates/YOUR_TEMPLATE/jscript/jquery.min.js) from this plugin's distribution.
  • v1.5.2, 2015-01-23:
    1. BUGFIX: The Extras->Convert SBA to POSM tool was not registered in the admin-level menu.
    2. BUGFIX: Correct HTML validation errors on the Catalog->Manage Options' Stock page.
    3. BUGFIX: The Extras->Convert SBA to POSM tool was not properly detecting missing products and/or attributes present in the products_with_attributes_stock table.
    4. BUGFIX: When a product has only one managed option and dependent-attributes are enabled, the option's default value was being cleared.
    5. CHANGE: Added configuration values to allow you to further refine which option-types and/or option-names participate in determining a POSM-managed product's in-stock status.
    6. CHANGE: Include options'-stock model numbers in store-side search.
  • v1.5.1, 2015-01-11:
    1. BUGFIX: Correct validation errors, per forum bugfix.
    2. BUGFIX: Dependent options don't work properly on IE versions 9 and earlier.
    3. CHANGE: Include the source code for Tools->Products' Options' Sales Report.
  • v1.5.0, 2015-01-01:
    1. CHANGE: Update core-file base to Zen Cart v1.5.4.
    2. CHANGE: Remove the unmodified file /YOUR_ADMIN/options_name_manager.php
  • v1.4.1, 2014-12-06:
    1. BUGFIX: Correct validation errors.
    2. BUGFIX: Correct PHP Notify issues.
    3. BUGFIX: Don't send low-stock emails for unmanaged option-combinations when the overall product's quantity drops below the built-in Zen Cart threshold.
    4. BUGFIX: Debug-log generated when a managed option-combination is out-of-stock.
    5. BUGFIX: Shopping-cart page multiple POSM out-of-stock messages when Configuration->Stock->Check Stock Level is true.
    6. BUGFIX: Remove hard-coded language text from Products' Options' Stock Manager admin tool.
    7. BUGFIX: 'Mixed' (i.e. 1 In stock, 1 Back-ordered) stock messages weren't being properly handled.
    8. BUGFIX: More specificity needed for CSS selectors.
    9. BUGFIX: Dependent options; unmanaged options not selectable.
    10. CHANGE: Add capability to sort products by either model number or name within Catalog->Manage Options' Stock.
    11. CHANGE: Lengthen out-of-stock labels' input fields.
    12. BUGFIX: "Convert" any negative products' stock quantities to 0.
  • v1.4.0, 2014-11-16:
    1. BUGFIX: Wrong parameter order on strpos for store-side observer class.
    2. BUGFIX: Code artifacts remain in a couple of modules.
    3. CHANGE: Add a script to enable the conversion of an existing Stock by Attributes (SBA) installation.
    4. BUGFIX: Correct validation errors.
    5. BUGFIX: In-/out-of-stock message not displayed when the only/last managed option uses a radio-button.
    6. CHANGE: Enable styling of unvisited button links — added the :link selector to the admin-level scripts.
    7. CHANGE: Enable a store to override the CSS selector that contains each individual product attribute group.
  • v1.3.1, 2014-10-30: Initial public release.

Legend for the File Changes: Changed — AddedRemovedCore FileTemplate-Override

Version Files Changed/Added Database Changes
v4.2.4
  1. /includes/classes/ajax/zcAjaxOptionsStockDependencies.php
  2. /includes/classes/observers/class.products_options_stock_observer.php
  3. /YOUR_ADMIN/products_options_stock.php
  4. /YOUR_ADMIN/includes/classes/dbio/DbIoOptionsStockBase.php
  5. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  6. /YOUR_ADMIN/includes/functions/extra_functions/products_options_stock_functions.php
  7. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  8. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
v4.2.3
  1. /includes/classes/observers/class.products_options_stock_observer.php
  2. /includes/init_includes/init_posm_product_valid.php
  3. /includes/functions/products_options_stock_functions.php
  4. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v4.2.2
  1. /YOUR_ADMIN/products_options_stock.php
  2. /YOUR_ADMIN/tools_posm_find_duplicate_modelnums.php
  3. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  4. /YOUR_ADMIN/includes/languages/english/tools_posm_find_duplicate_modelnums.php
  5. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v4.2.1
  1. /includes/classes/observers/class.products_options_stock_observer.php
  2. /YOUR_ADMIN/products_options_stock.php
  3. /YOUR_ADMIN/includes/classes/PosmViewAll.php
  4. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  5. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  6. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  7. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin_update.php
  8. /YOUR_ADMIN/includes/functions/extra_functions/products_options_stock_functions.php
  1. Added indices to products_options_stock_attributes on the 'pos_id', 'options_id' and 'options_values_id' fields.
  2. Added an index to products_options_stock::pos_model.
v4.2.0
  1. /includes/classes/ajax/zcAjaxOptionsStockDependencies.php
  2. /includes/classes/observers/class.products_options_stock_observer.php
  3. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  4. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  5. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  6. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  7. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  8. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  9. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin_update.php
  1. Added Configuration->Options' Stock Manager->Dependent Options: Outer Selector
  2. Added Configuration->Options' Stock Manager->Dependent Options: Option Name Selector
  3. Added Configuration->Options' Stock Manager->Dependent Options: Attributes' Images' Selector
  4. Renamed Configuration->Options' Stock Manager->Dependent Options: CSS Selector to Dependent Options: Inner Selector.
v4.1.5
  1. /includes/classes/observers/class.products_options_stock_observer.php
  2. /includes/functions/products_options_stock_functions.php
  3. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  4. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  5. /YOUR_ADMIN/products_options_stock_names.php
  6. /YOUR_ADMIN/includes/classes/dbio/DbIoOptionsStockBase.php
  7. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  8. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v4.1.4
  1. /includes/init_includes/init_posm_product_valid.php
  2. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  3. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v4.1.3
  1. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  2. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v4.1.2
  1. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  2. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  3. /zc156/YOUR_ADMIN/includes/functions/general.php (Copy only for zc156+ stores)
v4.1.1
  1. /includes/classes/observers/class.products_options_stock_observer.php
  2. /includes/functions/functions_lookups.php (Moved to the zc155 and zc156 sub-directories)
  3. /YOUR_ADMIN/category_product_listing.php (Moved to the zc156 sub-directory)
  4. /YOUR_ADMIN/products_options_stock_view_all.php
  5. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  6. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  7. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin_update.php
  8. /YOUR_ADMIN/includes/languages/english/extra_definitions/products_options_stock_menu_names.php
  9. /YOUR_ADMIN/includes/modules/category_product_listing.php (Moved to the zc155 sub-directory)
  10. /zc155/includes/functions/functions_lookups.php (Moved here from /includes/functions)
  11. /zc155/YOUR_ADMIN/includes/functions/general.php (Copy only for zc155e/zc155f stores)
  12. /zc155/YOUR_ADMIN/includes/modules/category_product_listing.php (Moved here from /YOUR_ADMIN/includes/modules)
  13. /zc156/includes/functions/functions_lookups.php (Moved here from /includes/functions)
  14. /zc156/YOUR_ADMIN/includes/functions/general.php (Copy only for zc156 stores)
  15. /zc156/YOUR_ADMIN/category_product_listing.php (Moved here from /YOUR_ADMIN, this is the zc156c version of the file)
v4.1.0
  1. /includes/classes/observers/class.products_options_stock_observer.php
  2. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  3. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  4. /YOUR_ADMIN/products_options_sales_report.php
  5. /YOUR_ADMIN/products_options_stock.php
  6. /YOUR_ADMIN/products_options_stock_names.php
  7. /YOUR_ADMIN/products_options_stock_view_all.php
  8. /YOUR_ADMIN/includes/classes/PosmSalesReport.php
  9. /YOUR_ADMIN/includes/classes/PosmViewAll.php
  10. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  11. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  12. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin_install.php
  13. /YOUR_ADMIN/includes/languages/english/products_options_sales_report.php
  14. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
v4.0.3
  1. /includes/classes/observers/class.products_options_stock_observer.php
  2. /includes/modules/pages/account_history_info/header_php_options_stock.php
  3. /includes/modules/pages/checkout_success/header_php_options_stock.php
  4. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  5. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  6. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  7. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v4.0.2
  1. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  2. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  3. /YOUR_ADMIN/includes/languages/english/products_options_stock_view_all.php
  4. /YOUR_ADMIN/includes/modules/category_product_listing.php (Not required for zc156 and later)
v4.0.1
  1. /includes/functions/functions_lookups.php (Not required for zc156a and later)
  2. /YOUR_ADMIN/category_product_listing.php (Not required for zc156a and later)
v4.0.0
  1. /includes/classes/observers/class.products_options_stock_observer.php
  2. /includes/functions/functions_lookups.php
  3. /includes/functions/products_options_stock_functions.php
  4. /includes/languages/extra_definitions/products_options_stock_extra_definitions.php
  5. /includes/modules/pages/account_history_info/header_php_options_stock.php
  6. /includes/modules/pages/checkout_confirmation/header_php_options_stock.php
  7. /includes/modules/pages/checkout_success/header_php_options_stock.php
  8. /includes/modules/pages/shopping_cart/header_php_options_stock.php
  9. /includes/templates/YOUR_RC_CLONE/css/stylesheet_options_stock.css
  10. /includes/templates/YOUR_RC_CLONE/css/style_options_stock.css
  11. /includes/templates/YOUR_RC_CLONE/jscript/jquery.posm_dependencies.js
  12. /includes/templates/YOUR_RC_CLONE/jscript/jquery.posm_dependencies.min.js
  13. /includes/templates/YOUR_RC_CLONE/jscript/jscript_framework.php
  14. /includes/templates/YOUR_RC_CLONE/jscript/jscript_posm_dependencies.php
  15. /includes/templates/YOUR_RC_CLONE/templates/tpl_account_history_info_default.php
  16. /includes/templates/YOUR_RC_CLONE/templates/tpl_checkout_confirmation_default.php
  17. /includes/templates/YOUR_RC_CLONE/templates/tpl_shopping_cart_default.php
  18. /includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php
  19. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  20. /includes/templates/YOUR_TEMPLATE/templates/tpl_account_history_info_default.php
  21. /includes/templates/YOUR_TEMPLATE/templates/tpl_checkout_confirmation_default.php
  22. /includes/templates/YOUR_TEMPLATE/templates/tpl_shopping_cart_default.php
  23. /YOUR_ADMIN/category_product_listing.php (Added for zc156+)
  24. /YOUR_ADMIN/invoice.php
  25. /YOUR_ADMIN/packingslip.php
  26. /YOUR_ADMIN/products_options_stock.php
  27. /YOUR_ADMIN/products_options_stock_names.php
  28. /YOUR_ADMIN/products_options_stock_view_all.php
  29. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  30. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  31. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin_install.php
  32. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin_update.php
  33. /YOUR_ADMIN/includes/languages/english/extra_definitions/products_options_stock_menu_names.php
  34. /YOUR_ADMIN/includes/languages/english/products_options_stock_names.php
  35. /YOUR_ADMIN/includes/modules/category_product_listing.php
  1. Added Configuration->Options' Stock Manager->Shopping Cart: Display Model Numbers?
v3.1.2
  1. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v3.1.1
  1. /includes/init_includes/init_posm_product_valid.php
  2. /includes/functions/functions_lookups.php
  3. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v3.1.0
  1. /includes/classes/observers/class.products_options_stock_observer.php
  2. /includes/functions/products_options_stock_functions.php
  3. /includes/templates/YOUR_RC_CLONE/jscript/jquery.posm_dependencies.js
  4. /includes/templates/YOUR_RC_CLONE/jscript/jquery.posm_dependencies.min.js
  5. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  6. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  7. /YOUR_ADMIN/products_options_stock.php
  8. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  9. /YOUR_ADMIN/includes/functions/extra_functions/products_options_stock_functions.php
  10. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  11. /YOUR_ADMIN/includes/languages/english/extra_definitions/products_options_stock_menu_names.php
v3.0.1
  1. /includes/templates/YOUR_RC_CLONE/jscript/jscript_framework.php
  2. /includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php
  3. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  4. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v3.0.0
  1. /ajax.php (now uses your Zen Cart core version)
  2. /includes/classes/class.base.php (now uses your Zen Cart core version)
  3. /includes/classes/order.php (now uses your Zen Cart core version)
  4. /includes/templates/YOUR_RC_CLONE/css/style_options_stock.css
  5. /includes/templates/YOUR_RC_CLONE/css/stylesheet_options_stock.css
  6. /includes/templates/YOUR_RC_CLONE/jscript/jquery.posm_dependencies.js
  7. /includes/templates/YOUR_RC_CLONE/jscript/jquery.posm_dependencies.min.js
  8. /includes/templates/YOUR_RC_CLONE/jscript/jscript_framework.php
  9. /includes/templates/YOUR_RC_CLONE/jscript/jscript_posm_dependencies.php
  10. /includes/templates/YOUR_RC_CLONE/templates/tpl_account_history_info_default.php
  11. /includes/templates/YOUR_RC_CLONE/templates/tpl_checkout_confirmation_default.php
  12. /includes/templates/YOUR_RC_CLONE/templates/tpl_shopping_cart_default.php
  13. /includes/templates/YOUR_TEMPLATE/jscript/jscript_jquery_cdn.js
  14. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  15. /YOUR_ADMIN/attributes_controller.php (now uses your Zen Cart core version)
  16. /YOUR_ADMIN/options_values_manager.php (now uses your Zen Cart core version)
  17. /YOUR_ADMIN/products_options_stock.php
  18. /YOUR_ADMIN/products_options_stock_view_all.php
  19. /YOUR_ADMIN/tools_posm_find_duplicate_modelnums.php
  20. /YOUR_ADMIN/includes/auto_loaders/config.zc154_compatibility.php
  21. /YOUR_ADMIN/includes/auto_loaders/config.zc155_compatibility.php
  22. /YOUR_ADMIN/includes/classes/order.php (now uses your Zen Cart core version)
  23. /YOUR_ADMIN/includes/classes/object_info.php (now uses your Zen Cart core version)
  24. /YOUR_ADMIN/includes/functions/general.php (now uses your Zen Cart core version)
  25. /YOUR_ADMIN/includes/init_includes/init_zc154_compatibility.php
  26. /YOUR_ADMIN/includes/init_includes/init_zc155_compatibility.php
  27. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v2.3.2
  1. /includes/classes/ajax/zcAjaxOptionsStockDependencies.php
  2. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  3. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  4. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v2.3.1
  1. /includes/auto_loaders/config.products_options_stock.php
  2. /includes/init_includes/init_posm_product_valid.php
  3. /includes/languages/english/extra_definitions/products_options_stock_extra_definitions.php
  4. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v2.3.0
  1. /YOUR_ADMIN/products_options_stock.php
  2. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  3. /YOUR_ADMIN/includes/languages/english/extra_definitions/products_options_stock_menu_names.php
  4. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  1. Added Configuration->Options' Stock Manager->General: Back-in-Stock Date Reminder
v2.2.0
  1. /ajax.php
  2. /includes/auto_loaders/paypal_ipn.products_options_stock.php
  3. /includes/classes/ajax/zcAjaxOptionsStockDependencies.php
  4. /YOUR_ADMIN/includes/classes/dbio/*.*
  5. /YOUR_ADMIN/includes/functions/extra_functions/edit_orders_functions.php
  6. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  7. /YOUR_ADMIN/includes/languages/english/extra_definitions/products_options_stock_menu_names.php
  8. /YOUR_ADMIN/includes/languages/english/dbio/*.*
v2.1.8
  1. /includes/auto_loaders/config.products_options_stock.php
  2. /includes/classes/ajax/zcAjaxOptionsStockDependencies.php
  3. /includes/languages/english/extra_definitions/products_options_stoock_extra_definitions.php
  4. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  5. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  6. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  7. /YOUR_ADMIN/products_options_stock.php
  8. /YOUR_ADMIN/products_options_stock_view_all.php
  9. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  10. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  1. Added Configuration->Options' Stock Manager->Admin: Model Number Field Width
v2.1.7
  1. /docs/.htaccess
  2. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  3. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  4. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v2.1.6
  1. /includes/classes/ajax/zcAjaxOptionsStockDependencies.php
  2. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  3. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  4. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  5. /includes/templates/YOUR_TEMPLATE/templates/tpl_account_history_info_default.php
  6. /YOUR_ADMIN/products_options_stock.php
  7. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v2.1.5
  1. /includes/functions/functions_lookups.php
  2. /includes/templates/YOUR_TEMPLATE/jscript/jquery_posm_dependencies.js
  3. /includes/templates/YOUR_TEMPLATE/jscript/jquery_posm_dependencies.min.js
  4. /YOUR_ADMIN/products_options_stock.php
  5. /YOUR_ADMIN/products_options_stock_view_all.php
  6. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  7. /YOUR_ADMIN/includes/functions/general.php
  8. /YOUR_ADMIN/includes/functions/extra_functions/edit_orders_functions.php
  9. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  10. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  11. /YOUR_ADMIN/includes/languages/english/extra_definitions/products_options_stock_menu_names.php
v2.1.4
  1. /ajax.php
  2. /includes/classes/order.php
  3. /includes/classes/class.products_options_stock_observer.php
  4. /includes/functions/functions_lookups.php
  5. /includes/functions.products_options_stock_functions.php
  6. /includes/templates/YOUR_TEMPLATE/css/style_options_stock.css
  7. /includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php
  8. /includes/templates/YOUR_TEMPLATE/jscript_posm_dependencies.php
  9. /includes/templates/YOUR_TEMPLATE/templates/tpl_account_history_info_default.php
  10. /includes/templates/YOUR_TEMPLATE/templates/tpl_checkout_confirmation_default.php
  11. /includes/templates/YOUR_TEMPLATE/templates/tpl_shopping_cart_default.php
  12. /YOUR_ADMIN/attributes_controller.php
  13. /YOUR_ADMIN/options_values_manager.php
  14. /YOUR_ADMIN/products_options_stock.php
  15. /YOUR_ADMIN/products_options_stock_view_all.php
  16. /YOUR_ADMIN/includes/classes/order.php
  17. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  18. /YOUR_ADMIN/includes/functions/general.php
  19. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  20. /YOUR_ADMIN/includes/init_includes/init_zc155_compatibility.php
  21. /YOUR_ADMIN/includes/modules/category_product_listing.php
v2.1.3
  1. /ajax.php
  2. /includes/classes/order.php
  3. /includes/functions/functions_lookups.php
  4. /includes/templates/YOUR_TEMPLATE/templates/tpl_account_history_info_default.php
  5. /includes/templates/YOUR_TEMPLATE/templates/tpl_checkout_confirmation_default.php
  6. /includes/templates/YOUR_TEMPLATE/templates/tpl_shopping_cart_default.php
  7. /YOUR_ADMIN/attributes_controller.php
  8. /YOUR_ADMIN/options_values_manager.php
  9. /YOUR_ADMIN/includes/auto_loaders/config.zc155_compatibility.php
  10. /YOUR_ADMIN/includes/classes/order.php
  11. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  12. /YOUR_ADMIN/includes/functions/general.php
  13. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  14. /YOUR_ADMIN/includes/init_includes/init_zc155_compatibility.php
  15. /YOUR_ADMIN/includes/modules/category_product_listing.php
v2.1.2
  1. /ajax.php
v2.1.1
  1. /ajax.php
  2. /YOUR_ADMIN/tools_posm_find_duplicate_modelnums.php
  3. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v2.1.0
  1. /uninstall_products_options_stock.sql
  2. /ajax.php
  3. /includes/classes/ajax/zcAjaxOptionsStockDependencies.php
  4. /includes/classes/observers/class.products_options_stock_observer.php
  5. /YOUR_ADMIN/posm_ajax.php
  6. /YOUR_ADMIN/products_options_stock.php
  7. /YOUR_ADMIN/products_options_stock_view_all.php
  8. /YOUR_ADMIN/tools_posm_find_duplicate_modelnums.php
  9. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  10. /YOUR_ADMIN/includes/extra_datafiles/products_options_stock_file_database_names.php
  11. /YOUR_ADMIN/includes/functions/extra_functions/products_options_stock_functions.php
  12. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  13. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  14. /YOUR_ADMIN/includes/languages/english/products_options_stock_view_all.php
  15. /YOUR_ADMIN/includes/languages/english/tools_posm_find_duplicate_modelnums.php
  16. /YOUR_ADMIN/includes/languages/english/extra_definitions/products_options_stock_menu_names.php
  1. Added the admin_page registration for Tools->POSM: Find Duplicate Models.
  2. Added Configuration->Options' Stock Manager->General: Duplicate Model Numbers
v2.0.1
  1. /YOUR_ADMIN/products_options_stock_view_all.php
  2. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  3. /YOUR_ADMIN/includes/languages/english/products_options_stock_view_all.php
  1. Added Configuration->Options' Stock Manager->View All: Maximum Products/Page
v2.0.0
  1. /includes/classes/ajax/zcAjaxOptionsStockDependencies.php
  2. /includes/classes/observers/class.products_options_stock_observer.php
  3. /includes/functions/products_options_stock_functions.php
  4. /includes/templates/YOUR_TEMPLATE/jscript/jquery_posm_dependencies.js
  5. /includes/templates/YOUR_TEMPLATE/jscript/jquery_posm_dependencies.min.js
  6. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  7. /YOUR_ADMIN/products_options_stock.php
  8. /YOUR_ADMIN/products_options_stock_view_all.php
  9. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v1.6.2
  1. /includes/templates/YOUR_TEMPLATE/jscript/jquery_posm_dependencies.js
  2. /includes/templates/YOUR_TEMPLATE/jscript/jquery_posm_dependencies.min.js
  3. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  4. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  5. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v1.6.1
  1. /includes/classes/observers/class.products_options_stock_observer.php
  2. /includes/functions/products_options_stock_functions.php
  3. /includes/templates/YOUR_TEMPLATE/templates/tpl_account_history_info_default.php
  4. /YOUR_ADMIN/products_options_stock.php
  5. /YOUR_ADMIN/products_options_stock_view_all.php
  6. /YOUR_ADMIN/includes/classes/order.php (Added)
  7. /YOUR_ADMIN/includes/classes/observers/class.products_options_stock_admin_observer.php
  8. /YOUR_ADMIN/includes/functions/extra_functions/products_options_stock_functions.php
  9. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  10. /YOUR_ADMIN/includes/languages/english/products_options_stock_view_all.php
  1. Added Configuration->Options' Stock Manager->Stock Status Display: Show Messages?
  2. Added Configuration->Options' Stock Manager->Stock Status Display: Messages for Unmanaged Options?
  3. Added Configuration->Options' Stock Manager->View All: Allow Model Number Updates?
v1.6.0
  1. /uninstall_products_options_stock.sql
  2. /includes/auto_loaders/config.products_options_stock.php
  3. /includes/classes/ajax/zcAjaxOptionsStockDependencies.php
  4. /includes/classes/observers/class.products_options_stock_observer.php
  5. /includes/languages/english/extra_definitions/products_options_stock_extra_definitions.php
  6. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  7. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  8. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  9. /YOUR_ADMIN/products_options_stock.php
  10. /YOUR_ADMIN/products_options_stock_view_all.php
  11. /YOUR_ADMIN/includes/extra_datafiles/products_options_stock_file_database_names.php
  12. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  13. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  14. /YOUR_ADMIN/includes/languages/english/products_options_stock_view_all.php
  15. /YOUR_ADMIN/includes/languages/english/extra_definitions/products_options_stock_menu_names.php
  1. Added products_id INDEX to the products_options_stock table.
  2. Added the admin_page registration for the "View All" tool.
v1.5.8
  1. /includes/classes/observers/class.products_options_stock_observer.php
  2. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v1.5.7
  1. /includes/auto_loaders/config.products_options_stock.php
  2. /includes/languages/english/extra_definitions/products_options_stock_extra_definitions.php
  3. /includes/modules/pages/checkout_confirmation/header_php_options_stock.php
  4. /includes/modules/pages/shopping_cart/header_php_options_stock.php
  5. /includes/templates/YOUR_TEMPLATE/css/stylesheet_options_stock.css
  6. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  7. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  8. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  9. /includes/templates/YOUR_TEMPLATE/templates/tpl_account_history_info_default.php
  10. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  1. Added Configuration->Options' Stock Manager->Enable Products' Options' Stock Manager?
v1.5.6
  1. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  2. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  1. Added Configuration->Options' Stock Manager->Dependent Attributes: Show In-Stock Quantity in Status?
v1.5.5
  1. /includes/languages/english/extra_definitions/products_options_stock_extra_definitions.php
  2. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.js
  3. /includes/templates/YOUR_TEMPLATE/jscript/jquery.posm_dependencies.min.js
  4. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  5. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  6. /YOUR_ADMIN/includes/modules/category_product_listing.php
  1. Added Configuration->Options' Stock Manager->Dependent Attributes: Use Minified Script File?
v1.5.4
  1. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
v1.5.3
  1. /uninstall_products_options_stock.sql
  2. /includes/functions/products_options_stock_functions.php
  3. /includes/templates/YOUR_TEMPLATE/jscript/jquery.min.js
  4. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
v1.5.2
  1. /uninstall_products_options_stock.sql
  2. /includes/classes/observers/class.products_options_stock_observer.php
  3. /includes/functions/products_options_stock_functions.php
  4. /includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php
  5. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  6. /YOUR_ADMIN/products_options_stock.php
  7. /YOUR_ADMIN/tool_convert_sba2posm.php
  8. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  9. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  10. /YOUR_ADMIN/includes/languages/english/tool_convert_sba2posm.php
  1. Added Configuration->Options' Stock Manager->Optional Option Types List
  2. Added Configuration->Options' Stock Manager->Optional Option Names List
  3. Added admin-page registration for Extras->Convert SBA to POSM
v1.5.1
  1. /includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php
  2. /includes/templates/YOUR_TEMPLATE/jscript/jscript_jquery_cdn.js
  3. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  4. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
v1.5.0
  1. /ajax.php
  2. /includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php
  3. /YOUR_ADMIN/attributes_controller.php
  4. /YOUR_ADMIN/invoice.php
  5. /YOUR_ADMIN/option_names_manager.php, revert to your cart's "base" version.
  6. /YOUR_ADMIN/packingslip.php
  7. /YOUR_ADMIN/includes/auto_loaders/config.zc154_compatibility.php
  8. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  9. /YOUR_ADMIN/includes/init_includes/init_zc154_compatibility.php
  10. /YOUR_ADMIN/includes/functions/general.php
v1.4.1
  1. /includes/classes/ajax/zcAjaxOptionsStockDependencies.php
  2. /includes/classes/observers/class.products_options_stock_observer.php
  3. /includes/modules/pages/shopping_cart/header_php_options_stock.php
  4. /includes/templates/YOUR_TEMPLATE/css/stylesheet_options_stock.css
  5. /includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php
  6. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  7. /YOUR_ADMIN/products_options_stock.php
  8. /YOUR_ADMIN/products_options_stock_names.php
  9. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  10. /YOUR_ADMIN/includes/languages/english/products_options_stock.php
  1. On a fresh install, any negative product quantities are set to 0.
v1.4.0
  1. /uninstall_products_options_stock.sql
  2. /includes/classes/observers/class.products_options_stock_observer.php
  3. /includes/templates/YOUR_TEMPLATE/jscript/jscript_framework.php
  4. /includes/templates/YOUR_TEMPLATE/jscript/jscript_posm_dependencies.php
  5. /includes/templates/YOUR_TEMPLATE/templates/tpl_account_history_info_default.php
  6. /includes/templates/YOUR_TEMPLATE/templates/tpl_checkout_confirmation_default.php
  7. /includes/templates/YOUR_TEMPLATE/templates/tpl_shopping_cart_default.php
  8. /YOUR_ADMIN/tool_convert_sba2posm.php
  9. /YOUR_ADMIN/products_options_stock.php
  10. /YOUR_ADMIN/products_options_stock_names.php
  11. /YOUR_ADMIN/includes/extra_datafiles/products_options_stock_file_database_names.php
  12. /YOUR_ADMIN/includes/functions/general.php
  13. /YOUR_ADMIN/includes/init_includes/init_products_options_stock_admin.php
  14. /YOUR_ADMIN/includes/languages/english/tool_convert_sba2posm.php
  15. /YOUR_ADMIN/includes/languages/english/extra_definitions/products_options_stock_menu_names.php
  1. Recorded the admin page registration for Extras->Convert SBA to POSM.
  2. Added the Dependent Attributes: CSS Selector configuration element.