diff options
author | rvelices <rv-github@modusoptimus.com> | 2008-09-09 09:53:31 +0000 |
---|---|---|
committer | rvelices <rv-github@modusoptimus.com> | 2008-09-09 09:53:31 +0000 |
commit | 9aec2fb5e728a37026adc0d5246e1cfe7d226cb9 (patch) | |
tree | 61cd3a69456a91747317de8db797db56e01157f7 | |
parent | 26474d349f6f03b3f74beb91ef680f0c634e05d5 (diff) |
- fix typing error in index.tpl
- added template smarty function known_script (e.g.{known_script id="x" src"y.js"}) - useful to avoid double inclusion of a script such as prototype,jquery,... when a template and plugin need it independently (see the use in admin.tpl for example)
- removed unused themeconf.template_dir
git-svn-id: http://piwigo.org/svn/trunk@2513 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r-- | admin/template/yoga/admin.tpl | 14 | ||||
-rw-r--r-- | admin/template/yoga/header.tpl | 3 | ||||
-rw-r--r-- | admin/template/yoga/theme/admin/themeconf.inc.php | 18 | ||||
-rw-r--r-- | include/template.class.php | 32 | ||||
-rw-r--r-- | picture.php | 9 | ||||
-rw-r--r-- | template/yoga/index.tpl | 2 | ||||
-rw-r--r-- | template/yoga/theme/Sylvia/themeconf.inc.php | 3 | ||||
-rw-r--r-- | template/yoga/theme/clear/themeconf.inc.php | 3 | ||||
-rw-r--r-- | template/yoga/theme/dark/themeconf.inc.php | 3 | ||||
-rw-r--r-- | template/yoga/theme/p0w0/themeconf.inc.php | 3 | ||||
-rw-r--r-- | template/yoga/theme/wipi/themeconf.inc.php | 3 |
11 files changed, 56 insertions, 37 deletions
diff --git a/admin/template/yoga/admin.tpl b/admin/template/yoga/admin.tpl index e1d30f36e..7aae91c39 100644 --- a/admin/template/yoga/admin.tpl +++ b/admin/template/yoga/admin.tpl @@ -1,4 +1,18 @@ {* $Id$ *} +{known_script id="jquery" src=$ROOT_URL|@cat:"template-common/lib/jquery.packed.js"} +{known_script id="jquery.ui" src=$ROOT_URL|@cat:"template-common/lib/ui/ui.core.packed.js" } +{known_script id="jquery.ui.accordion" src=$ROOT_URL|@cat:"template-common/lib/ui/ui.accordion.packed.js" } + +<script type="text/javascript"> +jQuery().ready(function(){ldelim} + jQuery('#menubar').accordion({ldelim} + header: "dt.rdion", + event: "click", + active: {$themeconf.selected_admin_menu} + }); +}); +</script> + <div id="menubar"> <dl class="first"> <dt class="rdion"><span>{'Links'|@translate} </span></dt> diff --git a/admin/template/yoga/header.tpl b/admin/template/yoga/header.tpl index b6169df99..607f31529 100644 --- a/admin/template/yoga/header.tpl +++ b/admin/template/yoga/header.tpl @@ -3,7 +3,7 @@ Warning : This is the admin pages header only - don't be confusing with the public page header + don't confuse with the public page header *} <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" @@ -22,6 +22,7 @@ <link rel="stylesheet" type="text/css" media="print" href="{$ROOT_URL}template/{$themeconf.template}/print.css"> <link rel="stylesheet" type="text/css" href="{$ROOT_URL}admin/template/{$themeconf.template}/default-colors.css"> <link rel="stylesheet" type="text/css" href="{$ROOT_URL}admin/template/{$themeconf.template}/theme/{$themeconf.theme}/theme.css"> +{known_script id="jquery" src=$ROOT_URL|@cat:"template-common/lib/jquery.packed.js" now=1} {*jQuery is always available by default*} {$themeconf.local_head} <script type="text/javascript" src="{$ROOT_URL}template-common/scripts.js"></script> <!--[if lt IE 7]> diff --git a/admin/template/yoga/theme/admin/themeconf.inc.php b/admin/template/yoga/theme/admin/themeconf.inc.php index 8ba054ec9..61c090ebf 100644 --- a/admin/template/yoga/theme/admin/themeconf.inc.php +++ b/admin/template/yoga/theme/admin/themeconf.inc.php @@ -51,24 +51,10 @@ function selected_admin_menu() $themeconf = array( 'template' => 'yoga', 'theme' => 'admin', - 'template_dir' => 'admin/template/yoga', 'icon_dir' => 'template/yoga/icon', 'admin_icon_dir' => 'template/yoga/icon/admin', 'mime_icon_dir' => 'template/yoga/icon/mimetypes/', - 'local_head' => ' -<!-- New template location for admin --> -<!-- Admin Accordion Menus --> - <script type="text/javascript" src="template-common/lib/jquery.packed.js"></script> - <script type="text/javascript" src="template-common/lib/ui/ui.core.packed.js"></script> - <script type="text/javascript" src="template-common/lib/ui/ui.accordion.packed.js"></script> - <script type="text/javascript"> - jQuery().ready(function(){ - jQuery(\'#menubar\').accordion({ - header: "dt.rdion", - event: "click", - active: '. selected_admin_menu() . ' - }); - }); - </script>' + 'selected_admin_menu' => selected_admin_menu(), + 'local_head' => '', ); ?> diff --git a/include/template.class.php b/include/template.class.php index 7b4e4caf1..25389b8fa 100644 --- a/include/template.class.php +++ b/include/template.class.php @@ -62,6 +62,7 @@ class Template { $this->smarty->register_modifier( 'translate', array('Template', 'mod_translate') ); $this->smarty->register_modifier( 'explode', array('Template', 'mod_explode') ); $this->smarty->register_block('html_head', array(&$this, 'block_html_head') ); + $this->smarty->register_function('known_script', array(&$this, 'func_known_script'), false ); $this->smarty->register_prefilter( array('Template', 'prefilter_white_space') ); if ( $conf['compiled_template_cache_language'] ) { @@ -339,6 +340,37 @@ class Template { } } + /** + * This smarty "known_script" functions allows to insert well known java scripts + * such as prototype, jquery, etc... only once. Examples: + * {known_script id="jquery" src="{$ROOT_URL}template-common/lib/jquery.packed.js"} + */ + function func_known_script($params, &$smarty ) + { + if (!isset($params['id'])) + { + $smarty->trigger_error("known_script: missing 'id' parameter"); + return; + } + $id = $params['id']; + if (! isset( $this->known_scripts[$id] ) ) + { + if (!isset($params['src'])) + { + $smarty->trigger_error("known_script: missing 'src' parameter"); + return; + } + $this->known_scripts[$id] = $params['src']; + $content = '<script type="text/javascript" src="'.$params['src'].'"></script>'; + if (isset($params['now']) and $params['now'] and empty($this->output) ) + { + return $content; + } + $repeat = false; + $this->block_html_head(null, $content, $smarty, $repeat); + } + } + /*static */ function prefilter_white_space($source, &$smarty) { $ld = $smarty->left_delimiter; diff --git a/picture.php b/picture.php index 31a53cbde..6f0af4d6c 100644 --- a/picture.php +++ b/picture.php @@ -622,15 +622,6 @@ foreach (array('first','previous','next','last', 'current') as $which_image) if ($page['slideshow']) { - // Add local-slideshow.css file if exists - // Not only for ligth - $css = PHPWG_ROOT_PATH . get_themeconf('template_dir') . '/theme/' - . get_themeconf('theme') . '/local-slideshow.css'; - if (file_exists($css)) - { - //TODO CORRECT THIS $template->assign_block_vars('slideshow', array()); - } - $tpl_slideshow = array(); //slideshow end diff --git a/template/yoga/index.tpl b/template/yoga/index.tpl index 814cce81f..b6ddd131b 100644 --- a/template/yoga/index.tpl +++ b/template/yoga/index.tpl @@ -10,7 +10,7 @@ {'Sort order'|@translate}: <select onchange="document.location = this.options[this.selectedIndex].value;"> {foreach from=$image_orders item=image_order } - <option value="{$image_order.URL}"{if $image_order.SELECTED} selected="selected"{/if}}>{$image_order.DISPLAY}</option> + <option value="{$image_order.URL}"{if $image_order.SELECTED} selected="selected"{/if}>{$image_order.DISPLAY}</option> {/foreach} </select> </li> diff --git a/template/yoga/theme/Sylvia/themeconf.inc.php b/template/yoga/theme/Sylvia/themeconf.inc.php index 90e3c4e90..f165bef36 100644 --- a/template/yoga/theme/Sylvia/themeconf.inc.php +++ b/template/yoga/theme/Sylvia/themeconf.inc.php @@ -2,10 +2,9 @@ $themeconf = array( 'template' => 'yoga', 'theme' => 'Sylvia', - 'template_dir' => 'template/yoga', 'icon_dir' => 'template/yoga/icon', 'admin_icon_dir' => 'template/yoga/icon/admin', 'mime_icon_dir' => 'template/yoga/icon/mimetypes/', - 'local_head' => '<!-- no theme specific head content -->', + 'local_head' => '', ); ?> diff --git a/template/yoga/theme/clear/themeconf.inc.php b/template/yoga/theme/clear/themeconf.inc.php index 5e3aef9a0..4858b7b50 100644 --- a/template/yoga/theme/clear/themeconf.inc.php +++ b/template/yoga/theme/clear/themeconf.inc.php @@ -2,10 +2,9 @@ $themeconf = array( 'template' => 'yoga', 'theme' => 'clear', - 'template_dir' => 'template/yoga', 'icon_dir' => 'template/yoga/icon', 'admin_icon_dir' => 'template/yoga/icon/admin', 'mime_icon_dir' => 'template/yoga/icon/mimetypes/', - 'local_head' => '<!-- no theme specific head content -->', + 'local_head' => '', ); ?> diff --git a/template/yoga/theme/dark/themeconf.inc.php b/template/yoga/theme/dark/themeconf.inc.php index bdee2e443..d59843ba8 100644 --- a/template/yoga/theme/dark/themeconf.inc.php +++ b/template/yoga/theme/dark/themeconf.inc.php @@ -2,10 +2,9 @@ $themeconf = array( 'template' => 'yoga', 'theme' => 'dark', - 'template_dir' => 'template/yoga', 'icon_dir' => 'template/yoga/icon', 'admin_icon_dir' => 'template/yoga/icon/admin', 'mime_icon_dir' => 'template/yoga/icon/mimetypes/', - 'local_head' => '<!-- no theme specific head content -->', + 'local_head' => '', ); ?> diff --git a/template/yoga/theme/p0w0/themeconf.inc.php b/template/yoga/theme/p0w0/themeconf.inc.php index d24b701ca..063a60bc8 100644 --- a/template/yoga/theme/p0w0/themeconf.inc.php +++ b/template/yoga/theme/p0w0/themeconf.inc.php @@ -2,10 +2,9 @@ $themeconf = array( 'template' => 'yoga', 'theme' => 'p0w0', - 'template_dir' => 'template/yoga', 'icon_dir' => 'template/yoga/icon', 'admin_icon_dir' => 'template/yoga/icon/admin', 'mime_icon_dir' => 'template/yoga/icon/mimetypes/', - 'local_head' => '<!-- no theme specific head content -->', + 'local_head' => '', ); ?> diff --git a/template/yoga/theme/wipi/themeconf.inc.php b/template/yoga/theme/wipi/themeconf.inc.php index 4ac750e46..6644a7590 100644 --- a/template/yoga/theme/wipi/themeconf.inc.php +++ b/template/yoga/theme/wipi/themeconf.inc.php @@ -2,11 +2,10 @@ $themeconf = array( 'template' => 'yoga', 'theme' => 'wipi', - 'template_dir' => 'template/yoga', 'icon_dir' => 'template/yoga/icon', 'admin_icon_dir' => 'template/yoga/icon/admin', 'mime_icon_dir' => 'template/yoga/icon/mimetypes/', - 'local_head' => '<!-- no theme specific head content -->', + 'local_head' => '', ); if ( !isset($lang['Theme: wipi']) ) { |