diff --git a/plugins/language_switch/flags.tpl b/plugins/language_switch/flags.tpl
new file mode 100644
index 000000000..7a30553ee
--- /dev/null
+++ b/plugins/language_switch/flags.tpl
@@ -0,0 +1,48 @@
+
+
+
+{html_head}
+{if $themeconf.template=='yoga' and $themeconf.theme=='Sylvia'}
+
+{else}
+
+{/if}
+{if Componant_exists($LANGUAGE_SWITCH_PATH, 'language_switch-local.css')}
+
+{/if}
+
+{/html_head}
\ No newline at end of file
diff --git a/plugins/language_switch/icons/bg_BG.gif b/plugins/language_switch/icons/bg_BG.gif
deleted file mode 100644
index 87b63669e..000000000
Binary files a/plugins/language_switch/icons/bg_BG.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/bg_BG.jpg b/plugins/language_switch/icons/bg_BG.jpg
new file mode 100644
index 000000000..1cad87973
Binary files /dev/null and b/plugins/language_switch/icons/bg_BG.jpg differ
diff --git a/plugins/language_switch/icons/cz_CZ.gif b/plugins/language_switch/icons/cz_CZ.gif
deleted file mode 100644
index 89686c417..000000000
Binary files a/plugins/language_switch/icons/cz_CZ.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/cz_CZ.jpg b/plugins/language_switch/icons/cz_CZ.jpg
new file mode 100644
index 000000000..3222866cd
Binary files /dev/null and b/plugins/language_switch/icons/cz_CZ.jpg differ
diff --git a/plugins/language_switch/icons/da_DK.jpg b/plugins/language_switch/icons/da_DK.jpg
new file mode 100644
index 000000000..8c98a892b
Binary files /dev/null and b/plugins/language_switch/icons/da_DK.jpg differ
diff --git a/plugins/language_switch/icons/de_DE.gif b/plugins/language_switch/icons/de_DE.gif
deleted file mode 100644
index 9b3009565..000000000
Binary files a/plugins/language_switch/icons/de_DE.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/de_DE.jpg b/plugins/language_switch/icons/de_DE.jpg
new file mode 100644
index 000000000..da843ade8
Binary files /dev/null and b/plugins/language_switch/icons/de_DE.jpg differ
diff --git a/plugins/language_switch/icons/en_UK.gif b/plugins/language_switch/icons/en_UK.gif
deleted file mode 100644
index 51b20e3c1..000000000
Binary files a/plugins/language_switch/icons/en_UK.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/en_UK.jpg b/plugins/language_switch/icons/en_UK.jpg
new file mode 100644
index 000000000..ad551d898
Binary files /dev/null and b/plugins/language_switch/icons/en_UK.jpg differ
diff --git a/plugins/language_switch/icons/es_AR.gif b/plugins/language_switch/icons/es_AR.gif
deleted file mode 100644
index 677979bc5..000000000
Binary files a/plugins/language_switch/icons/es_AR.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/es_AR.jpg b/plugins/language_switch/icons/es_AR.jpg
new file mode 100644
index 000000000..c4cb89682
Binary files /dev/null and b/plugins/language_switch/icons/es_AR.jpg differ
diff --git a/plugins/language_switch/icons/es_ES.gif b/plugins/language_switch/icons/es_ES.gif
deleted file mode 100644
index d0d5adbbb..000000000
Binary files a/plugins/language_switch/icons/es_ES.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/es_ES.jpg b/plugins/language_switch/icons/es_ES.jpg
new file mode 100644
index 000000000..2f3b9ceb4
Binary files /dev/null and b/plugins/language_switch/icons/es_ES.jpg differ
diff --git a/plugins/language_switch/icons/fr_FR.gif b/plugins/language_switch/icons/fr_FR.gif
deleted file mode 100644
index 9080a66bf..000000000
Binary files a/plugins/language_switch/icons/fr_FR.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/fr_FR.jpg b/plugins/language_switch/icons/fr_FR.jpg
new file mode 100644
index 000000000..c93b5e61e
Binary files /dev/null and b/plugins/language_switch/icons/fr_FR.jpg differ
diff --git a/plugins/language_switch/icons/hr_HR.gif b/plugins/language_switch/icons/hr_HR.gif
deleted file mode 100644
index 08b574745..000000000
Binary files a/plugins/language_switch/icons/hr_HR.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/hr_HR.jpg b/plugins/language_switch/icons/hr_HR.jpg
new file mode 100644
index 000000000..9089cd608
Binary files /dev/null and b/plugins/language_switch/icons/hr_HR.jpg differ
diff --git a/plugins/language_switch/icons/hu_HU.gif b/plugins/language_switch/icons/hu_HU.gif
deleted file mode 100644
index 4eb513589..000000000
Binary files a/plugins/language_switch/icons/hu_HU.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/hu_HU.jpg b/plugins/language_switch/icons/hu_HU.jpg
new file mode 100644
index 000000000..e9bbc459e
Binary files /dev/null and b/plugins/language_switch/icons/hu_HU.jpg differ
diff --git a/plugins/language_switch/icons/index.php b/plugins/language_switch/icons/index.php
deleted file mode 100644
index 871b52b6a..000000000
--- a/plugins/language_switch/icons/index.php
+++ /dev/null
@@ -1,30 +0,0 @@
-
diff --git a/plugins/language_switch/icons/it_IT.gif b/plugins/language_switch/icons/it_IT.gif
deleted file mode 100644
index 0ee512d4c..000000000
Binary files a/plugins/language_switch/icons/it_IT.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/it_IT.jpg b/plugins/language_switch/icons/it_IT.jpg
new file mode 100644
index 000000000..dd9bbb95c
Binary files /dev/null and b/plugins/language_switch/icons/it_IT.jpg differ
diff --git a/plugins/language_switch/icons/ja_JP.jpg b/plugins/language_switch/icons/ja_JP.jpg
new file mode 100644
index 000000000..02336b394
Binary files /dev/null and b/plugins/language_switch/icons/ja_JP.jpg differ
diff --git a/plugins/language_switch/icons/mg_MG.gif b/plugins/language_switch/icons/mg_MG.gif
deleted file mode 100644
index 1c840948d..000000000
Binary files a/plugins/language_switch/icons/mg_MG.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/mg_MG.jpg b/plugins/language_switch/icons/mg_MG.jpg
new file mode 100644
index 000000000..c2c96df83
Binary files /dev/null and b/plugins/language_switch/icons/mg_MG.jpg differ
diff --git a/plugins/language_switch/icons/nl_NL.gif b/plugins/language_switch/icons/nl_NL.gif
deleted file mode 100644
index 520e994b7..000000000
Binary files a/plugins/language_switch/icons/nl_NL.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/nl_NL.jpg b/plugins/language_switch/icons/nl_NL.jpg
new file mode 100644
index 000000000..0c90262fe
Binary files /dev/null and b/plugins/language_switch/icons/nl_NL.jpg differ
diff --git a/plugins/language_switch/icons/pl_PL.gif b/plugins/language_switch/icons/pl_PL.gif
deleted file mode 100644
index 66f140606..000000000
Binary files a/plugins/language_switch/icons/pl_PL.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/pl_PL.jpg b/plugins/language_switch/icons/pl_PL.jpg
new file mode 100644
index 000000000..34a1ff3c5
Binary files /dev/null and b/plugins/language_switch/icons/pl_PL.jpg differ
diff --git a/plugins/language_switch/icons/pt_PT.gif b/plugins/language_switch/icons/pt_PT.gif
deleted file mode 100644
index c3127b148..000000000
Binary files a/plugins/language_switch/icons/pt_PT.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/pt_PT.jpg b/plugins/language_switch/icons/pt_PT.jpg
new file mode 100644
index 000000000..b9dd503d4
Binary files /dev/null and b/plugins/language_switch/icons/pt_PT.jpg differ
diff --git a/plugins/language_switch/icons/ru_RU.gif b/plugins/language_switch/icons/ru_RU.gif
deleted file mode 100644
index 39e20a8ba..000000000
Binary files a/plugins/language_switch/icons/ru_RU.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/ru_RU.jpg b/plugins/language_switch/icons/ru_RU.jpg
new file mode 100644
index 000000000..f2286f8e3
Binary files /dev/null and b/plugins/language_switch/icons/ru_RU.jpg differ
diff --git a/plugins/language_switch/icons/zh_CN.gif b/plugins/language_switch/icons/zh_CN.gif
deleted file mode 100644
index bfcae5cce..000000000
Binary files a/plugins/language_switch/icons/zh_CN.gif and /dev/null differ
diff --git a/plugins/language_switch/icons/zh_CN.jpg b/plugins/language_switch/icons/zh_CN.jpg
new file mode 100644
index 000000000..fbcb52df5
Binary files /dev/null and b/plugins/language_switch/icons/zh_CN.jpg differ
diff --git a/plugins/language_switch/language_switch-default.css b/plugins/language_switch/language_switch-default.css
new file mode 100644
index 000000000..4f7872db3
--- /dev/null
+++ b/plugins/language_switch/language_switch-default.css
@@ -0,0 +1,15 @@
+.flag-pan { width:132px; z-index:100; border-width:1px; border-style: solid; background-color: #999; padding: 2px 5px 10px 5px; }
+.content ul.categoryActions .flag-pan a img.flags { margin: 5px 2px 10px; }
+.content ul.categoryActions .flag-pan a { margin: 0; }
+.menuf { width:30px; height:24px; display: inline; }
+.menuf ul li a, .menuf ul li a:visited {display:block; text-decoration:none; width:44px; height:27px; text-align:center; line-height:27px; overflow:hidden;}
+.menuf ul {padding:0; margin:0; list-style: none;}
+.menuf ul li {float:left; position:relative; right: 0; top: 0;}
+.menuf ul li ul {display: none;}/* specific to non IE browsers */
+.menuf li a:hover { border:0 !important;}
+.menuf .flags {border-width:1px !important; ; border-style: solid !important; }
+.menuf ul li:hover ul {display:block; position:absolute; top:0px; left:-96px; }
+.menuf ul li:hover ul li ul {display: none;}
+.menuf ul li:hover ul li {display: block;}
+.menuf ul li:hover ul li a {display:block;}
+.menuf ul li:hover ul li:hover ul {display:block; position:absolute; left:0px; top:0;}
\ No newline at end of file
diff --git a/plugins/language_switch/language_switch-ie6.css b/plugins/language_switch/language_switch-ie6.css
new file mode 100644
index 000000000..73b92a6a2
--- /dev/null
+++ b/plugins/language_switch/language_switch-ie6.css
@@ -0,0 +1,6 @@
+.menuf ul li a.hide, .menuf ul li a:visited.hide {display:none;}
+.menuf ul li a:hover ul li a.hide {display:none;}
+.menuf ul li a:hover ul { display:block; position:absolute; top:-15%; left:-85%; }
+.menuf ul li a:hover ul li a {display:block; }
+.menuf ul li a:hover ul li a ul {visibility:hidden;}
+.menuf ul li a:hover ul li a:hover ul {visibility:visible; position:absolute; left:105px; top:0;}
\ No newline at end of file
diff --git a/plugins/language_switch/language_switch.css b/plugins/language_switch/language_switch.css
new file mode 100644
index 000000000..434368366
--- /dev/null
+++ b/plugins/language_switch/language_switch.css
@@ -0,0 +1,16 @@
+.flag-pan { width:132px; z-index:100; border:2px solid; background-color: #111; padding: 2px 5px 10px 5px;
+-moz-border-radius-bottomleft:8px; -moz-border-radius-bottomright:8px; -moz-border-radius-topleft:8px; -moz-border-radius-topright:8px;}
+.content ul.categoryActions .flag-pan a img.flags { margin: 5px 2px 10px; }
+.content ul.categoryActions .flag-pan a { margin: 0; }
+.menuf { width:30px; height:24px; display: inline; }
+.menuf ul li a, .menuf ul li a:visited {display:block; text-decoration:none; width:44px; height:27px; text-align:center; line-height:27px; overflow:hidden;}
+.menuf ul {padding:0; margin:0; list-style: none;}
+.menuf ul li {float:left; position:relative; right: 0; top: 0;}
+.menuf ul li ul {display: none;}/* specific to non IE browsers */
+.menuf li a:hover { border:0 !important;}
+.menuf .flags {border:1px solid #000 !important; }
+.menuf ul li:hover ul {display:block; position:absolute; top:0px; left:-96px; }
+.menuf ul li:hover ul li ul {display: none;}
+.menuf ul li:hover ul li {display: block;}
+.menuf ul li:hover ul li a {display:block;}
+.menuf ul li:hover ul li:hover ul {display:block; position:absolute; left:0px; top:0;}
\ No newline at end of file
diff --git a/plugins/language_switch/language_switch.inc.php b/plugins/language_switch/language_switch.inc.php
index 21a112567..07ba1e1ab 100644
--- a/plugins/language_switch/language_switch.inc.php
+++ b/plugins/language_switch/language_switch.inc.php
@@ -20,6 +20,8 @@
// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
// | USA. |
// +-----------------------------------------------------------------------+
+if (!defined('LANGUAGE_SWITCH_PATH'))
+define('LANGUAGE_SWITCH_PATH' , PHPWG_PLUGINS_PATH . basename(dirname(__FILE__)) . '/');
function language_switch()
{
global $user, $template, $conf, $lang;
@@ -66,8 +68,53 @@ function language_switch()
}
}
//if ( isset( $_GET['lang']) ) { redirect( make_index_url() ); }
-
function Lang_flags()
+{
+ global $user, $template;
+ $available_lang = get_languages();
+ $lsw = array();
+ foreach ( $available_lang as $code => $displayname )
+ {
+ $qlc_url = add_url_params( make_index_url(), array( 'lang' => $code ) );
+ $qlc_alt = ucwords( $displayname );
+ $qlc_img = 'plugins/language_switch/icons/'
+ . $code . '.jpg';
+ if ( $code !== $user['language'] and file_exists(PHPWG_ROOT_PATH.$qlc_img) )
+ {
+ $lsw['flags'][$code] = Array(
+ 'url' => $qlc_url,
+ 'alt' => $qlc_alt,
+ 'img' => $qlc_img,
+ ) ;
+ } else {
+ $lsw['Active'] = Array(
+ 'url' => $qlc_url,
+ 'alt' => $qlc_alt,
+ 'img' => $qlc_img,
+ );
+ }
+ }
+ $template->set_filename('language_flags', dirname(__FILE__) . '/flags.tpl');
+ $lsw['side'] = ceil(sqrt(count($available_lang)));
+ $template->assign(array(
+ 'lang_switch'=> $lsw,
+ 'LANGUAGE_SWITCH_PATH' => LANGUAGE_SWITCH_PATH,
+ ));
+ $flags = $template->parse('language_flags',true);
+ $template->clear_assign('lang_switch');
+ $template->concat( 'PLUGIN_INDEX_ACTIONS', $flags);
+ // In state of making a $flags each time TODO Caching $flags[$user['language']]
+}
+
+if (!function_exists('Componant_exists')) {
+ function Componant_exists($path, $file)
+ {
+ return file_exists( $path . $file);
+ }
+}
+
+// Should be deleted later
+function Lang_flags_previous_function()
{
global $user, $template;
$available_lang = get_languages();
diff --git a/plugins/language_switch/main.inc.php b/plugins/language_switch/main.inc.php
index aaf3f20c1..c5887c364 100644
--- a/plugins/language_switch/main.inc.php
+++ b/plugins/language_switch/main.inc.php
@@ -23,7 +23,7 @@
/*
Plugin Name: Language Switch
-Version: 2.0.2
+Version: 2.0.2a
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