From 61691fdf713950f704427640bc30776990768d98 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 5 Jun 2011 17:16:07 -0700 Subject: Use the strict form of mb_detect_encoding for best results. Thanks to guthy in https://github.com/gallery/gallery3/commit/fa6f233603267505c216abc4f12663d245cd23e7#commitcomment-403145 Fixes #1745. --- modules/gallery/helpers/encoding.php | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'modules') diff --git a/modules/gallery/helpers/encoding.php b/modules/gallery/helpers/encoding.php index c5928634..7d5add34 100644 --- a/modules/gallery/helpers/encoding.php +++ b/modules/gallery/helpers/encoding.php @@ -19,13 +19,16 @@ */ class encoding_Core { static function convert_to_utf8($value) { - if (function_exists("mb_detect_encoding") && - function_exists("mb_convert_encoding") && - mb_detect_encoding($value, "ISO-8859-1, UTF-8") != "UTF-8") { - $value = mb_convert_encoding($value, "UTF-8", mb_detect_encoding($value)); - } else if (function_exists("mb_detect_encoding") && - mb_detect_encoding($value, "ISO-8859-1, UTF-8") != "UTF-8") { - $value = utf8_encode($value); + if (function_exists("mb_detect_encoding")) { + // Rely on mb_detect_encoding()'s strict mode + $src_encoding = mb_detect_encoding($value, mb_detect_order(), true); + if ($src_encoding != "UTF-8") { + if (function_exists("mb_convert_encoding") && $src_encoding) { + $value = mb_convert_encoding($value, "UTF-8", $src_encoding); + } else { + $value = utf8_encode($value); + } + } } return $value; } -- cgit v1.2.3 From 142088a6353dfd051e0dc72e1e30fa51fb6d7f2b Mon Sep 17 00:00:00 2001 From: Chad Parry Date: Wed, 15 Jun 2011 20:46:23 -0600 Subject: Gracefully handle rule failures with a broken image icon. This will be especially useful as third-party modules start supporting a larger variety of image types, and as errors creep into their image processing. --- modules/gallery/helpers/graphics.php | 22 ++++++++++++++++++---- modules/gallery/images/missing_photo.png | Bin 0 -> 1570 bytes 2 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 modules/gallery/images/missing_photo.png (limited to 'modules') diff --git a/modules/gallery/helpers/graphics.php b/modules/gallery/helpers/graphics.php index acb11bfb..39c87fbd 100644 --- a/modules/gallery/helpers/graphics.php +++ b/modules/gallery/helpers/graphics.php @@ -170,23 +170,37 @@ class graphics_Core { foreach (self::_get_rules($target) as $rule) { $args = array($working_file, $output_file, unserialize($rule->args), $item); - call_user_func_array($rule->operation, $args); - $working_file = $output_file; + try { + call_user_func_array($rule->operation, $args); + $working_file = $output_file; + } catch (Exception $e) { + // Ignore this rule and move on. + Kohana_Log::add("error", "Caught exception processing image: {$item->title}\n" . + $e->getMessage() . "\n" . $e->getTraceAsString()); + } } } if (!empty($ops["thumb"])) { + if (file_exists($item->thumb_path())) { + $item->thumb_dirty = 0; + } else { + copy(MODPATH . "gallery/images/missing_photo.png", $item->thumb_path()); + } $dims = getimagesize($item->thumb_path()); $item->thumb_width = $dims[0]; $item->thumb_height = $dims[1]; - $item->thumb_dirty = 0; } if (!empty($ops["resize"])) { + if (file_exists($item->resize_path())) { + $item->resize_dirty = 0; + } else { + copy(MODPATH . "gallery/images/missing_photo.png", $item->resize_path()); + } $dims = getimagesize($item->resize_path()); $item->resize_width = $dims[0]; $item->resize_height = $dims[1]; - $item->resize_dirty = 0; } $item->save(); } catch (Exception $e) { diff --git a/modules/gallery/images/missing_photo.png b/modules/gallery/images/missing_photo.png new file mode 100644 index 00000000..67786275 Binary files /dev/null and b/modules/gallery/images/missing_photo.png differ -- cgit v1.2.3 From 784c429070db54e183feb3e0ea6f2726b6507081 Mon Sep 17 00:00:00 2001 From: Andy Lindeman Date: Mon, 27 Jun 2011 07:24:37 -0400 Subject: [Fixes #1757] Redirect to root album if path comes in as main.php or index.php --- modules/g2_import/controllers/g2.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules') diff --git a/modules/g2_import/controllers/g2.php b/modules/g2_import/controllers/g2.php index 90984e84..1252014f 100644 --- a/modules/g2_import/controllers/g2.php +++ b/modules/g2_import/controllers/g2.php @@ -34,7 +34,7 @@ class G2_Controller extends Controller { $path = $input->get("path"); $id = $input->get("g2_itemId"); - if ($path || $id) { + if (($path && $path != 'index.php' && $path != 'main.php') || $id) { if ($id) { // Requests by id are either core.DownloadItem or core.ShowItem requests. Later versions of // Gallery 2 don't specify g2_view if it's the default (core.ShowItem). And in some cases -- cgit v1.2.3 From fc6c1390d3d5f3d99d75b04acf208ae3729c11ce Mon Sep 17 00:00:00 2001 From: Andy Lindeman Date: Mon, 27 Jun 2011 08:25:50 -0400 Subject: [Fixes #1758] Link to themes codex page instead of modules codex page --- modules/gallery/views/admin_themes.html.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules') diff --git a/modules/gallery/views/admin_themes.html.php b/modules/gallery/views/admin_themes.html.php index 7d947b28..9d53779f 100644 --- a/modules/gallery/views/admin_themes.html.php +++ b/modules/gallery/views/admin_themes.html.php @@ -48,7 +48,7 @@

- Download one now!", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Modules")) ?> + Download one now!", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Themes")) ?>

@@ -88,7 +88,7 @@

- Download one now!", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Modules")) ?> + Download one now!", array("url" => "http://codex.gallery2.org/Category:Gallery_3:Themes")) ?>

-- cgit v1.2.3