aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpatdenice <patdenice@piwigo.org>2010-03-25 10:27:17 +0000
committerpatdenice <patdenice@piwigo.org>2010-03-25 10:27:17 +0000
commit06c7acda4fcc465ee5f7bd29ae47ee380535ba83 (patch)
tree190d28cf8dfaa4487b5e6930dba2cd5a3b917e44
parent663be9ca638c12d889036d5143fd6553f2575373 (diff)
Feature 1535: Add languages table.
Ready for theme manager! git-svn-id: http://piwigo.org/svn/trunk@5341 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r--include/constants.php2
-rw-r--r--install.php16
-rw-r--r--install/db/85-database.php5
-rw-r--r--install/db/90-database.php62
-rw-r--r--install/piwigo_structure-mysql.sql12
5 files changed, 95 insertions, 2 deletions
diff --git a/include/constants.php b/include/constants.php
index 26bf5b0f1..eb4611f32 100644
--- a/include/constants.php
+++ b/include/constants.php
@@ -104,5 +104,7 @@ if (!defined('OLD_PERMALINKS_TABLE'))
define('OLD_PERMALINKS_TABLE', $prefixeTable.'old_permalinks');
if (!defined('THEMES_TABLE'))
define('THEMES_TABLE', $prefixeTable.'themes');
+if (!defined('LANGUAGES_TABLE'))
+ define('LANGUAGES_TABLE', $prefixeTable.'languages');
?> \ No newline at end of file
diff --git a/install.php b/install.php
index 6e47bafe8..e1d7a96fe 100644
--- a/install.php
+++ b/install.php
@@ -273,11 +273,12 @@ if ( isset( $_POST['install'] ))
$pwg_db_charset = 'utf8';
if ($dblayer=='mysql')
{
- $install_charset_collate = "DEFAULT CHARACTER SET $pwg_db_charset";
+ $install_charset_collate = "DEFAULT CHARACTER SET $pwg_db_charset";
+ pwg_query('SET NAMES "'.$pwg_db_charset.'"');
}
else
{
- $install_charset_collate = '';
+ $install_charset_collate = '';
}
}
else
@@ -373,6 +374,17 @@ INSERT INTO '.$prefixeTable.'config (param,value,comment)
\'a secret key specific to the gallery for internal use\');';
pwg_query($query);
+ // fill languages table
+ $inserts = array();
+ foreach (get_languages('utf-8') as $language_code => $language_name)
+ {
+ $inserts[] = array(
+ 'id' => $language_code,
+ 'name' => $language_name,
+ );
+ }
+ mass_inserts(LANGUAGES_TABLE, array('id', 'name'), $inserts);
+
// fill $conf global array
load_conf_from_db();
diff --git a/install/db/85-database.php b/install/db/85-database.php
index 97ed40f8a..16496abc1 100644
--- a/install/db/85-database.php
+++ b/install/db/85-database.php
@@ -36,6 +36,11 @@ CREATE TABLE ".PREFIX_TABLE."themes (
PRIMARY KEY (`id`)
)";
+if (DB_CHARSET == 'utf8')
+{
+ $query .= " DEFAULT CHARACTER SET utf8";
+}
+
pwg_query($query);
echo
diff --git a/install/db/90-database.php b/install/db/90-database.php
new file mode 100644
index 000000000..2daa931a1
--- /dev/null
+++ b/install/db/90-database.php
@@ -0,0 +1,62 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008-2010 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!');
+}
+
+$upgrade_description = 'Add a table to manage languages.';
+
+$query = "
+CREATE TABLE ".PREFIX_TABLE."languages (
+ `id` varchar(64) NOT NULL default '',
+ `version` varchar(64) NOT NULL default '0',
+ `name` varchar(64) default NULL,
+ PRIMARY KEY (`id`)
+)";
+
+if (DB_CHARSET == 'utf8')
+{
+ $query .= " DEFAULT CHARACTER SET utf8";
+}
+
+pwg_query($query);
+
+// Fill table
+$inserts = array();
+foreach (get_languages('utf-8') as $language_code => $language_name)
+{
+ $inserts[] = array(
+ 'id' => $language_code,
+ 'name' => $language_name,
+ );
+}
+mass_inserts(PREFIX_TABLE.'languages', array('id', 'name'), $inserts);
+
+echo
+"\n"
+. $upgrade_description
+."\n"
+;
+?> \ No newline at end of file
diff --git a/install/piwigo_structure-mysql.sql b/install/piwigo_structure-mysql.sql
index a187378b0..e9f0eb0dc 100644
--- a/install/piwigo_structure-mysql.sql
+++ b/install/piwigo_structure-mysql.sql
@@ -204,6 +204,18 @@ CREATE TABLE `piwigo_images` (
) TYPE=MyISAM;
--
+-- Table structure for table `piwigo_languages`
+--
+
+DROP TABLE IF EXISTS `piwigo_languages`;
+CREATE TABLE `piwigo_languages` (
+ `id` varchar(64) NOT NULL default '',
+ `version` varchar(64) NOT NULL default '0',
+ `name` varchar(64) default NULL,
+ PRIMARY KEY (`id`)
+) TYPE=MyISAM;
+
+--
-- Table structure for table `piwigo_old_permalinks`
--