This plugin is an example demonstrating the use of the various image_html filters. Each effect is defined by a text file these sections (no individual section is required).

Documents the source of the effect

Each effect will have a head section that contains the HTML to be emitted in the theme head.

Elements from this section will be added to the class element of the <img src... /> tag.

It is also possible to create a extra section for html that will be inserted into the <img src... /> just befor the />. This can be used to insert style="..." or other elements.

<validate>file path</validate>
Used specially for Effenberger effects, but applicable to similar situations. Causes the named file to have its presence tested. If it is not present, the "effect" is not made available. Multiple files are separated by semicolons. Each is tested.

The following tokens are available to represent paths:

  • </v> (...)

Zenphoto 1.4

IMPORTANT NOTES: This release includes some major internal restructuring of the object model. This also involves the Zenpage plugin whose categories are now objects like the articles and pages already were.

Additionally the root RSS files have been removed which results in new links to call the RSS feeds. Although we have added htaccess redirection so the links should not break (given you have mod_rewrite of course) you should inform your subscribers about the new links. The same applies to the sitemap-extended plugin.

Also there were some more minor changes to theming and plugin creations. Please review the related tutorials.

  • Major internal restructuring and improvement of the object model for Zenphoto and Zenpage plugin [sbillard, acrylian]
  • Abstraction of the Database interface allowing databases other than MySQl to be implemented [sbillard]
  • Private gallery option [sbillard] (...)

Hebrew translation


Hackers often use "probing" or "password guessing" to attempt to breach your site This plugin can help to throttle these attacks. It works by monitoring failed logon attempts. If a defined threashold is exceeded by requests from a particular IP address, further access attempts from that IP accress will be ignored until a timeout has expired.


This plugin gathers data about searches that users make on your site.

Notes on the analysis of the data:

The search results used for Dynamic album processing are ignored.

Analysis presumes that the Theme does a "uniform" set of object retrievals. That is, the search.php script will always request albums, images, pages, and/or news consistently. Data collection happens for each of these objects so to "normalize" the data the analysis will divide the data by the number of objects searched.

So, if for instance, you sometimes enable Zenpage results, sometimes there will be results for images, albums, pages, and news; and other times there will just be results for images and albums. In this case the reports will under value the searches done when Zenpage results were not enabled.



Provides functionality to select different templates for the standard theme pages album.php, image.php and for Zenpage pages.php and news.php.

The additional template files have to be clones of the standard theme pages which must be kept as default ones. The file names of these additional template files must match these patterns and should not include special characters or characters with diacritical marks:

Zenphoto gallery items

  • For albums: albumcustomname.php
  • For images : imagecustomname.php

"Select default album image layout" checkbox: If you want to avoid to manually select a specific layout for all images in an album you can check this option on the album's edit page. Then a layout is assigned to the images automatically as well.

Example: You select an album layout page named "album_test.php" for an album. If you select that option mentioned above an image layout named "image_test.php" will be used for (...)

Help Wanted: Database abstraction

Zenphoto is persuing adding database support for databases other than MySQL. To this end we have created a database abstraction layer and implemented two additional abstractions: PDO_MySQL and PDO_SQLite.

The former is pretty straight forwared, but some additional "exposure" on it would be apppreciated. The latter has run into an impass. We are not knowledgeable of SQLite and have things which do not work but we do not understand.

So by this ticket we are looking for developers with SQLite (or perhaps some other Database) knowledge to participate in this abstraction effort. Please signify your interest on ticket #1711.

Multi-lingual sites

Zenphoto is fully capable of running multilingual sites if you want to provide your content in more than one language. "Content" means data stored in your database such as image and album descriptions.

The multi-lingual mode option

For these to have multiple languages you will need to have the multi-lingual check box checked in your gallery configuration.


Backend usage

Once this option is enabled, each edit field in the back-end will have multiple inputs, one for each configured language. You then just fill in the translation for each language you wish to support manually. This also works for plugins that provide text options if they are setup for multilingual use.


Note: The contents of each language still share the same database field (e.g. title or description) but it is divided and (...)

The nightly builds are back

We found the issue and you can now again download them as usual.

Nightly builds currently broken

Unfortunatly the generation of nightly builds is broken since September 3th. Although there are archives generated they are corrupt and useless. We hope to get that fixed as soon as our server admin finds the time for it.

If you need to try the development stream you can download it from the svn trunk manually currently via the zip-download at the bottom of the page. Or via the svn directly if you are familiar with that.