Zenphoto 0.3.1

  • Fixed bug with AJAX editing and PHP magic_quotes_gpc
  • Refactored config to use an array and getter function instead of global variables.


Zenphoto 0.3

  • AJAX title/description editing on images and albums.
  • Comment saving
  • Bugfixes; improved IE support.

Relevant links:

  • - zenphoto 0.3 - "AJAX Fireworks"


Zenphoto 0.3 – “AJAX Fireworks”

Okay, so I should have been working on the more fundamental stuff instead, but I got totally hooked on making the AJAX go (though I did cookie comment info). I left admin mode on by default so everyone can play with it. Yes, that means you can add titles and descriptions to my images! It’s great. You’ll love it.

zenphoto 0.3 demo gallery

I must warn: it works in IE, but it works a lot better in any other browser. I expect anyone administrating zenphoto to not use IE, so this shouldn’t be a problem. Mainly, you lose the really cool javascript form editing features like automagically resizing textareas.

And yes, those were the fireworks this evening. Happy 4th of July!


Zenphoto 0.2.2

  • Database garbage collection functions implemented.
  • Temporarily added a "pruning" page to clean the database manually - prune.php (GC will be used later before any operation relying on the database)


Zenphoto 0.2

  • Comments, comment template functions added.
  • Lots of bugfixes, speedups, etc.

Relevant links:

  • - zenphoto 0.2 - "Comments Enabled"


Zenphoto 0.2 – “Comments Enabled”

Comments and navigation are done! Zenphoto is now very functional, and I’m probably going to move the photos site on this page over to it pretty soon (as soon as I do some image/album metadata editing, which just needs the forms).

Check out the demo gallery and test it thouroughly.

0.2 Demo Gallery

You can leave test comments there (and please do), but leave any meaningful comments here so I don’t have to search for them. I’m looking for ideas for the admin interface now that you’ve seen the public face of the gallery (which is, remember, fully customizable — this is only a test theme), so let me know how you want it to work. I’m leaning toward an intuitive “admin mode” which would let you browse the gallery with special actions available (like editing titles, descriptions, and comments on the fly with AJAX), plus a few extra panes for mass-title/description-editing and (...)

Zenphoto 0.1.2

  • Pagination: Template functions to get/print links to next/prev page based on context, and to any page given its number.
  • Improved album/gallery links: now point to the page where the current element resides (eg: the Albumlink for an Image page would point to the page of the album that image is on).
  • "Page list" widget (printPageList), prints a UL of links to all pages in the current context, current one has LI.current class.

Zenphoto 0.1.1

  • mod_rewrite rules written (cruft-free URLs)
  • Class functions to save new metadata to the database
  • Lots of small bugfixes

Relevant links:

  • - zenphoto 0.11 - "cruft free"

Zenphoto 0.11 – “cruft free”

The point: You’ll never have to resize images again.

0.11 Demo Gallery

Feel free to play with the URLs and make your own sizes, but please, don’t request every pixel size from 1 to ten thousand until I’ve made some way to limit the cache… thanks.

Zenphoto 0.1 preview

I’m not making the source available just yet, but here’s a preview.

zenphoto 0.1 test gallery

Right now, it’s a fully navigable gallery, with full on-the-fly image processing, a simple design using new template functions, display of image and album metadata, and more. Yet to be implemented are the admin interface (which you can’t see anyway :-) ), storing image metadata, comments, cruft-free URLs, and lots of other stuff…

This week, I fully implemented templates, which was big. It’s a simple template system. For example, this is how you print album thumbnails in the gallery index:

< ?php while (next_album()): ?>
< ?php printAlbumThumbImage(getAlbumTitle()); ?>
< ?php endwhile; ?>

Minimal code for the loop, yet still powerful. The functions run in “contexts” which give internal template functions more info on where they’re called. next_album(), next_image(), (...)