summaryrefslogtreecommitdiff
path: root/modules/gallery/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'modules/gallery/libraries')
-rw-r--r--modules/gallery/libraries/Theme_View.php18
1 files changed, 11 insertions, 7 deletions
diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php
index a507e9c8..d0b35d3e 100644
--- a/modules/gallery/libraries/Theme_View.php
+++ b/modules/gallery/libraries/Theme_View.php
@@ -42,9 +42,6 @@ class Theme_View_Core extends Gallery_View {
"page_type" => $page_type,
"page_subtype" => $page_subtype,
"page_title" => null));
- if ($page_type == "collection") {
- $this->set_global("thumb_proportion", $this->thumb_proportion());
- }
if (module::get_var("gallery", "maintenance_mode", 0)) {
if (identity::active_user()->admin) {
@@ -58,10 +55,17 @@ class Theme_View_Core extends Gallery_View {
* Proportion of the current thumb_size's to default
* @return int
*/
- public function thumb_proportion() {
- // @TODO change the 200 to a theme supplied value when and if we come up with an
- // API to allow the theme to set defaults.
- return module::get_var("gallery", "thumb_size", 200) / 200;
+ public function thumb_proportion($item) {
+ // By default we have a globally fixed thumbnail size In core code, we just return a fixed
+ // proportion based on the global thumbnail size, but since modules can override that, we
+ // return the actual proportions when we have them.
+ if ($item->has_thumb()) {
+ return max($item->thumb_width, $item->thumb_height) / 200;
+ } else {
+ // @TODO change the 200 to a theme supplied value when and if we come up with an
+ // API to allow the theme to set defaults.
+ return module::get_var("gallery", "thumb_size", 200) / 200;
+ }
}
public function item() {