diff --git a/public_html/conf/LSaddons/config.LSaddons.supann.php b/public_html/conf/LSaddons/config.LSaddons.supann.php
index f79e26e7..6f222baa 100644
--- a/public_html/conf/LSaddons/config.LSaddons.supann.php
+++ b/public_html/conf/LSaddons/config.LSaddons.supann.php
@@ -27,23 +27,23 @@
*/
// Nom de l'attribut LDAP nom
-define('LS_SUPANN_LASTNAME_ATTR','sn');
+$GLOBALS['LS_SUPANN_LASTNAME_ATTR'] = 'sn';
// Nom de l'attribut LDAP prenom
-define('LS_SUPANN_FIRSTNAME_ATTR','givenName');
+$GLOBALS['LS_SUPANN_FIRSTNAME_ATTR'] = 'givenName';
// Type de LSobject correspondant aux entites SUPANN
-define('LS_SUPANN_LSOBJECT_ENTITE_TYPE','LSsupannEntite');
+$GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE'] = 'LSsupannEntite';
// Format d'affichage du nom courts d'une entites SUPANN
-define('LS_SUPANN_LSOBJECT_ENTITE_FORMAT_SHORTNAME','%{ou}');
+$GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_FORMAT_SHORTNAME'] = '%{ou}';
// DN de l'entite SUPANN correspondant à l'etablissement
-define('LS_SUPANN_ETABLISSEMENT_DN','supannCodeEntite=XXX,ou=structures,dc=univ,dc=fr');
+$GLOBALS['LS_SUPANN_ETABLISSEMENT_DN'] = 'supannCodeEntite=XXX,ou=structures,dc=univ,dc=fr';
// Type de LSobject correspondant aux entites SUPANN
// Exemple : 0753742K
-define('LS_SUPANN_ETABLISSEMENT_UAI','0753742K');
+$GLOBALS['LS_SUPANN_ETABLISSEMENT_UAI'] = '0753742K';
/*
* Nomenclatures SUPANN
diff --git a/public_html/includes/addons/LSaddons.supann.php b/public_html/includes/addons/LSaddons.supann.php
index 2708885f..38693f98 100644
--- a/public_html/includes/addons/LSaddons.supann.php
+++ b/public_html/includes/addons/LSaddons.supann.php
@@ -51,7 +51,7 @@ LSerror :: defineError('SUPANN_02',
function LSaddon_supann_support() {
$retval = true;
- $MUST_DEFINE_CONST= array(
+ $MUST_DEFINE_STRING= array(
'LS_SUPANN_LASTNAME_ATTR',
'LS_SUPANN_FIRSTNAME_ATTR',
'LS_SUPANN_LSOBJECT_ENTITE_TYPE',
@@ -60,10 +60,16 @@ LSerror :: defineError('SUPANN_02',
'LS_SUPANN_ETABLISSEMENT_DN'
);
- foreach($MUST_DEFINE_CONST as $const) {
- if ( (!defined($const)) || (constant($const) == "")) {
- LSerror :: addErrorCode('SUPANN_SUPPORT_01',$const);
- $retval=false;
+ foreach($MUST_DEFINE_STRING as $string) {
+ if ( isset($GLOBALS[$string]) && is_string($GLOBALS[$string])) {
+ continue;
+ }
+ foreach(LSconfig :: get('ldap_servers') as $id => $infos) {
+ if ( !isset($infos['globals'][$string]) || !is_string($infos['globals'][$string])) {
+ LSerror :: addErrorCode('SUPANN_SUPPORT_01',$string);
+ $retval=false;
+ continue 2;
+ }
}
}
@@ -77,9 +83,9 @@ LSerror :: defineError('SUPANN_02',
}
}
- if ( defined('LS_SUPANN_LSOBJECT_ENTITE_TYPE') ) {
- if ( ! LSsession :: loadLSobject( LS_SUPANN_LSOBJECT_ENTITE_TYPE ) ) {
- LSerror :: addErrorCode('SUPANN_SUPPORT_02', LS_SUPANN_LSOBJECT_ENTITE_TYPE);
+ if (isset($GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE'])) {
+ if ( ! LSsession :: loadLSobject( $GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE'] ) ) {
+ LSerror :: addErrorCode('SUPANN_SUPPORT_02', $GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE']);
}
}
@@ -100,17 +106,17 @@ LSerror :: defineError('SUPANN_02',
* @retval string Le displayName ou false si il y a un problème durant la génération
*/
function generate_displayName($ldapObject) {
- if ( get_class($ldapObject -> attrs[ LS_SUPANN_LASTNAME_ATTR ]) != 'LSattribute' ) {
- LSerror :: addErrorCode('SUPANN_01',array('dependency' => LS_SUPANN_LASTNAME_ATTR, 'attr' => 'cn'));
+ if ( get_class($ldapObject -> attrs[ $GLOBALS['LS_SUPANN_LASTNAME_ATTR'] ]) != 'LSattribute' ) {
+ LSerror :: addErrorCode('SUPANN_01',array('dependency' => $GLOBALS['LS_SUPANN_LASTNAME_ATTR'], 'attr' => 'cn'));
return;
}
- if ( get_class($ldapObject -> attrs[ LS_SUPANN_FIRSTNAME_ATTR ]) != 'LSattribute' ) {
- LSerror :: addErrorCode('SUPANN_01',array('dependency' => LS_SUPANN_FIRSTNAME_ATTR, 'attr' => 'cn'));
+ if ( get_class($ldapObject -> attrs[ $GLOBALS['LS_SUPANN_FIRSTNAME_ATTR'] ]) != 'LSattribute' ) {
+ LSerror :: addErrorCode('SUPANN_01',array('dependency' => $GLOBALS['LS_SUPANN_FIRSTNAME_ATTR'], 'attr' => 'cn'));
return;
}
- $noms = $ldapObject -> attrs[ LS_SUPANN_LASTNAME_ATTR ] -> getValue();
- $prenoms = $ldapObject -> attrs[ LS_SUPANN_FIRSTNAME_ATTR ] -> getValue();
+ $noms = $ldapObject -> attrs[ $GLOBALS['LS_SUPANN_LASTNAME_ATTR'] ] -> getValue();
+ $prenoms = $ldapObject -> attrs[ $GLOBALS['LS_SUPANN_FIRSTNAME_ATTR'] ] -> getValue();
return ($prenoms[0].' '.$noms[0]);
}
@@ -125,17 +131,17 @@ LSerror :: defineError('SUPANN_02',
* @retval string Le CN ou false si il y a un problème durant la génération
*/
function generate_cn($ldapObject) {
- if ( get_class($ldapObject -> attrs[ LS_SUPANN_LASTNAME_ATTR ]) != 'LSattribute' ) {
- LSerror :: addErrorCode('SUPANN_01',array('dependency' => LS_SUPANN_LASTNAME_ATTR, 'attr' => 'cn'));
+ if ( get_class($ldapObject -> attrs[ $GLOBALS['LS_SUPANN_LASTNAME_ATTR'] ]) != 'LSattribute' ) {
+ LSerror :: addErrorCode('SUPANN_01',array('dependency' => $GLOBALS['LS_SUPANN_LASTNAME_ATTR'], 'attr' => 'cn'));
return;
}
- if ( get_class($ldapObject -> attrs[ LS_SUPANN_FIRSTNAME_ATTR ]) != 'LSattribute' ) {
- LSerror :: addErrorCode('SUPANN_01',array('dependency' => LS_SUPANN_FIRSTNAME_ATTR, 'attr' => 'cn'));
+ if ( get_class($ldapObject -> attrs[ $GLOBALS['LS_SUPANN_FIRSTNAME_ATTR'] ]) != 'LSattribute' ) {
+ LSerror :: addErrorCode('SUPANN_01',array('dependency' => $GLOBALS['LS_SUPANN_FIRSTNAME_ATTR'], 'attr' => 'cn'));
return;
}
- $noms = $ldapObject -> attrs[ LS_SUPANN_LASTNAME_ATTR ] -> getValue();
- $prenoms = $ldapObject -> attrs[ LS_SUPANN_FIRSTNAME_ATTR ] -> getValue();
+ $noms = $ldapObject -> attrs[ $GLOBALS['LS_SUPANN_LASTNAME_ATTR'] ] -> getValue();
+ $prenoms = $ldapObject -> attrs[ $GLOBALS['LS_SUPANN_FIRSTNAME_ATTR'] ] -> getValue();
return (withoutAccents($noms[0]).' '.withoutAccents($prenoms[0]));
}
@@ -159,7 +165,7 @@ LSerror :: defineError('SUPANN_02',
$affectations = $ldapObject -> attrs[ 'supannEntiteAffectation' ] -> getUpdateData();
- $basedn=LSconfig :: get('LSobjects.'.LS_SUPANN_LSOBJECT_ENTITE_TYPE.'.container_dn').','.LSsession::getTopDn();
+ $basedn=LSconfig :: get('LSobjects.'.$GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE'].'.container_dn').','.LSsession::getTopDn();
if ($basedn=="") {
LSerror :: addErrorCode('SUPANN_02','eduPersonOrgUnitDN');
return;
@@ -192,7 +198,7 @@ LSerror :: defineError('SUPANN_02',
$affectations = $ldapObject -> attrs[ 'supannEntiteAffectationPrincipale' ] -> getUpdateData();
- $basedn=LSconfig :: get('LSobjects.'.LS_SUPANN_LSOBJECT_ENTITE_TYPE.'.container_dn').','.LSsession::getTopDn();
+ $basedn=LSconfig :: get('LSobjects.'.$GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE'].'.container_dn').','.LSsession::getTopDn();
if ($basedn=="") {
LSerror :: addErrorCode('SUPANN_02','eduPersonPrimaryOrgUnitDN');
return;
@@ -210,8 +216,8 @@ LSerror :: defineError('SUPANN_02',
* Generation de la valeur de l'attribut eduPersonOrgDN
* à partir de la valeur de l'attribut supannEtablissement.
*
- * La valeur sera LS_SUPANN_ETABLISSEMENT_DN si l'attribut supannEtablissement
- * vaut {UAI}LS_SUPANN_ETABLISSEMENT_UAI.
+ * La valeur sera $GLOBALS['LS_SUPANN_ETABLISSEMENT_DN'] si l'attribut supannEtablissement
+ * vaut {UAI}$GLOBALS['LS_SUPANN_ETABLISSEMENT_UAI'].
*
* @author Benjamin Renard
*
@@ -229,8 +235,8 @@ LSerror :: defineError('SUPANN_02',
$eta = $ldapObject -> attrs[ 'supannEtablissement' ] -> getUpdateData();
$retval=array();
- if ($eta[0] == '{UAI}'.LS_SUPANN_ETABLISSEMENT_UAI) {
- $retval[] = LS_SUPANN_ETABLISSEMENT_DN;
+ if ($eta[0] == '{UAI}'.$GLOBALS['LS_SUPANN_ETABLISSEMENT_UAI']) {
+ $retval[] = $GLOBALS['LS_SUPANN_ETABLISSEMENT_DN'];
}
return $retval;
@@ -297,10 +303,9 @@ LSerror :: defineError('SUPANN_02',
* @retval string Le nom de l'entite
**/
function supanGetEntiteNameById($id) {
- if (LSsession::loadLSobject(LS_SUPANN_LSOBJECT_ENTITE_TYPE)) {
- $type=LS_SUPANN_LSOBJECT_ENTITE_TYPE;
- $e = new $type();
- $list=$e -> listObjectsName("(supannCodeEntite=$id)",NULL,array(),LS_SUPANN_LSOBJECT_ENTITE_FORMAT_SHORTNAME);
+ if (LSsession::loadLSobject($GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE'])) {
+ $e = new $GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE']();
+ $list=$e -> listObjectsName("(supannCodeEntite=$id)",NULL,array(),$GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_FORMAT_SHORTNAME']);
if (count($list)==1) {
return array_pop($list);
}
@@ -316,9 +321,8 @@ LSerror :: defineError('SUPANN_02',
* @retval boolean True si une entité avec cet ID existe, False sinon
**/
function supannValidateEntityId($id) {
- if (LSsession::loadLSobject(LS_SUPANN_LSOBJECT_ENTITE_TYPE)) {
- $type=LS_SUPANN_LSOBJECT_ENTITE_TYPE;
- $e = new $type();
+ if (LSsession::loadLSobject($GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE'])) {
+ $e = new $GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE']();
$list=$e -> listObjectsName("(supannCodeEntite=$id)");
if (count($list)==1) {
return true;
@@ -341,7 +345,7 @@ LSerror :: defineError('SUPANN_02',
$retval=array();
if (LSsession::loadLSclass('LSsearch')) {
$search=new LSsearch(
- LS_SUPANN_LSOBJECT_ENTITE_TYPE,
+ $GLOBALS['LS_SUPANN_LSOBJECT_ENTITE_TYPE'],
'SUPANN:supannSearchEntityByPattern',
array(
'pattern' => $pattern,