mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-02-16 18:31:26 +01:00
limited the length of the message_id to 230 and defined a constant for it
This commit is contained in:
parent
456493f188
commit
6b1cfa855e
@ -161,8 +161,15 @@
|
|||||||
{
|
{
|
||||||
$setup_info['depends'][$depkey]['status'] = True;
|
$setup_info['depends'][$depkey]['status'] = True;
|
||||||
}
|
}
|
||||||
else
|
else // check if majors are equal and minors greater or equal
|
||||||
{
|
{
|
||||||
|
$major_depsvalue = $GLOBALS['phpgw_setup']->get_major($depsvalue);
|
||||||
|
list(,,,$minor_depsvalue) = explode('.',$depsvalue);
|
||||||
|
list(,,,$minor) = explode('.',$setup_info[$value['depends'][$depkey]['appname']]['currentver']);
|
||||||
|
if ($major == $major_depsvalue && $minor <= $minor_depsvalue)
|
||||||
|
{
|
||||||
|
$setup_info['depends'][$depkey]['status'] = True;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -330,18 +337,18 @@
|
|||||||
{
|
{
|
||||||
$GLOBALS['setup_info'] = $GLOBALS['phpgw_setup']->detection->get_db_versions($GLOBALS['setup_info']);
|
$GLOBALS['setup_info'] = $GLOBALS['phpgw_setup']->detection->get_db_versions($GLOBALS['setup_info']);
|
||||||
}
|
}
|
||||||
if($GLOBALS['phpgw_setup']->alessthanb($GLOBALS['setup_info']['phpgwapi']['currentver'], '0.9.15.002'))
|
if($GLOBALS['phpgw_setup']->alessthanb($GLOBALS['setup_info']['phpgwapi']['currentver'], '0.9.14.501') ||
|
||||||
|
ereg('0\.9\.15\.00[01]{1,1}',$GLOBALS['setup_info']['phpgwapi']['currentver']))
|
||||||
{
|
{
|
||||||
$langtbl = 'lang';
|
$langtbl = 'lang';
|
||||||
$langstbl = 'languages';
|
$languagestbl = 'languages';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$langtbl = 'phpgw_lang';
|
$langtbl = 'phpgw_lang';
|
||||||
$langstbl = 'phpgw_languages';
|
$languagestbl = 'phpgw_languages';
|
||||||
}
|
}
|
||||||
|
$GLOBALS['phpgw_setup']->db->query($q = "SELECT DISTINCT lang FROM $langtbl",__LINE__,__FILE__);
|
||||||
$GLOBALS['phpgw_setup']->db->query("SELECT DISTINCT lang FROM $langtbl",__LINE__,__FILE__);
|
|
||||||
if($GLOBALS['phpgw_setup']->db->num_rows() == 0)
|
if($GLOBALS['phpgw_setup']->db->num_rows() == 0)
|
||||||
{
|
{
|
||||||
$GLOBALS['phpgw_info']['setup']['header_msg'] = 'Stage 3 (No languages installed)';
|
$GLOBALS['phpgw_info']['setup']['header_msg'] = 'Stage 3 (No languages installed)';
|
||||||
@ -356,7 +363,7 @@
|
|||||||
reset($GLOBALS['phpgw_info']['setup']['installed_langs']);
|
reset($GLOBALS['phpgw_info']['setup']['installed_langs']);
|
||||||
while(list($key, $value) = each($GLOBALS['phpgw_info']['setup']['installed_langs']))
|
while(list($key, $value) = each($GLOBALS['phpgw_info']['setup']['installed_langs']))
|
||||||
{
|
{
|
||||||
$sql = "SELECT lang_name FROM $langstbl WHERE lang_id = '".$value."'";
|
$sql = "SELECT lang_name FROM $languagestbl WHERE lang_id = '".$value."'";
|
||||||
$GLOBALS['phpgw_setup']->db->query($sql);
|
$GLOBALS['phpgw_setup']->db->query($sql);
|
||||||
$GLOBALS['phpgw_setup']->db->next_record();
|
$GLOBALS['phpgw_setup']->db->next_record();
|
||||||
$GLOBALS['phpgw_info']['setup']['installed_langs'][$value] = $GLOBALS['phpgw_setup']->db->f('lang_name');
|
$GLOBALS['phpgw_info']['setup']['installed_langs'][$value] = $GLOBALS['phpgw_setup']->db->f('lang_name');
|
||||||
|
@ -23,10 +23,14 @@
|
|||||||
|
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
|
if (!defined('MAX_MESSAGE_ID_LENGTH'))
|
||||||
|
{
|
||||||
|
define('MAX_MESSAGE_ID_LENGTH',230);
|
||||||
|
}
|
||||||
|
|
||||||
class setup_translation
|
class setup_translation
|
||||||
{
|
{
|
||||||
var $langarray;
|
var $langarray;
|
||||||
var $langtbl = 'phpgw_lang';
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@function setup_lang
|
@function setup_lang
|
||||||
@ -37,14 +41,6 @@
|
|||||||
{
|
{
|
||||||
$ConfigLang = get_var('ConfigLang',Array('POST','COOKIE'));
|
$ConfigLang = get_var('ConfigLang',Array('POST','COOKIE'));
|
||||||
|
|
||||||
/* TODO */
|
|
||||||
/*
|
|
||||||
if(@$GLOBALS['phpgw_setup']->alessthanb(@$GLOBALS['setup_info']['phpgwapi']['currentver'], '0.9.15.002'))
|
|
||||||
{
|
|
||||||
$this->langtbl = 'lang';
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
if(!$ConfigLang)
|
if(!$ConfigLang)
|
||||||
{
|
{
|
||||||
$lang = 'en';
|
$lang = 'en';
|
||||||
@ -77,7 +73,7 @@
|
|||||||
fclose($fp);
|
fclose($fp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
@function translate
|
@function translate
|
||||||
@abstract Translate phrase to user selected lang
|
@abstract Translate phrase to user selected lang
|
||||||
@ -128,7 +124,7 @@
|
|||||||
{
|
{
|
||||||
echo '<br>get_langs(): checking db...' . "\n";
|
echo '<br>get_langs(): checking db...' . "\n";
|
||||||
}
|
}
|
||||||
$GLOBALS['phpgw_setup']->db->query("SELECT DISTINCT(lang) FROM $this->langtbl",__LINE__,__FILE__);
|
$GLOBALS['phpgw_setup']->db->query("SELECT DISTINCT(lang) FROM phpgw_lang",__LINE__,__FILE__);
|
||||||
$langs = array();
|
$langs = array();
|
||||||
|
|
||||||
while($GLOBALS['phpgw_setup']->db->next_record())
|
while($GLOBALS['phpgw_setup']->db->next_record())
|
||||||
@ -153,11 +149,11 @@
|
|||||||
{
|
{
|
||||||
echo '<br>drop_langs(): Working on: ' . $appname;
|
echo '<br>drop_langs(): Working on: ' . $appname;
|
||||||
}
|
}
|
||||||
$GLOBALS['phpgw_setup']->db->query("SELECT COUNT(message_id) FROM $this->langtbl WHERE app_name='$appname'",__LINE__,__FILE__);
|
$GLOBALS['phpgw_setup']->db->query("SELECT COUNT(message_id) FROM phpgw_lang WHERE app_name='$appname'",__LINE__,__FILE__);
|
||||||
$GLOBALS['phpgw_setup']->db->next_record();
|
$GLOBALS['phpgw_setup']->db->next_record();
|
||||||
if($GLOBALS['phpgw_setup']->db->f(0))
|
if($GLOBALS['phpgw_setup']->db->f(0))
|
||||||
{
|
{
|
||||||
$GLOBALS['phpgw_setup']->db->query("DELETE FROM $this->langtbl WHERE app_name='$appname'",__LINE__,__FILE__);
|
$GLOBALS['phpgw_setup']->db->query("DELETE FROM phpgw_lang WHERE app_name='$appname'",__LINE__,__FILE__);
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
return False;
|
return False;
|
||||||
@ -202,13 +198,13 @@
|
|||||||
while (list($null,$line) = @each($raw_file))
|
while (list($null,$line) = @each($raw_file))
|
||||||
{
|
{
|
||||||
list($message_id,$app_name,$GLOBALS['phpgw_setup']->db_lang,$content) = explode("\t",$line);
|
list($message_id,$app_name,$GLOBALS['phpgw_setup']->db_lang,$content) = explode("\t",$line);
|
||||||
$message_id = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($message_id));
|
$message_id = $GLOBALS['phpgw_setup']->db->db_addslashes(chop(substr($message_id,0,MAX_MESSAGE_ID_LENGTH)));
|
||||||
/* echo '<br>APPNAME:' . $app_name . ' PHRASE:' . $message_id; */
|
/* echo '<br>APPNAME:' . $app_name . ' PHRASE:' . $message_id; */
|
||||||
$app_name = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($app_name));
|
$app_name = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($app_name));
|
||||||
$GLOBALS['phpgw_setup']->db_lang = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($GLOBALS['phpgw_setup']->db_lang));
|
$GLOBALS['phpgw_setup']->db_lang = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($GLOBALS['phpgw_setup']->db_lang));
|
||||||
$content = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($content));
|
$content = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($content));
|
||||||
|
|
||||||
$GLOBALS['phpgw_setup']->db->query("SELECT COUNT(*) FROM $this->langtbl WHERE message_id='$message_id' and lang='"
|
$GLOBALS['phpgw_setup']->db->query("SELECT COUNT(*) FROM phpgw_lang WHERE message_id='$message_id' and lang='"
|
||||||
. $GLOBALS['phpgw_setup']->db_lang . "'",__LINE__,__FILE__);
|
. $GLOBALS['phpgw_setup']->db_lang . "'",__LINE__,__FILE__);
|
||||||
$GLOBALS['phpgw_setup']->db->next_record();
|
$GLOBALS['phpgw_setup']->db->next_record();
|
||||||
|
|
||||||
@ -218,10 +214,10 @@
|
|||||||
{
|
{
|
||||||
if($DEBUG)
|
if($DEBUG)
|
||||||
{
|
{
|
||||||
echo "<br>add_langs(): adding - INSERT INTO $this->langtbl VALUES ('$message_id','$app_name','"
|
echo "<br>add_langs(): adding - INSERT INTO phpgw_lang VALUES ('$message_id','$app_name','"
|
||||||
. $GLOBALS['phpgw_setup']->db_lang . "','$content')";
|
. $GLOBALS['phpgw_setup']->db_lang . "','$content')";
|
||||||
}
|
}
|
||||||
$GLOBALS['phpgw_setup']->db->query("INSERT INTO $this->langtbl VALUES ('$message_id','$app_name','"
|
$GLOBALS['phpgw_setup']->db->query("INSERT INTO phpgw_lang VALUES ('$message_id','$app_name','"
|
||||||
. $GLOBALS['phpgw_setup']->db_lang . "','$content')",__LINE__,__FILE__);
|
. $GLOBALS['phpgw_setup']->db_lang . "','$content')",__LINE__,__FILE__);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,13 @@
|
|||||||
|
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
|
// define the maximal length of a message_id, all message_ids have to be unique
|
||||||
|
// in this length, our column is varchar 255, but addslashes might add some length
|
||||||
|
if (!defined('MAX_MESSAGE_ID_LENGTH'))
|
||||||
|
{
|
||||||
|
define('MAX_MESSAGE_ID_LENGTH',230);
|
||||||
|
}
|
||||||
|
|
||||||
class translation
|
class translation
|
||||||
{
|
{
|
||||||
var $lang = array();
|
var $lang = array();
|
||||||
@ -103,7 +110,7 @@
|
|||||||
$vars = array();
|
$vars = array();
|
||||||
}
|
}
|
||||||
$ret = $key;
|
$ret = $key;
|
||||||
$_key = strtolower($key);
|
$_key = substr(strtolower($key),0,MAX_MESSAGE_ID_LENGTH);
|
||||||
|
|
||||||
if(!@isset($this->lang[$_key]) && !$this->loaded)
|
if(!@isset($this->lang[$_key]) && !$this->loaded)
|
||||||
{
|
{
|
||||||
@ -140,4 +147,22 @@
|
|||||||
$GLOBALS['phpgw']->db->next_record();
|
$GLOBALS['phpgw']->db->next_record();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
@function get_installed_langs
|
||||||
|
@returns array of installed langs, in the form eg. 'de' => 'German'
|
||||||
|
*/
|
||||||
|
function get_installed_langs()
|
||||||
|
{
|
||||||
|
$GLOBALS['phpgw']->db->query("SELECT DISTINCT l.lang,ln.lang_name FROM phpgw_lang l,phpgw_languages ln WHERE l.lang = ln.lang_id",__LINE__,__FILE__);
|
||||||
|
if (!$GLOBALS['phpgw']->db->num_rows())
|
||||||
|
{
|
||||||
|
return False;
|
||||||
|
}
|
||||||
|
while ($GLOBALS['phpgw']->db->next_record())
|
||||||
|
{
|
||||||
|
$langs[$GLOBALS['phpgw']->db->f('lang')] = $GLOBALS['phpgw']->db->f('lang_name');
|
||||||
|
}
|
||||||
|
return $langs;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,11 @@
|
|||||||
$submit = True;
|
$submit = True;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!defined('MAX_MESSAGE_ID_LENGTH'))
|
||||||
|
{
|
||||||
|
define('MAX_MESSAGE_ID_LENGTH',230);
|
||||||
|
}
|
||||||
|
|
||||||
if (@$GLOBALS['HTTP_POST_VARS']['submit'])
|
if (@$GLOBALS['HTTP_POST_VARS']['submit'])
|
||||||
{
|
{
|
||||||
$lang_selected = @$GLOBALS['HTTP_POST_VARS']['lang_selected'];
|
$lang_selected = @$GLOBALS['HTTP_POST_VARS']['lang_selected'];
|
||||||
@ -66,7 +71,7 @@
|
|||||||
//echo '<br>Test: dumpold';
|
//echo '<br>Test: dumpold';
|
||||||
$GLOBALS['phpgw_info']['server']['lang_ctimes'] = array();
|
$GLOBALS['phpgw_info']['server']['lang_ctimes'] = array();
|
||||||
}
|
}
|
||||||
while (list($null,$lang) = each($lang_selected))
|
foreach($lang_selected as $lang)
|
||||||
{
|
{
|
||||||
//echo '<br>Working on: ' . $lang;
|
//echo '<br>Working on: ' . $lang;
|
||||||
$addlang = False;
|
$addlang = False;
|
||||||
@ -87,8 +92,8 @@
|
|||||||
//echo '<br>Test: loop above file()';
|
//echo '<br>Test: loop above file()';
|
||||||
$setup_info = $GLOBALS['phpgw_setup']->detection->get_versions();
|
$setup_info = $GLOBALS['phpgw_setup']->detection->get_versions();
|
||||||
$setup_info = $GLOBALS['phpgw_setup']->detection->get_db_versions($setup_info);
|
$setup_info = $GLOBALS['phpgw_setup']->detection->get_db_versions($setup_info);
|
||||||
$raw = $raw_file = array();
|
$raw = array();
|
||||||
// Visit each app/setup dir, look for a lang file
|
// Visit each app/setup dir, look for a phpgw_lang file
|
||||||
while (list($key,$app) = each($setup_info))
|
while (list($key,$app) = each($setup_info))
|
||||||
{
|
{
|
||||||
$appfile = PHPGW_SERVER_ROOT . SEP . $app['name'] . SEP . 'setup' . SEP . 'phpgw_' . strtolower($lang) . '.lang';
|
$appfile = PHPGW_SERVER_ROOT . SEP . $app['name'] . SEP . 'setup' . SEP . 'phpgw_' . strtolower($lang) . '.lang';
|
||||||
@ -96,27 +101,29 @@
|
|||||||
if($GLOBALS['phpgw_setup']->app_registered($app['name']) && file_exists($appfile))
|
if($GLOBALS['phpgw_setup']->app_registered($app['name']) && file_exists($appfile))
|
||||||
{
|
{
|
||||||
//echo '<br>Including: ' . $appfile;
|
//echo '<br>Including: ' . $appfile;
|
||||||
$raw[] = file($appfile);
|
$lines = file($appfile);
|
||||||
|
foreach($lines as $line)
|
||||||
|
{
|
||||||
|
list($message_id,$app_name,,$content) = explode("\t",$line);
|
||||||
|
$message_id = $GLOBALS['phpgw_setup']->db->db_addslashes(substr(chop($message_id),0,MAX_MESSAGE_ID_LENGTH));
|
||||||
|
$app_name = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($app_name));
|
||||||
|
$content = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($content));
|
||||||
|
|
||||||
|
$raw[$app_name][$message_id] = $content;
|
||||||
|
}
|
||||||
$GLOBALS['phpgw_info']['server']['lang_ctimes'][$lang][$app['name']] = filectime($appfile);
|
$GLOBALS['phpgw_info']['server']['lang_ctimes'][$lang][$app['name']] = filectime($appfile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@reset($raw);
|
foreach($raw as $app_name => $ids)
|
||||||
while (list($a,$raw_file) = @each($raw))
|
|
||||||
{
|
{
|
||||||
while (list($_null,$line) = @each($raw_file))
|
foreach($ids as $message_id => $content)
|
||||||
{
|
{
|
||||||
$addit = False;
|
$addit = False;
|
||||||
list($message_id,$app_name,$GLOBALS['phpgw_setup']->db_lang,$content) = explode("\t",$line);
|
|
||||||
$message_id = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($message_id));
|
|
||||||
//echo '<br>APPNAME:' . $app_name . ' PHRASE:' . $message_id;
|
//echo '<br>APPNAME:' . $app_name . ' PHRASE:' . $message_id;
|
||||||
$app_name = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($app_name));
|
|
||||||
$GLOBALS['phpgw_setup']->db_lang = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($GLOBALS['phpgw_setup']->db_lang));
|
|
||||||
$content = $GLOBALS['phpgw_setup']->db->db_addslashes(chop($content));
|
|
||||||
if ($upgrademethod == 'addmissing')
|
if ($upgrademethod == 'addmissing')
|
||||||
{
|
{
|
||||||
//echo '<br>Test: addmissing';
|
//echo '<br>Test: addmissing';
|
||||||
$GLOBALS['phpgw_setup']->db->query("SELECT COUNT(*) FROM phpgw_lang WHERE message_id='".$message_id."' and lang='".$GLOBALS['phpgw_setup']->db_lang."' and (app_name='".$app_name."' or app_name='common')",__LINE__,__FILE__);
|
$GLOBALS['phpgw_setup']->db->query("SELECT COUNT(*) FROM phpgw_lang WHERE message_id='$message_id' and lang='$lang' and (app_name='$app_name' or app_name='common')",__LINE__,__FILE__);
|
||||||
$GLOBALS['phpgw_setup']->db->next_record();
|
$GLOBALS['phpgw_setup']->db->next_record();
|
||||||
|
|
||||||
if ($GLOBALS['phpgw_setup']->db->f(0) == 0)
|
if ($GLOBALS['phpgw_setup']->db->f(0) == 0)
|
||||||
@ -130,11 +137,11 @@
|
|||||||
{
|
{
|
||||||
if($message_id && $content)
|
if($message_id && $content)
|
||||||
{
|
{
|
||||||
//echo "<br>adding - insert into lang values ('".$message_id."','".$app_name."','".$GLOBALS['phpgw_setup']->db_lang."','".$content."')";
|
//echo "<br>adding - insert into phpgw_lang values ('$message_id','$app_name','$lang','$content')";
|
||||||
$result = $GLOBALS['phpgw_setup']->db->query("INSERT INTO phpgw_lang(message_id,app_name,lang,content) VALUES('".$message_id."','".$app_name."','".$GLOBALS['phpgw_setup']->db_lang."','".$content."')",__LINE__,__FILE__);
|
$result = $GLOBALS['phpgw_setup']->db->query("INSERT INTO phpgw_lang (message_id,app_name,lang,content) VALUES('$message_id','$app_name','$lang','$content')",__LINE__,__FILE__);
|
||||||
if (intval($result) <= 0)
|
if (intval($result) <= 0)
|
||||||
{
|
{
|
||||||
echo "<br>Error inserting record: phpgw_lang values ('".$message_id."','".$app_name."','".$GLOBALS['phpgw_setup']->db_lang."','".$content."')";
|
echo "<br>Error inserting record: phpgw_lang values ('$message_id','$app_name','$lang','$content')";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -148,7 +155,6 @@
|
|||||||
$GLOBALS['phpgw_setup']->db->query($query="INSERT INTO phpgw_config(config_app,config_name,config_value) VALUES ('phpgwapi','lang_ctimes','".
|
$GLOBALS['phpgw_setup']->db->query($query="INSERT INTO phpgw_config(config_app,config_name,config_value) VALUES ('phpgwapi','lang_ctimes','".
|
||||||
addslashes(serialize($GLOBALS['phpgw_info']['server']['lang_ctimes']))."')",__LINE__,__FILE__);
|
addslashes(serialize($GLOBALS['phpgw_info']['server']['lang_ctimes']))."')",__LINE__,__FILE__);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$included)
|
if(!$included)
|
||||||
{
|
{
|
||||||
Header('Location: index.php');
|
Header('Location: index.php');
|
||||||
@ -189,7 +195,7 @@
|
|||||||
}
|
}
|
||||||
$select_box_desc = lang('Select which languages you would like to use');
|
$select_box_desc = lang('Select which languages you would like to use');
|
||||||
$select_box = '';
|
$select_box = '';
|
||||||
$GLOBALS['phpgw_setup']->db->query("select lang_id,lang_name from phpgw_languages where available='Yes'");
|
$GLOBALS['phpgw_setup']->db->query($q="select lang_id,lang_name from phpgw_languages where available='Yes'");
|
||||||
while ($GLOBALS['phpgw_setup']->db->next_record())
|
while ($GLOBALS['phpgw_setup']->db->next_record())
|
||||||
{
|
{
|
||||||
$id = $GLOBALS['phpgw_setup']->db->f('lang_id');
|
$id = $GLOBALS['phpgw_setup']->db->f('lang_id');
|
||||||
|
Loading…
Reference in New Issue
Block a user