Skip to navigation
Changelog
Release 0.9.9
- in ZMDbTableMapper handle database exception building auto mappings
- fix SQL errors in ZMZenCartDatabase
- unitTests: add new create/update database test class
- remove support for setting 'isZMDefinePages'
- add full-release patch to make $db throw ZMDatabaseException rather than
die()
- removed smarty
- introduce yaml based theme config and remove ZMThemeInfo
- remove ToolboxHtml::onload
- remove ZMhemeInfo and use theme.yaml file instead
- fix popups; b:#2927276
- added full release SQL to hide the following config options:
# 8 = Configuration - Product Listing
# 10 = Configuration - Logging
# 14 = Configuration - GZip Compression
# 18 = Configuration - Product Info
# 21 = Configuration - New Listing
# 22 = Configuration - Featured Listing
# 23 = Configuration - All Listing
# 24 = Configuration - Index Listing
# 25 = Configuration - Define Page Status
# 30 = Configuration - EZ-Pages Settings
- tentatively remove $echo parameter from methods; temlate functions affected:
staticPageContent(), getPaymentsJavaScript(), getOrderFormContent(); this
leaves just toolbox tools using this...
- wordpress: Change the way the WP API is loaded to avoid 404 header; see:
http://www.ardamis.com/2006/07/10/wordpress-googlebot-404-error/
- added ZMSeoRewriter interface to make SEO url rewriting a bit nicer
- fix SEO plugins breaking the site; b:#2927984
- start changing prepopulated template vars: zm_cart=shoppingCart,
zm_resultList=resultList, zm_account=currentAccount,
zm_product=currentProduct, zm_coupon=currentCoupon,
zm_coupon_code=currentCouponCode, zm_order=currentOrder, zm_page=ezPage,
zm_review=currentReview, zm_emailMessage=emailMessage,
zm_category=currentCategory, zm_addressList=addressList
- zm_deprecated: dropped - it's just too hard to maintain and not enough gain
- zm_geo_id: dropped - no use case so far and no interest, so why keep it?
- zm_phpbb2: dropped - too old
- zm_wiki: dropped - not good enoug and no interest
- zm_scaffold: dropped - not complete and no motivation to do so (perhaps as
part of the MVC framework?)
- add ZMOrderTotal and ZMCreditClass interfaces (drafts!)
- rename ZMOrderTotal to ZMOrderTotalLine
- move methods from ZMShipping to ZMShoppingCart and ZMToolboxUtils
- rename ZMOrder::getOrderTotals() to getOrderTotalLines() to reflect the
changed class name
- fix wrong ZMEZPage variable spelling for sidebox sort order
- extend EZPages service with create/update/remove methods
- converted all use of zm_l10n_chunk_get() to using static pages
- change static page code to allow PHP everywhere
- allow to create beans via settings using set::[setting]
- fix static page editor; b:#2934676
- make static page editor work with the new editor code
- add ZMEditorSelectFormWidget
- settings: add support for ZMEditorSelectFormWidget
- templates: rename ZMToolboxNet::absolute() to absoluteURL()
- templates: drop $echo parameter in ZMToolboxHtml::more() and encode()
- templates: drop $echo parameter in ZMToolboxLocale::shortDate()
- templates: drop $echo parameter in ZMToolboxUtils::getTitle() and
formatMoney()
- templates: drop $echo parameter in ZMToolboxMetaTags::getTitle(),
getKeywords() and getDescription()
- admin: drop $echo parameter in ZMToolboxAdmin::url()
- templates: drop $echo parameter in ZMToolboxMacro::phpinfo(),
formatAddress(), showBanner(), productPrice()
- reimplement ZMCoreCompressor based on ZMPhpPackagePacker
- full: update session setting to force cookies
- templates: drop $echo parameter in ZMToolboxForm::open(), addProduct(),
hiddenCartFields(), fieldLength(), idpSelect() and hiddenList()
- templates: drop $echo parameter in ToolboxHtml::image(), strip(),
productImageLink(), hrefTarget(), fieldMessages(), backLink() and
ezpageLink()
- templates: drop $echo parameter in ToolboxNet::product(), staticPage(),
ezpage() [note that the name is now ezPage], image(), redirect() [also
renamed to trackLink()], ajax(), rssFeed(), resultListBack(),
resultListNext() and url()
- remove setting 'isEchoHTML' and define ZM_ECHO_HTML
- full: drop docs, pub, download and media folder
- full: remove classic and template_default template folder
- full: SQL: disable downloads (attributes), set default template to 'default'
(the default ZenMagick theme id)
- installer: drop welcome, change location of not-installed page
- add basic branding to full install build script
- implement ajax to toggle boolean ezpage properties
- add ZMController::isAjax(), add code to set content type to 'text/plan' if
ajax request detecetd and also set view layout to null (in anticipation of
layout support moving into mvc)
- add ZMAjaxUtils and move ZMAjaxController::flattenObject there
- move layout config into url mappings, remove layout related code in ZMTheme
- drop layout settings in all theme.yaml (default)
- move default layout into setting 'zenmagick.mvc.view.defaultLayout'
- converted subscriptions plugin
- add similar orders example to the demo store's product_info.php template
- migrate from ZMOrderTotalPlugin base class to ZMOrderTotal interface
- change data structure in ZMOrderTotalLineDetails to allow to create
subtotals by tax class id
- update subtotal and total plugin, although those might get dropped in favour
of getSubtotal() and getTotal methods on ZMShoppingCart
- add ezpage manager link to ZenMagick admin menu; todos: redirect after
update, sorting, multi page list
- extend ZMTemplateManager to allow group proccessing of (for now) js files
- optionally allow to prepend scheme,hostname,[port] calling
ZMToolboxNet::absoluteUrl
- make ZMToolboxNet::url depend entirely on SEO rewriter - still need to add a
default one...
- make the request id query key configurable via
'zenmagick.mvc.request.idName'
- refactor the 'zencart style' url creation into a (default) SEORewriter plus
some cleanup (more to come)
- use 'category_not_found' and 'product_not_found' more often
- drop $zm_theme from the view (finally!) and replace with utils method
- default 'zenmagick.mvc.view.defaultLayout' to null if not set
- save original requestId in rootRequestId when forwarding
- remove trailing ?> from all .php files in lib
- remove 'errorPage' key (error page view) from theme.yaml as it is not used
any more
- fix invalid l18n key 'LC_TIME_LOCALE' to 'LC_TIME'
- themes: change zm_i18n_get to using ZMSettings to pull the charset; (all
default_layout.php)
- move i18n settings from language/english/i18n.php to theme.yaml
- add ZMLangUtisl::arrayMergeRecursive()
- refactor i18n init code
- drop lib/store/i18n.php
- ih2: Simplify installation by automatically injecting the .js and .css
files, unless hover is disabled (changed the expected path to content/ih2)
- move store yaml files into config folder
- add initial redirector plugin code
- add basic namespace support to the loader
- always add plugins directories to the template path; this obsoletes
ZMPluginView
- add basic support for product meta tags
- fix: do not display inactive categories
- allow plugins to add to the extras menu
- resurrect and improve music product info plugin; remove extras in full
release and allow plugin to populate this on demand
- add music related SQL to musicProductInfo plugin
- hoverbox3: converted
- fualSlimbox: converted
- add initial admin user service and associated class
- renamed ZMZenCartUserSacsHandler to ZMZenCartAccountSacsHandler; this
affects the order_status email
- rename SSL related settings
- add option to ZMPhpCompressor to strip old PHP reference style code; ie: &$,
= & new
- allow to set url mappings in theme.yaml!
- add ZMController::getViewData($request) as convenience method for controller
to provide custom data to views
- move function overrides to avoid collisions in admin when uninstalling all
file patches; this required to manually delete
- includes/functions/extra_functions/zenmagick_zencart_overrides.php
- admin/includes/functions/extra_functions/zenmagick_zencart_overrides.php
- make ZMShippingProviders and ZMShippingProviderWrapper work!
- make the new shipping code available for testing via ajax_demo2 in the demo
theme
- added a new event fired on each search
- added a new event when insufficient credentials
- change checkout_shipping and ZMShoppingCart to using the new shipping
service class
- make ZMCheckoutShippingController actually work; right now this is disabled
as there is still functionallity missing
- changed ZMShoppingCart methods getShippingMethod and getShippingMethodId to
getSelectedShippingMethod and getSelectedShippingMethodId, respectively;
affects checkout_confirmation
- pageStats: add loader object instatiation to stats
- full-release: add all stuff that gets removed from zc-base as zip to
zc_install/optional
- move ZMToolboxNet::url() to ZMRequest
- actually use ZMStoreDefaultSeoRewriter
- reduce toolbox dependencies
- move isFreeShipping method to ZMCheckoutHelper
- change checkout_shipping to allow to display other shipping options together
with free shipping (this is of limited use as zencart disables other modules
when free shipping is detected. it also means that there might be more
than one free shipping option during checkout)
- ZMUrlManager: fix merging of viewId specific mappings and controller defaults
- moved absoluteURL from ZMToolboxNet to ZMRequest; affects product_info pages
(any type)
- make sure the PDO database provider returns booleans as boolean!
- groupPricing: allow to edit/delete group pricings
- unitTests: add all available plugin 'tests' subfolder to class path; this
means all plugins have to do is stick to the convention of having a 'tests'
subfolder for tests and add tests to the custom setting
'plugins.unitTests.tests.custom'
- add fix to make free_free shipping work as expected
- improve ZMEmailView isValid() method
- fix ZMOrder::hasShippingAddress()
- add missing echo for gv related data to views; gv_send.php,
email/gv_send.text.php
- add more error checking for missing products/categories/reviews
- add custom getAllHeaders method as getallheaders is not available for
FastCGI or non apache httpd
- move all store code into store/lib to follow MVC folder layout
- add ZMDefaultSeoRewriter class as default default
- resolve database mapping filename relative to the configured application
path rather than installation path
- autostart session if not new (ZMSession)
- drop Runtime::finish and replace with $request->closeSession(); exit; for
now
- add decode method to ZMSeoRewriter interface and empty (return false;)
implementation to all classes implementing the interface
- add new setting 'apps.store.request.enableZMCheckoutShipping' to make ZenMagick
handle the checkout shipping page; this is disabled by default, so if you
want to try it you'll have to enable (set to true) this first
- add ZMConfig::loadAll()
- change location of templating content in plugins to [plugin-dir]/content and
move current [plugin-dir]/views folder to [plugin-dir]/content/views
- change Plugin::getGlobal() signature and remove references from generic code
- change installation sidebox dummy patch to create dummies for **all** themes
and also **installed** plugins
- add exists() and asUrl() wrapper to ZMView to avoid having to expose savant
to non core code
- remove validation check from ZMTemplateManager's sidebox code; this means
templates need to validate configured boxes
- delete obsolete ZMBoxPlugin class
- merge ZMToolboxNet and ToolboxNet thus making mvc's ZMToolboxNet obsolete
- merge ZMToolboxHtml and ToolboxHtml thus making mvc's ZMToolboxHtml obsolete
- converted: googleAdSense, whoIsOnline
- removed: zm_dual_pricing; this is replaced by the productGroupPricing plugin
- remove rss.in.php and rss.php from default boxes
- add rss.php to demo boxes
- pageStats: display total number of included/required files
- cleanup init_override scripts; requires to delete
includes/init_includes/overrides/init_languages.php
- useo2: fix code that uses references to not doing that!
- templates: gv_send_confirm.php: change open form code from:
$form->open('gv_send_confirm', null, true, array('onsubmit'=>null))
to:
$form->open('gv_send_confirm', '', true, array('onsubmit'=>null))
- gv redemption: Handle gv_mail generated redemption URL (gv_no instead of
couponCode)
- add ZMRequest::seoDecode() [and call] to allow registered seo rewriters to
decode the request
- add path style seo rewriting in the mvc default seo rewriter; the setting
'zenmagick.mvc.seo.type' needs to be set to 'path' for this [this is part of
the generic MVC code and not available as option for the store ATM]
- further improve unitTests code to scan all plugins 'tests' folder for tests
(files starting with 'Test')
- add 'realpath' default seo rewrite type that is the same as path, except
that 'index.php/' is also dropped from the url; this requires a single
rewrite rule (.htaccess, etc.) same as, for example, Wordpress uses
- prefix set_magic_quotes_runtime in Cache_Lite.php with '@'
- pageCache: avoid using $request->getQueryString() as that might not be what
you expect if SEO plugins/rewriter are active
- zm_rss_boxes: removed
- add zenmagick/shared to the root loader class path
- fix ZMRequest::getContext() for empty context; change returned value to omit
the trailing '/' to conform to what the context should be
- improve rounding in ZMTaxRate
- rename setting 'isTaxInclusive' to 'showPricesTaxIncluded'
- fix: add saved tax rate on value returned by ZMOrderItem::getCalculatedPrice()
Show all releases