source: trunk/themes/smartpocket/themeconf.inc.php @ 26758

Last change on this file since 26758 was 26758, checked in by flop25, 10 years ago

small fix : loading language files in public side too

File size: 4.0 KB
RevLine 
[13182]1<?php
2/*
3Theme Name: Smart Pocket
[26638]4Version: 2.6.0
[13182]5Description: Mobile theme.
6Theme URI: http://piwigo.org/ext/extension_view.php?eid=599
7Author: P@t
8Author URI: http://piwigo.org
9*/
10
11$themeconf = array(
12  'mobile' => true,
13);
[13234]14
[23718]15// Need upgrade?
16global $conf;
17include(PHPWG_THEMES_PATH.'smartpocket/admin/upgrade.inc.php');
18
[26758]19load_language('theme.lang', PHPWG_THEMES_PATH.'smartpocket/');
[23718]20
[26758]21
[13545]22// Redirect if page is not compatible with mobile theme
[23713]23/*if (!in_array(script_basename(), array('index', 'register', 'profile', 'identification', 'ws', 'admin')))
[13545]24  redirect(duplicate_index_url());
[23713]25*/
[13545]26
[26349]27
28class SPThumbPicker
29{
30  var $candidates;
31  var $default;
32  var $height;
33 
34  function init($height)
35  {
36    $this->candidates = array();
37    foreach( ImageStdParams::get_defined_type_map() as $params)
38    {
39      if ($params->max_height() < $height || $params->sizing->max_crop)
40        continue;
41      if ($params->max_height() > 3*$height)
42        break;
43      $this->candidates[] = $params;
44    }
45    $this->default = ImageStdParams::get_custom($height*3, $height, 1, 0, $height );
46    $this->height = $height;
47  }
48 
49  function pick($src_image)
50  {
51    $ok = false;
52    foreach($this->candidates as $candidate)
53    {
54      $deriv = new DerivativeImage($candidate, $src_image);
55      $size = $deriv->get_size();
56      if ($size[1]>=$row_height-2)
57      {
58        $ok = true;
59        break;
60      }
61    }
62    if (!$ok)
63    {
64      $deriv = new DerivativeImage($this->default, $src_image);
65    }
66    return $deriv;
67  }
68}
69
[13234]70//Retrive all pictures on thumbnails page
71add_event_handler('loc_index_thumbnails_selection', 'sp_select_all_thumbnails');
72
73function sp_select_all_thumbnails($selection)
74{
75  global $page, $template;
76
77  $template->assign('page_selection', array_flip($selection));
[26349]78  $template->assign('thumb_picker', new SPThumbPicker() );
[13234]79  return $page['items'];
80}
81
[19009]82// Retrive all categories on thumbnails page
83add_event_handler('loc_end_index_category_thumbnails', 'sp_select_all_categories');
84
85function sp_select_all_categories($selection)
86{
87  global $tpl_thumbnails_var;
88  return $tpl_thumbnails_var;
89}
90
[13545]91// Get better derive parameters for screen size
[21779]92$type = IMG_LARGE;
[13545]93if (!empty($_COOKIE['screen_size']))
94{
95  $screen_size = explode('x', $_COOKIE['screen_size']);
[26349]96  foreach (ImageStdParams::get_all_type_map() as $type => $map)
[13545]97  {
98    if (max($map->sizing->ideal_size) >= max($screen_size) and min($map->sizing->ideal_size) >= min($screen_size))
99      break;
100  }
101}
102
[21779]103$this->assign('picture_derivative_params', ImageStdParams::get_by_type($type));
[13545]104$this->assign('thumbnail_derivative_params', ImageStdParams::get_by_type(IMG_SQUARE));
105
[23718]106//------------------------------------------------------------- mobile version & theme config
[23716]107add_event_handler('init', 'mobile_link');
[23713]108
[23716]109function mobile_link()
110{
111  global $template, $conf;
[23718]112  $config = unserialize( $conf['smartpocket'] );
113  $template->assign( 'smartpocket', $config );
[23716]114  if ( !empty($conf['mobile_theme']) && (get_device() != 'desktop' || mobile_theme()))
115  {
[23718]116    $template->assign(array(
117                            'TOGGLE_MOBILE_THEME_URL' => add_url_params(duplicate_index_url(),array('mobile' => mobile_theme() ? 'false' : 'true')),
118      ));
[23716]119  }
120}
[23713]121
[23716]122
[23713]123if ( !function_exists( 'add_menu_on_public_pages' ) ) { 
124  if ( defined('IN_ADMIN') and IN_ADMIN ) return false; 
125  add_event_handler('loc_after_page_header', 'add_menu_on_public_pages', 20); 
126
127  function  add_menu_on_public_pages() { 
128    if ( function_exists( 'initialize_menu') ) return false; # The current page has already the menu 
129    global $template, $page, $conf; 
130    if ( isset($page['body_id']) and $page['body_id']=="thePicturePage" ) 
131    {           
132      $template->set_filenames(array( 
133            'add_menu_on_public_pages' => dirname(__FILE__) . '/template/add_menu_on_public_pages.tpl', 
134      )); 
135      include_once(PHPWG_ROOT_PATH.'include/menubar.inc.php'); 
136      $template->parse('add_menu_on_public_pages');
137    }
138     
139     
140  } 
141} 
142
143
[13182]144?>
Note: See TracBrowser for help on using the repository browser.