Photo Organizer

This is the bug tracker for Photo Organizer.

ID Task Type Severity Category Summary Status Reported In  desc
 466 Bug ReportCriticalBackend / Core Original photos deleted without adding to database on d ...Closed2.371 Task Description


I'm having a problem with writing to my database, but reads are fine. I am adding images from a local directory. I am using PO 2.36.1.

When I try to add images, I get red text telling me that the transferring the metadata failed and that PO failed to update the database. Unfortunately, PO still goes ahead with "cleaning up the mess".

Luckily I still have a backup of my photos, but this part of the process could probably use some extra checks and an abort before deleting the files.

Thank you,


 439 Bug ReportHighBackend / Core photos not shown after update  Closed2.379 Task Description


after update from 2.36 to 2.37 photos are not visible anymore.
The first try of update failed with an error at "DROP OPERATOR ||| (character varying, character varying)". Verifying the staetment on the command line show operator does not exist. After commenting out this line the update was succesfull (no error messages).
No errors are shown postgres or webserver log.

Different behaviour, depended if logged or not:
not logged in: only numbers of photos shown
logged in: after click on number a three available sizes are shown, click on one of them give : "Warning: ini_set() [ref.outcontrol]: Cannot change zlib.output_compression - headers already sent in /home/www/ on line 59" whcih is confusing - zlib is available and compress_pages is off

regards, Gerd

 449 Bug ReportHighUser Interface PHP can no longer find site_navigator() Closed2.372 Task Description


I have been running my PO site using the hostmonster hosting service for over a year now and all of the sudden it doesn't work. I have tracked it down to PHP not being able to find the site_navigator() function. I am using the aqua theme and I have found the function in the theme.php file. I cannot find where the theme.php file is included.

I have control over the php.ini file for my virtual sever. Can you think of any settings that may cause this problem?

I have already turned off "display_errors".

Thank you,


440Bug ReportMediumBackend / CorePossible to set an album/folder's parent to itself.New2.37 Task Description

We need to enforce that rule to prevent the DB from going nuts.

Either via SQL:

1) Trigger to test that parent != id
2) the (folders|albums)_and_sub(folders|albums) function needs to abort if it sees it

or in PHP:

3) Test the values in the php pages [[ (album|folder).(add|edit).2.php ]] and kick back an error.

I don't think there's another way to mangle things.

This can result in a DoS.

 450 Bug ReportMediumUser Interface wrong real name display in "I am a client of the follow ...Closed2.371 Task Description

Assume, I am a client "adent" subscribed to one user "fprefect".
When viewing "My Folder", i.e. user.php?user=adent,
at the bottom it says:

I am a client of the following users
User status registration date
Dent, Arthur Accepted May 9, 2011

As far as I understand the source, this is because the function "display_protected_photographers" gets its information from the db view "view_client", which contains real name data from the client of that client-relation; instead of the user of the client relation. This is because in the where clause of "view_client" it says "client.client = users.identifier".

This problem did no arise in 2.35, where "display_protected_photographers" used the db view "view_users_subscribed_to", that does nearly the same as the new "view_client" but stated "client.users = users.identifier".


 441 Feature RequestLowBackend / Core Create a WebDAV view into the repository. Closed2.371 Task Description


/user/ --> list of usernames.
/folders/ --> list of [toplevel] folders
/albums/ --> list of [toplevel] albums
/photos/ --> list of photos in folder/album
/folders/ --> list of ALL [toplevel] folders.
/albums/ --> list of ALL [toplevel] albums.
/photos/ --> list of ALL photos. (???? -- do we want to enable listing this here?)



Something like that?

442Feature RequestLowUser InterfaceUI EnhancementsAssigned2.371 Task Description

This will be a placeholder for the various ideas I have for reworking parts or all of PO's UI. Ideas that are fleshed out can be moved into their own tickets for actual implementation.

* AJAX-ish tabs on the photo page
- instead of a separate page reload for each tab, load all tab info at once and let the UI manage paging.
* Client-side sorting of all tabular data
- eg folder/album listings
* Dynamic client-side pagination of the slide view
- "dump" all slides at once, and let client-side manage their pagination?
- Probably can't sort this way though
* Lightbox-esque view of photos
- Intended for guest access, hiding details of photos.
- Slideshow capabilities
- Easy navigation (eg using left/right arrows)
* Replace ad-hoc toolbars with more coherent ones
* Replace hackish button/checkbox theming script with something saner.
* Replace wz_tooltips and js_calendar with better integrated stuff.
* Modal login/password form
- pops up on top of current page
- Can force current page to reload afterwards
- What to do about 401/403 errors?
* Replace all "confirmation" pages with modal dialogs.

I'm leaning towards Query and jQueryUI for actual implementations.

Initial implementation will probably require current themes to be taken out back and shot.

443Bug ReportLowBackend / CoreWrong user name displayedUnconfirmed2.37 Task Description

In tab My Folders or My Datebook, logged in user name displayed instead of owner user name under 'I am a client of the following users', nevertheless the link is correct. Here is my quick and dirty solution.

--- include/contacts.php.orig
+++ include/contacts.php
@@ -117,7 +117,8 @@
$owner = "";

- $all_subscribed_users = pg_query($database, " select identifier, users, last_name, first_name, date_of_creation, value from view_client where client='$my_user_id' and status!='4' $owner ");
+ $all_subscribed_users = pg_query($database, " select view_client.identifier, view_client.users, view_contact_info.last_name, view_contact_info.first_name, view_client.date_of_creation, view_client.value from view_client, view_contact_info where view_client.client='$my_user_id' and view_client.users=view_contact_info.identifier and status!='4' $owner ");
$num_of_subscribed_users = pg_num_rows($all_subscribed_users);

if ($num_of_subscribed_users) {

 445 Bug ReportLowBackend / Core Modification for utf8 Closed2.371 Task Description

Wrong encoding handling (result in garbage character displayed) in

1. If you import iptc(utf8) into PO (utf8).
I need to add '-charset IPTC=UTF8' to the exiftool command in include/import.php at line 149 to make it work

case 'IPTC' :
$exclude_args = "-iptc:all -charset IPTC=UTF8";

2. Incorrect charset in outgoing mail's headers due to the PHP function mail
I need to add function mail_utf8 and change every PHP mail function to mail_utf8 in include/mail.php

function mail_utf8($to, $subject, $message, $header) {
$header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";
mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header);

then change every if (!mail($user_data['email'], $subject, $message, $headers))
to if (mail_utf8($user_data['email'], $subject, $message, $headers))

446Bug ReportLowBackend / Corelocation search always return nothing in Advanced Searc...Unconfirmed2.37 Task Description

Only location in advanced text is not work, others works fine.

I can't find the meaning of ||| by google. But I change ||| to || in file search.text.advanced.php at line 172

$sql_search_string['location'] = build_sql_search_string($keywords['location'], "(||||view_location.state||");

and change view_location all columns NULL value (if any) to '' by sql command, then it seems work.

Here is the sql command to change view_location

create view view_location as
select location.identifier,,,
COALESCE ( (select value from state where state.identifier=location.state), '' ) as state,
(select value from country where as country,
users, last_modified_date,
latitude, longitude, private
from location;

 447 Bug ReportLowTranslations Chinese translation Closed2.37 Task Description

Thanks for this great project. Attached are the Traditional Chinese translation and Simplified Chinese translation, please kindly add them to your next release.


 448 Bug ReportLowBackend / Core How to specify socket at installation if more than one  ...Closed2.372 Task Description

Hi all!

What a nice project! I am very eager to get this up and running. I am trying to set up the current version of Photo Organizer on my Synology NAS and had to install a separate ipkg version of postgres to be able to do "createlang" at the installation step (the "native" version seems to lack some things).

I now have two postgres instances running, the native one on port 5432 and socket /tmp/.s.PGSQL.5432 and the new one on port 5433 and socket /tmp/.s.PGSQL.5433. I can connect to both at the same time on the CLI and with phpPgAdmin using either the socket or, but not at all with Photo Organizer. I get this error:

"Database connection failed; Are credentials valid?"

My "config_site.php" has:

$db_dsn = "host= port=5433 dbname=po_db user=po_user password=passwordgoeshere";

I have tried without the host and port specifications and with my postgres user as well. My "pg_hba.conf" is set to prompt for "password" for all connections.

Is there a problem in the code with regards to multiple sockets on a single machine? How can I move forward?

464Feature RequestLowBackend / CoreAdd support for "adult" filtersNew2.371 Task Description

Users would ahve to explicitly enable "adult" content in order for that to show up in searches, rss feeds, etc etc.

Need to work through use cases of this more carefully.

 465 Bug ReportLowRendering CSS flaw?? Closed2.376 Task Description

Hi Solomon

I put a screenshot. Did you ever notice that? Have it in Firefox and Chromium Browser. Didn't check others. Guess, there has to be a CSS setting to be adjusted.

 583 Bug ReportLowBackend / Core Missing equals sign to set font=red for unwriteable ima ...Closed2.37 Task Description

install.php, line 887

print "<h4><font color\"red\">The image repository '$image_repository_path' is not present or not writable by webserver.  Please ensure the <i>\$image_repository_path</i> setting points to a valid directory.</font></h4>\n";

Should be font color=\"red\"


 384 Bug ReportCriticalDatabase PO does not create database tables on remote PostgreSQL ...Closed2.365 Task Description

everything looks fine until the PO's setup script trys to import the tables to the pgsql server. I am unable to proceed with the setup. No documentation for remote pgsql server only local server. po_user is able to connect manually but not install.php is not able to.

 410 Bug ReportCriticalInstaller Password displayed instead of database during install w ...Closed2.36 Task Description

If attempting to run "install.php" without a language, then the output includes the line:

"su - postgres -c "createlang plpgsql <password>"

<password> is the password, unmasked. It should be <database>.

The problem was a single "=" instead of a double "=". I have attached a diff file with the fix. The line numbers seem off though, compared to what grep says.

 387 Bug ReportHighJavascript Internet explorer 7 and add keywords Closed2.361 Task Description

There is a problem with javascript (I suppose) in ie7 when I go to add the keywords (photo.add.php?folder=3).

 389 Bug ReportHighBackend / Core cannot edit any photo Closed2.361 Task Description

When i try to edit any photo (click on album name, then the photo i want to edit, choose 'edit') - i.e. add keyword - after all the modifications are done, click on 'Save changes' and nothing appens. Reading the log i've found:
[error] [client] PHP Fatal error: Call to a member function delete() on a non-object in /var/www/html/po/photo.edit.2.php on line 175, referer: http://localhost/po/photo.edit.php?photo=1&album=

Tried on a fedora core 8 and debian testing (pgsql 8.2.9, php 5.2.6)


 392 Bug ReportHighUser Interface Edit on a single photo fails Closed2.362 Task Description

Select a single photo from an album and hit the 'edit' button at the bottom. URL is now:


change info in the fields, add new tags etc... Hit 'save changes'.

Get back a blank response (HTML source is empty). URL is now:


Go to the photo page, refresh if necessary, edits have not been saved.

Workaround: select a single picture and use the 'Bulk Update' with that picture. Works.

Note - on the Bulk Update page the fields all have a checkbox for you to mark the changes you want. On the photo.edit.php page there are no checkboxes...

Very recent apache2/postgres/ubuntu installation, seems to happen for all users.


 405 Bug ReportHighUser Interface mail.php not included by subscription.add.php Closed2.36 Task Description

subscription.add.php doesn't include the mail.php include, and so fails to send client notifications. Adding:

include_once "include/mail.php";

after the other includes fixes this.

 430 Bug ReportHighJavascript BASE tag not working properly with Internet Exporer Closed2.36 Task Description

as of this writing, it works with a fully-patched IE8 for <a href> links, but stuff specified in javascript (eg location.href = or location.assign()) doesn't respect the BASE HREF tag at all.

This is a fundamental IE bug.


and also

At the moment, this breaks a few buttons in PO only -- list/slide view, and edit/delete buttons -- all on the photo view page.

Not sure how to go about working around this, except to not use pretty URLs...

 435 Bug ReportHighBackend / Core Security problem: world readable files in /tmp (and may ...Closed2.363 Task Description

I've noticed that in various situations, Photo Organizer creates files in /tmp.
These have loose permissions due to an inadequate umask.

What's the point of Alice making her pictures private, so that Bob can't
see them, if Bob has a shell account on the box and can see Alice's
data as it passes through /tmp?

My /var/lib/photoorganizer-data directory behaves the same way.
Everything under that is rwxr-xr-x or rwxr--r--.

The data is correctly owned by the apache user account (www-data
in my installation) but files should should be rw-------,
and directories and rwx------.

Is this something that can be done globally with PHP or some Apache2
umask setting?

 378 Bug ReportMediumBackend / Core not a bug, need a hint Closed2.364 Task Description

Need a hint or suggestion onconfiguration

My previous (working) setup was

po on ubuntu workstation
database on ubuntu workstation
repository on ubuntu server

After a new setup of the workstation and migration of the database my current setup is

po on gentoo workstation
database on ubuntu server
repository on ubuntu server

this is not working because

on ubuntu systems www is owned by www-data with id 33:33
on gentoo systems www is owned by apache with id 81:81

my problem is, how to make the repository available to the gentoo-apache without changing the file permissions on the ubuntu server?

As I write this, I get the idea to ask nfs documentation if there is something to tweak.

Anyway, hints apreciated

397Feature RequestMediumImportImport of metadata from programs like Raw TherapeeUnconfirmed2.367 Task Description

Some programs like Raw Therapee creates a file to store all metadata to convert a raw file to a jpg file. To repeat the convert process (with or without slightly differences) it would be nice if I'm able to store such metadata with variants at the side of the original picture.

From other programs that storing data in a database, it would be possible to read out the data from the DB and storing metadata into xml-files and backwards.

 404 Bug ReportMediumUser Interface $user_display_string undefined in subscription.add.php Closed2.36
 406 Feature RequestMediumBackend / Core resource password storing Closed2.363
 412 Bug ReportMediumDatabase Recursive redundancies make it impossible to restore an ...Closed2.367
 426 Bug ReportMediumUser Interface Cross Customer Relations Closed2.362
 374 Bug ReportLowWeb site function site_display_random_photos Closed2.364
 375 Bug ReportLowUser Interface Missing Localization Closed2.36
 377 Bug ReportLowBackend / Core Error while rotating pics Closed2.361
 379 Bug ReportLowUser Interface Delete a picture from preview page moves me to trash Closed2.363
 380 Bug ReportLowUser Interface Another one Closed2.367
381Feature RequestLowUser Interface'last X photos'Unconfirmed2.362
 382 Feature RequestLowBackend / Core Comments Closed2.362
 383 Bug ReportLowImport Replace Master option on add new version is broken Closed2.361
 385 Bug ReportLowBackend / Core Cannot edit a photo. Memcache error in photo.edit.2.php Closed2.363
 386 Feature RequestLowBackend / Core CMS support such as Drupal Closed2.361
 388 Bug ReportLowImport Watermarking source bug Closed2.362
390Feature RequestLowBackend / Coregps data in a spatial enabled database?Unconfirmed2.367
 391 Feature RequestLowInstaller Have installer optionally email/contact PO developers Closed2.361
393Feature RequestLowBackend / CoreUse GPS timestamp when importing, if present.New2.361
 394 Bug ReportLowBackend / Core Store per-folder sort order on a per-user basis. Closed2.362
395Feature RequestLowBackend / CoreConvert more pages to a POST/REDIRECT/GET output.New2.36
 396 Bug ReportLowBackend / Core changing permissions Closed2.362
 398 Feature RequestLowBackend / Core Generate RSS feeds Closed2.362
 399 Feature RequestLowBackend / Core Create fake "FTP" server Closed2.363
 400 Feature RequestLowBackend / Core Shopping cart infrastructure/integration Closed2.36
 402 Feature RequestLowBackend / Core Practical way to bypass e-mail portion of registration Closed2.362
Showing tasks 1 - 50 of 448 Page 1 of 9

Available keyboard shortcuts


Task Details

Task Editing