Versions prior to 4.0 (April 2005) are noted on this page.
Click here for current version
release notes.
April 2005
Began numbering major new version releases with 2 digits and
using the third digit fo intermediate, development versions
and patches.
3.9.9
Fixed a bug in deliver.php, which caused a time expired message
when attempting to login to download updates. This bug was
introduced when updates support was added to wholesale orders
in version 3.9.6.
Fixed minor layout glitch in the plain text receipt, only
when no special instructions are included. The line break
was missing before MERCHANT INFORMATION.
Fixed bug in buy.php. The discount was doubled if the product
had a license agreement and if it had any attributes but only
if the "Add To Cart Confirmation Window" was set
to No.
Added the new fields in ashopdelus. All customers who use
2CheckOut will need to add their entire product list to their
2CO account and make sure that the right AShop product ID
is registered there for each product.
3.9.8
Changed digital product delivery passwords to exclude characters
that can cause confusion such as lower case l, numeral 1,
the letter O o and 0 (zero).
Fixed bug in orderform.php, which caused credit card decline
for payment methods other than Authorize.Net AIM where the
payment form is hosted locally. This bug seems to have been
introduced when Authorize.Net AIM was added in version 3.9.7,
which was never publicly distributed.
Added support for form submission with customer entry attributes
to shipping.php and added form code generation to editcatalogue
listing for each product.
~~~~~~~~~~~~~~~~~
3.9.7
Added automation fulfilment option.
Changed the shipping.php script to make it accept attributes
and their values in a way that works for forms. Modified the
admin/editcatalogue.php script to make it generate the html
code for the form when you click the link icon since it would
be pretty complicated to create the code manually.
Added AutoRate (Watkins ML) shipping calculation method,
which is used for large and heavy items such as furniture
that are shipped by common carrier. On the Edit Shipping page
in the admin panel you can now select Watkins ML as shipping
method. Multiple packages and origin zip codes are supported
just like with the FedEx or UPS shipping. Besides the usual
origin zip and weight settings you must also specify a freight
class for each package. The classes must be exactly right
or there will be an incorrect zip code error when submitting
the shipping destination. See FAQ on watkins.com
Note: Some customers have commented that immediately after
logging into the admin panel, they are logged out upon clicking
on a menu link and must login a second time. Check the Shop
URL setting in Shop Parameters > Advanced Options. If the
URL is set to http://yourdomain.com and you login from http://www.yourdomain.com
the cookie won't be valid for http://yourdomain.com and you
will be redirected to $ashopurl/login.php where you can login
once more and get a valid cookie. The solution is to login
to admin using the same URL format that is set for the ashopurl.
The ashopurl should be set the way that customers are directed
to the site, which is typically www.yourdomain.com.
Added Authorize.Net AIM payment processing option.
Note: When no template is present, the logo image that is
specified in the "SSL URL to logo image" setting
of the payment option will be used in payment confirmation
(thankyou) pages. If the "SSL URL to logo image"
setting is not appearing in the payment option, set the payment
gateway module parameter $gw_parameters['logourl'] = "true";
It is now possible to set customer input attributes through
the Order-Link method. You must specify the attribute ID in
the URL. There is now a link icon on the Product Attributes
page for customer input attributes (attributes with zero alternatives)
which will generate the correct URL with the attribute parameter
and display it in a small pop-up window.
There is now a password recovery script for subscription
products. The new script is called sendsubscrpass.php. It
lists all available subscriptions in a drop down list which
the customer can use to select the one he wants to retrieve
the password for. The customer will also need to enter his
email address. The script will then look up the password in
the database and send it by email. This script can also easily
be used to retrieve passwords for one specific protected directory
at a time by making a custom form that posts to the script
and send two fields: email - which is the email address that
the customer used when he bought access to the directory,
and subscription - which is the product ID of the subscription.
~~~~~~~~~~~~~~~~~
3.9.6
The "ListMail Pro Path" setting on the third party
tools installation page and the advanced options page in admin
has now been changed to: "ListMail Pro URL" and
the ListMail Pro list ID must now be specified in a text box
instead of the old drop down list for each product. When someone
buys the product the AShop order.php script will call the
signup script in ListMail just like if someone signs up through
a form which means that ListMail Pro will automatically send
the welcome message.
Added integration to Moneris eSelect Plus payment gateway.
Added one-time discount (gift certificate) feature. A discount
code for a product can now be set to "One time discount"
with a checkbox which leads to a new page where a list of
allowed email addresses for the discount can be managed. There
is also an upload box for importing a large number of addresses
which need to be in a plain text file and must be separated
with linebreaks. Duplicate email addresses will not be accepted
when entering one at a time or when uploading a list. This
feature can be used like the regular discounts or you can
set the discount value higher than the products own price
to make it work like a gift certificate that will be applied
to the total cost of all purchased products. To create a one
time gift certificate you'd first add a product with the price
set to 0, add a discount with one time activated and the discount
value set to the amount of the gift certificate and then finally
add all the email addresses that can be used together with
the code to activate the discount. The one time discount codes
will only work for a quantity of one product (or gift certificate).
If the quantity box is set higher than 1 the code will not
be accepted and if the same discount is used more than once
it will only be applied to the first item. Without this restriction
there would be no way to prevent a customer from adding a
huge number of gift certificate codes and getting everything
in the catalogue for free.
There wasn't any way to get attribute and alternative numbers
to use in OrderForm links other than looking them up in the
database. Added a method for getting the numbers. Next to
each alternative there is now a link icon that is automatically
linked with the right URL for buying the product with this
alternative through the orderform method. When you click the
icon it will popup a window with the URL in a textbox which
you can easily copy.
Changed warning message when deleting product to be clear
that the product will be completely deleted (as opposed to
deleting a copy of the product in that category).
Fixed Echo gateway module no longer worked because the amount
was sent in an incorrect format.
Send Update sends to wholesale customers now, in addition
to retail customers who have ordered specific products.
Fixed bug in download.php script that did not limit number
of downloads for product files. (introduced in 3.9.0?)
Fixed parse error when downloading products in some cases.
The download script is called through a special case of GET
parameters that wasn't emulated correctly by the vars.inc.php
(it assumed that it would receive variablename=value pairs
but download.php uses only the variablename part). The reason
why we haven't seen this before is that there aren't that
many customers that need to use the vars.inc.php script anyway
and those who do have probably not been selling downloadable
products until now.
In the wholesale reports, since the digital mall features
were added, there was a conflict between two database field
names that were used for wholesale orders and digital mall
members, which caused wholesale sales reports not to work.
~~~~~~~~~~~~~~~~~
3.9.5
The shipping option part of the receipt templates wasn't
marked up with tags which made it appear always, whenever
shippable products were ordered. Added a tag for this part
and modified order.php and reactivate.php to use this new
format
Fixed bugs in ashopfunc.inc.php. The variable that contained
the list of product files wasn't reset for each new product
and all downloads were blocked when a customer input attribute
was used, which caused duplicate download buttons when multiple
downloadable products were ordered.
~~~~~~~~~~~~~~~~~
3.9.4
admin/reactivate.php for subscription directories now includes
the link to the directory with the password when the receipt
is reactivated/resent.
Fixed a bug in the ashop_showtemplateheaderssl() function
in ashopfunc.inc.php. It removed the first " after the
src parameter in the logo image tag, which caused the logo.gif
image link to be broken in the thank you page only when hosted
by a remote payment gateway AND a thankyou.html page template
was not present.
Fixed shop name text was missing from the link in the thank
you page only with some payment options. The problem was apparently
still there but it only affected payment gateways that use
server to server processing of the orders in the background
(like offline.gw).
~~~~~~~~~~~~~~~~~
3.9.3
Not sure when this bug crept in. Probably between 3.9.0 and
3.9.2. Fixed shop name text was missing from the link in the
thank you page.
Added database backup feature (admin/backupdb.php). Click
the Backup icon on the index.php page after logging in to
the admin panel to get a complete backup that can be used
in phpMyAdmin. To upload and restore from a backup use admin/importdb.php
Added a version check. The only thing that needs to be updated
for each new version is the file admin/version.inc.php. The
update.php script uses this script to update a setting in
the database and config.inc.php compares these two values
to determine if the database matches the scripts.
Fixed the editfiles.php script, used an incorrect variable
name for the redirect to editshipping.php, which caused the
shipping settings to not be saved when adding a new product.
Updated the toplist script to make sure it doesn't report
products with a price of $0.
The add/editsubscr.php scripts had not been updated for a
while and didn't work together with the other scripts. These
scripts are now up to date with the new features.
The version number in help.inc.php has been removed and the
template.inc.php script uses the one from version.inc.php
for the alt text instead.
Added database error handling in config.inc.php
Fixed reactivate.php to handle plain text receipt option.
~~~~~~~~~~~~~~~~~
3.9.2
Fixed bug in order.php where plain text receipts included
content from HTML receipt template.
~~~~~~~~~~~~~~~~~
3.9.1
Apparently on some webservers the $_SERVER['HTTPS'] flag
which indicates that a secure connection is being used, would
be set to "1" instead of "on". This was
causing the secure login for processing of offline credit
card payments to result in a non-secure connection error.
There was a bug in the sendgift.php script which only affected
gifts sent to new customers that weren't already in the database.
This has also been fixed.
~~~~~~~~~~~~
3.9.0
Changed from SourceGuardian to IonCube PHP encoder.
Added plain text receipt option and plain text receipt template
for English language.
On the page Store Configuration->Shop Parameters you will
now find an option labeled: Receipt mail format. It can be
set to HTML or Plain text. If "Plain text" is selected
the template that will be used is admin/receipt-$language.txt
or admin/receipt.txt if there is no template for the selected
language.
Cleaned up the receipt template code and made it more comprehensible.
The <!-- AShopdivider --> tags have been replaced with
more descriptive tag pairs. For instance: <!-- Specialinstructions
--> and <!-- /Specialinstructions --> define the
conditional special instructions part of the receipt which
will be left out if not needed. Check the source html of the
receipt templates to see all the tags. The same tags should
be used in the plain text versions of the templates.
You will now find a new button in Edit Catalogue, labeled
"Gift". Clicking it will give you the option to
send a message to anyone along with delivery login information
for the product files. This feature stores the gifts as regular
but unprocessed (to avoid them showing up in the sales report)
orders and has the same restrictions (number of days and/or
downloads) that apply to paid product delivery. If the email
address you send the gift to belongs to a customer that is
already in the database the order will be assigned to this
customer otherwise a new customer will be created with missing
fields set to "Unknown". For gifts where there are
more than one product files for the product, set up attributes
to select the files to be delivered. To restrict the gift
to one particular file you should first define an attribute
alternative that is assigned to a file and then select that
alternative on the Send Gift page. This way the gifts will
be stored just like a special type of orders and can eventually
be handled by the sales report. If you don't use an attribute
all the available files will be included in the gift, just
like they would if a customer bought the product.
Left justified category names with line breaks.
The distributed program files are now encrypted and compiled
using IonCube. The loaders are automatically updated by the
AShop Deluxe program. Open source scripts will run along with
scripts that are compiled using IonCube so that script modifications
may be done selectively.
Added support for integration with ListMessenger Lite 1.0.
When the editcatalogue.php script first opened, it selected
the first category in order of categoryid instead of ordernumber.
This has been fixed now.
Added attribute product file selection feature. Instead of
the old disable download checkbox on the attribute alternatives
page you will now be able to select all files, no files or
one specific file to connect to each of the alternatives.
If an alternative is connected to a specific file only that
file will be available for download on the delivery page.
In order to avoid conflicts, product files can only be linked
to the alternatives of one attribute for each product.
Added option on attribute alternatives page to activate separate
prices and buy buttons and to set shipping and/or tax overrides
for each alternative. In order to avoid conflicts, separate
buy buttons, alternative prices, shipping override, and tax
override can only be used with one attribute for each product.
Fixed - The editcatalogue.php script selected the first category
in order of categoryid instead of ordernumber.
Added multiple downloadable files per product option.
There currently isn't a way to check how many times a product
has been downloaded from within AShop, but I put together
a simple script that will help you retrieve this information.
Just upload the script to your server in the same directory
that AShop has been installed in and call it in your browser
with the parameter "email" set to the email address
of the customer you would like to check. For example: www.yourdomain.com/checkdownload.php?email=customer@yahoo.com.
This will provide you with a list of all orders the customer
with that email address has placed and how many times each
individual product in the order has been downloaded. The list
is ordered by date of purchase with the latest order first.
Added second level for setting affiliate tier-1 and tier-2
commissions. The commission is still set on the Affiliate
page in Store Configuration but now you can set two levels.
On the affiliate profile page you can switch an affiliate
to level 2.
Reports now have alternating grey/white rows for easier reading.
The themes in ashopdelus now have a setting in the theme.cfg.php
file for restricting the allowed languages. It looks like
this:
// Allowed languages...
$themelanguages = array("en","sv");
The language.php script will only show the flags for the languages
that are allowed by the current theme and the other scripts
will use the default language (English) if a language that
isn't allowed, has been selected.
When a category or sub-category is already selected and the
New Category button is clicked, there is now only two options.
1. Add a top category. 2. Add a sub-category to the currently
selected category or sub-category (not shown if sub-sub-category
is the currently selected category).
Attribute alternatives can now have a price set for each
alternative. Only one set of alternatives for each attribute
can have prices. When prices are set in the alternatives,
separate buy buttons and prices appear in the catalogue. The
attribute prices and separate buy buttons will now work with
shopping cart turned on or off. A gif image may be displayed
in the catalogue in place of each alternative by naming it
the same as the alternative, but in all lower case and uploading
it to the images directory. For instance, if the alternative
is named "CD", the image file name should be cd.gif.
The orderform method can now be used to set an attribute.
Just send the parameter "attribute" with the value
"$attributeid:$valueid" to shipping.php, like this:
http://www.ashopsoftware.com/ashopdelus/shipping.php?product=15&quantity=2&attribute=5:13
This method is also used by the buy buttons in the catalogue
when shopping cart is turned off, which is why it had to be
completed for the separate buy buttons to work |