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 uploading. I’ve said this before, but think flickr. Same idea. Sound good?

And yes, I’ll (...)

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(), next_comment() etc. control the context switching behind the scenes. It’s mostly for error control to make sure (...)

Zenphoto status

I’ve been working on it all weekend. I’m still in the first stages, but I’ve finished all image functions, including that spiffy size-in-the-url resizer feature. In fact, that went so well, I made all images in the program use it, which means every image displayed is actually proxied through a PHP script (i.php to be specific). It took some work, but I’ve got it caching images after processing, and sending the right headers so the user’s browser always caches it locally. That makes it behave exactly like a normal image. With mod_rewrite on, you won’t notice a difference.

If you would like a sneak preview of the horrible-looking version .01 alpha, leave a comment with your email and I’ll send you a link. I’m afraid of it being somehow insecure at this stage. In fact, I just thought of two vulnerabilities while writing that sentence. So leave me your email and if I trust you I’ll send you a link :-)

What I’ve done so far:

  • Directory traversals (...)