Commit Graph

117 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
891a24151e #2021 - Cleanup thumb_dirty and resize_dirty instances.
- g2_import: changed "false" assignment to "0" assignment for consistency.
- admin_theme_options: removed unused variables (they're called/used nowhere else).
- graphics: removed stanza that clears thumb_dirty and resize_dirty and returns
if we have no ops.  This has no effect on Gallery currently (for one,
graphics::generate doesn't normally get called on an item with no dirty flags),
but can inconsistently set resize_dirty of albums and movies to 0 where it's
otherwise left at 1.  Going forward, it may be useful to be consistent here.
- gallery_installer: added v57 stanza to correct any resize_dirty flags of
movies/albums that were previously reset to 0.
- module.info, install.sql: update to v57
2013-02-27 07:11:52 +01: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
Bharat Mediratta
9396342250 Drop the requirement to have the install() function set the module
version.  It's redundant.  Fixes #1985.
2013-01-31 19:55:53 -05:00
Bharat Mediratta
e957c97c94 Add a key on relative_path_cache in the items table to improve performance on installs
that use File_Proxy heavily.  Fixes #1920.
2013-01-27 15:35:42 -05:00
shadlaws
cc2aed656c #1946, 1947 - Make altered names/slugs more user-friendly, make conflict-finding code check filenames with no extensions
- Reduced from four places that alter names/slugs to two (one to populate empty slugs, one to handle conflicting names/slugs).
- For empty slugs, fill with generic human-readable name (e.g. "photo") instead of random value.
- For conflicting names/slugs, add suffix that's sequential (e.g. "-01"), only using random after 99 conflicts.
- Made conflict-finding code check filenames with no extensions.
- Renamed _randomize_name_or_slug_on_conflict to _check_and_fix_conflicts.
- Added unit tests.  Also cleaned up existing unit tests to reflect new logic and removed a redundant test.
- Added installer logic to correct existing items now considered in conflict.
- Revised gallery_task to look for duplicate names based on new criteria.
2013-01-26 08:38:31 +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
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
chalbertgit
ce9199a955 [#1907] Added code needed for the case when a user upgrades. 2012-11-13 13:17:45 -05:00
Bharat Mediratta
467a032f8e Rename any files that have two dots in them to a legal name. This
fixes the bug where we made those files invalid in 3.0.4 without
providing a clean upgrade path.  Bump gallery module to 50. Fixes
2012-07-21 15:11:27 -07:00
Bharat Mediratta
3e99c37c35 Fix comment typo. 2012-07-21 11:11:16 -07:00
Bharat Mediratta
bf2bb3e1ea Update copyright to 2012. #1822 2012-02-27 09:48:23 -08:00
Bharat Mediratta
59d5ddc8ab Set the default value for gallery.timezone to null so that each install uses
date_default_timezone_get() in modules/gallery/config/locale.php but it's
still overrideable in Admin > Settings > Advanced.  Follow on fix for #1637.
2011-04-23 12:48:04 -07:00
Bharat Mediratta
c2a38087dc A few more fixes for #1637:
- Update gallery_installer::install() to set the version to 48 and
  set the timezone
- Rebuild installer.sql
2011-04-22 16:52:48 -07:00
Andy Lindeman
6f916e49d5 Allow timezone to be configurable
* Fixes #1637
* New advanced setting gallery/timezone
* Default setting comes from PHP
2011-04-22 18:15:17 -04:00
Chad Kieffer
3bce5d00ee Renamed apple_touch_url to apple_touch_icon_url. 2011-04-22 12:50:21 -04:00
Chad Kieffer
4a9b45c9c3 Created apple-touch-icon and added to wind and admin_wind themes. 2011-04-22 12:37:28 -04:00
Bharat Mediratta
423daa52d5 Update copyright to 2011. 2011-01-21 23:01:06 -08:00
Bharat Mediratta
45caba09f8 Move the code that clears the upgrade_check site status message to the
upgrader so that it's cleared any time we run an upgrade.  Part of
2011-01-17 20:03:11 -08:00
Bharat Mediratta
66bb496b6c If the logged in user is an admin and it's been more than 7 days since
the last check and auto upgrade checking is enabled, fire off an XHR
to check for a possible upgrade.  Finishes off #1605.
2011-01-16 23:14:57 -08:00
Bharat Mediratta
70abfb2a20 Upgrade checking code is now here, along with a bump of the Gallery
module to v46.  There's a new block in the admin dashboard which
controls whether automatic checking happens, and lets you check
immediately.  If a newer version is detected, a site status message
appears for admins providing upgrade instructions.

Automatic checking is not yet implemented (even though the UI claims
that it exists).  This is all for #1605.
2011-01-16 22:16:09 -08:00
Bharat Mediratta
84d576606d Change the value column of the messages table from a varchar(255) to a
text.  Fixes #1612.
2011-01-16 21:46:03 -08:00
Joe7
0020f87d6a Fixed paging for albums ordered by random.
MySql has problems when comparing float values against -seemingly same- float input, see http://dev.mysql.com/doc/refman/5.0/en/problems-with-float.html for details.
Fixes #1610
2011-01-16 16:58:58 -08:00
Bharat Mediratta
d74aad072d Some small follow on fixes for #1559 and #1568:
1) Make database changes in gallery_installer::install() instead of
   in installer/install.ql
2) Bump the version number in modules/gallery/module.info
2011-01-03 12:25:51 -08:00
Joe7
e6a5f39b91 case fix 2011-01-03 11:10:31 -08:00
Joe7
b26eff7f23 Bugfix: input validation validates description up to length of 65535 chars, but DB trimmed data over 2048 chars. Converting column into TEXT type.
Note: The effective maximum length of a VARCHAR in MySQL 5.0.3 and later is subject to the maximum row size (65,535 bytes, which is shared among all columns) and the character set used.
In contrast to CHAR, VARCHAR values are stored as a one-byte or two-byte length prefix plus data. The length prefix indicates the number of bytes in the value. A column uses one length byte if values require no more than 255 bytes, two length bytes if values may require more than 255 bytes.
2011-01-03 11:08:21 -08:00
Joe7
869bba5e13 Truncating table first againt collides when converting INDEX into Unique 2010-12-28 23:14:04 -08:00
Joe7
440597356d Added changes to installer and upgrader scripts to support INSERT ON DUPLICATE KEY UPDATE SYNTAX in cache lib 2010-12-28 23:14:04 -08:00
Bharat Mediratta
b42fcb9cda Use db::expr instead of "new Database_Expression". Resolves #1560. 2010-12-28 23:10:05 -08:00
Bharat Mediratta
cd48b89f31 Consolidate all the random code into a random helper that offers:
random::hash()
  random::string()
  random::percent()
  random::int()

So that we don't have lots of different ways to get random values all
over the code.  Follow-on to #1527.
2010-12-15 14:57:00 -08:00
Bharat Mediratta
45c63f4d11 Use mt_rand() instead of rand() since it provides better portability.
Fixes #1527.
2010-12-15 12:48:56 -08:00
Bharat Mediratta
f84782d620 Stop caching all module variables in the vars table using the
name=_cache row.  If that overflows, it will cause us to be unable to
load variables, and we can't recover from that.

Instead, use the Cache table.  Bump the gallery module to v40.  Fixes
ticket #1405.
2010-09-29 20:47:43 -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
5e316f78c6 Restrict viewing user profile pages to registered users only, but
provide a "show_user_profiles_to" setting to allow admins to open it
up to everybody (choices there are "registered_users", "admin_users"
or "everybody").  Fixes ticket #1378.
2010-09-16 15:17:00 -07:00
Tim Almdal
545177c648 Merge branch 'master' of git@github.com:gallery/gallery3 2010-09-01 23:19:50 -07:00
Tim Almdal
04f6646b06 Hopefully the third and final patch for #1216. Set the default from and reply-to addresses to an empty string. The first time the user model is saved, set the sendmail from and reply-to addresses. Requires an update to gallery version 38. 2010-09-01 23:19:43 -07:00
Bharat Mediratta
70c8572ea1 Make RENAME TABLE operations idempotent so that in case there's a
failure of some kind we can restart the upgrade and it'll continue.
Fixes ticket #1325.
2010-09-01 22:19:44 -07:00
Bharat Mediratta
78c590ebae Don't use HTTP_HOST to get the hostname. We force that to
"example.com" when we are using the CLI so we'll get inconsistent
behavior between CLI and the web interface.

For now hardcode it to be example.com so that it's clear.  But to do
it right we need an after_install step which actually fixes it up.
And probably an after_upgrade step as well.
2010-08-31 21:07:43 -07:00
Tim Almdal
e09c6dbd5e Patch for ticket #1216. Move the values that were in the sendmail config file and store them as gallery module variables. Requires a version number bump to 37. 2010-08-31 20:45:09 -07:00
Bharat Mediratta
4c8445852d Bump gallery module to v36 and add a favicon_url variable, which we
expose in Admin > Appearance > Theme Options and defaults to
lib/images/favicon.ico.

Thix fixes ticket #1312.
2010-08-29 16:27:32 -07:00
Bharat Mediratta
a08cd0db4e Add a "visible_title_length" variable that defaults to 15 and use that
as the max title length when we do title truncation in the wind theme.
Bump the gallery module to 35.
2010-08-28 21:58:28 -07:00
Bharat Mediratta
50e3230d79 Add a key on access_caches.item_id. Without this, the Fix task query
to find missing access_caches is very slow.  Bump Gallery module to v34.
2010-08-14 15:10:07 -07:00
Bharat Mediratta
779d91cca0 Add an index for left_ptr, since we use that in ORM_MPTT::parents()
which is on every album page.  Bump Gallery module version to 33.
2010-08-07 12:18:43 -07:00
Bharat Mediratta
16ae65464c Oops. Fix the upgrader path to add the weight column to the modules table. 2010-08-07 10:57:18 -07:00
Bharat Mediratta
1b2da1ff70 Add a "weight" column to the module table. This allows us to specify
module ordering, which is currently being done in the moduleorder
contrib module.

By default, the weight will be the same as the id of the row which
means that new modules will get added at the end of the list.  This is
covered in the upgrade case as well.

The one gotcha is that we need to make sure that we don't try to sort
by the weight column if the gallery module version is < 32, which is
something we haven't done before.

Fixes ticket #1272.
2010-08-06 20:19:00 -07:00
Bharat Mediratta
c33b24c9fa Make maintenance mode a variable instead of a config. Then create
links on the Admin > Maintenance page to allow you to turn it on and
off.  This should be efficient since we cache all vars and look them
up on every request anyway.

This also allows us to have the Fix task enable maintenance mode while
it's running which greatly reduces the chances that somebody will come
along and hork the database while we're tinkering with MPTT pointers.

Fixes ticket #1259.
2010-08-01 21:00:30 -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
6ce0132842 Fix for ticket #1027: Add index on cache key column.
(and fix the packager to truncate the cache table before packaging)
2010-02-22 00:30:54 -08:00