Imprint (Impressum) | Privacy Policy (english) | Datenschutzerklärung (deutschsprachig)

BAKERY

WebsiteBaker / WBCE CMS Shop Module

Important security update - 2018/04/03

ALL versions prior to 1.84 are affected to a security vulnerability. Please update as soon as possible !

ABOUT

Bakery is a shop module initially developed for WebsiteBaker CMS and works well with WBCE CMS too. It contains catalogue, cart, stock administration, order administration and invoice / delivery note / reminder printing feature. Payment in advance, invoice, cash on delivery or buy online and pick up in store. Different payment gateways like PayPal, Mollie or SOFORT Überweisung.

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

Please note: The former module author has stopped the support and development of this module. If you have any questions, post in the forum of your preferred CMS.

FEATURES

This feature list refers solely to the latest version.

  • Shopping cart with payment in advance, invoice, cash on delivery, buy online and pick up in store and different payment gateways like PayPal, Mollie (third party) or SOFORT Überweisung.
  • No additional skin, fits into your 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 Bakery templates.

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.96 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.95 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.94 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.36 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.30 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.70 or later).

You can add multiple item images (requires Bakery v1.30 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.95 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.70 or later).

Bakery version 1.70 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 the 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.70 or later).

To display the item images in your Bakery templates use the placeholders [THUMB], [THUMBS], [IMAGE] and [IMAGES] (requires Bakery v1.30 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

Important: After using the "Browse Media" section or FTP to manage Bakery images, you must synchronize the database with the Bakery image directory using the sync_img_helper.php helper script.

>> Read more about "sync_img_helper.php"

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.10 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.95 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.10 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.40 or later. If you have upgraded to v1.40 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.40 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.96 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 the Lightbox2 javascript to overlay item images on the current page (requires Bakery v1.30 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.70 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.40 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.40 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.40 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.53 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.52 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.53.

Bakery version 1.40 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.36 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, Czech and Russian localization included in package by default.

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

Please feel free to make improvements to the English localization 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 validation only accepts the characters of the latin charset. However you can extend it to fit your needs.

Add the $MOD_BAKERY['ADD_CHARSET'] variable to your language file and set the appropriate charset. It must match the localization language. Currently available values are Cyrillic, Greek, Hebrew or Arabic:

// ADDRESS FORM VALIDATION
// Besides of latin define additional charset to be accepted by the customer address form validation
// The charset must match the localization language
$MOD_BAKERY['ADD_CHARSET'] = 'Cyrillic';

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

CHARSET

Starting from version 1.60 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.96 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.10 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.10 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 method 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.

BUY ONLINE, PICK UP IN STORE

If a customer selects "Buy online, pick up in store" shipping is set to 0. There is no setting. Just activate this payment method and it will work right away.

PAYPAL

These settings refer to Bakery v1.50 or later.

In order to receive PayPal payments you need a PayPal account, make sure your server supports the TLS protocol properly and at least make 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

Mollie

Bakery provides a third party payment gateway for Mollie by Ruud. The Bakery module package includes the Mollie payment plugin (API version) for Bakery v1.70 and later.

On Ruuds website Dev4me you will find another version for Bakery v1.60 as well. It also provides basic information about installing and setting up the Mollie API key.

>> Please read the general remarks on payment methods too

SOFORT Überweisung

These settings refer to Bakery v1.55 or later.

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

Log in to your SOFORT Überweisung 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-method 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 customer number, project number, project password and notification password at "Payment Methods" > select "SOFORT Überweisung" > "SOFORT Überweisung 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.40 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

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 v1.70 or later requires Anyitems v0.7
Bakery v1.76 or later requires Anyitems v0.8 or later

LASTITEMS

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

Download
>> Download Lastitems

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 v1.70 or later requires Lastitems v0.6
Bakery v1.76 or later requires Lastitems v0.7 or later

BAKERYSLIDER

Use a snippet called Bakeryslider by jacobi22 to display some linked products in an item slider on any page you want.

Download
>> Download Bakeryslider.

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

Stylesheet
Modify the stylesheet frontend.css included in the package to fit your needs.

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

From your template:
<?php bakeryslider(num_items, order, visible); ?>

where:

  • num_items = Number of items that are loaded by the slider (0 for all items)
  • order = Item selection (0 = oldest items, 1 = newest items, 2 = random)
  • visible = Number of images that are visible in the slider (default = 5)

Further information can be found in the readme.txt of the Bakeryslider package.

PLEASE NOTE:
In order to make use of the snippet Bakeryslider you must have installed the module Bakery.
Bakery v1.70 or later requires Bakeryslider v1.1

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_FastTemplate2 first.
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 Search Console. 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 Search Console.

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

TO DO

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

LICENSE

Module Copyright © 2007 - 2017, Christoph Marti

Please note: Christoph Marti has stopped the support and development of this module. If you have any questions, post in the forum of your preferred CMS. DO NOT try to contact/bother the former module author!

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

NOTE: Before upgrading please read the upgrade notes!

UPGRADE DIRECTIONS

In order to upgrade Bakery follow the steps below:

  1. Before upgrading please read the upgrade notes!
  2. Establish a FTP connection to your server and download the whole /modules/bakery folder.
  3. Login to your CMS backend.
  4. Click on Add-Ons and then Modules.
  5. Click on "Search" (button description might differ) and select the downloaded zip file.
  6. Click on "Install".
  7. Read the information displayed and click on "Continue".

IMPORTANT UPGRADE NOTES

UPGRADING TO v1.71

  • All Bakery installations using PayPal should upgrade to v1.71 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.71 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.70 or later

  • This version features a great improvement in handling item images. It is now possible to reorder item images, add title and alt attributes and even add an image caption. The image at the top position will be used as main image.
  • But before you can use the new image features you must synchronize the database with the Bakery image directory.
    The use of this helper script is at your own risk! It is always a good idea to backup your current WB installation before running this script.
    1. Download sync_img_helper.zip.
    2. Unzip sync_img_helper.zip.
    3. Upload sync_img_helper.php via FTP into the "bakery" module directory.
    4. Call the script in your browser (replace "example" by your domain): http://www.example.com/modules/bakery/sync_img_helper.php
    5. Depending on the number of images it may take a moment until the job is done.
    6. The script prints a log that should be saved for later use.
    7. Delete the helper script from your webspace.
    8. In order to complete the image settings go to the Bakery backend and enter your image data like title and alt attributes or order the images using the up- and down-arrows:
      • The image at the top position (position #1) is the main image.
      • Not used images can be deactivated or deleted in the backend.
      • The alt attribute is mandatory. If the image alt is left blank, Bakery first uses the image title or second the image caption, if one of them is provided.
      • If you enter an image caption, the image will be wrapped in a <div> container and your caption will be joined after a line break <br>.
      • The item attribute generates a unique image id such as 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.

UPGRADING TO v1.55 or later

UPGRADING TO v1.50 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.40 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.30 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.90 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.90 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.96 and later requires WebsiteBaker version 2.7 or later
  • Bakery 0.97 and later requires to upgrade the snippets Anyitems and Lastitems to version 0.4
  • Bakery 1.30 and later requires to upgrade the snippets Anyitems and Lastitems to version 0.5
  • Bakery 1.76 and later requires to upgrade the snippets Anyitems to version 0.8 and Lastitems to version 0.7

WARNING

All versions below v1.84 suffer from a security vulnerability.
Please upgrade AS SOON AS POSSIBLE!

VERSION HISTORY

Latest Version

VERSION 1.8.8 (06/27/2020) Download

  • Fixes for PHP 7.2 - PHP 7.4 and MySQL-strict
  • Please note: This module version is developed on WBCE CMS. It still should work with WebsiteBaker too, but is not tested on that platform.

VERSION 1.8.6 (01/28/2020)

  • Responsive design (no more tables)
  • Please note: This module version is developed on WBCE CMS. It still should work with WebsiteBaker too, but is not tested on that platform.

VERSION 1.8.5 (07/16/2019)

  • add cancellation terms and privacy policy url
  • fix issues with unwanted orders of sold out items
  • fix issues with item stock display
  • Please note: This module version is developed on WBCE CMS. It still should work with WebsiteBaker too, but is not tested on that platform.

VERSION 1.84 (04/03/2018) Download

  • Fixed security vulnerability (thanks to Tonke Hanebuth / PerComp Verlag GmbH)

VERSION 1.83 (05/30/2017)

  • [stock.php] Fixed typo in ternary operator (thanks to ICE)

VERSION 1.82 (05/17/2017)

  • [save_item.php] Fixed db error in strict mode when saving an item with no image item_attribute_id (thanks to jacobi22)

VERSION 1.81 (05/16/2017)

  • [modify_order.php] Fixed options of shipping state select
  • [save_order.php] Fixed setting "hide country name", if customer and shop country match (reported by paulchen)
  • [save_order.php] Fixed state select if setting "display shipping form" is always
  • Fixed some warnings about a non-numeric value
  • Replaced check for an empty string by the function empty()
  • Fixed incompatibilities with mysql save mode (requested by gemnb, thanks to jacobi22). Basically set default values for most database fields.

CREDITS

Special thanks to...

  • Security fixes (v. 1.84): Tonke Hanebuth / PerComp Verlag
  • Ruud: NL localization
  • quinto: FR localization
  • nico89 and Kwb: IT localization
  • kbob: GB localization
    Must be invoked manually by changing the filename EN-GB.php to EN.php
  • dana: CS localization
  • Klimentiy: RU localization
  • dessauer: Added feature to cancel an order.

Imprint

This site is provided by:
Florian Meerwinck | Neustrasse 2 | 23568 Luebeck | FRG | E-Mail support (at) wbce (dot) org
(this is no Bakery support address. If you have any questions, please use the community forum of your preferred CMS)
Responsible for the contents: freesbee (former author), Florian Meerwinck | Neustrasse 2 | D-23568 Luebeck
Whether you use WebsiteBaker or WBCE or Lepton: Just use this module and become happy. Peace.

 

 

Privacy Policy

1. An overview of data protection

General

The following gives a simple overview of what happens to your personal information when you visit our website. Personal information is any data with which you could be personally identified. Detailed information on the subject of data protection can be found in our privacy policy found below.

Data collection on our website

Who is responsible for the data collection on this website?

The data collected on this website are processed by the website operator. The operator's contact details can be found in the website's required legal notice.

How do we collect your data?

Some data are collected when you provide it to us. This could, for example, be data you enter on a contact form.

Other data are collected automatically by our IT systems when you visit the website. These data are primarily technical data such as the browser and operating system you are using or when you accessed the page. These data are collected automatically as soon as you enter our website.

What do we use your data for?

Part of the data is collected to ensure the proper functioning of the website. Other data can be used to analyze how visitors use the site.

What rights do you have regarding your data?

You always have the right to request information about your stored data, its origin, its recipients, and the purpose of its collection at no charge. You also have the right to request that it be corrected, blocked, or deleted. You can contact us at any time using the address given in the legal notice if you have further questions about the issue of privacy and data protection. You may also, of course, file a complaint with the competent regulatory authorities.

2. General information and mandatory information

Data protection

The operators of this website take the protection of your personal data very seriously. We treat your personal data as confidential and in accordance with the statutory data protection regulations and this privacy policy.

If you use this website, various pieces of personal data will be collected. Personal information is any data with which you could be personally identified. This privacy policy explains what information we collect and what we use it for. It also explains how and for what purpose this happens.

Please note that data transmitted via the internet (e.g. via email communication) may be subject to security breaches. Complete protection of your data from third-party access is not possible.

Notice concerning the party responsible for this website

The party responsible for processing data on this website is:

Florian Meerwinck
Neustraße 2
23568 Lübeck

Telephone: 01777840538
Email: support@wbce.org

The responsible party is the natural or legal person who alone or jointly with others decides on the purposes and means of processing personal data (names, email addresses, etc.).

Revocation of your consent to the processing of your data

Many data processing operations are only possible with your express consent. You may revoke your consent at any time with future effect. An informal email making this request is sufficient. The data processed before we receive your request may still be legally processed.

Right to file complaints with regulatory authorities

If there has been a breach of data protection legislation, the person affected may file a complaint with the competent regulatory authorities. The competent regulatory authority for matters related to data protection legislation is the data protection officer of the German state in which our company is headquartered. A list of data protection officers and their contact details can be found at the following link: https://www.bfdi.bund.de/DE/Infothek/Anschriften_Links/anschriften_links-node.html.

Right to data portability

You have the right to have data which we process based on your consent or in fulfillment of a contract automatically delivered to yourself or to a third party in a standard, machine-readable format. If you require the direct transfer of data to another responsible party, this will only be done to the extent technically feasible.

Information, blocking, deletion

As permitted by law, you have the right to be provided at any time with information free of charge about any of your personal data that is stored as well as its origin, the recipient and the purpose for which it has been processed. You also have the right to have this data corrected, blocked or deleted. You can contact us at any time using the address given in our legal notice if you have further questions on the topic of personal data.

Opposition to promotional emails

We hereby expressly prohibit the use of contact data published in the context of website legal notice requirements with regard to sending promotional and informational materials not expressly requested. The website operator reserves the right to take specific legal action if unsolicited advertising material, such as email spam, is received.

3. Data collection on our website

Server log files

The website provider automatically collects and stores information that your browser automatically transmits to us in "server log files". These are:

These data will not be combined with data from other sources.

The basis for data processing is Art. 6 (1) (f) DSGVO, which allows the processing of data to fulfill a contract or for measures preliminary to a contract.

 

 

Datenschutzerklärung

1. Datenschutz auf einen Blick

Allgemeine Hinweise

Die folgenden Hinweise geben einen einfachen Überblick darüber, was mit Ihren personenbezogenen Daten passiert, wenn Sie unsere Website besuchen. Personenbezogene Daten sind alle Daten, mit denen Sie persönlich identifiziert werden können. Ausführliche Informationen zum Thema Datenschutz entnehmen Sie unserer unter diesem Text aufgeführten Datenschutzerklärung.

Datenerfassung auf unserer Website

Wer ist verantwortlich für die Datenerfassung auf dieser Website?

Die Datenverarbeitung auf dieser Website erfolgt durch den Websitebetreiber. Dessen Kontaktdaten können Sie dem Impressum dieser Website entnehmen.

Wie erfassen wir Ihre Daten?

Ihre Daten werden zum einen dadurch erhoben, dass Sie uns diese mitteilen. Hierbei kann es sich z.B. um Daten handeln, die Sie in ein Kontaktformular eingeben.

Andere Daten werden automatisch beim Besuch der Website durch unsere IT-Systeme erfasst. Das sind vor allem technische Daten (z.B. Internetbrowser, Betriebssystem oder Uhrzeit des Seitenaufrufs). Die Erfassung dieser Daten erfolgt automatisch, sobald Sie unsere Website betreten.

Wofür nutzen wir Ihre Daten?

Ein Teil der Daten wird erhoben, um eine fehlerfreie Bereitstellung der Website zu gewährleisten. Andere Daten können zur Analyse Ihres Nutzerverhaltens verwendet werden.

Welche Rechte haben Sie bezüglich Ihrer Daten?

Sie haben jederzeit das Recht unentgeltlich Auskunft über Herkunft, Empfänger und Zweck Ihrer gespeicherten personenbezogenen Daten zu erhalten. Sie haben außerdem ein Recht, die Berichtigung, Sperrung oder Löschung dieser Daten zu verlangen. Hierzu sowie zu weiteren Fragen zum Thema Datenschutz können Sie sich jederzeit unter der im Impressum angegebenen Adresse an uns wenden. Des Weiteren steht Ihnen ein Beschwerderecht bei der zuständigen Aufsichtsbehörde zu.

2. Allgemeine Hinweise und Pflichtinformationen

Datenschutz

Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Datenschutzvorschriften sowie dieser Datenschutzerklärung.

Wenn Sie diese Website benutzen, werden verschiedene personenbezogene Daten erhoben. Personenbezogene Daten sind Daten, mit denen Sie persönlich identifiziert werden können. Die vorliegende Datenschutzerklärung erläutert, welche Daten wir erheben und wofür wir sie nutzen. Sie erläutert auch, wie und zu welchem Zweck das geschieht.

Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

Hinweis zur verantwortlichen Stelle

Die verantwortliche Stelle für die Datenverarbeitung auf dieser Website ist:

Florian Meerwinck
Neustraße 2
23568 Lübeck

Telefon: 01777840538
E-Mail: support@wbce.org

Verantwortliche Stelle ist die natürliche oder juristische Person, die allein oder gemeinsam mit anderen über die Zwecke und Mittel der Verarbeitung von personenbezogenen Daten (z.B. Namen, E-Mail-Adressen o. Ä.) entscheidet.

Widerruf Ihrer Einwilligung zur Datenverarbeitung

Viele Datenverarbeitungsvorgänge sind nur mit Ihrer ausdrücklichen Einwilligung möglich. Sie können eine bereits erteilte Einwilligung jederzeit widerrufen. Dazu reicht eine formlose Mitteilung per E-Mail an uns. Die Rechtmäßigkeit der bis zum Widerruf erfolgten Datenverarbeitung bleibt vom Widerruf unberührt.

Beschwerderecht bei der zuständigen Aufsichtsbehörde

Im Falle datenschutzrechtlicher Verstöße steht dem Betroffenen ein Beschwerderecht bei der zuständigen Aufsichtsbehörde zu. Zuständige Aufsichtsbehörde in datenschutzrechtlichen Fragen ist der Landesdatenschutzbeauftragte des Bundeslandes, in dem unser Unternehmen seinen Sitz hat. Eine Liste der Datenschutzbeauftragten sowie deren Kontaktdaten können folgendem Link entnommen werden: https://www.bfdi.bund.de/DE/Infothek/Anschriften_Links/anschriften_links-node.html.

Recht auf Datenübertragbarkeit

Sie haben das Recht, Daten, die wir auf Grundlage Ihrer Einwilligung oder in Erfüllung eines Vertrags automatisiert verarbeiten, an sich oder an einen Dritten in einem gängigen, maschinenlesbaren Format aushändigen zu lassen. Sofern Sie die direkte Übertragung der Daten an einen anderen Verantwortlichen verlangen, erfolgt dies nur, soweit es technisch machbar ist.

Auskunft, Sperrung, Löschung

Sie haben im Rahmen der geltenden gesetzlichen Bestimmungen jederzeit das Recht auf unentgeltliche Auskunft über Ihre gespeicherten personenbezogenen Daten, deren Herkunft und Empfänger und den Zweck der Datenverarbeitung und ggf. ein Recht auf Berichtigung, Sperrung oder Löschung dieser Daten. Hierzu sowie zu weiteren Fragen zum Thema personenbezogene Daten können Sie sich jederzeit unter der im Impressum angegebenen Adresse an uns wenden.

Widerspruch gegen Werbe-Mails

Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-E-Mails, vor.

3. Datenerfassung auf unserer Website

Server-Log-Dateien

Der Provider der Seiten erhebt und speichert automatisch Informationen in so genannten Server-Log-Dateien, die Ihr Browser automatisch an uns übermittelt. Dies sind:

Eine Zusammenführung dieser Daten mit anderen Datenquellen wird nicht vorgenommen.

Grundlage für die Datenverarbeitung ist Art. 6 Abs. 1 lit. f DSGVO, der die Verarbeitung von Daten zur Erfüllung eines Vertrags oder vorvertraglicher Maßnahmen gestattet.