diff options
author | patdenice <patdenice@piwigo.org> | 2012-03-14 08:19:25 +0000 |
---|---|---|
committer | patdenice <patdenice@piwigo.org> | 2012-03-14 08:19:25 +0000 |
commit | 1c50bb4d0365fd893aa90c810d527cb37e630b93 (patch) | |
tree | 14576dc9cce336e59429916fc3ca8917e6b9a71b | |
parent | f0d5c6c010ebf651ca6db8c35ef7124b8ca95369 (diff) |
Automaticaly set better derivative params for mobile theme according to screen size.
git-svn-id: http://piwigo.org/svn/trunk@13545 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r-- | themes/smartpocket/template/footer.tpl | 3 | ||||
-rw-r--r-- | themes/smartpocket/template/mainpage_categories.tpl | 4 | ||||
-rw-r--r-- | themes/smartpocket/template/thumbnails.tpl | 9 | ||||
-rw-r--r-- | themes/smartpocket/themeconf.inc.php | 23 |
4 files changed, 30 insertions, 9 deletions
diff --git a/themes/smartpocket/template/footer.tpl b/themes/smartpocket/template/footer.tpl index bfae6c062..762fba511 100644 --- a/themes/smartpocket/template/footer.tpl +++ b/themes/smartpocket/template/footer.tpl @@ -14,6 +14,9 @@ </h6>
</div>
{/if}
+{footer_script require='jquery'}
+document.cookie = 'screen_size='+jQuery(document).width()+'x'+jQuery(document).height()+';path={$COOKIE_PATH}';
+{/footer_script}
{get_combined_scripts load='footer'}
</div><!-- /page -->
diff --git a/themes/smartpocket/template/mainpage_categories.tpl b/themes/smartpocket/template/mainpage_categories.tpl index 54a99ba4d..d1cf3cf8b 100644 --- a/themes/smartpocket/template/mainpage_categories.tpl +++ b/themes/smartpocket/template/mainpage_categories.tpl @@ -1,10 +1,8 @@ -{define_derivative name='derivative_params_square' type='square'}
-
<ul data-role="listview" data-inset="true">
{foreach from=$category_thumbnails item=cat}
<li>
<a href="{$cat.URL}">
- <img src="{$pwg->derivative_url($derivative_params_square, $cat.representative.src_image)}">
+ <img src="{$pwg->derivative_url($thumbnail_derivative_params, $cat.representative.src_image)}">
<h3>{$cat.NAME}</h3>
<p class="Nb_images">{$cat.CAPTION_NB_IMAGES}</p>
</a>
diff --git a/themes/smartpocket/template/thumbnails.tpl b/themes/smartpocket/template/thumbnails.tpl index 6ac7e7e8b..ed2737d8b 100644 --- a/themes/smartpocket/template/thumbnails.tpl +++ b/themes/smartpocket/template/thumbnails.tpl @@ -5,21 +5,18 @@ {combine_script id='jquery.ajaxmanager' path='themes/default/js/plugins/jquery.ajaxmanager.js' load='footer'}
{combine_script id='thumbnails.loader' path='themes/default/js/thumbnails.loader.js' require='jquery.ajaxmanager' load='footer'}
-{define_derivative name='derivative_params_square' type='square'}
-{define_derivative name='derivative_params_large' type='large'}
-
<ul class="thumbnails">
{foreach from=$thumbnails item=thumbnail}{strip}
-{assign var=derivative value=$pwg->derivative($derivative_params_square, $thumbnail.src_image)}
+{assign var=derivative value=$pwg->derivative($thumbnail_derivative_params, $thumbnail.src_image)}
{if isset($page_selection[$thumbnail.id])}
<li>
- <a href="{$pwg->derivative_url($derivative_params_large, $thumbnail.src_image)}" rel="external">
+ <a href="{$pwg->derivative_url($picture_derivative_params, $thumbnail.src_image)}" rel="external">
<img {if !$derivative->is_cached()}data-{/if}src="{$derivative->get_url()}" alt="{$thumbnail.TN_ALT}">
</a>
</li>
{else}
<li style="display:none;">
- <a href="{$pwg->derivative_url($derivative_params_large, $thumbnail.src_image)}" rel="external"></a>
+ <a href="{$pwg->derivative_url($picture_derivative_params, $thumbnail.src_image)}" rel="external"></a>
</li>
{/if}
{/strip}{/foreach}
diff --git a/themes/smartpocket/themeconf.inc.php b/themes/smartpocket/themeconf.inc.php index 2dd950c7d..7cedbc21b 100644 --- a/themes/smartpocket/themeconf.inc.php +++ b/themes/smartpocket/themeconf.inc.php @@ -12,6 +12,10 @@ $themeconf = array( 'mobile' => true,
);
+// Redirect if page is not compatible with mobile theme
+if (!in_array(script_basename(), array('index', 'register', 'profile', 'identification')))
+ redirect(duplicate_index_url());
+
//Retrive all pictures on thumbnails page
add_event_handler('loc_index_thumbnails_selection', 'sp_select_all_thumbnails');
@@ -24,4 +28,23 @@ function sp_select_all_thumbnails($selection) return $page['items'];
}
+// Get better derive parameters for screen size
+if (!empty($_COOKIE['screen_size']))
+{
+ $screen_size = explode('x', $_COOKIE['screen_size']);
+ $derivative_params = new ImageStdParams;
+ $derivative_params->load_from_db();
+ $type = IMG_LARGE;
+
+ foreach ($derivative_params->get_all_type_map() as $type => $map)
+ {
+ if (max($map->sizing->ideal_size) >= max($screen_size) and min($map->sizing->ideal_size) >= min($screen_size))
+ break;
+ }
+ pwg_set_session_var('sp_picture_deriv', $type);
+}
+
+$this->assign('picture_derivative_params', ImageStdParams::get_by_type(pwg_get_session_var('sp_picture_deriv', IMG_LARGE)));
+$this->assign('thumbnail_derivative_params', ImageStdParams::get_by_type(IMG_SQUARE));
+
?>
|