and .


21:57 Ticket #269 (graphics::remove_rule() needs to mark target as dirty) closed by bharat
fixed: Good catch. I've applied it in r20726 Note that you can't use count($status) on ORM calls because that returns an ORM object, not a count of how many items were deleted.
21:57 Changeset [20726] by bharat

remove_rule() should mark thumbs/resizes dirty also. Resolves ticket #269, thanks jstricker!

21:46 Changeset [20725] by bharat

Only run copy_matching_thumbnails_and_resizes() when we're doing an import, else it interferes with thumbnail/resize generation during regular imports

21:42 Ticket #273 (Apply event listener for #gMessage to apply .fn.showMessage() effect when ...) created by thumb70

The organize dialog is the best example of where this is needed.

21:32 Changeset [20724] by bharat

Beautify the error message.

20:54 Changeset [20723] by bharat

Warn users if they have suhosin.session.encrypt enabled that it'll break the uploader

20:16 Changeset [20722] by bharat

Document why we skip the parent state for the root album.

20:02 Changeset [20721] by bharat

Don't provide full-size link if the user can't see the full size
image. There's no security hole here, it's just a bad user

19:57 Changeset [20720] by bharat

After ajax login, just reload the current page.

19:00 Changeset [20719] by bharat

Disable default sorting for performance. (thanks Romain LE DISEZ)

18:56 Changeset [20718] by bharat

Change TINYINT(2) to SMALLINT for compliance (thanks Romain LE DISEZ)

18:52 Changeset [20717] by bharat

Change wording to avoid breaking File_Structure_Test

18:44 Changeset [20716] by bharat

Use a clearer query syntax for deleting extra search and exif records (thanks Romain LE DISEZ)

08:31 Ticket #272 (Uncaught GD Exception, corrupt Jpeg) created by ramis84

I started a gallery2 import yesterday and it stalled after a while when trying to import one specific photo, which seemed to be corrupt. GD seemed to crash, taking gallery3 with it. Here is the logged error entry:

2009-05-09 22:33:52 +02:00 --- error: Uncaught PHP Error: imagecreatefromjpeg() [<a href='function.imagecreatefromjpeg'>function.imagecreatefromjpeg</a>]: gd-jpeg, libjpeg: recoverable error: Corrupt JPEG data: 845 extraneous bytes before marker 0xd9

in file kohana/libraries/drivers/Image/GD.php on line 76

04:42 Ticket #271 (Watermark module should support multiple watermarks) created by jstricker

I've implemented a form of this for thumbnails and resized images; please see the attached files.

If anyone drops these files into an existing Gallery3 Alpha4 installation, it's important to remove your old watermark first. If not, you'll have orphaned entries in your vars table.

Also, please note that the implementation I've provided requires the changes I proposed in ticket 269.

04:33 Ticket #270 (graphics::composite() should allow a configurable pad value) created by jstricker

As it is now, the padding is hard-coded to 10 pixels.

04:29 Ticket #269 (graphics::remove_rule() needs to mark target as dirty) created by jstricker

It seems inconsistent for add_rule and remove_rules to mark items as dirty but remove_rule not to.

I'd propose implementing the method like this:

static function remove_rule($module_name, $target, $operation) {
  $status = ORM::factory("graphics_rule")
    ->where("module_name", $module_name)
    ->where("target", $target)
    ->where("operation", $operation)
  if (count($status)) {
    self::mark_dirty($target == "thumb", $target == "resize");
04:04 Changeset [20715] by bharat

Make the code that copies g2 derivatives more robust if the g2 data file doesn't exist.

03:01 Ticket #268 (Organize: Move Pictures to different Album produces error!) created by zyurph

I have attached the error received.

01:11 Changeset [20714] by bharat

Fix a bug where when we copied over the g2 thumb or resize, we weren't
saving its dimensions to the item.

Also, import originationTimestamp as captured field.

00:13 Changeset [20713] by bharat

Fix a copy/paste typo.


22:28 Ticket #267 (Organize: Using the lasso doesn't scroll) created by tnalmdal
22:26 Ticket #266 (Organize: Scrolling looses selection) created by tnalmdal

If a selection is made, and then the thumbnail panel is scrolled to make additional selections the original selections are lost.

22:22 Changeset [20712] by tnalmdal

Move the thumb_proportion method into Theme_View and set it by default
if the page type is album.
Leave a todo if we ever set up a theme default API

21:59 Changeset [20711] by tnalmdal

Remove quotes and correct typo

21:13 Changeset [20710] by bharat

Sigh.. fix it the *right* way.

21:11 Changeset [20709] by bharat

Oops, add in a missing ] (thanks kb7sei!)

20:18 Changeset [20708] by bharat

Don't try to put g2_stats and g2_size into the view if g2 is not initialized.

19:13 Ticket #265 (Rotate images based on EXIF rotation information) created by bharat

When uploading, if we can figure out the proper orientation, rotate the image accordingly.

19:10 Ticket #264 (G2 Import: copy over the thumbnails/resizes where possible) closed by bharat
fixed: Implemented in r20707
19:09 Ticket #264 (G2 Import: copy over the thumbnails/resizes where possible) created by bharat

Re-use G2 thumbnail/resize files if they have matching dimensions. This will save us from having to run expensive toolkit operations.

19:03 Changeset [20707] by bharat

Usability and performance improvements

Significantly speed up the process by copying Gallery2 thumbnails and
resizes wherever possible instead of regenerating them. This requires
us to figure out the dimensions of the original G2 derivative and make
sure that it matches in some reasonable way.

To allow users to take advantage of this, calculate the optimal thumb
and resize size to set in G3 to match what was used in G2. While
we're at it, give the user some idea of how much data is available in
G2 to import.

17:45 Changeset [20706] by bharat

Fix indentation.

17:17 Changeset [20705] by thumb70

Apply status message display effect to admin theme. Use double rather than single quotes in JS.

16:37 Ticket #263 ("Undefined index: GD Version" in admin/graphics with no GD installed) closed by bharat
fixed: Fixed in r20704
16:37 Changeset [20704] by bharat

Force the 'GD Version' key to exist

16:36 Ticket #263 ("Undefined index: GD Version" in admin/graphics with no GD installed) created by bharat
16:14 Ticket #262 (Organize: Album tree not synchronized on open) created by tnalmdal

If the the album that is opened initially, is more than 2 levels down the corresponding tree branch is not displayed

16:11 Ticket #261 (Organize: Enable Drag from album tree) created by tnalmdal

Currently images can be dragged from the thumbnail panel to the album tree. We need to implement the reverse, be able to drag a tree branch from the tree onto the thumbnail panel or another location in the tree.

15:02 Ticket #260 (gToolbar buttons need title text (or other pop-ups) to explain functions.) created by jezmck

The buttons in the gToolbar need to be explained.

I suggest use of the title attribute as a simple fix.

09:26 Ticket #245 (Add "Activate this graphics toolkit" to Graphics Settings admin) closed by jezmck
worksforme: Appears to be done already.
09:22 Ticket #259 (Sub-Albums must be better distinguished from Pictures) created by jezmck

The dark background isn't enough to obviously distinguish that this item is a album.

I suggest a (fake?) stack of photos from the album be shown, and a count of the number of photos inside.

07:34 Ticket #258 (PicLensLite/JS error in alpha 4) created by amessina

When attempting to use the slideshow, I get the following error in IE 7 & 8, FF, and Konqueror.

Error: PicLensLite.indexFeeds()[0] is undefined
Source File: javascript:PicLensLite.start({maxScale:0,feedUrl:PicLensLite.indexFeeds()[0].url})
Line: 1
07:10 Changeset [20703] by thumb70

Highlight status messages on load, fade them out after a few seconds. Make success green brighter.

06:18 Ticket #257 (Display confirmation message when setting album cover from quick_edit bar) created by thumb70

Unlike rotate, which provides immediate visual confirmation, and delete, which reloads the album page and displays a status message, users do not see any visual feedback when setting album covers.

06:11 Ticket #217 (server_add doesn't understand folder names that are numerical only) closed by tnalmdal
fixed: Fix implemented r20702
06:11 Changeset [20702] by tnalmdal

Fix for ticket #217

05:42 Changeset [20701] by tnalmdal

Fix for ticket #255
2nd iteration

05:29 Ticket #255 (Navigation broken by sort orders) closed by tnalmdal
fixed: Fixed at revision r20700
05:28 Changeset [20700] by tnalmdal

Fix for ticket #255


19:34 Ticket #256 (Uploading files w/out extensions throws an error) closed by bharat
fixed: Fixed in r20699
19:34 Ticket #256 (Uploading files w/out extensions throws an error) created by bharat


2009-05-06 22:35:16 -04:00 --- error: Uncaught PHP Error: Undefined index: extension in file core/controllers/simple_uploader.php on line 52

19:32 Changeset [20699] by bharat

Don't rely on the file to have an extension (or better: don't throw an
error if we can't find one-- just assume its a photo).

19:16 Changeset [20698] by bharat

Don't try to use mb_detect_encoding if the module isn't loaded. Not sure if this is a great solution, but it'll probably cut down on a big class of errors opportunistically

19:01 Changeset [20697] by bharat

Don't do ORM::factory() lookups on non-ints (thanks Romain LE DISEZ)

18:52 Ticket #255 (Navigation broken by sort orders) created by bharat

Item_Model::get_position() was broken by sort ordering in r20325. Well, better put -- it has not worked since we implemented sort ordering and change the order from just being based on ids.

In get_position() we're using a select statement that finds all the items up to the one that we care about, then we count what we got back. But this worked because we could just get all the ids that were smaller than the one we're looking at because the where happens before the count. But now what's happening is that the order happens after the where so if the id is some low number, we're already thrown out a bunch of the children before we get to the ordering phase.

We might be able to make this work with a HAVING clause, but I'm not sure. In Gallery2 we fetched all the ids and iterated them until we found the one we cared about which is slow, but reliable. Search for "highlight" in GalleryTheme?.class.

17:58 Changeset [20696] by bharat

Fix whitespace issues

17:48 Changeset [20695] by bharat

Use lower-case aliases for greater portability (thanks Romain LE DISEZ)


17:39 Changeset [20694] by tnalmdal

Create a thumbnail stack of selected thumbnails for the organize

05:16 Changeset [20693] by tnalmdal

1) Leave an object selected if its clicked.
2) And a 1em left margin to provide more spacing, so the lasso is less inclusive

05:04 Changeset [20692] by bharat

Don't try to use the exif/iptc values if we couldn't extract them cleanly.

04:56 Changeset [20691] by tnalmdal

Improve the selection/drag handling so that drag of a single item
doesn't have to be selected first

01:28 Ticket #254 (Double quotes not handled correctly in module.info parsing and l10n server) created by andy_st

Double quotes of the following message are lost when stored in the outgoing_translations table by the l10n client.

Message from modules/akismet/module.info:
Filter comments through the <a href="http://akismet.com">Akismet web service</a>

andy_st is currently refactoring l10n_client code to pass plural forms around. This refactoring is probably taking care of this issue as well.

01:28 Changeset [20690] by bharat

Allow sorting by Capture Date.

01:19 Ticket #238 (Pull the exif caption and use it as the description) closed by bharat
01:18 Ticket #253 (Import photo capture date from EXIF / IPTC info and display it.) closed by bharat
fixed: Fixed in r20689
01:18 Changeset [20689] by bharat

Grab photo capture date and captions from EXIF/IPTC data.

- Add a "captured" column to the items table.
- Pull the DateTime? EXIF field and put it into the captured column
- Pull the Caption EXIF & IPTC fields and put them into the description

field if there was not already a value there

01:16 Ticket #253 (Import photo capture date from EXIF / IPTC info and display it.) created by bharat

Subject says it all.

01:15 Ticket #252 (include "password reset" events in the log entries) closed by chye-fhut
01:14 Ticket #252 (include "password reset" events in the log entries) created by chye-fhut

keep track of "password reset" attempts via the log entries portion of the admin Dashboard.

01:07 Ticket #251 (include "password reset" events in the log entries) created by chye-fhut

keep track of "password reset" attempts viewable within the admin Dashboard.

00:46 Changeset [20688] by bharat

Add debug log strings with the G2 stack trace when there's a failure in a g2 call.

00:39 Changeset [20687] by bharat

Add a note to update g3 version string

00:29 Changeset [20686] by bharat

Don't throw up a warning if we can't detect whether or not the logs dir is writable.

00:28 Ticket #250 (Handle translation submission errors by translation, not for the whole ...) created by andy_st

Translation submissions ("share your translations" feature) are handled as a monolithic request right now.
If there's something wrong with just one of the translations, the whole request results in a HTTP 400 Bad Request error.

That's bad because we lose a lot of valuable translations that way (all but the one with a problem might be OK).

Since error checks also apply to the source message (HTML validation, verifying the hash value), this does actually affect all translators and all submitted translations, in case they contain a message which has issues in the G3 source code to begin with (e.g. a malformed HTML tag).

Proposed fix:
Handle errors on a message by message basis. For each message, send back a status like "ACCEPTED" , "PENDING", "REJECTED", "INVALID".

Code to make this happen is mostly there already. Mostly, the client code needs to be updated. Only very small changes in the server code are necessary.


20:27 Changeset [20685] by tnalmdal

1) Improved selection processing.
2) Drawer closes if no images or albums are selected

14:45 Ticket #72 (Draw Form does not render a <ul> element.) closed by tnalmdal
fixed: Implemented r20684
14:45 Changeset [20684] by tnalmdal

Fix for ticket #72

04:27 Changeset [20683] by bharat

Show the 'activate gd' button even when there's a warning about missing rotation

04:08 Ticket #249 (G2 Import fails to import site admin group) closed by bharat
fixed: Fixed in r20682
04:08 Changeset [20682] by bharat

Don't fail when trying to import site admin group. Resolves ticket #249

04:07 Ticket #249 (G2 Import fails to import site admin group) created by bharat

Dies with this error:
2009-05-05 20:58:52 -07:00 --- error: Uncaught PHP Error: Undefined variable: group in file modules/g2_import/helpers/g2_import.php on line 124

03:47 Changeset [20681] by thumb70

Usability update: include an "Activate Toolkit Name" button with available toolkits


20:51 Milestone 3.0 Alpha 4 completed
20:42 Changeset [20680] by bharat

draft checklist

16:30 Ticket #124 (Show appropriate EXIF data) closed by tnalmdal
duplicate: Merged with ticket #131
06:25 Ticket #248 (Album name may not end in ".") created by leussink

When I made an album called "Feessies..." the album would be created, photos could be uploaded, but when I click the photo an error would occur as the dots are left out of the URL when clicking the photo. Can be reproduced by making an album ending with a (or a few) dots, uploading a photo and clicking on the photo.

03:58 Changeset [20679] by bharat

Merge r20676 into the A4 release

03:56 Ticket #247 (admin/maintenance throws an error when g2_import is unconfigured) closed by bharat
fixed: Fixed in r20678
03:56 Changeset [20678] by bharat

Return an array from available_tasks() when unconfigured.

Fixes ticket #247.

03:55 Ticket #247 (admin/maintenance throws an error when g2_import is unconfigured) created by bharat

Steps to repro:
1) install g2_import module
2) go to admin/maintenance

03:40 Ticket #246 (Detect input encoding in EXIF/IPTC data and convert it to UTF8) closed by bharat
fixed: Fixed in r20676
03:39 Ticket #246 (Detect input encoding in EXIF/IPTC data and convert it to UTF8) created by bharat

If an image has non UTF8 data embedded in its exif/iptc data we get a database error because you can't ram it into a UTF8 column. Blindly converting to UTF8 won't work either (because it'll mojibake data that's already UTF8). We need to detect and convert when necessary.

03:33 Changeset [20677] by bharat

Merge r20676 from trunk down into the A4 branch

03:30 Changeset [20676] by bharat

Detect input encodings from EXIF/IPTC data and convert to utf-8 as
appropriate. This allows us to switch the exif value column back to
varchar and improves the way that we deal with non-utf8 data in our
embedded EXIF/IPTC data.


05:15 Ticket #245 (Add "Activate this graphics toolkit" to Graphics Settings admin) created by thumb70


11) add "activate this graphics kit" buttons to each of the kits available in the "Graphics Settings" screen, right now people might activate stuff by accident or not know where to click at all.

05:10 Ticket #244 (Running list of IE 6-8 UI and style issues) created by thumb70

IE Issues

- Cancel link falls on next line, should be next to Login button

- Next and last button widths, stacked (all)
- More height on quick edit bar, buttons touch bottom of bar (IE7, IE 7)

- Comment field needs padding between it and fieldset border (IE6)

View Full Size
- Transparency of black not set

- Microthumb transparency doesn't work
- JavaScript? errors

Login Menu
- No bar dividers (content :after not supported in IE 6 and 7)

05:08 Ticket #243 (User should be redirected to the page they were viewing after login, not ...) created by thumb70

Not returned to the page you were viewing after login

05:05 Ticket #57 (make default theme look reasonably good in IE6) closed by thumb70
fixed: No significant issues for A4


23:15 Ticket #242 (Fix name field in the login/password reset dialog) created by bharat


"Login/Password-reset page: The username field is called 'Name', which may be misleading."

23:13 Ticket #241 (Ask for confirmation before deleting) created by bharat

Deleting stuff is scary powerful right now, there's no confirmation and no undo. We need to make that safer.

23:11 Ticket #240 (Don't allow spaces/special characters in short urls) created by bharat


4) you allow spaces and special characters in urls, this causes many links to break when they are used in emails and online messaging systems (stuff like "Sarah's birthday party" ends up like: /g3/index.php/Sarah's birthday party

22:03 Changeset [20675] by bharat

Tag the alpha 4 release.

21:16 Changeset [20674] by bharat

Updated for alpha 4

21:14 Changeset [20673] by bharat

Don't try to make a new photo the album cover unless we can edit the parent album

02:34 Ticket #239 (G2 import fails on PSD image) created by amessina

The importer should skip files it cannot process rather than hang.

error: Uncaught Kohana_Exception: The specified image, /var/www/gallery-3.0-svn/var/thumbs/xxxxxxxx/652162079.psd, is not an allowed image type. in file kohana/libraries/Image.php on line 92


23:03 Ticket #212 (Server Add (200+ images) fails to update number of images in album) closed by tnalmdal
21:52 Changeset [20672] by bharat

Cache the entry in our in-memory map when we map a g2 item to a g3
item in the database. This fixes the problem that the import fails
the first time around because the various groups are mapped in the db
but aren't available in the request.

21:49 Ticket #179 (Don't expose the "name" field to users) closed by tnalmdal
21:47 Ticket #94 (Update jQuery to 1.3.2) closed by tnalmdal
21:19 Changeset [20671] by bharat

Remove some unnecessary blank lines.

21:13 Changeset [20670] by bharat

Mark functions as static

20:49 Changeset [20669] by bharat

Revert r20668; if we call our helper 'gallery' then it interferes with g2_import since it uses the Gallery2 embed interface which loads up G2's Gallery class as well. Grumble.

20:37 Changeset [20668] by bharat

Rename core helper to gallery helper to indicate that it's more of an app-wide helper. 'core' doesn't make as much sense

20:34 Changeset [20667] by bharat

Create item helper and move move_item(), remove_album_cover() and
make_album_cover() functions into it.

20:17 Changeset [20666] by bharat

Update jquery to 1.3.2

20:14 Changeset [20665] by bharat

Move make_album_cover and remove_album_cover out of Item_Model and
into the core helper. Clean up interactions so that when we remove an
album cover we pick a new one, or clean out the old album cover if
there are no other choices.

19:28 Changeset [20664] by bharat

Remove direct call to item_before_delete since r20647 moved it into Item_Model

19:20 Changeset [20663] by bharat

Update README to reflect that JQuery UI Core is actually 1.7.1

19:14 Changeset [20662] by bharat

Change comment style for brevity.

19:14 Changeset [20661] by bharat

Whitespace cleanup.

19:11 Changeset [20660] by bharat

Clean up API to be organized around the functionality it provides, not the feature its provided for.

19:04 Changeset [20659] by bharat

Remove extra whitespace.

18:58 Changeset [20658] by bharat

Fix indentation.

06:34 Changeset [20657] by thumb70

Remove angled ends of edit drawer handle.

03:23 Changeset [20656] by tnalmdal

Add missing return statement

03:08 Changeset [20655] by tnalmdal

Move the drawer to the bottom of the page and compress the thumb grid
when the drawer opens. This way the drawer is never scrolled.


23:32 Changeset [20654] by tnalmdal

Forgot these when i created the make_album_cover method

05:35 Changeset [20653] by thumb70

Set organize messages to use existing gMessage, added album cover message.

05:11 Changeset [20652] by thumb70

Updated to jQuery 1.3.2, needs to be pushed upstream.


15:50 Ticket #238 (Pull the exif caption and use it as the description) created by bharat

If there's an exif caption, use it as the photo description. We won't have anything else in the description anyway.

15:49 Ticket #237 (Drop the extension from the automatically generated photo title) created by bharat

We generate the photo title from the file name. We should beautify that (convert underscores to spaces, etc) and drop the extension from the end.


15:57 Changeset [20651] by tnalmdal

Refactor the creation and removal of the album covers into
make_album_cover and remove_album_cover methods in Item_Model.
Usage: $photo->make_album_cover() $album->remove_album_cover()

03:57 Changeset [20650] by tnalmdal

Change album cover functionality added

01:29 Changeset [20649] by tnalmdal

The delete button now deletes the selected items

00:40 Changeset [20648] by tnalmdal

Reset the parent thumbnail in Item_Model::delete instead of where the
delete was happening. This will insure that it is consistently done
for all deletes and we don't have to remember to replicate the code.

00:29 Changeset [20647] by tnalmdal

Move the module::event("before_item_delete") into the
Item_Model::delete method. This will insure that it will get called
for all events. Currently it is not being called for children of an
album when the parent album is deleted.


21:29 Changeset [20646] by tnalmdal

1) Refactor the ajax calls so that the code is reused across multipl
request types.
2) Enable/Disable the drawer handle buttons depending on the number of
items selcted
3) Image rotation works.

21:26 Changeset [20645] by tnalmdal

Change _adjust_thumb_size to adjust_thumb_size and make public so we
can access if from organize

21:07 Changeset [20644] by bharat

auto install organize module

20:54 Changeset [20643] by bharat

Root album weight is now 1; Organize module is auto-activated; search_record has a key on item_id

08:09 Ticket #236 (Better error handling for ajax request results) created by crazygoogle

Specialy for album creation. If server do return ajax request with HTTP code 500 (as kohana discovered some error) or 504 - timeout GUI doesnt handle it. Album creation dialog is still there and "Add" button is not disabled and clickable, so user just click "Add" few more times causing DB inconsistence.

So expected way of handling error would be rollback all actions made befor error happend and on the GUI close dialog window and put error message on top of the page, where actually successfull result message is showed.

Happends with Alpha3 and with today svn trunk for Alpha4.

03:30 Changeset [20642] by bharat

Ticket #1108 is resolved

03:28 Changeset [20641] by bharat

Update upstream to to r3835 which resolves upstream ticket #1108

svn merge -r20638:20640 vendor/exifer/modified trunk/modules/exif/lib

03:23 Changeset [20640] by bharat

Strip carriage returns from upstream files

03:19 Changeset [20639] by bharat

Updated to r3835


23:02 Ticket #235 (Creating tmp table cause connection timeout in admin/maintenance) created by crazygoogle

I have about 7782 pictures and albums in the "items" table. Every time i try to go to admin/maintenance page i get 504 timeout from the webserver. There is big

INSER INTO search_records(item_id)(SELECT items.id FROM items LEFT JOIN search_records....

SQL query that takes every time my DB load very high and takes few minutes on mysql 5.1.34 to finish it, so that php running time goes out.

Is there any real need to do that on maintanence page ? Can it be optiomized somehow ?

Currently because of error with mkdir i got few albums with same name and its cause problems with finding parents for albums, so i would like to rebuild images from maintanence page. But i cant go so far to get this page showed in my browser.

Anyway there is something bad in creating albums with errors. Once something goes bad, finding parent with "left" and "right" doesn't work properly anymore.

20:30 Changeset [20638] by tnalmdal

Another iteration of the organize module:
Rearrange the layout as per discussion with thumb, start the drawer
functionality. Still to do...
1) Add the processing behind the buttons on the drawer handle
2) Enable the drawer buttons when something is selected
3) Create a copy of the thumbs for the drawer
4) Add the bulk editting functionality to the drawer

09:30 Ticket #234 (Rotate keeps showing "loading" image in alpha 3) created by leussink

When I press the rotate 90 degrees UI button (whilst in a gallery) after hovering over the photo the loading image shows up, but the photo is not rotated. The loading image just keeps on showing.

05:58 Ticket #233 (Add batch progress and status message to add photos dialog) created by thumb70

Uploading a batch of photos with SWFUpload provides status for individual upload status but not for the batch as a whole. It'd be helpful to display the batch's overall progress as a bar or textual representation, i.e. "4 of 21" complete." A status message upon error or completion of the batch should also be displayed.

Currently users must scroll to the end of the selected list to check status.

Looks like SWFUpload 2's uploadProgress and uploadComplete events can provide the information.

05:36 Changeset [20637] by bharat

Update value size to 1536 chars because I had an image which went over 1024 chars

04:07 Changeset [20636] by bharat

Add a section on patches.

04:06 Changeset [20635] by bharat

Fix a typo.

04:03 Changeset [20634] by bharat

Revert 20633; this shouldn't go into the vendor branch, it should only be in trunk

04:01 Changeset [20633] by bharat

Fix an edge case with GPS data handling that results in this error:

fread: Length parameter must be greater than 0 in file modules/exif/lib/makers/gps.php on line 197

Filed upstream as:


03:58 Changeset [20632] by bharat

Fix an edge case with GPS data handling that results in this error:

fread: Length parameter must be greater than 0 in file modules/exif/lib/makers/gps.php on line 197

Filed upstream as:



22:17 Changeset [20631] by bharat

Drop the item_id key; we don't need this level of strictness in most
cases and it slows down inserts.

22:02 Changeset [20630] by bharat

Change the value column to varbinary so that we can handle the occasional binary data embedded in places like the EXIF caption field

21:03 Ticket #232 (Detect / allow configuration of graphics & movie toolkits) created by bharat

Right now we depend on your toolkits being in a common location. If they're not, you get an error like:

Uncaught Exception: @todo MISSING_FFMPEG in file core/helpers/movie.php on line 107

We need to detect this situation and put up a warning, and provide a settings page to configure movie/image toolkits.

07:18 Changeset [20629] by bharat

Fix status math.

06:53 Changeset [20628] by bharat

Extract as many records as we can in a second

06:52 Changeset [20627] by bharat

Add a key on item_id so that our query to find missing exif records is efficient


08:44 Changeset [20626] by paour

Fixed release date format.
Changed method for detecting ImageMagick? (it was stalling on Windows)

08:07 Changeset [20625] by paour

Updated signature.

07:08 Changeset [20624] by paour

2009-04-24 Pierre-Luc Paour <gallery@…> (1.5.1-b44)

  • Signed with new cert, expiring in 2010.
  • Cleaned up dirty detection (the alerts when trying to quit and log out should now be accurate.
  • Fixed ImageMagick? detection on Windows.
04:55 Changeset [20623] by thumb70

Fixed typo in comment, added docblock.

03:47 Ticket #8 (Bulk Editing (including rearrange)) closed by tnalmdal
fixed: Close this and continue it in #231
03:46 Ticket #231 (Organize needs the editing component) created by tnalmdal

The rudimentary organize functionality has been implemented (photos and albums) can be moved around withing an album or into an album on the directory tree.

Still to do:
1) Allow albums to be dragged of the album tree and onto the thumbnail grid.
2) edit drawer and contents:


00:34 Ticket #230 (Adding groups fails with "Undefined variable: form") closed by bharat
fixed: Fixed in r20622
00:33 Changeset [20622] by bharat

add_group() was not getting $form before using it.

00:33 Ticket #230 (Adding groups fails with "Undefined variable: form") created by bharat


23:58 Ticket #229 (Database passwords with $ in them break database.php) closed by bharat
fixed: Fixed in r20621
23:58 Changeset [20621] by bharat

Use single quotes so that user data containing $ doesn't suffer
variable interpolation. Fixes ticket #229.

23:57 Ticket #229 (Database passwords with $ in them break database.php) created by bharat

We use double quotes in database.php so if your password has a $ in it, we do variable expansion on it. Bad!

21:47 Ticket #228 (Server Add fails with zero divide if not eligible files) closed by tnalmdal
21:47 Ticket #228 (Server Add fails with zero divide if not eligible files) created by tnalmdal

Fixed in r20620

21:42 Changeset [20620] by tnalmdal

1) Change the processing so the server_add start task can return done = 1
if there are no eligible files selected
2) Change the javascript to handle this condition and show a pop up

20:48 Changeset [20619] by tnalmdal

1) Move the progress bar to a dialog
2) Provide status and error messages back to the user

14:57 Ticket #227 (G2 Import hangs) created by amessina

Being extremely excited about the future of G3, and equally excited about getting my G2 photos out of my embedded eGroupWare/Gallery2/PostgreSQL setup into a G3 test environment, I svn co'd the G3 trunk about 30 minutes ago, did the quick setup and attempted to import photos from my G2 install.

The G2 import just hangs there, no apache or php errors in the httpd logs and I see nothing starting to populate in the var directory.

Granted, I have: "10752 items total" in G2, I figured it would take a while.

I've attached a screenshot of what it looks like.

06:49 Ticket #199 (flv movies displayed with improper height) closed by bharat
fixed: Fixed by auto-hiding the toolbar. I couldn't find a way to make the div larger w/out stretching the movie. r20618
06:48 Changeset [20618] by bharat

Auto-hide the control toolbar so that it doesn't obscure the movie any longer than it has to. This resolves ticket #199.

05:29 Ticket #226 (Album cover doesn't propagate all the way up) created by bharat

Create album A, containing album B. Add a photo to album B. Album B now has an album cover, but album A doesn't. Album B should become the album cover for album A.

04:53 Changeset [20617] by tnalmdal

Implement a cancel button so that if an organize task is paused, it
can be cancelled.

04:53 Changeset [20616] by bharat

Fix bug in the item_before_delete() event handler

03:40 Ticket #58 (refine album grid display) closed by thumb70
03:40 Ticket #58 (refine album grid display) reopened by thumb70
03:39 Ticket #58 (refine album grid display) closed by thumb70
wontfix: Addressed vertical alignment long ago. Discussed a few jQuery effects to slide metadata up, as seen here http://buildinternet.com/2009/03/sliding-boxes-and-captions-with-jquery/, but decided against it.
03:36 Ticket #171 (Change .gItem CSS width to proportionally match thumbnail width changes) closed by thumb70
fixed: Addressed in r20603. Could use a few tweaks on the theme size, but this will do for now.
03:04 Ticket #24 (Security audit of all I/O) closed by bharat
fixed: Audit complete. Tasks are filed. Closing this.
02:56 Ticket #180 (Session drops regularly) closed by bharat
fixed: I've disabled regeneration which should resolve this issue.
02:55 Ticket #225 (G2 Import: support more sort orders) created by bharat

keywords, originationTimestamp and random are missing.

02:54 Ticket #224 (G2 Import: transcode alternate movie types into flash video) created by bharat

G3 supports flash video only. Provide some mechanism for letting users know that their movies aren't getting imported and/or just transcode the movies for them (probably insanely expensive..)

02:51 Ticket #223 (G2 Import: import G2 keywords and tags module data) created by bharat

Do something sane about G2 keywords and data from the 3rd party tags module and get those into G3 tags.

02:50 Ticket #222 (G2 Import: import origination timestamps from g2) created by bharat

Preserve the "photo capture date" from G2 and import it into G3.

02:49 Ticket #221 (G2 Import: album highlights) created by bharat

Preserve album highlights when importing data sets from G2

02:47 Ticket #12 (Migration from G2) closed by bharat
02:46 Changeset [20615] by bharat

Remember to import album highlights

02:33 Changeset [20614] by bharat

Use https if it's appropriate

01:32 Changeset [20613] by bharat

Delete any comments associated with deleted items

00:49 Changeset [20612] by bharat

Disable automatic session id regeneration because ajax requests cause it to bomb.


23:23 Changeset [20611] by tnalmdal

1) Fix index overflow issue.
2) Fix where the microthumb was removed even if the move was cancelled

22:20 Changeset [20610] by tnalmdal

Remove the negative weighting for albums. The are now positioned
based on the insertion order.

19:51 Changeset [20609] by bharat

Mark a task as stalled if it's > 15 seconds old (because tasks should ping back much faster than that)

19:50 Changeset [20608] by bharat

Throw an exception in graphics::resize() if the input file is empty

19:49 Changeset [20607] by bharat

Minor cleanups:
* Delete g2_map records when the corresponding item is removed.
* Improve text on g2 import settings page
* Minor comment fixes.

19:32 Changeset [20606] by bharat

Set the default logging to 'notice' to make it more user friendly.

16:09 Changeset [20605] by tnalmdal

Dragging from the thumbgrid to an album in the tree now works.
Refactored the javascript to minimize duplication.

14:05 Changeset [20604] by tnalmdal

Make the scaling based on the target thumbnail size that was specified
at thumbnail creation. This will remove the upscaling effect

05:31 Changeset [20603] by thumb70

Added method to determine proportion of current thumb_size to the default, 150. Use this in the the default theme, or any other, to reduce the size of CSS widths and heights in albums, including .gItem.

04:20 Changeset [20602] by tnalmdal

Refactor the move functionality into a helper function so it can be
called from organize


18:11 Changeset [20601] by tnalmdal

1) Disable drag when the rearrange task is running
2) Add the album name to the task name

14:41 Changeset [20600] by tnalmdal

Remove duplicate word from status message

14:15 Changeset [20599] by tnalmdal

The pause button now works.

06:04 Changeset [20598] by tnalmdal

Added progress bar and pause and continue functionality to rearrange

04:21 Changeset [20597] by bharat

Highlight: we can now import photos and movies.

* Don't store the g2->g3 map in the task; it gets too large and

overflows the context column.

* Import album sort orders
* Try to treat duplication in the summary and description fields


* Move the g2 import config page under the Settings menu
* Clean up the settings page slightly and send users to the

maintenance page to do the actual import (not an optimal UI, but it

04:17 Changeset [20596] by bharat

Theme the cancel-all link like the remove-all link.

04:16 Changeset [20595] by bharat

Make the task iteration duration 1 second instead of 500ms.

03:12 Changeset [20594] by bharat

Add a key on item_id for the search_records table so that when we left
join it against the item table to find missing ids it's fast.


18:47 Changeset [20593] by tnalmdal

Remove debugging statements

18:44 Changeset [20592] by tnalmdal

1) Add rearrange processing as a task
2) Improved drop location determination
3) Add a revert if dropped on an invalid target
4) Add a popup dialog to display ajax errors
Still to do progress bar, pause/continue and status messages

13:36 Ticket #220 (Start / Stop Translating Exception) created by d1p

On A fresh G3 alpha 3.

when doing Start / Stop Translating i get the following error (which doesnt bother translating)

in my opinion this resaults from a worng link redirected :
* http://www.domainname.com/sites/gallery3/index.php/sites/gallery3/index.php
instead of
* http://www.domainname.com/sites/gallery3/index.php

13:32 Ticket #219 (l10n: Translation Right to left UI Support) created by d1p


I Translated G3 a3 to Hebrew which is Right to Left language, I noticed several Issues.

1. Wrong Indentation (To Left insted of To Right)
2. When Using mixed Language Lines the text is not presented currectlly (sample available in the image LanguageRTL-SwitchDir?2.JPG)
those two issues can be solved by using the dir=rtl html attrib.

* please note that not all English words shoould be translated (eg : ImageMagik?) and english word in rtl language would scramble the line words order.
* other issue to notice is some fields dir should not be touched during rtl adjustments (eg : Log Viewer) - it is nativlly containing english text and there is no reason to format it otherwise.


09:12 Ticket #218 (SWF Uploader not working with HTTPS) created by cwolfhugel

When using HTTPS (on IPv4 or IPv6, Apache/mod_ssl or Apache/mod_gnutls), the Flash uploader fails to upload any image. The display box just indicates "Server error".

A tcpdump shows that the SSL connection does not even finish its handshake. See attached pcap file or following text:

19 0.511815 TCP 1657 > https [SYN] Seq=0 Ack=0 Win=65535 Len=0 MSS=1460
20 0.530957 TCP https > 1657 [SYN, ACK] Seq=0 Ack=1 Win=5840 Len=0 MSS=1460
21 0.531005 TCP 1657 > https [ACK] Seq=1 Ack=1 Win=65535 Len=0
22 0.531345 TLS Client Hello
23 0.550770 TCP https > 1657 [ACK] Seq=1 Ack=103 Win=5840 Len=0
24 0.551831 TLS Server Hello
25 0.552092 TLS Change Cipher Spec
26 0.552116 TCP 1657 > https [ACK] Seq=103 Ack=86 Win=65450 Len=0
27 0.570567 TLS Encrypted Handshake Message
28 0.571385 TLS Change Cipher Spec, Encrypted Handshake Message
29 0.580836 TCP 1657 > https [FIN, ACK] Seq=146 Ack=123 Win=65413 Len=0
30 0.603000 TCP https > 1657 [FIN, ACK] Seq=123 Ack=147 Win=5840 Len=0
31 0.603057 TCP 1657 > https [ACK] Seq=147 Ack=124 Win=65413 Len=0


18:42 Changeset [20591] by tnalmdal

Simplify the handling of moves to the beginning or end of the album

18:33 Changeset [20590] by tnalmdal

Continue javascript code cleanup

18:02 Changeset [20589] by tnalmdal

Restructure the java script code (i.e. separate complex callbacks or
objects into variables)

16:54 Ticket #217 (server_add doesn't understand folder names that are numerical only) created by bharat


I wonder if we're storing the names in an associative array; that may cause PHP to try to reduce it to a numerical index instead of treating it like an associative key. Perhaps casting it to a string would fix that?

07:05 Changeset [20588] by andy_st

Fix UI string

03:51 Changeset [20587] by tnalmdal

- Improve the movement of the placeholder
- Make sure the thumbgrid will utoscroll when dragging
- And an ordinal attribute to the thumbnail when generated, based on the
current sort order of the album.

00:58 Changeset [20586] by bharat

import album owners and be a little smarter about summary/description duplication


23:52 Changeset [20585] by bharat

Redirect item/NN requests to absolute urls

23:10 Changeset [20584] by bharat

Properly import groups and put users into groups. Mark admin users

23:07 Changeset [20583] by bharat

whitespace cleanup

23:06 Changeset [20582] by bharat

Add user::lookup_by_name()

20:36 Ticket #216 (Folder with numerical-only names appears as "0") created by grubshka

When adding images from server, if some directories have only numerical characters in their names (for example "20090204"), they will appears as "0", "1", etc.

04:27 Changeset [20581] by bharat

Track what we've already imported in the G2_Map_Model and keep it
around in the task so that on subsequent import runs we don't try to
reimport stuff we've already pulled in. This also gives us a mapping
so that we will be able to translate old G2 urls into the hot new G3


20:17 Changeset [20580] by tnalmdal

Change how mutiple requests for micro thumbnails is handler.
handle the edge cases where the draggable is dropped on the micro
thumbnail panel

14:33 Changeset [20579] by tnalmdal

Fix typo that was causing an error

10:02 Changeset [20578] by bharat

Make the update_index task continue until it has used half a second
before stopping. This is *way* more efficient than just doing 2 per

09:50 Changeset [20577] by bharat

Be graceful if exec() is disabled

09:48 Changeset [20576] by bharat

Don't show the 'no toolkit found' message unless we actually didn't find one

09:21 Ticket #215 (Filter out certain Unicode characters in l10n server) created by andy_st

Certain Unicode characters can pretty much destroy the user interface / UI flow. E.g. by forcing a certain directinality or with some control characters.

Filter out certain unicode codepoint ranges (e.g. most control characters) before saving translation submissions.

09:19 Ticket #126 (L10n server side security related validation of all input) closed by andy_st
fixed: (mostly) fixed. filtering out all but some whitelisted HTML. allowing for b, i, strong, a tags. a tags with free-form URLs require moderation. ensuring that submissions are utf-8. TODO: - add moderation UI on GMC - filter out disallowed unicode chars (e.g. most control characters)
09:16 Ticket #149 (l10n client / server - Manage resubmissions) closed by andy_st
fixed: Fixed. Resubmissions are now counted as votes. Each uid can only vote for one translation per string/locale. We still need to add a UI on GMC to let users vote. Right now, the only way to vote is to submit the translation. So most translations will only have 1 vote, by the original translator.
09:05 Changeset [20575] by bharat

Import albums. Just the basics; misses permissions and a lot of
metadata, and doesn't import photos yet.

02:20 Ticket #203 (l10n client dialog pre-interpolates variables for zh_TW) closed by andy_st
fixed: Fix in r20574.
02:19 Changeset [20574] by andy_st

Fix for ticket 203: Don't interpolate the translation string for the l10n client translation input field

02:06 Changeset [20573] by tnalmdal

Another iteration in the quest for the perfect organize module. At
this point you can select microthumbs, by clicking on them, ctrl-click
will add to the selection. You can select by drawing a lasso around
images. Holding the ctrl will add the lassoed thumbs to the selection.
Once slected, thumbs can be dragged and dropped within the current
At this point no background processing takes place

02:04 Changeset [20572] by andy_st

Fix i18n for "Logged in as" string


00:20 Changeset [20571] by tnalmdal

Add the ui.jquery selectable plugin by copying the new vendor version to trunk

00:14 Changeset [20570] by tnalmdal

Add the ui.jquery selectable plugin


14:08 Ticket #214 (Move the exif data display to the info block) created by tnalmdal

The button to show the exif data can get lost in the sidebar. The idea is to move it to the be contained in the info block so it is more visible.

Maybe add another call back that allows modules to provide information for the info block?

07:23 Changeset [20569] by bharat

Very early round of Gallery 2 import code. It can import users (with
the wrong password) and import groups, with a basic UI. Needs a ton
more work.

07:18 Changeset [20568] by bharat

Provate a way to set the hashed password directly


21:53 Ticket #213 (User Module Permits Deletion of Built-In User Accounts) created by andy_st

Issue Overview
The "user" module allows an administrator to delete their own account and other built-in user accounts including "admin" and "guest". It is possible to render the application unusable after deleting all accounts.

Remediation Procedure
The Gallery application should require that at least one account be assigned to the "admin" role and one account be assigned to the "guest" role at all times. This would prevent a user from inadvertently making the site inaccessible.

- GDS security assessment report, Feb-2009, issue 13


18:27 Changeset [20567] by jhilden

added icons to permissions UI

17:52 Changeset [20566] by jhilden

changed order of form fields in photo and album forms so that the confusing "name" field is not on top anymore
changed "name" label to "Filename" for photos and "Directory Name" for albums

06:41 Changeset [20565] by bharat

Fix indentation.

02:53 Ticket #212 (Server Add (200+ images) fails to update number of images in album) created by trbailey

After successfully adding images via server add (over 200 images) the album does not show the added images, even after forcing a browser refresh. Navigating to the last image and selecting "next" corrects the issue.

02:31 Ticket #211 (Server add over 200 images hangs browser) created by trbailey

I think this is a bug, or at least an issue. When needing to add large numbers of images to an album or adding multiple nested albums the standard javascript/Ajax add panel is limited by the number of files that can be selected at one time in the client OS. I believe this is a command length issue on the client OS, not necessarily a bug but it prevents selecting an entire album for adding using the standard interface. I suspect this is a known limitation.

The obvious second choice is to upload an entire album or album tree and use server add. However, server add seems to hang the client browser on more than about 200 images. I've spent about 3 hours messing with this and there could be an alternative but I haven't discovered it. I wouldn't call this trivial but it's not critical so it get minor priority.

Testing url: http://www.trbailey.net/g3
Admin pass is gallery3, server add album bizarre is the issue.


05:40 Changeset [20564] by thumb70

Fix up microthumb grid, changed unselect to deselect all, white space fixes.

Note: See TracTimeline for information about the timeline view.