Database I/O Manager (DbIo) for Zen Cart®

Version 1.5.3 Copyright © 2015-2019, Vinos de Frutas Tropicales.

Current Support Thread on the Zen Cart forums: https://www.zen-cart.com/showthread.php?220569-Database-I-O-Manager-(DbIo)-Support-Thread

DbIo emulates one of the more popular Zen Cart plugins — Easy Populate — providing "handlers" to easily input (import) data to your cart's database and output (export) that data via a comma-separated-value (CSV) or tab-delimited file. In the DbIo, a "handler" is responsible for all I/O actions required to support a specific operation … like importing a set of product specifications or exporting a list of customer orders.


Why emulate rather than contribute to the EP-4 plugin's development? Given the principles which guided DbIo's development:

  1. Use Zen Cart's built-in processing, especially the database interfaces.
  2. Use a class-based approach, enabling a higher degree of code reuse.
  3. Let the database drive the data; use the database settings to guide "proper" input processing.
  4. Keep the data-pool consistent; broadly define the character-encoding of the .CSV repositories.
  5. Keep to, where possible, the EP-4 interface described in its wiki.
  6. Multi-language awareness.
  7. Be data-driven. If you've installed a plugin that simply adds a field to an existing table (like products or orders), that field is a candidate for any I/O operation on that database table without additional coding.

… the DbIo processing is a revolutionary spin-off of Easy Populate; any differences between the EP-4 and DbIo handling will be identified in this readme.

This section identifies the processes you'll use to initially install DbIo or uninstall DbIo entirely.

There are neither core-file overwrites nor template-overrides used by this plugin; you should always backup your cart's database and files prior to making any changes. Unzip the plugin's package file and then:

  1. Rename the YOUR_ADMIN folder to match your custom admin folder's name.
  2. Sign into your Zen Cart's admin panel.
  3. Copy the plugin's files to your store's folder structure:
    1. /YOUR_ADMIN/dbio_manager.php
    2. /YOUR_ADMIN/dbio_customize.php (Added in v1.2.0)
    3. /YOUR_ADMIN/dbio/*.*
    4. /YOUR_ADMIN/images/icons/dbio_information.png (Removed in v1.2.0)
    5. /YOUR_ADMIN/includes/auto_loaders/config.dbio_admin.php
    6. /YOUR_ADMIN/includes/boxes/extra_boxes/dbio_tools_dhtml.php
    7. /YOUR_ADMIN/includes/classes/dbio/*.*
    8. /YOUR_ADMIN/includes/extra_datafiles/dbio_file_database_names_admin.php
    9. /YOUR_ADMIN/includes/functions/dbio_manager_functions.php
    10. /YOUR_ADMIN/includes/functions/dbio_mb_string_functions.php (Added in v1.4.1)
    11. /YOUR_ADMIN/includes/functions/dbio_string_functions.php (Added in v1.4.1)
    12. /YOUR_ADMIN/includes/functions/extra_functions/dbio_functions.php
    13. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
    14. /YOUR_ADMIN/includes/javascript/dbio/*.*
    15. /YOUR_ADMIN/includes/languages/english/dbio_manager.php
    16. /YOUR_ADMIN/includes/languages/english/dbio_customize.php (Added in v1.2.0)
    17. /YOUR_ADMIN/includes/languages/english/dbio/*.*
    18. /YOUR_ADMIN/includes/languages/english/extra_definitions/dbio_admin_extra_definitions.php
  4. Click the "Admin Home" link in your Zen Cart's top admin menu. This action will cause the plugin's installation script to run.

First, delete the files that were copied to your Zen Cart's file-system, then copy the contents of the plugin's /docs/dbio/uninstall/uninstall_dbio.sql to your clipboard and paste into your admin's Tools->Install SQL Patches to complete the uninstall process.

This section identifies the steps you'll take to customize your Database I/O Manager installation.

Note: The DbIo requires the PHP php-mbstring extension to be loaded for its proper operation; if it's not installed, you'll receive an error message when you attempt to use Tools->Database I/O Manager. If you receive that message, you'll need to contact your webhost and request that the extension be loaded on your store's server.

Here are some things to consider as you're setting up and configuring your DbIo installation:

  1. Character encoding. I know, boring stuff, but it's very important to the proper operation of DbIo! The plugin's installation verifies that your store's base character-encoding is "proper" by checking that your store's CHARSET is compatible with your store's DB_CHARSET values. It's your job to properly identify the character-set used by the spreadsheet tool you are also using (e.g. Apache OpenOffice or Microsoft Excel).

    You'll use the Configuration->DbIo Manager Settings->CSV: Encoding setting to instruct DbIo how to interpret the data coming from or going to a .csv file. Set that value to utf8 if you are using Apache OpenOffice (or any other known utf8-generating program) or to latin1 if you are using Microsoft Excel.

  2. File naming. DbIo uses the name of an I/O "handler" to identify files to-be-processed by that handler. For example, any .csv files to be processed by the Featured handler reside in the /YOUR_ADMIN/dbio/ folder and are named dbio.Featured.anything.csv
  3. Language-specific Fields. While EP-4 uses the convention of appending the language_id (e.g. v_products_name_1) to identify language-specific fields, DbIo appends the (more portable) language_code (e.g. v_products_name_en) when identifying language-specific values.
  4. Record removal. While EP-4 uses the convention of setting the products_status to a value of 9 to indicate a product to be removed, DbIo introduces a new column (v_dbio_command) that a handler can conditionally enable to support record-removal and/or other commands. Starting with v1.1.0, the Products handling supports this field; set that column's value to REMOVE for a particular product and, if the product exists, it will be removed.

Once you've installed DbIo, you can customize its base settings via Configuration->DbIo Manager Settings:

Field Name Field Description
Version/Release Date Displays the plugin's version number and release date.
CSV: Delimiter Enter the single character that is used to separate columns within any DbIo CSV file. To use the tab-character as the delimiter value, enter the word TAB. Defaults to the comma (,) character.
CSV: Enclosure Enter the single character used to enclose fields within any DbIo CSV file. Defaults to the double-quote (") character.
CSV: Escape Enter the single character used as the escape-character within any DbIo CSV file. Defaults to the backslash (\) character.
CSV: Encoding Choose the type of encoding to be associated with all DbIo I/O files. If you use Microsoft® Excel, choose latin1; if you use Apache OpenOffice, choose utf8.
CSV: Import Date Format Choose the format used by any DbIo CSV file when importing date and datetime fields, one of:
  • m-d-y
  • d-m-y
  • y-m-d
Default: m-d-y
Maximum Execution Time (seconds) Enter the maximum execution time for a DbIo operation, in seconds. Default: 60
Split File: Record Count Sometimes, splitting a .csv file into multiple, smaller files can help if your server is timing out on an import operation or if an exported .csv is too large to download in a single chunk. Enter the number of records (Default: 2000) at which to split these files using the Database I/O Manager.
Default File Sort Order Choose the default sort-order that the Database I/O Manager uses when displaying the I/O files it has discovered, one of:
  • 1a: File name, ascending
  • 1d: File name, descending
  • 2a: File size, ascending
  • 2d: File size, descending
  • 3a: File date, ascending
  • 3d: File date, descending (default)
Products Import: Allow Duplicate Models? Choose whether (Yes) or not (No) any Products import should be allowed to change an existing product's "model number". Default: No. (Introduced in v1.1.0)
Products: Auto-Create Categories on Import? How should the DbIo handle missing categories on a Products import? Choose Yes to have any missing categories automatially generated; choose No (the default) to disallow any product imports when the categories don't previously exist. (Introduced in v1.3.0)
Enable Debug? Identify whether (true) or not (false, the default) the DbIo debug is to be enabled. When enabled, all I/O status is written to a dbio-*.log file in your store's /YOUR_ADMIN/dbio/logs folder.
Debug Date Format Enter the formatting string used to timestamp all DbIo log entries; see the description of the PHP date function for more information. (Default: Y-m-d H:i:s).

DbIo uses "Handler" scripts to customize an I/O action; the following table shows the Handlers currently provided.

Handler Name Actions Export Filters Customizable? Description EP-4 Name
Customers Export None No This handler provides the export-only of all fields in the database's customers table.
Featured Import, Export None No This handler provides the import and export of all fields in the database's featured table. Featured Products
Manufacturers Import, Export None No This handler provides the import and export of all fields in the database's manufacturers and manufacturers_info tables, added in v1.2.0.
Orders Export Orders Status, ID Range, Date Range Yes This handler supports export-only of all fields within the orders table. The information does not include the associated products or their attributes.
OrdersProducts Export Orders Status, ID Range, Date Range No This handler supports the export-only of an order's customer information and associated products' model-numbers and names.
OrdersProductsAttributes Export Orders Status, ID Range, Date Range No This handler supports an export-only of an order's customer information and associated products' model-numbers, names and attributes (option name/value pairs). Filterable Order Exports: Orders Full
Products Import, Export Product Status, Manufacturer, Category Yes This handler supports import/export of all fields within the products and products_description tables, the basic product information.
  1. Starting with DbIo v1.1.0, a product's record can be located via either its products_id or products_model (both columns are required in the import file) and an existing product can be removed by creating a v_dbio_command column with a product's entry set to REMOVE. Starting with v1.4.0, a product's record can be forced to be created when the v_dbio_command column for the product is set to ADD.
  2. Starting with v1.3.0, if a non-existent category is specified in a v_categories_name field, you control whether that category is automatically generated; see the Configure tab for more information. Note that categories cannot be created within categories that currently contain products and that products cannot be added to categories that currently contain sub-categories.
Complete Products
ProductsOptions Import, Export None No This handler supports import/export of all fields within the products_options table, the products' options' information. When importing new records for a multi-language store, the import should be run once per language value. Otherwise, the products_options_id will get "out-of-sync" between the multiple languages.
ProductsOptionsValues Import, Export None No This handler supports import/export of all fields within the products_options_values table, the products' options' values' information. When importing new records for a multi-language store, the import should be run once per language value. Otherwise, the products_options_id will get "out-of-sync" between the multiple languages.
ProductsAttribsBasic Import, Export None No This handler supports import/export of the basic fields associated with the products_attributes table, using a products_model value to associate a product to the attribute-values (products_options_type, products_options_name, and products_options_values name). Basic Products Attributes
ProductsAttribsRaw Import, Export None No This handler supports import/export of all fields associated with the products_attributes table, using the products_id, options_id, and options_values_id values to identify a record in the table and, thus, whether the record is an insert or an update. Detailed Products Attributes
ProductsDiscountQuantity Import, Export None No This handler supports import/export of fields associated with the products_discount_quantity table, using the products_id value to identify the product for which the discount-quantities are to be updated. Refer to the handler's on-screen instructions for additional information.
Stats Export None No This handler supports export of all fields present in the dbio_stats table, where DbIo records its statistics.

Following are the naming conventions used by the Database I/O Manager:

  1. Handler Names. A handler's name consists of characters matching [a-zA-Z0-9_], allowing the handler name to be presumed as its class name. No checks performed; you'll get a PHP error if the name's not a "good" PHP variable.
  2. Handler Files. A handler named MyHandler provides two files (and, yes, case is significant):
    1. /YOUR_ADMIN/includes/classes/dbio/DbIoMyHandlerHandler.php
    2. /YOUR_ADMIN/includes/languages/english/dbio/DbIoMyHandlerHandler.php
  3. Handler Messages. Message defines in a handler's language-file should be named based on the handlerName: DBIO_HANDLERNAME_*.

This section describes how to use the Tools->Database I/O Manager tool.

Selection Area
Export Area File-Upload Area
Import/File-Action Area Configuration Area

The Database I/O Manager organizes its display into five (5) sections:

  1. Selection Area: The topmost portion of the display contains a drop-down selection where you choose the handler to be used for the current set of actions. That handler, once selected, is saved in the current admin's session, so that the DbIo Manager remembers your most recent selection for the duration of the admin-login.
  2. Export Area: The upper-left portion of the display identifies the features available for the current handler's export. Some of the handlers (like Orders) provide additional filters to limit their output selections and support customization of the fields exported.
  3. File-Upload Area: The upper-right portion of the display provides a form that you'll use when you want to upload a .csv file from your computer for the DbIo to handle. That file, once successfully uploaded, is stored in the /YOUR_ADMIN/dbio folder.
  4. Import/File-Action Area: The bottom-left portion of the display displays the list of .csv and .log files available for the selected handler. Within this section, you can choose a file to import, split, download or delete; see the Other File Actions tab for additional details.
  5. Configuration Area: The bottom-right portion of the display shows you the DbIo Manager Settings that you've currently got configured as well as some pertinent system-related settings.

This section displays the export options available for the currently-selected handler. Some of the handlers, like Orders shown below, make use of additional filters that enable you to limit the export's output and/or enable export-template customizations.

Filters, if supported by the selected handler, aren't displayed initially, since the generation of those filters can have a negative impact on the tools's performance for stores with large databases. When you tick the "show/hide filters" box, that enables/disables the automatic rendering of the filters for all handlers (the selection is stored in the currently-logged-in admin's session variables).

Templates, if supported by the selected handler, enable you to export a subset of the handler's fields. Refer to the Manage DbIo Templates tab for additional information. When a handler supports templates, like Orders, you can use a previously-customized template or click the "Manage Templates" button to create a new one.

Make your choices from the options provided by the current handler and click the Export button; the exported .csv file will be created in the /YOUR_ADMIN/dbio folder.

Note: Additional processing time will be required for the DbIo Manager export if you have the plugin's debug-mode enabled.

DbIo Export Area
DbIo Configuration Area

This section simply displays the DbIo's current configuration settings (and some of the applicable system settings) so you're aware of how the DbIo Manager is going to process your request. Clicking on the link takes you to the Configuration->Database I/O Manager Settings page.

DbIo Upload Area

If the currently-selected handler supports imports, you can use this section to upload any .csv files that you plan on importing into your site's database. Use the "Browse" button to select your file, making sure that the file is not larger than the Maximum File Upload Size shown in the DbIo configuration area, and then click the "Upload" button. The file will be saved in the /YOUR_ADMIN/dbio folder.

Note: The imported file's name must be associated with the currently-selected handler, e.g. if the Products handler is selected, the uploaded file's name must be of the form dbio.Products.*.csv.

DbIo Import/Action Area

This section of the DbIo Manager enables you to manage the .csv files present in your site's /YOUR_ADMIN/dbio folder and the DbIo-generated .log files present in your site's /YOUR_ADMIN/dbio/logs folder.

You can delete selected files by ticking the associated checkbox(es) in the Delete? column and then clicking the "Delete" button — you'll receive a confirmation pop-up just to make sure.

You can also use the dropdown selection at the top of the display to perform additional actions on the selected via associated radio-button in the Choose File column:

  1. Split. Causes the associated .csv file to be split into multiple (and, thus, smaller) files to enable their download. Refer to the Split Record Count displayed in the configuration area and change that if needed; the value identifies the number of records (i.e. lines in the .csv) that will be associated with each "split".
  2. Import (Full). Results in the associated .csv file to be imported into your site's database. Make sure that you've created a database backup, just in case something goes awry! Note also that a full import should never, ever be run with the DbIo's debug enabled; that will severely reduce the amount of processing that can be performed!
  3. Import (Check-Only). Results in the associated .csv file to be processed like it's going to be imported, but no database changes are performed. You'll use this action, for example, to check your import file for any errors (like invalid dates) before actually updating the database. This action, too, is severely hindered by the DbIo's debug-mode.
  4. Download. Results in the associated .csv or .log file being downloaded from your site to your computer.

You can sort the files discovered by the DbIo Manager by the file-name, file-size or the last-modified date using the arrow-links in the file-list header.

DbIo pre-defines the folder /YOUR_ADMIN/dbio as the location that your comma-separated-value (CSV) files reside. Whenever DbIo outputs (exports) a datafile, the file is created in this folder; any .csv files found in this folder are displayed within the DbIo's "Import/File-Action Area".

When you enable DbIo's debug, using Configuration->DbIo Manager Settings->Enable Debug?, the log files are created within the folder /YOUR_ADMIN/dbio/logs.

This section describes how to use the Configure DbIo Templates tool, available via click of the "Manage Templates" button from Tools->Database I/O Manager when the currently-selected handler supports export templating.

The DbIo's templating support allows you to choose a subset of the fields provided by the currently-selected handler for a customized export and subsequent import. There are a couple of pre-defined templates for the Products handler that will give you an idea of what you can do with this feature.

On initial entry to the DbIo template-manager, the templates for the currently-selected handler are displayed. The following information is displayed for each:

  • Scope. Indicates whether the template is Public — available for all authorized admins — or Private — available only for the currently-logged-in admin's use.
  • Template Name. Contains the "name" of the template; the value must contain only alphanumeric and underscore (_) characters, since the value is used to form a portion of an exported CSV file's name when the export is performed with the template.
  • Description. Contains a text-blob (no HTML allowed) that you can use to remind yourself of the purpose of this template. When you select the template in the Database I/O Manager's export section, this description is displayed.
  • Last Updated By. Identifies the name and ID of the admin who last updated the template; the value displays as System for any pre-defined templates.
  • Last Update Date. Identifies the date and time of the templates last update.
DbIo Template Listing

When you create or edit a DbIo template, a page similar to the following is displayed. Within this page, you identify the scope, name and description of the template and then use the Choose Template Fields block to select the fields to be included in a template-based export as well as the order that those fields will appear in the output .CSV file. Some features of that section are:

  1. Each of the multi-select dropdown lists can be stretched vertically to allow you to view all associated fields.
  2. If the handler supports an import action on the generated CSV, there might be some "key" fields that are required; these are pre-filled into the right-side block and are required fields.
  3. Use the left- and right-arrows to move fields between the left-side (all available fields) and right-side (your customized fields) blocks.
  4. Use the up- and down-arrows to order the fields within the customized-fields' block.
DbIo Create or Edit a Template

When you copy an existing template, you can change the template's scope and/or name but the name you choose must be unique within its scope. This feature allows you to make a private copy of a public template and further customize it for your use. You can also make a public copy of a private template that all authorized admins can use.

DbIo Copy a Template

You can view the details of these changes on the plugin's GitHub repository.

  • v1.5.3, 2019-04-22:
    • BUGFIX: PHP error thrown for the Products handler, when creating a category.
    • BUGFIX: PHP errors and/or notices thrown for the Products handler, when forcing a product to be created via DbIo command.
    • BUGFIX: Incorrect report of invalid integer values in some configurations.
    • The following files were changed:
      1. /YOUR_ADMIN/includes/classes/dbio/DbIoHandler.php
      2. /YOUR_ADMIN/includes/classes/dbio/DbIoProductsHandler.php
      3. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
  • v1.5.2, 2019-03-05:
    • BUGFIX: DB_CHARSET of utf8mb4 not recognized as valid utf8 variant.
    • BUGFIX: Properly recognize a database field type of double.
    • BUGFIX: Negative integers, e.g. -30, should be accepted as valid integer values.
    • The following files were changed:
      1. /YOUR_ADMIN/dbio_customize.php
      2. /YOUR_ADMIN/dbio_manager.php
      3. /YOUR_ADMIN/includes/classes/dbio/DbIoHandler.php
      4. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
  • v1.5.1, 2018-09-13:
    • BUGFIX: Products export columns are "off" for its specially-handled fields, due to v_dbio_command column inserts.
    • The following files were changed:
      1. /YOUR_ADMIN/includes/classes/dbio/DbIoProductsHandler.php
      2. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
  • v1.5.0, 2018-07-21:
    • CHANGE: Add the ProductsDiscountQuantity handler.
    • BUGFIX: Products export results in error when imported.
    • CHANGE: Include each customer's default-address information for a Customers export.
    • BUGFIX: Correct Products customized language fields' ordering.
    • The following files were changed or added:
      1. /YOUR_ADMIN/includes/classes/dbio/DbIoHandler.php
      2. /YOUR_ADMIN/includes/classes/dbio/DbIoCustomersHandler.php
      3. /YOUR_ADMIN/includes/classes/dbio/DbIoProductsHandler.php
      4. /YOUR_ADMIN/includes/classes/dbio/DbIoProductsDiscountQuantityHandler.php
      5. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
      6. /YOUR_ADMIN/includes/languages/english/dbio/DbIoCustomersHandler.php
      7. /YOUR_ADMIN/includes/languages/english/dbio/DbIoProductsDiscountQuantityHandler.php
  • v1.4.1, 2018-04-05:
    • BUGFIX: Zen Cart admin versions less than 1.5.5a don't auto-load jQuery.
    • BUGFIX: Customized Products export returns all fields of the products_description table.
    • CHANGE: Allow exports to output multiple lines per request.
    • BUGFIX: Enable database fields that are nullable to be set to NULL.
    • BUGFIX: Enable plugin operations when php-mbstring extension is not loaded.
    • The following files were changed or added:
      1. /YOUR_ADMIN/dbio_customize.php
      2. /YOUR_ADMIN/dbio_manager.php
      3. /YOUR_ADMIN/includes/classes/dbio/DbIo.php
      4. /YOUR_ADMIN/includes/classes/dbio/DbIoHandler.php
      5. /YOUR_ADMIN/includes/classes/dbio/DbIoProductsAttribsBasicHandler.php
      6. /YOUR_ADMIN/includes/classes/dbio/DbIoProductsHandler.php
      7. /YOUR_ADMIN/includes/functions/dbio_string_functions.php
      8. /YOUR_ADMIN/includes/functions/dbio_mb_string_functions.php
      9. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
  • v1.4.0, 2017-11-28:
    • CHANGE: Update the "Products" handler to allow a product to be unconditionally created.
    • The following files were changed:
    • /YOUR_ADMIN/includes/classes/dbio/DbIoHandler.php
    • /YOUR_ADMIN/includes/classes/dbio/DbIoProductsHandler.php
    • /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
  • v1.3.1, 2017-10-04:
    • BUGFIX: Properly detect missing/read-only input-output directories.
    • BUGFIX: (Products) Import with duplicate records results in debug-log.
    • BUGFIX: (Products) Import/update of a product doesn't record updated master-categories id.
    • BUGFIX: (Products) Exports with re-organized manufacturer's name, tax-class id or categories name have mixed data in columns; for (Orders), the same applies for the orders-status name.
    • BUGFIX: Export error not displayed to admin user
    • The following files were changed:
    • /YOUR_ADMIN/dbio_manager.php
    • /YOUR_ADMIN/includes/classes/dbio/DbIo.php
    • /YOUR_ADMIN/includes/classes/dbio/DbIoHandler.php
    • /YOUR_ADMIN/includes/classes/dbio/DbIoOrdersHandler.php
    • /YOUR_ADMIN/includes/classes/dbio/DbIoProductsHandler.php
    • /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
    • /YOUR_ADMIN/includes/languages/english/dbio/dbio_messages.php
  • v1.3.0, 2017-04-25:
    • CHANGE: Display all DbIo configuration settings on the main tool's page.
    • BUGFIX: Manage the product's date-added/last-modified fields on an import.
    • BUGFIX: Correct final v1.2.0 initialization fails for "early adopters".
    • BUGFIX: Update the Products handler to optionally create any associated categories.
    • CHANGE: Add a control to enable a handler to totally control the import sequencing.
    • The following files were changed:
      1. /YOUR_ADMIN/dbio_manager.php
      2. /YOUR_ADMIN/includes/classes/dbio/DbIoHandler.php
      3. /YOUR_ADMIN/includes/classes/dbio/DbIoProductsHandler.php
      4. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
      5. /YOUR_ADMIN/includes/languages/english/dbio_manager.php
  • v1.2.1, 2017-03-01:
    • BUGFIX: Alert admin-user when "php-mbstring" extension is not installed.
    • BUGFIX: Add backticks around database field names.
    • CHANGE: Enable fixed-field handlers to include special-handling fields.
    • The following files were changed:
      1. /YOUR_ADMIN/dbio_manager.php
      2. /YOUR_ADMIN/includes/classes/dbio/DbIo.php
      3. /YOUR_ADMIN/includes/classes/dbio/DbIoHandler.php
      4. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
      5. /YOUR_ADMIN/includes/languages/english/dbio/dbio_messages.php
  • v1.2.0, 2017-02-06:
    • BUGFIX: Truncate character fields to their database-defined maximum length prior to import.
    • CHANGE: Add an handler to support import/export of the manufacturers' information.
    • CHANGE: Enable download and removal of DbIo log files.
    • CHANGE: Reduce creation of "nuisance" DbIo log files.
    • CHANGE: Use a text-link instead of icon to indicate that import statistics are available.
    • CHANGE: Enable exported report customizations.
    • CHANGE: Restructure admin tool's user interface.
    • CHANGE: Conditionally present a handler's filters for use in the database-export processing.
    • BUGFIX: Maintain current file selection.
    • The following files were changed, added or removed:
      1. /docs/dbio/uninstall/uninstall_dbio.sql
      2. /YOUR_ADMIN/dbio_customize.php
      3. /YOUR_ADMIN/dbio_manager.php
      4. /YOUR_ADMIN/images/icons/dbio_information.png
      5. /YOUR_ADMIN/includes/classes/dbio/DbIo.php
      6. /YOUR_ADMIN/includes/classes/dbio/DbIoHandler.php
      7. /YOUR_ADMIN/classes/dbio/DbIoManufacturersHandler.php
      8. /YOUR_ADMIN/includes/classes/dbio/DbIoOrdersBase.php
      9. /YOUR_ADMIN/includes/classes/dbio/DbIoOrdersHandler.php
      10. /YOUR_ADMIN/includes/classes/dbio/DbIoOrdersProductsHandler.php
      11. /YOUR_ADMIN/includes/classes/dbio/DbIoProductsHandler.php
      12. /YOUR_ADMIN/includes/extra_datafiles/dbio_file_database_names_admin.php
      13. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
      14. /YOUR_ADMIN/includes/languages/english/dbio_customize.php
      15. /YOUR_ADMIN/includes/languages/english/dbio_manager.php
      16. /YOUR_ADMIN/includes/languages/english/dbio/DbIoManufacturersHandler.php
      17. /YOUR_ADMIN/includes/languages/english/dbio/DbIoOrdersHandler.php
      18. /YOUR_ADMIN/includes/languages/english/dbio/DbIoOrdersProductsHandler.php
      19. /YOUR_ADMIN/includes/languages/english/dbio/DbIoProductsHandler.php
      20. /YOUR_ADMIN/includes/languages/english/extra_definitions/dbio_admin_extra_definitions.php
  • v1.1.1, 2017-01-04:
    • BUGFIX: OrdersProducts handler generates database error when filtered.
    • BUGFIX: OrdersProducts handler doesn't encode data on export.
    • The following files were changed:
      1. /YOUR_ADMIN/includes/classes/dbio/DbIoOrdersProductsHandler.php
      2. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
  • v1.1.0, 2016-12-19:
    • BUGFIX: Correct PHP Notices
    • CHANGE: Add class-based support for customizable exports; not yet implemented at the Database I/O Manager level.
    • CHANGE: Add support for the v_dbio_command column, allowing handlers (e.g. Products) to accept commands (like REMOVE).
    • CHANGE: Split handlers' export-filters' configuration from handlers' base configuration.
    • CHANGE: Allow handlers to identify a minimum version of the base DbIoHandler class.
    • CHANGE: Allow handlers to identify "alternate" keys; the DbIoProductsHandler has been updated to enable an import based on either products_id or products_model.
    • BUGFIX: Cease import processing fully if an initialization error is detected.
    • BUGFIX: Disallow 'incomplete' records, i.e. fewer columns than the header.
    • BUGFIX: Fixed-header import misses 'special import' fields.
    • The following files were changed:
      1. /YOUR_ADMIN/dbio_manager.php
      2. /YOUR_ADMIN/includes/classes/dbio/DbIo.php
      3. /YOUR_ADMIN/includes/classes/dbio/DbIoHandler.php
      4. /YOUR_ADMIN/includes/classes/dbio/DbIoOrdersHandler.php
      5. /YOUR_ADMIN/includes/classes/dbio/DbIoProductsHandler.php
      6. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
      7. /YOUR_ADMIN/includes/languages/english/dbio/dbio_messages.php
  • v1.0.1, 2016-10-24:
    • CHANGE: Enable a handler to perform some post-processing for the record-set just imported.
    • CHANGE: Clarify some of the handlers' instructions.
    • BUGFIX: Missing function importGetFieldValue.
    • BUGFIX: Unwanted HTML included in CSV-download in some configurations.
    • BUGFIX: Missing "Customers" handler's language file.
    • BUGFIX: Only default language exported by "Products" handler on multi-lingual stores.
    • BUGFIX: v_categories_name field not properly encoded by the "Products" export.
    • BUGFIX: Empty dates should be allowed when a date/datetime field is nullable.
    • CHANGE: Allow a handler to be conditionally enabled.
    • The following files were changed/added:
      1. /YOUR_ADMIN/dbio_manager.php
      2. /YOUR_ADMIN/includes/classes/dbio/DbIo.php
      3. /YOUR_ADMIN/includes/classes/dbio/DbIoHandler.php
      4. /YOUR_ADMIN/includes/classes/dbio/DbIoProductsHandler.php
      5. /YOUR_ADMIN/includes/init_includes/init_dbio_admin.php
      6. /YOUR_ADMIN/includes/languages/english/dbio/DbIoCustomersHandler.php
      7. /YOUR_ADMIN/includes/languages/english/dbio/DbIoProductsHandler.php
      8. /YOUR_ADMIN/includes/languages/english/dbio/DbIoProductsAttribsBasicHandler.php
  • v1.0.0, 2016-07-01, Initial release.