Developer coding guidelines

Coding Style

Zenphoto code follows some basic style guidelines. We essentially use the 1TBS variant of the K&R notation C-code syntax, for example:

function foo($bar) {
 if ($bar == 2) {
   return $bar;
 } else if ($bar < 2) {
   while($bar < 2) {
     echo $bar;

This is a fairly standard formatting for PHP code and makes things nice and readable.

A few guidelines for coding in general:
  • Use generalization and abstraction. DRY! (Don't Repeat Yourself).
  • Keep it simple - if something seems too complex it probably is.
  • Keep efficiency in mind - try not to put filesystem operations in nested loops for example.
  • Write clean code! Make things readable and understandable.
  • Comment your code so that others can understand it. Remember we are open source. For function comments we generaly follow the  (...)

Zenphoto 1.2.5 Out

The final version of Zenphoto 1.2.5 is out and ready. See the full changelog in the 1.2.5 post below, and download from the usual place on the front page. The SVN repository is tagged as well for those of you using that method.

Zenphoto 1.2.5 RC2 Ready to Test

We have another RC for 1.2.5 out and ready to test. Please test it thoroughly and report any bugs on trac as usual.

Download links:

Zenphoto 1.2.5 RC2 (tar.gz) or (zip)

In addition, the svn trunk has been tagged at

The changelog for 1.2.5 will continue to be updated as the RC's are released, and the full set of changes can be seen on Trac.

Zenphoto 1.2.5 RC1 Out for Testing

For the 1.2.5 release, we've decided to encourage more testing and community involvement by releasing a Release Candidate build one to two weeks before the final release. We hope this is convenient and allows you to easily test new features and give us feedback without dealing with the nightly packages.

The release can be downloaded here:

Zenphoto 1.2.5_RC1 (tar.gz) or (Zip)

As with any testing release, this is not recommended for installation on production systems and should be used for testing only. However we do encourage you to try it out if you're interested and we don't forsee any drastic issues.

Please issue bug reports on Trac or discuss features on the forums. Thanks for your help!

Zenphoto 1.2.5

  • Exifer libary fixes [Special thanks to bharat of the Menalto Gallery team]
  • Additional filters [sbillard]
  • Options for gray images [sbillard]
  • jQuery datepicker for date fields [sbillard, acrylian]
  • RSS improvements [acrylian]
  • ngettext() now used for plurals translations [sbillard]
  • Plugin to allow cropping of images [sbillard]
  • Admin backend improvements [sbillard, acrylian]
  • Search improvements [sbillard]
  • Cookie/session handling improvemens [sbillard]
  • Implemention of Uploadify multi file upload [sbillard, acrylian]
  • Plugins
    • Rating plugin now jQueryfied [sbillard]
    • print_album_menu (...)

Danish translation

Back on Trac

Trac is now back up! Registration and logins are now working as before, with no changes to passwords or usernames. Everything should work normally. Let us know if you have any trouble logging in or submitting tickets.

I'd also like to credit Acrylian with the witty pun for the title of this post. Some other notable ones include: "Any progress following the trac?" and "On the wrong trac then?", and my favorite, "Star Trac: Where no user has gone before." This is how he motivates me to fix things.

Icelandic translation

Trac Down

Trac is unfortunately down while I work out some bugs from an upgrade. On the plus side, the server is now running the latest and greatest of all the backend software. If you've got urgent bug reports, you can use the forums to bring them to our attention, or wait a couple days and Trac should be back up and working as normal. Thanks for your patience.

Update: Trac is now back up! Feel free to login or register and submit those bugs you've been waiting to tell us about.

Zenphoto Roadmap

Note: As a preface, this is an April Fool's joke. Zenphoto is as active as ever, and we hope to keep making it even better.

With the release of our latest version, Zenphoto 1.2.4, and the perfection, stability and widespread use of our amazing software, we thought it would be a great time to discuss the schedule for Zenphoto. Here's a general idea of what we expect for the year ahead.

Our plan is for a final point release in one or two months, as per our usual schedule. This will probably come around May or June 1st, and will be version 1.2.5.

This will be Zenphoto's final release. We've decided that our software is decidedly feature complete and 100% working for its intended purpose. If we continue adding features, we will be going against our philosophy of bloat-free, simple photo software, and at some point we simply have to call it finished. With all due respect, (...)