- Added _process_upload() to handle upload file validation with Kohana.
- Added _add_item() to handle item creation and validation with the item model (and logs).
- Removed these pieces from add_photo(), which is now rather Uploadify-specific.
- Used $_FILES to get filename instead of assuming it's substr(basename($tmp_name), 10).
- No net functional changes - works just like before.
- Added code around event calls in uploader to add Uploadify-specific JS to update the inputs.
- Removed Uploadify JS from tag_event. Now it's uploader-agnostic.
- Refactored tag_event autocomplete code (no functional changes).
- added system::mark_file_for_delete to be called to mark a file
- added system::delete_marked_files to be called at shutdown to delete the list
- amended system::temp_filename to, by default, add the temp name to the list
- updated a few other places in code where this should be used
- legal_file - added sanitize_filname() to sanitize photo/movie filenames.
- admin_watermarks - revised add() to use new function.
- item model - added _process_data_file_info() to validate the data file, get its metadata, and sanitize the item name.
- item model - revised save() for new items to use _process_data_file_info *before* the slug is checked.
- item model - revised save() for updated items to use _process_data_file_info.
- item model - revised save() for updated items to sanitize name if changed.
- uploader - removed call to smash_extensions (item model does this when it calls sanitize_filename).
- Legal_File_Helper_Test - added unit tests for sanitize_filename.
- Item_Model_Test - revised existing unit tests based on changes.
- Item_Model_Test - added new unit tests for names with legal but incorrect extensions.
- Averted take over by HAL with fix #2001...
- Added get_types_by_extension function, which is a merged version of get...types_by_extension functions (similar to get_extensions).
- Added optional extension argument to get...extensions functions similar to get...types_by_extension functions.
- Added unit tests. Now, every legal_file function has one.
- Restructured helper file to include caches.
- Added array_unique to get...types (derived from get...types_by_extension, which can be many-to-one).
- Edited server_add, uploader, and item model to use new functionality.
Squashed commit of the following:
commit 13dbd3515b
Merge: f0f094c97400b7
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 30 20:33:02 2011 -0600
Merge branch 'master' of https://github.com/gallery/gallery3 into rawphoto
commit f0f094c3f7
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 30 20:22:49 2011 -0600
Explain the conditional rename in item::save() with a comment.
commit 1b3a6b85c1
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 30 18:29:34 2011 -0600
Improve the comment explaining why the data_file extension is important.
commit c3e8c1e3b5
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 30 18:12:56 2011 -0600
The data_file field is public, so we don't need to supply an accessor method.
commit 2375a02e2c
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 30 16:40:55 2011 -0600
Change the signature of system::tempnam to something more appropriate for Gallery.
commit a8ca9dcf9e
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 30 16:10:06 2011 -0600
Change the name of the extensions helper to legal_file.
commit 7e61a01a96
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 30 16:08:49 2011 -0600
Change the name of the extensions helper to legal_file.
commit 4c2b2ebd3f
Author: Chad Parry <github@chad.parry.org>
Date: Wed Apr 27 20:52:35 2011 -0600
Remove a newline at the end of the file that I accidentally introduced.
commit 6d564f185e
Merge: 7ff485f4060640
Author: Chad Parry <github@chad.parry.org>
Date: Wed Apr 27 20:35:58 2011 -0600
Merge branch 'master' of https://github.com/gallery/gallery3 into rawphoto
commit 7ff485fa48
Author: Chad Parry <github@chad.parry.org>
Date: Wed Apr 27 20:29:06 2011 -0600
Move the extensions helpers out of the Kohana system directory and into their own Gallery Extensions class.
commit 26585fed03
Merge: 809567fc8f90e8
Author: Chad Parry <github@chad.parry.org>
Date: Sun Apr 24 08:28:39 2011 -0600
Merge branch 'master' of https://github.com/gallery/gallery3 into rawphoto
commit 809567f128
Author: Chad Parry <github@chad.parry.org>
Date: Sun Apr 24 08:10:04 2011 -0600
Expose the data file field.
commit fcb06bf175
Author: Chad Parry <github@chad.parry.org>
Date: Sun Apr 24 00:45:12 2011 -0600
Don't assign to the item->name field if the name is unchanged, because the save method will crash.
commit c6ef706d70
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 23 22:55:59 2011 -0600
Preserve old data files long enough for them to be available to event handlers.
commit 0d6a3a3cfc
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 23 21:19:47 2011 -0600
Create a tempnam substitute that safely creates files with a given extension.
commit e149cf7238
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 23 16:39:25 2011 -0600
Support data files that change their extension and MIME type.
commit 6702104f57
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 23 16:35:00 2011 -0600
Resolve an infinite recursion that happens when the path caches are updated during saving.
commit 944cb72eea
Merge: 567522b5af74d4
Author: Chad Parry <github@chad.parry.org>
Date: Fri Apr 22 14:10:42 2011 -0600
Merge remote branch 'origin/master' into rawphoto
commit 567522bfa0
Author: Chad Parry <github@chad.parry.org>
Date: Thu Apr 21 20:12:32 2011 -0600
Add an event for when a new graphics toolkit is chosen.
commit 31ba081b79
Author: Chad Parry <github@chad.parry.org>
Date: Thu Apr 21 02:06:53 2011 -0600
Add an event that will collect all valid filename extensions.
Squashed commit of the following:
commit 4c2b2ebd3f
Author: Chad Parry <github@chad.parry.org>
Date: Wed Apr 27 20:52:35 2011 -0600
Remove a newline at the end of the file that I accidentally introduced.
commit 6d564f185e
Merge: 7ff485f4060640
Author: Chad Parry <github@chad.parry.org>
Date: Wed Apr 27 20:35:58 2011 -0600
Merge branch 'master' of https://github.com/gallery/gallery3 into rawphoto
commit 7ff485fa48
Author: Chad Parry <github@chad.parry.org>
Date: Wed Apr 27 20:29:06 2011 -0600
Move the extensions helpers out of the Kohana system directory and into their own Gallery Extensions class.
commit 26585fed03
Merge: 809567fc8f90e8
Author: Chad Parry <github@chad.parry.org>
Date: Sun Apr 24 08:28:39 2011 -0600
Merge branch 'master' of https://github.com/gallery/gallery3 into rawphoto
commit 809567f128
Author: Chad Parry <github@chad.parry.org>
Date: Sun Apr 24 08:10:04 2011 -0600
Expose the data file field.
commit fcb06bf175
Author: Chad Parry <github@chad.parry.org>
Date: Sun Apr 24 00:45:12 2011 -0600
Don't assign to the item->name field if the name is unchanged, because the save method will crash.
commit c6ef706d70
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 23 22:55:59 2011 -0600
Preserve old data files long enough for them to be available to event handlers.
commit 0d6a3a3cfc
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 23 21:19:47 2011 -0600
Create a tempnam substitute that safely creates files with a given extension.
commit e149cf7238
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 23 16:39:25 2011 -0600
Support data files that change their extension and MIME type.
commit 6702104f57
Author: Chad Parry <github@chad.parry.org>
Date: Sat Apr 23 16:35:00 2011 -0600
Resolve an infinite recursion that happens when the path caches are updated during saving.
commit 944cb72eea
Merge: 567522b5af74d4
Author: Chad Parry <github@chad.parry.org>
Date: Fri Apr 22 14:10:42 2011 -0600
Merge remote branch 'origin/master' into rawphoto
commit 567522bfa0
Author: Chad Parry <github@chad.parry.org>
Date: Thu Apr 21 20:12:32 2011 -0600
Add an event for when a new graphics toolkit is chosen.
commit 31ba081b79
Author: Chad Parry <github@chad.parry.org>
Date: Thu Apr 21 02:06:53 2011 -0600
Add an event that will collect all valid filename extensions.
by the following rules:
1) An initial dialog or panel load can take either HTML or JSON, but
the mime type must accurately reflect its payload.
2) dialog form submits can handle a pure HTML response, but the mime
type must also be correct. This properly resolves the problem
where the reauth code gets a JSON response first from the reauth
code, and then an HTML response when you reauth and continue on to
a given form -- try it out with Admin > Settings > Advanced.
3) All JSON replies must set the mime type correctly. The json::reply
convenience function does this for us.
4) By default, any HTML content sent back in the JSON response should be
in the "html" field, no longer the "form" field.
The combination of these allows us to stop doing boilerplate code like
this in our controllers:
// Print our view, JSON encoded
json::reply(array("form" => (string) $view));
instead, controllers can just return HTML, eg:
// Print our view
print $view;
That's much more intuitive for developers.