mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-06-02 04:15:05 +02:00
merge r3477 from branch 2.0 to trunk
Bug 964 fixed and more + ?&lang=en_UK" => ?lang=en_UK" + =&lang=en_UK" => &lang=en_UK" + Works for any combinations of $conf['question_mark_in_urls'] $conf['php_extension_in_urls'] => BUT force a return to home in some cases. + Full technical code review git-svn-id: http://piwigo.org/svn/trunk@3479 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
<ul class="flag-pan">
|
||||
{foreach from=$lang_switch.flags key=code item=flag name=f}
|
||||
<li>
|
||||
<a rel="nofollow" href="{$flag.url}">
|
||||
<a rel="nofollow" href="{$SCRIPT_NAME}{$flag.url}">
|
||||
<img class="flags" src="{$flag.img}" alt="{$flag.alt}" title="{$flag.alt}"/>
|
||||
</a>
|
||||
</li>
|
||||
@@ -35,14 +35,14 @@
|
||||
</li>
|
||||
{html_head}
|
||||
{if $themeconf.template=='yoga' and $themeconf.theme=='Sylvia'}
|
||||
<link rel="stylesheet" type="text/css" href="{$LANGUAGE_SWITCH_PATH|@cat:'language_switch.css'}">
|
||||
<link rel="stylesheet" type="text/css" href="{$ROOT_URL}{$LANGUAGE_SWITCH_PATH|@cat:'language_switch.css'}">
|
||||
{else}
|
||||
<link rel="stylesheet" type="text/css" href="{$LANGUAGE_SWITCH_PATH|@cat:'language_switch-default.css'}">
|
||||
<link rel="stylesheet" type="text/css" href="{$ROOT_URL}{$LANGUAGE_SWITCH_PATH|@cat:'language_switch-default.css'}">
|
||||
{/if}
|
||||
{if Componant_exists($LANGUAGE_SWITCH_PATH, 'language_switch-local.css')}
|
||||
<link rel="stylesheet" type="text/css" href="{$LANGUAGE_SWITCH_PATH|@cat:'language_switch-local.css'}">
|
||||
<link rel="stylesheet" type="text/css" href="{$ROOT_URL}{$LANGUAGE_SWITCH_PATH|@cat:'language_switch-local.css'}">
|
||||
{/if}
|
||||
<!--[if lte IE 6]>
|
||||
<link rel="stylesheet" type="text/css" href="{$LANGUAGE_SWITCH_PATH|@cat:'language_switch-ie6.css'}">
|
||||
<link rel="stylesheet" type="text/css" href="{$ROOT_URL}{$LANGUAGE_SWITCH_PATH|@cat:'language_switch-ie6.css'}">
|
||||
<![endif]-->
|
||||
{/html_head}
|
||||
@@ -60,21 +60,18 @@ class language_controler {
|
||||
global $user, $template, $conf;
|
||||
$available_lang = get_languages();
|
||||
if ( isset($conf['no_flag_languages']) )
|
||||
$available_lang = array_diff_key($available_lang, array_flip($conf['no_flag_languages']));
|
||||
$url_starting = $_SERVER['REQUEST_URI'];
|
||||
if ( isset( $_GET['lang']) ) {
|
||||
$pos = stripos ( $url_starting , '&lang=' );
|
||||
if (is_numeric($pos) and $pos > 0) $url_starting = substr($url_starting, 0, $pos);
|
||||
}
|
||||
$pos = stripos($url_starting, script_basename());
|
||||
if (is_numeric($pos)) $url_starting = substr($url_starting, $pos);
|
||||
$available_lang =
|
||||
array_diff_key($available_lang, array_flip($conf['no_flag_languages']));
|
||||
$url_starting = get_query_string_diff(array('lang'));
|
||||
foreach ( $available_lang as $code => $displayname ) {
|
||||
$qlc = array (
|
||||
'url' => add_url_params( $url_starting, array('lang'=> $code) ),
|
||||
'url' => str_replace(array('=&','?&'),array('&','?'),
|
||||
add_url_params( $url_starting, array('lang'=> $code) )),
|
||||
'alt' => ucwords( $displayname ),
|
||||
'img' => 'plugins/language_switch/icons/' . $code . '.jpg',
|
||||
'img' => get_root_url().'plugins/language_switch/icons/' . $code . '.jpg',
|
||||
);
|
||||
if ( $code !== $user['language'] and file_exists(PHPWG_ROOT_PATH.$qlc['img']) )
|
||||
if ( $code !== $user['language'] and
|
||||
file_exists(dirname(__FILE__) . '/icons/' . $code . '.jpg') )
|
||||
$lsw['flags'][$code] = $qlc ;
|
||||
else $lsw['Active'] = $qlc;
|
||||
}
|
||||
@@ -87,7 +84,6 @@ class language_controler {
|
||||
$flags = $template->parse('language_flags',true);
|
||||
$template->clear_assign('lang_switch');
|
||||
$template->concat( 'PLUGIN_INDEX_ACTIONS', $flags);
|
||||
// TODO : Try to cache $flags and $user['language'] in $_SESSION for performance
|
||||
}
|
||||
}
|
||||
/* {html_head} usage function */
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
/*
|
||||
Plugin Name: Language Switch
|
||||
Version: 2.0.2a
|
||||
Version: 2.0.2b
|
||||
Description: Switch to another language from flags on your gallery home page.
|
||||
Plugin URI: http://piwigo.org/ext/extension_view.php?eid=123
|
||||
Author: Piwigo team
|
||||
@@ -31,6 +31,7 @@ Author URI: http://piwigo.org
|
||||
*/
|
||||
|
||||
include_once(PHPWG_PLUGINS_PATH.'language_switch/language_switch.inc.php');
|
||||
add_event_handler('loading_lang', 'language_controler::_switch', 5 );
|
||||
add_event_handler('loc_end_index', 'language_controler::_flags', 95 );
|
||||
$language_controler = new language_controler();
|
||||
add_event_handler('loading_lang', array(&$language_controler, '_switch'), 5 );
|
||||
add_event_handler('loc_end_index', array(&$language_controler, '_flags'), 95 );
|
||||
?>
|
||||
Reference in New Issue
Block a user