Zenphoto 1.4.6


    • New template functions getHeadTitle() / printHeadTitle() to for usage within/for the HTML page's head <title></title> [acrylian]
    • Improved 404 handling [sbillard]
    • imagick options to hint image sizes to better utilize server memory. [yaourt]
    • Various HTML validation issues on the backend corrected [acrylian, sbillard, sphoto]
    • New options for search pattern matching [sbillard]
    • Plugins may now "declare" deprecated functions. [sbillard]
    • Bulk options and edit links for images on the images order tab [sbillard, acrylian]
    • Backend pages now warn about possible unsaved data in forms if you try to leave a page [sbillard]
    • If you are using plugins with content macros that generate html, a conflict with TinyMCE's automatically wrapping everything using paragraphs could occur. Zenphoto now validates such html using the server side PHP Tidy extension if it is present on the server used.

    New plugins

    • defaultCodeblock: Create default codeblocks. [sbillard]
    • galleryArticles: Create news articles when a gallery item is published [sbillard]
    • tinymce4: Replaces the version 3 tiny_mce plugin. Older custom configurations will need to be updated. See How to create custom TinyMCE configurations and also www.tinymce.com for info on that [acrylian]
    • userAddressFields: This plugin is used to extend the administrator table to add user address fields for use by the comment_form and register_user plugins [sbillard]
    • slideshow2: New Slideshow plugin using the Cycle2 jQuery script. (successor of the Cycle script used in the original slideshow plugin) [acrylian]
    • bxslider_thumb_nav: New jQuery based carousel plugin on the bxSlider as the jCarousel_thumb_nav is not fully compatibly with new jQuery releases anymore [acrylian, sbillard, fretzl]

    Updated/changed plugins 

    • Zenpage: CombiNews mode removed. The galleryArticles plugin takes its place. Please see developer's notes below for more details. [sbillard, acrylian]
    • RSS: modes "withimages" and "withalbums" deprecated because of the CombiNews deprecation above. Please see developer's notes below for more details. [sbillard, acrylian]
    • Colorbox: Script updates and now generally responsive [acrylian, Thanks to vincent3569]
    • tagSuggest: The plugin now covers also tag selectors on backend item edit page without being enabled specifially [acrylian, sbillard]

    Removed plugins

    • tiny_mce: Version 3 plugin replaced by tinymce4. Still available on the unsupported repository.

    Theme changes

    • The "default" theme has been renamed to "basic" as the name seems more fitting.

    Themes removed

    • Stopdesign: Not supported anymore to save us maintainance work. Still available on the unsupported repository.


    • Danish [jesdnissen]
    • Dutch [fretzl]
    • French [Michel Gagnon, vincent3569]
    • Galician [abotana]
    • German [acrylian]
    • Japanese [momo]
    • Russian [DoctorKru]
    • Slovak [tangorn]

    We also added this actually quite outdated translation we recently discovered on GitHub:

    We added it as a case of "better than nothing but you can help". We found also an old Turkish translation we couldn't included because the file was somehow corrupted and caused errors.

    Developer's notes

    Theme changes I:  Pagination out-of-bound checks

    It is now manditory that themes support the url page out-of-bounds checks if they deviate from the standard index/album/image, etc. pagination schema. This is done by implementing a page validity check function and storing it's name in the variable $_zp_page_check. See any of the standard themes for example implementations. If your theme does not implement this and deviates from the norm, you will get 404 errors from what should be valid page links.

    NOTE: the Zenphoto release contains the support code for this feature and it is used by current Zenphoto themes, so this is a change you can make now and not wait for the 1.4.6 release.

    Theme changes II: Sort type and direction

    The sort type and direction parameters to the various next_XXXX functions are deprecated. There have always been issues with these as they do not go into effect until that function call, but the sorting criteria are needed for other items like pagination computations. The objects now have methods for setting the sorttype and sortdirection. These should be used at the beginning of the theme script to insure consistent ordering of the objects.

    Theme changes III: Function rationalization

    There has been an attempt to "rationalize" functions and methods. See below. Theme designers should check the new "deprecated" admin tab for newly deprecated functions. You can also run the "check deprecated use" function from the admin/utilities functions to flag use of these functions.

    Theme changes IV: Script rationalization

    The theme scripts for the register_user plugin and the contact_form plugins must now be register.php and contact.php respectively. The URL to these pages may be changed via the rewriteTokens plugin.

    Deprecated functions

    There are now deprecations of class methods and of function parameters. Because of the overhead these create in the active source code we intend to remove the code in the release following their deprecation. This means that themes MUST migrate to the replacement or they will not function on the next release. For a complete list of deprecated functions see the deprecated tab which will be present if the deprecated-functions plugin is enabled.

    Plugins may now create a deprecated-functins.php script to deliniate functions that they no longer support. This file goes into the plugin's folder as with other plugin scripts. It will be loaded automatically during theme startup so long as the Zenphoto deprecated-functions plugin is enabled. This enhancement provides a means for plugin developers to gracefully migrate users off obsolete functions. 

    Object model method changes

    There are some "normalizations" of object methods so that like methods are same named. This is proper object orientation so that the same code can be used for multiple compatible objects. This results in existing methods becoming deprecated. 

    Object model sorttype and sortdirection changes

    Various functions which have sorttype and sortdirection as parameters have now deprecated these parameters. Instead the type and direction of sorts shoud be set in the object at the start of theme scripts that require special sorts.

    If this is not done then there will be inconsistencies with such things as pagination and content display.

    Zenpage CMS plugin CombiNews mode removed

    As noted above this has now been removed. The reason is that this tool tried to merge pure database based Zenpage items and actually file system based gallery items. There always was a mismatch in the publish date of images/albums that is not the same as a published date of articles.

    This also lead to constant maintainance overhead as this all happens a bit outside the actual base object model. It seems to us this never was widely used anyway (well, we did on our site) so we decided to abandon it with 1.4.6 now.

    Note that the `galleryArticles` plugin provides a substitute for the CombiNews feature. If enabled it will "import" the site's CombiNews articles during Setup. It also provides an automatic publication of real news articles for newly published albums and images.

    This change also affects the following RSS feed modes being deprecated:

    • withalbums
    • withalbums_mtime
    • withalbums_publishdate
    • withalbums_latestupdated
    • withimages
    • withimages_mtime
    • withimages_publishdate

    As from the 1.4.6 release these simply will internally be redirected to a standard article feed so no existing subscriptions break. Use the mergedRSS plugin to create joined RSS feeds of Zenpage and gallery items.

    Special thanks

    We are indebted to arnaudfretzl, gjr, JimBrown, julienvdg, sphotovincent3569winfredwan  and all we might forgot here for lots of especially helpful testing and bug reports!

    For questions and comments please use the forum or discuss on the social networks.

    Related items