forked from extern/egroupware
a09ccfb730
fixed multidomain logins for register_globals off
409 lines
14 KiB
PHP
409 lines
14 KiB
PHP
<?php
|
|
/**************************************************************************\
|
|
* phpGroupWare - Setup *
|
|
* http://www.phpgroupware.org *
|
|
* -------------------------------------------- *
|
|
* 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; either version 2 of the License, or (at your *
|
|
* option) any later version. *
|
|
\**************************************************************************/
|
|
/* $Id$ */
|
|
|
|
/* Include older phpGroupWare update support */
|
|
include($appdir . 'tables_update_0_9_9.inc.php');
|
|
include($appdir . 'tables_update_0_9_10.inc.php');
|
|
include($appdir . 'tables_update_0_9_12.inc.php');
|
|
include($appdir . 'tables_update_0_9_14.inc.php');
|
|
|
|
/* This is since the last release */
|
|
$test[] = '0.9.13.018';
|
|
function phpgwapi_upgrade0_9_13_018()
|
|
{
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.001';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14';
|
|
function phpgwapi_upgrade0_9_14()
|
|
{
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.001';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14.000';
|
|
function phpgwapi_upgrade0_9_14_000()
|
|
{
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.001';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14.001';
|
|
function phpgwapi_upgrade0_9_14_001()
|
|
{
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.001';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14.002';
|
|
function phpgwapi_upgrade0_9_14_002()
|
|
{
|
|
// this is the 0.9.15.001 update
|
|
$GLOBALS['phpgw_setup']->oProc->RenameTable('lang','phpgw_lang');
|
|
$GLOBALS['phpgw_setup']->oProc->RenameTable('languages','phpgw_languages');
|
|
|
|
// 0.9.15.002 are already included in 0.9.14.002
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.003';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14.003';
|
|
function phpgwapi_upgrade0_9_14_003()
|
|
{
|
|
// this is the 0.9.15.001 update
|
|
$GLOBALS['phpgw_setup']->oProc->RenameTable('lang','phpgw_lang');
|
|
$GLOBALS['phpgw_setup']->oProc->RenameTable('languages','phpgw_languages');
|
|
|
|
// 0.9.15.002 are already included in 0.9.14.002
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.003';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14.500';
|
|
function phpgwapi_upgrade0_9_14_500()
|
|
{
|
|
// 0.9.14.5xx are the development-versions of the 0.9.16 release (based on the 0.9.14 api)
|
|
// as 0.9.15.xxx are already used in HEAD
|
|
|
|
// this is the 0.9.15.001 update
|
|
$GLOBALS['phpgw_setup']->oProc->RenameTable('lang','phpgw_lang');
|
|
$GLOBALS['phpgw_setup']->oProc->RenameTable('languages','phpgw_languages');
|
|
|
|
// 0.9.15.002/3/4 are already included in 0.9.14.500
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.005';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14.501';
|
|
function phpgwapi_upgrade0_9_14_501()
|
|
{
|
|
// 0.9.14.5xx are the development-versions of the 0.9.16 release (based on the 0.9.14 api)
|
|
// as 0.9.15.xxx are already used in HEAD
|
|
|
|
// 0.9.15.001/2/3/4 are already included in 0.9.14.501
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.005';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14.502';
|
|
function phpgwapi_upgrade0_9_14_502()
|
|
{
|
|
// 0.9.14.5xx are the development-versions of the 0.9.16 release (based on the 0.9.14 api)
|
|
// as 0.9.15.xxx are already used in HEAD
|
|
|
|
// 0.9.15.001-9 are already included in 0.9.14.502
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.010';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14.503';
|
|
function phpgwapi_upgrade0_9_14_503()
|
|
{
|
|
// 0.9.14.5xx are the development-versions of the 0.9.16 release (based on the 0.9.14 api)
|
|
// as 0.9.15.xxx are already used in HEAD
|
|
|
|
// 0.9.15.001-11 are already included in 0.9.14.503
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.011';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14.504';
|
|
function phpgwapi_upgrade0_9_14_504()
|
|
{
|
|
// 0.9.15.001-12 are already included in 0.9.14.504
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.012';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14.505';
|
|
function phpgwapi_upgrade0_9_14_505()
|
|
{
|
|
// 0.9.15.001-12 are already included in 0.9.14.505
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.012';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.14.506';
|
|
function phpgwapi_upgrade0_9_14_506()
|
|
{
|
|
// 0.9.15.001-13 are already included in 0.9.14.506
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.013';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.001';
|
|
function phpgwapi_upgrade0_9_15_001()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->RenameTable('lang','phpgw_lang');
|
|
$GLOBALS['phpgw_setup']->oProc->RenameTable('languages','phpgw_languages');
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.002';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.002';
|
|
function phpgwapi_upgrade0_9_15_002()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->CreateTable(
|
|
'phpgw_newprefs', array(
|
|
'fd' => array(
|
|
'preference_owner' => array('type' => 'int', 'precision' => 4, 'nullable' => False),
|
|
'preference_value' => array('type' => 'text')
|
|
),
|
|
'pk' => array('preference_owner'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array()
|
|
)
|
|
);
|
|
|
|
$GLOBALS['phpgw_setup']->oProc->query('SELECT * FROM phpgw_preferences',__LINE__,__FILE__);
|
|
$db2 = $GLOBALS['phpgw_setup']->db;
|
|
|
|
while($GLOBALS['phpgw_setup']->oProc->next_record())
|
|
{
|
|
$accountid = $GLOBALS['phpgw_setup']->oProc->f('preference_owner');
|
|
settype($accountid,'integer');
|
|
|
|
$db2->query('INSERT INTO phpgw_newprefs (preference_owner,preference_value) VALUES('
|
|
. $accountid . ",'"
|
|
. $GLOBALS['phpgw_setup']->oProc->f('preference_value') . "')",
|
|
__LINE__,__FILE__);
|
|
}
|
|
|
|
$GLOBALS['phpgw_setup']->oProc->DropTable('phpgw_preferences');
|
|
$GLOBALS['phpgw_setup']->oProc->RenameTable('phpgw_newprefs','phpgw_preferences');
|
|
|
|
$setup_info['phpgwapi']['currentver'] = '0.9.15.003';
|
|
return $setup_info['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.003';
|
|
function phpgwapi_upgrade0_9_15_003()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_vfs','content', array ('type' => 'text', 'nullable' => False));
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.004';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.004';
|
|
function phpgwapi_upgrade0_9_15_004()
|
|
{
|
|
$GLOBALS['phpgw_setup']->db->query("UPDATE phpgw_languages set available='Yes' WHERE lang_id='pl'");
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.005';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.005';
|
|
function phpgwapi_upgrade0_9_15_005()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->query("INSERT INTO phpgw_config (config_app, config_name, config_value) VALUES ('phpgwapi','sessions_timeout',7200)");
|
|
$GLOBALS['phpgw_setup']->oProc->query("INSERT INTO phpgw_config (config_app, config_name, config_value) VALUES ('phpgwapi','sessions_app_timeout',86400)");
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.007'; // as 0.9.15.006 is already included
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.006';
|
|
function phpgwapi_upgrade0_9_15_006()
|
|
{
|
|
// Fix bug from update script in 0.9.11.004/5:
|
|
// column config_app was added to table phpgw_config (which places it as last column),
|
|
// but in the tables_current.inc.php it was added as first column.
|
|
// When setup / schemaproc wants to do the AlterColum it recreates the table for pgSql,
|
|
// as pgSql could not change the column-type. This recreation is can not be based on
|
|
// tables_current, but on running tables_baseline throught all update-scripts.
|
|
// Which gives at the end two different versions of the table on new or updated installs.
|
|
// I fix it now in the (wrong) order of the tables_current, as some apps might depend on!
|
|
/*
|
|
$GLOBALS['phpgw_setup']->oProc->AlterColumn('phpgw_config','config_value',array(
|
|
'type' => 'text',
|
|
'nullable' => False
|
|
));
|
|
*/
|
|
$confs = array();
|
|
$GLOBALS['phpgw_setup']->oProc->query("SELECT * FROM phpgw_config");
|
|
while ($GLOBALS['phpgw_setup']->oProc->next_record())
|
|
{
|
|
$confs[] = array(
|
|
'config_app' => $GLOBALS['phpgw_setup']->oProc->f('config_app'),
|
|
'config_name' => $GLOBALS['phpgw_setup']->oProc->f('config_name'),
|
|
'config_value' => $GLOBALS['phpgw_setup']->oProc->f('config_value')
|
|
);
|
|
}
|
|
$GLOBALS['phpgw_setup']->oProc->DropTable('phpgw_config');
|
|
|
|
$GLOBALS['phpgw_setup']->oProc->CreateTable('phpgw_config',array(
|
|
'fd' => array(
|
|
'config_app' => array('type' => 'varchar', 'precision' => 50),
|
|
'config_name' => array('type' => 'varchar', 'precision' => 255, 'nullable' => false),
|
|
'config_value' => array('type' => 'text')
|
|
),
|
|
'pk' => array(),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array('config_name')
|
|
));
|
|
|
|
foreach($confs as $conf)
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->query(
|
|
"INSERT INTO phpgw_config (config_app,config_name,config_value) VALUES ('".
|
|
$conf['config_app']."','".$conf['config_name']."','".$conf['config_value']."')");
|
|
}
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.007';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.007';
|
|
function phpgwapi_upgrade0_9_15_007()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->DropColumn('phpgw_applications',array(
|
|
'fd' => array(
|
|
'app_id' => array('type' => 'auto','precision' => '4','nullable' => False),
|
|
'app_name' => array('type' => 'varchar','precision' => '25','nullable' => False),
|
|
'app_enabled' => array('type' => 'int','precision' => '4'),
|
|
'app_order' => array('type' => 'int','precision' => '4'),
|
|
'app_tables' => array('type' => 'text'),
|
|
'app_version' => array('type' => 'varchar','precision' => '20','nullable' => False,'default' => '0.0')
|
|
),
|
|
'pk' => array('app_id'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array('app_name')
|
|
),'app_title');
|
|
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.008';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.008';
|
|
function phpgwapi_upgrade0_9_15_008()
|
|
{
|
|
// this might already be done in 0.9.14.002, but it does not harm to set it again to YES
|
|
$GLOBALS['phpgw_setup']->oProc->query("UPDATE phpgw_languages SET available='Yes' WHERE lang_id='cs'");
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.009';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.009';
|
|
function phpgwapi_upgrade0_9_15_009()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->CreateTable('phpgw_async',array(
|
|
'fd' => array(
|
|
'id' => array('type' => 'varchar','precision' => '255','nullable' => False),
|
|
'next' => array('type' => 'int','precision' => '4','nullable' => False),
|
|
'times' => array('type' => 'varchar','precision' => '255','nullable' => False),
|
|
'method' => array('type' => 'varchar','precision' => '80','nullable' => False),
|
|
'data' => array('type' => 'text','nullable' => False)
|
|
),
|
|
'pk' => array('id'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array()
|
|
));
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.010';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.010';
|
|
function phpgwapi_upgrade0_9_15_010()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->RenameTable('phpgw_preferences','old_preferences');
|
|
|
|
$GLOBALS['phpgw_setup']->oProc->CreateTable('phpgw_preferences',array(
|
|
'fd' => array(
|
|
'preference_owner' => array('type' => 'int','precision' => '4','nullable' => False),
|
|
'preference_app' => array('type' => 'varchar','precision' => '25','nullable' => False),
|
|
'preference_value' => array('type' => 'text','nullable' => False)
|
|
),
|
|
'pk' => array('preference_owner','preference_app'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array()
|
|
));
|
|
$db2 = $GLOBALS['phpgw_setup']->db; // we need a 2. result-set
|
|
$GLOBALS['phpgw_setup']->oProc->query("SELECT * FROM old_preferences");
|
|
while ($GLOBALS['phpgw_setup']->oProc->next_record())
|
|
{
|
|
$owner = intval($GLOBALS['phpgw_setup']->oProc->f('preference_owner'));
|
|
$prefs = unserialize($GLOBALS['phpgw_setup']->oProc->f('preference_value'));
|
|
|
|
if (is_array($prefs))
|
|
{
|
|
foreach ($prefs as $app => $pref)
|
|
{
|
|
if (!empty($app) && count($pref))
|
|
{
|
|
$app = addslashes($app);
|
|
$pref = serialize($pref);
|
|
$db2->query("INSERT INTO phpgw_preferences".
|
|
" (preference_owner,preference_app,preference_value)".
|
|
" VALUES ($owner,'$app','$pref')");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$GLOBALS['phpgw_setup']->oProc->DropTable('old_preferences');
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.011';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.011';
|
|
function phpgwapi_upgrade0_9_15_011()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_addressbook','last_mod',array(
|
|
'type' => 'int',
|
|
'precision' => '4',
|
|
'nullable' => False
|
|
));
|
|
|
|
$GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_categories','last_mod',array(
|
|
'type' => 'int',
|
|
'precision' => '4',
|
|
'nullable' => False
|
|
));
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.012';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
|
|
$test[] = '0.9.15.012';
|
|
function phpgwapi_upgrade0_9_15_012()
|
|
{
|
|
$GLOBALS['phpgw_setup']->oProc->AlterColumn('phpgw_access_log','lo',array(
|
|
'type' => 'int',
|
|
'precision' => '4',
|
|
'nullable' => True,
|
|
'default' => '0'
|
|
));
|
|
|
|
|
|
$GLOBALS['setup_info']['phpgwapi']['currentver'] = '0.9.15.013';
|
|
return $GLOBALS['setup_info']['phpgwapi']['currentver'];
|
|
}
|
|
?>
|