WebsiteBaker official Homepage

BAKERY - WebsiteBaker Shop Module

ABOUT

WebsiteBaker CMSBakery is a WebsiteBaker shop module with catalog, cart, stock administration, order administration and invoice / delivery note / reminder printing feature. Payment in advance, invoice, cash on delivery and different payment gateways like PayPal, iDEAL (third party) or SOFORT Überweisung / SOFORT Banking.

Bakery does not seek to be a full-fledged webshop.

WebsiteBaker is a PHP-based content management system which aims to enables users to produce websites with ease.

Learn more about WebsiteBaker:
www.websitebaker.org

SHOWCASE

There are several sites installed and running on Bakery that serve as good examples of what can be done.

Please keep in mind that these sites were developed to client specification. You may not agree with the look, feel or any other aspect of these sites, but these do serve to show Bakery's adaptability to a variety of website styles.

NOTE: THESE ARE LIVE SITES! PLEASE DO NOT ISSUE TEST ORDERS OR TRANSACTIONS AGAINST THEM.

If you want to have your Bakery shop listed here please contact me.

 

FEATURES

This feature list refers solely to the latest version.

  • Shopping cart with payment in advance, invoice, cash on delivery and different payment gateways like PayPal, iDEAL (third party) or SOFORT Überweisung / SOFORT Banking.
  • No additional skin, fits into your WB template
  • If needed the shop layout and design can be completly customized by editing the HTML templates
  • Use MiniCart to display the number of items and the total amount of all items in the cart on any page you want
  • Cart view is optional after adding an item to the cart
  • 3 checkout steps: address form > payment method > summary > click to buy
  • Textfield at checkout lets customers attach a message to their order
  • No customer registration needed
  • For logged in customers Bakery tries to retrieve their address data of a previous order to prepopulat the address fields
  • Optional shipping address
  • Customer has to agree to your terms and conditions
  • Supports different categories
  • Sends emails with purchase details to shop merchant and to customer
  • Order administration and invoice / delivery note / reminder printing feature
  • Reminds the shop admin of unpayed invoices after payment deadline
  • Item overview page with thumbnails/images, item names, prices, brief descriptions, item option(s), available stock and "Add to cart" buttons
  • Item detail pages with thumbnails/images, item name, sku, price, shipping per item, full description, item option(s), available stock and "Add to cart" button
  • SEO friendly URLs
  • Supports multiple item thumbnails/images which can be ordered manually
  • Supports image data such as title, alt, caption and an item attribute can be assigned
  • Use Lightbox2 to show the item images
  • WYSIWYG editor for the item full description
  • CSS editor (requires WB 2.7 or later)
  • Optional shipping per item
  • Up to 3 free definable item fields
  • Assign one of 3 predefined tax rates to a single item
  • Multiple options (e.g. colour; size) and unlimited option attributes (e.g. red, green, blue...; XXL, XL, L, M, S) with price variance
  • Optional stock administration
  • Display item stock to customers as number, as image or as an info text (in stock | short of stock | out of stock)
  • Option to switch item activ/passiv
  • Move or duplicate an item with its thumbs and images to another section/page
  • Supports Google Analytics to track visitors progress through a funnel
  • Upgrade script
  • Prepopulated default settings

 

SETTINGS

This settings list refers to the latest version.

The setting pages are prepopulated by default but have to be modified to your needs.

First get a quick overview:

  1. General settings are shop settings which apply to all Bakery pages and can not differ from page to page.
    Some rarely changed default values can be set in the config.php file.
  2. Page settings apply to one Bakery page only.
  3. Payment method settingsare shop settings which apply to all Bakery pages and can not differ from page to page.

Beneath there will be given more detailed information on some settings:

 
1. General settings
  • Shop name, email, country and state settings
  • Rename the Bakery pages directory
  • URL to "Terms & Conditions"
  • 4 different shipping address form settings
  • Different address forms to fit country standards
  • Skip cart view after adding an item to the cart
    (MiniCart strongly recommended)
  • Display Bakery settings to WebsiteBaker admin only
  • Up to 3 free definable item fields
  • Show stock to customers as text, image, number or not at all
  • Allow the customer to order out of stock items or in stock items only
  • Currency and number format settings
  • Apply sales tax to shop country, shop state or not at all
  • Up to 3 different tax rates
  • Tax included or excluded
  • Add a VAT no field to the address form
  • Edit list of EU tax zone countries
  • Set tax rate for shipping
  • Shipping per item AND/OR shipping based on:
    • a flat amount
    • number of items
    • number of positions
    • percentage of the order subtotal
    • the highest item shipping rate that makes part of an order
    • free shipping
  • Different shipping for domestic, abroad and a third one according to a group of specified countries
  • Free shipping over certain order totals
2. Page settings
  • Option to switch shop page(s) online/offline
  • Set the "Continue Shopping URL"
  • HTML template settings (main page and item detail page)
  • Set items per page and number of columns
  • Select the thumbnail size
  • Set where to use Lightbox2
  • 3 ways of updating the page settings
3. Payment method settings
  • Select the payment methods respectively payment gateways
  • Enter the required payment gateway account details
  • Edit the email contents


TERMS & CONDITIONS

Create a new WebsiteBaker page with the terms & conditions of your shop and add the URL of this page to the "Terms & Conditions URL" field in the general settings.

On the summary page customers have to agree to the terms & conditions of your shop before completing their order. On the left hand side of the "Submit order" button there is a link to the terms & conditions page and a checkbox which customers have to check otherwise they will be asked to.

If you do not want to take advantage of this feature just leave the field blank. This means that customers will be able to complete an order without agreeing to the terms & conditions.


SHIPPING ADDRESS

Select one of 4 different shipping address form display settings:

  • Never display the shipping address form
  • Not displayed by default but can be added by customer
  • Displayed by default but can be hidden by customer
  • Always displayed, no adding or hiding by customer


ADDRESSES and the their [PLACEHOLDERS]

There are 3 types of addresses:

  1. [CUST_ADDRESS]: Customer address
    Contains the data of the first part of the Bakery address form: The customer postal address, phone number and email.
    It is the main address and used for billing and - if no shipping address is provided by the customer - for shipping as well.
  2. [SHIPPING_ADDRESS]: Shipping address
    If the shipping address differs from the customer address and it is provided by the customer,
    it contains the data of the second part of the Bakery address form: The shipping postal address.
    It is used for shipping only.
  3. [ADDRESS]: Either the value of [CUST_ADDRESS] or - if provided by customer - the value of [SHIPPING_ADDRESS]


FREE DEFINABLE ITEM FIELDS

Add up to 3 free definable fields to your items. Define them in the general settings and they will automatically be available on the add/modify item pages.

In the template use placeholders like [FIELD_1], [FIELD_2] or [FIELD_3] and [TXT_FIELD_1], [TXT_FIELD_2] or [TXT_FIELD_3] to display the entered values.

For further information about placeholders refer to the Bakery "Page Settings" > "Help" page and read about Bakery templates.


DISPLAY ITEM STOCK TO CUSTOMERS

Display item stock to customers as number, image or as an info text like "in stock", "short of stock" or "out of stock" depending on the current value of the "in Stock" field of the Stock Administration.

If the item stock field has been left blank Bakery will display "n/a" on frontend pages.

If you have selected to display item stock as image or as an info text please specify the range of quantity when you want to have the "short of stock" message displayed.

Customize the used stock icons in_stock.gif, short_of_stock.gif and out_of_stock.gif in the directory /bakery/images/ to fit your needs.

Make sure you have added the appropriate Bakery placeholders [STOCK] and [TXT_STOCK] to your Bakery layout templates. For further information about placeholders refer to the Bakery "Page Settings" > "Help" page and read about Bakerytemplates.


TAX RATES

  • Set up to 3 different sales tax rates in the "General Settings". Using multiple tax rates the invoice item table will display them per item.
  • On the "Add product" or "Add/Modify Product" page you can assign one of the predefined tax rates to a single item.
  • Choose wether you want to have prices including or excluding tax.
  • Apply sales tax to the shop country or the shop state (requires Bakery v0.9.6 or later). The sales tax is only charged if the country or state the customer has entered in the address form will match the shop country or shop state set in the "General Settings".
  • EU tax zone is supported.
  • Bakery can check EU vat numbers entered by customers.


SHIPPING

Basically there are 2 independent ways of setting the shipping: "Shipping based on..." and "Shipping per item". Of cause you can combine them.

  1. "Shipping based on..." will calculate the shipping from the "orders subtotal". You can choose 5 different ways how Bakery will calculate it.
    Shipping based on:
        • a flat amount
        • number of items
        • number of positions
        • percentage of subtotal
        • item with the highest shipping cost of an order
        • no shipping
  2. "Shipping per item" will calculate the shipping from the preset shippings per item. Set the shipping per item when adding or editing an item.
    Else, just leave the field blank for no shipping per item and Bakery will not show it in the shopping cart at all.

The total shipping charges are not displayed in the cart but on the summery page.

>> Read more about "Shipping subtotal and total at cart and summary pages"


FREE SHIPPING

You can set a free shipping limit. That means if a customer exceeds your preset limit he will get free shipping.
The setting "Free shipping over" is set to 0 (zero) by default. In fact your customers will get free shipping all the time.
Modify this value to fit your needs.
E.g. if set to 100 your customers will get free shipping if the order subtotal is equal or greater than 100.

If you do not want free shipping at all set the value to 99999.99 assuming no shipping coasts will reach this high.

Besides you can inform your customers about the free shipping limit by showing a box on the summary page.


CONTINUE SHOPPING URL

"Continue Shopping URL" default value is the URL to the current module Bakery page. When a user leaves the cart by clicking on the "Continue Shopping" button Bakery will jump to the given page.

Bakery version 0.9.5 or later:
To prevent misentry a drop down list shows all URLs of module Bakery pages. In most instances you will not have to change it at all. But in case you want to forward your customer to another Bakery page than the current one, select the target URL.

Bakery version 0.9.4 and previous:
Modify the URL in the "Continue Shopping URL" textfield to another Bakery page or at least to a page containing a module Bakery section.

PLEASE NOTE:
The "Continue Shopping URL" must link to a Bakery page or page containing a Bakery section otherwise Bakery will not work!

KNOWN BUG: (only affects Bakery v1.3.6 and below)
If you change the menu title of a Bakery page, the "Continue Shopping URL" is not changed automatically and still points to the former page which will end up in a "404 Not Found" error. Just open the "Page Settings" and resave them to update the "Continue Shopping URL".


PAGES DIRECTORY

Rename the Bakery pages directory in the general settings to achieve even more SEO friendly URLs.

By default the Bakery pages directory which contains all item detail pages is named "bakery". Change it to a more meaningful name like "shop", "products" or whatever makes sense in your shop.

PLEASE NOTE:
Make sure you have added at least one product to the shop before renaming the Bakery pages directory otherwise it will fail.


VALUES FOR ITEM QUANTITY

Change the default values for item quantity in the "Page Settings" > "Layout Settings". Change the HTML in the "Item Loop" AND the "Item Footer" as follows:

Quantity = 0:
<input type="text" name="item[ITEM_ID]" value="0" size="2" style="text-align: right" />
Quantity = 1 (default):
<input type="text" name="item[ITEM_ID]" value="1" size="2" style="text-align: right" />
Quantity = blank field:
<input type="text" name="item[ITEM_ID]" value="" size="2" style="text-align: right" />
Quantity = 1, no (hidden) text field:
<input type="hidden" name="item[ITEM_ID]" value="1" />


LIGHTBOX2

Use the Lightbox2 javascript to overlay item images on the current page (requires Bakery v1.3 or later). You can apply it to the overview page, the item detail page or both of them. If the Lightbox2 javascript is not selected for the overview page, the thumbs/images are linked to the item detail page.

>> Read more about "Item thumbs and images"
>> Read more about Bakery "JavaScript"


UPDATING PAGE SETTINGS

There are 3 ways to save your page settings:

  • Update page settings of current Bakery page only.
  • Update page settings of all Bakery pages.
  • Update page settings of specified Bakery pages.
    You can select multiple Bakery pages to update them at once.

>> Read more about "Main page and item detail page" templates


DEFAULT VALUES (config.php)

Some rarely changed default values can be set in the config.php file. You can set:

  • List of additional special chars that are accepted by the address form fields.
  • Default max. size of cart thumb.
  • Wrap selects in a table row on item detail templates built with a table.
  • Chop long pagination links and add horizontal ellipsis on item detail pages.
  • Number of allowed chars before chopping link text.
  • Item thumbnail default sizes (backend => modify page settings).
  • Limited lenght of item image filenames (backend => modify item).
  • Image resize default values for item images (backend => modify item).

 

BAKERY KNOW HOW


CATEGORIES

  • If you need different categories, just make different Bakery pages or Bakery subpages for each category.
  • Do not create more than 1 Bakery section per page since every section will produce and show a cart of its own.


ITEM IMAGES

Preselect the thumbnail resize in the page settings. You can edit the default sizes in the config.php file (requires Bakery v1.7.0 or later).

You can add multiple item images (requires Bakery v1.3 or later) using the file upload at section "3. Add Images " of the "Add/Modify Item" page. You can upload as many images as you want but note that the more images you upload the longer it takes.

Have your item images resized to a maximum width or height by checking the "Resize Image to" checkbox and entering a value for "max. Width" and "max. Height" (requires Bakery v0.9.5 or later). GIF images are not supported.

Modify the default values of the "max. Width" and "max. Height" resize values in the config.php file (requires Bakery v1.7.0 or later).

Bakery version 1.7.0 has an improved item image handling. Images can be ordered manually. Also it is possible to add image data such as title, alt, caption and even assign an item attribute. If image alt is left blank, Bakery first uses the image title or second the image caption, if one of them is provided (requires Bakery v1.7.0 or later).

To display the item images in your Bakery templates use the placeholders [THUMB], [THUMBS], [IMAGE] and [IMAGES] (requires Bakery v1.3 or later). Depending on your page settings the inserted images will be linked to the item detail page or the image will be overlayed on the current page using Lightbox2.

  • [IMAGE] = Main item image selected at section "2. Product Images" of the "Add/Modify Item" page
  • [IMAGES] = All item images except for the item main image
  • [THUMB] = Thumbnail of the main item image selected at section "2. Product Images" of the "Add/Modify Item" page
  • [THUMBS] = All thumbnails of the item images except for the item main image

>> Read more about "Lightbox2"

In certain circumstances it can be more convenient to use the WB "Browse Media" section instead of the Bakery backend to browse, add, overwrite or delete any Bakery thumbs or images. The thumbs and images of e.g. item_id 1 are located at:

  • /media/bakery/thumbs/item1/
  • /media/bakery/images/item1/

Make sure a thumb and the corresponding image have the same file name. Thumbs must have the extension .jpg


ITEM OPTIONS

  1. Set options and attributes in the item options part. You can set multiple options (e.g. colour; size; ...) and unlimited option attributes (e.g. red, green, blue...; XXL, XL, L, M, S...; ...).
  2. You can assign your predefined options and attributes to any item on the "Add product" or "Add/Modify Product" page. Furthermore you can set the price by using [=] (requires Bakery v1.1 or later) or a price variance by using [+] or [-] for each item attribute. Do not use the [=] operator more than once per item option since then Bakery will not know which option price should be considered.
  3. PLEASE NOTE:
    Keep in mind that an item attribute price left blank or set to "= 0.00" will override the item price and set it to 0.00 on account of the equals sign.
    In this case set the item attribute price to "+ 0.00" or "- 0.00".


MOVING OR DUPLICATING ITEMS

You can move or duplicate items to other sections/pages (requires Bakery v0.9.5 or later).

By duplicating an item, all changes made to it will be effective to the original and the copy. After duplicating the copy is set inactiv. It first expects to be modified, afterwards to be activated.


TEMPLATES

Bakery gives you complete control over your shop layout and design by using HTML templates and CSS classes.

Add all additional or statutory information about your shop like shipping rate, VAT, a link to terms and conditions, withdrawal instruction (de: Widerrufsbelehrung) etc. to the Bakery templates using HTML code.

There are 3 types of templates which are stored in different places:

Main page and item detail page

Customize the HTML templates of the main page (overview page) and the item detail page in the "Page Settings" > "Layout Settings" of the Bakery backend. You can use a different template for each page.

Placeholders use squared brackets, e.g. [WB_URL]. A help page at "Page Settings" > "Help" provides a list of keys to all placeholders.

If needed you can modify the default page template by editing the add.php file. The html code is saved as string in the $header, $item_loop, $footer, $item_header and $item_footer variables.

>> Read more about "Updating page settings"

Invoice, delivery note, reminder and emails

Customize the HTML template of the printable invoice / delivery note / reminder and the text of all email templates in the Bakery backend "Payment Methods Settings" > "Modify Payment Method" > select "Invoice" (requires Bakery v1.1 or later).

Invoice, delivery note and reminder are all using the same template. However, you can make different or additional sections by hiding a <div> using the placeholders [DISPLAY_INVOICE], [DISPLAY_DELIVERY_NOTE] and [DISPLAY_REMINDER] like this:

<div style="display: [DISPLAY_INVOICE];">Your specific invoice text.</div>

Delivery notes require Bakery v1.4.0 or later. If you have upgraded to v1.4.0 please read the upgrade notes.

Placeholders use squared brackets, e.g. [WB_URL]. A help page at "Payment Methods Settings" > "Help" provides a list of keys to all placeholders.

All other templates

There is no need to modify other templates like cart, form, summary page, confirmations, MiniCart etc. But you can do so anyway by editing the HTML template files located at /bakery/templates/ (requires Bakery v1.4.0 or later).

Use the given placeholders in the curly braces, e.g. {WB_URL}. Keep comments like

<!-- BEGIN cust_country_block -->
intact since they are used by the WB template engine.

You can edit the template files directly in the WB backend without downloading them first using an admin tool called "Addon File Editor" by doc.


CSS

CSS classes give you more control over your shop design. Check them out in the /modules/bakery/frontend.css file.

Additionaly all Bakery content is wrapped by a <div> with the id=mod_bakery_wrapper_f (requires Bakery v0.9.6 or later).

Modify the frontend and backend CSS definitions in a easy to use CSS editor in the module Bakery backend (requires WB 2.7 or later). Otherwise edit the CSS in the /modules/bakery/frontend.css and /modules/bakery/backend.css files.

To make Bakery CSS definitions effective (and of other WB modules as well) make sure you have added the code below to the <head> section of your template index.php file:

<?php
	if(function_exists('register_frontend_modfiles')) {
		register_frontend_modfiles('css');
		register_frontend_modfiles('js');
	}
?>

>> Read more about "Register frontend module files"


JavaScript

Bakery makes use of some javascript functions to achieve address form functionality or delete an item in the cart.

A jQuery plug-in calculates prices depending on the selected item option.
Please note: This works on item detail pages only.

The javascript functions are located at /modules/bakery/frontend.js

To make the javascript frontend functions work make sure you have added the code below to the <head> section of your template index.php file:

<?php
	if(function_exists('register_frontend_modfiles')) {
		register_frontend_modfiles('css');
		register_frontend_modfiles('js');
	}
?>

>> Read more about "Register frontend module files"

Furthermore Bakery takes advantage of theLightbox2 javascript to overlay item images on the current page (requires Bakery v1.3 or later). Lightbox2 is based on the javascript libraries Prototype and Scriptaculous which could conflict with other libraries like jQuery. A workaround that helps to make sure that jQuery does not conflict with the $ object of other libraries can be found here:http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/


ORDER ADMINISTRATION

The order administration gives you an overview of all completed orders sorted descending.

Starting with Bakery version 1.7.0 the invoice id is no longer the same like the order id. Consecutive numbering of invoices has been added.

It provides information about the order number, invoice number, the payment method and the order date. Furthermore you can open a popup window containing the complete information of one order.

You can email your customer, change the status of the order and print an invoice, delivery note (requires Bakery v1.4.0 or later) or a reminder.

After payment deadline the shop admin will be alerted by a blinking icon showing that the invoice has not been payed in time. Set this feature in the "Payment Methods" > "Invoice" (requires Bakery v1.4.0 or later).

If an order is not showing up in the order administration please read the payment methods section.


STOCK ADMINISTRATION

The Stock Administration gives you an overview of all items stored in your shop. You can order the columns ascending or descending by clicking the column header.

The column "in Stock" represents the number of items you will be able to ship. If you do not want to use this feature for a specified item just leave the "in Stock" field blank.

When a customer adds a certain number of items to his cart, the shop stock will be reduced by the same quantity.

If you set "Allow out of Stock Orders" in the general settings customers are able to order out of stock items. They will be alerted that they will get a subsequent delivery. If you unset "Allow out of Stock Orders" customers are only able to order available items.

If a customer cancels his order the ordered items will be put back to stock immediately.

If a customer does not submit his order, the ordered items will be put back to stock and the order will be deleted at the earliest 1 hour after the customers first call of the Bakery cart.

>> Read more about "Display Item Stock"

PLEASE NOTE:
Keep in mind that the "in Stock" value does not show items in customer carts nor items that are blocked by a uncompleted order. So be careful editing the stock values while your shop is online.

Please consider to set your shop offline (do so in the page settings) for maintenance purposes.


MINICART

MiniCart is a built in small cart that allows you to display the number of items and the total amount of an order on any page you want or anywhere on your site.

MiniCart makes it possible to skip the cart view after a customer has added an item to the cart. Set the skip cart feature in the "General Settings" > "Shop Settings" > "Shopping Cart".

If needed you can customize the layout of MiniCart by modifying the HTML template files located at /bakery/templates/mini_cart/.

There are 2 ways to display MiniCart on your site:

  1. Best and if you are using Bakery 1.4.0 or later take advantage of the ModBakeryMiniCart droplet which you can place almost anywhere in your main WB template, a Bakery template or even a WYSIWYG section.
  2. Else just include the file mini_cart.php in your WebsiteBaker main template after the WB PHP function page_content() or in a code section after the Bakery module section using the code below:
<?php
	if (file_exists(WB_PATH.'/modules/bakery/mini_cart.php')) {
		include(WB_PATH.'/modules/bakery/mini_cart.php');
	}
?>

PLEASE NOTE:
To have MiniCart display the current cart values simultaneously with your shop cart, make sure MiniCart is included after printing the Bakery content. If not, MiniCart will drag one step behind.
(This does not affect the droplet ModBakeryMiniCart.)


SHIPPING SUBTOTAL AND TOTAL ON CART AND SUMMARY PAGES

Bakery cart and Bakery summary page show shipping per item of one item only and it is not calculated in the subtotal. Nevertheless it is calculated correctly in the shipping total of all ordered items.

To display the shipping subtotal of an ordered item, modify the view_cart.php and view_summary.php files following the instructions in step 1 to 3:

1. Search the view_cart.php file for the code line

$total = $items[$i]['quantity'] * $items[$i]['price'];

and replace it by

$total = $items[$i]['quantity'] * ($items[$i]['price'] + $items[$i]['shipping']);

2. Search the view_summary.php file for the code line

$item_total = $items[$i]['quantity'] * $items[$i]['price'];

and replace it by

$item_total = $items[$i]['quantity'] * ($items[$i]['price'] + $items[$i]['shipping']);

3. Search the view_summary.php file again for the code line

$shipping = $shipping + $item_shipping_subtotal;

and comment it

// $shipping = $shipping + $item_shipping_subtotal;


MODIFY TEXT

Do you need to modify Bakery text? For instance you want to use Post Code instead of ZIP ?

Modify all language strings in the appropriate language file /modules/bakery/languages/XX.php where XX represents the language code (e.g. EN = English).

Look for the var

$MOD_BAKERY['TXT_CUST_ZIP'] = 'Zip';

and change it to

$MOD_BAKERY['TXT_CUST_ZIP'] = 'Post Code';

>> Read more about the "Shipping settings"


SHOP NAVIGATION and BUTTONS

The Bakery shop navigation makes use of submit buttons.

You can style your buttons using CSS background images or other css styles. There is a CSS class assigned to every type of Bakery navigation button, e.g. .mod_bakery_bt_cart_f, .mod_bakery_bt_add_f. Alternatively users of Bakery version 1.5.3 and later can use image buttons <input type="image" … /> as well.

Make sure you have set a not empty value attribute:

<input type="image" src="http://www.yourwebsite/your_directory/your_image.img>"
name="view_cart" value="[VIEW_CART]" alt="[VIEW_CART]" class="mod_bakery_bt_cart_ f" />

Bakery version 1.5.2 and previous:
It is not advised to use input type="image" instead of input type="submit" since Internet Explorer does not submit the name/value attributes of an image button. This bug has been fixed with version Bakery 1.5.3.

Bakery version 1.4.0 or later:
All submit buttons are using unique names for shop navigation. In other words the value attribute is not used for controlling any more.

Bakery version 1.3.6 and previous:
Do not alter the name/value attributes of submit buttons nor use type="image" instead of type="submit" since this will break Bakery.


LOCALISATIONS

English US, English GB, German, Dutch, French, Italien and Czech localisation included in package by default.

English GB must be invoked manually by changing the filename /languages/EN-GB.php to /languages/EN.php

Other languages by forum members can be downloaded here:

Please feel free to make improvements to the English localisation or translate it to other languages!


CUSTOMER ADDRESS FORM

For logged in customers Bakery tries to retrieve their address data of a previous order to prepopulat the address fields.

By default Bakeries customer address form only accepts a certain range of chars. You can extend it to fit your needs. Look for the code below in the config.php file (requires Bakery v1.6.8 or later) and add your chars to the string of the $add_chars variable.

// FORMS (FRONTEND)
// ****************

// List of special chars that are accepted by the address form fields (added to the regexp)
$add_chars = 'ÁÀÂÃÄÅáàâãäåÆæÇçČčÐðÉÈÊËéèêëÍÌÎÏíìîïÑñÓÒÔÕÖØóòôõöøŒœÞþÚÙÛÜúùûüŠšßÝŸýÿŽž°';

If this will not work as expected please read the next section about CHARSET.


CHARSET

Starting from version 1.6.0 all Bakery files are saved using utf-8 charset encoding.

Earlier versions used the iso-8859-1 encoding that occasionally caused problems with special chars when running your WB installation with another charset. As remedy convert your language file(s) to the same charset as you have set as default charset in the advanced options of general WB settings.


COUNTRIES

You will find an English, German and Dutch version at /modules/bakery/languages/countries/. Bakery will include the country file automatically depending on the language.

Nevertheless you can modify the country list to fit your needs by deleting lines or changing the lines order. Keep in mind that country codes and country names must correspond!


STATES

In the Bakery general settings you can select a shop state if a state file is available for your shop country at /modules/bakery/languages/states/ (requires Bakery v0.9.6 or later).

To fit your needs you can create a new state file for your country or modify a copy of an existing state file by editing, deleting lines or changing the lines order. Keep in mind that state codes and states must correspond!

The name of the file must correspond to the country code, e.g. for United States of America set the file name to US.php. Bakery will include the state file automatically depending on the country.

Some countries charge sales taxe based on the shop state.
>> Read more about applying sales tax to the shop state

To make use of a state drop-down list in the Bakery frontend, make sure you have added the code below to the <head> section of your template index.php file:

<?php
	if(function_exists('register_frontend_modfiles')) {
		register_frontend_modfiles('css');
		register_frontend_modfiles('js');
	}
?>

>> Read more about "Register frontend module files"


SEARCH

WebsiteBaker version 2.7 or later:
This version has a built-in, enhanced search function that features a direct link from the search result page to the matching Bakery item, displays an excerpt, search word highlighting and more...


GOOGLE ANALYTICS (ga.js)

Brief tutorial on how to add support for Google Analytics to Bakery when using ga.js (requires Bakery v1.1 or later).

Each step of the Bakery checkout process uses identical URLs. Now how can you track your funnel pathe as if it were using unique URLs? Read more about "Destination Goal examples: Identical URLs Across Multiple Steps" at the Google Analytics help pages.

Make two modifications to your WebsiteBaker template located at /templates/<your_template>/index.php is the first step in how to make the tracking work.

  1. Add global var
    Add a global var to the template. Locate the code below on top of your template. The code might look a bit different but make sure !defined('WB_URL') makes part of it:
    if(!defined('WB_URL')) {
    	header('Location: ../index.php');
    	exit(0);
    }

    and add the next 2 lines right after it:

    global $ga_page;
    $ga_page = '';
  2. Modify Google Analytics tracking code
    Modify the Google Analytics tracking code ga.js by replacing the line below:
    _gaq.push(['_trackPageview']);
    by the next line:
    _gaq.push(['_trackPageview', '<?php if($ga_page) echo $ga_page; ?>']);
  3. Set up goals and funnels at your Google Analytics account
    Check the javascript function _gaq.push(); in the source code of your Bakery page generated by your browser to see what it is feeding to Google Analytics. Use these values to set up your conversion goals and funnels.


Bakery using SSL (https)

Ruud wrote a short tutorial on how you can protect your Bakery shop using SSL (https connections) while the rest of your WebsiteBaker site just uses http connections. See an example at De Guts webshop.

First of all you need a valid and signed SSL certificate installed on your server. Contact your hosting provider that will be able to install one for you.

Second you have to add a droplet called [[securelink]] in your template and add an optional rule to your .htaccess file. For further information please read the tutorial by Ruud on his dev4me.nl website.

 

PAYMENT METHODS

In Bakery v1.1 the handling of payment methods has been changed basically to make it easier adding new payment methods or payment gateways.

Add or modify your payment methods / payment gateways settings and the corresponding email templates at:
"Payment Methods" > "Modify Payment Method" > select your payment method.

Edit the shop bank account setting at payment method "Invoice".

If you are interested in adding a new payment method plugin to Bakery (working knowledge of PHP required), please download this brief step-by-step tutorial "Add a new payment methode plugin to Bakery".

PLEASE NOTE:
Testing your payment gateways on a local server or on a by .htaccess protected webserver will not work out.

 


INVOICE

Add or edit your shop bank account setting in the "Shop Bank Account" field.

In the "Reminder Alert after" field you can set a payment deadline until an invoice has to be payed. Once this period has expired the shop admin will be alerted in the "Order Administration" by a blinking icon showing that the payment has not been received in time. If you do not want to take advantage of this feature just leave the two fields "Reminder Alert after" blank.

You can customize the layout of the printable invoice / delivery note / reminder by editing the HTML template.

If you use multiple tax rates in your shop, the invoice comes with an additional column displaying tax rates per item.


CASH ON DELIVERY

If you activate this payment method customers get a yellow warning on the payment methods page indicating cod charges. For example: «Please note additional CoD charges in the amount of EUR 16.00 to be collected.» The notification email to the customer contains another note: «Please pay cash on delivery. Please note additional cod charges to be collected.»

Only setting is the "CoD Charges (without currency code)" field.


PAYPAL

These settings refer to Bakery v1.5.0 or later.

In order to receive PayPal payments you need a PayPal account and make at least the settings as shown below:

  1. Log in to your PayPal account.
  2. Log in to the Bakery backend and go to "Payment Methods" > "Modify Payment Method" > select "PayPal" > see "PayPal Settings" and "PayPal Notice".
  1. Website Payment Preferences
    At your PayPals account go to "My Account" > "Profile" > "My selling tools" > "Website preferences":
    • Auto Return: Click the "Auto Return" radio button "On".
    • Return URL: Enter the full "Return URL" as provided at Bakeries backend (see "PayPal Notice").
      The auto return url is used to redirect customers back to your shop upon payment completion. Afterwards a confirmation will be emailed to you and your customer.

      PLEASE NOTE: Some versions of Bakery provide a "Return URL" with a trailing get parameter like ?pm=paypal. If PayPal complaints about a «improperly formatted Return URL» just chop the get parameter.

    • Payment Data Transfer: Click the "Payment Data Transfer (PDT)" radio button "on" and then click "Save".
      Your Identity Token is shown below the PDT On/Off radio buttons. Copy your identity token and paste it to the "PDT Identity Token" field right above the yellow box at Bakeries backend (see "PayPal Settings").
  2. Instant Payment Notification Preferences
    At your PayPals account go to "My Account" > "Profile" > "My selling tools" > "Instant payment notifications". Click the "Choose IPN Settings" button and you will be taken to the configuration page. Copy the full url as given at the Bakeries backend (see "PayPal Notice") and paste it to the field "Notification URL": Click the "Receive IPN messages (Enabled)" radio button and save your changes.
  3. PayPal Page
    Optionally you can set a custom payment page style for checkout pages using the "PayPal Page" setting. Allowable values:
    • "paypal": Use the PayPal page style.
    • "primary": Use the page style that you have marked as primary in your account profile.
    • "your_page_style_name": Use the custom payment page style from your account profile that has the specified name.
    The default is "primary" if you added a custom payment page style to your account profile. Otherwise, the default is "paypal".

You do not need a PayPal sandbox account for testing. If you have a business account and a personal account you can do some testing right away without the need of reading comprehensive user guids.
Create a Bakery test item and set the price to 0.01. Make some test purchases until you are sure everything works fine.
You can get debug information by setting the vars $testing = true; in the two files payment_methods/paypal/check_payment.php (PDT) and payment_methods/paypal/ipn.php (IPN).

>> Please read the general remarks on payment methods too


iDEAL

On the website iDEAL Checkout you will find a third party payment gateway for Bakery v1.5.4 or later. There is a readme file in the package that provides basic information about installing and testing.

>> Please read the general remarks on payment methods too


SOFORT Überweisung / SOFORT Banking

These settings refer to Bakery v1.5.5 or later.

In order to receive SOFORT Überweisung / SOFORT Banking payments you need a SOFORT Überweisung / SOFORT Banking account and Bakery v1.1 or later.

Log in to your SOFORT Überweisung / SOFORT Banking account: Go to "My projects" > select a project > "Extended settings":

  • Shop system interface: Activate "Automatic redirection" and copy&paste the full url as shown in the text field "Success link".
  • Abort link: Copy&paste the full url as shown in the text field "Abort link".
  • Notifications: Add an email notification and a HTTP notification using the POST-methode and the full url as shown in the text field "Notifications".
  • Project password, notification password and input check: Create a project password, notification password and activate the input check using the hash algorithm SHA1. Note: As soon as the passwords are set, they can not be unset anymore.

Add your SOFORT Überweisung / SOFORT Banking customer number, project number, project password and notification password at "Payment Methods" > select "SOFORT Überweisung / SOFORT Banking" > "SOFORT Überweisung / SOFORT Banking Settings"

>> Please read the general remarks on payment methods too

 

BAKERY DROPLETS

Droplets are a very handy way of inserting PHP code anywhere on your website. You can add them in your template, your WYSIWYG editor but also within modules configurable output. Never add droplets to a code section.

>> Read more about "Droplets"

>> Have a look at the droplets library for Bakery at AMASP.


ModBakeryCartLink

Adds a link to your Bakery cart.

>> Get the droplet ModBakeryCartLink at AMASP.


ModBakeryMiniCart

Displays module Bakery MiniCart (requires module Bakery v1.4.0 or later). You can customize the MiniCart layout by modifying the HTML template files located at /bakery/templates/mini_cart/.

>> Get the droplet ModBakeryMiniCart at AMASP.

 

BAKERY SNIPPETS


ANYITEMS

Use a snippet called Anyitems by Jan (Seagull) to display a few products of a specified section on another page than a Bakery page, e.g. your homepage.

Download
>> Download Anyitems at AMASP.

Installation
Log in to the backend of WebsiteBaker and install the module as usual.

Template
If you want to use a different HTML template than saved in the Bakery page settings you can do so by first uncommenting and then modifying some lines of the include.php file (see file comments for further information).

Invoke function
Once the module is installed, it can be invoked from the index.php file of your template or a code section.

From your template:
<?php display_any_items(section_id, items_per_page, number_of_columns, use_lightbox2); ?>

where:

  • section_id = the section id of your shop page section
  • items_per_page = number of items to display
  • number_of_columns = number of columns to display (1 = vertical, >1 = horizontal)
  • use_lightbox2 (optional) = set 1 for using Lightbox2 to show the item images, default = 0
Example:
<?php display_any_items(67, 3, 3); ?>
From a code section, e.g.:
display_any_items(67, 3, 3);

PLEASE NOTE:
In order to make use of the snippet Anyitems you must have installed the module Bakery.
Bakery v0.6.1 requires Anyitems v0.1
Bakery v0.7 - v0.8.4 requires Anyitems v0.2
Bakery v0.9 - v0.9.6 requires Anyitems v0.3
Bakery v0.9.7 - v1.2 requires Anyitems v0.4
Bakery v1.3 or later requires Anyitems v0.5


LASTITEMS

Use a snippet called Lastitems to display the last added Bakery items on any page you want.

Download
>> Download Lastitems at AMASP.

Installation
Log in to the backend of WebsiteBaker and install the module as usual.

Template
If needed you can modify the HTML template used by Lastitems in the file include.php (see file comments for further information).

Invoke function
Once the module is installed, it can be invoked from the index.php file of your template or a code section.

From your template:
<?php display_last_items(number_of_items, number_of_columns, use_lightbox2); ?>

where:

  • num_items = number of last added items to display
  • number_columns = number of columns to display (1 = vertical, >1 = horizontal)
  • use_lightbox2 (optional) = set 1 for using Lightbox2 to show the item images, default = 0
Example:
<?php display_last_items(4, 1); ?>
From a code section, e.g.:
display_last_items(4, 1);

PLEASE NOTE:
In order to make use of the snippet Lastitems you must have installed the module Bakery.
Bakery v0.7 - v0.9.6 requires Lastitems v0.2
Bakery v0.9.7 - v1.2 requires Lastitems v0.4
Bakery v1.3 or later requires Lastitems v0.5


ITEM SLIDE

Use a snippet called Item Slide by Michael Brinsteiner (escpro) and Dietrich Roland Pehlke (aldus) to display a few products in an item slide show on any page you want.

Download
>> Download Item Slide at AMASP.

Installation
Requires the installation of x_FastTemplate2first.
Log in to the backend of WebsiteBaker and install the module as usual.

Template
Modify the template files included in the /templates/ directory of the package to fit your needs.

Invoke function
Once the x_fast_template2 and itemslide modules are installed, the function can be invoked from the index.php file of your template or a code section.

From your template:
<?php itemslide (num_items, add_description, 'Top', 'Bottom', 'xft2_table.tmpl'); ?>

where:

  • num_items = number of items to display in the slide show
  • add_description = display an item link and short description (1 = yes, 0 = no)
  • Top = string for a header description
  • Bottom = string for a footer description
  • xft2_table.tmpl = template to be used by x_fast_template2 (default: xft2_default.tmpl)


SIMPLE PAGEHEAD

Use a snippet called Simple PageHead by Chio to generate head tags (title, keywords…) better, simpler and particularly for Bakery item pages. If possible it replaces the title and meta description by the Bakery item title and item description. Other modules like News, Gallery, Go-Cart and Topics are supported as well.

>> Download Simple PageHead at AMASP.

Installation
Log in to the backend of WebsiteBaker and install the module as usual.

Invoke function
Once the module is installed, it can be invoked from the index.php file of your template right after the <head> tag:
...
<head>
<?php simplepagehead(); ?>
...
For a more customized output, you can pass over several parameters to the function as explained below:
<?php simplepagehead(endtag, norobotstag, notoolbartag, favicon); ?>

Optional parameters:

  • endtag = the closing tag ("/" for XHTML (default), "" for HTML4)
  • norobotstag = shows on some pages the noindex, nofollow tag (e.g. search) (1 = yes (default), 0 = no)
  • notoolbartag = shows a tag to supress the IE-ImageToolbar (1 = yes (default), 0 = no)
  • favicon = shows a link to the favicon in the root of your site (where it should be) (1 = yes (default), 0 = no)
Example for customized call for HTML4 without additional tags:
<?php simplepagehead('', 0, 0, 0); ?>
Example for customized call for XHTML without robots-tags, but favicon and notoolbar-tag:
<?php simplepagehead('/', 0, 1, 1); ?>

PLEASE NOTE:
In order to make good use of the snippet Simple PageHead you must have installed the module Bakery.
The snippet is a replacement for most head tags. You must comment the old head section using <!-- ... -->


GOOGLE SITEMAP GENERATOR

This snippet by axima creates a XML sitemap file on-the-fly required by Google Sitemaps. Once you have installed it you don't have to care about it any more. It will always generate an up-to-date XML sitemap on any Google bot request for pages with visibility='public' or items which are set active=1.

At the moment the Google Sitemap Generator supports normal WB pages as well as the News, Bakery and Catalog modules. All priorities are configurable in the PHP file. You can hide page urls which contain unwanted words (e.g. for web pages which are blocked by robots.txt) to prevent a Google warning.

The change frequency node among other improvements have been implemented by Ruud. Per type it is configurable in daily/weekly/monthly etc.

>> Download Google Sitemap Generator at AMASP.

Installation
1. Copy the file google_sitemap.php to the root of your WB installation.
2. Submit the google_sitemap.php URL to Google Webmasters.

For further information please see the WB forum thread about Google Sitemap Generator.

 

WB FORUM

Do you like to be kept well-informed?

Have a look at the English Bakery thread or the German Bakery thread which both make part of the WB Forum. Enable notification of new replies and announcement of new Bakery versions by clicking the «NOTIFY» button in the threads.

 

TO DO

  • Bakery is using the PHP mail() function; the mail() method of the wb class that supports SMTP authentication is not implemented yet.

 

LICENCE

Module developed for the Open Source Content Management System WebsiteBaker (http://www.websitebaker.org)
Copyright © 2011, Christoph Marti
Contact: Send a PM


LICENCE TERMS

This module is free software. You can redistribute it and/or modify it under the terms of the GNU General Public License - version 2 or later, as published by the Free Software Foundation: http://www.gnu.org/licenses/gpl.html


DISCLAIMER

This module is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

 

download

DOWNLOAD

NOTE: Before upgrading please read the upgrade notes!

Download Bakery v1.7.1  (file size: 500 KB | file format: zip)
download download now


 

UPGRADE DIRECTIONS

In order to upgrade a WebsiteBaker module follow the steps below:

  1. Login to your WebsiteBaker backend.
  2. Make an upgrade just like you would do a new module install.
    WebsiteBaker will check if the module is installed yet. If so it makes an upgrade automatically.
  3. NOTE: Before upgrading please read the upgrade notes!

 

IMPORTANT UPGRADE NOTES

 

UPGRADING TO v1.7.1

  • All Bakery installations using PayPal should upgrade to v1.7.1 as soon as possible.
  • PayPal will completely disable SSL 3.0 support on December 3, 2014 due to the POODLE SSL 3.0 vulnerability. This may cause compatibility problems for Bakery shops resulting in the inability to pay with PayPal or that payed orders will be droped.
  • Please test v1.7.1 on a local installation before upgrading your productive webshop.
  • For more information about POODLE search the Web or see the Bakery Forum.

UPGRADING TO v1.7.0 or later

  • This version features a big improvement in handling item images. It is now possible to reorder item images, add a title, alt attribute and even a image caption. The image on the top position will be used as main image.
  • In order to set the image settings you have to open each item in the Bakery backend:
    1. The database will then be synced automatically with the item images currently saved in the /media/bakery/ directory.
    2. Please enter your image data.
    3. If you set a title and no alt attribute, the title will be copied and used for the alt attribute as well.
    4. The alt attribute is mandatory.
    5. The image at the top position (position 1) will be used as main image.
    6. If you enter a image caption, the image will be wrapped in a <div> container and the image will be followed after a <br> by your caption.
    7. The item attribut generates a unique id like mod_bakery_img_attrXX_f where the XX stands for the image attribute id. This can be used for any JavaScript actions depending on the selected option attribute. Eg. change main image depending on selected item option.
    8. Not used images can be deactivated or deleted in the backend.

UPGRADING TO v1.5.5 or later

  • SOFORT Überweisung / SOFORT Banking Settings: Complete the SOFORT Überweisung / SOFORT Banking payment preferences by adding a notification password.

 

UPGRADING TO v1.5.0 or later

  • PayPal Settings: Complete the PayPal payment preferences.
  • PayPal Email: Add the placeholder [TRANSACTION_STATUS] to the PayPal shop email right after the term "Payment method: PayPal".
  • Invoice template: If your customer has provided a shipping address and you would like to use it for delivery notes, modify your invoice template at "Payment Methods" > select "Invoice" > "Invoice Template". Search…
    	<p class="mod_bakery_cust_address_b">[CUST_ADDRESS]</p>
    and replace it by…
    	<p class="mod_bakery_cust_address_b" style="display: [DISPLAY_INVOICE]">[CUST_ADDRESS]</p>
    	<p class="mod_bakery_cust_address_b" style="display: [DISPLAY_DELIVERY_NOTE]">[ADDRESS]</p>
    	<p class="mod_bakery_cust_address_b" style="display: [DISPLAY_REMINDER]">[CUST_ADDRESS]</p>
    	

 

UPGRADING TO v1.4.0 or later

  • Delivery notes: Due to the new delivery notes printing feature you have to modify your invoice template slightly at "Payment Methods" > select "Invoice" > "Invoice Template":
    1. Replace the placeholder [INVOICE_OR_DUNNING] by [TITLE].
    2. Replace some lines of HTML code at the bottom of the invoice template by the appropriate ones shown below. Use the help page at "Payment Methods" > select "Invoice" > "Invoice Template" > "Help" to get information on the new placeholders [DISPLAY_INVOICE], [DISPLAY_DELIVERY_NOTE] and [DISPLAY_REMINDER].
<div style="display: [DISPLAY_INVOICE]">
  <p class="mod_bakery_thank_you_b">Thank you for shopping at [SHOP_NAME].</p>
  <p class="mod_bakery_pay_invoice_b">Please pay the balance due to our bank account within 30 days:</p>
  <p class="mod_bakery_bank_account_b">[BANK_ACCOUNT]</p>
</div>
<div style="display: [DISPLAY_DELIVERY_NOTE]">
  <p class="mod_bakery_thank_you_b">Thank you for shopping at [SHOP_NAME].</p>
</div>
<div style="display: [DISPLAY_REMINDER]">
  <p class="mod_bakery_pay_invoice_b">Please disregard this letter if you have already made payment. Otherwise please pay the balance due to our bank account within 10 days:</p>
  <p class="mod_bakery_bank_account_b">[BANK_ACCOUNT]</p>
</div>
<br /><br />
  • Submit buttons: If your shop frontend is not working as expected please check all of your page templates manually.
    1. Select a Bakery page and go to "Page Settings" > "Layout Settings".
    2. Make sure all submit buttons formerly named name="cart" have been replaced correctly by the upgrade script:
      • Set name="view_cart" for submit buttons that jump to the cart view.
      • Set name="add_to_cart" for submit buttons that add items to the cart.
    3. Repeat for all other Bakery pages.

 

UPGRADING TO v1.3 or later

  • Item images: Due to a new way how Bakery handles and stores images you will have to reupload ALL item images using the Bakery backend. Before upgrading make a backup of at least the /media/bakery/ directory. Use speaking image file names since they are used for the image <alt> and <title> tag and shown as the Lightbox2 caption.
    Alternatively you can move your image files manually using ftp.
  • Item templates: Use the placeholders [THUMB], [THUMBS], [IMAGE] and [IMAGES] to display images. Depending on your page settings the images will be linked automatically to the detail page or overlay on the current page using Lightbox2. So there is no more need to link the image in your template.

 

UPGRADING TO v0.9 or later

  • Stylesheet: If you keep your current Bakery stylesheets, make sure you are changing the class names from mode_ to mod_ (mod without 'e', e.g. mod_bakery_anything_f).
  • Item options: Due to a new system handling the item options you will loose all your item options upgrading to Bakery v0.9 or later. There is no import of former item options! Make a backup of your database to make it easy restoring the options and attributes to their former condition.

 

OTHER REQUIREMENTS

  • Bakery 0.9.6 and later requires WebsiteBaker version 2.7 or later
  • Bakery 0.9.7 and later requires to upgrade the snippets Anyitems and/or Lastitems to version 0.4
  • Bakery 1.3 and later requires to upgrade the snippets Anyitems and/or Lastitems to version 0.5

 

WARNING

All versions below v0.92 suffer from a security vulnerability.

Please upgrade.

 

 

VERSION HISTORY


Latest Version

VERSION 1.7.1 (11/27/2014)

  • [view.php] Bugfix: Added closing </div> <!-- End of bakery wrapper --> to the success page (reported by bolengo)
  • [payment_methods/paypal/post_data.php] Bugfix: Round amount sent to PayPal to 2 digits after the decimal point (reported by tschiemer)
  • [payment_methods/payment-network/post_data.php] Bugfix: Removed group of thousands separator in amount
  • [install.php] Bugfix: Changed default value of field free_shipping in the db table mod_bakery_general_settings from 9999999 to 99999.99 (reported by daydreamer, thanks to jacobi22 and marmot) See Bakery Forum
  • Fixed some php mysql functions since they are deprecated as of PHP 5.5.0:
    • mysql_insert_id() replaced by $database->get_one("SELECT LAST_INSERT_ID()")
    • mysql_error() replaced by $database->get_error()
  • Bugfix: Fixed a bug that stopped saving new images in the database when clicking "Save & Back" (reported by jacobi22 and instantflorian) See Bakery Forum
  • [payment_methods/paypal/ipn.php] Updated PayPal IPN using cURL library to comply with TLS protocol since PayPal discontinued support for SSL 3.0 support on december 3, 2014 (reported by N1kko). This is due to the POODLE SSL 3.0 vulnerability. See Bakery Forum

VERSION 1.7.0 (08/24/2013)

  • [upgrade.php] Bugfix: Added database fields created_when and created_by to the mod_bakery_items table (reported by instantflorian)
  • [payment_methods/paypal/post_data.php] Bugfix: Changed order total posted to PayPal from type string to int to stop PayPal moaning about number format (reported by instantflorian)
  • [config.php] Added thumbnail default sizes (modify page settings)
  • [save_item.php] If image alt is left blank, Bakery uses (if provided) 1. image title or 2. image caption
  • [languages/CS.php] Added Czech language file (thanks to dana)
  • [payment_methods/paypal/ipn.php] Updated PayPal IPN to comply with HTTP 1.1 protocol since PayPal discontinued support for HTTP 1.0 starting february 1, 2013 / october 7, 2013 (reported by paulchen)
  • Added code to not let prices in the cart undercut zero (reported by jacobi22)
  • [save_item.php] Fixed changing item attributes (reported by jacobi22)
  • [modify_item.php] Fixed move image up arrow-link
  • Changed sorting of item attributes to natsort using mysql order clause ORDER BY LENGTH (a.attribute_name), a.attribute_name
  • [search.php] Made free definable fields searchable
  • Added config.php file for some additional settings
  • [modify_item.php] Limited lenght of item image filenames (can be set in config.php)
  • [modify_item.php] Too long item image filenames will be wrapped in order to fit the table cell
  • [view_item.php] For item detail templates built with a table wrap selects in a table row.
    Affects item options selects => [OPTION] placeholder.
  • On item detail pages added code to truncate long pagination links and add … (horizontal ellipsis)
  • [calc_price.js] Fixed jquery function in case the option price is neither '-' nor '+' but '='
  • [save_item.php] Bugfix: When duplicating an item the link to the origin has been saved in the db
  • [view_cart.php] Bugfix: Fixed display of main image in cart (reported by jacobi22)
  • Replaced ampersands by its entities &amp; in some non-js url query strings (reported by jacobi22)
  • [modify_item.php] Added note that the image at the top position is used as main image (reported by jacobi22)
  • On item detail pages added code to truncate long pagination texts and add a horizontal ellipsis
  • Improved item image ordering and added image data as title, alt, caption and item attribute assignment
  • [languages/states/GB.php] Added state file for United Kingdom (thanks to kbob)
  • Bugfix: Changed db field shop_state to VARCHAR(5) to fit longer state codes (reported by kbob)
  • [languages/EN.php] Amended the english language file (thanks to kbob)
  • [languages/EN-GB.php] Added British english language file (thanks to kbob)
    Must be invoked manually by changing the filename EN-GB.php to EN.php
  • Wiped out some depreciated code snippets (reported by stefek)
  • Updated lightbox2 js to version 2.51 (reported by zirzy) See Bakery Forum
    Used modified version by kpull1 that allows to set options outside of the scriptfile.
  • Added jquery plug-in to calculate price change depending on option selection (thanks to neuling and marmot)
    Restrictions: Only works on item detail pages: See Bakery Forum
  • Changed PayPal PDT from php fsockopen() to curl lib
  • Bugfix: Fixed pagination on overview page
  • Altered "back button" on detail pages so now it jumps back to the overview page where you left
  • On item detail pages altered previous and next linktexts to show according item titles
  • Deleted last closing php tag on all php files
  • [save_item.php] Changed sequence of item data saving:
    1. Save it in database, 2. generate wb access file, 3. save images / thumbnails in media directory
  • [check_vat.php] Added code to check if soap extension is loaded (reported by jacobi22)
  • [check_vat.php] Added exception handler to the soap request to prevent fatal errors on simple network issues
  • [view_item.php] Bugfix: Initialized 2 vars to prevent a notice about undefined variables (reported by jacobi22)
  • [save_form.php] Moved variable $add_chars from language files to save_form.php (reported by jacobi22)
  • [save_form.php] Added special chars to the address form regexp (reported by jacobi22) See Bakery Forum
  • Completely reworked Bakery checkout process
    New sequence: 1. address form -> 2. payment method -> 3. summary -> click to buy
  • Added new payment method "cash on delivery"
  • Removed payment method "mollie". Please use third party iDEAL gateway provided by ideal-checkout.nl
  • Adapted all included payment methods to the new Bakery checkout
  • Removed feature to skip checkout if only 1 payment method is selected
  • [images/checkout_steps/] Changed checkout images from .gif to .png
  • Added textarea for customers message on payment method page
  • Added consecutive numbering of invoices (order id ≠ invoice id)
  • Updated and improved the Italian localisation (thanks to Kwb)
  • [languages/states/AU.php] Added state file for Australia (thanks to Darren Brack)
  • [templates/cart/table_header.htm] Bugfix: Fixed <hr> inside of <p> tag (thanks to gearup)
  • [templates/summary/table_header.htm] Bugfix: Fixed <hr> inside of <p> tag (thanks to gearup)
  • [add.php] Bugfix: <form> is not allowed in <table> elements (thanks to gearup)
  • [view_form.php] Bugfix: Corrected wrong spelling MAXLENGHT to MAXLENGTH (thanks to gearup)
  • [templates/form/form.htm] Bugfix: Corrected wrong spelling MAXLENGHT to MAXLENGTH (thanks to gearup)
  • [payment_methods/paypal/ipn.php] Improved email string comparison of receivers email address validation (thanks to instantflorian and marmot) See Bakery Forum
  • Added support for company name in the customer and shipping address forms

VERSION 1.6.0 (06/16/2012)

  • Resaved all bakery files using charset utf-8
  • Replaced function utf8_encode() by utf8_decode() in all language files
  • [view.php] Bugfix: Added code to prevent entering negative item quantities when updating the cart (reported by ronald32)
  • Added support for EU tax zone (based on patch by syncgw, thanks to syncgw)See Bakery Forum
  • Added placehkolder [CUST_TAX_NO] to emails and the invoice
  • Added support for German "Button-Gesetz" (based on patch by instantflorian, thanks to instantflorian) See Bakery Forum
  • [languages/states/FR.php] Added state file for Italy with (thanks to Kurry)
  • [mini_cart.php] Changed MiniCart displaying the note regarding sales tax depending on general settings (reported by instantflorian)
  • [view_form.php] Bugfix: Inactivated deprecated code that stoped droplets working on the address form page
  • [view_pay.php] Bugfix: Inactivated deprecated code that stoped droplets working on the address form page
  • Added items drag&drop (based on patch by stefek and CrnoGorak, thanks to stefek and CrnoGorak) See Bakery Forum
  • [upgrade.php] Added support for $database = WbDatabase::getInstance() started at WB Rev. 1682 by keeping downward compatibility

VERSION 1.5.9 (12/11/2011)

  • Bugfix: Added support for WB function getOutputFilterSettings() introduced in WB 2.8.2 SP2. It replaced the former function get_output_filter_settings()
  • Bugfix: Replaced all ereg(), eregi() and ereg_replace() functions by strpos(), preg_match() or preg_replace() as of PHP 5.3.0 the regex extension is deprecated in favor of the PCRE extension

VERSION 1.5.8 (10/24/2011)

  • Bugfix: Fixed state code validation to accept alphanumeric characters (reported to elarifr)
  • Bugfix: Rectified translation of $MOD_BAKERY['TXT_SHOW_STATE_FIELD'] (thanks to elarifr)
  • Bugfix: Use function getimagesize() with image path since url does not work properly if php ini option allow_url_fopen is set to 0 (thanks to chio)

VERSION 1.5.7 (03/27/2011)

  • Bugfix: Rectified country code of China (reported to syncgw)
  • Minor modification to support the payment status 'busy' (requested by Ruud)
  • Added possibility to add install.php/upgrade.php files to a payment method (requested by Ruud)
  • Bugfix: Rectified the term for free shipping on summary page and invoice
  • Bugfix: Fixed pagination on item detail pages in case of inactive item(s) (reported by Donald169)
  • Bugfix: Replaced hardcoded page extension '.php' by wb constant PAGE_EXTENSION

VERSION 1.5.6 (06/07/2010)

  • Bugfix: Added code to exclude the cust_confirm_email field in the mysql update string (thanks to syncgw)

VERSION 1.5.5 (06/01/2010)

  • Clean out protocol names, if added to the shop name in the Bakery backend, to prevent problems with the php mail() function
  • Replaced nested mysql selects by a mysql join statements since the nested select failed on some mysql server versions
  • Bugfix: Replaced hard coded Bakery pages directory by the one saved in the general settings
  • Bugfix: If no main image is defined there will no longer be a thumbnail displayed in search results
  • Added FR language files: module, country list, state list, payment methods advance and invoice (thanks to quinto)
  • Improved the 'payment-network' payment method (version v0.2)
    • Added support for notification password used by http-response notification (requested by Payment Network AG)
  • Added email confirmation field to the address form (thanks to copta)
  • Fixed some small issues (thanks to Ruud)
    • Set default state for countries without a state file
    • Rectified unclosed <a> tag and incorrect thumb html string

VERSION 1.5.4 (04/08/2010)

  • In case 'No out of stock orders' is set as general setting and a customer puts a sold out item into the cart it will no longer be inserted into db
  • Bugfix: Added missing curly brace in file save_item.php (reported by MCoffman and frododendron)

VERSION 1.5.3 (04/07/2010)

  • Added support for MSIE image buttons (that just submit the click coordinates) by converting POST names from 'anything_x' to 'anything'
  • Bugfix: The move/duplicate item dropdown menu occasionally displayed improper item page therefore items were moved to other pages
  • After duplicating an item Bakery now jumps to the duplicated item
  • After saving changes to the stock admin page Bakery now retaines the selected category (=section)
  • Added state file for Canada (thanks to mjm4842)
  • Bugfix: Removed some doubled <p> tags from error messages
  • Bugfix 'paypal' payment method (version v0.4)
    • Clarified error message in case Bakery fails to connect to the PayPal server (reported by ms)
    • Made some other small fixes and improvements to the payment method code

VERSION 1.5.2 (03/19/2010)

  • Added code to replace triple page spacer by one page spacer in item urls
  • Bugfix 'paypal' payment method (version v0.3)
    • Rectified PayPal return url provided by the Bakery backend to stop PayPal moaning about improperly formatted return url (reported by westjoneff)
  • Bugfix: When a page or section gets deleted, the associated item attributes in the db will be deleted as well
  • Bugfix: When saving the item options sometimes they were duplicated accidentally (reported by instantflorian)

VERSION 1.5.1 (03/13/2010)

  • Added a loader icon to the direct checkout which is displayed before redirecting to the payment gateway (currently only PayPal and Payment Network)
  • Bugfix: Changed some not closed <img> tags to xhtml standards-compliant <img />
  • Bugfix: Fixed an empty img height="" attribute that made IE display the cart thumb as a line. Img width and height is now calculated by Bakery (reported by vm12, thanks to Thomas Zobrist)
  • Bugfix: Improper use of single quotes which leads to variable name displayed instead of email address (thanks to proglot and others)
  • Improved the item overview by adding category (section) filter to the stock admin
  • Improved the item image upload (thanks to stefek)
  • Upload image can now be selected as main image before uploading
  • Fixed number format of prices at overview and item detail pages (reported by instantflorian)
  • Linked cart item thumbs to item detail pages (suggested by t0nno)
  • Bugfix: Added round() to fix an issue with incorrectly formatted order total amounts submitted to payment gateways (PayPal reported by itsnick, Mollie reported by ruud)
  • Bugfix: Fixed the previous/next item navigation to jump inactive items (reported by instantflorian)
  • Bugfix: Fixed the item attribute price calculation if an attribute is set to '=' (reported by instantflorian)
  • Added submit buttons which save and return to the same page (suggested by instantflorian)
  • Added SEO feature that admits to rename the Bakery pages directory in the general settings

VERSION 1.5.0 (01/12/2010)

  • Changed the order of the option price operators from '=/+/-' to '+/-/=' to prevent misentry by using the default value '=' with an option price left blank or equal 0
  • Prettyfied code by applying some code standards
  • Bugfix: Display of thumbnail in search results (invented in v1.3 by multiple item images)
  • Added thumb display to the cart
  • Bugfix: Rectified the use of <label> tags with the for attribute (thanks to klik)
  • Added placeholders [TXT_TAX_RATE] and [TAX_RATE] (suggested by ebussinetz)
  • Bugfix: Fixed double % for sales tax rate in emails
  • Bugfix: Replaced in the NL countries file special chars like ë, ö, ï, é and ä by html entities
  • Bugfix: Rectified sorting of stock column (reported by mr.winkle)
  • Bugfix: Missing submit button when 'shipping address' setting => 'always' (reported by discofred)
  • Bugfix: Removed item options leading coma in emails
  • Bugfix: Rectified number format of item total and order subtotal on summary page and in emails
  • Bugfix: If stock level was zero, it displayed "n/a" (reported by weiry)
  • Bugfix: Changed default setting of the continue_url from $link to $page_id (invented in v1.4.0)
  • Major improvement to the 'paypal' payment method (version v0.2)
    • Added PayPal PDT (Payment Data Transfer) to receive payment notifications from PayPal
    • Added PayPal IPN (Instant Payment Notification) to receive payment notifications from PayPal in the background. Therefore it is independent of the customer's action and reduces the chance for breakage.
  • Email data is now saved in the db instead of the session var in case the email sending is triggered in the background (eg. by PayPal ipn)
  • Bugfix: Replaced <?php echo WB_URL; ?>/admin by <?php echo ADMIN_URL; ?> (thanks to MurgtalNet)
  • Bugfix (bug invented in v1.4.0): The $count_items var is not calculated (thanks to Mase)
  • Improved invoice template to use shipping address - if provided by customer - for delivery notes
  • Added feature to update page settings of specified Bakery pages at once

VERSION 1.4.1 (10/23/2009)

  • Bugfix: Removed 'display_errors' => 1 in precheck.php since it is not required and can prevent installation

VERSION 1.4.0 (10/20/2009)

  • Bugfix: Added index file to a subdirectory
  • Bugfix: Added index files to the bakery image directories and subdirectories (thanks to FrankH)
  • Bugfix: Rectified previous and next links on the item detail page (thanks to FrankH)
  • Added support for WB 2.8 THEME_URL
  • Added WB 2.8 precheck.php file
  • Added delivery notes printing feature
  • Added placeholders [DISPLAY_INVOICE], [DISPLAY_DELIVERY_NOTE] and [DISPLAY_REMINDER]
  • Changed string "dunning letter" to "reminder"
  • Modified payment method 'invoice' (version v0.2)
    Added feature to alert the shop admin if an invoice has not been payed in time
  • Added placeholder [WB_URL] to the invoice template
  • Splitted view.php into view.php, view_overview.php and view_item.php
  • Added feature to skip cart view after adding an item to the cart
  • Outsourced HTML code to template files in order to ease design modification and future upgrades (suggested by stefek)
  • Added display of multiple tax rates in invoice item table
  • Bugfix: 0% tax rates are no longer displayed on the summary page
  • Improved opening of invoice window to full screen height and bottom view
  • Improved handling of continue_url by using the page_id instead of a link to avoid problems after changing page names
  • Improved items overview page by adding cells to complete an open row at the end of the table (thanks to hangja)
  • Simplified Bakery shop navigation by giving unique names to all submit buttons
  • Simplified calling the cart by approving the GET parameter view_cart=yes
  • Bugfix: If item stock has been left blank Bakery now displays "n/a"
  • Bugfix: Fixed some undefined index notices in the upgrade script

VERSION 1.3.6 (07/13/2009)

  • Interchanged payment reference reason_1 and reason_2 (requested by Payment Network AG)
  • Bugfix: Rectified payment-network return urls (success and canceled)

VERSION 1.3.5 (07/08/2009)

  • Updated mini cart to support the latest Bakery version (reported by stefek)
    • Bugfix: Added support for the vars $dec_point and $thousands_sep
    • Bugfix: Initialize var and set default value if item has no attributes
  • Changed name "Payment Network" to "sofortüberweisung.de/DIRECTebanking.com" (requested by Payment Network AG)
  • Made "Agree to terms and conditions" optional (requested by michi84)

VERSION 1.3.4 (06/29/2009)

  • Bugfix: Changed 1 short form of php's open tag <? to long form <?php (thanks to klok_pm)
  • Deleted file /payment_methods/mollie/return.php - a coding relic with no use
  • Bugfix: Item delete button now works properly also with items which have multiple attributes

VERSION 1.3.3 (06/19/2009)

  • Bugfix: When upgrading the db field lightbox2 is now added correctly (reported by snark)

VERSION 1.3.2 (06/16/2009)

  • The image file name is used for the image <alt> and <title> tag and is shown as the Lightbox2 caption (suggested by snark)
  • Bugfix: Includ missing language file in save_items.php

VERSION 1.3.1 (06/15/2009)

  • Bugfix: Added missing code to create the /media/bakery/ directory (reported by Boudi)

VERSION 1.3 (06/14/2009)

  • New feature to add multiple item images
  • New feature using Lightbox2 to show the item images
  • Changed and added new presettings of the thumbnail resize

VERSION 1.2 (05/30/2009)

  • Bugfix: Turned include() path from relativ to absolute in order to prevent some PHP installation from including the wrong info.php file (reported by erpe)

VERSION 1.1.1 (05/29/2009)

  • Bugfix: Added missing var that stopped checkout procedure of advance and invoice payment if direct checkout has been activated (reported by iradj)

VERSION 1.1 (05/25/2009)

  • Changed handling of payment methods to make it easier adding new payment methods/payment gateways
  • Added 2 new payment gateways: mollie (iDEAL) and payment-network (sofortueberweisung.de)
  • Added option to skip the checkout page
  • Added feature to set the separator for the decimal and group of thousands
  • Separated email to customer and email to shop
  • Bugfix: When modifying the item options they were duplicated accidentally (reported by chio)
  • Added feature to set the item price equal to the item attribute price by using the equals sign
  • Added option to hide general settings, page settings, payment method settings and CSS settings from shop merchant (all others than id 1)
  • Added option to allow to order out of stock items or in stock items only
  • Added placeholders [SHIPPING_ABROAD] and [SHIPPING_DOMESTIC] for use in the main page and item HTML templates
  • Bugfix: Replaced hardcoded page extension .php by WB constant PAGE_EXTENSION (reported by chio)
  • Added support for Google Analytics to track visitors progress through a funnel (thanks to thorn and stefek)
  • Added item delete button to the Bakery cart (requires javascript)
  • Deleted hardcoded image size of "step 1-2-3" images to ease use of customized images
  • Now uses htmlspecialchars() to output item date to prevent problems with quotes (reported by instantflorian)
  • Changed the sequence of the table sort so that latest orders are on top of the order administration
  • Bugfix: Does not add TIMEZONE to the order timestamp any more
  • Removed code that added CSS and JS to the HTML body if register_frontend_modfiles() did not exist

VERSION 1.0 (01/19/2009)

  • Bugfix: Refixed fix of v0.9.9 shipping rates for domestic, abroad and a group of specified countries (thanks to thorn and doc)
  • Bugfix: Set tax rate display on summary page to 0% if no sales tax is charged
  • Bugfix: If sales tax setting is set to 'none', sales tax will not be displayed on the summary page

VERSION 0.9.9 (01/13/2009)

  • Bugfix: Shipping rates for domestic, abroad and a group of specified countries now work as expected (reported by erpe)

VERSION 0.9.8 (01/07/2009)

  • Bakery 0.9.8 requires WebsiteBaker version 2.7 or later
  • Bugfix: If no sales tax has been charged on a order, a variable was not defined (thanks to erpe)
  • Added feature to display item stock to customers as gif images (thanks to funes for icons)
  • Added missing text var $MOD_BAKERY['TXT_SHIPPING_METHOD_HIGHEST'] to EN, NL language file
  • Bugfix: Fixed the continue_url of MiniCart

VERSION 0.9.7 (01/03/2009)

  • Bakery 0.9.7 requires WebsiteBaker version 2.7 or later
  • Bugfix: Converts HTML entities to umlauts in the email text when using a state file
  • Added feature to display item stock to customers as number or as info text
  • Changed handling of items that are out of stock: Customers are still able to order but are warned that they will get a subsequent delivery
  • Added feature to select the highest item shipping rate that makes part of an order as total shipping charges
  • Added feature to add up to 3 free definable fields to the items
  • Bugfix: Improved 2 JS functions
  • Improved the URL handling by only saving page links to the database (without either domain names or page directories)
  • Added feature to show/hide shipping address
  • Rewritten code to handle and save customer data temporarily in the session var
  • Improved Bakery session handling joining all Bakery session vars in the $_SESSION['bakery'] subarray
  • Bugfix: Removed alt attribute in the <a> tag of the thumbs (thanks to heinerle)
  • Bugfix: Added alt attribute to the thumbs <img> tag (thanks to heinerle)
  • Bugfix: Omit a new table row <tr></tr> when a item table is completed (thanks to heinerle)

VERSION 0.9.6 (10/02/2008)

  • Bakery 0.9.6 requires WebsiteBaker version 2.7 or later
  • Bugfix: Using a Bakery section with a snippet like anyitems on the same page caused a notice due to already defined constants THUMB_PREPEND, THUMB_APPEND and NEW_ROW
  • Commented captcha setting for it is not used at the time being
  • Added a header and a border to the Bakery section in the backend
  • Bugfix: The item access file was not deleted when deleting a section
  • Bugfix: If a customer provided a shipping address, it was not cost-effective (reported by MUC)
  • Added a div wrapper id='mod_bakery_wrapper_f' for all Bakery content to ease layout (thanks to cthamer)
  • Added shop state to the general settings
  • Added state files for US, DE, AT and CH. Path to the file: /bakery/languages/states/XX.php where XX must correspond to the country code
  • Added feature to charge sales tax depending on the state but on the country (e.g. USA) (thanks to cthamer)
  • Made the link to the paypal security center to fit the shop country (reported by Ogierini)
  • Disabled output filter for the Bakery checkout page (hidden fields) using ob_end_flush()
    NOTE: If you are using e.g. ob_start in the index.php of your template it is possible that you will indicate problems

VERSION 0.9.5 (09/14/2008)

  • If utf-8 is set as WB default charset, some iso-8859-1 encoded localisation strings will be automatically converted to utf-8
  • The invoice customer address does not include the phone number nor the email address any more
  • Disabled output filter for the Bakery address form using ob_end_flush()
    NOTE: If you are using e.g. ob_start() in the index.php of your template it is possible that you will indicate problems
  • Bugfix: To include the language file replaced function require_once() by include()
  • Prevents FATAL ERROR when a Bakery snippet function is called (thanks to heinerle)
  • Added new Bakery default logo to the invoice view (thanks to stefek)
  • Bugfix: Var $link was not defined when a Bakery section was added to an existing page
  • Replaced [wblinkPAGE_ID] generated by wysiwyg editor by real link
  • Added image resizer for the item detail page
  • Added feature to move or duplicate an item with its thumb and image to another section/page
  • Bugfix: Did not delete item attributes in the db when deleting an item
  • Modified continue_url text field in the page settings to a drop down list to prevent misentry
  • Bakery now makes use of the WB page spacer to seperate the item page name and the item id

VERSION 0.9.4 (07/12/2008)

  • Added Egypt to the country list
  • Fixed a bug invented in v0.9.2 that kept the DB from inserting the invoice data
  • Fixed a bug invented in v0.9.2 that stripped tags from the invoice template when inserting it in the DB
  • Fixed a bug that did not put cart items back to stock when a customer had canceled final order
  • Fixed a bug that in certain cases miscalculated the stock on hand when a customer had canceled final order

VERSION 0.9.3 (07/07/2008)

  • Fixed a bug invented in v0.9.2 that precluded from inserting or updating item data in the DB

VERSION 0.9.2 (06/28/2008)

  • Added code to prevent from security vulnerability
  • Fixed a bug that did not delete the thumb when modifying an item by selecting delete image
  • Fixed a bug that lost all previously entered item data after it had been submitted incompletely

VERSION 0.9.1 (05/31/2008)

  • Fixed a bug that used the wrong order_id after deleting DB records of not submitted orders

VERSION 0.9 (05/25/2008)

  • Added enhanced module search (requires WB 2.7 or later) (thanks to thorn)
  • Added stock administration
  • Changed the way Bakery handles the item options and attributes
  • Added option to use an additional shipping address (reported by cookmaster)
  • Added order administration and invoice printing feature to the Bakery backend (thanks to potsdamer)
  • Added MiniCart to display the number of items and the total amount of all items in the cart on any page you want (thanks to Bennie Wijs)
  • Added wysiwyg editor to the Bakery item full description
  • Added option to edit the module Bakery frontend and backend CSS (requires WB 2.7 or later) (thanks to doc)
  • If no country is selected in the address form, Bakery preselects by default the shop country
  • Added option to use [TXT_ITEM] in the page header and page footer templates
  • Added a list of keys to the placeholders (e.g. [TXT_ITEM] ) used in the Bakery HTML and email templates
  • Changed CSS class names from mode_ to mod_
  • Separated the CSS class mod_bakery_main_thumbnail_f into two classes mod_bakery_main_thumbnail_f and mod_bakery_item_img_f
  • Fixed a bug that did not clean up the session array properly after the order has been canceled or payment has been completed (reported by ebussinetz)
  • Added an index.php file to all Bakery subdirectories to redirect the user to the WB main page when trying to access the module directory directly

VERSION 0.8.4 (02/17/2008)

  • Added NL language and country files (thanks to RuudE):
    • NL.php
    • /countries/NL.php
    • /countries/NL-utf8.php
  • Set the Reply-To: of the email sent to the shop to the customer email address, making it easy to contact customers later on.
  • Added possibility to use [CUST_EMAIL] in the email templates.
  • Added missing alt attribute to the item <img> tag.

VERSION 0.8.3 (02/03/2008)

  • Modified the item templates using more text placeholders instead of hard coded text to make them completely multilingual. Use the following placeholders additionaly to take advantage of:
    [TXT_ITEM], [TXT_SKU], [TXT_PRICE], [TXT_SHIPPING], [TXT_FULL_DESC], [TXT_SHIPPING_COST], [TXT_DOMESTIC], [TXT_ABROAD], [TXT_BACK]
  • Added feature to select a tax rate for shipping.
  • Added customer information about "Free Shipping" in the summary table.

VERSION 0.8.2 (01/30/2008)

  • Corrected tax calculation for prices including tax (brutto prices).
  • Do not use older versions any more due to this error!
  • Added possibility to use [ORDER_ID] in the email templates.

VERSION 0.8.1 (01/19/2008)

  • Changed the way of displaying the order summary:
    • Subtotal: Just calculates the total cost of items without any shipping per item.
    • Shipping: Calculates the total shipping costs including shipping per item.
  • Added a missing language var $MOD_BAKERY['ERR_INVAL_STATE'].
  • Made some corrections to the English language file.
  • Replaced the error, success and information icons by new ones.
  • Fixed a bug that caused a warning when the user did select no zone country in the general settings.
  • Changed the concept of "Proceed Shopping URL" to "Continue Shopping URL".

VERSION 0.8 (01/03/2008)

  • Added option to set a third shipping rate according to a group of specified countries.
  • If a customer is logged in, Bakery tries to retrieve his address of a previous order from the DB to prepopulat the address fields.
  • The address form has an optional state field.
  • The zip code can now be display either in front of the city or at the end of the address.
  • Option to set up to 3 different tax rates in the "General Settings". You can associate one of the predefined tax rates to a single item.
  • If a tax rate in the general settings is changed, all the associated item tax rates will be changed too.
  • Added more CSS classes to the HTML and frontend.css file to give more control over the shop design.
  • After payment has been completed or order has been canceled, Bakery will not kill the session and logged in users will not be kicked out any longer.
  • Deletes DB records of not submitted orders older than 3 hours automatically.
  • Added a cancel order button to the message that is displayed when a user has canceled paypal payment.
  • When a page or section gets deleted, the associated images and thumbs in the media directory will be deleted as well.
  • Fixed a bug in the main page (overview) caused by a not reseted var in the items loop. It made for items which had no option showing up the item option of the
  • preceding item.
  • Improved the code to eliminate all PHP notice errors.
  • Order date is now saved as time stamp.
  • Changed the input name="option_attributes" from maxlength="150" to maxlength="600".
  • Changed CSS class .mod_bakery_table_currency to .mod_bakery_cart_currency_f
  • Deleted sql query that made the bakery settings table searchable.
  • Added some missing closing tags like </p> and </td> to the HTML.

VERSION 0.7 (11/28/2007)

  • Settings are now separated in general settings and page settings
  • General settings are shop settings which apply to all Bakery pages and can not differ from page to page. Page settings apply to one Bakery page only.
  • Payment method (pay in advance / paypal) can now be selected
  • Email to shop is not sent as bcc: any more but as a second email
  • Changed the default value for item quantity to 1
  • Now deletes the WB_PATH.MEDIA_DIRECTORY./bakery directory when Bakery gets uninstalled

VERSION 0.6.1 (11/16/2007)

  • Added an upgrade script
  • Fixed a bug that caused a fatal error during uninstallation when trying to delete non existing /pages/bakery directory

 

CREDITS

Special thanks to...

 

Would you like to contribute to this project?

  • Most of all Bakery needs to be translated to other languages. Please submit your language files to me so I can include them in the zip.
  • You can write documentation, submit bugs, help to fix bugs...

 

 

back to top