mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-27 09:09:04 +01:00
Modified .004-.005 to work with ldap also, hope sql still works
This commit is contained in:
parent
9c1f5e1b6b
commit
4f0070ec5b
@ -1901,26 +1901,44 @@
|
||||
$test[] = '0.9.13.004';
|
||||
function phpgwapi_upgrade0_9_13_004()
|
||||
{
|
||||
global $setup_info, $phpgw_setup;
|
||||
global $setup_info, $phpgw_setup, $phpgw_info, $phpgw;
|
||||
|
||||
$phpgw_setup->oProc->AddColumn('phpgw_access_log','account_id',array('type' => 'int', 'precision' => 4, 'default' => 0, 'nullable' => False));
|
||||
|
||||
// !! NOTE !!
|
||||
// This does NOT work with LDAP, if they have fully moved there accounts over
|
||||
// they will not be able to use the new features for old records.
|
||||
// This is why I decied to do this now, instead of later.
|
||||
// If you have a better soultion, let me know. (jengo)
|
||||
$db2 = $phpgw_setup->db;
|
||||
global $phpgw;
|
||||
class phpgw
|
||||
{
|
||||
var $common;
|
||||
var $accounts;
|
||||
var $applications;
|
||||
var $db;
|
||||
}
|
||||
$phpgw = new phpgw;
|
||||
$phpgw->common = CreateObject('phpgwapi.common');
|
||||
|
||||
$phpgw_setup->oProc->query("SELECT config_name,config_value FROM phpgw_config WHERE config_name LIKE 'ldap%' OR config_name='account_repository'",__LINE__,__FILE__);
|
||||
while ($phpgw_setup->oProc->next_record())
|
||||
{
|
||||
$config[$phpgw_setup->oProc->f('config_name')] = $phpgw_setup->oProc->f('config_value');
|
||||
}
|
||||
$phpgw_info['server']['ldap_host'] = $config['ldap_host'];
|
||||
$phpgw_info['server']['ldap_context'] = $config['ldap_context'];
|
||||
$phpgw_info['server']['ldap_group_context'] = $config['ldap_group_context'];
|
||||
$phpgw_info['server']['ldap_root_dn'] = $config['ldap_root_dn'];
|
||||
$phpgw_info['server']['ldap_root_pw'] = $config['ldap_root_pw'];
|
||||
$phpgw_info['server']['account_repository'] = $config['account_repository'];
|
||||
|
||||
$accounts = CreateObject('phpgwapi.accounts');
|
||||
$accounts->db = $phpgw_setup->db;
|
||||
|
||||
$phpgw_setup->oProc->query("select * from phpgw_access_log");
|
||||
while ($phpgw_setup->oProc->next_record())
|
||||
{
|
||||
$lid = explode('@',$phpgw_setup->oProc->f('loginid'));
|
||||
$account_lid = $lid[0];
|
||||
$account_id = $accounts->name2id($account_lid);
|
||||
|
||||
$db2->query("select account_id from phpgw_accounts where account_lid='$account_lid'");
|
||||
$db2->next_record();
|
||||
|
||||
$db2->query("update phpgw_access_log set account_id='" . $db2->f('account_id')
|
||||
$phpgw_setup->db->query("update phpgw_access_log set account_id='" . $account_id
|
||||
. "' where sessionid='" . $phpgw_setup->oProc->f('sessionid') . "'");
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user