Changes in VirtueMart 1.1.0 beta2

--- VirtueMart 1.1.0 beta2 released (05.12.2007, Rev. 1076) ---

05.12.2007 thepisu
  1. Task #1320 Adding a "Print" button in order.order_printdetails (small fixes, now working)
03.12.2007 soeren
  1. Task #1579 - Shipping Module Form "Cancel" shows second side menu
  2. Task #1578 - Read Only setting in manage user fields not working.
  3. Task #1577 - Child/sub category; when updated it becomes top-level category
  4. Task #1576 - Search Function doesn't work anymore
03.12.2007 thepisu
  1. tax % not displayed correctly
  2. vmTooltip image alignment (absmiddle)
  3. hardcoded strings in store edit form
    + added link to PHP strftime manual near to store date format
02.12.2007 thepisu
  1. Task #1571 - Some hard coded language strings in admin panel (payment classes)
  2. HTML entites should not be used in SELECT states list
02.12.2007 soeren
  1. Task #1574 - errors in product description
  2. Task #1573 - Bank account language tags missing
30.11.2007 soeren
  1. Task #1553 - Product with multi attribute only the first attribute is shown on frontpage
  2. moved manufacturer- and vendor-specific out of the product class
    + Print Icon on PopUp pages
  3. fixed PayPal SQL install error
    28.11.2007 soeren
  4. Task #1565 - Manage User Fields unclick able.
    27.11.2007 soeren
    - Task #1559 - Customers can select a state/region? Not needed anymore
  5. user form submission not using Ajax
  6. fixed empty virtuemart Cookie under Joomla! 1.5
27.11.2007 thepisu
  1. Task #1547 - User activation link with Joomla! 1.5
  2. euro symbol not converted to html entity
  3. typo corrections
  4. Task #1360 - Hardcoded language in account.order_details.tpl.php
26.11.2007 thepisu
^ language variables are now globally called by using "_" function, like: $VM_LANG->
! language variables must be called without starting "
" underscore; for example, $VM_LANG-> will call $_MYSTRING variable
! html entities are automatically converted in strings; to prevent it (example in javascript alert), use $VM_LANG->
+ language function $VM_LANG->exists('MYSTRING'), return true if string exists in language file
+ charset definition in language file, used for htmlentities PHP function; now language file charset can be different from Joomla! charset
  1. some minor corrections
    + added function $ps_DB->getTableFields(array), for Joomla 1.5 compatibility (function not present in legacy plugin)
24.11.2007 soeren
! Known Issue: Redirection from https => http (if "generally prevent https" enabled) not working on Joomla! 1.5 currently,
because Joomla! 1.5 doesn't know a $mainframe->getCfg('live_site') value other than the currently requested URL
// TODO: make "URL" constant editable in the Shop Configuration (just like the SECUREURL value)
  1. fixed add-to-cart message (ajax response) on Joomla! 1.5
  2. Task #1560 - Error message in product scroller module
23.11.2007 soeren
  1. fixed Currency Selector Module configuration
  2. Task #1554 - Products in unpublished category are shown in search result
  3. Task #1552 - Call for pricing gives 404 not found error message
  4. Task #1550 - In backend Product list Manufacture column does not show other manufacturer's name
  5. Task #1549 - Deleting a state give 'Country ID could not be found' error
  6. Task #1547 - User activation link with Joomla! 1.5 (secondy try)

22.11.2007 thepisu
+ Task #1533 Add Spanish and Italian states in installation SQL
+ added states for Armenia, Iran, India
+ added currency (Armenian Dram)
^ state codes correction (2char codes were not unique) for Brazil, China, Romania (source: Wikipedia/ISO_3166-2)
^ Task #1537 state_3_code UNIQUE KEY ? - Changed unique keys for vm_states table
for update please drop and re-add table; take SQL from "sql.update.VM-1.0.x_to_VM-1.1.0.sql", line 163-628
(the ALTER command will not work because of duplicated 2char codes)
^ product.product_discount_form: popup calendar, updated for using vmCommonHTML::scriptTag and J1.5 compatibility
^ product.product_form: translated string "Search for Products or Categories here:"

21.11.2007 soeren
  1. Task #1548 - Class 'mm_InputFilter' not found
  2. Task #1547 - User activation link with Joomla! 1.5
  3. Task #1536 - Back to the country from state list not functioning properly
18.11.2007 soeren
  1. Task #1541 - Error during installation of com_virtuemart rev. 1039
  2. Task #1540 - virtuemart.cfg.php - offline message, try escaping single quotes with //'
  3. Task #1539 - empty thankyou page, direction to paypal nomore working after rev 1039

13.11.2007 soeren

+ added support for "REPLACE" queries to buildQuery function
  1. States weren't deleted on Country Deletion
    ^ changes most deprecated mos* function calls to separate vm* functions (VirtueMart's own functions)
    Examples: mosGetParam => vmGet, mosReadDirectory => vmReadDirectory, mosRedirect => vmRedirect
    ^ converted more UPDATE and INSERT queries to use the "new" buildQuery function
09.11.2007 soeren
  1. Task #1438 - Adding product not working in IE (it was due to the Tabs being rendered before the DOM was ready)
  2. Task #1530 - Add Attribute - empty save message popup window.
08.11.2007 thepisu
  1. in left menu, corrected forum link to new server ''
  2. changed info text in the JS box when customer click on 'Notify Me' button (waiting list feature)
  3. calendar for availability date was not working in J1.5 (changed lang file to calendar-en-GB.js)
  4. added translation to 'Select Image' for availability images box, and to 'Control Panel' tab
  5. in availability images tip, corrected folder reference; now is taken from theme setting
  6. 'global $ps_product_type_parameter' not defined in product type form
07.11.2007 thepisu
  1. Fixed task #1372 - Hard coded language strings in zw_waiting_list.php (used sprintf for mail translation)
  2. added translations to strings in Product Form / Waiting List tab
  3. in Product Form / Waiting List tab, added user email and notify status; if user was not logged when requested notif,
    before only "()" was displayed, now it's possibile to see his email address
05.11.2007 thepisu
  1. Fixed task #1510 - Order steps are not correct (using PHP 5.2.4, foreach and key() not compatibile)
05.11.2007 thepisu
  1. added translations to strings in VM toolbar / menu / lists (Publish, Unpublish, Please make a selection, ...)
  2. fixed typo
02.11.2007 soeren
  1. changing the ENCODE_KEY could lead to configuration file errors + wrong re-encryption of encrypted data
  2. implemented changes to prevent saving a configuration file with wrong PHP syntax (escaping single quotes and stuff)
  3. Task #1522 - Lost every html-tag in store description!
    ^ implemented a workaround for problems with the "fetchscript.php" script, which loads javascripts and stylesheets. If it
    doesn't load the Ext Library in the backend, the user is redirected to the standard layout with direct javascript and
    stylesheet references
31.10.2007 soeren
  1. fixed a logout problem under J! 1.5 after checkout and on viewing order details
31.10.2007 gregdev
  1. Fixed task #1443 - When in product list a product is selected and New product button in clicked error is given (on simple layout)
  2. Added country to the list of available variables in the address on the final checkout confirmation page
30.10.2007 gregdev
  1. Fixed task #1365 - Order Status not updated after successfull paying with PayPal
    + Joomla! 1.5 compatibility: Added Joomla! 1.5-specific user creation in the VM backend.
  2. Fixed task #1519 - Error in Login Module. PHP 4 compatibility.
  3. Fixed payment method extra info being cut off
29.10.2007 gregdev
  1. Fixed task #1439 Creating new users on Joomla! 1.5 fails. Can now create/edit users in VM backend.
    ^ Added $startForm parameter to ps_userfield::listUserFields() to allow not printing the <form> tag
    ^ Joomla! 1.5 compatibility: PayPal notify.php changes for loading Joomla! configuration and session
27.10.2007 gregdev
  1. Joomla! 1.5 compatibility: fixed saving new user in frontend.
    ^ Adjusted registration complete message to reflect being automatically logged in.

26.10.2007 soeren
+ added new request class (from Joomla! 1.5 with small modifications) to have a CMS-independent request filter and
handler class

25.10.2007 gregdev
  1. Fixed task #1479 - Backend - Cancel shipping address takes user back to user list
    + Added "Remember me" to mod_virtuemart and mod_virtuemart_login. Uses VM_SHOW_REMEMBER_ME_BOX configuration setting.
24.10.2007 gregdev
  1. Task #1415 - no account creation bug (prompt to enter user name with No Account registration option)
  2. Joomla! 1.5 compatibility: Fixed task #1508 - Two different Registration Complete messages in Joomla 1.5 (ps_shopper.php)

24.10.2007 soeren
^ stoeradmins/admins can access the shop even if it is in offline mode
+ added support for the dompdf PDF generation library (PHP5-only and not as good as the HTML2PDF class, but better GIF- and CSS-Support)

17.10.2007 soeren
  1. fixed next/previous product links in Print View
    + implemented "Notify Me!" modification by Corey, which shows a "Notify Me" button instead of "Add to Cart"
    + added new QUERY_STRING filter to better prevent XSS attacks using the query string
16.10.2007 soeren
  1. applied some fixes to the DHL shipping module/label printing function
13.10.2007 soeren
  1. Task #1468 - Can not send 'Recommend this product to a friend' email
11.10.2007 soeren
  1. Task #1431 - Advanced Search Result page direction
  2. Task #1465 - Quantity text still shown when box set to hide
  3. another fix to Task #1471 - Recommend this product to a friend formating lost if form not complete
    ^ moved module-accompanying javascripts from /modules to components/com_virtuemart/js
  4. suppressed html_entity_decode error notices, because of unsupported charsets
11.10.2007 gregdev
  1. Joomla! 1.5 compatibility: more elegant fix for autoloading problem
10.10.2007 gregdev
  1. Joomla! 1.5 compatibility: legacy classes are now registered for autoloading
09.10.2007 soeren
^ removed "eval"s from the image processing function, fixed using the disableToggle function in the product form
  1. fixed Mambo 4.6.2 login issue (+CSV Upload Error) - thanks to Andr? ยน?s
06.10.2007 gregdev
  1. Joomla! 1.5 compatibility: Set $my->gid
03.10.2007 gregdev
  1. Fixed missing $timestamp in order add immediately after checkout
02.10.2007 soeren
  1. fixed Internet Explorer "Operation aborted" error by outsourcing Layout Loading code into /js/extlayout.js.php
    ^ Updated ExtJS from v1.1 to v1.1.1 + fix for Tabs without Text in IE on Joomla! 1.5 in Standard Layout
01.10.2007 soeren
  1. fixed "Recommend to a friend" form
  2. fixed Coupon Discount Value not adjusted when adding products or updating product quantity
01.10.2007 gregdev
  1. Task #1469 - Changed toggler and stretcher code for update mootools (fixes checkout login/registration page accordian)

28.09.2007 soeren
^ Updated MooTools from v1.00 to v1.11 (+ adjustments)

27.09.2007 gregdev
  1. Joomla! 1.5 compatibility: Fixed $mosConfig_absolute_path problem in show_image_in_imgtag.php
26.09.2007 soeren
  1. Task #1444 - Wrong URL when using page navigation in Order information
  2. Task #1455 - confirmation mail --> Orderlink
  3. Task #1462 - Language strings missing in Recommend this product to a friend popup.
  4. Task #1463 - Wrong title in Shipping Module Form
20.09.2007 gregdev
  1. Renamed a string in the account.billing template
    ^ Added account maintenance link and login/logout redirection to the VirtueMart login module; added <br /> after pre-text.
  2. Task #1440 - Deleting a user a Joomla user that is not yet a VM user from the VM backend deletes the user
18.09.2007 soeren
  1. Error when adding a product with attributes using non-ASCII characters
  2. Task #1442 - When in product list a product is selected and New product button in clicked error is given
  3. Theme Stylesheet and JS not correctly loaded when using https
    ^ now a HTTPS redirect is done in the admin section if the module is forced to use https (Joomla! 1.5 only)
    + added a new configuration key that allows to change the encryption function for encrypting sensible data in the database
    You now can switch to the much safer "AES_ENCRYPT" if your MySQL Server Version is >= 4.0.2
    ! This means an important change for all payment modules, which rely on transaction keys from the
    payment_method table (payment_passkey). Instead of using "ENCODE" or "DECODE" in the queries,
    from now on you must use the constants "VM_ENCRYPT_FUNCTION" and "VM_DECRYPT_FUNCTION".
    Example: $database->query( "SELECT ".VM_DECRYPT_FUNCTION."(payment_passkey,'".ENCODE_KEY."') as passkey FROM #__{vm}_payment_method ..." );
    ^ changed the vmIsJoomla Function to accept comparison operators
  4. fixed Transaction Key Change functionality for Joomla! 1.0.13

14.09.2007 gregdev
^ Joomla! 1.5 compatibility: fixed Joomla! pathways
^ Adjusted internal VirtueMart pathways (account maintenance, shop.browse, shop.product_details)
^ Added pathway handling functions in vmMainFrame class
^ Added ps_product_category->getPathway function (supports creating the category URLs)

14.09.2007 soeren
  1. Task #1441 - In extended layout view when saving shipping module, save message is populated by shipping module
  2. Task #1438 - Adding product not working in IE ("Operation aborted" Error in IE when loading the product form)
12.09.2007 gregdev
+ Added a separate VirtueMart login module.
^ Joomla! 1.5 compatibility: fixed password check on payment methods
  1. Fixed missing global $mosConfig_allowUserRegistration in VirtueMart login module
    ^ Joomla! 1.5 compatibility: Added 'Forgot your password' option to the VirtueMart module
    ^ Joomla! 1.5 compatibility: login/registration forms
    ^ Removed the login form from the the shop.registration
    ^ Moved logic from the template (login_form.tpl.php) to checkout.login_form.php
10.09.2007 gregdev
^ Joomla! 1.5 compatibility: load compat file in virtuemart_parser (for use in modules, etc); added global user registration settings
  1. Joomla! 1.5 compatibility: Task #1423 - Fixed login/logout from mod_virtuemart.
    ^ Joomla! 1.5 compatibility: tigratree change
  2. Joomla! 1.5 compatibility: Task #1427 - Selecting All in shop.browse results in no records

06.09.2007 macallf
+ Added autofill of user name and email address for logged in user when using email to a friend.
^ Added index2.php to the available pages for adding a stylesheet in function addStyleSheet - mainframe.class.php

06.09.2007 gregdev
  1. Joomla! 1.5 compatibility: Task #1419 - adjusted mosConfig_cachepath
06.09.2007 macallf
  1. Task #1386 implemented page navigation at product level. Corrected get_neighbour_product in ps_product.php
06.09.2007 macallf
  1. Task #1389 Saved cart reappears after checkout. ps_checkout.php edited to delete saved cart.
  2. Delete saved cart pointed to wrong function. sql.virtuemart.php Corrected with the correct functio name.
05.09.2007 gregdev
  1. Joomla! 1.5 compatibility: Task #1410 - initialize editor correctly for front-end admin
  2. Task #1411 - changed to use string from Virtuemart language file
05.09.2007 macallf
  1. Task #1400 ps_cart.php fixed to display tip when adding 0 products to the cart using childlist
04.09.2007 gregdev
^ Added DHL shipping method strings to the language files (thanks to aravot!)
  1. Fixed blank page after payment confirmation (corrected the LEFT JOIN)
  2. Fixed terms of service checkbox layout
03.09.2007 gregdev
  1. Task #1387 - admin.theme_config_list.php missing
  2. Fixed hardcoded strings in admin.show_cfg.php and admin.theme_config_form.php.
    ^ Joomla! 1.5 compatibility: Added $ps_product to list of globals in virtuemart_parser.php
    ^ Joomla! 1.5 compatibility: change in the compatibility file
    ^ Joomla! 1.5 compatibility: tigratree template change to support new JApplication structure
29.08.2007 gregdev
  1. Added Shipping module language variables
25.08.2007 soeren
  1. Task #1357 - Performance problems creating new products
  2. Task #1394 - Change of heading level required in get_shipping_method.tpl.php

23.08.2007 gregdev
^ Joomla! 1.5 compatibility: change in the compatability file
^ Joomla! 1.5 compatibility: PayPal IPN script updated (notify.php)

17.08.2007 gregdev
^ Use month names and _DO_LOGIN from VirtueMart language file.

01.08.2007 gregdev
+ Added a cleared <br /> element so that the floated divs fill the container

30.07.2007 gregdev
^ Joomla! 1.5 compatibility: TigraTree product category module
^ Adjustments to Joomla! 1.5 compatibility file
^ Joomla! 1.5 compatibility: Set local version of $CURRENCY_DISPLAY in global.php
+ Get $keyword from the $_REQUEST before cleaning it (virtuemart_parser.php)
+ Joomla! 1.5 compatibility: Added $_VERSION to globals in shop.debug.php

27.07.2007 gregdev
^ Adjustments to Joomla! 1.5 compatibility file.
^ Changes in modules for Joomla! 1.5 compatibility; added string to language file.
  1. Removed debug code in shop.basket_short.php.

25.07.2007 soeren

^ Task #1311 - Dates in order_print / order_printdetails not localized
!!! DATABASE: TABLE STRUCTURE CHANGE ### # 25.07.2007: Allow to set address and date format
ALTER TABLE `jos_vm_vendor`
ADD `vendor_address_format` TEXT NOT NULL ,
ADD `vendor_date_format` VARCHAR NOT NULL;
UPDATE `jos_vm_vendor` SET
`vendor_address_format` = '{storename}\n{address_1}\n{address_2}\n{city}, {zip}',
`vendor_date_format` = '%A, %d %B %Y %H:%M'
WHERE vendor_id=1; ###
+ Global Address Format can be set in the Store Form now - as well as the global date format
  1. Task #1356 - problems with "implemented page navigation at product level"

24.07.2007 soeren

  1. Task #1344 - related product list too long, memory exausted
    ^ improved the related products selection screen - it features an auto-completing search field now
    + added new JSON class to send JSON encoded responses
  2. fixes for Joomla! 1.0.13 compatibility
    ^ changed Product Review List to show reviews from all products - ordered by posting time,
    not only filtered by one product; TODO: Notification of
16.07.2007 gregdev
  1. Task #1328 - long php opening tags missing in vendor.vendor_form.php
06.07.2007 gregdev
  1. Check for set $_REQUEST entries before resetting values
05.07.2007 gregdev
  1. Corrected filename error in usps.ini
  1. Corrected PHP short tags in USPS shipping module

25.06.2007 soeren

^ Updated the USPS Shipping module to version 3.0 (thank you Corey!!)

20.06.2007 soeren
  1. integrated patches to ExtJS for Konqueror Compatibility
  2. Task #1306 - Page Navigation doesn't work after switching off the display at the top of the prod.listing frontend
  3. fixed non-array error in mod_virtuemart_currencies.php
19.06.2007 soeren
  1. Task #1297 - Coupon discount total does not adjust after removing item from cart (basket.php, ps_cart.php)
  2. Task #1299 - Credit card number accepts a string as valid (ps_payment_method.php)
  3. Task #1319 - Lockup issue with permissions on browse_* files. (ps_main.php)

13.06.2007 soeren

  1. Task #1316 - When deleting orders, records in 'order_history' and 'order_user_info' are not deleted (ps_order.php)
05.05.2007 gregdev
  1. Fixed DEFAULT value for product_id (#__{vm}_product_reviews) in sql installation files.
    ^ Use _PN_DISPLAY_NR from VirtueMart language strings.
03.05.2007 gregdev
  1. Task #966 - Cleared credit card info when using non-credit card payment method.
  2. Fixed a text size bug in the product scroller.
03.05.2007 soeren
+ new configuration parameter: VM_STORE_CREDITCARD_DATA (default=1), the store owner can choose wether credit card information shall be stored encrypted in the database or not
  1. Test Mode didn't work. The host is not used anymore. VM will use a POST var instead to indicate a test request.
  2. Response Codes were not correctly recognized due to a wrong setting of the encapsulation character for the response string.

02.05.2007 soeren

  1. Task #1280 - Checkout Bar Wrong URL
27.04.2007 soeren
  1. Task #1273 - Error in creation of HTML confimation Email if more than a specific amount of products was ordered
  2. Task #1272 - Error in product attributes with attribute depending price modifier
    + all downloads from the shop can be paused and resumed now (this is extremely useful when downloading bigger files)
24.04.2007 gregdev
  1. Fixed task #1264 - changed error reporting to use vmLogger; changed notification to use vmMail.
  2. Fixed incompatibility for PHP 4.x with complex quoted string.
23.04.2007 macallf
  1. Added multiple prices to price table
    + Recently viewed products
    + Featured products on shop.index
    ^ shop.index.php changed to template system
    + added new functions
    !!! Database Table - New Entries
    Database table jos_vm_functions
    (187, 7, 'replaceSavedCart', 'ps_cart', 'replaceCart', 'Replace cart with saved cart', 'none'),
    (188, 7, 'mergeSavedCart', 'ps_cart', 'mergeSaved', 'Merge saved cart with cart', 'none'),
    (189, 7, 'deleteSavedCart', 'ps_cart', 'deleteSaved', 'Delete saved cart', 'none'),
    (190, 7, 'savedCartDelete', 'ps_cart', 'deleteSaved', 'Delete items from saved cart', 'none'),
    (191, 7, 'savedCartUpdate', 'ps_cart', 'updateSaved', 'Update saved cart items', 'none');" );
    ^ saved cart, now more comprehensive
16.04.2007 macallf
  1. Fixed task 1265: uninstall doesn't drop all tables.
14.04.2007 macallf
  1. Fixed task 1261: navigation pathway only showing last category.

12.04.2007 soeren

+ added a new table "jos_vm_cart" to store the contents of the cart of logged-in users
!!! DATABASE STRUCTURE CHANGED !!! ### Permanently store the cart contents for registered users
CREATE TABLE `jos_vm_cart` (
`user_id` INT NOT NULL ,
`cart_content` TEXT NOT NULL ,
PRIMARY KEY ( `user_id` )
) TYPE = MYISAM COMMENT = 'Stores the cart contents of a user'; ###

11.04.2007 soeren
^ updated ExtJS from 1.0 alpha3 to 1.0 beta2

10.04.2007 soeren

+ added a filtering option to the related product select list, so searching for products is easier now

05.04.2007 soeren

^ changed "related products" form in product form to use Option Tansfer from one select list to another
for better overview what was selected as related (using OptionTransfer.js by Matt Kruse - )
You can even use double click to move products from one list to the other

03.04.2007 soeren

+ added page navigation on product level, so customers can go directly from one product to the next in that category/manufacturer/search result
^ product details page automatically grabs the Flypage of the category of the product if the flypage parameter was omitted from the URL

30.03.2007 gregdev
^ Changed shop_browse_queries.php to use a LEFT JOIN for #__{vm}_shopper_vendor_xref (fixes empty categories when table entry is missing).

28.03.2007 gregdev
  1. Fixed task #1212: ship_to_info_id and shipping_rate_id were not being passed to the template.

16.03.2007 gregdev
^ Improved the FedEx shipping module.

15.03.2007 soeren

  1. JoomFish language setting is overwritten in virtuemart.cfg.php
  2. CSV Upload not recognising correct Mime Type due to case-sensitive equality check
    + added a Feed Icon to the category name in the browse page (can be toggled on/off in theme configuration)
    + added Product Syndication system that allows to provide "Product Feeds" to customers
    The URL for the feed is "index.php?option=com_virtuemart&page=shop.feed". A category_id
    can be specified in the URL to filter the syndicated products by a certain category

13.03.2007 soeren

  1. Task #1187 - Virtuemart does not redirect correctly if only 1 payment option is available. (ps_checkout.php)
  2. Task #1200 - checkout.thankyou shows empty page when order_total is 0 (checkout.thankyou.php)

11.03.2007 soeren
^ changed the product list price form to use nice MessageBoxes from ExtJS
^ changed from YUI-EXT 0.33 to new ExtJS (1.0 alpha3 Rev 1, by same author)

08.03.2007 soeren

  1. Prevention for negative cart values upon using a constant value coupon (ps_coupon.php,

03.03.2007 gregdev
+ Added Tigra Tree category menu

01.03.2007 gregdev
^ optimized category tree creation

26.02.2007 gregdev

^ moved account.billing, account.orders, and account.shipping into templates
  1. changed ps_shopper->update to return to $page on error, rather than just checkout.index

23.02.2007 soeren

^ updated YUI to version 2.2.0
^ updated Scriptaculous to version 1.7.0
^ updated Prototype to version 1.5.0
  1. changing the ENCODE_KEY would re-encode the encrpyted data even if writing the configuration file fails and the old ENCODE_KEY is NOT changed due to missing file permissions
    ^ moved Login/Registration Form during Checkout into a template
  2. submit_form() is not defined on last step in checkout
    ^ moved Shipping Address form into template

VirtueMart 1.1.x