Merge branch 'develop' of ssh://git@github.com/Dolibarr/dolibarr.git into develop

This commit is contained in:
Laurent Destailleur 2012-01-07 14:56:26 +01:00
commit 8292ca346a
2 changed files with 54 additions and 48 deletions

View File

@ -227,9 +227,9 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action')))
print '<div class="error">'.$langs->trans("Error").'</div>'; print '<div class="error">'.$langs->trans("Error").'</div>';
} }
/* /*
* Remove deprecated indexes and constraints for Mysql * Remove deprecated indexes and constraints for Mysql
*/ */
if ($ok && preg_match('/mysql/',$db->type)) if ($ok && preg_match('/mysql/',$db->type))
{ {
$versioncommande=explode('.','4.0'); $versioncommande=explode('.','4.0');
@ -238,43 +238,49 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action')))
{ {
// Suppression vieilles contraintes sans noms et en doubles // Suppression vieilles contraintes sans noms et en doubles
// Les contraintes indesirables ont un nom qui commence par 0_ ou se termine par ibfk_999 // Les contraintes indesirables ont un nom qui commence par 0_ ou se termine par ibfk_999
$listtables=array( 'llx_adherent_options', $listtables=array(
'llx_bank_class', MAIN_DB_PREFIX.'adherent_options',
'llx_c_ecotaxe', MAIN_DB_PREFIX.'bank_class',
'llx_c_methode_commande_fournisseur', // table renamed MAIN_DB_PREFIX.'c_ecotaxe',
'llx_c_input_method'); MAIN_DB_PREFIX.'c_methode_commande_fournisseur', // table renamed
MAIN_DB_PREFIX.'c_input_method'
);
$listtables = $db->DDLListTables($conf->db->name,''); $listtables = $db->DDLListTables($conf->db->name,'');
foreach ($listtables as $val) foreach ($listtables as $val)
{ {
//print "x".$val."<br>"; // Database prefix filter
$sql = "SHOW CREATE TABLE ".$val; if (preg_match('/^'.MAIN_DB_PREFIX.'/', $val))
$resql = $db->query($sql); {
if ($resql) //print "x".$val."<br>";
{ $sql = "SHOW CREATE TABLE ".$val;
$values=$db->fetch_array($resql); $resql = $db->query($sql);
$i=0; if ($resql)
$createsql=$values[1]; {
while (preg_match('/CONSTRAINT `(0_[0-9a-zA-Z]+|[_0-9a-zA-Z]+_ibfk_[0-9]+)`/i',$createsql,$reg) && $i < 100) $values=$db->fetch_array($resql);
{ $i=0;
$sqldrop="ALTER TABLE ".$val." DROP FOREIGN KEY ".$reg[1]; $createsql=$values[1];
$resqldrop = $db->query($sqldrop); while (preg_match('/CONSTRAINT `(0_[0-9a-zA-Z]+|[_0-9a-zA-Z]+_ibfk_[0-9]+)`/i',$createsql,$reg) && $i < 100)
if ($resqldrop) {
{ $sqldrop="ALTER TABLE ".$val." DROP FOREIGN KEY ".$reg[1];
print '<tr><td colspan="2">'.$sqldrop.";</td></tr>\n"; $resqldrop = $db->query($sqldrop);
} if ($resqldrop)
$createsql=preg_replace('/CONSTRAINT `'.$reg[1].'`/i','XXX',$createsql); {
$i++; print '<tr><td colspan="2">'.$sqldrop.";</td></tr>\n";
} }
$db->free($resql); $createsql=preg_replace('/CONSTRAINT `'.$reg[1].'`/i','XXX',$createsql);
} $i++;
else }
{ $db->free($resql);
if ($db->lasterrno() != 'DB_ERROR_NOSUCHTABLE') }
{ else
print '<tr><td colspan="2"><font class="error">'.$sql.' : '.$db->lasterror()."</font></td></tr>\n"; {
} if ($db->lasterrno() != 'DB_ERROR_NOSUCHTABLE')
} {
print '<tr><td colspan="2"><font class="error">'.$sql.' : '.$db->lasterror()."</font></td></tr>\n";
}
}
}
} }
} }
} }

View File

@ -4,7 +4,7 @@
* Copyright (c) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (c) 2004-2010 Laurent Destailleur <eldy@users.sourceforge.net>
* Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org> * Copyright (C) 2004 Sebastien Di Cintio <sdicintio@ressource-toi.org>
* Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be> * Copyright (C) 2004 Benoit Mortier <benoit.mortier@opensides.be>
* Copyright (C) 2005-2011 Regis Houssin <regis@dolibarr.fr> * Copyright (C) 2005-2012 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2005 Lionel Cousteix <etm_ltd@tiscali.co.uk> * Copyright (C) 2005 Lionel Cousteix <etm_ltd@tiscali.co.uk>
* Copyright (C) 2011 Herve Prot <herve.prot@symeos.com> * Copyright (C) 2011 Herve Prot <herve.prot@symeos.com>
* *
@ -1724,15 +1724,15 @@ class User extends CommonObject
if ($nameorder) if ($nameorder)
{ {
if ($this->prenom) $ret.=$this->prenom; if ($this->firstname) $ret.=$this->firstname;
if ($this->prenom && $this->nom) $ret.=' '; if ($this->firstname && $this->lastname) $ret.=' ';
if ($this->nom) $ret.=$this->nom; if ($this->lastname) $ret.=$this->lastname;
} }
else else
{ {
if ($this->nom) $ret.=$this->nom; if ($this->lastname) $ret.=$this->lastname;
if ($this->prenom && $this->nom) $ret.=' '; if ($this->firstname && $this->lastname) $ret.=' ';
if ($this->prenom) $ret.=$this->prenom; if ($this->firstname) $ret.=$this->firstname;
} }
return trim($ret); return trim($ret);
@ -1833,8 +1833,8 @@ class User extends CommonObject
// Champs // Champs
if ($this->fullname && $conf->global->LDAP_FIELD_FULLNAME) $info[$conf->global->LDAP_FIELD_FULLNAME] = $this->fullname; if ($this->fullname && $conf->global->LDAP_FIELD_FULLNAME) $info[$conf->global->LDAP_FIELD_FULLNAME] = $this->fullname;
if ($this->nom && $conf->global->LDAP_FIELD_NAME) $info[$conf->global->LDAP_FIELD_NAME] = $this->nom; if ($this->nom && $conf->global->LDAP_FIELD_NAME) $info[$conf->global->LDAP_FIELD_NAME] = $this->lastname;
if ($this->prenom && $conf->global->LDAP_FIELD_FIRSTNAME) $info[$conf->global->LDAP_FIELD_FIRSTNAME] = $this->prenom; if ($this->prenom && $conf->global->LDAP_FIELD_FIRSTNAME) $info[$conf->global->LDAP_FIELD_FIRSTNAME] = $this->firstname;
if ($this->login && $conf->global->LDAP_FIELD_LOGIN) $info[$conf->global->LDAP_FIELD_LOGIN] = $this->login; if ($this->login && $conf->global->LDAP_FIELD_LOGIN) $info[$conf->global->LDAP_FIELD_LOGIN] = $this->login;
if ($this->login && $conf->global->LDAP_FIELD_LOGIN_SAMBA) $info[$conf->global->LDAP_FIELD_LOGIN_SAMBA] = $this->login; if ($this->login && $conf->global->LDAP_FIELD_LOGIN_SAMBA) $info[$conf->global->LDAP_FIELD_LOGIN_SAMBA] = $this->login;
if ($this->pass && $conf->global->LDAP_FIELD_PASSWORD) $info[$conf->global->LDAP_FIELD_PASSWORD] = $this->pass; // this->pass = mot de passe non crypte if ($this->pass && $conf->global->LDAP_FIELD_PASSWORD) $info[$conf->global->LDAP_FIELD_PASSWORD] = $this->pass; // this->pass = mot de passe non crypte
@ -1850,8 +1850,8 @@ class User extends CommonObject
if ($soc->fournisseur == 1) $info["businessCategory"] = "Suppliers"; if ($soc->fournisseur == 1) $info["businessCategory"] = "Suppliers";
} }
if ($this->address && $conf->global->LDAP_FIELD_ADDRESS) $info[$conf->global->LDAP_FIELD_ADDRESS] = $this->address; if ($this->address && $conf->global->LDAP_FIELD_ADDRESS) $info[$conf->global->LDAP_FIELD_ADDRESS] = $this->address;
if ($this->cp && $conf->global->LDAP_FIELD_ZIP) $info[$conf->global->LDAP_FIELD_ZIP] = $this->cp; if ($this->cp && $conf->global->LDAP_FIELD_ZIP) $info[$conf->global->LDAP_FIELD_ZIP] = $this->zip;
if ($this->ville && $conf->global->LDAP_FIELD_TOWN) $info[$conf->global->LDAP_FIELD_TOWN] = $this->ville; if ($this->ville && $conf->global->LDAP_FIELD_TOWN) $info[$conf->global->LDAP_FIELD_TOWN] = $this->town;
if ($this->office_phone && $conf->global->LDAP_FIELD_PHONE) $info[$conf->global->LDAP_FIELD_PHONE] = $this->office_phone; if ($this->office_phone && $conf->global->LDAP_FIELD_PHONE) $info[$conf->global->LDAP_FIELD_PHONE] = $this->office_phone;
if ($this->user_mobile && $conf->global->LDAP_FIELD_MOBILE) $info[$conf->global->LDAP_FIELD_MOBILE] = $this->user_mobile; if ($this->user_mobile && $conf->global->LDAP_FIELD_MOBILE) $info[$conf->global->LDAP_FIELD_MOBILE] = $this->user_mobile;
if ($this->office_fax && $conf->global->LDAP_FIELD_FAX) $info[$conf->global->LDAP_FIELD_FAX] = $this->office_fax; if ($this->office_fax && $conf->global->LDAP_FIELD_FAX) $info[$conf->global->LDAP_FIELD_FAX] = $this->office_fax;