0% found this document useful (0 votes)
121 views191 pages

Event Gallery

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
121 views191 pages

Event Gallery

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 191

Event Gallery 4.3.

2 User’s Guide
Sven Bluege

Version 4.3.2, 2023-01-22


Event Gallery is a gallery component for Joomla!™. It allows uploading and manage your image
collection and display it with several layouts. It fully supports responsive web design and delivers
adaptive images. Besides this simple use case, it offers the ability to sell your images directly on
your website.

There are two versions available:

• Event Gallery Core

The free version! This is NOT a demo! The feature set of the main component is not limited. You
just don’t get the bleeding edge version and limited support.

• Event Gallery Extended

The full version! This is the bleeding edge version offering a bunch of additional modules and
plugins as well as support. On top, you support the future development of Event Gallery. You
can compare both versions by following this link: https://www.svenbluege.de/joomla-event-
gallery#compare or with the table below.

Table 1. Event Gallery Core vs. Event Gallery Extended

Event Gallery Core Event Gallery Extended

Main Component

Local Images

Flickr - limited to 30 images per


album

Flickr - unlimited

Amazon S3

Google Photos - limited to 30


images per album

1
Event Gallery Core Event Gallery Extended

Google Photos - unlimited

Content Plugin - Embed an


event/album in an article.

Frontend upload for local


images.

Event Modules - Display your


events in modules.

Categories Module

Cart Module

Payment Plugin - Allow your


customers to pay with PayPal,
Braintree and Stripe

Search Plugin - Integrate your


events into the Joomla! search

Access to the latest version,


including previews and
developer versions

Support

Download Buy

Download your copy from https://www.svenbluege.de/joomla-event-gallery/eventgallery-download

Get started with a video

2
https://youtu.be/thBzzk-LTl4

3
Table of Contents
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9  

1.1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9  

2. Tutorial Videos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16  

3. Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
 

3.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20  

3.2. Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  

3.3. Link to the component; create menu items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24  

3.4. How to use Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  

3.5. Manage Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  

3.6. Configuration options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37  

3.7. Manage Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51  

3.8. Download Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51  

3.9. Manage Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51  

3.10. Manage Watermarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52  

3.11. Manage Google Photos Accounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53  

3.12. Manage Email Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54  

3.13. Sync folders and images (Google Photos, Flickr, Local, Amazon S3) . . . . . . . . . . . . . . . . . . . . . . 56  

3.14. Amazon S3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56  

3.15. Google Photos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66  

3.16. Flickr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
 

4. CLI - Command Line Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80  

5. Cart & Checkout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82  

5.1. Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 

5.2. Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
 

5.3. Order Statuses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84  

5.4. Order Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85  

5.5. Image Type Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86  

5.6. Image Type Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86  

5.7. Image Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86  

5.8. Image Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87  

5.9. Image Type Sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89  

5.10. Image Type Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90  

5.11. Shipping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96  

5.12. Surcharge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98  

6. Customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100  

6.1. Modify Ajax List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100  

6.2. Create a responsive layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100  

6.3. Modify Events List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102  

4
6.4. Grid Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103  

6.5. Language Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103  

7. Plugins & Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105  

7.1. Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105


 

7.2. Search Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105  

7.3. Content Plugin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108  

7.4. Editor Button Plugin for Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110  

7.5. Editor Button Plugin for Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110  

7.6. Modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111


 

7.7. Cart Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111  

7.8. Event Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111  

7.9. Latest Event Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112  

7.10. Events Module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112  

7.11. Categories Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112  

8. GDPR details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 

8.1. Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113


 

8.2. Delete Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113


 

8.3. Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113


 

9. FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
 

9.1. Unable to install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116  

9.2. Blank Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 

9.3. Thumbs do not show up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117  

9.4. Lightbox does not work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118  

9.5. Images are not properly aligned, layout broken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118  

9.6. Folders get lost with the sync job . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119  

9.7. Upload multiple files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119  

9.8. Image-Upload does not work. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119  

9.9. Maximum length of file and folder names. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119  

9.10. Social Sharing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119  

9.11. Character Encoding does not work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119  

9.12. Images indented to the left side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120  

9.13. How to prevent right clicks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120  

9.14. SQL exception during install . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120  

9.15. Change the default image folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125  

9.16. Change the default configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125  

9.17. How to provide the original files for download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125  

9.18. How to change the money format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125  

9.19. Change text / create language override . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126  

9.20. I can’t select a shipping method in the checkout process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126  

9.21. I can’t share a protected event.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126  

9.22. Error messages during updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127  

5
9.23. Restrict the size of Flickr images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128  

10. Releases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 

4.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
 

4.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
 

4.3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
 

4.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
 

4.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
 

4.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
 

4.1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
 

4.0.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
 

4.0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
 

4.0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
 

3.12.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
 

3.12.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
 

3.12.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
 

3.12.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
 

3.12.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
 

3.12.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
 

3.11.22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
 

3.11.20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
 

3.11.18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
 

3.11.16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
 

3.11.14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
 

3.11.12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
 

3.11.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
 

3.11.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
 

3.11.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
 

3.11.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
 

3.11.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
 

3.11.00. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
 

3.10.24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
 

3.10.22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
 

3.10.20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
 

3.10.14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
 

3.10.12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
 

3.10.10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
 

3.10.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
 

3.10.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
 

3.10.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
 

3.10.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
 

3.10.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
 

6
3.9.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
 

3.9.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
 

3.9.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
 

3.9.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
 

3.8.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
 

3.8.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
 

3.7.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
 

3.7.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
 

3.7.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
 

3.7.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
 

3.7.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
 

3.7.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
 

3.6.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
 

3.6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
 

3.5.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
 

3.5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
 

3.5.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
 

3.5.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
 

3.5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
 

3.5.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
 

3.4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
 

3.4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
 

3.4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
 

3.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
 

3.4.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
 

3.4.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
 

3.3.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
 

3.3.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
 

3.3.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
 

3.3.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
 

3.2.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
 

3.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
 

3.2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
 

3.1.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
 

3.1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
 

3.1.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
 

3.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
 

3.1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
 

3.0.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
 

3.0.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
 

3.0.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
 

7
3.0.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
 

3.0.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
 

3.0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
 

3.0.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
 

2.6.8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
 

2.6.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
 

2.6.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
 

2.6.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
 

2.6.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
 

2.6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
 

2.6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
 

2.6.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
 

8
Chapter 1. Introduction
1.1. Introduction
This manual covers the features of Event Gallery 4.3.2.

It’s time to introduce a new gallery component for Joomla. I guess you’re already waiting for
something like this since there is a real lack of such kinds of components ;-)

Initially, I build this component to show photos of different events to the audience. To where other
components have folders this component calls them events. Because of that this component is
called Event Gallery. But don’t be tricked by that. It’s a full-fledged gallery component. So install it
and give it a try.

1.1.1. Features

Let’s list some features Event Gallery provides:

• Works with Joomla 3 and PHP 7

• Display images from local folders, Amazon S3 folders, Flickr * and *Google Photos

• Cart & Checkout to allow collecting orders.

• Modules and plugins as part of Event Gallery Extended.

• Four different layouts for a list of events

◦ Tile List

A Pinterest like tile layout where the name and description of an event are easily visible and
can use much more space than using the Grid layout.

◦ Grid List

Shows your events with a preview image in a grid layout.

◦ Image List

Shows your events with a masonry layout.

◦ Simple List

This kind of layout show your events as a simple list of text links.

• Five different layouts for a list of images:

◦ Image List

This list type presents all images of an event as a simple long list. You can zoom into images
using a light box.

◦ Pageable Image List

9
While nearly identical to the Image List view this view provides a dedicated page for every
image. This page allows you to step from image to image.

◦ Ajax Image List

If there is limited space the Ajax Image List is for you. It provides a spitted interface where
you have a full image on one side and a pageable list of thumbs on the other side.

◦ Tile List

Displays your images in a Pinterest like layout. This view allows to display the image title
and description below each image.

◦ Grid List

The grid list is showing your images in a very simple way. It’s a kind of table, but it supports
responsive layouts.

• Light box with integrated paging and support for swipe gestures on touch enabled devices

• Deep links - you can link from a menu directly to a specific event

• Tags - you can assign tags to events and use them filter your events in the front end.

• Categories - build your hierarchy using native Joomla categories

• Responsive & Adaptive - resizes automatically to the available space and uses the optimal image
size to reduce bandwidth usage.

• Browser Support: IE10, IE11, Chrome & Firefox latest versions

1.1.2. Layouts

List of Events

10
Figure 1. Layout options for lists of events

Event

11
Figure 2. Layout options for events

1.1.3. Things you should know

There are several essential things you should understand before you use Event Gallery.

Google Photos, Flickr, Thumbs & Cache

Google Photos & Flickr

12
If you create an event where the images are located on the Google Photos/Flickr server this event is
called a remote event. If information about this event have to be displayed Event Gallery will make
a request to the Google Photos/Flickr Servers to get a list of available images. The result of this
request is cached for 24 hours to achieve a good performance. But this also means that changes you
do at the Google Photos/Flickr side are not reflected on your Joomla site until the next request. You
can clear the server cache to make Event Gallery reloads the Google Photos/Flickr album.

Local

If you upload your images to your server directly you use a local event. For every file you upload a
new entry in the database is created. If you use the internal upload tool everything is fine. If you
upload images another way you need to synchronize the database using the "Sync Database" button
Event Gallery provides. That is also the case if you do any other modification directly in the file
system.

Once this information is available in the database you can display the images in the front end. Since
you just need to upload the large images, Event Gallery will take care of creating all the different
thumbnails. For performance reasons those thumbnails are cached. If you change an image, add
watermarks or things like this, you need to invalidate the cache. This will delete all the cached
thumbnails and the server will recreate them if necessary. Don’t forget to clear the browser cache
as well to see changes. Even if the images are cached very well, each request is a PHP request. Make
sure your server can handle this. But don’t worry too much. For most of them this is no issue.

Event Gallery supports two different versions of delivering local images. The old and default way is
to generate thumbnails on demand. The image.php script is called for every thumbnail. If there is
already a thumbnail in the cache, it’ll be used. If there is no thumbnail, it gets created and stored in
the cache. That is basically described above. The new way is to precalculate thumbnails and deliver
them as static files. You are responsible to make sure, the thumbnails exist. Event Gallery will
support you, but you still need to keep an eye on it. If you delete the Joomla! Cache, make sure you
don’t delete the thumbnails, too. In the components options you can switch between using on-
demand and precalculated thumbnails.

Generated thumbnails are located in /images/eventgallery_generated.

Caching

To improve performance the Joomla cache is supported. The events and the event view are cache-
able. Please keep in mind that you need to use progressive caching if you want to use user groups to
restrict access to your events. Password protected events can be cached conventionally. Please do
not use the Joomla! Cache plugin if you want to use the checkout. This plugin caches pages based on
their URL only which is not a good idea if the view is based on session data like a cart.

Modules are cacheable too. They are cached globally for the site.

Event Gallery & JavaScript

Event Gallery makes heavy use of JavaScript to calculate the right thumbnail sizes to load optimized
images only. This means that JavaScript has to work on your site without any issues. The most
common issues are caused by templates, plugins or modules which do not care enough about the
way Joomla works.

13
Amazon S3 Storage

If Google Photos and Flickr are too unreliable, but you don’t have much space/traffic on your web
server, you can move your images to Amazon S3. Amazon S3 is a simple storage provider. You can
upload your original files and let Event Gallery create the necessary thumbnails. Just keep in mind
that you pay for both the amount of space and the bandwidth you use. The amount of space you
need for the generated thumbnails is relatively high. Currently, Event Gallery uses 13 different sizes
from 48px to 1440px. While those thumbnails get generated dynamically if images are stored
locally, they need to exist if you’re using Amazon S3. Please read more in the Amazon S3 section of
the manual.

1.1.4. Requirements

• Images! Large Images. At least as wide as the space where you want to show them. Bigger is
better :) But watch the memory limit of your server.

• Your images need to have an extension like JPG or jpg. png and gif will do too.

• The Latest Joomla Version

• PHP 7.2 or later

• Server upload limit > 3.5MB

• MySQL

• GD library for PHP

• fileinfo for PHP

• Set the PHP memory limit high enough (128MB is recommended)

• Your template should not produce any JavaScript errors before you install the component

• If you use Flickr, your images need to be uploaded after 2012 to provide the necessary
thumbnail sizes.

1.1.5. Install and Update

Install

Do never install an older version than the current one you’re using! This will cause
multiple issues and might prevent that you can install the latest version again or
 even render your site useless. I recommend using a tool like Akeeba Backup for
Joomla to create a backup of your site before updating anything including this
package.

The installation of the component is quite easy:

1. Make sure your server meets the requirements.

2. Download the component zip file

3. Open your Joomla Back End and log in

4. Open the Extension Manager and install the component by selecting the downloaded zip file in

14
the file dialog

Update

If you want to update from Event Gallery to Event Gallery Extended you can follow the same
process as with a normal update.

1. Make sure your server meets the requirements.

2. Download the component zip file

3. Open your Joomla Back End and log in

4. Open the Extension Manager and install the component by selecting the downloaded zip file in
the file dialog

Yes, those are the same steps as for the installation process. Usually, it is not necessary to uninstall
the component for an update.

 If you uninstall the component you’ll lose your configuration and data.

Make sure you uninstall the whole PACKAGE. If you uninstall the component only
 you can’t reinstall. Just uninstall the package, and it’ll work again.

Possible Issues

Since the installation package is pretty large you might encounter problems during the upload. In
this case, you can use one of the two other options the Joomla Extension Manager provides:

• Upload the package to your server using FTP and install from directory.

• Install using a link. Instead of downloading the package you can copy the link. Use this link to
install Event Gallery.

If you see some warnings during the update process don’t worry. Just install the package again, and
it’ll work.

15
Chapter 2. Tutorial Videos
YouTube Channel
You can check out the YouTube channel using this link: YouTube

Get Started
https://youtu.be/thBzzk-LTl4

Setup Flickr
https://youtu.be/11HCvdWH6o8

Adding Flickr to your Joomla page is just a few clicks away. This video will get you started.

Setup Google Photos - English


https://youtu.be/iVavYTepdJ8

Setup Google Photos - German


https://youtu.be/9i5kj44HRCg

16
Install
https://youtu.be/u4HIO5RQCrw

Create Events
https://youtu.be/fE-MObwXoIc

Use the Content Plugin


https://youtu.be/IEegcdbyfhg

Create Menu Items


https://youtu.be/O6hTsSrpqJA

Front End Cart and Checkout


https://youtu.be/1pPYJB5Awco

17
Back End Tour
https://youtu.be/xz-16LY3zjE

Enable Cart Module


https://youtu.be/tAEldAjZ21U

IPTC Data
https://youtu.be/OV77MD7OeBU

Amazon S3 Setup
https://youtu.be/SXNN8unEYIM

Google Photos
https://youtu.be/Gz57tKlT-xg

18
Google Photos and protected albums
https://youtu.be/wpuGRZxhPtY

Sell images - Create Image Types and Image Type Sets


https://youtu.be/0gVbM8dFn1I

19
Chapter 3. Usage
3.1. Overview

Figure 3. Configuration options

This page lists the components configuration options. The top tool bar provides the following
options:

3.1.1. Options

Access the components options. See below for the available configuration option.

3.1.2. Sync Database

You can do the upload using FTP or the build in image uploader. Since this component uses the
databases to store information about files it needs to be updated once you change something
directly at file system level. You can add/remove files and folders. By hitting the sync button added
folders and files get added to the database while removed files/folder get removed. Finally, the
database is in sync with the file system. If you try to upload using FTP put your images into a new
folder below [path]_ /images/eventgallery/_.

20
Make sure your folder names do not include special characters like umlauts, dots or anything like
this. Otherwise, you will encounter sync issues.

The sync process will handle your Amazon S3 folders as well. Since the file sync is expensive the
process is now split into two parts. The [ Sync Folders ] button will start the search for files which
needs to be synced. While this is always true for local files, Amazon S3 files will only appear if their
hash has changed or the local database does not know the hash yet. Hit the [ Sync Files ] button to
start the file sync. This is necessary to update meta information about images in the database. This
involves some EXIF data and most important the plain width and height of the image. If you’re
syncing S3 images please keep in mind that this process will temporarily download every file to
read the necessary data from.

Figure 4. Sync Database

If you want to automate the sync process you can use the command line script [path]_
cli/eventgallery-sync.php _ to do the sync job. You can use this script as part of a CRON job. This is
useful if you just want to add images daily, or you have an ongoing event. Make sure the uploads
and the sync job do not collide.

3.1.3. Amazon S3 Thumbnails

In the top toolbar you’ll find a new button Thumbnail Creator. Use this button to create your
thumbnails if you store your images in an Amazon S3 bucket. To create thumbnails you need to
select the folder you want to scan and click the [ Find missing thumbnails ] button. It will try to
find missing thumbnails based on two criteria: do the thumbnails exist at all and is the thumbnail
already known in the database. If the checkbox [ Refresh thumbnail hashes ] is checked and the

21
thumbnail exists in the S3 bucket, its hash gets written into the database. This is very useful if you
run two servers with one set of S3 buckets and avoids calculating the thumbnails twice. If missing
thumbnails are found they’ll be shown, and you can click the [ Create Thumbnails ] button to
generate them. This will take a long time! The upload to S3 is kind of slow. You can open the
JavaScript console of your browser to see detailed information. In case of errors, please let the
current process finish and click the [ Find missing thumbnails ] button and repeat the process.
Since an image might take about 25-35s, please make sure your servers max execution time is set to
a higher value than 30s!

On my server it took about 5-6 hours to create thumbnails for 2000 images. The
 sync process runs in the browser with four parallel workers. The CLI script uses
just one.

You can speed up the process by using an external resize service. On GitHub (
https://github.com/svenbluege/eventgallery-lambda) you can find an Amazon Lambda function
which can be used with Event Gallery. Once you published this function using the Amazon API
Gateway you can enter the API URL in the components options.

Figure 5. Thumbnail Creator

3.1.4. Clear Cache

The component caches all calculated images, the result of requests to Flickr and Google Photos and
some more stuff. If you feel you have to clear this cache just hit this button. Keep in mind that
refreshing the cache might be expensive. Please note that just because you remove all the cached
images your browser might still load images from the local browser cache. Don’t forget to clear that
too. If you remove cached responses for Google Photos and Flickr requests the next request on your
site will load the latest data from those remote services. Use this if you change something directly in
a Google Photos/Flickr album.

22
You can manually clear the Event Gallery cache be deleting all eventgallery-*
 folders in the Joomla! Cache folder /cache and the folder which contains generated
thumbnails /images/eventgallery_generated.

Figure 6. Clear Cache options

3.1.5. Google Photos Import

In order to import all public albums from a Google Photos account you can use this import. The
component will load all albums and adds them to the list of events. Please note that this is just a
one-way import. Once you remove an album from Google Photos, you need to remove it from the
list of events as well. The import will only add elements.

3.2. Caching
Event Gallery allows benefiting from caching even if you don’t enable the Joomla! Cache. This is
very useful for the Event Gallery modules and will speed up your sites load times. But it helps to
deliver full pages faster too. As of now, this only works if you use the caching handler FILE. This is a
setting you can make in the Joomla! Configuration options where you can do all the cache settings.
It does not work with other cache handlers because of some bugs in there. Once you’re using the
cache don’t be surprised if changes in the back end are not reflected in the front end. You see
cached elements! Make sure you clear the cache using the components settings. You can clear the
com_eventgallery cache folder but leave alone the image, Flickr and Google Photos folder. They
contain your cached image metadata and are not involved in this kind of cache.

The cache lifetime if defined by the Joomla! Global configuration option for the cache lifetime.

Event Gallery modules feature the caching configuration option. Set it to Yes to enable module

23
caching and set the cache lifetime as long as you like. 86400 is a good value since it caches a module
for 24h.

3.3. Link to the component; create menu items


Creating links to the component is simple. Open the menu manager, create a new menu item and
select the right view. The name of the component you want to link to is Event Gallery so choose the
right section and the available targets will appear.

Figure 7. Create a new menu item

There are several views available:

Cart

Shows a page which contains the cart of the current user

Checkout

Displays the checkout page where the user can request his cart.

Categories

Displays list of events and the subcategories of the selected category. If you choose ROOT all events
are shown.

Event
• Event Layout defines how to display the images of an event.

24
• Event Headline For SEO reasons a default H1 tag for the headline does not always make sense.
This option allows you to change the tag to another headline type.

• Use paging Defines if a paging bar is displayed for a list of images.

• Show EXIF If EXIF information for an image are available this toggle switches them on or off.

• Show event text Defines to show the text for an event on the event list.

• Show date You can toggle the appearance of the date for the events show within this menu item

• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.

• Show image count Defines to display the overall number of images for an event on the events
list

Events
• Layout defines which layout to use for an event. You can configure the appearance of the event
page with the options described above.

• Intro Text defines a text for the events page. Usually displayed on top of the page.

• Sort By defines the direction and the attribute which is used the sort the events.

• Max events per page How many events should we show per page until the paging bar will
appear.

• Show hits Enables the display of the number of hits an event received. Please note that hits can
only be counted if caching is disabled. If you have an event which uses paging each page is
counted as a hit.

• Use Password Dummy Image Show a dummy image instead of the main image in a list of
events if the folder is password protected. Once the user entered the right password this image
will be replaced with the events main image.

• Use UserGroup Dummy Image Show a dummy image instead of the main image in a list of
events if the folder for a specific user group only. The real image will appear once the user is
logged in with the right group.

• Show Events per Category Show the number of assigned events for a category.

Event - Ajax List

Shows a specific event with the Ajax List view

Basic Options
• Event: the event you want to display

Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.

• Show date You can toggle the appearance of the date for the events show within this menu item

• Height of the thumbnails Defines the height of the thumbnails in the navigation bar.

• Number of thumbs per page Defines how many thumbs you want to see on a page

25
• Number of thumbs on first page Defines how many thumbs you want to see on the first page.
Since there might be some additional text this number can be smaller than on other pages.

• Show Information Inline Defines where to show the event name and description. Inline on the
first thumbnail page or on top of the page.

• Use paging Defines if a paging bar is displayed for a list of images.

Event - Pageable List

Shows a specific event with the Pageable List view

Basic Options
• Event: the event you want to display

Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.

• Show date You can toggle the appearance of the date for the events show within this menu item

• show hits Enables the display of the number of hits an event received. Please note that hits can
only be counted if caching is disabled. If you have an event which uses paging each page is
counted as a hit.

• Height of the thumbnails defines the initial height of each row in the grid in pixel.

• Height jitter defines the maximum amount of pixel the row height can vary.

• Height of the first thumbnails defines the height in rows of the first photo in the list.

• Show image caption overlay Defines if the image title and caption is displayed on an image.
This setting affects only the pageable list and the image list.

• Use paging Defines if a paging bar is displayed for a list of images.

• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.

• Show Image Title Toggles the display of the image title.

• Show Image Caption Toggles the display of the image description.

Event - Image List

Shows a specific event with the Image List view

Basic Options
• Event: the event you want to display

Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.

• Show date You can toggle the appearance of the date for the events show within this menu item

• Height of the thumbnails defines the initial height of each row in the grid in pixel.

26
• Height jitter defines the maximum amount of pixel the row height can vary.

• Height of the first thumbnails defines the height in rows of the first photo in the list.

• Show image caption overlay Defines if the image title and caption is displayed on an image.
This setting affects only the pageable list and the image list.

• Use paging Defines if a paging bar is displayed for a list of images.

• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.

• Show Image Title Toggles the display of the image title.

• Show Image Caption Toggles the display of the image description.

Event - Grid List

Shows the images of an event in a grid. Images are not cropped and centered in a tile.

Basic Options
• Event: the event you want to display

Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.

• Show date You can toggle the appearance of the date for the events show within this menu item

• Use paging Defines if a paging bar is displayed for a list of images.

• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.

• Show Image Title Toggles the display of the image title.

• Show Image Caption Toggles the display of the image description.

Event - Tiles List

Shows the images of an event in a Pinterest like layout.

Basic Options
• Event: the event you want to display

Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.

• Show date You can toggle the appearance of the date for the events show within this menu item

• Use paging Defines if a paging bar is displayed for a list of images.

• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.

27
• Show Image Title Toggles the display of the image title.

• Show Image Caption Toggles the display of the image description.

Event - Squares

Shows all images of an event as square sized thumbnails.

Basic Options
• Event: the event you want to display

Advanced Options
• Show EXIF If EXIF information for an image are available this toggle switches them on or off.

• Show date You can toggle the appearance of the date for the events show within this menu item

• Use paging Defines if a paging bar is displayed for a list of images.

• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title
and caption. This even works for the light box.

• Show Image Title Toggles the display of the image title.

• Show Image Caption Toggles the display of the image description.

Events - List

Displays a list of events.

Event
• Event Layout defines how to display the images of an event.

Events
• Layout defines which layout to use for an event. You can configure the appearance of the event
page with the options described above.

• Intro Text defines a text for the events page. Usually displayed on top of the page.

• Tags defines which tag an event need to get displayed on this list of events.

• Category shows only events from this category

• Sort By defines the direction and the attribute which is used the sort the events.

• Max events per Page How many events should we show per page until the paging bar will
appear.

• Show EXIF If EXIF information for an image are available this toggle switches them on or off.

• Show event text Defines to show the text for an event on the event list.

• Show date You can toggle the appearance of the date for the events show within this menu item

• Use paging Defines if a paging bar is displayed for a list of images.

• Show Filename Defines if we show the filename of the current image to make potential
customers aware of. The filename of the current image will appear together with the image title

28
and caption. This even works for the light box.

• Show image count Defines to display the overall number of images for an event on the events
list

• show hits Enables the display of the number of hits an event received. Please note that hits can
only be counted if caching is disabled. If you have an event which uses paging each page is
counted as a hit.

• Show image caption overlay Defines if the image title and caption is displayed on an image.
This setting affects only the pageable list and the image list.

• Use Password Image for Event Show a dummy image instead of the main image in a list of
events if the folder is password protected. Once the user entered the right password this image
will be replaced with the events main image.

• Show back button If enabled the event pages will have a back link in case the parent menu
item shows a list of events. It’s still better to use Joomla! Bread crumb mobile if you want to
create some kind of navigation help. This is especially true if you use the categories view. The
back link will always point to the main menu item.

29
Figure 8. Create a new menu item

3.4. How to use Tags


This gallery component supports just a flat list of folders. If you need a navigation tree you’re out of
luck. But you can achieve a tree structure using tags and Joomla menu items. Create a menu
structure which represents the structure you would like to have. Each menu item might link to the
view of the event gallery you need. This is simple if you link directly to an event. If you want to
have a different list you can use tags to separate the lists.

Example for such a structure:


• Event1 → Tags = nature

• Event2 → Tags = nature

• Event3 → Tags = architecture

• Event4 → Tags = people, men

• Event4 → Tags = people, men

30
• Event5 → Tags = people, women

• Event6 → Tags = people, children

You can arrange the events within the following menu structure:

• Menu Item 1 → Event List with tag "nature"

• Menu Item 2 → Event List with tag "architecture"

• Menu Item 3 → Event List with tag "people"

◦ Menu Item 4 → Event List with tag "men"

◦ Menu Item 5 → Event List with tag "women"

◦ Menu Item 6 → Event List with tag "children"

3.5. Manage Events


You can manage your events here. Aside of creating a new event, you can set an event
offline/online, upload files, open the file list and open the edit view. In addition, there are several
more buttons in the toolbar:

• Options

• Sync Database

• Clear Cache

For details check the overview section.

Figure 9. Events Page

31
3.5.1. Edit Event

The view lets you edit the details of an event. An event is always based on some kind of file
structure. Because of this you’ll have to deal with the term Folder.

Use the Save as Copy button to create a copy of the current event. Make sure you specify a different
image source. It is not allowed to use a source twice. Images are not involved in the copy process.

• Image Source

Specify which image source you want to use for this Event.

• Local Images / Amazon S3

Specify the folder name. Don’t use special characters or slashes. A good example id '2022-05-
20_birthday'. You don’t need to care about the folder structure, so no parent directories are
needed here. Again: no slashes are allowed. Create the Event, then you can upload images.

• Flickr Photo Set

If you want to show a Flickr Photoset you can enter the ID of this PhotoSet here. You can search
for that ID manually or use the Album button after selecting a Flickr account. If there is no
Flickr account, please create one in Event Gallery. This allows easy access on the one side and
access to private Flickr images on the other side.

• Google Photos

Use the album selector button to select the album you want to use. It will fill the album field
with a long string which is the reference to the album.

• User Groups

Defines a set of user groups. If a user wants to see an event he needs to be part of one of the
defined user groups. Otherwise, he’ll get a login page or an access-denied-screen.

• Password

Set a password for each folder if you want to protect it somehow. If a user tries to access such a
folder he needs to enter a password. If you want to send out links to a password-protected
folder you can add this password directly to the link and nobody needs to be bothered by a
password page.

• Password Hint

Provide a hint for the user to guess or get the password. Use this to let your visitors guess the
password without having to know it.

• Tags

A comma separated list of tags you want the event to have.

• Date

32
This date is shown in the front end for this event.

• Title

This description is shown in the front end as the events name.

• Published

Is this event visible in the front end?

• Start Publishing

Defines when this Event would become visible in the frontend. Still, you need to publish it.

• End Publishing

Sets the time at which this Event should disappear in the frontend. Still, you need to publish the
Event.

• Cartable

Defines if users can add images from this folder to the cart. Useful if you want to display image
where it makes no sense for getting requests for.

• Image Set

If you want to sell images from this event you need to select the image set you want to use.

• Watermark

Sometimes one would like to brand his images. If you defined at least one watermark you can
select it here. All images of this event will be marked using this watermark configuration. If a
default published watermark exists this one is used to watermark images of this event.

• Text

You can add additional text to an event. This text is usually shown above the thumbnails in the
front end.

• Sorting

While this tab is visible for all types of events it effects local events only. Use it to define how
you want to sort the images of this event. If you chose the global sorting values you can control
your file ordering using the components options.

• Others

Use this tab to control more settings for this event like the options for social sharing.

33
Figure 10. Create Event

3.5.2. Sorting Events

Sorting of the elements in this list is a bit tricky. By default, the items are sorted by the ordering
number descending in the front end. If you want to have your item on top of the list, assign it the
highest number. All items with a number of 0 will behave strangely until you enter a number
greater than 0 and click the save button which is located in the header of the sorting row. Once all
events have an ordering number you can use the up/down arrows or drag and drop to sort them
further. New events will end up with the highest ordering number + 1.

34

Figure 11. Save Sorting Button

If you change a number in the ordering field a button will appear on top of the
column. You can change multiple values and hit this button afterwards. This will
persist your changes.

Make sure you don’t miss the configuration options for the sorting in the global options and the
menu item specific configuration panel.

3.5.3. Manage Files

Once you created your event and uploaded some photos you may want to manage those files. Here
is the right place for it. On this page you can sort, delete and modify the status of an image.

The options in this page are only available for images you manage yourself. Images on Google
Photos or Flickr are managed remotely. There is a regular sync with those services to import the
latest data.

• published

Defines if this image appears in the front end.

• main image

Should this image be used for the overview page in the front end? Multiple selections are
possible, the image with the highest ranking will win.

• show in image list

Sometimes you want show an image on the overview page but not in the actual image list. With
this option you can hide the image on the list. It’ll only appear on the overview page if it is
defined as a main image.

The status of an photo can be changed by the button in the status column. By using the check boxes
and the buttons in the toolbar you can perform an operation for multiple photos.

35
Figure 12. Event Page

File Details

You can manage details for each local image on the file detail page.

Title
• Title

The title for your image

• Caption

The description for the image

• Creation Date

You can sort your images by this value. It’s read from the IPTC creation date field of the image.
The format is simply YYYYMMDDHHmmSS like 20160131105500.

• URL

The url for the image. It depends on the layout you use if this value is used or not. If it is uses a
click on the image will redirect the user to the url you specified.

• Image Type Set

Use this to sell this image with a different set of options and prices. If no value is set there,

36
prices and formats (aka image types) are derived from the Event.

3.5.4. Sorting Files

By default, the ordering of files is by ordering number descending and file name ascending. New
files will always get a ordering number of 0. By assigning a number greater than 0 you can move
individual image up. Usually one would name the image files like one would like to have them
ordered in the front end and sorts special images on top of the list.

In the components options and for an individual local even you can define which column is used to
sort the files in addition. This sort attribute is applied before the other sort attributes mentioned
above. You can find the configuration in the Events - List tab in the components options.

The fields for entering ordering numbers for files will disappear if the event is
 sorted by anything else than the ordering column. Files appear in the same
ordering as they would appear in the front end.

Shuffle Images

This option allows to display the images of an event in random order. You can switch it on in the
components options (tab Events - List) or directly for an event using the sorting tab. Keep in mind
that this option gets only active if the layout you use does not has a pagination bar. Random order
and paging does not make much sense. Also, it does only effects the main component. Modules and
plugins do not react on this setting.

3.6. Configuration options


There are a few things globally manageable. Here is a list of things you can do.

3.6.1. General

Figure 13. General Configuration options

• Download ID

If you have installed Event Gallery Extended you can use the auto update if you enter your
download id here. Get it from https://www.svenbluege.de/subscribe/download-id

• Notification User Group

37
This user group is used to send notification about orders to. All users in this group which can
receive system mails will get a mail upon an event.

• Default User Group

You can force the people to login before they can see your images. This field provides a set of
default user groups which are used if an event does not define its own.

• Download Log

Enables a log which contains who downloaded which images.

• Show User Group Specific Events in List

Defines if you want to hide user group specific event in lists of events. They do still not appear
in modules. Show them to make users aware that there is something they need to log in for.

• Use Caching

If you enable this some views of the component will use caching. This does not influence
module caching. They have their own cache configuration. Please have a look at the caching
section in this manual for details.

• Load uncompressed/readable JS/CSS files

Puts the component into debug mode. CSS and JS files will be delivered separately and
uncompressed.

• Load responsive CSS

This option turns on the loading of an elementary responsive CSS file. I recommend turning off
this option and add your own styles which match your templates responsive breakpoints. Please
have a look at the FAQ section for example code.

Depending on the template you’re using, select the fluid or the static CSS. The static CSS is
helpful if your template restricts the maximum width of the page. On the other hand, allows the
fluid CSS to support the full browser width without having too large images.

• Flickr API key

Defines your Flickr API key. There is a build in key but this one can expire anytime. Make sure
you get your own key! This is deprecated and replaced by the new dedicated section for
Flickr Accounts. This configuration option stays there to support your migration to the new
accounts.

• Flickr Cache Time

Unit of this value is second. Defines how long a Flickr album is cached before it gets reloaded
from the Google servers. Check the manual on how Flickr integration works.

38
3.6.2. Image

Figure 14. Image Configuration options

• Use Rendering Fallback

On some servers the execution of script is not allowed in subfolders. The execution is necessary
since images are delivered by a script, and we don’t want to run the whole joomla framework
for every request. If you encounter issues with images that do not appear, you can use the
fallback to use index.php for image delivering.

This is slow and should be not your long term solution. Contact your provider to
 make sure php scripts can be executed in component folders. At least this would
be great for the following script: components/com_eventgallery/helpers/image.php.

• Image Quality

Defines the output quality of every generated image. Default is 85% which is pretty good. Lower
values will result in lower quality. More is usually not necessary.

• Use Sharpening

Enables or disables the sharping functionality. If image sharping is enabled it uses the matrix
defined below.

• Sharp Original

If the image is delivered to the browser in the same size of the uploaded file you can disable
sharpening here. By default, images uploaded smaller than 1440px will be affected by this
setting. For all other images smaller thumbnails are delivered and this setting does not apply.

• Sharpen Matrix

You can define a matrix which is used to sharpen the generated images. The default matrix is
[[-1,-1,-1],[-1,16,-1],[-1,-1,-1]] and it will do a good job. In case you want to have blurry or
even sharper images this is the configuration parameter you’ll have to touch. Please find the

39
possible values here: https://php.net/manual/en/function.imageconvolution.php . In case you
have no clue what this is about, don’t touch it. After a change delete the cache otherwise you
will see no result.

A matrix like [[0,-1,0],[-1,15,-1],[0,-1,0]] should give you some less aggressive sharpening.

• Use auto rotate

If the image contains EXIF information about the orientation this information is used to rotate
the image. This feature is useful if you upload images directly from the camera. Don’t forget to
clear the cache and sync the database if you change this option.

• Use IPTC data

This option is enabled by default. If you add images to Event Gallery which contain IPTC data,
some fields are populated automatially. If you don’t want this feature set this option to No.

• Overwrite with IPTC data

If set to Yes the caption and title field for an image in the database is overwritten with the IPTC
data of the image file. Otherwise, IPTC data is only used to set the fields initially. If you
overwrite data you’ll lose localized content in those fields too.

• Show Filename

Defines if we show the filename of the current image to make potential customers aware of. The
filename of the current image will appear together with the image title and caption. This even
works for the light box.

• Protect Images

If set to Yes the system will create a .htaccess file for local files which prevent direct access to
the uploaded images. If you disable this configuration options you need to remove the existing
.htaccess files yourself. You need to delete the .htaccess files in the image folders as well as the
one in the image root folder. If you enable this option please use the [ "Sync Database" ]
afterwards which will create the .htaccess files. Please note that this will only work on systems
which support .htaccess files.

• Use Lazy Loading

Lazy Loading is the deferred loading of images. Only images which scroll into the browser view
are displayed. You can turn this option off if your template does not support this behavior.
Usually you would not see images in the lower part of the page. By setting this option to No, all
images are loaded at once.

• Use watermarks for main images

Main images are images which are marked to be the preview images of events. For those images
you might not want to show watermarks. This options allows to disable watermarks for them.

• Use precalculated thumbs for local images

40
This option switches between dynamic thumbnail generation and static file delivery. You can
precalculate the thumbnails using the image generator (see the syn database page). If you don’t
do this, you’ll not see any images. For most servers, that option can stay off.

3.6.3. Cart

Figure 15. Cart Configuration options

• use cart

Defines if the cart functionality is visible in the front end.

• Show components cart

The component can display the current cart above each site. If you use the cart module you can
disable the internal cart.

• Sticky Image Format Selection

If set to yes the order images button disappears on an event page and the image type selection is
displayed instead. Use this if you want to show the available formats and the add2cart buttons
on every page automatically.

• show external cart link

Defines if we show a link for each image which can direct the user to a product detail page. This
will cause conflicts with the internal cart buttons so you should disable to internal cart feature
or do some css magic to align both buttons in the right way.

• external cart link

Defines a pattern for an external link. You can use the following placeholder: ${folder}, ${file},
${fileBase}, ${categoryId}, ${categorySlug}, and ${categoryTitle} like this: https://www.foo.bar?
category=${folder}&sku=${fileBase}

41
• external cart link rel

Defines the rel attribute of this link. By default this is nofollow so the search engine crawlers
will not follow your external cart links.

3.6.4. Checkout

Figure 16. Checkout Configuration options

• Currency Symbol

The currency symbol you want to show in your store.

• Currency Code

The three letter currency code. Entering a wrong value here might cause issues with services
like PayPal. While all money values allow to enter a separate currency the value configured in
this field is used for now. So don’t get confused.

• Show T&C check box

42
If set to yes the order submission requires the customer to set the T&C check box.

• Show VAT

If set to yes the included tax amount will be displayed in the order summary.

• Show State field

Use this configuration option to define if we show the state drop down in an address form.

• Show Country field

Use this configuration option to define if we show the country drop down in an address form.

• Country preselection

Defines the country which is selected by default in the country drop down during the checkout.
You need to use the two character country code here. Example: DE, US, GB. You can enter only
one value here.

• Address Format

There are different ways to render an address. This change has no influence on the email
templates. They use the default layout. Please use the email templates configuration in the Event
Gallery backend if you need to change that..

Default Format

Name
Street address
Zip, City
State
Country

US Format

Name
Street Address or PO Box
City, State, Zip
Country

• Allow Business Customers

Defines if the billing form shows the fields for company name and tax id.

• Use login form

You can show a login form on the address page in the checkout to allow users to login and bind
their order to their account.

43
• Use user address data

Defines if we use the stored address data at a user object. If set to no a user always has to enter
his address not matter if there is already a saved address for his account.

• Callback URL

If you’re running in a shared host environment you might get into some trouble using https
callbacks. Use this configuration option to force the protocol for callback URLs. Make sure your
apache rewrite rules don’t screw this up. The default option is 'keep' which will use the protocol
the customer used to visit your site.

• Disclaimer

The disclaimer of your store. It is displayed during the checkout and in the order confirmation
mail. If this field is empty, the default text kicks in.

• Address

You merchant address data

• Footer Disclaimer

If you want to display a message on every page which is produced by the component enter it
here.

• Privacy Policy

A simple link to the privacy policy page.

• Terms and Conditions

A simple link to the terms & conditions page.

• Legal Notes

A simple link to the legal notes page.

• Show Image Title

In the cart usually only the thumbnail is visible for a line item. It might help your customers, if
you show more details like the image title. Please note that the title of an image will not change
if you edit the file. A line item is immutable.

• Show Image Caption

Same as the option above but show the caption of an image.

• Show File Name

You can hide the file name on the checkout and order pages. This makes sense for Google Photos
and Flickr. They use random characters and numbers which do not bring much benefit to the
customer to identify an image.

44
3.6.5. Social Sharing

Figure 17. Social Configuration options

• show social sharing button

You can enable your visitors to post links to images in social media. In addition you can enable
different sharing options with the dedicated buttons for each service.

• Link Type

By default a link to the image is shared if you share an image. With this configuration option
you can share the link to the event instead. Be aware that most social networks will search the
link you share for a thumbnail image and might not find one. If you want to use the shared
image but want to redirect the user to the event use the redirect option.

• "Share Article Links

If an images is shown within an article, you can configure which link is shared. This option lets
people share the link to the article and makes you a little more independent from the main
Event Gallery component. Please note that this option if only available if you don’t want to
share a link to an event (see option above).

• Image Reporting

45
If you host images from public events, people might want their photo deleted. By enabling this
new social sharing option, your visitors can open a form to leave you a message. It might
contain a delete request or something else. By using different values for the localization keys,
you can use this feature for other things like requesting feedback for an image from your client.

• Use Original Files

Defines if we use original images for download and social media. If set to Yes users can
download and share the original files. If set to NO users can only share resized and
watermarked images like they are used in the front end.

Figure 18. Download Options for a file

• Original File Access

If you allow downloading of original files, you can restrict the access to a number of user
groups. Those groups can be overridden at the event settings. If you allow only downloads of
original files, you can configure a redirect URL. Users without access to the downloads will be
redirected to this URL. This might help you to sell your product or subscription.

Sharing is only possible if you don’t protect the access to images. If Facebook and
 others can’t crawl a page, you can’t share it. Unfortunately they see not what you
see if you logged in or entered a password.

3.6.6. Categories

• Recursive items count

If we display the number of items per category should we show it including the items of the
subcategories? If you have a category tree and want to count the events you assigned to the
subcategories set this option to Yes.

• Recursive items

If we show the events for a category should we show the events for the subcategories too?
Normally a list of events for a category shows only the events assigned to the current category.
By setting this option to Yes you can show the events assigned to the subcategories too.

• Category List Layout

46
Defines the layout we can use for a list of categories.

• Show the subcategories headline

Use this to show the subcategories headline on category pages. You can also translate the term
subcategories to show something else. The Joomla Language Manager will help here.

• Show Events per Category

Show the number of assigned events for a category.

3.6.7. Lightbox

This tab offers configuration options for the lightbox. Some of them can be overridden by a menu
item configuration.

• Hide Nav Delay

Defines the delay in milliseconds until the navigation and information elements in the lightbox
fade out. A value of 0 will use the default configuration of the lightbox.

• Enable Slidehow

The lightbox offers a slideshow feature. Use this option to enable this feature. Keep in mind that
the slidshow depends on the number of images on the page and is not available for all layouts
and places.

• Autoplay

Defines if the slideshow starts automatically once the lightbox opens.

• Delay

Defines the speed of the slideshow. Values are in miliseconds.

3.6.8. Event and Events

Those sections allow to define global settings for how an event or a list of events appear. For details
please check the menu item section. The available options are described there in detail. You can
find exceptions below.

• Sort Files by

Defines an attribute by which the files are sorted.

• Sort File direction

Defines the direction for the sort attributes selected in the drop down above.

Layout options for lists of events:

47
Figure 19. Layout options for lists of events

• Max images per page How many images should we show per page until the paging bar will
appear.

Layout options for events:

48
Figure 20. Layout options for events

3.6.9. Storage

This tab offers configuration options for the storages Event Gallery can use

Sync

Depending on your server, you want to tune the parallel requests and the batch size for syncing the

49
database and creating thumbnails.

• Sync Database

◦ Batch Size

If you use the sync database process in a browser, Event Gallery will sync all files to check
for metadata. This happens by sending a snyc request for the file to the server. This option
allows to configure, how many files a single request can sync at once. If you encounter
errors during the file sync, you should try to decrease that number since your server might
be too slow. Default is 25.

◦ Parallel Requests

You can speed up the processing by execution multiple requests in parallel. Your browser
support mostly up to 4 requests in parallel. Don’t use more, this will only block your
browser. For slower servers, reduce this number to 1.

• Thumbnail Generator

◦ Batch Size

Per default, 5 images are processed with a single request. If you have a fast server, you can
increase this value to minimize the time waste for creating a new request. On slower
servers, decrease the value to reduce the server load.

◦ Parallel Requests

You can speed up the processing by execution multiple requests in parallel. Your browser
support mostly up to 4 requests in parallel. Don’t use more, this will only block your
browser. For slower servers, reduce this number to 1.

Amazon S3 Configuration

• S3 Region

Defines the region in which you stored your buckets. Example: us-west-2

• S3 Key

The first part of your Amazon credentials.

• S3 Secret

The second part of your Amazon credentials.

• S3 bucket

The name of the bucket you stored your original image files in. The bucket need in the region
specified above.

• S3 bucket thumbnails

50
The name of the bucket you want to use for the generated thumbnails. Make sure the bucket
name does not contain dots. The bucket need in the region specified above.

• Resize API URL

Enter the URL of the resize API here. There is an Amazon Lambda function you can install to
speed up the thumbnail creation. If this field is empty, the resize process will be done by your
server. You can find the function on GitHub: https://github.com/svenbluege/eventgallery-
lambda

• Resize API Key

If your resize API needs an access key you can enter it in this field.

• Cloundfront Domain

Specify the domain you use to route the files through Cloudfront. Example:
d3edkjshfosdl.cloudfront.net.

3.7. Manage Categories


Categories for event gallery work exactly like they work for Joomla articles, weblinks or contacts.
You can create your own hierarchy and use this hierarchy in the front end. You can use a category
to filter events for a list in the front end. In addition you can create a menu item in combination
with the Categories view to let your visitors browse through your hierarchy.

Categories are NOT physical sub folders in any way. They are just there to provide the option for
creating a browseable hierarchy in the front end.

Localization of categories is possible too. There is an Event Gallery tab for a category where you can
enter the title and description in multiple languages. If you use those fields the normal title and
description is not longer used so don’t get confused.

3.8. Download Log


If you want to know who downloads your images, you can enable the download log in the
components options. A download happens if people click the download button which is part of the
social sharing button group or download their pruchase. If people are logged in, the Joomla-user is
tracked.

The Export-button allows to export the data you have on your screen as a CSV file.

3.9. Manage Messages


Messages are simple text messages for images. Right now they are used to collect complains. Once
you receive one, it gets listed here. To enable the reporting button in the frontend, you need to
enable the social sharing and the reporting icon both at the components options and for each event.
By default this option is enabled for each event.

51
The featureset on this page is pretty limited. If you use messages and you need more features,
please let me know.

3.10. Manage Watermarks


If you want to brand images of event with a watermark you can define a number of different
watermark configurations here. Once you created at least one here you can use them for an event.
Check the event section for details.

Keep in mind watermarks only apply to local images. They do NOT work for
 images coming from Flickr or Google Photos. That’s actually impossible since those
images are delivered directly from remote servers.

Only for sold images you can apply watermarks to images hosted by Google Photos and Flickr.

Thumbnails are always cached. Make sure you clear both the server and the
browser cache to see the changes you made. There can be a default watermark. A
 default watermark is used if no other watermark is defined or the defined
watermark for an event is offline.

If you save a watermark configuration you’ll find a preview on top which shows how a watermark
would look like if it’s applied to an image.

Here are the options you have to set up your watermark:

• Name

The name of this watermark configuration. This is just an information for you.

• Description

The description of an watermark. Here you can add some notes to yourself. It’s not used while
rendering a watermark.

• Image

The image which is used as watermark.

• Margin Horizontal

Defines the horizontal margin of the watermark. This setting is relative to the image size.

• Margin Vertical

Defines the vertical margin of the watermark. This setting is relative to the image size.

• Opacity

Defines the opacity of the watermark. 0 will make the watermark invisible.

• Position

52
Where should we place the watermark image.

• Mode

Choose how the watermark image should be rendered on the image. Fill means the watermark
is just copied on the image. Fit will fit the watermark to 100% of the width of the image. The
proportional setting allows a little bit more adjustments of the size of the watermark.

• Proportional

If you select the proportional mode you can use this parameter to adjust the size of the
watermark on the image. 100 means to fill 100% of the width.

• Threshold

You can define the maximum size for thumbnails before they get a watermark. This way small
thumbs can be delivered without watermarks while the larger ones get a watermark.

• Published

Is this watermark visible in the front end? Only published watermark configurations are
applied in the front end rendering process. If you assign a unpublished watermark to an event
the images will not be watermarked.

3.11. Manage Google Photos Accounts


To access any album from Google Photos, you need to create a Google API project. For details see
the Google Photos section in the manual. Google Photos

Here are the options you have to set up your Google Photos Account:

• Name

The name of this Google Photos Account. This is just an information for you.

• Description

The description of an Google Photos Account. Here you can add some notes to yourself.

• Client ID

Part of the credentials you need to get from Google.

• Secret

Part of the credentials you need to get from Google.

• Refresh Token

While the Client ID and the Secret just identify the Google API Project, the refresh token
identifies a specific Google Account which uses this API project. Whenever you change the
Project credentials, you need to refresh this token after you saved the new credentials.

53
3.12. Manage Email Templates
Email templates allow to format the mail send by the system. To give you as much flexibility as
possible the template engine Smarty is used. Just check the https://www.smarty.net/documentation
for the template syntax. It’s possible to define separate email templates for every language. If not
template for a purpose is defined, the default one is used. Please notice that the default templates
are available in English only. You need to define language specific templates of you need them.

You don’t need to fill the subject and the body if you create a new mail template. If an empty field is
encountered the default value is used. This should help you getting started.

Since you can actually code those templates you might create errors too. Always
 test your templates. Don’t forget to use the Send test mail button. Reset your email
template with the Load Default button. Don’t forget to save afterwards.

54
Figure 21. Create an email template

55
• Language

Defines the language this email template is valid for.

• Published

Is this email template available?

• Purpose

For which action should we use this template?

• Subject

Defines the subject of the email.

• Body

Defines the body of the email.

• Attachments

If you want to attach PDF files like the disclaimer or other documents you can select them here.
Those files need to be stores in the /images folder of your Joomla! installation. If you want to
remove your selection select the NONE entry.

3.13. Sync folders and images (Google Photos, Flickr,


Local, Amazon S3)
If you use images from Google Photos or Flickr, you don’t need to worry about manual
synchronization. Depended on the configured cache period they are updated automatically. That
does not work for local files.

For local files you can use the Joomla! command line interface (aka CLI). You can create a CRON job
to sync the database. No need to trigger the synchronization from the back end manually. Just run `
cli/eventgallery-sync.php ` from the command line. Please keep in mind that new folders are
marked as unpublished. If you choose a folder name which contains the date in the format YYYY-MM-
DD like 2015-12-31, it will be automatically used as the events data and removed from the display
name. In addition underscores will be transformed into space characters to fill the display name.

If you want to start the sync manually you need to use the [ Clear Cache ] button. Remove the
caches for Google Photos and Flickr images to force a reload. Use the [ Sync Database ] button to
start a synchronization of local and Amazon S3 files and folders.

Please do also have a look at the documentation for the Sync Database process.

3.14. Amazon S3
Basically Amazon S3 files behave like local files. There is just on important difference. While
thumbnails for local files are generated on demand, we need to calculate the thumbnails for images

56
stored in an Amazon S3 bucked ahead. For this, we use two buckets. One bucket contains the
original files. The folder and file structure is the same like for local files. No nesting is supported.
Place a folder in the bucket and upload your images in there. Example: event1/myimage.jpg. The
second bucket is used to store the generated thumbnails. Browsers will have access there to load
the images. You just need to create the bucket, everything else is handled by Event Gallery. Make
sure you’re using the same region for both buckets.

Once you uploaded your images to Amazon S3 and configured your buckets in the components
options you need to let the database know about your new files. Use the Sync Database button and
sync your folders to start the sync process. Once the new files appeared hit the [ Sync Files ] button
to read in the necessary data. Check the Sync Database process documentation on how to generate
thumbnails. You can upload files using Event Gallery, too.

Always keep in mind that reading and writing to an Amazon S3 bucket is not free. You have to pay
for each request. So don’t perform a sync or a thumbnail creation if it is not necessary.

If you encounter any errors, increase your error reporting level. The thumbnail
 generator will output error messages which might help with invalid Amazon S3
credentials.

Technical Details

The table #__eventgallery_file has two new fields: s3_etag and s3_etag_thumbnails. The field
s3_etag contains the s3 hash of the orignal file. It is used to detect image changes. The field
s3_etag_thumbnails contains a JSON object. It stores the thumbnail sizes and the hash values of
each thumbnail. While creating the thumbnails this data is used to detect thumbnail changes. Once
a change of the original file is detected, the field s3_etag_thumbnails is cleared. The next thumbnail
creation run will find those thumbnails as missing and will recreate them. Make sure you uncheck
the [ Refresh thumbnail hashes ] checkbox. Otherwise the s3_etag_thumbnails field will be
populated with the hash values of existing thumbnails.

57
Figure 22. Thumbnail Creator

Quick Steps to set up AWS S3 for Event Gallery

• Create two buckets in the region you like. One will contain the original files, the other the
resized thumbnails.

• Change permissions for the bucket with the resized images to public.

• Create a new user in IAM. This will help to restrict access to the buckets only

• Create a new policy. You can use the JSON example below. Just replace the names of the buckets.

• Assign the policy to the user

• Configure Event Gallery with the user data, region and bucket information.

• Upload your images in a simple folder structure. No nesting! folder/image.jpg

• Use the Sync Database process to detect the new files

• Run the thumbnail creator to generate the thumbnails

Access Policy

You need to specify credentials so Event Gallery can access the S3 buckets you created. The
following policy allows to read and write from/in those buckets. You just need to change the name
of those buckets to the ones you created.

{
  "Version": "2012-10-17",
  "Statement": [
  {

58
  "Effect": "Allow",
  "Action": [
  "s3:ListBucket"
  ],
  "Resource": [
  "arn:aws:s3:::eventgallery-images-test-original",
  "arn:aws:s3:::eventgallery-images-test-resized"
  ]
  },
  {
  "Effect": "Allow",
  "Action": [
  "s3:PutObject",
  "s3:PutObjectAcl",
  "s3:GetObject",
  "s3:DeleteObject"
  ],
  "Resource": [
  "arn:aws:s3:::eventgallery-images-test-original/*",
  "arn:aws:s3:::eventgallery-images-test-resized/*"
  ]
  }
  ]
}

Extended steps to set up Event Gallery for AWS S3

Log into the AWS console and switch to the S3 overview page. There, you need to create two new
buckets.

Figure 23. Create the bucket for the original files

59
Figure 24. Create the bucket for the calculated thumbnails

Figure 25. Two new buckets are created

Once you have the two buckets, you need to change the permissions on the thumbnail/resized
bucket. It needs to be public accessible.

Allow ACL for the both buckets


By default, items in this bucket are not accessible. When Event Gallery creates thumbnails or
uploads files, it sets the ACL to make the files/thumbnails public. The buckets need to support this.
Allowing the usage of an ACL helps here.

60
Figure 26. Change bucket permission for the thumbnail bucket

61
Figure 27. Allow pulic access to the thumbnails bucket

Figure 28. Confirm permission change

The buckets are ready. To upload images and calculate thumbnails, you need to create a new user.
Don’t use your AWS root credentials! For every Event Gallery installation, I recommend creating a
new IAM user. This user has only access to the S3 buckets and to nothing else. The needed
permissions are granted by an access policy. Both we’ll create in the next steps.

62
Figure 29. Create a new IAM user

Figure 30. Allow programmatic access

63
Figure 31. Create a new access policy

Figure 32. Copy and modify the access policy JSON from above

64
Figure 33. Add a name and description for the new policy

Figure 34. Assign the policy to the user

65
Figure 35. Copy the access credentials for the user

Once you have the access credentials, bucket names and the bucket region, you can configure Event
Gallery and start using AWS S3 there.

3.15. Google Photos


Using Google Photos got a little bit more difficult. To connect to the Google Photos API you need to
create a new project in the Google Developer console.

For the free version there is a limit of 30 visible photos per album in the front end.
 Event Gallery Extended allows to show more than 30 photos per album.

Video - Setup Google Photos

66
English version: https://youtu.be/iVavYTepdJ8

German version: https://youtu.be/9i5kj44HRCg

Steps to create the Google API Project

Please check the videos above for the whole process. In summary, you need to go through those
steps:

1. Open the Google Developer Console (Google Developer Console) and sign in.

2. Click the project selector in the top tool bar and create a new project

67
3. Enable the Photos Library API. Click the Enable APIs and Services button, search for the Photos
Library API, click the tile and hit the Enable button.

4. Configure the consent screen: select external user type and create the screen. Add the app name
and your domains. No need to select any scopes, but please add the email address of the user
with the Google Photos albums. We will not validate this app, but you need to put it to
production mode. This is fine, but it restricts the number of potential users. This does not
matter, since you are the only user of this app. Everything else is handled in Event Gallery.
Check the review page and go back to the dashboard.

Figure 36. Google Photos Publish App

5. Open the credentials view by clicking in the left menu. If you don’t see it, click on the
GoogleAPIs-logo in the top tool bar.

6. Now we need to create the credentials. Click the create credentials button and select OAuth
client ID.

7. The type needs to be web application. Add a name for the credentials. Now add the Authorized
JavaScript origins. Add as many URLs as you need. Start with your main domain and add
something like https://www.svenbluege.de or https://svenbluege.de. Please note, that
www.foo.com and foo.com are different origins! Then add your local test URLs as well. This can
be something like https://localhost or https://eg.io. If you don’t do this, you can’t use those
credentials on your local test environment!

68
8. Now we have the credentials and need to add them in the Event Gallery configuration

9. Use the refresh token-button. Before you start, the program will tell you the redirect URL. Please
add this to your OAuth 2.0-Client credentials. If you don’t do this, you’ll see a
redirect_uri_mismatch error message.

Steps to configure Event Gallery

1. First login to your backend and open the Google Photos Accounts-Section of Event Gallery. Hit
the new-button. There you add your Google API Client ID and the Secret we collected in the
previous step. After you entered the credentials, hit the save button.

Figure 37. Google Photos Account Overview Page

69
Figure 38. New Google Photos Account

2. Now we need to configure the Refresh Token. Just click the Get Refresh Token button. A window
will open. Click the Select your Google Account button. You will now switch to a Google window.
You need to ignore the warning. Your API usage is not verified by Google so they warn you if a
project tries to access photos. Go ahead and select your Google Account. The Refresh Token field
is now filled in and you can save the configuration once again. If the Google window stays
empty, please click the Select your Google Account button again without closing the empty
Google window.

70
Figure 39. Configure Refresh Token

Figure 40. Expected security warning

3. Done. You can start managing your Events/Albums now.

71
Figure 41. Google Photos Account Page with the new account

Manage Event/Album

1. On the Event edit page, you need to select the folder type Google Photos. An account selection
drop-down and an album selector button will appear. Select the Google Photos Account you
want to use and click it to see your Google Photos albums.

Figure 42. Select Google Photos Folder Type

72
2. A list of albums for the selected Google Photos Account will appear. Now select one of the
albums.

Figure 43. Select Album

3. Don’t forget to publish this event and hit the save button and you’re done.

Figure 44. Select Album

73
Limitations

By default, the Google Photos API is limited to 10.000 requests per day. That might sound much, but
it is not. Since every image URL in the response is valid for 60 minutes or less, Event Gallery needs
to request album data multiple times per hour. Let us assume every 10 minutes. With ongoing
traffic for 24 hours on your site, this is 144 requests per day. With 50 albums we’re already at 7.200.
So keep an eye on the API usage. If you reach the limit, no images will appear until the next day.

I noted that you can verify your project by Google. If I briefly read through the API policy, I see, that
you should not create a clone of Google Photos. Well, it depends on how one thinks about your site,
but getting the verification might get tricky. If you have other experiences, please let me know.

The image URLs Google delivers are only valid for 60 minutes. The number of API requests is
limited. For every shared or sold image, a separate request is necessary to get the latest image URL.
This might trigger the API limits.

Figure 45. Monitor your project

3.16. Flickr
The connection to Flickr happens through an API. To get access to that API, you need an API Key.
Using Flickr in Event Gallery involves two steps:

1. create a Flickr Account in Event Gallery

2. create an Event

Terms
Please note that the term Flickr Account refers to the thing in Event Gallery. The
 Flickr Application is the thing you create on the Flickr-website to get an API Key
and the API secret.

3.16.1. Setting up a Flickr account

Head over to https://www.flickr.com/services/apps/create/ and request an API key. Once your


request is permitted, you have an API Key and an API Secret and can continue in Event Gallery.

74
75
You now have an API Key and the API secret. Let’s use them. Open the Flickr Accounts section in the
Event Gallery backend and hit the NEW button. This will open a page where you can create/edit your
Flickr Account.

There are several fields you need to fill. Start with the name and description. They’ll help to
remember what this account was about. Now enter the API key. The next steps depends on what
you plan to do. I’ll start with the most convenient ways.

Full Power

The benefits of this method: Automatic User ID-selection, access to your private photos. For this,
you need to enter the API secret in addition to the API Key and hit the SAVE-button. If your API
credentials are valid, you’ll see an Authorize-button. Use it to authorize your Flickr Application to
access your images. If you’re back on your Joomla-site, the Auth-token, Auth-secret and your User
ID field is filled. You’re done with that account.

76
Limited Access

This way I don’t recommend, but you can still do it. The API-key you already entered. Now grab the
UserID manually from the right column on
https://www.flickr.com/services/api/explore/flickr.photosets.getPhotos and hit the SAVE-Button. You
can use this account to access public photos the user you selected.

Build-In API Key


If you don’t specify an API key, there is a build-in API key which might work. Don’t
rely on this. Using this key, you don’t need to add Flickr Account, but this method
 might break at any time. Good for a quick test, but not for production. If you create
a Flickr Account, it is enough to add the User ID only, which you can find in the
right column:
https://www.flickr.com/services/api/explore/flickr.photosets.getPhotos

3.16.2. List of Accounts

The list of Flickr account simply show the list of your Flickr account. Probably the most interesting
column is the last column. It shows if this account could access private albums on Flickr and if this
account has valid credentials. Validity is checked with an API-call to Flickr.

77
3.16.3. Create a Flickr Event/Album

To create an event in Event Gallery, start with hitting the NEW-button on the page which shows the
list of Events.

1. Select Flickr Images in Image Source dropdown.

2. Select the Flickr Account your want to use to access the Flickr API. We created one in the
instructions above.

3. Select the album by clicking the Album Selector-button. This opens a dialog where you can select
from the Flickr albums that account proives. Search, filter and finally hit the select-button. Your
selection is transfered to the event

4. continue filling fields like the title and don’t forget the publish-toggle.

5. Save the Event and you’re done.

78
Note
You can use images uploaded after March 2012. Make sure your server can
 communicate with the Flickr server. Sometimes firewalls or PHP settings block
outgoing communication.

79
Chapter 4. CLI - Command Line Interface
If you’re working only with the Joomla backend, you probably don’t need the CLI tools. For mass
data processing or for execution jobs, the command line interface of Event Gallery becomes handy.
Based on the Joomla version you’re using, you need to execute them differently.

• Sync

Starts the sync of database and file system. Adds/removes/updates all files which are located in
the local folders and Amazon S3 folders.

• Create Local Thumbnails

To speed up your site initially, you can pre-render all thumbnails. This is not necessary but
useful if you want to calculate the thumbnails on your local development/test system and copy
them over to your weak shared host.

• Create S3 Thumbnails

S3 is only a file storage and offers no dynamic thumbnail creation option. To show images on
your website, you need to create all the necessary thumbnails. Use this command to find
missing thumbnails in your S3 bucket and create them.

Joomla 3
In Joomla 3 you have a couple of CLI scripts in the /cli folder. Execute them like this:
cli/eventgallery-sync.php.

Joomla 4
Joomla 4 offers a new command based CLI. Just open a shell and run php cli/joomla.php. This will
list the available tasks. For example, you can run the sync command with php cli/joomla.php
eventgallery:sync

80
Figure 46. Joomla 4 CLI

81
Chapter 5. Cart & Checkout
The cart&checkout feature allows you to sell images using your Joomla! gallery. Images of an event
can be sold with different product sets. Sell the wedding pictures with high prices and premium
quality products but give away your thanksgiving images for free. Payment and shipping options
are configurable for your needs. After placing an order customers can easily track the status of the
order using your website.

Registered users can log in during the checkout. If they do, two things happen. The order is bound
to the users account. This way it is very easy for a customer to find all orders using the tracking
page. On the other hand he does not need to enter address data again. They are saved to his profile
and loaded from there for the next order. Every update of the address data will be kept for the next
order.

5.1. Orders
Once the first order was created on your site it’ll appear here. Use the filter options to display only
orders matching a special status. Kepp in mind that by creating your own order statuses you can
model you own order status flow. Click the order status to get an inline editor for changing the
order state without opening a new page.

Figure 47. Orders

5.2. Order
The order detail page shows all the information the system has about your order. You can change
the status of the order itself as well as the shipping and payment status. The displayed version is

82
important if you modify the data set. It might happen that during the time you loaded the edit page
and you hit the save button an external service triggered a order change. To avoid losing this
change you need to close and reopen the order to get the latest data.

Keep in mind that there are some emails triggered automatically if you change an order status for
the order. If you mark an order as paid or shipped, an email is send out. This happens every time
you change an order to those states.

The Download-button allows to download all images of the order as a zip file. The name of each file
in the archive includes the images type and the quantity. You server might be to slow if you try to
download an order with a lot of images.

83
Figure 48. Order Details

5.3. Order Statuses


Use custom order statuses to define your own work flow. There are only a few statuses which are
fixed because they are used by plugins to set a status. You can recognize those statuses by the tiny
lock after the name. You can change the display settings of those statuses but you can’t remove
them. The star symbol indicates that the status is the default status which is set once the order gets
created.

84
Figure 49. Order Statuses

5.4. Order Status


You can define a status for the order, shipping and the payment.

Figure 50. Order Status

• Name

Your internal name for this status

• Type

Is this the status for an order, payment or shipping? Once the status is created you can’t change
the type

• Display Name

85
The name which is shown to a customer.

• Description

A descriptions of this status. What does it mean?

5.5. Image Type Groups


Image types are the things you’re selling. Printing images is a common way to sell products. Today,
downloads are important as well. Probably you’ll have a list of different formats for printing or
different size options downloads. Instead of having a long list of your products (aka image types),
you can use image type groups to group your products and make the choice for your customers
easier. This part of the back-end allows to create those groups.

5.6. Image Type Group


A typical group for images types is something like print or downloads.

The image type group offers you the following settings:

• Name

The internal name of this image type group.

• Display Name

A display name about this image type group. This is visible in the front end. Once you have a
multi language site you can enter the values for every language.

• Description

A description about this image type group. This is visible in the front end.

• Published

Defines if this image type group show up in the front end

5.7. Image Types


First of all you need to define image types. Imaging them as the format like 5"x7" you want to sell
the image with. But it can also be the coffee pot where the image is printed on. Besides the physical
products you can also define digital image types which can be send by email or as an thumb drive
by regular mail.

86
Figure 51. Image Types

5.8. Image Type


An image type can be a 5x7 print of the image, the 5MPixel version or the printed coffee cup.
Nothing is fixed, you can define what ever you can imagine.

Figure 52. Image Type

The image type offers you the following settings:

• Name

The internal name of this image type.

• Display Name

87
A display name about this image type. This is visible in the front end. Once you have a multi
language site you can enter the values for every language.

• Description

A description about this image type. This is visible in the front end.

• Note

A note for yourself like from where you have to order this product once somebody orders it
from you.

• Size

A value which helps you to tell the different image types apart. Does not show up in the front
end. If the item is marked as digital the number is used as the width of the sold image in pixel. 0
mean that no resizing will apply.

• Watermark

Usually sold images do not contain a watermark. But if you want to sell watermarked images,
this option is for you. You can select one of the watermarks you created in the Watermarks
section of Event Gallery.

• Tax Rate

A number between 0 and 100. This value is used to calculate the tax during the checkout.

• Price

The price for this image type. Just enter a number. No need to add the currency as well.

• Free Quantity

If you want to provide a number of images for free and change if your customer selects more
than this number, this option is for you. This field defines how many images are not counted
while calculating the total.

• Max Price

Sometimes you want to have some kind of flat rate for your customers. They can have as many
images as they want if pay enough. The max price setting allows you to set the price to 100 for
example. If all the line item in the cart cost more than 100 the price is truncated to 100 so they
never pay more than the max price.

• Scale Price

If you want to specifiy how much an item costs if there are multiple items in the cart you can
use scale prices. Just enter the quantity and the price. You don’t need to enter a price for a
quantity of 1. Here the price of the input field above comes into play. Do always specify the price
per item. The meaning of the quantity is controlled by two parameters: Price Type and Price
Scope. The usual combinaion is image type + discount.

88
• Price Type

Defines if you want to give a general discount or if you want to sell packages.

Discount - this one is easy. If you have a scale price for 10 images, this price is used if a quantity
of 10 is in the cart.

Package - assuming you have scale prices for 1, 5, 10, and 20 images. A quantity of 37 will result
in the sum of the prices for 20, 10, 5 and 2x1.

Single Package - If a customer adds images to the cart, the price of the next fitting package is
taken into account. All images which exceed that quantity will cost the single price.

• Price Scope

To retrieve the quantity for calculating the final price we need to define the scope of the scale
price. It can be either lineitem or image type.

Image type: the quantity is calculated from all line item with the same image type. Example: 10
lineitems, same image type, each with quanitiy 1: price of each lineitem gets calculated with a
quantity of 10.

Lineitem: the quantity is calculated per line item. Example: 10 lineitems, same image type, each
with quanitiy 1: price of each lineitem gets calculated with a quantity of 1.

• Is Digital

Defines if this image type can be send by email or provided as a download. If the cart contains
only digital items, the selectable shipping methodes reflect this. Make sure you have a shipping
method which can be used with a cart filled with digital items. Otherwise, your customers can’t
finish the checkout.

• Max Order Quantity

Defines the maximum amount for a line item. 0 mean no limit applies. For example, you can use
this limit in combination with the digital flag. Usually it makes no sense to sell digital items
multiple times. Setting the maximum order quantity to 1 means that an image can be added to
the cart just one time.

• Published

Defines if this image type show up in the front end

5.9. Image Type Sets


You defined image types like shown above. Now you can bundle them to image type sets and assign
them to events. Using an image type set allows you to sell images from different events with
different prices and products.

89
Figure 53. Image Type Sets

5.10. Image Type Set


The image type set is a combination of different image types.

Figure 54. Image Type Set

• Name

The internal name of this image type set.

• Description

90
A description about this image type set. It replaces the default text in the front end if it is not
empty.

• Note

A note for yourself.

• Published

Defines if this image type show up in the front end

• Assigned Image Types

To create your set just pick all the image types you want to have in it. If you need a specific
ordering try to add one image type, save and pick the next one.

• Default Image Type

If the customer opens the order panel in the front end one of the image types is preselected.
With this options you can decide which one it is. == Payment

Define how an order can be paid. You can add additional messages which show up on review and
confirmation pages. Using those messages you can create a payment method like Cash in Advance
where you can name the right way for the customer to send you the money.

Figure 55. Payment Methods

91
Figure 56. Payment Method

5.10.1. Braintree (Deprecated)

This payment method is deprecated. To getting a production account is difficult


 and most Event Gallery-users are not qualified anymore.

Instead of implementing old PayPal APIs you can use Braintree as your Payment Service Provider.
It allows to collect payments using PayPal and CreditCard payments easily. You just need to sign up
for a Braintree account: Braintree Website

You can create a new payment method in the back end. Fill the mandatory fields and select as type
"Payment: Braintree". Hit the save button. As a result a new tab "Braintree" will appear. Just enter
the API credentials you copied from your Braintree account page.

92
Figure 57. Braintree API Credentials

Figure 58. Braintree Settings I

93
Figure 59. Braintree Settings II

5.10.2. Paypal Adaptive Payments

IMPORTANT:This payment method is deprecated. PayPal has discontinued this way of payment.
Please use the regular PayPal payment method.

PayPal Adaptive is a specific payment method. Once configured in the right way the order is
marked automatically as paid if the customer pays with PayPal. To use this method you need to set
up an app at PayPal and enter the necessary data at the PalPal tab.

Figure 60. PayPal Settings

94
In order to get this payment method running you need to create a PayPal application here:
https://apps.paypal.com. In addition you need to get the credential for accessing the application
from your PayPal account. Follow the steps described here https://developer.paypal.com/webapps/
developer/docs/classic/lifecycle/goingLive/ to get your site live.

If the user is not redirected to the Palpal payment page after he submitted an order usually the
credentials described below are invalid. If an error occurs, there will be a new entry in a log file
/logs/plg_eventgallery_paypal.log.php. Make sure you check this file since it will tell you what kind
of issue occurred.

Fields
• Receiver

the email address of the receivers account

You can get the necessary credentials like described here: https://developer.paypal.com/
webapps/developer/docs/classic/lifecycle/goingLive/#credentials

• Credentials - User ID

the API credentials of the user who wants to use the API

• Credentials - Password

the API credentials of the user who wants to use the API

• Credentials - Signature

the API credentials of the user who wants to use the API

To get the App ID for your production environment you need to got to https://apps.paypal.com
and create a new application. Once it is verified PayPal will send you the necessary App ID.

• Credentials - App ID

the ID which Paypal sends you once it’s verified your application

If you run this plugin in Sandbox mode the App ID is always APP-80W284485P519543T. You need to
change it if you set the payment plugin into production mode.

5.10.3. Paypal

PayPal allows you to receive payments using PayPal. Once a user has created an order, he gets a
PayPal button which he has to click in order to pay. This button is available in the order
confirmation page, as well as on the order tracking page. It’ll disappear once the order is marked as
paid.

Fields
• Receiver

the email address of the receivers account

95
• Production Mode

if set to production you can start earning real money. Otherwise, the sandbox mode is used.
Make sure you entered a sandbox receiver.

• Send confirmation mail before payment completed

If you want to send the order confirmation mail after the payment is complete, use this option.
By default, the mail is sent when the order is created. Setting this option to NO will result in
sending the order confirmation mail if the order is marked as paid. There will be no additional
payment complete-mail.

5.10.4. Stripe

The Stripe integration allows you to receive payments using Stripe. Once a user has created an
order he gets a Stripe button which he has to click in order to pay. This button is available in the
order confirmation page as well as on the order tracking page. It’ll disappear once the order is
marked as paid.

The Stripe payment plugin can be configured to allow payments with Credit Card, iDEAL, Sofort,
SEPA, Przelewy24, Giropay, EPS and Bancontact. Stripe offers here an out-of-the-box solution, not
additional configurations necessary. It depends on your country if those methods are supported.

There is no switch between test and production mode. Just use the test or production credentials.

Fields
• Secret Key

The secret key you’ll find in your Stripe backend.

• Public Key

The secret key you’ll find in your Stripe backend.

5.11. Shipping
Somehow the costumer has to get the order. Define shipping methods from which he can select
from.

96
Figure 61. Shipping Methods

The free version contains a standard plugin for the shipping method. With the Extended version
you’ll get some more.

Figure 62. Shipping Method

5.11.1. Shipping Method Standard

You can use this shipping method type to deliver items per mail. This method is only selectable if
the cart contain at least one non digital item.

5.11.2. Shipping Method eMail

This method is only selectable if the cart contains digital images only. Besides of this the method is
doing nothing else than the standard method. Use it if you want to deliver your images digital but
manually.

97
5.11.3. Shipping Method Download

This method is selectable if the cart contains digital items only. Once an order got paid, the
customer receives a email with the necessary links to download the bought items. Those links are
also available on the order tracking page for this order. By default, a link to download all files as a
single ZIP archive is displayed. You can disable this behavior in the download plugin configuration.
If you want to display the zip link only, you can disable the direct links to the images in the
download plugin configuration as well.

Make sure the plugin is published. Otherwise the configuration option will not work.

Figure 63. Download Plugin Configuration

5.12. Surcharge
Create surcharges if you want to add a special amount to the total if the order is less than a specific
amount to make sure your expenses are covered. You can configure if the minimum and the
maximum amount is either the subtotal or the total item count.

98
Figure 64. Surcharges

Figure 65. Surcharge

99
Chapter 6. Customization
This section is intended to provide some help with customizations. Keep in mind that you should
never touch files of the component directly. Use the overload techniques provided by Joomla to
achieve your goal. For example put your changed CSS definitions into your templates CSS files. If
you want to overload a view templates, put it into your templates html folder.

6.1. Modify Ajax List


If you want to display the thumbnails beside the big image you can simply let them float the way
you need them.

Figure 66. Switch from two rows to two columns

6.2. Create a responsive layout


Out of the box Event Gallery supports the responsive approach. It goes even further and fully
supports the adaptive approach as well. You can adjust size of images according to the available
browser width by using simple CSS styles. In addition Event Gallery will load exactly the right
image size. No wasted bandwidth by just having one thumbnail size.

I’m sure you already recognized that does not work for all layouts. The reason for this is quite
simple. Event Gallery can’t guess your responsive break points. So you need to add them yourself.
Just add a few new lines to your templates CSS file. If you feel like this is too much for you just
enable the responsive CSS include in the components options. Advanced users find some example
code below.

/* Events List - Grid Layout*/

100
@media (max-width: 900px) {
  div#events .item-container {
  width: 50%;
  }
}

@media (max-width: 450px) {


  div#events .item-container {
  width: 100%;
  }
}

/* Events List - Tiles Layout */

@media (max-width: 900px) {


  .eventgallery-tiles .eventgallery-tiles-list .eventgallery-tile {
  width: 50%;
  }
}

@media (max-width: 450px) {


  .eventgallery-tiles .eventgallery-tiles-list .eventgallery-tile {
  width: 100%;
  }
}

/* Event List - Grid Layout */

@media (max-width: 900px) {


  #event .eventgallery-simplelist-tile {
  width: 50%;
  }
}

@media (max-width: 450px) {


  #event .eventgallery-simplelist-tile {
  width: 100%;
  }
}

/* Event List - Tiles Layout */

@media (max-width: 900px) {


  #event .eventgallery-tile {
  width: 50%;
  }
}

@media (max-width: 450px) {


  #event .eventgallery-tile {

101
  width: 100%;
  }
}

For column based layouts you can specify the width of a column with a percentage value. 100% will
result in one item per row, 25% in four of them. With the help of the @media element you can
defined some conditions which control the encapsulated CSS styles. The example defines two break
points. One for browsers with a max width of 900px and one for a max width of 450px. Feel free to
copy this code to your templates CSS file and adjust it there.

6.3. Modify Events List


The number of elements per row is something you can change by simple CSS. There is not
configuration option because with css you can use Media Queries to adjust the tiles based on the
current view port.

A simple css definition would look like this. It will give you 4 item per row.

div#events .item-container {
  width: 25%
}

You can even use media queries to adapt the number of tiles per row based on the current view
port.

div#events .item-container {
  width: 33.3333333333%;
}

@media (max-width: 900px) {


  div#events .item-container {
  width: 50%;
  }
}

@media (max-width: 450px) {


  div#events .item-container {
  width: 100%;
  }
}

While the styles above work for the grid view, the code below works for the tile view:

div.eventgallery-tiles-list .eventgallery-tile {
  width: 25%;

102
}

If you want to change the color of the text on a Events List you can try to start with this selector.

div#events .item .data a,


div#events .item .data a:hover,
div#events .item .data a:active {
  color: green;
}

To target the background color of the data part on a tile you can start with this:

div#events .item .content:hover .data {


  background-color: rgba(0,0,0,0.9);
  opacity: 1;
  color: #EEE;
}

Make sure you’re doing those changes in the CSS file of your template. Don’t modify the
components files since you’ll loose those changes with every update.

6.4. Grid Layout


You can apply the same behavior as described above to the grid layout for an event too. Just add the
necessary media queries and use the following CSS selector. The principle should be pretty clean
and is easy adaptable to the tile layout.

.eventgallery-tiles-list .eventgallery-tile {
  width: 100%;
}

6.5. Language Files


First of all install the necessary languages using the Language Manager of Joomla. This is
independent from this component and a requirement for the next steps. To translate the gallery
into your language you have several options. Let’s assume you want to have the gallery translated
to Spanish with the locale es-ES. The following options are available.

• create/reuse the file language/overrides/es-ES.override.ini and put your translations into this file.
You can change the content of this file using Joomlas language management in the back end.

• create a file language\overrides\language\es-ES\es-ES.com_eventgallery.ini and add your


translations in there. (available since 2.6.4)

With each new version it might be necessary to add new translation keys to your custom file. If you
choose option 1 this would be possible without touching any file in the file system manually. You

103
can use the Joomla back end to add the missing keys. Starting with 2.6.4 each installation or update
will delete translation files from /language/xx_YY/. If you added your changes there make sure you
migrate them to one of the options mentioned above.

If you want to contribute or need a blue print for your own translation, you can got to my
repository for custom translations: https://github.com/svenbluege/eventgallery-translations. Using
this way of translating, you can easily create an installable language pack.

104
Chapter 7. Plugins & Modules
In addition to the main component there are some plugins and modules available. Read more about
them in the following section. After you installed a plugin or module they are by default disabled.
Make sure you configure them for the first use and make them visible on your page.

Modules and Plugins are part of Event Gallery Extended. Make sure you activate
 the plugins you need. By default, they are disabled.

If a module or a plugin should link to an event page a link is necessary. In order to


avoid creating new links which refer directly to the component, existing menu
 items are used. The first menu item which is able to display the target event will be
used.

7.1. Plugins
Plugins offer a kind of hidden functionality. They can process data and do some additional magic.

Use the Joomla Plugin Manager to manage your plugins. Make sure they are enabled. Otherwise,
they’ll not work.

7.2. Search Plugins


Joomla had two search components. Smart Search (com_finder) is part of Joomla 3 and 4, the older
Search component (com_search) is part of Joomla 3 and can be installed as an extra component into
Joomla 4. Smart Search uses a search index which needs updates while the Search component
performs a raw database search without the need for an extra index. This is simpler but the search
index has some performance benefits for running a search. With Event Gallery you can use both
search components.

The search will return only public visible result. Event/image which are protected
 with user groups or a password will not appear in the search results.

105
7.2.1. Search Plugin for events

The Search Plugin integrates with the Joomla Search component (com_search) and finds events. It
indexes the following fields:

• event description

• event text

• event tags

7.2.2. Search Plugin for images

The Search Plugin integrates with the Joomla Search component (com_search) and finds images.

It indexes the following fields:

• image file name

• title

• description

Configuration Options
• Thumbnail size

Defines the size of the thumbnails which are delivered into the search result. Valid values:
numbers.

• Open images in lightbox

The link in the search results opens usually the event. Using this open, you can open the
lightbox on the event page and show the image directly.

Thumbnail in Search results

By default, Joomla can’t show thumbnails in the search results. To make them appear, you need to

106
modify the search result template.

This snippet is necessary in com_search/views/search/tmpl/default_result. It renders an image tag


based on the thumbnail URL in the search result.

Feel free to modify this tag with a CSS class or anything else.

Don’t change the file directly, create a template override instead. Otherwise, your
 changes will disappear with Joomla updates!

<?php
if ($result->image) {
echo "<img src=\"{$result->image}\">";
}
?>

7.2.3. Smart Search Plugin for Events

The Smart Search Plugin provides an integration with the Joomla Smart Search component
(com_finder). It helps to fill the search index with information about your events.

For that it uses the following fields:

• event description

• event text

• event tags

Configuration Options
• Thumbnail size

Defines the size of the thumbnails which are delivered into the search result. Valid values:
numbers.

Make sure the content plugin is enabled to update the index once you change events in the back
end.

If you sync your file system with the database or change the search plugin
 configuration, make sure you rebuild the search index manually.

7.2.4. Smart Search Plugin for images

The Smart Search Plugin integrates with the Joomla Search component (com_finder) and finds
images.

It indexes the following fields:

• title

107
• description

Configuration Options
• Thumbnail size

Defines the size of the thumbnails which are delivered into the search result. Valid values:
numbers.

• Open images in lightbox

The link in the search results opens usually the event. Using this open, you can open the
lightbox on the event page and show the image directly.

If you sync your file system with the database or change the search plugin
 configuration, make sure you rebuild the search index manually.

Thumbnail in Search results

With Joomla 4, it is only a simple configuration option of the Smart Search to let thumbnails appear
in the search result.

Known Issues

With Google Photos, the images in the search result will not appear. This is on purpose. The
thumbUrls are stored in the search database but are valid only a couple of minutes. If Google
Photos in the search results is something you can’t live without, contact me. Until then, it works
with all other picture sources.

7.3. Content Plugin


This plugin is useful if you want to add some images of an event to an article. Instead of reading
through the syntax below you can enable the plugin Event Gallery - Editor Button any you’ll get
an additional button below your text editor. Just click the Event Gallery button and you can use a
dialog to create the tag you need.

Syntax
• Images

{eventgallery event="foo" max_images=4 offset=3 thumb_width=75}

max_images, offset and thumb_width are optional. The value for the event parameter has to be the
value of the folder name field of an event. Set max_images=0 to show all images of an event. With
the offset parameter in combination with the max_image parameter you can create a range of
images which gets displayed. offset defines from where your range starts while max_images
defines how many images are displayed.

• Description

108
If you want to display the description of an event use this tag:

{eventgallery event="foo" attr="description"}

• Text

If you want to display the text of an event use this tag:

{eventgallery event="foo" attr="text" type="intro"}


{eventgallery event="foo" attr="text" type="full"}

If you used a page break tag in your text the intro and full content will be different.

• Lightbox

You want to use the lightbox instead of a link to the gallery? Just add the parameter
mode=lightbox.

{eventgallery event="foo" max_images=4 thumb_width=75 mode=lightbox}

• Use Cart

Using the cart in a content tag required the cart module so be available. Otherwise, the add to
cart button will not work. To show those button, this parameter is required: usecart=1.

{eventgallery event="foo" max_images=4 thumb_width=75 use_cart=1}

• Image List / Tiles / Grid

If you want to include a list of images with the auto layout which is used on the compoents
event pages too you can use the following tag.

{eventgallery event="foo" max_images=4 mode=imagelist}

{eventgallery event="foo" max_images=4 mode=grid}

{eventgallery event="foo" max_images=4 mode=tiles}

• Additional Images for the Lightbox

If you want to include some preview thumbnail in you article but want to show more images in
the lightbox you can use the mode=hidden parameter. It will render invisible thumbnails which
the lightbox will pick up later on. To make this work you need to include at least one other tag

109
which loads thumbnails for this event.

{eventgallery event="foo" offset=5 max_images=4 mode=hidden}

In case the eventgallery tag appears in the front end please check if your editor
 encodes the quotes. In this case the plugin can’t process the tag.

7.4. Editor Button Plugin for Events


To allow inserting an event into an article you can use this plugin. Just enable it and you’ll get a
button in the an editor which provides some help for adding a content tag. Make sure you enable
both the editor button and the content plugin to make this work.

Figure 67. Content Button Plugin for Event

7.5. Editor Button Plugin for Images


To allow inserting an image into an article you can use this plugin. Just enable it and you’ll get a
button in the editor which provides some help for adding a content tag. Make sure you enable both
the editor button and the content plugin to make this work.

110
Figure 68. Content Button Plugin for Images

7.6. Modules
Modules can be used to display some additional information on pages. Your template offers a
couple of module positions where you can plug modules in. Use the Joomla Module Manager to
create new module instances and manage the existing ones. Make sure your modules are published
and assigned to at least one page to let them appear. Kepp in mind that links to events are
determined automatically. The module will try to link to the first menu item which is able to display
the event the thumb belongs to.

7.7. Cart Module


The cart module can be used to display the current cart for a user on every page. If you use this
module you can turn off the components internal cart. If the cart feature should work correctly at
least one cart is necessary. Otherwise the add2cart action will fail.

7.8. Event Module


The main purpose of this module is to show exactly one event somewhere on your page. You can
define parameters like the event, the thumb size and the number of images you want to show.

If you installed the module there is a new instance which you can find with the Joomla Module
Manager. Make sure the module is configured correctly and shows up on at least one page. By
default it is not assigned to any page or to any position in your template.

111
7.9. Latest Event Module
Shows a number of images from the latest event. You can define the meaning of "latest" using the
settings for the event sorting. In addition, the module has a setting for the event history position
which allows you to configure for example three instances of this module type to display the three
latest events.

7.10. Events Module


If you want to show a list of events using a module this one is for you. Just define how many event
you want to show, sort and filter them, and they’ll appear.

7.11. Categories Module


This module allows to display your category hierarchy. By using the modules configuration options
you can define which category as the root category, how many of them you want to show and how
many level should be included.

112
Chapter 8. GDPR details
Event Gallery collects and stores data. Furthermore, it connects to externals services which might
receive data as well.

8.1. Export
You can export customer data in your backend. This export includes carts, orders and users. The
export will create a JSON file which downloads automatically. You just need to enter the email
address of the customer who asked for his data.

8.2. Delete Data


If you get an delete request from a user, you need to handle the following items.

8.2.1. User

You need to use Joomla! user management tools to delete users.

8.2.2. Cart

The overview page of Event Gallery in the backend contains a link which allows you to delete carts
which are older than 30 days.

8.2.3. Order

You can delete orders from the order list in the backend.

8.2.4. Log Files

There are different log files stored in the log folder of your Joomla! server. You need to clean them
manually if needed.

8.3. Data
The following section describes the data Event Gallery collects.

8.3.1. Google Photos

Serving images from Google Photos will make users load content from Google servers.

Managing Google Photos in the Event Gallery backend will call Google services as well. Your
backend users data will be used to call those services like the Album Selector.

8.3.2. Picasa Photos

Serving images from Google Photos will make users load content from Google servers.

113
Managing Google Photos in the Event Gallery backend will call Google services as well. Your
backend users data will be used to call those services like the Album Selector. If you use private
albums, a Google Auth Token is necessary. To create this token, your browser will use Google
services as well as calling www.svenbluege.de. To fetch album data with that Google Auth Token, a
connection to www.svenbluege.de is made as well. That is necessary to obtain an temporary
additional access token for Google Photos.

8.3.3. Flickr

Serving images from Flickr will make users load data from an external service. Furthermore will
your server communicate with Flickr services. This communication does not involve data of your
users.

8.3.4. Amazon S3

Serving images from Amazon S3 will make users load data from an external service. Furthermore,
your server will communicate with the Amazon S3 service. This communication does not involve
data of your users.

8.3.5. Cookies

No additional cookies are set. For session handling Event Gallery uses the session handling of
Joomla!.

8.3.6. Orders

Before a user can create an order, he collects items in his cart. During the checkout, this cart gets
completed with address data. After submitting the order, the order gets created as a copy of the
cart. Besides the item information, address data of the customer as saved. The amount of data
depends on the components configuration.

Address data exists in three places: cart, order and the Joomla! user object. While this can’t be
changed for the cart and the order, you can configure that the user object is not used for storing
data in the components options.

For some payment methods, external services are used. Event Gallery does not store direct payment
data. Instead a generated token is used to identify the transaction created by the external payment
provider.

The back end of Event Gallery allows clearing carts which are older than 30 days by clicking a
simple link.

8.3.7. Payment

Event Gallery implementes PayPal, Braintree and Stripe as payment methods.

Stripe

To initiate a payment, Event Gallery submits the email address and the order-id to Stripe. The

114
Stripe-UI in the checkout will include JS/CSS in your website. This includes the transfer of the IP and
cookies.

PayPal Basic / Adaptive

To create a Paypal transaction, Event Gallery needs to transfer the orderid to Paypal. The payment
process will redirect your customer to Paypal so they are able to collect user data.

Braintree

To create a Braintree transaction, no user data is transfered to Braintree. The transaction is handled
on your server. The braintree UI will include JS/CSS in your website. This includes the transfer of
the IP and cookies.

8.3.8. Social Sharing Icons

Event Gallery only uses passive sharing options. It is up to the user of the front end to trigger the
sharing options of the different services. There are no JavaScript SDKs in place which transmit data
before any interaction.

8.3.9. Logs

Event Gallery writes some log files. They contain the IP-adress of the website user. In addition to
processing tasks like for Google Photos/Flicker/Amazon S3 it writes logs for payment transactions.
You can find those logfiles in your log folder. They contain user data and need to be handled with
care.

115
Chapter 9. FAQ
There are some common issues which are ask very often. If you can’t get the component working
please carefully read this page.

Very common are JavaScript errors as well as too old Joomla/PHP versions. Please
 check the requirements section as well.

If you still don’t have any clue of how to solve your issue please don’t hesitate to file a ticket on
https://www.svenbluege.de/support.

9.1. Unable to install


Make sure your server allows the upload of large packages. You can always try to install using a
direct link or the directory mode of the Joomla Extension Manager.

9.2. Blank Page

Figure 69. Error Reporting Settings

You’ll see a blank page mostly because your server does not match the requirements for this
component. In order so see any useful error message please set the Error Reporting using the
Joomla Global Configuration to Maximum. You can find this setting on the Server tab. It might also
be necessage to enable the debug mode. Please limit the visibility of the debug plugin to a
trustworthy usergroup to not show this information to all users of your site.

 Don’t forget to set this setting to a lower value once you’re finished. You usually

116
don’t want to reveal the cause of errors to your visitors.

9.3. Thumbs do not show up


There are a couple of reasons why thumbs don’t show up. At first, you have to check if the thumbs
are visible in the back end. If so, it’s most likely an issue which occurs in your browser since the
server can render images. The following lists point you so some of the most common issues.

9.3.1. Server
Possible reasons
• mod_secure: Please ask your provider about possible issues with that. Doing this solved 99% of
the issue.

• Error 500: PHP memory size too low. I have good experience with 128M. Depends on the size of
your images

• Error 500: weak server. Every thumbnail request is a PHP request. Some servers can’t handle
the necessary amount of parallel PHP requests.

• Do not use special characters in your file names like Umlaute, +, or things like this. Make your
file names safe for the web.

• Install GD library for image processing

• Issues with image sharping. Try to disable it using the components configuration dialog.

• PHP should have write permission to /images, /cache and /logs

• Picasa Images do not show up because the method get_file_content is not working. Check with
your hosting provider to solve this issue. allow_url_fopen should be enabled.

• Error 500: PHP should be able to execute the script


/components/com_eventgallery/helpers/image.php in order to display thumbs.

• Try to use the configuration Use Rendering Fallback to verify rendering thumbnails work.
Contact your provider how to fix permissions for
components/com_eventgallery/helpers/image.php.

• Log file is too large: delete /logs/com_eventgallery.log.php

• Sh404SEF: you might want to configure the Flooding Protection to prevent images from
randomly disappearing.

• The PHP method fpassthru is disabled. This method is necessary to deliver images from the
server to the browser.

9.3.2. Joomla Configuration


Possible reasons
• Picasa albums do not work because your SEO-component strips out the @-sign from the URLs

117
9.3.3. Browser
Possible reasons
• JavaScript errors occurred which prevents the whole site from executing JavaScript. Without
JavaScript, no images will appear.

• To verify that there are no JavaScript errors on your page do this:

◦ open the site in your browser

◦ Chrome: press F12 to open the developer tools

◦ switch to the Console tab

◦ check if there are any warnings

◦ if the console window is empty, you’re fine

9.4. Lightbox does not work


Instead of opening an image in a lightbox it opens in a new windows: check for JavaScript errors on
your page. There might also be other lightbox plugins on your page which cause a conflict.

9.5. Images are not properly aligned, layout broken


Possible reasons
• the CSS of your Joomla template might influence the image size. Most likely is a template which
sets the height of an image to auto !important. This will never work. Just remove the !important.
While this is hidden sometimes in the templates CSS files there is a chance that you can turn this
off in the options of your template.

Figure 70. Common CSS issue screen shot.

• Your images are too small to spread to the necessary width

• You uploaded your images using FTP? You used the Sync Database process? Make sure you hit

118
the [ Sync Files ] button to load the image metadate into the database.

9.6. Folders get lost with the sync job


Possible reasons
• Make sure your files&folder do not contain a dot in the name. This is not supported. Even if it
would, this would cause issue with enabled URL rewriting.

• Folder must contain at least one file. Otherwise, it’ll be removed.

9.7. Upload multiple files


Please use a modern browser like Firefox or Chrome in order to upload many files at once. Older
browser will allow only one file per attempt. You can also upload your files to
/images/eventgallery/[yourfolder] and use the [ Sync Database ] button to make the new files visible
to Event Gallery.

9.8. Image-Upload does not work


100% of the time the upload is refused by the server because of restrictive security configurations.
Please contact your provider. They can fix it. In the meantime you can use FTP to upload the images
to /images/eventgallery/[your folder] and hit the [ Sync Database ] button in the main tool bar of the
Event Gallery component in the back end.

9.9. Maximum length of file and folder names


Due to the database table definition the maximum length of a file and folder name is 125 characters
each.

9.10. Social Sharing


The sharing popup does not open because a system plugin cause the dialog to open the content as a
full page. Try to disable this plugin. It is likely that other system plugins might cause this too. Try to
disable them step by step in order to find the one causing the issue.

9.11. Character Encoding does not work


The database tables of event gallery are probably set to the wrong format. Use the following sql
script to fix this:

alter table #__eventgallery_file convert to character set utf8 collate


utf8_unicode_ci;
alter table #__eventgallery_folder convert to character set utf8 collate
utf8_unicode_ci;

119
9.12. Images indented to the left side
Usually there is some CSS code provides with your template which causes this. Use this snippet in
your templates CSS file to fix this:

#event div.thumbnails,
.event div.thumbnails,
.mod-eventgallery-event div.thumbnails {
  margin-left: 0px;
}

9.13. How to prevent right clicks


This component does not feature the ability to prevent right clicks and I will not implement any
magic right click prevention in the future. It does not help in any way. Users can simply hit the
PRINT key to get the image. Or they press F12 in some browsers and get the image URL very easily.
In the end they already have all the images on their disks without doing anything since browsers
cache the images you see in front of you. Only users who like to open sites in a new tab or use the
context menu in any other way are handicapped.

If you really need something like this just check the JED for plugins. There are a couple of options.
But in the end the only way to protect images is to not upload them :)

9.14. SQL exception during install


You’ll encounter an SQL error once you downgrade to an older version. This also happens if the
database does not contain any version information. Installing the latest version will cause the SQL
error because the installer tries to create database structures which are already there. You can fix
this by changing the schema version in the database manually.

Use this query to find out the current version:

select *
from #__schemas
where extension_id in (
  select extension_id
  from #__extensions
  where element = 'com_eventgallery'
);

It should match the latest version you had installed.

120
Figure 71. Check the current version for com_eventgallery in the database.

121
Figure 72. Find the current version for com_eventgallery in the database manually.

Use this query to update the schema version:

update #__schemas

122
set version_id='4.2.0_2022-06-18'
where extension_id in (
  select extension_id
  from #__extensions
  where element = 'com_eventgallery'
);

Once you did this you can install the latest version again.

Don’t forget to replace \#__ with your current database prefix. You can find the
prefix in your configuration.php file.

Figure 73. Find the database prefix.

Joomla performs database updates by comparing the file names of some SQL files against each
other. The name of the latest version is stored in the database. You can find those SQL files in
[path]_administrator/components/com_eventgallery/sql/updates/mysql _. Instead of using the value
for the column version_id in the SQL statement above you can try to use the file names in this
folder as version numbers. You’ll see file names like "3.3.0, 3.4.0, 3.4.0_2015-04-14". Try to repeat the
following steps until the installation finished successfully. Start with the oldest version number.
That’s usually the version you had installed before.

1. Update the \#_schema table to a specific version like 3.4.0_2015-04-14. Always start with the
oldest version! use the SQL statement above to do that.

2. Install the whole package using the Joomla! Extension Manager.

3. If you see an SQL error continue with step 1.

In case the query above does not work because it does not return any result, you need to insert a
new row into the database.

123
Figure 74. Query result in case the database version is missing.

You can use this code:

insert into #_schemas (extension_id, version_id)


select extension_id, '1.0.0'
from #_extensions
where element = 'com_eventgallery'

Figure 75. Execute the insert statement.

Starting with Event Gallery 3.7.8 you can fix missing version information using the System Check
page. If the version information is missing in the database, you just need to click the fix link on that
page to add it. You can now install the update.

124
9.15. Change the default image folder
By default, Event Gallery places the uploaded images in the images/eventgallery folder. You might
want to change this. Have a look at the file components/com_eventgallery/config.php. For details,
check the section about configuration changes: Change the default configuration

9.16. Change the default configuration


Some options are only available via file configuration and are meant more or less for internal usage
only. In some cases, users ask to be able to change those settings. I don’t see the need to add this to
the regular configuration options. So here is how you can change things.

Have a look at the file components/com_eventgallery/config.php. This file defines some constants. If
you want to override some of those constants please create a file config_override.php in the same
folder and do your changes. Please be very careful with this! Don’t change the config.php file
directly. It’ll be overridden with every update.

9.17. How to provide the original files for download


If you upload images to a originals sub folder you can provide the original images of an event for
download. This works both for the new download shipping method and for the download button.
You need to create this folder and upload the files manually by using FTP. There is not back end for
this. You still need the smaller files for creating the thumbnails. If your server is capable processing
the original large files you don’t need this feature. Most webservers are not capable to process your
10MB JPEG files.

9.18. How to change the money format

Figure 76. Language override example

By default the money format is something like 10 €. If you want to change that you can do so. The
format is part of the localization files and looks like this: COM_EVENTGALLERY_MONEY_FORMAT="%2$.2f
%1$s". To get a money format like $10 you need to change it to
COM_EVENTGALLERY_MONEY_FORMAT="%1$s%2$.2f". You don’t need to change any file here. Just create a

125
Language Override using the Joomla! Language manager for the front end. Use
COM_EVENTGALLERY_MONEY_FORMAT as the key for your override.

9.19. Change text / create language override

Figure 77. Language override example

If you want to change text you can do this using the Joomla! backend. Simply create a language
override using the Joomla! language manager. If you don’t know the exact key, you can check the
Event Gallery language ini files, or you can simply try to search for the text. Please note that the
search does not work for some content provided by plugins.

9.20. I can’t select a shipping method in the checkout


process.
Shipping methods are available based on the items in the cart. You can mark item aka image types
as digital. If all items in the cart are digital items you need to select a digital shipping method. Those
are not available in the free version.

9.21. I can’t share a protected event.


If you share an event, you usually share a specific link. Doing this by mail is always possible. But if
you share something to Facebook or Pinterest, they need to crawl that link. Otherwise, they are not
able to display any data. If you try to share a protected event, those services just see the password
page or a login page. They can’t access those links.

126
9.22. Error messages during updates

Figure 78. Update fails

I get messages like Update path does not exist. or Error updating COM_INSTALLER_TYPE_TYPE_ if I
want to update Event Gallery Extendend.

To update Event Gallery Extended you need to configure your DownloadID. If you forgot your
DownloadID, you can find it here: https://www.svenbluege.de/subscribe/download-id. In addition,
please make sure, your subscription is still active. Otherwise, you can’t download the latest version.
Entering the download id works differently in Joomla 3 and Joomla 4.

Joomla 3

You find the field in the components options.

Figure 79. Joomla 3 // Download ID

Joomla 4

You find the field in the components options. If you forgot your DownloadID, you can find it here:
https://www.svenbluege.de/subscribe/download-id. In addition, please make sure, your subscription
is still active. Otherwise, you can’t download the latest version.

127
Figure 80. Joomla 4 // Download ID

9.23. Restrict the size of Flickr images


By default, Event Gallery uses the original image for download and sharing options. You can restrict
this by opening the file /components/com_eventgallery/config.php and modify the constant
COM_EVENTGALLERY_FLICKR_MAX_IMAGE_SIZE to a value of 2048, 1600 or 1024. To keep this change even
after an update, follow the instructions on top of the file and create the override file
config_override.php.

This change has only impact for the regular frontend. If you sell those images, people will continue
getting the original images with their purchase.

128
Chapter 10. Releases
4.3.2
Minor Changes

• #1158 Allow to limit the maximum size of Flickr images. Right now, it is possible to download
the original Flickr image with the download button. The lightbox uses the h-(2048px)-image.
Now you can limit the size to the k-(1600px)- or b-(1024px)-image by modifying the config.php-
file and create an overload. Please check the manual for details.

• #1161 allow different ITPC-fields for title and description. This change is available via
config.php file only.

• #1163 EXIF data: the focal length is now shown with its 35mm equivalent if available. Example
for a 1.5x crop camera: 30mm (45mm).

Bug Fixes

• #1154 Fixes issues with the ISO value in EXIF data written Pentax camera

• #1155 If a password was entered incorrectly, the message should show up as an error message.
Before it was the default success message.

• #1156 PHP 8.1 // Remove deprecation warning on list of files in the backend

• PHP 8.1 // removed some deprecation warnings

• #1157 allow changing the folder name if the change includes only changes in upper/lower case
spelling

• #1162 Unable to save event descriptions if using the Arc-editor and multiple languages. If not all
descriptions are filled, nothing was saved.

4.3.1
Minor Changes

• #1144 Hide the social sharing icon if there are no services selected and the download-option
uses a dedicated button. This finally allows to have a single download-button on an image.

• #1139 Digital order links can be revoked by setting the order to a payment status other than
paid.

Bug Fixes

• #1135 Fixes an excetion is a XHR-call if the cart-feature is disabled.

• #1137 Fixes the behavior for thumbnails if lazy loading is turned off. A funny tile pattern
appeared since the usage of background images is no longer supported.

• #1138 OSMap plugin does not crash if a reference to a non-existing event exists as menu item.

• #1146 Joomla 4 // adding new tags to Events with the batch process did not work

129
• #1145 Removed invalid configuration parameter show_image_caption_overlay for the
categories menu item.

• #1151 Fixes the lightbox which was not working in the Ajax layout.

4.3.0
Important Changes

• PayPal Adaptive and Braintree are no longer supported. PayPal Adaptive is no longer available
for new customers since PayPal will shut down that API. Getting an account for Braintree is now
very difficult, so it make no sense to support this for Event Gallery. You still have the regular
PayPal-integration as well as Stripe-support available.

Major Changes

• #1124 In the past, thumbnails used background images. This is hard to crawl. Thumbnails now
use the src-attribute to reference the largest thumbnail, usually 1600px width. The srcset-
attribute contains the adaptive image. Modern browsers do support the scrset-attribute and will
load exactly the right image size.

• #1131 Update Stripe payment plugin to support latest API version.

• #1132 Allow to set the batch size and the parallel requests for sync database and thumbnail
generation to adapt to slower servers or support the processing of larger images.

Minor Changes

• #1110 the upload limit for images was fixes to 30MB. It now takes the server configuration into
account.

• #1106 do not create carts if the feature is disabled.

Bug Fixes

• #1108 Image rotation was not detected in some photos if they do not contain EXIF but image
rotation data.

• #1111 Caching of the categories-module caused exception.

• #1127 Remove Undefined index: view notice in router.php:38 in case the candidate for has no
view key.

4.2.2
Minor Changes

• Update Smarty template engine for rendering emails to 4.2.0

Bug Fixes

• #1107 Fixes an exception while opening the Google Photos Accounts page in the back office
using Event Gallery Core.

130
4.2.1
Major Changes

• #1077 Support private Flickr albums. Check the manual for details.

• #1077 Support multiple Flickr accounts.

• #1077 Support resizing and watermarking for sold Flickr images

• #1077 Limit Flickr Albums to 30 images in the free version. If you’re a long-time Event Gallery
Core-user, contact me, and we’ll find a solution.

Minor Changes

• Some changes to be compatible with Joomla 4.2

• #1083 improved layout of the Events list and the event edit page in the back office

• #1090 Allow only 3 characters for the currency code configuration to avoid issues with creating
line items later on.

• #1092 By overriding the template /order/tmpl/default_raworderoutput.php it is now possible to


customize the raw order output, so you can use this as input for a batch file or a Lighroom filter.
This allows a better integration into your workflow.

• #1095 You can override the number and size for local/Amazon S3 images by changing values in
/components/com_eventgallery/config.php. Before you change this file, please read the header.

Bug Fixes

• #1075 prevent error message if the linkmode in content tags is invalid

• #1076 avoid image list layout issues if the browser has a specific zoom level

• #1091 avoid issues with template which strip the data-title tag from thumbnail links to avoid
showing 'null' as caption in the lightbox.

• #1096 Flickr // the frontend showed blurry thumbnails because of loading too small images.

• Removed a PHP 7.4 incompatibility which was part of Event Gallery 4.2.0.

If you encounter issues and you can’t install Event Gallery 4.2.1, please open
/components/com_eventgallery/library/Connector/Flickr.php and delete all
 occurences of \EventgalleryLibraryFlickraccount|null. Then you can install the
update. Sorry for inconvenience.

PHP 7.4 gets security fixes until 28.11.2022, please update to PHP 8.0.
 https://www.php.net/supported-versions.php

4.1.2
Minor Changes

• Update Stripe Lib to 8.2.0 https://github.com/stripe/stripe-php/releases/tag/v8.2.0

131
• Smarty Update to 4.1.1

• Removed PHP 8.1 deprecation warnings

• Lightbox/Swipebox does not use thumbnails as placeholders to prevent the usage of invalid
sized placeholder images.

• #1072 Improved layout of the Clear Cache dialog page

• Fixes content plugin which did not output anything since version 4.1.1

Bug Fixes

• #1068 Fixed Cache Clearing Vue3-migration issue. Cleared items are now removed from the list
again.

• #1069 Removed exceptions while running the finder CLI in Joomla 4

• #1070 Thumbnails in Smart Search: added a workaround for Joomla 4.1.4 to prevent some
unwanted image-source-URL-stripping. You need to rebuild your search-index to refresh the
path to thumbnails.

• #1073 Generated thumbnails for images marked as main images are not served with the correct
resolution in the frontend.

• #1064 New Google API connector had trouble with the old Joomla 3 API. That is fixed.

4.1.0
Major Changes

• #1061 removed jQuery from the frontend. No jQuery anymore!

• #1062 New lightbox! I updated to the latest version of PhotoSwipe. The behavior is a little
differently than before. The configuration for automatically hiding the navigation is gone. On
mobile devices, hiding the navigation is still possible and the picture uses the maximum of the
screen.

• #1064 Google updated the APIs to sign in. New Google Apps need new code to allow the usage of
Google Photos. Please not the hint for the Redirect URLs while creating the Google Photos
Account. If you don’t, you might run into a redirect_uri_mismatch error while getting the token
for this account.

Migration Hints

• Right-click protection is gone. I don’t want to maintain this options since it is useless but makes
me maintain this code. Modern browsers make it very easy to download images. If you want to
protect your images, use watermarks.

Minor Changes

• Import/Export feature is gone. Made no sense for moving to another server since the
introduction of support for categories and tags.

• #1051 Payment and shipping methods have a new configuration field to decide of mails should
be sent. If this option is set to Yes, the method will send out changes if its status changes. If set to

132
No, payment/shipping mails are surpressed.

• #1065 creating events is easier now because of improved technical fields. Those fields are not
hidden, and you can take care of entering only relevant information like the folder name or the
Flickr PhotoSet ID. The whole things is now called Image Source instead having a type and a
folderid.

Bug Fixes

• #1060 the systemcheck showed an SQL error. This is harmless but annoying. This error report is
gone now.

• #1066 the checkout page is empty if there is no dedicated menu item for the checkout. Having
the menu item is no longer necessary but recommended.

4.0.3
Major changes

• #1045 added a download log which can store actions of your visitors. You’ll be able to see
download attempts of images and purchases. This feature is disabled by default. Go to the
components options to enable it.

• #151 Added an option to search for images using com_finder, the Smart search component.
Please check the manual for details.

• #151 In Joomla 4.1 the smart search component can show images. Event Gallery supports this
now for local, Flickr and S3-hosted images.

Minor Changes

• New S3 buckets will not allow setting ACL properies. An additional step is necessary to support
this. The Amazon S3 part in the manual reflects this now.

• #1047 show exposure time for Google Photos as a fraction instead of a decimal. This required
reloading data from Google Photos. This happens at least every 24h if you don’t clear the cache
manually.

• #1049 if no payment or shipping method is available, the order edit page now behaves more
friendly and shows some meaningful messages. If no shipping method is available, it hides the
address form.

• #1026 delete thumbnails of local files if the file gets deleted using the Joomla backend.

Bug Fixes

• #1048 fixes an issue which caused problems saving details for an image because of a missing
value for the URL field.

• #1050 Modules need to create links to Events. If you have a menu item showing category, those
links generated 404 pages. This is now fixed and the URL path contains the category correctly.

• #1053 Joomla 4 // fixes the deletion of orders.

• #1054 Fixes a rare issue with handling Google Photos image URLs. If image filenames contain 'w'

133
followed by a number (eg. w1), the image got handled incorrectly in the frontend and did not
appear.

• #1055 Download of orders of Google Photos was broken with the new download logs.

• #1058 Prevent an exception for fields with null value in the import/export function

• #151 Joomla 3 works differently, the changes broke the image edit feature. It works now with J4
and J3.

4.0.1
Important changes

• updated Smarty template engine to 4.0.3 https://github.com/smarty-php/smarty/releases

Minor changes

• #1036 the calculated local thumbnails will no longer get a modification date in the future. To
allow browser caching, those images have now a cache header for 24h.

• #1036 a new configuration allows to add a bust parameter to image URLs for local and S3 image.
This helps to force an image reload even if the images are cached in the browser. Use this option
if you changed images like for adding a watermark.

• #1039 added a check for valid mime types to the upload tool for local and S3 images. Allowed:
image/jpeg, image/gif, image/png. If you try to upload something else, it’ll fail.

• #1040 improve the form field behavior in the Joomla 4 backend. the field description will now
appear below each field. Goodbye tooltips!

• added the CSS class eg-outer-pswp to the outer DIV of the lightbox.

Bug Fixes

• #1038 The stripe plugin throwed a warning if you did not save the new configuration in the
backend at least once.

• #1042 Avoid division by zero exception if image metadata are unknow. This might happen if the
width/height of image can’t be read. Still, those images need investigation but at least they do
not crash your site any longer.

• #1043 the root category name "root" was visible in the category list view. Since it is not possible
to change this name, it makes no sense to show it.

4.0.0
This release focuses on Joomla 4 compatibility and brings some changes to the cart and checkout.

I will move away from the old version numbering, where the "3" was there for the last 8 years and
follow a common version schema. A change in the first number will signal breaking changes. If you
have overridden templates or custom CSS, you need to handle those updates with special care.

134
Migration Hints

• Minimum PHP version raised to PHP 7.1! Smarty will not work otherwise.

• There are heavy changes in the structure of the cart and checkout templates (cart, address,
order and review pages). If you have customizations, they’ll break! Please double check your
checkout after this update. In case of trouble, remove your template overrides and see if the
new changes already justify your needs. The changes are already deployed on
https://www.svenbluege.de/demo which might help to get an idea.

• #989 Reworked the cart and checkout to leverage Bootstrap 5 cards. While doing this, a lot of the
cart and checkout templates have changed. This starts with PHP files and ends with CSS classes
and statements. If you have customizations here, they’ll break!

• Event Gallery requires now the PHP EXIF extension to read EXIF data!

Major Changes

• #982 the Stripe payment plugin can now be configured to allow payments with Credit Card,
iDEAL, Sofort, SEPA, Przelewy24, Giropay, EPS and Bancontact. Stripe offers here an out of the
box solution, not additional configurations necessary. It depends on your country if those
methods are supported.

• #989 Reworked the cart and checkout to leverage Bootstrap 5 cards. While doing this, a lot of the
cart and checkout templates have changed. This starts with PHP files and ends with CSS classes
and statements. If you have customizations here, they’ll break!

Minor Changes

• #987 The download icon for Google Photos images will trigger a direct download instead of
opening the image.

135
• #992 The options for the checkout are regrouped and a new toggle is available to hide the
filename in the checkout and order pages. This is useful for Google Photos and Flickr because
they use long random character sequences which do not bring any additional value to your
customer.

• #996 The message field in the checkout can now be configured to be mandatory.

• #1003 added a hint for the email template view to disable the HTML filtering while editing the
template. Otherwise, HTML-tags will disappear and characters will be encoded which leads to
errors in the template processing.

• #1031 Update template engine for mails to Smarty 4.0.0

• #1013 Joomla 4 // improve the message for a missing downloadid. A link to the update sites item
is now provided to make adding the downloadid as easy as possible.

• #1017 deleting a local Event will remove the generated thumbnails, too.

• #971 adapt the sharing icon in the lightbox, so it looks like the sharing button on the
thumbnails.

• #1025 improve the EXIF reading to avoid exposure times like 1000/50000 or strange things like
that. Event Gallery requires not the PHP EXIF extension to read EXIF data!

• #1032 updated slider library Glide to 3.5.2

• #1035 if the switch for overwriting data with ITPC data if off, the creation date of a file will get
no longer an update. This helps if you manage this field manually.

• #1023 The button to store the ordering for events and files in the backend was just an icon. To
make it easier to find, it is now a button with a label.

Bug Fixes

• #983 A text column can’t have a not null default value. This caused SQL exceptions on some
systems.

• #984 Joomla 4 // The Google Photos Album selector did not close after selecting an album. You
need to do this manually.This is fixed now.

• #985 Joomla 4 // Downloaded ZIP-archives for Google Photos contained files without file
extension.

• #986 The social share button in the ajax list layout stopped working.

• #988 Invalid links in modules generated in case a menu item used the root category.

• #991 Joomla 4 // The description of Events could not be saved.

• #990 The camera model appeared twice in the EXIF data of Google Photos.

• #998 Joomla 4 // remove warning on categories pages in the backend.

• #1006 Joomla 4 // make the publishing dates for an event optional for users who did not do a
fresh Event Gallery installation.

• #1005 PHP8.0 // allow deletion of local Events which have no folder attached.

• #1001 Joomla 4 // remove invalid warning on database issues because of some update files

• #1015 Joomla 4 // stay within the Event Gallery component after saving a category item.

136
• #1021 Joomla 4 // some modules and menu items had an issue with showing a proper category
drop down. That is fixed now.

• #1019 Unpublishing the Event Gallery smart search plugin resulted in a warning and the Events
stayed in the search index.

• #1022 avoid creating multiple categories with the alias uncategorized during the installation
process

• #1016 fixes the list of user groups in the Events batch dialog

• #1024 it was not possible to open orders which contain deleted images.

• #1029 Joomla 4 // fixed the broken watermarks of the watermark image was selected with the
new Media Manager.

• #1033 Invalid encoding of the image type display name caused JS error in the cart and checkout.

• #1030 Joomla 4 // The links to cart, checkout and password page did not took the current menu
item into account. Now, the links to cart and checkout will look for a dedicated menu item and
use this. If no extra menu item exists, the current menu item is used to render a link. Also, the
layout suffix is gone, too.

• #1034 fixes an issue where Braintree as selected or preselected payment method did not
initialize after page load.

• #1037 avoid issues with closing the files list if at least one inline form for editing file content is
still open.

3.12.10
Major Changes

• #977 move the cache folder for local images to /images/eventgallery_generated. This will
prevent deleting the thumbnail cache if you install a Joomla update. If you changed the the
folder already using the constants COM_EVENTGALLERY_IMAGE_CACHE_PATH and
COM_EVENTGALLERY_IMAGE_CACHE_WEB_PATH, you are not affected by this change. Please
double check if your images load properly. If you configured the dynamic image generation
(default setting), there is no need to worry. If you pregenerate your images, make sure they are
completely generated.

• #974 changes the ALT attributes of images to show the image title first. Also, the HTML title of a
single image page changes in the same way.

• #975 allow new elements in cart connector link pattern: ${categoryId},${categorySlug} and
${categoryTitle}

Minor Changes

• #972 refactored the template for the singleimage view to allow customization of the
title/description section without the need to overwrite the whole template.

• #974 changes the ALT attributes of images to show the image title first. Also, the HTML title of a
single image page changes in the same way.

• #975 allow new elements in cart connector link pattern: ${categoryId},${categorySlug} and

137
${categoryTitle}

• #981 for new tables, the row format is not set to dynamic to work around some install issues on
MariaDB 10.5 (https://github.com/joomla/joomla-cms/issues/34847)

Bug Fixes

• #963 Joomla 4 // Image Type Set for an image is no longer mandatory

• #964 Joomla 4 // Watermark for an image type is no longer mandatory.

• #965 Joomla 4 // publish_down for a folder is no longer mandatory.

• #966 Joomla 4 // improved layout of an order in the backend.

• #969 Download links did not use HTTPS protocol. Not they use the protocol which was used to
call the webpage.

• #970 Access to AWS S3 buckets failed because of the usage of the wrong API endpoint. Might
have worked with global unique bucket names.

• #956 There was a left over in the table eventgallery_file. The column allowcomments will be
deleted automatically now.

• #968 It is possible to manipulate the URL so you can see an event below every category. This has
a SEO impact since it makes moving an Event from one category to another impossible. Search
engines would crawl the old and the new URL. This is fixed.

• #973 Prevent JavaScript exceptions cause trouble in the modal and the add2cart dialog.

• #979 fixes the Google Albums selector for Joomla 4. It will open now if you click the button.

• #980 iOS and Safari had an issue opening the sharing and the add2cart dialog while the lightbox
is running.

3.12.8
Minor Changes

• #951 reworked the mini cart + add2cart behavior to do the next step in getting rid of jQuery in
the frontend. This includes also some change in CSS classes in this area.

• #953 removed the usage of jQuery for the swipe functionality of the Ajax lists main image.

• #955 removed the usage of jQuery for the sharing and download buttons.

• #957 removed jQuery from the payment/shipping method selection + from the Braintree
payment method.

• #957 removed jQuery from the checkout address form.

• #957 removed jQuery from the cart page.

• #960 the file search plugin for com_search can now display images directly using a new
configuration options at the search plugin. If a user clicks a link in the search result, the event
page opens and the lightbox shows the image immediately.

• #962 The search plugin can now search for unicode characters. That helps to support Chinese
content for example.

138
• #959 The sharing dialog is now displayed as a modal.

Bug Fixes

• #954 the option "Protect files" for local images still protected the main image folder even if this
feature is disabled. That has changed now.

3.12.6
Major Changes

• #942 It is now possible to have watermarks for image types. This will allow you to sell
watermarked images. This works for images stored on Amazon S3 or local images only!

• #948 You can publish Events for a limited amount of time. There are new fields for the start date
and the end date.

Minor Changes

• #940 use the constant COM_EVENTGALLERY_IMAGE_NO_ACCESS instead of


media/com_eventgallery/frontend/images/locked.png to allow simple overwriting of the dummy
image path.

• #945 improved the layout of the pay-now button for stripe by adding bootstrap button classes.

• #939 The return URL for PayPal will show the customer a message that his payment is
processed. Usually, it takes some time to receive the IPN and even after the payment, the pay-
button is visible. This message should help to avoid customer confusion.

Bug Fixes

• #941 prevent a warning causing a crash of the finder index CLI script when the smart search
plugin for Event Gallery is enabled.

• #943 The scrolling function in the add2cart dialog was broken. Clicking on the links to the
different image type groups did not work.

• #944 The add2cart dialog for Google Photos in the lightbox did not work.

• #946 For the PayPal basic payment method you can define if the order confirmation mail is send
before or after the payment. If you did not configure this option, the default behavior was
wrong and mails got send only after payment happened.

• #947 Fixes a crash of the smart search plugin in case the Google Photos update plugin was not
active.

• #950 Avoid exception while managing the files for an event if no image type set is published or
assigned to an event.

3.12.4
Bug Fixes

• #938 The add2cart dialog did not work properly if only one image type was available.

139
3.12.2
Minor Changes

• #930 added some minior changes to support older PHP versions. Also improved the warning in
the backend about outdated PHP and Joomla versions.

• #931 added an additional hint to remind users to publish their Google Apps. If they don’t, the
tokens are valid for 7 days only. No token, no images. I addition, the tokens are validated and
you can see the result in the table of Google Photos Accounts.

• #932 Updated Braintree SDK to version 5.5 to support PHP 8. Minimum PHP requirement now:
PHP 7.2

• #933 Updated Stripe SDK to version v7.72.0

• #935 Updated Smarty template engine to 3.1.19.

• #928 With Joomla 4 getting the necessary token for Google Photos was not possible. Now it is.
You still need to use HTTPS to get those tokens.

Bug Fixes

• #936 fixes the add2cart dialog in the lightbox on mobile devices. It opens now correctly. While
fixing this, the popup does no longer use jQuery.

• #937 If the content plugin is used multiple times on a page with different configurations, the
first configuration will win. This is fixes and every tag takes the correct configuration into
account. For example, this could make cart icons on thumbnails disappear.

3.12.0
Major Changes

• #106 Images hosted locally or on Amazon S3 can have a different price than the Event. It is now
possible to assign an image type set to images, too.

• #923 It is now possible to use precalculated images for local images. In the components options
you can switch from dynamic image generation to static file delivery. This will help with
performance on smaller servers since it reduces the number of parallel PHP requests.

Minor Changes

• #915 The modules have a new switch to show the add2cart-icon. To make that work, you need to
add a cart module on the page, too.

• #922 The PayPal Basis plugin has a new option which allows to stop sending order confirmation
mails for unpaid orders. Once the order is marked as paid, the order confirmation is send.

• #929 Bootstrap 5 adjustments to support Joomla 4 Beta 7

• #918 Some code fixes and a Smarty Template Engine update to 3.1.38 to support PHP8 a little
more.

140
Bug fixes

• #919 the percentage value of a surcharge is not taken into account.

• #920 (re)added IE11 support. I’ll not test with IE11, please get rid of this stupid old browser! All
the workarounds make the JS ~60KB larger.

• #926 Fixes an issue with Joomla 4 Beta 6 and Yootheme. An exception could happen when the
content plugin is initialized without parameters. J4 uses an unexpected default object type.

3.11.22
Minor changes

• #916 You can select between a default and the us address format in the checkout configuration.
Don’t forget to adjust your email templates!

Bug fixes

• #914 The content plugin lost its configuration if used multiple times on the same page while
using older versions of Joomla.

• #917 Events using Picasa albums are broken. Actually a good time to move away from this since
two years deprecated connection. But the page should not break, so here is a fix.

3.11.20
Bug fixes

• #913 The missing lazy loading includes made images on the tiles layout invisible.

3.11.18
Major Changes

• #901 Added support for Joomla 4 CLI commands. You can run the CLI scripts now using
cli/joomla.php. The separate CLI files are not longer supported while using Joomla 4 and are
deleted automatically. Please adjust your jobs.

• #893 Reworked lazy loading behavior. It is now much faster and uses modern browser APIs.

Minor Changes

• #896 There is now a configuration which allows to show the image title and caption in the
checkout. This will work for newly added items only since the title and caption are copied to the
line item to keep it even if you delete the image later.

• #903 Use the max image width as parameter for the lightbox to avoid showing zoom capabilities
when there are actually none. Right now the lightbox knows about the original size of the
image. So if you upload a 4500px image, the lightbox will zoom into a 1600px image. Images
hosted on Flickr and Google Photos are not effected by this change.

• #900 Allow default values in the image selection dialog for the content plugin. Check the

141
component options for the available configuration values.

• #906 It is now finally possible to hide the subcategories headline with a simple option instead of
custom CSS.

• #907 If you share an image and use the mini sharing page, then this page uses the title if the
shared images as title-tag content. This will allow Facebook grabbing the image title. It seems to
ignore the og:title tag.

• #911 updated PEL library to read/write EXIF data.

Bug fixes

• #854 Joomla 4 // fixes the slider on the blog layout. Before the fix, the slider expanded the page
with and broke the layout. Thumbnails use the Bootstrap 4 img-thumbnail class. The cart and
checkout forms support the Bootstrap 4 classes.

• #904 Avoid exception of the number of events per page is configured to zero and the back
button is enabled.

• #908 fixed PHP Notice statements in route.php. They appeared while rebuilding the search
index.

• #912 The Google Photos album selector closed itself while using Joomla 4. That has been fixed.

3.11.16
Minor Changes

• #809 Joomla4 // Added support for the download id management. Check System → Update Sites
to manage your download id for Event Gallery Extended.

• #875 Improved stability of Flickr database update handling with concurrent requests.

• #892 Sharing links in modules grab the first menu item which can handle Event Gallery to avoid
itemless links.

• #900 Allow default values in the image selection dialog for the content plugin.

• #895 Increased the size if the images in the cart/checkout/order tracking/configuration mail.

Bug fixes

• #854 Joomla 4 // fixes the slider on the blog layout. Before the fix, the slider expanded the page
with and broke the layout. Thumbnails use the Bootstrap 4 img-thumbnail class. The cart and
checkout forms support the Bootstrap 4 classes.

• #882 Joomla4 // Remove warnings during the uninstall process.

• #883 Added a workaround to manage categories with Joomla4.

• #884 Joomla4 // fixes an exception in the finder plugin while saving an event

• #885 Joomla4 // avoid error while using the HTTP client for Google Photos.

• #886 Joomla4 // fixed the finder plugin to crash if no category is assigned to an event.

• #887 Joomla4 // Fixed missing localization key in module configuration.

142
• #888 Joomla4 // Fixed jQuery incompatibilities in the front end.

• #890 Joomla4 // don’t lose the tag while creating a new event.

• #891 Joomla4 // Fixed routing in categories.

• #897 fixes the not responding top menu and toolbar on the events list in the backend.

3.11.14
Bug fixes

• #877 Fixes the indention which pulled the edit form of an item 20px to the left.

• #878, #881 Fixes the batch dialog for Joomla 4

• #879 fixes layout of the search tool bar in Joomla 4

3.11.12
Minor changes

• #468 improved the state selection in the address forms. The visible states depend now on the
selected country. There is no UI for editing the countries, please check the table
#__eventgallery_state if you need to modify them.

• #859 improved error handling during the update process. Expired subscriptions will cause an
error message with helpful details.

• #868 allow localized meta data for an event.

• #871 Hide drop downs containing only one image type on the cart page.

• #872 Update the cart automatically if a image type change happens in the drop down.

• #873 Change the database field type for the event description to text. This allows longer titles for
events.

• #869 Improved URL rendering for menu items which refer to a category. The suffix like
categories/root is not longer added.

Bug fixes

• #874 Avoid install problems with some languages. For example it was not possible to install
Event Gallery with Russian language.

3.11.10
Minor changes

• #839 improved error handling in the Google Photos album selector if no albums are available.

• #839 Avoid database concurrency exceptions while updating Google Photos albums.

• #862 Update Smarty template engine to 3.1.36

• #856 fixes remarks from the JED checker

143
• #865 countries are now localizable using the Joomla Language Manager. KEy:
COM_EVENTGALLERY_COUNTRY_[CountryCode]

• #867 In the checkout and on the order page, the file/folder name is visible now. This allows
customers to identify their images easily. If you don’t want this information, you could hide it
using some CSS.

• #864 the checkout address form has three fields which can be marked as mandatory in the
components options: phone number, state and country. By default, they are optional.

Bug fixes

• #863 load and save scale prices again.

• #858 fix search for Event in the image selection for the image content plugin.

3.11.8
Bug Fixes

• #857 Fix ParseError in library/common/s3file.php for PHP version older than 7.4.

3.11.6
New Features

• #841 Amazon S3: you can upload images directly to Amazon S3 using Event Gallery. No separate
client needed anymore. You can also delete images directly. On top, thumbnails are generated
automatically while uploading files. Since this takes a while, the upload is slower than the one
for local images.

• Enhanced support for Joomla 4 Beta 1. The backend layout is adapted, many error pages which
sneaked in during the Joomla 4 Alpha phase are fixed. If you encounter any trouble, please let
me know!

Minor Changes

• #833 Update the slider library GlideJS to 3.4.1

• #834 Update the PhotoSwipe to 4.1.3

• #835 Show the dedicated download button in the lightbox, too.

• #836 adds an option to share the link to the current article instead of the event. This allows
being more independent from the main component if you use the content plugin.

• #817 Reworked the cache clear page to avoid using jQuery.

• #817 Rebuild the selection dialog for the image content plugin to avoid the usage of jQuery.

• #839 Avoid concurrency exceptions during updates of Google Photos albums.

• #843 improved UI for the sync database process and the thumbnail creation.

144
Bug Fixes

• #818 prevent too many images in the lightbox while using the slider. The lightbox picked up
images from the clone slides.

• #837 set the creation date of an event correctly if created via back office.

• #840 Thumbnails in order confirmation mails do no longer go through the SEF process. This
might avoid loading issues if parts of your site are protected.

• #844, #846 remove some major errors on Joomla4

• #849, #848 make the content plugin buttons for images and events work with Joomla 4

• #850 Allow HTML in the additional title and description fields for categories.

3.11.4
New Features

• #823 Allow file upload from the frontend. There is a new upload button in the frontend if you’re
logged in and have sufficient permissions.

Minor Changes

• #817 reworked file upload to remove jQuery usage

• #817 reworked sync database feature to remove jQuery usage

• #817 reworked the Amazon S3 thumbnail generation. jQuery is gone and wow it can generate
thumbnails for local images, too.

• #827 removed the crop mode for local images to reduce the number of thumbnails. Cropped
thumbnails do not exist for Flickr, Google Photos and Amazon S3. Now they are gone for local
images, too. Don’t worry, you can still show square sized images in the frontend. Only the image
source data changes, not the presentation.

• #828 updated PEL library to 0.9.8

• #832 updated Smarty template library to 3.1.34

Bug Fixes

• #822 Saving title and caption of a file in the inline edit panel did not work.

• #825 Remove content from the ucm content tabled on uninstall.

• #826 Fix warning while publishing/unpublishing a category.

• #829 Prevent exception if one use the save2copy button for an event and the smart search
plugin for Event Gallery is active.

3.11.2
New Features

• #814 Downloads through the download button can be restricted by user groups now. In the

145
components options you can configure if you want to allow the download of low res files,
original files or both. If the download of an image is not allowed, a redirect to a custom URL is
possible so you can sell your subscription or anything else. If no redirect URL is configured, the
user gets a plain HTTP 403 error page.

Bug Fixes

• #813 the slider layout of the event module and the latest event module was broken. It now slides
again and adds some configuration options for the slider behavior.

• #816 shared links are always rendered with the HTTP protocol. Now those links take the current
protocol into account.

• #815 Table name #eventgallery_imagetypeset_imagetype_assignment was too long in some


environments. It got renamed to #eventgallery_imagetypeset_imagetype

• #818 Don’t use images in the lightbox if they are in the clone slides of the slider. This will avoid
having too many images in the lightbox.

• #819 Fixes exception while rendering the content plugin.

• #820 Fix backward compatibility with mode=link in the content plugin.

3.11.00
New Features

• #772 the content plugin can now display images with a slider. The UI for configuring the content
tag has improved and supports the slider configuration

• Support for add to cart buttons is now available in the content plugin. To use this feature, you
need to have the cart module on the page. Otherwise it’ll not work.

• #287 Image type can be grouped now. This helps to display different product groups like prints
or downloads with different sizes way better than before. In addition the rendering of the
add2cart dialog has changed a lot. If you made changes to that part of the component, please
verify if they still work.

Minor Changes

• #802 The place where menu title and the greeting text is display has changed. For a list of events
is is now placed before the events in the DOM. For categories is changed its position from below
the sub category to above the categories.

• #804 The download plugin for orders has a new configuration parameter to hide the download
links to single files. If you offer a zip download option, customers are not longer confused by
different options.

• #805 Improve the line break behavior of long text/words in event lists by switching from word-
break:break-all to word-break:break-word.

• #806 Added an option to show a dedicated download button on each thumbnail. The social
sharing option stay as they are, but people can access the download link faster.

• #808 For an image type you can now define a number of free images. This is useful if you

146
already sold a package with e.g. 40 images and the customers need to pay they select more.

• This release contains changes to make it compatible with Joomla 4 Alpha 12. The backend is still
ugly and not everything works as expected. But it works in general. I’m waiting for the final
backend template implementation before I adapt the backend.

Bug Fixes

• #803 fixes issue with spaces and special characters in folder names for the upload and the sync.
The sync now supports this, the upload will show an error message. Please do not use any
spaces and special characters in the folder name.

3.10.24
Minor Changes

• #793 updates the Stripe integration to use the latest checkout version. SCA can come!

• #794 Google Photos: improves support for databases which support only small queries.

• #795 The creation date is now read from the EXIF metadata if there is no creation date in the
IPTC metadata.

• #798 The OSMap plugin supports now menu items which point directly to an event.

• #799 For SEO reasons, the download of images is possible even if that option is not visible to
users. This is only true for images which are public visible.

Bug Fixes

• #792 After deleting an event, every menu item which referenced this event was not longer
editable.

• #796 avoid exception in checkout if no payment method is available.

• #797 ignore subfolders in S3 buckets to prevent exceptions.

• #801 fixes an error in the sync CLI script which prevents adding new folders.

3.10.22
Minor Changes

• #776 added the name of the site to the email subject for image reports/messages.

• #781 improved the scale price editor. A new line will now show the next higher quantity value
instead of always 2.

• #782 delete old Picasa code.

• #787 A line item has a new field for the original filename. This is useful if you sell images from
Google Photos.

• #789 Remove Google+ sharing option.

• #788 If people buy images in packages we need to display the price of images better than just

147
output it as zero. Now the price is marked as included with a package. Hopefully, this will
decrease the amount of confusion for the price calculation of packages.

Bug Fixes

• #777 Fixes thumbnail appearance for a message in the backend.

• #778 The events module can now hide the navigation bar of the slider. You need to open the
module configuration and save it in order to make this work.

• #779 the installer deletes some invalid sql update files with every update.

• #780 Fixes warning in case you use Google Photos in an article.

• #783 Multi-language switches do not longer cause 404 pages if you show event1 as a menu item
in one language and event2 as a menu item in another language.

• #784 Fixes the social sharing button on the Ajax Layout.

• #785 Fixes invalid encoding of the ampersand in sharing links.

• #790 Fixes invalid cart calculatio for single package mode when a scale price for quantity 1 was
not given.

• #791 On an Event page, the breadcrumb path contains the current category path.

3.10.20
New Features

• #771 added new layout for a list of events. You can now use the image list layout for events.

• #774 allow images to be reported. Basically there is a new message object for images. Right now
it is used so people can report images.

Minor changes

• #769 Added two events which can be used to track if the lightbox opened or changes:
eventgallery-lightbox-opened, eventgallery-lightbox-changed. You can use code like
document.addEventListener("eventgallery-lightbox-changed", function() {
console.log('changed');

• #767 the Google Photos spinner is now configurable. Check config.php for details. The spinner
image needs to be a SVG image and named sg.svg, but you can configure the path.

• #773 A new options allows to disable watermarks for main images. Main images are the
preview images for an event. They are marked with the star symbol in the backend.

Bug Fixes

• #768 show the necessary elements to create Google Photos Accounts in the free version.

• #770 fixes some more clear buttons in the UI. They still used document.id which is not longer
working.

• #775 Avoid JavaScript error on pages where an image list layout is used and the list of images is
empty. That could happen on category pages for example.

148
Migration Notes

• #774 you need to enable the reporting functionality in the social sharing options of the
component.

3.10.14
Minor Changes

• #756 Google Photos // optimized the number of requests which are necessary to load a list of
events.

• #714 provide Google Photos in the free version but limited to display 30 images per album in the
front end.

• #765 Improved the Ajax layout to not load all previews initially. In addition the layout is now
more responsive and uses flexbox to better align the thumbnails.

• #766 Links to Event Gallery created by the tags component are now search engine friendly.

Bug Fixes

• #757 tempnam uses now the Joomla tmp folder instead of the system default folder.

• #758 Fixes price calculation for single package mode and quantity 1.

• #762 The button for deleting the current search term for a list of events in the backend works
now.

• #759 Labels in the checkout forms have the class control-label now.

• #760 the preview of Google Photos in the selection dialog for the content plugin works now.

• #745 another try to fix duplicate key exceptions while updating Google Photos albums.

3.10.12
Minor Changes

• #753 improved the install messaging. Instead of rendering just the database update information,
the version of the new Event Gallery package is now visible as well. This might help to avoid
confusion about version numbers. The database is not necessarily at the save version as the
code.

• #754 Load the template engine Smarty only if necessary for sending a mail. From a
programming perspective this is bad, but it increases compatibility with some other
components.

Bug Fixes

• #752 make the download of a zipped order containing image hosted by Google Photos work.

• #755 Picasa: avoid too many requests against svenbluege.de in case the picasa token is invalid.
Picasa will continue working with this version. Older versions will not be able to load data from
Picasa anymore.

149
3.10.10
Minor Changes

• #748 uninstalling any part of the package is now impossible. If you want to uninstall Event
Gallery, you need to uninstall the package. This helps to not crash your site by uninstalling
random elements.

• #751 Render an HTTP404 instead of HTTP500 if an image file is missing. Errors like this might
happen if you migrate your images from local storage to Amazon S3. Search engines still know
the old thumbnail URLs.

Bug Fixes

• #745 avoid duplicate key exception while updating google photos.

• #746 since the table eventgallery_foldertype is not longer necessary, we don’t need to see an
error on the system check page.

• #747 Removed incompatibility with MooTools. The new Event Gallery - MooTools Compatibility
Plugin is now not longer necessary.

• #750 OG tags for a single image page did only show content of the event. Now the image title
and description is taken into account.

3.10.8
Bug Fixes

• #742 uninstalling the package works now again.

3.10.6
New Features

• #596 The events module supports slider layout using https://glidejs.com

Minor Changes

• #744 plugins and modules will not longer crash a site if the main component is missing. They
will just not work until the component is repaired.

• The simple list layout is now plain CSS instead of JavaScript powered.SS

3.10.4
New Features

• #707 added the option to download an order in the backend as zip file.

• #729 Sharing and selling of images in Google albums included with the new connector is now
possible.

150
Minor Changes

• #727 extended the availability of the old Google Photos/Picasa Web API implementation by
adding deprecation-extension=true to all requests. This will allow to keep those albums until
March 2019.

• #726 added additional open graph tags on the event and singleimage page.

• #731 the sharing page for a single image appears now with the template layout.

• #730 Replaced the CSS in the add2cart dialog. It should now cause less conflicts with the
template CSS.

• #732 The CientID, secret and refresh token are trimmed now to prevent leading/trailing space
characters.

• #736 The list of Events in the back end now shows the title of a Google Photos album in addition
to the album id.

• #742 It is now impossible uninstalling the component. You’re forced to uninstall the package
instead. This will greatly prevent you from crashing your site. Seems like nobody reads the
manual.

• Updated Smarty Template engine to v3.1.33

Bug Fixes

• #733 Fixes file handling for folder which contain a comma.

• #734 Prevent SQL exception in case a Google Photos album contains two images with the same
media id.

• #735 Sometimes a list of albums requested from Google contains empty pages. This is now
properly handled.

• #738 Fixes broken JavaScript in IE11. Google Photos, Add2Cart and other stuff work again.

• #739 Searching for a tagged Event Gallery category using the simple search produced a link
which caused a 404 page.

• #740 Hide the VAT on the cart page if VAT is disabled in the components options.

• #741 Prevent Exception if smart search is enabled and you change the folderid of your event.

• #743 Avoid HTTP500 on single image page in case an invalid folder id is provided.

Migration Hints

• With this version, Event Gallery has some JavaScript code included, which might cause
compatibility issues with MooTools. But there is an easy way to fix this. Just enable the Event
Gallery MooTools compatibility plugin if you encounter JavaScript error in your site. This plugin
will sort the JavaScript includes on your site in a way that MooTools loads after Event Gallery.

3.10.2

151
Minor Changes

• #716 added a getting started video to the overview page in the back end.

• #723 added a new responsive CSS select option in the components options. You can now select a
static and a fluid responsive layout.

• #724 New orders will remember the language with which the order was created. This allows to
send follow up email in the same language.

• #725 prevent installing Event Gallery on old PHP and Joomla versions.

Bugs

• #717 Google Photos are now visible in the back end as well.

• #719 The file name of a Google Photos image does not longer appear as the title of an image.

• #722 Flickr images in the lightbox showed up with the original files. Now the right size is used.

3.10.0
New Features

• #708 Added experimental support for the new Google Photos API. Please have a look at the
Google Photos section in the manual!

• #708 It is now possible to use multiple Google Account at the same time.

Minor Changes

• #703 added support for Google Brand accounts. You can now select a Google Brand account and
use your Google Photos albums from there. Please note that this now requires to provide access
to your YouTube account. Right now I don’t see another way to allow the Brand account
selection.

• #705 avoid blocking site load if Google or Flickr do not answer requests. The connection timeout
is now set to 2 seconds and the overall timeout to 5 seconds.

• #709 to increase compatibility with some templates, the list of events uses a new CSS class name
now. Instead .content it is .eg-content.

• #712 The Latest Event and the Events module support random sorting of events.

Bugs

• #711 removes an old MooTools dependency from the Ajax Layout. This fixes the access to an
undefined method pick()

• #710 fixes the behavior of some modal dialogs. With the latest Joomla version there are some
incompatibilities which are fixed now.

• #713 avoid count warnings if you install a new language and make it the default language.

• #715 data privacy: added a plugin to support the new Joomla 3.9 extension capacity page.

152
Migration Hints

• #709 If you use custom CSS code which does modifications of the events list layout, make sure it
still works. If not, check if you use the CSS class .content. If so, please replace it with .eg-content
and everything will continue working as expected.

3.9.6
Minor Changes

• #685 sync database syncs now 25 files per request. This will increase the sync speed of files a lot.

• #693 Email templates support now subjects with more than 255 characters.

• #695 The latest events module supports now selecting events by category recursively.

• #698 Added CLI script to calculate missing thumbnails for local files.

• #702 Reduced the size of the generated source code by removing direct CSS styles for
background attributes. Now background-size:cover is used. This might break in very old
browsers.

Bug Fixes

• #572 Amazon S3: if we sync files by generating thumbnails, meta-data of the image was not
written to the database. The new Lambda function provides this data and Event Gallery writes
it to the database.

• #684 Under rare conditions the image list layout breaks if you change the window size. This
happens if there are only a few images on the page and the scrollbar appears and disappears
during the layout process.

• #687 The events module layout outputs 'asd'. Nice, but nobody needs that ;)

• #688 Lifted the 800px image height limit to avoid layout issues.

• #689 improved the flickr layout. The thumbnails are calculated in a better way now.

• #694 The Stripe dialog shows the correct currency now.

• #696 The redirect from image.php to index.php takes HTTP_X_FORWARDED_PROTO into


account to avoid mixed content error message in case a thumbnail calculation is necessary.

• #697 fixed handling of small Flickr files. If the k or h image is missing, the Flickr error image is
not longer displayed. Instead we use the original image.

• #699 fixed the rendering of the last image in the image list layout. On devices with a small
screen the image ratio was wrong.

• #700 custom sorting of local images was not possible if the global sorting was set to anything
other than Ordering.

• #701 fixes the behavior of caching too much in progressive caching mode.

3.9.4

153
New Features

• #674 changed the handling of sharing stuff. It is no longer possible to share password protected
or user group protected events by Facebook, Google+ or Pinterest. For all public events, the only
sharing method is the sharing dialog. The old sharing types which need a Facebook application
are gone. This change removes the Facebook SDK and improves GDPR compatibility of Event
Gallery. Data is not sent to Facebook only if users perform a sharing action.

• #675 added the option to prevent right clicks again. This works both for the lightbox image and
for the thumbnails opening a lightbox. Just keep in mind that this does not protect your images.

• #678 it is now possible to control the lightbox settings per menu item.

• #680 GDPR-stuff: removed some external script references and added a new chapter in the
manual.

• #683 GDPR-stuff: added option to export all user data by email address.

• #632 GDPR-stuff: removed the comments feature. Please note, the comments table will stay in
place. You will need to delete the table #__eventgallery_comments yourself.

Minor Changes

• #672 Improved the message if the update fails because of a missing DownloadID.

• #682 Display the global values in drop downs in the menu item configuration. This makes
configuration easier since you now know what the global value is.

Bug Fixes

• #671 The download of a file in original size caused a warning because there is no thumbnail file
to unlink. On some servers this broken the image download.

• #673 The Events module showed an additional header in case ne of the events layout were used.

• #676 added support for browser zoom. Zoom levels like 110% causes layout trouble with the
image list if the first image spreads over more than one row.

• #677 Responsive CSS loads before normal CSS. This caused some rules to not work.

• #679 The slide-show works now on mobile too and stops if you change to the next image by
dragging an image.

• #681 Fixes Fatal error: Cannot declare class Stripe\Stripe, because the name is already in use in
plugins/eventgallery_pay/stripe/vendor/lib/Stripe.php

Migration Hints

• #632 comments are gone! But the table stays in place. Please delete it yourself if necessary. I
don’t do it to not remove your data automatically.

3.9.2
New Features

• #660 The lightbox supports having a slideshow (again).

154
• #668 added option to configure the tag for the headline on the event page.

Minor Changes

• #657 added a preview button on the Event Gallery overview page in the backend. You don’t
need to create a menu item to check your uploaded files.

• #661 Improved handling of the Google Photos Auth Token. It is now requested only once per
request in case you configured that token wrong.

• #667 updated Smarty to version 3.1.32

• #668 sorted the configuration options in a better way.

• #666 added an option to hide EXIF, filename, title and caption for an image both at component
option level and menu item level.

Bug Fixes

• #659 The switch for showing user group protected events in a list behaves wrong in the
category list view.

• #662 fixes an error which occurred if you want to sell images with just one image type. In this
case the add2cart overlay did not open.

• #664 the click on the buy-button icon in the add2cart modal caused a 404 response.

• #665 While performing batch processing for cartability, we lose all tags for an event. We just
need to mark an item as cartable in the list of events.

• #669 Thumbnail creation for S3 file which require autorotate did not work. Only the smallest
thumbnails was rotated correctly.

• #670 The responsive CSS for the square layout was missing.

3.9.0
New Features

• #652 a new lightbox is there. Instead of colorbox I use now photoswipe.

Minor Changes

• #649 changed the behavior of download links for images. It is not longer possible to download
password protected images without having the password. This includes the option for sharing
images. In addition the download option is disabled for all events which do not use social
sharing.

• #639 set the last modified date of a thumbnail to the value read from the thumbnail file. This
will cause a reload in the browser if you refresh your local thumbnails.

• #645 Updated to BrainTree SDK 3.28.0 to avoid PHP 7.2 deprecation messages.

• #647 if the shipping method does not require addresses, the name of the customer can now be
collected.

• #641 Reworked the configuration handling. YOU MIGHT NEED TO MIGRATE!! See below.

155
• #648 Update empty/broken Google Photos albums only every 60 seconds to avoid too much
performance loss.

• #651 added support for other image formats than JPEG if you use Flickr.

• #653 reworked the upload so avoid unnecessary hassle with server configurations.

• #655 Amazon S3 buckets with AWS Signature Version 4

Bug Fixes

• #646 fixes method isDoSupportDigital not found exception in the payment back-end in case an
invalid payment class is in use.

• #650 the upload of images with special characters in the file name failed.

• #656 Some system plugins broke the social sharing toolbox because of an invalid link.

Migration Hints

• #647 since there are new fields for the user name in case you don’t collect billing/shippinng
address, the email templates need to be adjusted. Otherwise you can’t use the new name field.
The default email templates are already adjusted. You just need to copy over the new code.

• #641 I reworked the component configuration from a code perspective. I’ll not notice that if you
did not override any template. If you do, you need to migrate them!! You site will not work until
you did. In short: params→get() is replaced with config→getLegacy(). There are now methods for
almost all configuration options to avoid knowing the configuration keys.

• #652 any modification you did for Colorbox will stop working with this release.

3.8.2
Bug Fixes

• #642 reduce the number of event updates by the Picasa Updater plugin in case you use Flickr
albums.

• #643 avoid HTTP 500 errors in case the multilanguage plugin runs as the only Event Gallery
plugin. The result was error like Class
'Joomla\Component\Eventgallery\Site\Library\Connector\Flickr' not found.

3.8.0
New Features

• #454 added Stripe as payment method.

• #634 added support for a new price type. You can define a price per package now. This new kind
of package is applied only once. The minimum price will at least be as high as the package price.

Minor Changes

• #623 it is now possible to display thumbnails in the order mails/track order page even if they

156
are protected by user group or password.

• Decreased the timeout for getting a Google Picasa API token from 12s to 2s.

• #518 added an option to a shipping method to allow hiding the address forms in the checkout.

• #578 added an option to a payment method to hide/show it based on the cart type (digital,
physical, mixed). This way you can hide payment method which would only work for physical
items.

• #631 improved reliability of the Google Photos import.

• #640 Google Photos and local images can how show the exposure time which is part of the EXIF
data of an image.

Bug Fixes

• Fixes the user select button on the Google Photos import page.

• #626 fixes an issue with the new option for turning off lazy loading of images.

• #633 avoids trouble with Braintree if a customer switches the payment method before the
Braintree UI was initialized completely.

• #635 if an events references a category which is offline, the router does not longer throws an
exception.

• #636 Servers without curl support or a missing curl_init method will not longer throw
exceptions of you use Google Photos tokens to access your photos.

• #637 the image set selection for adding an image to the cart was cached in case the Joomla!
cache is active.

• #638 fixes some count warnings with PHP 7.2

Migration Hints

• #518 The option to hide address forms in the checkout ins not per shipping method. The option
in the components options are gone. Please reconfigure your shipping methods.

• The format of JavaScript files has massively changed. While they work like before you should
check if your customizations still work.

• To see the exposure time, please clear the Google Photos cache and use the Sync Database
process for your local files. Both actions will trigger a reload of the image meta data.

3.7.10
Minor Changes

• #628 events are not longer marked as events with schema information (itemscope, itemprop).

Bug Fixes

• #607 avoid showing Grantry framework errors if someone tries to access an image which does
not exist.

• #625 improved fix for: Unable to create a Logger instance:

157
Joomla\CMS\Log\Logger\EventgalleryformattedtextLogger

• #629 fixes the swipe behavior of the lightbox. You can now swipe again.

• #630 use a new domain for the Google Photos album selector: https://static.svenbluege.de/
picasa/v1.2/index.html

3.7.8
Minor Changes

• Added an option to fix missing database version information using the System Check page.

• #626 added option to turn off lazy loading.

Bug Fixes

• #625 Fixes the error introduced with the update to Joomla 3.8.0: Unable to create a Logger
instance: Joomla\CMS\Log\Logger\EventgalleryformattedtextLogger and made sure this fix does
not break Joomla 3.7

• #618 Content plugin uses the usual background technique to display cropped images if you use
the single image tag. In 3.7.6 all the thumbnails were displayed as simple img tags. The specified
width is now taken into account if a simple img tag is used to render an image.

3.7.6
Minor Changes

• #612 added support for a price flat rate for line items of an image type.

• #622 the Events modules has a new configuration option to display events including sub
categories instead of just events from the selected category.

• #624 The order list now shows information about the connected user for an order.

Bug Fixes

• #616 Image type sets can throw an exception in the back end if all image types are unpublished.

• #617 localizable input fields do not work if the current user has HTML input filtering like the
Default Blacklist enabled. It is not longer necessary to disable the filtering.

• #618 render images of the content plugin as plain image tags so a template can care about the
resizing.

• #620 fixes an error message if a category assigned to an event is unpublished.

• #619 the content plugin does now support references to files and events which contain the
space character.

• #621 resizing images using the download shipping method did not work as expected. Now the
configured image size is taken into account.

• #625 Fixes the error introduced with the update to Joomla 3.8.0: Unable to create a Logger
instance: Joomla\CMS\Log\Logger\EventgalleryformattedtextLogger

158
3.7.4
New Features

• #113 a list of categories can now be displayed as a tiles. The images are coming from the first
event of this category.

• #602 added new add2cart behavior in case there is just a single image type in an image type set
for an event. The user will not longer see additional options for quantity. Instead the image is
added to the cart directly.

Minor Changes

• #592 Show the no access image in case an image is not accessible for the current user.

• #593 the Paypal basic link includes the current locale so customers will see the Paypal page in
the right language.

• #595 It is now possible to turn off the swipe support in a lightbox. If you want to support zoom
gestures this might be a good idea.

• #606 The download shipping plugin allows to disable the zip link.

• #609 changes the way the sync process works. If you open the page initially there is not longer a
change in the database. You need to click both buttons to sync folders and files.

• #614 removed the link to a larger image in the new order email template. If you already created
an email template yourself, you need to perform this change manually.

Bug Fixes

• #594 If the fallback rendering mode was enabled, no images were visible in the back end.

• #597 fixes broken images inn the back end if the image was not already calculated and the
event is protected by password and user group.

• #598 the initial install does not set the schema version which leads to warnings during the first
update. This is fixed now.

• #604 fixes error which is caused by deleted images which still exist in carts of users

• #603 added config option to disable the zip link for the download shipping method.

• #607 avoid showing Grantry framework errors if someone tries to access an image which does
not exist.

• #608 using the default tmp directory of the webserver fails on some shared hosting sites. The
Joomla tmp folder is used now to avoid any issues.

• #610 improved browser back support for the lightbox. You don’t need to hit browser back two
times to change to the previous page after you closed the lightbox.

• #611 fixed the configuration options for the pageable layout. They were not taken into account.

• #613 fixes wrong paging behavior for categories. Paging of event had an effect on the categories
as well.

• #615 for Picasa images the add2cart icons did not change if you added an image to the cart of if

159
it is already in the cart.

3.7.2
Minor Changes

• #567 improved the error logging for Google Photos communication. If you want to see why
things do not work you can have a look at the file /administrator/logs

• #567 The Google Photos import has now an easy way to select a Google user id and is more talky
regarding possible errors.

• #574 fixes the occurrence of possible SQL errors during an update. The sql is now executed by
the install script and fixes the database if necessary. The Joomla installer just tried to execute
SQL which fails sometimes.

• #579 adds some German translations for the plugins. Especially the PayPal plugin shows
German copy in the front end.

• #577 improved the uploader a little bit. It is now easier to follow the upload progress.

• #587 improves the previews for a watermark configuration. The browser can’t cache them
anymore so you always see the preview for the current configuration.

• #588 added multi language association support for events. You can now switch your site
language using mod_languages and the user will stay on the event page instead of going back to
the menu item link.

Bug Fixes

• #571 fixes the back button for events referenced on sub category pages

• #573 a guest user was not able to see images in case an event was visible for guest users only.

• #580 fixes the creation of multiple orders for one order. The invalid orders do not contain
anything but an ID. It is safe to remove them using the back office.

• #582 fixes the zip file creation. It was not able to fill the archive with the files since the encoding
of the download links was wrong.

• #584 the image selection button for the content plugin is not longer limited to a specific url. You
can select the event and the image now.

• #583 fixes the output of the content plugin if you want to use uncropped images.

• #585 the social media button did not pick up the right image while using it in the ajax layout.

• #586 sometimes the lazy loading did not load the images at the edge of the visible area. This is
fixed now.

• #589 added support for saving content with a disabled TinyMCE editor.

• #590 the content button for adding an image tag to an article did not worked on sites running
with https

• #591 fixes the thumb URL for mails. Now we see thumbnails in a mail even if the event was
protected.

160
3.7.0
New Features

• #547 added more protection for the images. You need to use an .htaccess capable server for this.
The image PHP scripts do now check if the user is allowed to see the image. This is true for
password protected events and for user group specific events.

• #390 there is a new button in your editor which you can use to add a single image to your
article.

• #117 A new option in the components options allows to show a back button on an event page.
Please note this works best with menu items referencing a list of events.

• #563 Added a shipping confirmation email. If an order gets marked as shipped, this email will
be send. This email will be send automatically for free orders if the shipping method supports
this. If you’re using the download shipping method, this mail will contain the download links.

• #88 The download plugin does now offer the option to download all files in one zip. This works
for Flickr, Google Photos, local and Amazon S3 images. If you expect very large orders the
server might time out.

• #567 you can use Google Photos albums without changing the visibility. Just open the
components options and sign in with your Google acount. Afterwards you can use all your
albums even if they are protected. Keep in mind you can use exactly one Google account for
now. This does not effect private or public albums.

Minor Changes

• #550 updated Smarty template engine to version 3.1.31

• #555 Improves compatibility with some templates. The first resize event on a page caused a
rerendering which was visible as a flickering. This does not longer happen if the resize event
does not cause a size change for Event Gallery.

• slightly improved the content button for adding an event tag to an article or editor.

• #524 the content plugin can now show social sharing buttons for hidden thumbnails and
lightbox thumbnails.

• #488 move the suffle_images option to the sorting section of the event and the Events - List tab
in the components options. It just makes more sense there.

• #556 the order detail page in the back end shows now the filename and the folder name in
addition to the thumbnail

• #557 hide the VAT hint in the add2cart lightbox if VAT is disabled so you don’t need to change
the value of localization keys.

• #558 the generation of index.html, .htaccess and web.config is now implemented in a single
place. You can check the config.php file if you want to change that content with the
config_override.php file.

• #561 added support for getting the fstop exif value for some cameras which use the FNUMBER
field only. In addition the focal length is retrieved by the FOCAL_LENGTH_IN_35MM_FILM field
before we fall back to the FOCAL_LENGTH exif field.

161
• #564 removed old Picasa album url helper since those urls do not longer exist. You can use the
new album selector instead.

• #565 improved the sync dialog. The initial step is now implemented inline so you save a button
click. If there are new folders they are selected once so you can sync them. The folders are now
sorted by ordering descending.

Bug Fixes

• #554 the grid list used too small image size for flickr images.

• updated the PEL library to avoid issues reading EXIF data correctly

• #559 The option "sharp original" behaves in the opposite way. That is fixed now.

• #566 A change in the Joomla! core creates a new session if you log in. The result is a lost cart.
The code does now take this behavior into account.

• #569 fixes crash of the content plugin in case the referred event did not exist

Migration Hints

• The URLs to an event might now contain the category slug. The old URLs will not break but you
might want to have a look at them. This is especially true if you want to use the new back link.

• If your images are smaller than 1600 the option "sharp original" needs to be rechecked. Have a
look at the components options tab "images". During a bugfix the meaning of this option was
fixes. Please clear the server cache so the thumbnails are generated again.

3.6.4
New Features

• #533 an image type has a new attribute MaxOrderQuantity. You can use it to limit the maximum
quantity for a line item of this type. Typically you want to set this for digital items so people
can’t order a digital image twice.

• #534 Endlich ist die deutsche Übersetzung auch für das Backend mit dabei / added German back
end translation

Minor Changes

• #526 updated smarty template engine to 3.1.30

• #530 the greetings field for a list of events supports now multiple languages.

• #536 increased Facebook API usage from v2.1 to v2.8

• #540 you can now preselect a country in the checkout address form so your customers don’t
have to search for it in the drop down.

• #546 improved the sync database process a little bit. The possibility that people forget to press
the [ sync files ] button should be reduced now.

162
Bug Fixes

• #538 fixes an issue with saving something if it uses the localizable editor form field type in case
the JCE editor is in use and disabled.

• #539 countries in the drop down on the checkout address are sorted by display name now.

• #531 fixes an issue with old SEF components which causes an error 0 - Class 'ContentRouter' not
found;

• #532 readds support for Google Photos albums in the content plugin.

• #535 fixes class load issues with the new Braintree payment method on some hosts.

• #537 fixes rendering of square sized Flickr thumbnails. Too small thumbnails where used as
background images.

• #541 fixes the missing paypal button on the order confirmation page and the order tracking
page.

• #543 fixes the redirect from image.php to index.php which will restore the good performance.

• #544 the description of Google Photos images is visible again.

• #545 fixes import isses in case you use only small (less than 2048px) images in your flickr
album.

3.6.1
New Features

• Added Amazon S3 support including Amazon Cloudfront delivery. This includes the thumbnail
handling as well. You just need to upload your files to S3 and use the sync functionality of Event
Gallery to generate thumbnails and make those images available on your Joomla! website. To
speed up the thumbnail creation you can use an Amazon Lambda function as well. Check the
manual for details.

• Reduced the number of possible thumbnail sizes from 26 to 13. Now Event Gallery generates the
following thumbnail sizes: 48, 104, 160, 288, 320, 400, 512, 640, 720, 800, 1024, 1280, 1440

• Added Braintree as a payment option. You can grab credit card and PayPal payments with one
simple plugin now. Instead of having a redirect to PayPal or this PayPal pay button the payment
process is now integrated in the checkout. The order gets payed immediately and there is no
additional payment mail.

• The content plugin can now add single images instead of a whole event. There is already a
button for the editor but it’s just giving you a syntax help for the content tag. This will be
improved in later versions.

Minor Changes

• #479 thumbnails to longer contain the thumbnail image of the original file exif data. This helps
a lot to deliver smaller image files to the browser.

• #480 the Picasa album picker can now change the visibility of your albums. This means that
Google Photos albums can be used directly with Event Gallery. It’s integrated into Event Gallery
and usable stand alone: https://www.svenbluege.de/picasa/v1.1

163
• #482 it is now possible to prevent writing a .htaccess file for all image folders using the
components options. If you want to use images from the /images/eventgallery/[event] folder on
your site you can use this option. Don’t forget to delete existing .htaccess files yourself.

• #492 the icons on the images have changed. It is now much easier to modify them by CSS and
they are placed in the same spot.

• #500 the Events Module and the Latest Events Module can now sort the events by hits.

• #504 you need to specify a category for an event now.

• #505 added configuration option to hide/show the country and state drop down in a address
form.

• #502 added option to disable the IPTC data import from images.

• #508 updated the Facebook API from v2.0 to v2.1

• #516 added support for the Flickr description. It’s now copied over with every sync.

• #443 set the creation_date for Flickr and Google Photos images. For Flickr we use the date_taken
field and for Google Photos we use the published field of an image.

• #509 if you login on the checkout page or on the order tracking page you’re redirected to the
right page now. No need to see the user profile anymore.

Bug Fixes

• #484 the cart button in the image type selection dialog didn’t work if the dialog was opened on
mobile from the lightbox.

• #485 the company input field was visible in the shipping address form even if it was disabled by
the components configuration.

• #493 adds some BootStrap2 markup for the add2cart pop-up in case you’re not using BootStrap2

• #463 fixes duplicated breadcrumb entries for the categories view in case the menu item
references a category.

• #497 the buyer note for a line item does appear in the order confirmation mail now. Make sure
your mail template contains this data. Otherwise this fix will not help you.

• #498 fixes a rare issue where you get a random alert message "URL format not supported"

• #499 prevents an issue with the Events modules which occurred if you use it multiple times and
different values for the tag parameter where one tag parameter is empty.

• #501 fixes the page size selection for the list of comments in the back end.

• #507 remove the cache folder for Picasa, Flickr and smarty during the installation process to
avoid any side effects.

• #510 fixes a bug where the date for an event reappeared wrong because the time zone was not
taken into account.

• #512 fixes image size calculation for Flickr images. The lightbox showed only 800px images if
the Flickr images are large files.

• #513 takes the Flickr secret for h and k into account. This prevents error messages for larger
images in the lightbox.

164
• #519 fixes an issue in the back end where an order detail page throws an exception if an image
type was deleted and used in this order before.

• #520 fixes SQL exception on search component page in the back end.

• #523 If you delete an order status which was used for an existing order the order tracking page
threw an error.

Migration Hints

• #504 since categories for an event are now mandatory you can use the batch operations to
assign events to the Uncategorized category in case you encounter any issue.

• #513 delete the folder /cache/com_eventgallery_Flickr to force a reload of the Flickr data.

3.5.5
Migration Hints

• #490 fixes a possible issue with the url format of the new add2cart popup

3.5.4
New Features

• The format / image type selection is not longer placed a the top of the page. It’s now visible in a
lightbox if you click the add2cart button.

Bug Fixes

• Fixes invalid faild file name which breaks the checkout process.

Migration Hints

• The add2cart behavior has changed. Please make sure your template overrides do not cause
trouble here. In addition please have a look at the new wording. You can use language overrides
if you need to change something.

3.5.3
Minor Changes

• #468 added a drop down for states and country in the address forms of the checkout.

Bug Fixes

• Fixes an issue with caching of modules. Related script/style files got lost which caused display
issues. Using the static cache mode is not a good idea. All modules do now use the itemid based
cache mode to prevent the loss of JS/CSS elements.

• #470 avoids disappearing tags while performing batch operations for events.

165
• #471 fixes the missing default value for some configuration options of the latest event module.

• #472 fixes an issue with the module title of the latest event module. The event name
disappeared after the module content was cached.

• #473 the multilanguage editor did not worked with tinyMCE because of some changes in the
Joomla layer. It was impossible to save content for the different languages. There is a
workaround now and you can use tinyMCE again.

• #474 on some servers we are not allowed to set the sender of a order mails with the value of the
customers email address. The reply-to address for order mails will stay in place.

• #475 removes the error message for the missing scale price if you create a new image type.

• #478 the paypal plugin stopped writing log entries. Now it writes them again.

3.5.2
Bug Fixes

• Event Gallery 3.5.1 contains test CSS code for the lightbox which hides the icons and moves the
title below the image. This was not by intention to it’s removed now.

3.5.1
New Features

• #456 added a new sub menu in the back office which is calles System Check. It reveal some
important settings and will help so speed up the handling of support cases.

• #459 modules are cached now! This works even if you disable global caching but in this case
you need to use the cache handler File.

Minor Changes

• #451 Updated the Smarty template engine to 3.1.29

• #466 Hide the price in the payment/shipping drop down on the address page in the checkout if
money value is zero.

• #467 Hide paypal button if the order total is zero.

Bug Fixes

• #463 fixes displaying the menu item and the category in the breadcrumbs if the menu item
references exactly this category.

• #465 fixes an XSS alert a security scanner found. It’s actually a false alert at this place but this
scanner should be muted now.

• #469 if you use mass data sorting (drag & drop or the save ordering button) for events, assigned
tags disappear. That’s fixed in this release.

166
3.5.0
New Features

• #95 added scale prices for image types.

• #346 removed Joomla! 2.5 legacy code. This version will not longer work with Joomla! 2.5.

• #345 Each line item in the cart can have a separate comment field now. This allows your
customers to add wished/comments/questions to each item.

• #352 Joomla! Tags! This version removes the simple string tags and switches to native Joomla!
tags. Migration should work automatically.

• #379 added a new selector for Picasa albums on the event detail page in the backend.

• #94 modules can use the same component layouts like the content plugin.

• #128 a new square sized layout is available for displaying an event.

• #423 The Events module is now able to use the three layouts for events.

• #150 added support for IPTC attributes for title, caption and creation data. They are read from
the files and stored in the database during a sync process. Use the components options (Image
tab) to define if new data should overwrite existing data. In addition you have the option to sort
local files by creation date. Again you can configure this in the components options. Check the
Events - List tab for the two new options.

• #449 increased the options to sort files of a local event. You can define a global sort attribute
and direction as well as event specific sort values. A new sort button in the list of files will help
you to assign propper ordering values in case you need them.

• #459 improves cache ability of the main component output. It’s simply possible now for the
views events, event and categories.

Minor Changes

• #347 updated colorbox to version 1.6.0

• #351 fixes namespace issue with the table classes. Moved them from Table* to
EventgalleryTable*.

• #372 click the order status area to get an inline editor to change the order status without
opening a new page.

• #374 picasa images are stored in the database now. This does not affect the cache files in the
cache folder but makes some things easier and faster.

• #388 the image links do not longer contain option and view url parameter to save some bytes in
the HTML reposnse.

• #398 updated smarty template engine to 3.1.27.

• #382 added ability to sort events by category tree in the events list view in the admin section

• #400 The Paypal Basic payment button uses a plain link now. This increases compatibility with
email clients so people can pay by clicking the button in their emails.

• #408 The image uploader uses a different URL to avoid conflicts with some server

167
configurations. The URL does not longer ends with the filename.

• #407 it’s now possible to see the list of images from remote sources in the back end.

• #436 the initial thumbnail pages of the ajax layout are hidden now. While loading the page it
looks like a broken layout. The thumbnails will appear after the script calculated the final
layout.

• #445 the modules can now render the Event Gallery layouts as links to the event or open the
images in a lightbox. Check the new configuration option of the modules.

• #458 modules are now cached globally (static). This is true for the cart module too. Please open
the configuration of the cart module, configure the cache settings and hit the save button to
enable caching for it.

Bug Fixes

• #378 delete image types will not longer crash the order list in the back end. It is still not
recommended to delete image types once you start using them.

• #404 removes the fade animation for images on the events list.

• #429 fixes displaying unpublished images types in the front end.

• #440 the order confirmation mail to the admins contains now the customers mail data in the
from and replyto fields.

• #441 disabled the digital image type to avoid confusion for the users of the free version. This
applies only if you do a fresh installation.

• #442 fixes an issue with the content plugin which occured if the search index was build. the
template lookup did not worked correctly and resulted in a lot of entries in the log files.

• #450 fixes an issue with blurry images which was caused by rotating small images even if it was
not necessary.

• #452 if the localization key COM_EVENTGALLERY_SOCIAL_SHARE_IMAGE_SHARED has a value


which contains an apostrophe a JavaScript error would prevent the Facebook Photo Share
dialog from working.

• #453 fixes a sunerialization error in the categories module which occurred if the cache was
enabled.

Migration Hints

• If you use tags make sure they still work as expected after installing Event Gallery 3.5.0. In case
you need to repeat the migration you can call this url:
/administrator/index.php?option=com_eventgallery&task=migration.migrateTags. It will
transform the old Event Gallery tags into Joomla tags. While you can repeat the migration for
events you can’t repeat the migration of menu items and configuratio options.

• Clear the picasa cache! Otherwise you’ll not see any images until the cache gets invalidated.

• If you want to see the new comments for line items in your mail, you need to adjust the order
mail template. The field is named buyernote and you can find it in the default mail template.

168
3.4.5
Bug Fixes

• #481 boolval is available with PHP 5.5… since Joomla! supports 5.4 we can’t use it

3.4.4
Bug Fixes

• #481 fixes image list for Joomla! 3.5

3.4.3
Bug Fixes

• #434 removed hard coded root folder path for the images and replaced it with the already
existing constant.

3.4.2
Minor Changes

• #402 switched to CURL to get content from Picasa. This improves compatibility to some server
environments. The file_get_contents fallback is still there.

Bug Fixes

• #399 the content plugin missed fulltext support.

• #405 fixes an issues with the category title and description. If the event gallery specific field is
empty no, the Joomla! field is taken into account again.

• #411 fixes an issues with the category title for the html title tag. The localized value is taken into
account now.

• #413 fixes the usage of the events meta description on an event page.

• #415 the click to the ok button in the alert message after a finished cache clear process lead to
the control panel.

• #418 fixes a SQL exception if you try to add a new folder with a name which already existing
with a different upper and lower case spelling.

• #421 Content Plugin: hidden images were not taken into account. That’s fixed now.

3.4.1
Minor Changes

• #370 the lightbox can hide the navigation and information elements on non mobile devices. The

169
delay is configurable in the components options.

• #371 the login form on the checkout address page can be enabled/disabled using the
components options.

• #367 the content plugin supports hidden images. This is useful if you want to show only some
thumbnails of an event in the article but more in the lightbox.

• #376 the content plugin accepts encoded quotes in the content tag to support some html editors.

• #392 added an option to disable the usage of address data stored at the current user during the
checkout.

• #393 changed the default view for an event to imagelist.

• #396 added the option to add a password hint for an event.

Bug Fixes

• #369 access to a single image page where the folder does not exist results not in a HTTP 404
instead of an HTTP 500.

• #395 fixes an issue which occurs in a multilannguage environment where the items in a
category need to be counted.

• #387 if you add a new language it might happen that you see a JSON string instead of a localized
string. With this fix you get an empty string instead.

3.4.0
New Features

• Mail templates. You can now define your own mail templates without the need of template
overrides. Includes the option to add mail PDF attachments so you can distribute legal
documents or things like this.

• If an order gets paid, a confirmation mail is send.

• The download shipping method can now provide links which allows your customer to
download their paid images.

• You can disable the shipping and billing form in the checkout and proceed with the email
address as the only mandatory field. Make sure you use a shipping method which can work
with the email address only if you disable those forms.

• If you protect your events with user groups you can now show them in the main event lists. Use
this to make your users aware of those events. By default all events are hidden which are
invisible for the current user.

• Shipping methods, payment methods and surcharges support percentaged prices.

• If you upload images to a originals sub folder you can provide the original images of an event
for download. This works both for the new download shipping method as well as for the
download button. You need to create this folder and upload the files manually. There is not back
end for this. You still need the smaller files for creating the thumbnails. If your server is capable
processing the original large files you don’t need this feature.

170
• #63 a new login form in the checkout address form allows the user to login. Once he logged in
the current address data is stored to his profile. If he returns and logs in, those data is used to
prefill the address form if it is empty.

• #335 Added Font Awesome to replace the existing bitmap icons. Now you’re able to change to
color, size and appearance of the icons more easy just by adding some CSS to your template.

• #343 the quick edit click for a files title and descriptions is back!

• #354 Most of the thumbnails are not longer cropped! I assume browsers can do a tiny bit of
image scaling now so I’ll use this. In the past all images where loaded as unscaled background
images. Depending on the size of the used thumbnails, parts of the image where not visible. This
happens now only for some thumbnails like the ones in the first row of an image list if the first
image spans over more than one row. Of course square sized thumbnails are still cropped.

Minor Changes

• Added configuration option to enable form fields for company name and tax id.

• It is not longer possible to save an outdated order data set. We have now a new column in the
database which stores the version number of the row. If we try to save a data set with a lower
number it gets rejected.

• The smart search (finder) plugin does not longer index user group specific events if the public
user group is not assigned.

• The search plugin filters folders which are not visible for the current user in the search results.
Users will get different search results based on their user group assignments.

• There is now a little helper button which helps you adding a Picasa/Google Plus album as an
event. You just need to enter the URL to this album and the user/album/key field are populated
automatically.

• It is now possible to create an URL which directly displays an order using the track order page.
Until now this was impossible because of the use of a CSRF token. Since token this does not
provide any additional security it has been removed.

• If the ajax layout has to show just one page it will hide the paging bar now.

• An order gets paid automatically if the order total money amount equals zero. This helps to
speed up the process for free orders. In combination with the new download shipping method
you can allow people to collect and download the images they want.

• Reduced the number of buttons in the image type selection box and the cart module. The help
button is gone now as well as the cart button in the image type selection. This should help to
avoid confusion here.

• The Paypal Basic payment method sends out a paypal form in a mail. Since this form does not
work in all mail clients an additional link is now part of the mail. It opens the order tracking
page for this order so people can use the Paypal form in the browser.

• #337 instead of the global list limit a new configuration parameter in the components options
defines the default number of images per page.

• #334 use the title image of an event to render some semantic SEO information about the event.

• #340 a new options allows to load a very basic responsive CSS file. This will provide an

171
responsive layout for row based layouts out of the box. I recommend to define your own
settings in your templates CSS file.

• #341 improved the three links below each line item in the cart. They now have icons in addition
to the link text.

• #356 the lightbox now shows the add2cart icon if it is visible.

• #359 added the social sharing button to the lightbox

• #357 removed the full screen configration option for the lightbox. There is now only one light
box size: full screen.

• #353 you can close the lightbox with the browser back button now. It’s a bit hacky but it works
by adding a url parameter. This behavior is supported by browser having the HTML5 history
API implemented.

Bug Fixes

• The Paypal basic button had invalid links if you resend the order confirmation mail from the
back end.

• It’s now possible to add a tag to a event gallery category without getting an error message.

• #339 fixes 404 for image download links errors if social sharing is disabled. Now it’s possible to
load the largest thumbnail instead.

• #358 fixes an issue with the sticky image type selection and the ajax layout. The cart icon does
now appear on the image.

• #360 a tax rate 0 zero disappeard in the configuration of the shipping/payment/surcharge detail
page. You needed to enter it over and over again.

• #363 the export only exports tables which do exist using the current db prefix. This ensures the
export works even if there are multiple Joomla! instances per database.

Migration Hints

• This version is tested only with Joomla 3. While Joomla 2.5 might work it’s not longer supported.

• Clear the server cache if you use Picasa Albums.

• The way emails get generated changed. Please create an email template if you modified the new
order email. Localization keys and templates are not longer used.

• If you overrode any code elements they might break due some code optimizations. Please make
sure you test this update in a test environment.

3.3.3
Bug Fixes

• #377 removed deprecated Facebook permission 'publish_stream'.

• #385 fixes install error while updating the category field content plugin

• #383 the light version did not activate some plugins. That’s fixed now. The category field content
plugin and the picasa update plugin are now activated automatically.

172
3.3.2
Minor Changes

• #327 Added option to turn off sharping of images delivered in their original size. Don’t forget to
clear the cache to see a difference.

• #328 if you filter the events for a menu item by a category the configuration option for
recursively showing events is now available.

• #330 Render HTML tags instead of encoding them while displaying the file title/description in
the list of files. This allows to get a better preview of the image title/description.

• #331 changed the input field type for the caption/title of files to a textarea.

• #332 the input field for the default language appear on top and is marked with an asterisk.

• #342 installing an older version will cause an error during the install process if database
changes where involved.

3.3.1
New Features

• Localization of categories is now possible. There is a new Event Gallery tab for a category where
you can enter the title and description in multiple languages. If you use those fields the normal
title and description are not longer used so don’t get confused.

• A slideshow option for the lightbox finally made it in. Colorbox has this feature out of the box,
now you can enable it in the components options.

Minor Changes

• Instead of throwing an SQL exception in case you try to copy an event with a non unique ID a
meaningful warning is displayed now.

• You can prevent right clicks in the lightbox now. Keep in mind that this will not protect your
images in any way but it’ll keep the average user from saving the image easily.

• Added watermark preview for portrait images so you can quickly see how your watermark will
look like.

• A new configuration option allows to share a link which shows the shared image but redirects
the user to the event page.

• Massive performance improvement for the Tile layout. This is especially true if you use Firefox.

Bug Fixes

• The quantity input box on the cart page does not longer allow negative values.

• The Picasa Import was broken. It created local events instead of Picasa Events.

• Using an apostrophe in an event description caused issues with the event selection dialog.

• Sharing urls use a different parameter than normal download urls. This allows to both
download the image directly and share it to Facebook.

173
• Picasa references which contain an @ character in the user name will work now. Album names
should still not contain this character if you want to use them with Event Gallery.

3.3.0
New Features

• Multilanguage support for events and images.

• New UI for clearing the thumb and picasa cache without running into timeouts.

• Reworked folder sync: you can select the folders you want to sync and Picasa folders are hidden
now.

• CLI script for syncing the database. Now you can create a CRON job to sync the database. No
need to trigger this from the back end manually. Just run cli/eventgallery-sync.php from the
command line.

• Removed MooTools lightbox and replaced it with a slightly modified version of colorbox
https://www.jacklmoore.com/colorbox/.

• The lightbox supports swipe gestures to switch to the next/previous image. Same is true for the
main image of the ajax layout.

• The content plugin supports now the grid and the tiles layout in addition to the image list.

• Empty folders are hidden now. Sounds link an easy thing but it is not. While local images are
stored in the database Picasa images are not. Because of this it can’t be solved by a simple SQL
query. So we write a dummy file into the database once a Picasa album gets loaded and the
album is not empty. But now we hide empty folders so those Picasa folders will never get
updated. Keep in mind that they are reloaded on access. To fix this we have a new plugin which
checks those empty Picasa folders so they’ll appear once the album contains some images. Clear
the server cache so those dummy files can be written initially.

• You can now configure to hide the main image of an event in a list of events in case the event is
protected by a password.

Minor Changes

• Watermarks are not used if they are unpublished.

• Tax input field is not longer of type number.

• added a threshold for watermarks. This way you can now deliver small thumbs without a
watermark but larger ones with watermarks.

• you can configure the period a Picasa request result is cached. By default it’s cached 24h. Be
careful with smaller values since this will increase the server load and overall response time of
your pages.

• Images can have URLs now. This allows you to link from the gallery to any URL you like. It
depends on the layout for the images if the URL is used or not.

• New address field for state values in the billing and shipping address form.

• Sorting orders by document number work better. It sorts the orders in the way one would
expect it instead using a string sorting.

174
• Added configuration option to show the event name and description on the ajaxpaging layout
inline or on top of the page.

• index.html files get added to the source image folders during the folder creation and the sync
process. This should provide a little bit better protection for private images.

• There can be a default watermark now. A default watermark is used if no other watermark is
defined or the defined watermark for an event is offline.

• For each event you have the option to define some meta data. If for the menu item referencing
the event is nothing defined those values are used.

• Switched from a select box to a modal dialog to select an event for a menu item or in a module.

• The content plugin supports ranges. In addition to the maximum number of images you can
define an offset. Using this ability you can create articles where you can place arbitrary text
between the images of your event.

• Log files will not grow larger than about 1MB. This will avoid issues with hosting providers
which do not allow writing large files. But keep in mind the normal Joomla log files might still
grow larger and cause your site to stop working.

• Write .htaccess files to the local folders to prevent people from accessing this folder.

• Removed MooTools dependency of back end code.

• Added save2copy button. It is now possible to specify a different folder id and use this button to
create a new event based on the current configuration. Basically it’s a clone feature for events.
Images are not involved!

• Setup removes eventgallery_light package if Event Gallery Extended gets installed. This avoids
having two packages of Event Gallery installed.

• You can use the key COM_EVENTGALLERY_MONEY_FORMAT to change for money format. Keep
in mind that you need to do this both for the site and the admin section. Otherwise the format
will differ if you (re)send an order confirmation mail for example.

• The image list layout does not longer stretch the last image to full width. The JS code is still able
to do it but it’s currently not configurable from the back end.

• Improved the handling of long event folder names in the list of events in the admin section.
There is now a max-width set to 350px until the folder name wraps.

• The description field of the image type set is used now. If it is not empty it replaces the default
text in the front end which appears above the list of image types.

• Added a small SEO improvement. By using the meta tag framenet=! a spider can call the page in
a way it can easily retrieve the full images. This should help to place more images in the search
engine.

• There is a configuration option for a callback protocol in the components options. Use this to
avoid trouble in case you run your site using https. Especially in a shared host environment this
might cause trouble since PayPal can’t connect to your server using https. In this case just
configure 'http' as the callback protocol.

• To avoid any trouble with other lazy load scripts, Event Gallery uses the css class eventgallery-
lazyme to mark images to be loaded lazy.

• Added ordering option to sort events by hits in the back office.

175
• The landing page for shared images has improved. The mini page does now show some more
image information and uses some basic CSS to let things look a bit nicer.

• The module mod_eventgallery_events can be restyled to provide a horizontal layout. A


container element was missing and is available now.

Bug Fixes

• The button for adding an event to an article did not worked while used in front end editing.

• Fixed issues with upload and sync if one uses a custom folder path for the source images.

• The zoom button on the single image page displays now the lightbox with the correct title.

• Removed notice in case one defines COM_EVENTGALLERY_IMAGE_ORIGINAL_MAX_WIDTH


himself.

• Fixed error message if an user opens an order which contains images that do not longer exist in
the database.

• The guest user group did not work. Now you can assign events to the guest user group to hide
them from logged in users.

• The version warning appeared during the database sync. This is fixed now.

• Sometimes the aperture was printed like 5.7 or 4.6. The correct values should appear now.

• Fixes an issue with the editor button while using it in the front end. Without the fix you’ve got
the rendered list of events instead of the back end UI to create the content tag.

• If you’re using password protected events you can create URLs which already contain the
password like www.foobar.de/event/foo?password=123. If somebody opens this url a redirect is
performed which removes the password from the url so it can’t be shared easily.

• Browser zoom is supported now. The layout should not longer break if the browser zoom is not
set to 100%.

Migration Hints

• Dropped PostgreSQL completely. There is no time to keep this in sync nor do I have the time to
test it.

• CSS/JS/IMG files are now located in the media/com_eventgallery folder.

• Removed MooTools dependency. If you modified any JavaScript file of this component it’ll
probably fail. Keep in mind that this component uses jQuery which is delivered with Joomla 3
and includes the same version while running with Joomla 2.5.

• Dropped Internet Explorer 8 support.

• Renamed folder→getDescription() to folder→getDisplayName(). No change to the database


structure but a small code cleanup of the class. Renamed some css classes from description to
displayname. Check the configuration of the latest events module too.

• Clear the server cache if you use Picasa albums. Otherwise they’ll disappear until the cached
Picasa XML file gets invalid.

• The image set description is in use now. Make sure you did not add funny things in there.

176
3.2.2
Minor Changes

• Removed the usage of readfile() to prevent compatibility issues with some server
configurations.

Bug Fixes

• Changed the way thumbnails are send to the browser. This should improve the ability of
services like Facebook to load those images.

• Fixes issue where you get an error message that a layout was not found if you open an event
without using a menu item. Instead of using the default layout, the layout of the default menu
item was used.

3.2.1
New Features

• Switched to integrated Joomla Updater. Make sure you’re on Joomla 2.5.19 or Joomla 3.2.2 or
newer if you want to update Event Gallery Extended automatically.

Minor Changes

• A HTTP 404 is thrown if an event or file is not published.

• There is a new option which allows to display the images of all events in random order. This
option will apply if the chosen layout has no pagination.

• There is a new field in the database which is used to count the hits for an event. This of course
works only properly if no caching is enabled. Use the components options to make the new hit
count visible. By default it is hidden.

• The download button for an image now calls a download script instead of referencing the file
directly.

• The download script uses the configuration of the download button to allow the download. If
the download if not allowed globally or for the event downloading of the file is not possible.

• Added option to switch between full image downloads and resized watermarked images. Keep
in mind that those images are used for social sharing too. Either they get your original files or
those smaller watermarked files.

• The description of an event supports content plugins.

• Added support for running the site with https for picasa albums to avoid insecure content
messages.

Bug Fixes

• Unpublished event where accessible if you knew the id.

• The resend mail action for an order confirmation mail respects a possible template override in
the default front end template.

177
• Fixes writing the Picasa cache twice. On older version there was a cache entry for the
administrator and one for the front end.

• Fixes a issue which occurs if you have a menu item of type "Categories" and a configured
category. Images linking to events shown in this category produced incorrect links. Even events
which are not show in this category linked to this menu items.

• Fixes issue with surcharge calculation which occurred if a surcharge got invalid due to cart
modifications. If no other surcharge was available instead the cost of the old one was applied to
the cart.

• Fixes sharing of images to facebook. Now we share absolute urls to the image.

3.2.0
New Features

• Import/Export for component related data

• Categories! You can create a category hierarchy and assign events to it.

• path to the image source folder is configurable now by creating the file config_override.php in
the component folder. See config.php for details.

• Auto rotation of images using EXIF orientation information is available now.

• Batch operations for events (Joomla > 3.0 only)

• Latest Event Module: added option to show the description of the event instead of the module
title.

• Content Plugin: Support for multiple image lists per page.

• Finder Plugin: the events date is part of the index. Support for event gallery categories as filter
options. Support to link to Event Gallery Categories.

• Latest Events Module: added a module which can show a number of events with some preview
thumbs.

• Category Module: added a module which shows the category structure created for events

• Reduced size of the package due to the removal of the internal documentation.

Minor Changes

• removed the dedicated menu item type Events - Simple List

• added a link which is able to remove files from the database which have no folder.

• improved error handling during Sync Database process.

• improved file upload so it feels more responsive and does not try to upload all files at once so
you can still use the back end with the same browser.

• changed sorting behavior for files in the back end. The automatic reodering does not affect
positions with value 0 and is specific for a folder now.

• added button for the list of files in the back end to reset the ordering.

• added drag and drop sorting for events (Joomla > 3.0 only)

178
• new events get the highest ordering number now.

• social sharing: download link uses html5 notation for starting the download instead of showing
the image

• content plugin supports now apostrophes instead of quotes to avoid HTML encoding issues with
some editors

• fixes a defect which occurred while you’re using a menu item which links to directly an event. If
you jump back from a single image page to the list the wrong layout type might appear.

• comments form uses the Joomla Captcha instead of a self made one.

• added a more restrictive check for folder names to avoid invalid characters in the folder name.
The sync database job will show the correct folder name in case the current one is invalid.

• margin-left for a list of thumbnails is set to 0px to prevent possible issues with Bootstrap bases
templates.

• reordered the fields for editing an event for better grouping.

• you can resend a order confirmation mail from the backend. Find this button in the top toolbar
on the order detail page.

• added option to sort events by date in the back end event list.

• added buttons in the top menu bar to allow an easy switch between edit event, list of files of an
event and the upload page.

• added alternative way of image sharpening in case you use PHP 5.5.9. THIS METHOD IS VERY
SLOW! Please disable image sharpening if this is an issue for you. PHP 5.5.9 contains a defect
where the build in method creates blurry images.

• default sorting order for orders is now documentno desc.

• if an event is linked directly you can now set the meta description at the menu item

• added warning if download id for Event Gallery Extended is missing

• added message in case the minimum requirements for PHP and Joomla are not meet.

• Added check to avoid uploading other files than files with extension PNG, JPEG, GIF and JPEG.

• New option to display the filename for an image. This works for places where the image title or
description appears.

• The order confirmation mail displays the entered phone number if there is any.

• The components global options allow to decide which link is shared for an image. The current
options are: Image Page or Event.

• The event pages contain the snippet+ items name, description and image so you can share the
event to google+ too without loosing the thumbnail.

• Added some checks to avoid error pages if a Picasa album is referenced in a wrong way or gets
invalid somehow.

• In order to provide quicker support an url parameter debug was added. In case the value is
true, CSS and JS files are not loaded as compressed versions. This allows to check for possible
issues without having reconfigure the component in the back end.

• Modules have a new configuration parameter to specify an ID of a menu item to which a

179
module will link to. Use this parameter to override the automatic menu item determination.

• The download buttton for Picasa images references the full image now instead of a 1280px
image.

• Switched the Facebook integration from the old all.js to skd.js.

• The social sharing toolbox now closes if you click somewhere else on the page. This is necessary
to avoid open windows on mobile devices which do not support mouse out.

Bug Fixes

• Order confirmation mail is send to customer and admin separately. This allows direct replies to
an order from both sides.

• Avoided exceptions if no image type sets are defined.

• fixes Strict warning in mod_eventgallery_cart.php

• fixes crash while rendering thumbnails using an non existing watermark image

• Fixed crash in Joomla 2.5 while sorting files. You can sort them now again but the whole sorting
feature works best stating with Joomla 3.x.

• Fixes a defect where the menu item setting for showing the EXIF information of an image was
not respected.

• Fixes an issue which occured on the Ajax list if there was only one page. In this case a JavaScript
error was throws.

• Fixes a VAT calculation defect.

• Removed error message Class 'JCategories' not found which occurred in a module using
Joomla 2.5.

• The image tags contained invalid HTML since there where spaces missing between the tag
attributes.

• Fixes issue with the url which opens the sharing window. It uses now JRoute instead of just
index.php/….

• The export adds the zip file name extension.

• Added Facebook permission publish_actions in order to support new Facebook Apps.

• Added a CSS stlye which helps to fix display issues of the image list with Android 2.3 browsers.
The max with of images is now set to 4000px instead of auto.

Migration Hints

• the menu item type Events - Simple List does not longer exist. You need to reconfigure those
menu items as a Events - List and choose the Event layout.

• Clear the Joomla Cache! Otherwise it’ll take some time before your users can download and
share images from Picasa again.

3.1.6

180
New Features

• massive performance improvement in case you have a lot of images per page. There is a
significate reduction in render time per page and a JavaScript performance improvement for
the new tiles and grid views.

Minor Changes

Bug Fixes

• fixes issue with Ajax List which occured if the first page contains maximum number of images.
In this case the main image did not load.

Migration Hints

3.1.5
Minor Changes

• url parameter format is not longer handled by the router to avoid issues with plugins which sets
the wrong Document type. This should prevent issues with the social sharing buttons and the
add2cart ajax request.

3.1.4
New Features

• surcharge plugin supports now a money value or the total line item count

Minor Changes

• support for VAT like 20.5% instead fo 20% or 21%

• improved title handling for an event

Bug Fixes

• fixed Facebook sharing issues with event where the folder name contains space characters

• content button works with Joomla 2.5 and 3.1 now.

• fixes defect in the latest event module which occurs if you use this module multiple times on a
page

• load langauge files for search/finder/content button plugin in Joomla 2.5 manually

• added support for the social sharing button in an image list rendered by the content plugin

• fixed html encoding issue of the image alt text

• fixes an error which occured on the order tracking page using Joomla 2.5

181
3.1.2
Minor Changes

• added configuration option to turn off the new caption layout for image in a image or pageable
list

• more than one cart module instance allowed per page

Bug Fixes

• fixed a defect which causes an SQL exception while creating a new event and not filling all
mandatory fields

• prevent JavaScript error in the front end if event is visible but does not contain images.

3.1.0
New Features

• watermarks for events

• new layout mode for showing a list of events. Just configure your menu item to use the new
Tiles layout.

• two new layouts for showing events. We have the tile layout which matches the new event list
layout and a grid layout.

• improved css for events list and image lists including displaying image title and caption on over.

• option to import public Picasa albums as events. There is no sync option so removed albums
will not be deleted in Event Gallery.

• modules have a new configuration parameter which allows adding custom CSS classes

• content plugin can include an event as image list

• images will have alt attributes containing the title of the event and the title of the image.

• new payment plugin for Paypal: Paypal Basic. This one will not force you to create API
credentials and your own Paypal App.

• there is a new option to make image lists pageable or not.

• new configuration parameter to automatically show the image type selection on pages.

• JS and CSS files are minified and concatenated now. This feature can be turned of by setting the
component into debug mode.

• new editor button to simplify inserting an event into an acticle. Don’t forget to activate the
button plugin.

Minor Changes

• modules take the legacy render mode into account

• improved support for having the gallery linked by default menu item

182
• component returns http 404 instead of 500 if the router was not able to resolve an existing view

• removed magic list again. This type of list was just an experiment.

• added link to lineitem in the cart to open event

• stopped using icon- css classes. Instead the gallery uses evergallery-icon- css classes to prevent
conflicts with templates.

• allowed comments for picasa albums too. Note that you can’t enable / disable comments for
Picasa images separately. There is only the global switch.

• added error message if an invalid shipping method was selected for the cart.

• the "open cart" button in the image type selection box is now a text link. The icon was too
confusing.

• removed behavior which hides the image type selection on event pages of the a resize event is
fired.

Bug Fixes

• fixed issue with Facebook Photo Share. Folders which contained space characters did not work.
They do now.

• fixes issue with Joomla 3.2 and html5fallback. One had to hit the save button on the checkout
address form twice to submit the form

• fixed bug while verifying incoming Paypal IPN message

• the display name and description for the ajax list paging configuration was inverted.

• the ordering of images of event in the back end was not the one you saw in the front end

• link generation fixed in case you have a menu item pointing directly to an event. Now the
generated links are way better.

Migration Hints

• if you use a SEF plugin make sure you refresh the urls in case you encounter any issues

• the magic list view does not longer exists. Reconfigure your menu items if you used it.

• paging on image lists is now disabled by default. This applies to the pageable list too. So please
reconfigure the menu item or adjust the global settings to let it appear again.

• if your template overwrites parts of the view layout it might need adjustments.

• HTML structure is only valid with HTML5 since I started nesting elements in a tags.

• dropped IE8 support. It might work but I’ll put no more effort in fixing stuff.

3.0.8
Bug Fixes

• fixes create of invalid database entry of the description for an event is not filled

• fixes an issue where the whole eventgallery folder gets deleted if you remove the element

183
created by the issue above

3.0.7
Bug Fixes

• fixes UTF-8 encoding issue for the cart thumbs

• fixes sql exception in modules

• fixes issue with the form validation which validates fields even if they are disabled (introduced
with J2.5.16)

3.0.6
New Features

• content plugin has a new parameter which allows to open images in a lightbox instead of
linking to the event

• both event modules can pick random images now.

• lightbox supports a click on the image which will result in showing the next image. On mobile
you still need to use swipe guesture.

Minor Changes

• removed width and height attributes from image tags to prevent conflicts with
script.responsive.js

• back end: more buttons have tool tips

• back end: improved Joomla 2.5 support

• improved JavaScript render speed of image lists a lot.

Bug Fixes

• fixes issue with content plugin running with Joomla 2.5

• fixes event list and image type selection with Internet Explorer 11

3.0.5
New Features

• new layout option for Event Modules: slide show

• small dashboard on the overview page

• display number of images per event in back end

• improved logging for paypal plugin and Picasa server connection issues.

• the overview page contains a link which can remove carts which are older than 30 days to keep

184
the database as clean as possible

Bug Fixes

• fixes an issue with a disappearing paging bar on the events list if caching is enabled.

• fixes some strange behavior with the tags. Menu items should now display the right events
according to the defined tags.

• unpublished events appeared in the front end. This is fixed now

• fixed issue with misplaced item list on a order confirmation page in firefox

• fixes error on order tracking page with Joomla 2.5

3.0.3
New Features

• the standard payment method has two additional fields: confirmation message and review
message. Check the manual on how you can use them.

• improved performance of Picasa albums by using a better way of caching the results

• new database sync which does not fail even if you have a lot of files and folders

Minor Changes

• added useful CSS classes to the checkout pages and the basic information panel.

• complete rework of the front end model code

Bug Fixes

• content plugin supports article intro text too

• twitter sharing: if the folder name contains special character the link did not appear in the
twitter share box.

3.0.1
New Features

• merged PostgreSQL support (thanks to Steven Hiscocks, kwirk)

• improved content plugin: you can include event images, description and text now.

Minor Changes

• removed confirmation info box after submitting an order

• changed add2cart button on single image page from icon to text to have the same pattern for
this button on every page

• displays order creation date in back end

185
Bug Fixes

• fixed finder plugin compatibility issue with Joomla 2.5

• fixed download link for images delivered by Picasa

• fixed issue which created empty orders after a customer switched back from order confirm
page to review page and ordered again.

• fixed error message while deleting an order with Joomla 2.5

• fixed exception which occurred while deleting a file

• removed warning in finder plugin during event folder renaming

• the deletion of an event results in left over files and folder in the event gallery image folder

• renaming an event results in renaming the lineitems too.

• fixes ugly tool tips with Joomla 2.5

• if an order was removed, the imagelineitems and servicelineitems are gone now too.

• fixes issue with Picasa images in portrait format on Ajax List and single image page.

3.0.0
New Features

• new highly customizable checkout and cart feature.

• plugin system for surcharges, shipping methods and payment methods

• decreased Joomla 2.5 support. Still works, but looks kind of ugly sometimes.

• new sort options for event list in the front end. It’s possible configure the sorting by name now.

• global configuration for events and event views. This allows you to access the gallery without a
menu item and makes the configuration of multiple menu items much easier.

• support for intro text and main text for the event text field. Just use the normal page break
button to create the intro and the full version.

• ability to filter, search and sort event list in back end

• restrict the visibility of events at user group level.

• ability added to restrict sharing behavior for events

• improved feedback while sharing image to Facebook

• improved feedback if allow_url_fopen==false and albums from Picasa should be used.

• added multiple sharing options for Facebook: Direct Photo Share, Feed Dialog and Share Dialog

• usage of different cache folders for Picasa and image to increase cache usage and back end
editing performance

• Extended Version

◦ PayPal payment method plugin

◦ new plugin for embedding an event into an article

186
◦ search integration with Joomla Search and Joomla Smart Search. Make sure you’ve enable
the Content Plugin for Smart Search to get the index updated if you change an event.

◦ basic module to display images of a specific event

◦ module to display images from the latest event

Bug Fixes

• fixed issue with sending a mail once somebody created a new comment

• fixed a strange behavior of the captcha within some sessions. The captcha data is now
generated once the single item page loads instead of during the captcha image loading.

• fixes issue with the paging of the events list

Migration Hints

• if you used direct links to events of the type Pageable List you need to update those menu items.
Otherwise the layout will be set by the global setting for the event layout.

2.6.8
New Features

• the Facebook Feed Dialog is gone. Did not work very well. Now the images are shared directly to
the users Facebook album. Just make sure that you Facebook App has the photo_upload
permission to get it working

• support for menu item based keyword/robot configuration

Bug Fixes

• removed some strict warnings while rendering images

• removed some strict warnings while in the events list

• avoid fail to render an image because of invalid EXIF data

• fixes square sized image defect when images are coming from picasa web

• fixes issue in case url rewriting with a suffix is enabled. In this case the cart does not work.

2.6.7
New Features

• Social Media Sharing Buttons. The links which can be shared for an image direct the user to a
mini page which presents the image. With a click on this image the user gets redirected to the
event. Facebook need to read the original image so don’t put any restrictions on the image
folder if you want to use the sharing options.

• EXIF support for local images. Just sync your database to read the information from the files to
the database. Once you did this, EXIF information will show up for each image.

187
• Thumbs contain now the original EXI information. This will help to have the necessary meta
data available once those images appear somewhere else.

Bug Fixes

• fixed usage of wrong configuration set once the current menu item is not given

2.6.5
Bug Fixes

• the second row of images on an events list just loaded after you scroll on the page. This is fixed
now.

2.6.4
New Features

• added option to display links to external sites instead of using the internal add2cart button. As
of now there is a global configuration option where you can define a pattern for the external
link. Make sure you use the internal or the external cart button only. If you’re fit with JavaScript
you can target the new add2cart button and apply a different behavior. The link contains two
attributes data-file and data-folder which might become useful.

• Lightbox uses it’s own name space now. This will reduce the conflicts with other lightbox
includes.

• List of events supports paging now

• remove the a lot of configuration options for the events list (the new feature is the clean code ;-)

• language lookup extended to language\overrides\language\xx-YY\xx-YY.com_eventgallery.ini so


you can manage your localized files independent from the component.

Bug Fixes

• fixed missing error messages on checkout page

• updated markdown library to prevent some warning messages in the documentation view

• fixes issue with flexible layouts. The width is calculated initially, then the scroll bars appear and
the width decreases. The images will end up unaligned. Now I set the min-width of the
container initially to a height so the scrollbars appear and the width calculation works.

2.6.3
New Features

• improved caching. Files don’t get purged if you purge the expired Joomla cache.

• removes possible conflict with original LazyLoad version.

• events list uses lazyload and dynamic image resizing like on the image list.

188
• AJAX list loads images based one the available page size.

• react on missing write permission on cache folder while writing a thumbnail

• configuration option for image quality added.

• significant reduced memory consumption and increased performance for processing Google
Picasa XML files.

• added limit box for events list and file list

• you can define the sorting of events for every menu item.

• improved order mail

• added option to display the lightbox in full screen mode. This is very handy if you want to
support mobile devices since this mode does not waste as much space as the current lightbox.

• workaround for image delivery problems on some servers. See Use Rendering Fallback in the
components global configuration options for details.

Bug fixes

• the large image in ajax mode was not correct aligned. Usually it was displayed too large.

• better support for SEO components like aceSEF.

• Fix for showing tiny thumbs in Opera using a template which does not define the border-width
for the css class .thumbnail

• removed Strict Standard messages

• PHP 5.2 seems to work now.

2.6.2
New Features

• Ajax list: thumb size is configurable

• configuration to show/hide EXIF information in descriptions

• you can target (and therefore hide) each button of the navigation bar on the single image page
using CSS

• added CSS classes to access date, text to style date, description and text of an event individually.

• added toggle for date, image hits, image count, comment count for each menu item

• added compatibility for IE7 and IE8. You should at least see something now. Create your own
browser specific css (https://www.webmonkey.com/2010/02/browser-specific_css_hacks/) to
make it look nice with your Joomla Template. Keep in mind that I’ll not start testing with IE7
and IE8 but I’ll react on the defects you submit. No "not pixel perfect" bugs for those browsers
please.

• restricted possible thumb sizes to one of those entries {32, 48, 64, 72, 94, 104, 110, 128, 144, 150,
160, 200, 220, 288, 320, 400, 512, 576, 640, 720, 800, 912, 1024, 1152, 1280, 1440}. Each size is
available as a square sized version and normal sized scaled down version. Doing this will
prevent attackers from creating unlimited thumbs and exceed your web space.

189
• Configuration option for the image sharpening

• Embed ICC profiles. Very useful for all the people with wide gamut displays which don’t like
cartoon colors.

• instead of setting the width & height for an image we use the right sized transparent gif now.
This will make !important statements in css file unnecessary.

• added support for page heading configuration at a menu item

Bug fixes

• tag support: menu item for the event list can define a comma or space separated list of tags

• fixed issue with the loading image on very small screens on the single image page

• fixed encoding issues for event text, file title and file description

• fixed enlargement of images which are uploaded smaller than 1440px in the lightbox and image
lists.

• cleaning the cache is working again. Wrong task was referenced so nothing happened.

• an event gallery page can now be the default page

2.6.1
New Features

• added management for titles and captions for each file

• lightbox is now capable to handle text which contains not just three words

• documentation update

Bug fixes

• fixed German language in Ajax list (Bild 1 von 10)

• fixed HTTP 500 caused by large log file containing for Picasa access requests.

• fixed SEO URLs when appending a suffix like .html to every URL.

• fixed adding comments.

• fixed enlargement of images because of JavaScript calculations

• fixed hiding of navigation buttons in single image view if the last / first image is shown.

• fixed blue background in Ajax view with J2.5 default template

• fixed issue with lightbox and some URL encoding. Lightbox opened but no image appeared.

2.6.0
New Features

• Initial public release

190

You might also like