mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-12-22 16:33:48 +01:00
- LSldapObject : Ajout de la possibilite de trigger avant et après la
modification d'un attribut en particulier - config.error_code.php : Revue de l'encodage / allègement du fichier
This commit is contained in:
parent
c5e7165e13
commit
74afda65d5
3 changed files with 227 additions and 256 deletions
|
@ -353,7 +353,8 @@ $GLOBALS['LSobjects']['LSeepeople'] = array (
|
|||
'modify' => 1,
|
||||
'create' => 1,
|
||||
'lostPassword' => 1
|
||||
)
|
||||
),
|
||||
'after_modify' => 'valid'
|
||||
),
|
||||
'lsRecoveryHash' => array (
|
||||
'label' => _('Hash de recouvrement du mot de passe'),
|
||||
|
|
|
@ -22,314 +22,252 @@
|
|||
|
||||
$GLOBALS['LSerror_code'] = array (
|
||||
'-1' => array (
|
||||
'msg' => _("Erreur inconnue!"),
|
||||
'level' => 'c'
|
||||
'msg' => _("Erreur inconnue!")
|
||||
),
|
||||
0 => array(
|
||||
'msg' => "%{msg}",
|
||||
'level' => 'c'
|
||||
'msg' => "%{msg}"
|
||||
),
|
||||
// LSldap
|
||||
1 => array (
|
||||
'msg' => _("LSldap : Erreur durant la connexion au serveur LDAP (%{msg})."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldap : Erreur durant la connexion au serveur LDAP (%{msg}).")
|
||||
),
|
||||
2 => array (
|
||||
'msg' => _("LSldap : Erreur durant la recherche LDAP (%{msg})."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldap : Erreur durant la recherche LDAP (%{msg}).")
|
||||
),
|
||||
3 => array (
|
||||
'msg' => _("LSldap : Type d'objet inconnu."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldap : Type d'objet inconnu.")
|
||||
),
|
||||
4 => array (
|
||||
'msg' => _("LSldap : Erreur durant la récupération de l'entrée Ldap."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldap : Erreur durant la récupération de l'entrée Ldap.")
|
||||
),
|
||||
5 => array (
|
||||
'msg' => _("LSldap : Erreur durant la mise àjour de l'entrée Ldap (DN : %{dn})."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldap : Erreur durant la mise à jour de l'entrée Ldap (DN : %{dn}).")
|
||||
),
|
||||
6 => array (
|
||||
'msg' => _("LSldap : Erreur durant la suppression des attributs vides."),
|
||||
'level' => 'w'
|
||||
'msg' => _("LSldap : Erreur durant la suppression des attributs vides.")
|
||||
),
|
||||
7 => array (
|
||||
'msg' => _("LSldap : Erreur durant le changement du DN de l'objet."),
|
||||
'level' => 'w'
|
||||
'msg' => _("LSldap : Erreur durant le changement du DN de l'objet.")
|
||||
),
|
||||
|
||||
// LSldapObject
|
||||
21 => array (
|
||||
'msg' => _("LSldapObject : Type d'objet inconnu."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Type d'objet inconnu.")
|
||||
),
|
||||
22 => array (
|
||||
'msg' => _("LSldapObject : Formulaire de mise jour inconnu par l'objet %{msg}."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Formulaire de mise jour inconnu par l'objet %{msg}.")
|
||||
),
|
||||
23 => array (
|
||||
'msg' => _("LSldapObject : Aucun formulaire n'existe dans l'objet %{msg}."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Aucun formulaire n'existe dans l'objet %{msg}.")
|
||||
),
|
||||
24 => array (
|
||||
'msg' => _("LSldapObject : La fonction %{func} pour valider l'attribut %{attr} de l'objet %{obj} est inconnue."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : La fonction %{func} pour valider l'attribut %{attr} de l'objet %{obj} est inconnue.")
|
||||
),
|
||||
25 => array (
|
||||
'msg' => _("LSldapObject : Des données de configuration sont manquant pour la validation de l'attribut %{attr} de l'objet %{obj}."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Des données de configuration sont manquant pour la validation de l'attribut %{attr} de l'objet %{obj}.")
|
||||
),
|
||||
26 => array (
|
||||
'msg' => _("LSldapObject : Erreur de configuration : L'objet %{obj} ne possède pas d'attribut %{attr}."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Erreur de configuration : L'objet %{obj} ne possède pas d'attribut %{attr}.")
|
||||
),
|
||||
27 => array (
|
||||
'msg' => _("LSldapObject : La fonction %{func} devant être executée avant la modification n'existe pas."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : La fonction %{func} devant être executée avant la modification n'existe pas.")
|
||||
),
|
||||
28 => array (
|
||||
'msg' => _("LSldapObject : L'execution de la fonction %{func} devant être executée avant la modification a échouée."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : L'execution de la fonction %{func} devant être executée avant la modification a échouée.")
|
||||
),
|
||||
29 => array (
|
||||
'msg' => _("LSldapObject : La fonction %{func} devant être executée après la modification n'existe pas."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : La fonction %{func} devant être executée après la modification n'existe pas.")
|
||||
),
|
||||
30 => array (
|
||||
'msg' => _("LSldapObject : L'execution de la fonction %{func} devant être executée après la modification a échouée."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : L'execution de la fonction %{func} devant être executée après la modification a échouée.")
|
||||
),
|
||||
31 => array (
|
||||
'msg' => _("LSldapObject : Il manque des informations de configuration du type d'objet %{obj} pour la création du nouveau DN."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Il manque des informations de configuration du type d'objet %{obj} pour la création du nouveau DN.")
|
||||
),
|
||||
32 => array (
|
||||
'msg' => _("LSldapObject : L'attribut %{attr} de l'objet n'est pas encore définis. Il est impossible de generer un nouveau DN."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : L'attribut %{attr} de l'objet n'est pas encore définis. Il est impossible de generer un nouveau DN.")
|
||||
),
|
||||
33 => array (
|
||||
'msg' => _("LSldapObject : Sans DN, l'objet n'a put être modifié."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Sans DN, l'objet n'a put être modifié.")
|
||||
),
|
||||
34 => array (
|
||||
'msg' => _("LSldapObject : L'attribut %{attr_depend} dépendant de l'attribut %{attr} n'existe pas."),
|
||||
'level' => 'w'
|
||||
'msg' => _("LSldapObject : L'attribut %{attr_depend} dépendant de l'attribut %{attr} n'existe pas.")
|
||||
),
|
||||
35 => array (
|
||||
'msg' => _("LSldapObject : Erreur durant la suppression de %{objectname}."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Erreur durant la suppression de %{objectname}.")
|
||||
),
|
||||
36 => array (
|
||||
'msg' => _("LSldapObject : Erreur durant les actions avant renomage."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Erreur durant les actions avant renomage.")
|
||||
),
|
||||
37 => array (
|
||||
'msg' => _("LSldapObject : Erreur durant les actions après renomage."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Erreur durant les actions aprês renomage.")
|
||||
),
|
||||
38 => array (
|
||||
'msg' => _("LSldapObject : Erreur durant les actions avant suppression."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Erreur durant les actions avant suppression.")
|
||||
),
|
||||
39 => array (
|
||||
'msg' => _("LSldapObject : Erreur durant les actions après suppresion."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Erreur durant les actions aprês suppresion.")
|
||||
),
|
||||
301 => array (
|
||||
'msg' => _("LSldapObject : Erreur durant les actions après la création. L'objet est pour autant créé."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Erreur durant les actions aprês la création. L'objet est pour autant créé.")
|
||||
),
|
||||
302 => array (
|
||||
'msg' => _("LSldapObject : La fonction %{fonction} devant être éxecutée après la création de l'objet n'existe pas."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : La fonction %{fonction} devant être éxecutée aprês la création de l'objet n'existe pas.")
|
||||
),
|
||||
303 => array (
|
||||
'msg' => _("LSldapObject : Erreur durant l'exection de la fonction %{fonction} devant être éxecutée après la création de l'objet."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Erreur durant l'exection de la fonction %{fonction} devant être éxecutée aprês la création de l'objet.")
|
||||
),
|
||||
304 => array (
|
||||
'msg' => _("LSldapObject : La fonction %{fonction} devant être éxecutée après la suppression de l'objet n'existe pas."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : La fonction %{fonction} devant être éxecutée aprês la suppression de l'objet n'existe pas.")
|
||||
),
|
||||
305 => array (
|
||||
'msg' => _("LSldapObject : Erreur durant l'exection de la fonction %{fonction} devant être éxecutée après la suppression de l'objet."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSldapObject : Erreur durant l'exection de la fonction %{fonction} devant être éxecutée aprês la suppression de l'objet.")
|
||||
),
|
||||
306 => array (
|
||||
'msg' => _("LSldapObject : La fonction %{func} devant être executée après la modification de l'attribut %{attr} n'existe pas.")
|
||||
),
|
||||
307 => array (
|
||||
'msg' => _("LSldapObject : L'execution de la fonction %{func} devant être executée après la modification de l'attribut %{attr} a échouée.")
|
||||
),
|
||||
308 => array (
|
||||
'msg' => _("LSldapObject : La fonction %{func} devant être executée avant la modification de l'attribut %{attr} n'existe pas.")
|
||||
),
|
||||
309 => array (
|
||||
'msg' => _("LSldapObject : L'execution de la fonction %{func} devant être executée avant la modification de l'attribut %{attr} a échouée.")
|
||||
),
|
||||
|
||||
// LSattribute
|
||||
41 => array (
|
||||
'msg' => _("LSattribute : Attribut %{attr} : Type d'attribut (ldap // html) inconnu (ldap = %{ldap} | html = %{html})."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSattribute : Attribut %{attr} : Type d'attribut (ldap // html) inconnu (ldap = %{ldap} | html = %{html}).")
|
||||
),
|
||||
42 => array (
|
||||
'msg' => _("LSattribute : La fonction %{func} pour afficher l'attribut %{attr} est inconnue."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSattribute : La fonction %{func} pour afficher l'attribut %{attr} est inconnue.")
|
||||
),
|
||||
43 => array (
|
||||
'msg' => _("LSattribute : La règle %{rule} pour valider l'attribut %{attr} est inconnue."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSattribute : La règle %{rule} pour valider l'attribut %{attr} est inconnue.")
|
||||
),
|
||||
44 => array (
|
||||
'msg' => _("LSattribute : Les données de configuration pour vérifié l'attribut %{attr} sont incorrects."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSattribute : Les données de configuration pour vérifié l'attribut %{attr} sont incorrects.")
|
||||
),
|
||||
45 => array (
|
||||
'msg' => _("LSattribute : La fonction %{func} pour sauver l'attribut %{attr} est inconnue."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSattribute : La fonction %{func} pour sauver l'attribut %{attr} est inconnue.")
|
||||
),
|
||||
46 => array (
|
||||
'msg' => _("LSattribute : La valeur de l'attribut %{attr} ne peut pas être générée."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSattribute : La valeur de l'attribut %{attr} ne peut pas être générée.")
|
||||
),
|
||||
47 => array (
|
||||
'msg' => _("LSattribute : La valeur de l'attribut %{attr} n'a pas put être générée."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSattribute : La valeur de l'attribut %{attr} n'a pas put être générée.")
|
||||
),
|
||||
48 => array (
|
||||
'msg' => _("LSattribute : La génération de l'attribut %{attr} n'a pas retourné une valeur correcte."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSattribute : La génération de l'attribut %{attr} n'a pas retourné une valeur correcte.")
|
||||
),
|
||||
|
||||
// LSattr_html
|
||||
101 => array (
|
||||
'msg' => _("LSattr_html : La fonction addToForm() du type html de l'attribut %{attr} n'est pas définie."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSattr_html : La fonction addToForm() du type html de l'attribut %{attr} n'est pas définie.")
|
||||
),
|
||||
102 => array (
|
||||
'msg' => _("LSattr_html_select_list : Des données de configuration sont manquante pour la génération de la liste deroulante de l'attribut %{attr}."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSattr_html_select_list : Des données de configuration sont manquante pour la génération de la liste deroulante de l'attribut %{attr}.")
|
||||
),
|
||||
103 => array (
|
||||
'msg' => _("LSattr_html_%{type} : Les données multiples ne sont pas gérés pour ce type d'attribut."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSattr_html_%{type} : Les données multiples ne sont pas gérés pour ce type d'attribut.")
|
||||
),
|
||||
|
||||
// LSform
|
||||
201 => array(
|
||||
'msg' => _("LSform : Erreur durant la recupération des valeurs du formulaire."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSform : Erreur durant la recupération des valeurs du formulaire.")
|
||||
),
|
||||
202 => array(
|
||||
'msg' => _("LSform : Erreur durant la récupération de la valeur du formulaire du champ '%{element}'."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSform : Erreur durant la récupération de la valeur du formulaire du champ '%{element}'.")
|
||||
),
|
||||
203 => array(
|
||||
'msg' => _("LSform : Les données du champ %{element} ne sont pas valides."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSform : Les données du champ %{element} ne sont pas valides.")
|
||||
),
|
||||
204 => array(
|
||||
'msg' => _("LSform : Le champ %{element} n'existe pas."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSform : Le champ %{element} n'existe pas.")
|
||||
),
|
||||
205 => array(
|
||||
'msg' => _("LSfom : Type de champ inconnu (%{type})."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSfom : Type de champ inconnu (%{type}).")
|
||||
),
|
||||
206 => array(
|
||||
'msg' => _("LSform : Erreur durant la création de l'élement '%{element}'."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSform : Erreur durant la création de l'élement '%{element}'.")
|
||||
),
|
||||
207 => array(
|
||||
'msg' => _("LSform : Aucune valeur de rentrée pour le champs '%{element}'."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSform : Aucune valeur de rentrée pour le champs '%{element}'.")
|
||||
),
|
||||
|
||||
801 => array(
|
||||
'msg' => _("LSformRule : Aucune regex n'a été fournis pour la validation des données."),
|
||||
'level' => 'w'
|
||||
'msg' => _("LSformRule : Aucune regex n'a été fournis pour la validation des données.")
|
||||
),
|
||||
|
||||
// functions
|
||||
901 => array (
|
||||
'msg' => _("Functions 'getFData' : La methode %{meth} de l'objet %{obj} n'existe pas."),
|
||||
'level' => 'c'
|
||||
'msg' => _("Functions 'getFData' : La methode %{meth} de l'objet %{obj} n'existe pas.")
|
||||
),
|
||||
|
||||
// LSsession
|
||||
1001 => array (
|
||||
'msg' => _("LSsession : La constante %{const} n'est pas définie."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : La constante %{const} n'est pas définie.")
|
||||
),
|
||||
1002 => array (
|
||||
'msg' => _("LSsession : Le support %{addon} n'est pas assuré. Vérifier la compatibilité du système et la configuration de l'addon"),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Le support %{addon} n'est pas assuré. Vérifier la compatibilité du système et la configuration de l'addon")
|
||||
),
|
||||
1003 => array (
|
||||
'msg' => _("LSsession : Données de configuration du serveur LDAP invalide. Impossible d'établir une connexion."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Données de configuration du serveur LDAP invalide. Impossible d'établir une connexion.")
|
||||
),
|
||||
1004 => array (
|
||||
'msg' => _("LSsession : Impossible de charger l'objets de type %{type} : type inconnu."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Impossible de charger l'objets de type %{type} : type inconnu.")
|
||||
),
|
||||
1005 => array (
|
||||
'msg' => _("LSsession : Impossible d'effecture l'authentification : Type d'objet d'authentification inconnu (%{type})."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Impossible d'effecture l'authentification : Type d'objet d'authentification inconnu (%{type}).")
|
||||
),
|
||||
1006 => array (
|
||||
'msg' => _("LSsession : Identifiant ou mot de passe incorrect."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Identifiant ou mot de passe incorrect.")
|
||||
),
|
||||
1007 => array (
|
||||
'msg' => _("LSsession : Impossible de vous identifier : Duplication d'authentité."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Impossible de vous identifier : Duplication d'authentité.")
|
||||
),
|
||||
1008 => array (
|
||||
'msg' => _("LSsession : Impossible d'inclure le moteur de rendu Smarty."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Impossible d'inclure le moteur de rendu Smarty.")
|
||||
),
|
||||
1009 => array (
|
||||
'msg' => _("LSsession : Impossible de se connecter au Serveur LDAP."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Impossible de se connecter au Serveur LDAP.")
|
||||
),
|
||||
1010 => array (
|
||||
'msg' => _("LSsession : Impossible de charger la classe des objets d'authentification."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Impossible de charger la classe des objets d'authentification.")
|
||||
),
|
||||
1011 => array (
|
||||
'msg' => _("LSsession : Vous n'êtes pas authorisé à  effectuer cette action."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Vous n'êtes pas authorisé à effectuer cette action.")
|
||||
),
|
||||
1012 => array (
|
||||
'msg' => _("LSsession : Des informations sont manquantes pour l'affichage de cette page."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Des informations sont manquantes pour l'affichage de cette page.")
|
||||
),
|
||||
1013 => array (
|
||||
'msg' => _("LSrelations : La fonction de listage pour la relation %{relation} est inconnu."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSrelations : La fonction de listage pour la relation %{relation} est inconnu.")
|
||||
),
|
||||
1014 => array (
|
||||
'msg' => _("LSrelations : La fonction de mise àjour pour la relation %{relation} est inconnu."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSrelations : La fonction de mise à jour pour la relation %{relation} est inconnu.")
|
||||
),
|
||||
1015 => array (
|
||||
'msg' => _("LSrelations : Une erreur s'est produite durant la mise a jour de la relation %{relation}."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSrelations : Une erreur s'est produite durant la mise a jour de la relation %{relation}.")
|
||||
),
|
||||
1016 => array (
|
||||
'msg' => _("LSrelations : L'objet %{LSobject} de la relation %{relation} est inconnu."),
|
||||
'level' => 'w'
|
||||
'msg' => _("LSrelations : L'objet %{LSobject} de la relation %{relation} est inconnu.")
|
||||
),
|
||||
1017 => array (
|
||||
'msg' => _("LSsession : Impossible de créer correctement la liste des niveaux. Vérifier la configuration."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Impossible de créer correctement la liste des niveaux. Vérifier la configuration.")
|
||||
),
|
||||
1018 => array (
|
||||
'msg' => _("LSsession : La récupération de mot de passe est désactivée pour ce serveur LDAP."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : La récupération de mot de passe est désactivée pour ce serveur LDAP.")
|
||||
),
|
||||
1019 => array (
|
||||
'msg' => _("LSsession : Des informations sont manquantes pour la récupération de votre mot de passe. Contactez l'administrateur du système."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Des informations sont manquantes pour la récupération de votre mot de passe. Contactez l'administrateur du systême.")
|
||||
),
|
||||
1020 => array (
|
||||
'msg' => _("LSsession : Erreur durant la récupération de votre mot de passe. Contactez l'administrateur du système."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSsession : Erreur durant la récupération de votre mot de passe. Contactez l'administrateur du systême.")
|
||||
),
|
||||
1021 => array (
|
||||
'msg' => _("LSrelation : Des paramètres sont manquants dans l'invocation des méthodes de manipulations de relations standarts (Méthode : %{meth})."),
|
||||
'level' => 'c'
|
||||
'msg' => _("LSrelation : Des paramètres sont manquants dans l'invocation des méthodes de manipulations de relations standarts (Méthode : %{meth}).")
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
|
|
@ -25,7 +25,7 @@ $GLOBALS['LSsession'] -> loadLSclass('LSattribute');
|
|||
/**
|
||||
* Base d'un objet ldap
|
||||
*
|
||||
* Cette classe définis la base de tout objet ldap géré par LdapSaisie
|
||||
* Cette classe définis la base de tout objet ldap géré par LdapSaisie
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*/
|
||||
|
@ -46,15 +46,15 @@ class LSldapObject {
|
|||
/**
|
||||
* Constructeur
|
||||
*
|
||||
* Cette methode construit l'objet et définis la configuration.
|
||||
* Elle lance la construction du tableau d'attributs représentés par un objet LSattribute.
|
||||
* Cette methode construit l'objet et définis la configuration.
|
||||
* Elle lance la construction du tableau d'attributs représentés par un objet LSattribute.
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @param[in] $type_name [<b>required</b>] string Le nom du type de l'objet
|
||||
* @param[in] $config array La configuration de l'objet
|
||||
*
|
||||
* @retval boolean true si l'objet a été construit, false sinon.
|
||||
* @retval boolean true si l'objet a été construit, false sinon.
|
||||
*/
|
||||
function LSldapObject($type_name,$config='auto') {
|
||||
$this -> type_name = $type_name;
|
||||
|
@ -77,16 +77,16 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Charge les données de l'objet
|
||||
* Charge les données de l'objet
|
||||
*
|
||||
* Cette methode définis le DN de l'objet et charge les valeurs de attributs de l'objet
|
||||
* Ã partir de l'annuaire.
|
||||
* Cette methode définis le DN de l'objet et charge les valeurs de attributs de l'objet
|
||||
* Ã partir de l'annuaire.
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @param[in] $dn string Le DN de l'objet.
|
||||
*
|
||||
* @retval boolean true si la chargement a réussi, false sinon.
|
||||
* @retval boolean true si la chargement a réussi, false sinon.
|
||||
*/
|
||||
function loadData($dn) {
|
||||
$this -> dn = $dn;
|
||||
|
@ -102,11 +102,11 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Recharge les données de l'objet
|
||||
* Recharge les données de l'objet
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @retval boolean true si la rechargement a réussi, false sinon.
|
||||
* @retval boolean true si la rechargement a réussi, false sinon.
|
||||
*/
|
||||
function reloadData() {
|
||||
$data = $GLOBALS['LSldap'] -> getAttrs($this -> dn);
|
||||
|
@ -132,7 +132,7 @@ class LSldapObject {
|
|||
* Retourne la valeur descriptive d'affichage de l'objet
|
||||
*
|
||||
* Cette fonction retourne la valeur descriptive d'affichage de l'objet en fonction
|
||||
* du format défini dans la configuration de l'objet ou spécifié en paramètre.
|
||||
* du format défini dans la configuration de l'objet ou spécifié en paramètre.
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
|
@ -154,16 +154,16 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Chaine formatée
|
||||
* Chaine formatée
|
||||
*
|
||||
* Cette fonction retourne la valeur d'une chaine formatée en prennant les valeurs
|
||||
* Cette fonction retourne la valeur d'une chaine formatée en prennant les valeurs
|
||||
* de l'objet.
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @param[in] $format string Format de la chaine
|
||||
*
|
||||
* @retval string Valeur d'une chaine formatée
|
||||
* @retval string Valeur d'une chaine formatée
|
||||
*/
|
||||
function getFData($format) {
|
||||
$format=getFData($format,$this,'getValue');
|
||||
|
@ -173,15 +173,15 @@ class LSldapObject {
|
|||
/**
|
||||
* Construit un formulaire de l'objet
|
||||
*
|
||||
* Cette méthode construit un formulaire LSform à partir de la configuration de l'objet
|
||||
* Cette méthode construit un formulaire LSform à partir de la configuration de l'objet
|
||||
* et de chaque attribut.
|
||||
*
|
||||
* @param[in] $idForm [<b>required</b>] Identifiant du formulaire a créer
|
||||
* @param[in] $load DN d'un objet similaire dont la valeur des attribut doit être chargé dans le formulaire.
|
||||
* @param[in] $idForm [<b>required</b>] Identifiant du formulaire a créer
|
||||
* @param[in] $load DN d'un objet similaire dont la valeur des attribut doit être chargé dans le formulaire.
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @retval LSform Le formulaire crée
|
||||
* @retval LSform Le formulaire crée
|
||||
*/
|
||||
function getForm($idForm,$load=NULL) {
|
||||
$GLOBALS['LSsession'] -> loadLSclass('LSform');
|
||||
|
@ -216,15 +216,15 @@ class LSldapObject {
|
|||
/**
|
||||
* Construit un formulaire de l'objet
|
||||
*
|
||||
* Cette méthode construit un formulaire LSform à partir de la configuration de l'objet
|
||||
* Cette méthode construit un formulaire LSform à partir de la configuration de l'objet
|
||||
* et de chaque attribut.
|
||||
*
|
||||
* @param[in] $idForm [<b>required</b>] Identifiant du formulaire a créer
|
||||
* @param[in] $config Configuration spécifique pour le formulaire
|
||||
* @param[in] $idForm [<b>required</b>] Identifiant du formulaire a créer
|
||||
* @param[in] $config Configuration spécifique pour le formulaire
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @retval LSform Le formulaire crée
|
||||
* @retval LSform Le formulaire crée
|
||||
*/
|
||||
function getView() {
|
||||
$GLOBALS['LSsession'] -> loadLSclass('LSform');
|
||||
|
@ -239,13 +239,13 @@ class LSldapObject {
|
|||
/**
|
||||
* Rafraichis le formulaire de l'objet
|
||||
*
|
||||
* Cette méthode recharge les données d'un formulaire LSform.
|
||||
* Cette méthode recharge les données d'un formulaire LSform.
|
||||
*
|
||||
* @param[in] $idForm [<b>required</b>] Identifiant du formulaire a créer
|
||||
* @param[in] $idForm [<b>required</b>] Identifiant du formulaire a créer
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @retval boolean true sile formulaire a été rafraichis, false sinon
|
||||
* @retval boolean true sile formulaire a été rafraichis, false sinon
|
||||
*/
|
||||
function refreshForm($idForm) {
|
||||
$LSform = $this -> forms[$idForm][0];
|
||||
|
@ -258,15 +258,15 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Met à jour les données de l'objet et de l'entré de l'annuaire
|
||||
* Met à jour les données de l'objet et de l'entré de l'annuaire
|
||||
*
|
||||
* Met à jour les données de l'objet à partir d'un retour d'un formulaire.
|
||||
* Met à jour les données de l'objet à partir d'un retour d'un formulaire.
|
||||
*
|
||||
* @param[in] $idForm Identifiant du formulaire d'origine
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @retval boolean true si la mise à jour a réussi, false sinon
|
||||
* @retval boolean true si la mise à jour a réussi, false sinon
|
||||
*
|
||||
* @see validateAttrsData()
|
||||
* @see submitChange()
|
||||
|
@ -316,8 +316,24 @@ class LSldapObject {
|
|||
return;
|
||||
}
|
||||
}
|
||||
// $this -> attrs[*] => before_modify
|
||||
foreach($new_data as $attr_name => $attr_val) {
|
||||
if(isset($this -> config['attrs'][$attr_name]['before_modify'])) {
|
||||
if(function_exists($this -> config['attrs'][$attr_name]['before_modify'])) {
|
||||
if(!$this -> config['attrs'][$attr_name]['before_modify']($this)) {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(309,array('func' => $this -> config['attrs'][$attr_name]['before_modify'],'attr' => $attr_name));
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(308,array('func' => $this -> config['attrs'][$attr_name]['before_modify'],'attr' => $attr_name));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($this -> submitChange($idForm)) {
|
||||
LSdebug('Les modifications sont submitées');
|
||||
LSdebug('Les modifications sont submitées');
|
||||
$this -> submitError = false;
|
||||
$this -> reloadData();
|
||||
$this -> refreshForm($idForm);
|
||||
|
@ -337,6 +353,22 @@ class LSldapObject {
|
|||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// $this -> attrs[*] => After Modify
|
||||
foreach($new_data as $attr_name => $attr_val) {
|
||||
if(isset($this -> config['attrs'][$attr_name]['after_modify'])) {
|
||||
if(function_exists($this -> config['attrs'][$attr_name]['after_modify'])) {
|
||||
if(!$this -> config['attrs'][$attr_name]['after_modify']($this)) {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(307,array('func' => $this -> config['after_modify'],'attr' => $attr_name));
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
$GLOBALS['LSerror'] -> addErrorCode(306,array('func' => $this -> config['after_modify'],'attr' => $attr_name));
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
|
@ -345,13 +377,13 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Valide les données retournées par un formulaire
|
||||
* Valide les données retournées par un formulaire
|
||||
*
|
||||
* @param[in] $idForm Identifiant du formulaire d'origine
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @retval boolean true si les données sont valides, false sinon
|
||||
* @retval boolean true si les données sont valides, false sinon
|
||||
*/
|
||||
function validateAttrsData($idForm) {
|
||||
$LSform=$this -> forms[$idForm][0];
|
||||
|
@ -388,14 +420,14 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Valide les données d'un attribut
|
||||
* Valide les données d'un attribut
|
||||
*
|
||||
* @param[in] $LSForm Formulaire d'origine
|
||||
* @param[in] &$attr Attribut à valider
|
||||
* @param[in] &$attr Attribut à valider
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @retval boolean true si les données sont valides, false sinon
|
||||
* @retval boolean true si les données sont valides, false sinon
|
||||
*/
|
||||
function validateAttrData(&$LSform,&$attr) {
|
||||
$vconfig=$attr -> getValidateConfig();
|
||||
|
@ -408,12 +440,12 @@ class LSldapObject {
|
|||
// Validation des valeurs de l'attribut
|
||||
if(is_array($vconfig)) {
|
||||
foreach($vconfig as $test) {
|
||||
// Définition du basedn par défaut
|
||||
// Définition du basedn par défaut
|
||||
if (!isset($test['basedn'])) {
|
||||
$test['basedn']=$GLOBALS['LSsession']->topDn;
|
||||
}
|
||||
|
||||
// Définition du message d'erreur
|
||||
// Définition du message d'erreur
|
||||
if (!empty($test['msg'])) {
|
||||
$msg_error=getFData($test['msg'],$this,'getValue');
|
||||
}
|
||||
|
@ -475,7 +507,7 @@ class LSldapObject {
|
|||
}
|
||||
}
|
||||
}
|
||||
// Génération des valeurs des attributs dépendants
|
||||
// Génération des valeurs des attributs dépendants
|
||||
$dependsAttrs=$attr->getDependsAttrs();
|
||||
if (!empty($dependsAttrs)) {
|
||||
foreach($dependsAttrs as $dependAttr) {
|
||||
|
@ -502,13 +534,13 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Met à jour les données modifiés dans l'annuaire
|
||||
* Met à jour les données modifiés dans l'annuaire
|
||||
*
|
||||
* @param[in] $idForm Identifiant du formulaire d'origine
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @retval boolean true si la mise à jour a réussi, false sinon
|
||||
* @retval boolean true si la mise à jour a réussi, false sinon
|
||||
*/
|
||||
function submitChange($idForm) {
|
||||
$submitData=array();
|
||||
|
@ -578,8 +610,8 @@ class LSldapObject {
|
|||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @retval array Tableau :
|
||||
* - [0] : le premier paramètre
|
||||
* - [1] : les paramètres suivants
|
||||
* - [0] : le premier paramètre
|
||||
* - [1] : les paramètres suivants
|
||||
*/
|
||||
function getDnInfos($dn) {
|
||||
$infos=ldap_explode_dn($dn,0);
|
||||
|
@ -611,16 +643,16 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Retourne une liste d'objet du même type.
|
||||
* Retourne une liste d'objet du même type.
|
||||
*
|
||||
* Effectue une recherche en fonction des paramètres passé et retourne un
|
||||
* Effectue une recherche en fonction des paramètres passé et retourne un
|
||||
* tableau d'objet correspond 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()
|
||||
* @param[in] $params array Paramètres de recherche au format Net_LDAP2::search()
|
||||
*
|
||||
* @retval array Tableau d'objets correspondant au resultat de la recherche
|
||||
*/
|
||||
|
@ -636,22 +668,22 @@ class LSldapObject {
|
|||
|
||||
for($i=0;$i<$nbFilter;$i++) {
|
||||
$new_attrs=array();
|
||||
// Défintion des paramètres de base pour la recherche
|
||||
// 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
|
||||
// Definition des critères de recherche correspondant au type d'objet à lister
|
||||
if(($nbFilter==1)||(!isset($filter[$i]['attr']))) {
|
||||
// Filtre sur l'objet souhaité
|
||||
// Filtre sur l'objet souhaité
|
||||
$sfilter='(&';
|
||||
$sfilter.=$this -> getObjectFilter();
|
||||
$sfilter_end=')';
|
||||
$check_final_dn=true;
|
||||
}
|
||||
// Initialisation des critères d'une recherche intermédiaire
|
||||
// Initialisation des critères d'une recherche intermédiaire
|
||||
else {
|
||||
if(isset($filter[$i]['object_type'])) {
|
||||
$obj_tmp=new $filter[$i]['object_type']();
|
||||
|
@ -670,17 +702,17 @@ class LSldapObject {
|
|||
$sbasedn=$filter[$i]['basedn'];
|
||||
}
|
||||
}
|
||||
// Dans le cas d'une recherche intermédiaire ou finale
|
||||
// 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
|
||||
// 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
|
||||
// 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]=='(')
|
||||
|
@ -697,7 +729,7 @@ class LSldapObject {
|
|||
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
|
||||
// Vérification de la compatibilité du basedn de la recherche et du basedn générale
|
||||
// Finalisation du filtre
|
||||
$sfilter_for.=$sfilter_end;
|
||||
|
||||
|
@ -707,7 +739,7 @@ class LSldapObject {
|
|||
|
||||
// Si il y un retour
|
||||
if(isset($ret[0])) {
|
||||
// si il ya une suite (recherche intermédiaire)
|
||||
// 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']])) {
|
||||
|
@ -725,7 +757,7 @@ class LSldapObject {
|
|||
}
|
||||
}
|
||||
else {
|
||||
// vérification de la compatibilité de la compatibilité du DN resultant
|
||||
// vérification de la compatibilité de la compatibilité du DN resultant
|
||||
// et du basedn de recherche
|
||||
if (!$this -> isCompatibleDNs($ret[0]['dn'],$basedn))
|
||||
continue;
|
||||
|
@ -740,9 +772,9 @@ class LSldapObject {
|
|||
$ret=$ret_gen;
|
||||
break;
|
||||
}
|
||||
// dans le cas d'une suite prévu mais d'un retour nul de la précédente recherche
|
||||
// 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
|
||||
// retour vide et arrêt de la recherche
|
||||
$ret=array();
|
||||
break;
|
||||
}
|
||||
|
@ -752,7 +784,7 @@ class LSldapObject {
|
|||
}
|
||||
// Dans le cas de la recherche initiale
|
||||
else {
|
||||
// Déclaration du filtre de recherche
|
||||
// Déclaration du filtre de recherche
|
||||
if((isset($filter[$i]['filter']))&&(!empty($filter[$i]['filter']))) {
|
||||
if($filter[$i]['filter'][0]=='(') {
|
||||
$sfilter.=$filter[$i]['filter'];
|
||||
|
@ -767,7 +799,7 @@ class LSldapObject {
|
|||
// Lancement de la recherche
|
||||
$ret=$GLOBALS['LSldap'] -> search ($sfilter,$sbasedn,$sparams);
|
||||
|
||||
//Si filtre multiple => on recupère une liste d'attributs
|
||||
//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']])) {
|
||||
|
@ -784,16 +816,16 @@ class LSldapObject {
|
|||
}
|
||||
}
|
||||
|
||||
// Si aucunne valeur n'est retournées
|
||||
// Si aucunne valeur n'est retournées
|
||||
if(empty($attrs)){
|
||||
// arrêt et retour à zéro
|
||||
// arrêt et retour à zéro
|
||||
$ret=array();
|
||||
break;
|
||||
}
|
||||
}
|
||||
// Si recherche unique
|
||||
else {
|
||||
// préparation du retour finale
|
||||
// préparation du retour finale
|
||||
if (is_array($ret)) {
|
||||
$ret_final=array();
|
||||
foreach($ret as $obj)
|
||||
|
@ -808,7 +840,7 @@ class LSldapObject {
|
|||
}
|
||||
}
|
||||
|
||||
// Création d'un tableau d'objet correspondant au valeur retourné
|
||||
// Création d'un tableau d'objet correspondant au valeur retourné
|
||||
for($i=0;$i<count($ret);$i++) {
|
||||
$retInfos[$i] = new $this -> type_name($this -> config);
|
||||
$retInfos[$i] -> loadData($ret[$i]);
|
||||
|
@ -819,7 +851,7 @@ class LSldapObject {
|
|||
|
||||
|
||||
/**
|
||||
* Recherche un objet à partir de la valeur exact de son RDN
|
||||
* Recherche un objet à partir de la valeur exact de son RDN
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
|
@ -836,7 +868,7 @@ class LSldapObject {
|
|||
/**
|
||||
* Retourne une valeur de l'objet
|
||||
*
|
||||
* Retourne une valeur en fonction du paramètre. Si la valeur est inconnue, la valeur retourné est ' '.
|
||||
* Retourne une valeur en fonction du paramètre. Si la valeur est inconnue, la valeur retourné est ' '.
|
||||
* tableau d'objet correspond au resultat de la recherche.
|
||||
*
|
||||
* Valeurs possibles :
|
||||
|
@ -846,9 +878,9 @@ class LSldapObject {
|
|||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @param[in] $val string Le nom de la valeur demandée
|
||||
* @param[in] $val string Le nom de la valeur demandée
|
||||
*
|
||||
* @retval mixed la valeur demandé ou ' ' si celle-ci est inconnue.
|
||||
* @retval mixed la valeur demandé ou ' ' si celle-ci est inconnue.
|
||||
*/
|
||||
function getValue($val) {
|
||||
if(($val=='dn')||($val=='%{dn}')) {
|
||||
|
@ -878,7 +910,7 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Retourn un tableau pour un select d'un objet du même type
|
||||
* Retourn un tableau pour un select d'un objet du même type
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
|
@ -896,7 +928,7 @@ class LSldapObject {
|
|||
/**
|
||||
* Retourne le DN de l'objet
|
||||
*
|
||||
* Cette methode retourne le DN de l'objet. Si celui-ci n'existe pas, il le construit à partir de la
|
||||
* Cette methode retourne le DN de l'objet. Si celui-ci n'existe pas, il le construit à partir de la
|
||||
* configuration de l'objet et la valeur de son attribut rdn.
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
|
@ -938,11 +970,11 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Retourne qui est l'utilisateur par rapport à cet object
|
||||
* Retourne qui est l'utilisateur par rapport à cet object
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @retval string 'admin'/'self'/'user' pour Admin , l'utilisateur lui même ou un simple utilisateur
|
||||
* @retval string 'admin'/'self'/'user' pour Admin , l'utilisateur lui même ou un simple utilisateur
|
||||
*/
|
||||
function whoami() {
|
||||
if (!$this -> _whoami)
|
||||
|
@ -967,7 +999,7 @@ class LSldapObject {
|
|||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @retval boolean True si l'objet à été supprimé, false sinon
|
||||
* @retval boolean True si l'objet à été supprimé, false sinon
|
||||
*/
|
||||
function remove() {
|
||||
if ($this -> beforeDelete()) {
|
||||
|
@ -1028,10 +1060,10 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Methode créant la liste des objets en relations avec l'objet courant et qui
|
||||
* Methode créant la liste des objets en relations avec l'objet courant et qui
|
||||
* la met en cache ($this -> _relationsCache)
|
||||
*
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
*/
|
||||
function updateRelationsCache() {
|
||||
$this -> _relationsCache=array();
|
||||
|
@ -1055,12 +1087,12 @@ class LSldapObject {
|
|||
);
|
||||
}
|
||||
else {
|
||||
LSdebug('Problème durant la mise en cache de la relation '.$relation_name);
|
||||
LSdebug('Problème durant la mise en cache de la relation '.$relation_name);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
LSdebug('Les méthodes de mise en cache de la relation '.$relation_name. ' ne sont pas toutes disponibles.');
|
||||
LSdebug('Les méthodes de mise en cache de la relation '.$relation_name. ' ne sont pas toutes disponibles.');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -1075,29 +1107,29 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Methode executant les actions nécéssaires avant le changement du DN de
|
||||
* Methode executant les actions nécéssaires avant le changement du DN de
|
||||
* l'objet.
|
||||
*
|
||||
* Cette méthode n'est qu'un exemple et elle doit être certainement réécrite
|
||||
* Cette méthode n'est qu'un exemple et elle doit être certainement réécrite
|
||||
* pour les objets plus complexe.
|
||||
*
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
*/
|
||||
function beforeRename() {
|
||||
return $this -> updateRelationsCache();
|
||||
}
|
||||
|
||||
/**
|
||||
* Methode executant les actions nécéssaires après le changement du DN de
|
||||
* Methode executant les actions nécéssaires après le changement du DN de
|
||||
* l'objet.
|
||||
*
|
||||
* Cette méthode n'est qu'un exemple et elle doit être certainement réécrite
|
||||
* Cette méthode n'est qu'un exemple et elle doit être certainement réécrite
|
||||
* pour les objets plus complexe.
|
||||
*
|
||||
* @param[in] $oldDn string L'ancien DN de l'objet
|
||||
* @param[in] $newDn string Le nouveau DN de l'objet
|
||||
*
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
*/
|
||||
function afterRename($oldDn,$newDn) {
|
||||
$error = 0;
|
||||
|
@ -1124,26 +1156,26 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Methode executant les actions nécéssaires avant la suppression de
|
||||
* Methode executant les actions nécéssaires avant la suppression de
|
||||
* l'objet.
|
||||
*
|
||||
* Cette méthode n'est qu'un exemple et elle doit être certainement réécrite
|
||||
* Cette méthode n'est qu'un exemple et elle doit être certainement réécrite
|
||||
* pour les objets plus complexe.
|
||||
*
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
*/
|
||||
function beforeDelete() {
|
||||
return $this -> updateRelationsCache();
|
||||
}
|
||||
|
||||
/**
|
||||
* Methode executant les actions nécéssaires après la suppression de
|
||||
* Methode executant les actions nécéssaires après la suppression de
|
||||
* l'objet.
|
||||
*
|
||||
* Cette méthode n'est qu'un exemple et elle doit être certainement réécrite
|
||||
* Cette méthode n'est qu'un exemple et elle doit être certainement réécrite
|
||||
* pour les objets plus complexe.
|
||||
*
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
*/
|
||||
function afterDelete() {
|
||||
$error = 0;
|
||||
|
@ -1188,13 +1220,13 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Methode executant les actions nécéssaires après la création de
|
||||
* Methode executant les actions nécéssaires après la création de
|
||||
* l'objet.
|
||||
*
|
||||
* Cette méthode n'est qu'un exemple et elle doit être certainement réécrite
|
||||
* Cette méthode n'est qu'un exemple et elle doit être certainement réécrite
|
||||
* pour les objets plus complexe.
|
||||
*
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
* @retval True en cas de cas ce succès, False sinon.
|
||||
*/
|
||||
function afterCreate() {
|
||||
LSdebug('after');
|
||||
|
@ -1206,7 +1238,7 @@ class LSldapObject {
|
|||
if (isset($GLOBALS['LSobjects'][$type]['container_auto_create'])&&isset($GLOBALS['LSobjects'][$type]['container_dn'])) {
|
||||
$dn = $GLOBALS['LSobjects'][$type]['container_dn'].','.$this -> getDn();
|
||||
if(!$GLOBALS['LSldap'] -> getNewEntry($dn,$GLOBALS['LSobjects'][$type]['container_auto_create']['objectclass'],$GLOBALS['LSobjects'][$type]['container_auto_create']['attrs'],true)) {
|
||||
LSdebug("Impossible de créer l'entrée fille : ".print_r(
|
||||
LSdebug("Impossible de créer l'entrée fille : ".print_r(
|
||||
array(
|
||||
'dn' => $dn,
|
||||
'objectClass' => $GLOBALS['LSobjects'][$type]['container_auto_create']['objectclass'],
|
||||
|
@ -1277,12 +1309,12 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Retourne la liste des relations pour l'objet en fonction de sa présence
|
||||
* Retourne la liste des relations pour l'objet en fonction de sa présence
|
||||
* dans un des attributs
|
||||
*
|
||||
* Retourne un tableau de d'objet (type : $objectType) correspondant à la
|
||||
* Retourne un tableau de d'objet (type : $objectType) correspondant à la
|
||||
* relation entre l'objet $object et les objets de type $objectType. Cette relation
|
||||
* est établis par la présence de la valeur de référence à l'objet dans
|
||||
* est établis par la présence de la valeur de référence à l'objet dans
|
||||
* l'attribut des objets de type $objectType.
|
||||
*
|
||||
* @param[in] $object Un object de type $objectType
|
||||
|
@ -1317,14 +1349,14 @@ class LSldapObject {
|
|||
/**
|
||||
* Ajoute un objet en relation dans l'attribut $attr de $this
|
||||
*
|
||||
* @param[in] $object Un objet de type $objectType à ajouter
|
||||
* @param[in] $attr L'attribut dans lequel l'objet doit être ajouté
|
||||
* @param[in] $object Un objet de type $objectType à ajouter
|
||||
* @param[in] $attr L'attribut dans lequel l'objet doit être ajouté
|
||||
* @param[in] $objectType Le type d'objet en relation
|
||||
* @param[in] $attrValue La valeur que doit avoir l'attribut :
|
||||
* - soit le dn (par defaut)
|
||||
* - soit la valeur [0] d'un attribut
|
||||
*
|
||||
* @retval boolean true si l'objet à été ajouté, False sinon
|
||||
* @retval boolean true si l'objet à été ajouté, False sinon
|
||||
**/
|
||||
function addOneObjectInRelation($object,$attr,$objectType,$attrValue='dn') {
|
||||
if ((!$attr)||(!$objectType)) {
|
||||
|
@ -1367,14 +1399,14 @@ class LSldapObject {
|
|||
/**
|
||||
* Supprime un objet en relation dans l'attribut $attr de $this
|
||||
*
|
||||
* @param[in] $object Un objet de type $objectType à supprimer
|
||||
* @param[in] $attr L'attribut dans lequel l'objet doit être supprimé
|
||||
* @param[in] $object Un objet de type $objectType à supprimer
|
||||
* @param[in] $attr L'attribut dans lequel l'objet doit être supprimé
|
||||
* @param[in] $objectType Le type d'objet en relation
|
||||
* @param[in] $attrValue La valeur que doit avoir l'attribut :
|
||||
* - soit le dn (par defaut)
|
||||
* - soit la valeur [0] d'un attribut
|
||||
*
|
||||
* @retval boolean true si l'objet à été supprimé, False sinon
|
||||
* @retval boolean true si l'objet à été supprimé, False sinon
|
||||
**/
|
||||
function deleteOneObjectInRelation($object,$attr,$objectType,$attrValue='dn') {
|
||||
if ((!$attr)||(!$objectType)) {
|
||||
|
@ -1411,15 +1443,15 @@ class LSldapObject {
|
|||
/**
|
||||
* Renome un objet en relation dans l'attribut $attr de $this
|
||||
*
|
||||
* @param[in] $object Un objet de type $objectType à renomer
|
||||
* @param[in] $oldValue string L'ancienne valeur faisant référence à l'objet
|
||||
* @param[in] $attr L'attribut dans lequel l'objet doit être supprimé
|
||||
* @param[in] $object Un objet de type $objectType à renomer
|
||||
* @param[in] $oldValue string L'ancienne valeur faisant référence à l'objet
|
||||
* @param[in] $attr L'attribut dans lequel l'objet doit être supprimé
|
||||
* @param[in] $objectType Le type d'objet en relation
|
||||
* @param[in] $attrValue La valeur que doit avoir l'attribut :
|
||||
* - soit le dn (par defaut)
|
||||
* - soit la valeur [0] d'un attribut
|
||||
*
|
||||
* @retval boolean True en cas de succès, False sinon
|
||||
* @retval boolean True en cas de succès, False sinon
|
||||
*/
|
||||
function renameOneObjectInRelation($object,$oldValue,$attr,$objectType,$attrValue='dn') {
|
||||
if ((!$attr)||(!$objectType)) {
|
||||
|
@ -1457,7 +1489,7 @@ class LSldapObject {
|
|||
}
|
||||
|
||||
/**
|
||||
* Met à jour les objets du meme type que $this en relation avec l'objet $object
|
||||
* Met à jour les objets du meme type que $this en relation avec l'objet $object
|
||||
* de type $objectType en modifiant la valeur de leur attribut $attr des objets
|
||||
* en relation
|
||||
*
|
||||
|
@ -1469,7 +1501,7 @@ class LSldapObject {
|
|||
* - soit le dn (par defaut)
|
||||
* - soit la valeur [0] d'un attribut
|
||||
*
|
||||
* @retval boolean true si tout c'est bien passé, False sinon
|
||||
* @retval boolean true si tout c'est bien passé, False sinon
|
||||
**/
|
||||
function updateObjectsInRelation($object,$listDns,$attr,$objectType,$attrValue='dn') {
|
||||
if ((!$attr)||(!$objectType)) {
|
||||
|
|
Loading…
Reference in a new issue