Commit Graph

61 Commits

Author SHA1 Message Date
shadlaws
ed20798b99 #2057 - Revise item name and slug validation - backslashes, refactor, error messages.
- disallowed backslashes in item validation.
- refactored the validation logic in the item model a bit.
- added no_backslash error messages in edit album/photo/movie forms.
- fixed error messages in add album forum (some missing, some text different from edit)
- added unit tests
- updated to v58 to correct any existing backslashes in item names
2013-03-12 12:14:34 +01:00
shadlaws
de3f9edb88 Follow-on to #1935 - Ensure ffmpeg is executable, remove possible doubled "/".
- movie::find_ffmpeg - made it use is_executable instead of just file_exists.
- system::find_binary - removed possible doubled "/" in paths.
2013-03-09 15:59:23 +01:00
shadlaws
f212f6a794 #2003 - Add admin/movies screen.
Added admin/movies screen analogous to the admin/graphics screen so the user can:
- see how FFmpeg is configured (path and version, similar to toolkits in admin/graphics)
- get some instructions on how to install FFmpeg if not found
- change the movie_allow_uploads setting
- ask Gallery to rebuild their movie thumbs
Specifics:
- admin_movies, admin_movies.html (new) - new Movies admin screen
- ffmpeg.png (new) - logo for admin screen
- movie::get_ffmpeg_version (new) - return version number and date of FFmpeg
- form_uploadify.html - change admin message if movie uploads are disabled
- gallery_event::admin_menu - added Movies link to Settings
- xss_data.txt - updated golden file for unit tests
2013-02-14 23:42:20 +01:00
Bharat Mediratta
6c861a014d Merge pull request #133 from shadlaws/followon_1994
Follow-on to 0312d1b071 for #1994.
2013-02-14 11:18:45 -08:00
shadlaws
0a2670a19a #1988 - Add movie_allow_uploads option ("always", "never", or "autodetect").
- gallery_installer, module.info, install.sql - add movie_allow_uploads variable
- movie::allow_uploads (new) - return true if movie_allow_uploads is "always" or "autodetect" and FFmpeg found, false otherwise
- legal_file - use movie::allow_uploads instead of movie::find_ffmpeg
- Form_Uploadify - use movie::allow_uploads instead of movie::find_ffmpeg
2013-02-12 00:30:30 +01:00
shadlaws
27be4ae606 Follow-on to 0312d1b071 for #1994.
- Updated function comments to match revisions.
- No functional changes.
2013-02-10 10:10:44 +01:00
shadlaws
0312d1b071 #1994 - Make get_file_metadata throw an exception if photo or movie is unidentifiable/illegal.
- photo & movie helpers: modified to throw exceptions when file is known to be unidentifiable/illegal.
- item model: revised to work with exceptions and be more explicit when the data file is invalid.
- item model: removed duplicate get_file_metadata call for updated items.
- admin_watermarks controller: revised to work with exceptions (really cleans up logic here).
- graphics helper: revised to handle invalid placeholders (a nearly-impossible corner case, but still...).
- photo & movie helper tests: revised to work with exceptions, added new tests for illegal files with valid extensions.
- item model tests: revised to work with exceptions, added new tests for illegal files with valid extensions.
2013-02-08 13:51:41 +01:00
shadlaws
212944e1ea #1951 - Make metadata generation more flexible (photo and movie helpers).
- added photo_get_file_metadata and movie_get_file_metadata events
- modified photo::get_file_metadata and movie::get_file_metadata to use them
- ensure that non-readable files throw exceptions
- redirected other photo metadata calls in core to photo::get_file_metadata (the helper function already exists, but in many places getimagesize is still called directly)
- added some unit tests (neither of the functions above had one)
2013-01-26 00:04:55 +01:00
shadlaws
031dd3bd6f #1960 - Add unit test to look for extra spaces at end of line
- Added no_extra_spaces_at_end_of_line_test to File_Structure_Test.
- Updated Gallery_Filters to exclude testing code that isn't ours.
- Removed existing extra spaces.  New test now passes.
2013-01-24 12:03:05 +01:00
Bharat Mediratta
d45a737779 Update copyright to 2013. Fixes #1953. 2013-01-21 01:22:01 -05:00
shadlaws
ea8219e1d4 #1941, 1948 - Fix possible warnings in movie and graphics helpers, add functions to convert between seconds and hh:mm:ss.dd.
Also add unit tests for new movie helper functions.
2013-01-19 00:59:55 +01:00
shadlaws
ce68177ba0 [#1928 - Make thumbnail generation more flexible for movies (graphics and movie helpers)]
- graphics helper: add movie_extract_frame event to generate function
(allows modules to add to the options sent to movie::extract_frame or to
generate the thumbnail on their own without movie::extract_frame)
- movie helper: add extra optional argument to movie::extract_frame
(can add ffmpeg arguments and/or change the frame extract time)
- gallery_installer: add movie_extract_time module variable, update to v53
- module.info: update to v53
- install.sql: update to v53
2012-12-18 15:58:13 +01:00
shadlaws
94b26e506c [#1924, #1925, #1927 - enhance compatibility with movies (movie helper) and file types (legal_file helper)]
bug fix: modify movie.php helper to take DAR (display aspect ratio) into account in get_file_metadata
bug fix / enhancement: add duration to get_file_metadata output
bug fix: modify movie.php helper to use correct resolution and duration from get_file_metadata in extract_frame
bug fix: modify movie.php helper to be more robust against ffmpeg failures and limitations, including adding "-threads 1" argument if needed
enhancement: modified to include ordered maps of extensions to MIME types (get_photo_types_by_extension and get_movie_types_by_extension functions), modified get_file_metadata in movie and photo helpers to use them
gallery_installer, module.info, install.sql: updated to v52 with m4v mime correction code (was video/mp4)
2012-12-16 18:11:01 +01:00
Bharat Mediratta
d5a445b779 Improve the dimensions-detecting regex, thanks to cchiappa.
Fixes #1844.
2012-05-05 19:19:04 -07:00
Bharat Mediratta
bf2bb3e1ea Update copyright to 2012. #1822 2012-02-27 09:48:23 -08:00
Bharat Mediratta
423daa52d5 Update copyright to 2011. 2011-01-21 23:01:06 -08:00
Bharat Mediratta
23eaec7063 Stop using "which" to find binaries. Create system::find_binary()
which traverses the $PATH and returns any executable binary of the
appropriate name that it can find.  Fixes #1555.
2011-01-10 15:49:15 -08:00
Bharat Mediratta
eb010554ff Replace self::func() with <helper_name>::func() for all public APIs
and constants to make overloading easier.  Fixes #1510.
2010-11-28 11:27:25 -08:00
Bharat Mediratta
790bf4e871 Prioritize using the value in graphics_toolkit_path over the standard
path so that if you change that value in Admin > Settings > Advanced
we prefer it over other paths (which may be restricted by
open_basedir).  Fixes #1395.
2010-09-22 21:35:49 -07:00
Bharat Mediratta
3e1743b21f Add a module variable containing extra paths to search for binaries.
Fixes ticket #1384.
2010-09-16 20:43:48 -07:00
Bharat Mediratta
4a01aaddc9 Verify that the ffmpeg path still exists by using file_exists(). This
is a lightweight way to catch the case where ffmpeg gets deleted.
Fixes ticket #1303.
2010-08-21 15:10:46 -07:00
Bharat Mediratta
dfb095a262 Add the ability to replace the source data file in Item_Model::save().
Refactor the rotate code in Quick_Controller to replace the data file,
and then have gallery_event::item_updated_data_file() pick up after
the change is saved, rebuild the image and handle album covers.  This
is much more portable than before and it will allow any mechanism (eg:
REST) to replace the source image.
2010-08-07 22:18:28 -07:00
Bharat Mediratta
307e47c3d0 Pass along the from_id when editing albums in the context menu, and
also pass it along in the form creation code.  This fixes ticket #1183.
2010-07-10 11:45:45 -07:00
Bharat Mediratta
c3c2b45280 Update the copyright to 2010. It's only 3 months into the year :-) 2010-03-03 10:15:34 -08:00
Andy Staudacher
2c3c126aaf Fix ticket 930: Use the first frame as video thumbnail if the video is shorter than 3 seconds. And fall back to the default thumbnail if that operation fails.
Thanks to lsowen for providing a patch!
2010-02-06 20:07:58 -08:00
Bharat Mediratta
bbe70119ef Localize validation messages. 2010-01-27 23:05:57 -08:00
Bharat Mediratta
e02675b730 Change "filename" to "name" in the edit album form. I'd rather have
consistency between field names than deal with underlying issues with
Forge bitching about the "name" property.
2010-01-19 19:31:01 -08:00
Bharat Mediratta
8ce11ac970 Convert Movies_Controller::update() over to model based validation. 2010-01-16 12:07:36 -08:00
Bharat Mediratta
efdb73cb98 Make movie creation use model based validation. Move movie related
logic from movie::create() into Item_Model
2010-01-16 12:00:50 -08:00
Bharat Mediratta
94f58e8b65 Move setting Item_Model::rand_key into Item_Model::save() since it's
business logic.
2010-01-15 10:48:39 -08:00
Bharat Mediratta
20bd09ff00 A more thorough fix for #745 and #940. Stop using the referer to
guess how to send the user back.  Instead, proxy the originating item
id through the edit forms so that we can tell exactly what page we
were on when we began editing.  If we were viewing the item, then
redirect to its new url (in case it changed) to fix ticket #745.  But
if we were viewing some other item, then just stay on the current page
to fix #940.

The page_type approach didn't work because you'd have the same
"collection" page_type when doing a context menu edit for an album.
2009-12-31 17:21:19 -08:00
Bharat Mediratta
d5c35210b9 Merge branch 'master' of git@github.com:gallery/gallery3 into bharat_dev 2009-12-06 21:38:47 -08:00
Tim Almdal
16bed1ffd5 Remove the hidden form variable _method which was used in the no longer rest controllers. 2009-12-06 21:32:27 -08:00
Bharat Mediratta
dee3ee81e2 Database::orwhere() is now Database_Builder::or_where() 2009-11-26 20:25:32 -08:00
Bharat Mediratta
1fd0e14359 Convert all DB where() calls to take 3 arguments.
Convert all open_paren() calls to and_open() or or_open() as appropriate.
2009-11-26 12:09:04 -08:00
Bharat Mediratta
f50dbd992d Merge branch 'master' of git@github.com:gallery/gallery3 into bharat_dev
Conflicts:
	modules/gallery/controllers/rest.php
2009-11-25 13:40:47 -08:00
Bharat Mediratta
2e420522ec Preliminary work to cut over to Kohana 2.4
- Kohana::log() -> Kohana_Log::add()
- Kohana::config_XXX -> Kohana_Config::instance()->XXX
- Implement View::set_global in MY_View
- Updated Cache_Database_Driver to latest APIs
- ORM::$loaded -> ORM::loaded()
- Updated item::viewable() to use K2.4 parenthesization
2009-11-25 13:22:24 -08:00
Tim Almdal
2d5c232c42 Refactor the album, movie and photo handling to remove the REST_Controller. Partial fix for ticket #917 2009-11-25 12:46:04 -08:00
Tim Almdal
26f8240e34 Revert "Try an new approach to extending forms. Create an extend_form event. For the first attempt replace the comment_add_form and item_add_form events."
This reverts commit 809e738536.
2009-11-09 11:52:43 -08:00
Tim Almdal
809e738536 Try an new approach to extending forms. Create an extend_form event. For the first attempt replace the comment_add_form and item_add_form events. 2009-11-01 13:14:11 -08:00
Tim Almdal
e72022f062 Include the gallery_toolkit_path in the path when determining the location of ffmpeg. 2009-10-31 16:23:08 -07:00
Tim Almdal
3c936d661a Change the name of identity library from Identity to IdentityProvider. Create a helper class called identity to simplify call the Identity Provider. Move the contents of MY_Session.php to the new helper class and remove the MY_Session class 2009-10-22 13:11:03 -07:00
Tim Almdal
78ee4193b7 Remove all non Identity API methods from Identity.php. Created an MY_Session class to provide the user state changes in the session and a login.php helper that has the login form. 2009-10-16 10:06:58 -07:00
Tim Almdal
bc241e44c2 Cleanup merge of user/group helpers into Identity interface. Reduce redundant code in the user module and remove references to the Identity helper from the user module as the user module should be able to access things directly. Simplify the get_user_list api method to just accept an array of ids to return user objects for. 2009-10-16 08:55:26 -07:00
Tim Almdal
00eacd659f Start simplifying the interface by moving the static methods from user.php and group.php. Tried creating a identity helper, but the helper identity.php was confused with the library Identity.php. So got around this by making the methods on Identity static and calling the instance within the static methods. Also temporarily moved the user.php and group.php back into the user module. 2009-10-16 08:53:31 -07:00
Bharat Mediratta
0a66ef9cc7 Don't allow users to change the file extension of photos/movies
If you can change the extension, then you can alter the way the server
handles the file, which is a security problem.  So for example, you
can change a .JPG to a .PHP and then if you put some malicious PHP
code in the EXIF data, you can get the server to execute
it. Vulnerability is low because only users who have edit permissions
could do this.

Fixes ticket #846
2009-10-13 10:36:50 -07:00
Bharat Mediratta
bc63e4fcf9 Make the slug field required for all items.
Make the filename field required for photos/movies.
Fixes ticket #838
2009-10-11 11:16:07 -07:00
Chad Kieffer
3e6ba7acc3 Renamed most, if not all css selectors from gName to g-name. Moved a few shared images from wind to lib. Deleted unused images in the admin_wind. This will likely break a few ajax features. 2009-10-04 00:27:22 -06:00
Tim Almdal
b79129e365 Clone the photo::get_edit_form to the movies helper and use it to generate the movie edit form. Fixes ticket #726. 2009-09-23 12:02:35 -07:00
Bharat Mediratta
3f997562de Add support for a per-item "slug" which will be the user-visible url
component for that given item.  Album hierarchies are represented by
nested slugs.  By default, we convert the filename to a slug when you
create an album, photo or movie.
2009-09-07 15:42:08 -07:00