forked from extern/egroupware
185 lines
5.4 KiB
PHP
185 lines
5.4 KiB
PHP
<?php
|
|
/**
|
|
* EGroupware - Setup
|
|
*
|
|
* Created by eTemplates DB-Tools written by ralfbecker@outdoor-training.de
|
|
*
|
|
* @link http://www.egroupware.org
|
|
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
|
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
|
* @package admin
|
|
* @subpackage setup
|
|
*/
|
|
|
|
function admin_upgrade1_2()
|
|
{
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '1.4';
|
|
}
|
|
|
|
|
|
function admin_upgrade1_4()
|
|
{
|
|
$GLOBALS['egw_setup']->oProc->CreateTable('egw_admin_queue',array(
|
|
'fd' => array(
|
|
'cmd_id' => array('type' => 'auto'),
|
|
'cmd_uid' => array('type' => 'varchar','precision' => '255','nullable' => False),
|
|
'cmd_creator' => array('type' => 'int','precision' => '4','nullable' => False),
|
|
'cmd_creator_email' => array('type' => 'varchar','precision' => '128','nullable' => False),
|
|
'cmd_created' => array('type' => 'int','precision' => '8','nullable' => False),
|
|
'cmd_type' => array('type' => 'varchar','precision' => '32','nullable' => False,'default' => 'admin_cmd'),
|
|
'cmd_status' => array('type' => 'int','precision' => '1'),
|
|
'cmd_scheduled' => array('type' => 'int','precision' => '8'),
|
|
'cmd_modified' => array('type' => 'int','precision' => '8'),
|
|
'cmd_modifier' => array('type' => 'int','precision' => '4'),
|
|
'cmd_modifier_email' => array('type' => 'varchar','precision' => '128'),
|
|
'cmd_error' => array('type' => 'varchar','precision' => '255'),
|
|
'cmd_errno' => array('type' => 'int','precision' => '4'),
|
|
'cmd_requested' => array('type' => 'int','precision' => '4'),
|
|
'cmd_requested_email' => array('type' => 'varchar','precision' => '128'),
|
|
'cmd_comment' => array('type' => 'varchar','precision' => '255'),
|
|
'cmd_data' => array('type' => 'blob')
|
|
),
|
|
'pk' => array('cmd_id'),
|
|
'fk' => array(),
|
|
'ix' => array('cmd_status','cmd_scheduled'),
|
|
'uc' => array('cmd_uid')
|
|
));
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '1.5.001';
|
|
}
|
|
|
|
|
|
function admin_upgrade1_5_001()
|
|
{
|
|
$GLOBALS['egw_setup']->oProc->CreateTable('egw_admin_remote',array(
|
|
'fd' => array(
|
|
'remote_id' => array('type' => 'auto'),
|
|
'remote_name' => array('type' => 'varchar','precision' => '64','nullable' => False),
|
|
'remote_hash' => array('type' => 'varchar','precision' => '32','nullable' => False),
|
|
'remote_url' => array('type' => 'varchar','precision' => '128','nullable' => False),
|
|
'remote_domain' => array('type' => 'varchar','precision' => '64','nullable' => False)
|
|
),
|
|
'pk' => array('remote_id'),
|
|
'fk' => array(),
|
|
'ix' => array(),
|
|
'uc' => array('remote_name')
|
|
));
|
|
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '1.5.002';
|
|
}
|
|
|
|
|
|
function admin_upgrade1_5_002()
|
|
{
|
|
$GLOBALS['egw_setup']->oProc->AddColumn('egw_admin_queue','remote_id',array(
|
|
'type' => 'int',
|
|
'precision' => '4'
|
|
));
|
|
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '1.5.003';
|
|
}
|
|
|
|
|
|
function admin_upgrade1_5_003()
|
|
{
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '1.6';
|
|
}
|
|
|
|
|
|
function admin_upgrade1_6()
|
|
{
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '1.8';
|
|
}
|
|
|
|
|
|
/**
|
|
* Change index page via setup.inc.php
|
|
*
|
|
* @return string
|
|
*/
|
|
function admin_upgrade1_8()
|
|
{
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '1.9.001';
|
|
}
|
|
|
|
|
|
function admin_upgrade1_9_001()
|
|
{
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '14.1';
|
|
}
|
|
|
|
function admin_upgrade14_1()
|
|
{
|
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_admin_queue','cmd_uid',array(
|
|
'type' => 'ascii',
|
|
'precision' => '64',
|
|
'nullable' => False
|
|
));
|
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_admin_queue','cmd_type',array(
|
|
'type' => 'ascii',
|
|
'precision' => '32',
|
|
'nullable' => False,
|
|
'default' => 'admin_cmd'
|
|
));
|
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_admin_queue','cmd_data',array(
|
|
'type' => 'ascii',
|
|
'precision' => '16384'
|
|
));
|
|
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '14.2.001';
|
|
}
|
|
|
|
|
|
function admin_upgrade14_2_001()
|
|
{
|
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_admin_remote','remote_hash',array(
|
|
'type' => 'ascii',
|
|
'precision' => '32',
|
|
'nullable' => False
|
|
));
|
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_admin_remote','remote_url',array(
|
|
'type' => 'ascii',
|
|
'precision' => '128',
|
|
'nullable' => False
|
|
));
|
|
$GLOBALS['egw_setup']->oProc->AlterColumn('egw_admin_remote','remote_domain',array(
|
|
'type' => 'ascii',
|
|
'precision' => '64',
|
|
'nullable' => False
|
|
));
|
|
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '14.3';
|
|
}
|
|
|
|
/**
|
|
* Remove cleartext passwords from egw_admin_queue
|
|
*
|
|
* @return string
|
|
*/
|
|
function admin_upgrade14_3()
|
|
{
|
|
// asuming everythings not MySQL uses PostgreSQL regular expression syntax
|
|
$regexp = substr($GLOBALS['egw_setup']->db->Type, 0, 5) == 'mysql' ? 'REGEXP' : '~*';
|
|
|
|
foreach($GLOBALS['egw_setup']->db->select('egw_admin_queue', 'cmd_id,cmd_data',
|
|
'cmd_status NOT IN ('.implode(',', admin_cmd::$require_pw_stati).") AND cmd_data $regexp '(pw|passwd\\_?\\d*|password|db\\_pass)\\?\"'",
|
|
__LINE__, __FILE__, false, '', 'admin') as $row)
|
|
{
|
|
if (($masked = admin_cmd::mask_passwords($row['cmd_data'])) != $row['cmd'])
|
|
{
|
|
$GLOBALS['egw_setup']->db->update('egw_admin_queue', array('cmd_data' => $masked),
|
|
array('cmd_id' => $row['cmd_id']), __LINE__, __FILE__, 'admin');
|
|
}
|
|
}
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '14.3.001';
|
|
}
|
|
|
|
function admin_upgrade14_3_001()
|
|
{
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '16.1';
|
|
}
|
|
|
|
function admin_upgrade16_1()
|
|
{
|
|
return $GLOBALS['setup_info']['admin']['currentver'] = '17.1';
|
|
}
|