aboutsummaryrefslogtreecommitdiffstats
path: root/admin/languages_installed.php
diff options
context:
space:
mode:
authorpatdenice <patdenice@piwigo.org>2010-03-25 20:18:28 +0000
committerpatdenice <patdenice@piwigo.org>2010-03-25 20:18:28 +0000
commit6b445114da301438f386eeb9853448b53fd9e516 (patch)
tree029b826deec8d484047a7394c92b9477f3e54f43 /admin/languages_installed.php
parent7ebdbee901b1290fc3578b81241b25227c786efb (diff)
Feature 1535: Add language manager.
git-svn-id: http://piwigo.org/svn/trunk@5357 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin/languages_installed.php')
-rw-r--r--admin/languages_installed.php90
1 files changed, 90 insertions, 0 deletions
diff --git a/admin/languages_installed.php b/admin/languages_installed.php
new file mode 100644
index 000000000..ec12ae74b
--- /dev/null
+++ b/admin/languages_installed.php
@@ -0,0 +1,90 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008-2009 Piwigo Team http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+if( !defined("PHPWG_ROOT_PATH") )
+{
+ die ("Hacking attempt!");
+}
+
+include_once(PHPWG_ROOT_PATH.'admin/include/languages.class.php');
+
+$template->set_filenames(array('languages' => 'languages_installed.tpl'));
+
+$base_url = get_root_url().'admin.php?page='.$page['page'];
+
+$languages = new languages();
+$languages->get_db_languages();
+
+//--------------------------------------------------perform requested actions
+if (isset($_GET['action']) and isset($_GET['language']) and !is_adviser())
+{
+ $page['errors'] = $languages->perform_action($_GET['action'], $_GET['language']);
+
+ if (empty($page['errors']))
+ {
+ redirect($base_url);
+ }
+}
+
+// +-----------------------------------------------------------------------+
+// | start template output |
+// +-----------------------------------------------------------------------+
+$default_language = get_default_language();
+
+foreach($languages->fs_languages as $language_id => $language_name)
+{
+ $template->append('languages', array(
+ 'ID' => $language_id,
+ 'NAME' => $language_name,
+ 'U_ACTION' => $base_url.'&amp;language='.$language_id,
+ 'STATE' => isset($languages->db_languages[$language_id]) ? 'active' : '',
+ 'IS_DEFAULT' => $language_id == $default_language,
+ )
+ );
+}
+
+
+$missing_language_ids = array_diff(
+ array_keys($languages->db_languages),
+ array_keys($languages->fs_languages)
+ );
+
+foreach($missing_language_ids as $language_id)
+{
+ $query = '
+UPDATE '.USER_INFOS_TABLE.'
+ SET language = "'.get_default_language().'"
+ WHERE language = "'.$language_id.'"
+;';
+ pwg_query($query);
+
+ $query = "
+DELETE
+ FROM ".LANGUAGES_TABLE."
+ WHERE id= '".$language_id."'
+;";
+ pwg_query($query);
+}
+
+$template->assign_var_from_handle('ADMIN_CONTENT', 'languages');
+?> \ No newline at end of file