mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-18 08:19:05 +01:00
LSldapObject : Deleted deprecated code including search() method
This commit is contained in:
parent
80456ca403
commit
a23b13e260
1 changed files with 0 additions and 209 deletions
|
@ -751,217 +751,8 @@ class LSldapObject {
|
|||
$LSsearch -> run();
|
||||
|
||||
return $LSsearch -> listObjects();
|
||||
|
||||
/*
|
||||
for($i=0;$i<count($ret);$i++) {
|
||||
$retInfos[$i] = new $this -> type_name($this -> config);
|
||||
$retInfos[$i] -> loadData($ret[$i]['dn']);
|
||||
}
|
||||
|
||||
return $retInfos;
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* Recherche les objets du même type dans l'annuaire
|
||||
*
|
||||
* Effectue une recherche en fonction des paramètres passé et retourne un
|
||||
* tableau array(dn => '', attrs => array()) d'objet correspondant au resultat*
|
||||
* de la recherche.
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @param[in] $filter array (ou string) Filtre de recherche Ldap / Tableau de filtres de recherche
|
||||
* @param[in] $basedn string DN de base pour la recherche
|
||||
* @param[in] $params array Paramètres de recherche au format Net_LDAP2::search()
|
||||
*
|
||||
* @retval array Tableau d'objets correspondant au resultat de la recherche
|
||||
*/
|
||||
/*
|
||||
function search($filter='',$basedn=NULL,$params=array()) {
|
||||
$retInfos=array();
|
||||
$attrs=false;
|
||||
$check_final_dn=false;
|
||||
|
||||
if(!is_array($filter))
|
||||
$filter=array(array('filter' => $filter));
|
||||
|
||||
$nbFilter=count($filter);
|
||||
|
||||
for($i=0;$i<$nbFilter;$i++) {
|
||||
$new_attrs=array();
|
||||
// Défintion des paramètres de base pour la recherche
|
||||
$sbasedn=$basedn;
|
||||
$sparams=$params;
|
||||
$ret=array();
|
||||
if (isset($filter[$i]['scope']))
|
||||
$sparams["scope"]=$filter[$i]['scope'];
|
||||
|
||||
// Definition des critères de recherche correspondant au type d'objet à lister
|
||||
if(($nbFilter==1)||(!isset($filter[$i]['attr']))) {
|
||||
// Filtre sur l'objet souhaité
|
||||
$sfilter='(&';
|
||||
$sfilter.=$this -> getObjectFilter();
|
||||
$sfilter_end=')';
|
||||
$check_final_dn=true;
|
||||
}
|
||||
// Initialisation des critères d'une recherche intermédiaire
|
||||
else {
|
||||
if(isset($filter[$i]['object_type'])) {
|
||||
$obj_tmp=new $filter[$i]['object_type']();
|
||||
$obj_filter=$obj_tmp->getObjectFilter();
|
||||
$sfilter='(&'.$obj_filter;
|
||||
$sfilter_end=')';
|
||||
}
|
||||
else {
|
||||
$sfilter='';
|
||||
$sfilter_end='';
|
||||
}
|
||||
if(isset($filter[$i]['scope'])) {
|
||||
$sparams['scope']=$filter[$i]['scope'];
|
||||
}
|
||||
if(isset($filter[$i]['basedn'])) {
|
||||
$sbasedn=$filter[$i]['basedn'];
|
||||
}
|
||||
}
|
||||
// Dans le cas d'une recherche intermédiaire ou finale
|
||||
if($attrs!=false) {
|
||||
// Initialisation des variables
|
||||
$ret_gen=array();
|
||||
$new_attrs=array();
|
||||
|
||||
// Pour tout les attributs retournés
|
||||
for($ii=0;$ii<count($attrs);$ii++) {
|
||||
$sfilter_for='';
|
||||
// Définition du filtre de recherche à partir des paramètres utilisateurs et
|
||||
// des paramètres de recherche de l'objet à listé (dans le cas d'une recherche finale
|
||||
if((isset($filter[$i]['filter']))&&(!empty($filter[$i]['filter']))) {
|
||||
$sfilter_user=getFData($filter[$i]['filter'],$attrs[$ii]);
|
||||
if($sfilter_user[0]=='(')
|
||||
$sfilter_for=$sfilter.$sfilter_user;
|
||||
else
|
||||
$sfilter_for=$sfilter.'('.$sfilter_user.')';
|
||||
}
|
||||
else {
|
||||
$sfilter_for=$sfilter;
|
||||
}
|
||||
|
||||
if(isset($filter[$i]['basedn'])) {
|
||||
$sbasedn=getFData($filter[$i]['basedn'],$attrs[$ii]);
|
||||
if ((!$this -> isCompatibleDNs($sbasedn,$basedn))&&($check_final_dn)) continue;
|
||||
}
|
||||
|
||||
// Vérification de la compatibilité du basedn de la recherche et du basedn générale
|
||||
// Finalisation du filtre
|
||||
$sfilter_for.=$sfilter_end;
|
||||
|
||||
|
||||
// Attributes
|
||||
if ($filter[$i]['attr']) {
|
||||
$sparams['attributes'] = array($filter[$i]['attr']);
|
||||
}
|
||||
else if (!isset($sparams['attributes'])) {
|
||||
$sparams['attributes'] = array($this -> config['rdn']);
|
||||
}
|
||||
|
||||
// Execution de la recherche
|
||||
$ret=LSldap :: search ($sfilter_for,$sbasedn,$sparams);
|
||||
|
||||
// Si il y un retour
|
||||
if(isset($ret[0])) {
|
||||
// si il ya une suite (recherche intermédiaire)
|
||||
if($filter[$i]['attr']){
|
||||
for($iii=0;$iii<count($ret);$iii++) {
|
||||
if(isset($ret[$iii]['attrs'][$filter[$i]['attr']])) {
|
||||
// cas de valeur multiple
|
||||
if(is_array($ret[$iii]['attrs'][$filter[$i]['attr']])) {
|
||||
foreach($ret[$iii]['attrs'][$filter[$i]['attr']] as $val_attr) {
|
||||
$new_attrs[]=$val_attr;
|
||||
}
|
||||
}
|
||||
// cas de valeur unique
|
||||
else {
|
||||
$new_attrs[]=$ret[$iii]['attrs'][$filter[$i]['attr']];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// cas du dernier filtre
|
||||
if(!empty($ret_gen)) {
|
||||
break;
|
||||
}
|
||||
// dans le cas d'une suite prévu mais d'un retour nul de la précédente recherche
|
||||
else if(empty($new_attrs)) {
|
||||
// retour vide et arrêt de la recherche
|
||||
$ret=array();
|
||||
break;
|
||||
}
|
||||
else {
|
||||
$attrs=$new_attrs;
|
||||
}
|
||||
}
|
||||
// Dans le cas de la recherche initiale
|
||||
else {
|
||||
// Déclaration du filtre de recherche
|
||||
if((isset($filter[$i]['filter']))&&(!empty($filter[$i]['filter']))) {
|
||||
if($filter[$i]['filter'][0]=='(') {
|
||||
$sfilter.=$filter[$i]['filter'];
|
||||
}
|
||||
else {
|
||||
$sfilter.='('.$filter[$i]['filter'].')';
|
||||
}
|
||||
}
|
||||
// fermeture du filtre
|
||||
$sfilter.=$sfilter_end;
|
||||
|
||||
// Attributes
|
||||
if (!isset($sparams['attributes'])) {
|
||||
$sparams['attributes'] = array($this -> config['rdn']);
|
||||
}
|
||||
|
||||
// Lancement de la recherche
|
||||
$ret=LSldap :: search ($sfilter,$sbasedn,$sparams);
|
||||
|
||||
//Si filtre multiple => on recupère une liste d'attributs
|
||||
if(isset($filter[$i]['attr'])) {
|
||||
for($ii=0;$ii<count($ret);$ii++) {
|
||||
if(isset($ret[$ii]['attrs'][$filter[$i]['attr']])) {
|
||||
// cas de valeur multiple
|
||||
if(is_array($ret[$ii]['attrs'][$filter[$i]['attr']])) {
|
||||
foreach($ret[$ii]['attrs'][$filter[$i]['attr']] as $val_attr) {
|
||||
$attrs[]=$val_attr;
|
||||
}
|
||||
}
|
||||
// cas de valeur unique
|
||||
else {
|
||||
$attrs[]=$ret[$ii]['attrs'][$filter[$i]['attr']];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Si aucunne valeur n'est retournées
|
||||
if(empty($attrs)){
|
||||
// arrêt et retour à zéro
|
||||
$ret=array();
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Si recherche unique
|
||||
else {
|
||||
// préparation du retour finale
|
||||
if (!is_array($ret)) {
|
||||
$ret=array();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
*/
|
||||
|
||||
/**
|
||||
* Retourne une liste d'objet du même type et retourne leur noms
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue