-> view/select => change to use it (php+template+js)
-> LSattr_html_select_object/LSattr_html_select_list => change to use it
-> LSldapObject :
-> change listObjectsName() / searchObject() / getSelectArray() / listObjects()
-> comment search() function
-> Add triggers to clean cache
-> LSpeople : Update search config
-> LSsession : Change function to use it :
- getSubDnLdapServer()
- loadLSprofiles()
- LSrelation : Deplace error codes declaration from LSsession in class file
- LSldapObject :
-> change getObjectFilter() / getLabel() / getSubDnValue() / getSubDnName() for can call then staticaly
-> Add afterModify() function and trigger
-> Change getObjectFilter() / listObjectsInRelation() to use Net_LDAP2_Filter
-> Add __get() function
-> Move one LSerror code for LSrelation function from LSsession class file
-> Add a global variable to save cached data ($cache)
-> Change subDn and subDnName access methods
- LSauth : Move LSsession auth procedure in a dedicated class
-> LSsession : Change startLSsession() to use it
- LSsession :
-> Add getRootDn() function
-> Fix getTopDn() to return root DN if no topDn is currently defined
-> Create dedicated functions to support recoveryPassword mecanism :
- recoverPasswd()
- recoverPasswdSendMail()
- recoverPasswdFirstStep()
- recoverPasswdSecondStep
-> Customize LSdebug return and display (php+js)
-> Clean unused error codes
-> Move LSrelation error codes
-> Comment ajax method
- Add subDnIsEnabled() function and use it in getSubDnLdapServer()
- Add debuging support for smarty
- Change in the detection of the session for safety
-> Déplacement des définitions des constantes de chemins et
de gettext dans ce fichier
-> Déplacement des ini_set() dans ce fichier
- LSdebug :
-> La variable d'activation devient la constante LSdebug
-> Le tableau de stockages des messages s'appel maintenant
LSdebug_fieds
- LSconfig : Ajout d'une classe gérant la configuration du
projet qui servira d'abstraction à la configuration
- LSsession :
-> Suppresion de la méthode loadConfig() et ajout de la
méthode startLSconfig()
-> Ajout de la méthode startLStemplate()
-> Ajout du commentaire à la méthode getTopDn()
-> La méthode vérifie l'existance de la classe portant le nom
du type d'objet avant de lancer le chargement
-> Utilisation LSconfig pour l'accès à la configuration
-> Ajout de la fonction __() : fonction de traduction utilisant à la fois le tableau globale LSlang
et gettext pour traduire les messages qu'on lui passe.
-> Ajout de la fonction tr() : fonction utilisable depuis les templates pour traduire une variable
smarty.
- LSexample :
-> Utilisation de la traduction via __() plutôt que gettext
- LSdefault :
-> Creation d'un template pour la gestion des outils apporté par LSdefaut (LSerror, LSdebug, ...)
-> Ajout de méthode de gestion de LSlang
- LSsession :
- Login/RecoverPassword : Utilisation du template LSdefault
- Gestion de la traduction :
-> Ajout de la méthode setLocale() définissant la langue de l'interface.
-> Ajout des méthodes getLangList() et localeExist()
-> Le session_start() se fait dans l'initialize désormais (pour gérer la langue même déconnecté)
-> Méthode setLdapServer() : rédifinition de la locale avec setLocale()
-> Ajout de LSlang : outil JS permetant dans l'interface de choisir sa langue
- Config :
-> De manière général, il ne doit plus y avoir d'appel de la fonction _() dans les fichiers de config, les
chaînes sont données non traduite, et la traduction se fera lors de leur utilisation.
-> Tout les labels et messages déclarer dans la config, est maintenant traduit du coté code PHP avec la
fonction __()
-> L'enconding et la langue sont désormais géré indépendament
- ViewList : Les noms des boutons (New,Refresh,...) ne sont plus traduit du côté PHP mais dans le template à
cause de leur mise en cache.
- Documentation :
-> Mise à jour relative en changement de paramètres de configuration
-> Ajout des informations sur les variables et constantes indépendantes du fichier de configuration config.inc.php
-> Mise à jour du fichier INSTALL avec les informations de la documentation
un troisième paramètre : un LSformat du filtre de recherche composé avec la valeur
du première argument.
- LSsession : Ajout de la possibilité de définir le filtre de recherche LDAP de l'objet
utilisateur d'une personne se connectant. (authObjectFilter)
- config.inc.php : Ajout de la possibilité de s'authentifier avec son mail.
d'affichage et les requêtes Ajax.
- LSrelation :
- Création d'une classe PHP gérant les dépendances d'affichage et
les requêtes Ajax.
- Modification du JS pour faire appels à ces méthodes
- La méthode displayInLSview() remplace le bloc du fichier view.php
pour l'affichage des relations d'un objet.
- Internationalisation.
- LSselect : Création d'une classe PHP gérant les dépendances
d'affichage et les requêtes Ajax.
- LSformElement_password :
- Ajout de méthodes statiques gérant les appels Ajax.
- Modification du JS pour faire appels à ces méthodes
- LSformElement_select_object :
- Ajout de méthodes statiques gérant les appels Ajax.
- Modification du JS pour faire appels à ces méthodes
- LSformElement_mail : Utilisation des nouvelles fonctionnalités pour
gérer les dépendances.
- LSformElement_image : Utilisation des nouvelles fonctionnalités pour
gérer les dépendances.
- LSsession :
- Ajout de méthodes statiques gérant les appels Ajax des formulaires
de login et de recupération de mot de passe.
- Modification des JS pour faire appels à ces méthodes
- Ajout d'un mécanisme permettant de garder la session PHP active
- Modification de LSdefault.js pour gérer ce mécanisme
- LSform :
- Ajout de méthodes statiques gérant les appels Ajax des formulaires
- Ajout de la méthode loadDependenciesDisplayView() gérant les
dépendances d'affichage d'une LSview.
- Utilisation des nouvelles fonctionnalités pour gérer les
dépendances.
- view.php / modify.php /select.php : Utilisation des nouvelles
fonctionnalités pour gérer les dépendances et les LSrelations.
- LSview : Modification de l'internationnalisation.
pour ne pas obliger sa recopie.
- LSlog : Début d'ecriture d'une possibilité de fichiers de logs
- Ajout d'une fonction de test validPas() retournant false
- LSformElement : Ajout d'un type de LSformElement gérant les attributs maildir.
Il fonctionne en frontend du LSaddon Maildir.
- LSsession :
-> Ajout de la méthode statique includeFile() utilisé à la place de la fonction
php include_once()
-> displayAjaxReturn() : Gestion du LSredirect
-> Ajout d'un require_once() sur functions.php
- LSaddon::FTP : Ajout de la fonction renameDirByFTP()
- LSaddon::Maildir :
-> Ajout de la fonction renameMaildirByFTP()
-> Modification des fonctions createMaildirByFTP() et removeMaildirByFTP() pour
pour pouvoir leur passé en deuxième paramètre le chemin de la maildir à utlisé
- LSdefault :
-> LSdebugHidde() devient hideLSdebug()
-> Ajout de la méthode hideLSerror() accroché sur l'événement double-clique de la
LSerrorsBox
-> displayErrorBox() : plus de timeout d'affichage des erreurs
-> checkAjaxReturn() : Gestion des LSredirect
- LSform :
-> plus de LSformRedirect : utilisation de LSdefault::LSredirect
- modify.php et create.php : Utilisation des LSdefault::LSredirect et affichages des
erreurs non-bloquant sur la page suivante.
- LSerror :
-> Utilisation d'une variable de session pour stocké les erreurs
-> Ajout de la méthode resetError() exécutée à chaque exécution de
LSerror::getErrors()
- LSldapObject :
-> Correction de la gestion des binding
-> Event before_modify : bloquant en cas d'échec
-> Event after_modify : non-bloquant en cas d'échec
- ftp : Ajout de la possiblité d'un chmod après la création des dossiers
avec la méthode createDirsByFTP()
- Maildir : Ajout d'un chmod après la création de la maildir
la possibilité de laisser à l'utilisateur le choix du format de nom des subDn.
De plus, le paramètre du basedn de recherche des LSobjets est renomé :
-> topDn => basedn
- config.inc.php : Paramètre inutile supprimé
j'espère pour voir bientôt ajouté au SVN. Cela me fait mettre le doit sur
quelques problèmes de nommages, d'organisation que j'ai corrigé sur le fait :
- Concepte de level était enfaite celui de subDn : seule le nom subDn doit
rester.
- Le concept de LSrights dans LSsession et config.inc.php était mal nommé.
Il correspond plus à la définition de LSprofile en réalité. Je l'ai renommé
ainsi.
- Les paramètres authobject et authobject_pwdattr n'étaient pas très représentatif.
Je les ai renommé en authObjectType et authObjectTypeAttrPwd.
- Templates :
-> Correction du template default dans le but de changer la couleur bleu dominante juger trop
flashy :). Au passage j'ai dégagé l'image de fond de #main utilisé pour colorer le menu :
cette méthode est moche et quitte a à faire du moche je préfère utiliser un vulgaire tableau
que des bidouille de ce genre.
-> Création d'un logo pour LdapSaisie qui vient remplacer le logo Easter-Eggs utilisé jusqu'alors.
-> Ajout d'un favicon.
- LSerror :
-> J'ai déplacé les definitions de code d'erreur dans le contexte concerné (càd dans
les fichiers de définition des classes) (Feature Request #1757)
-> J'en ai profité pour renommer les codes d'erreur avec un prefixe pour eviter les doublons
-> J'ai donc modifié une grande partie des fichiers pour changer les codes erreurs utilisés
-> Ajout d'une méthode getError() utilisé par getErrors()
-> Modification de la méthode stop()
- LSformElement_password :
- Correction d'un bug dans la génération des mots de passe dans un formulaire de création d'objet.
- Ajout d'une possiblité de choisir le type de hashage du mot de passe stocké dans l'annuaire
(Feature Request #1756)
- Traduction des commentaires
- LSattribute : Ajout des vérifications dans les méthodes de la classe lors de l'utilisation des objets
html et ldap.
- LSsession :
-> Renforcement des méthodes faisant des inclusions d'autres fichiers php.
-> Correction du chargement de Net_LDAP2
-> Ajout de la possibilité d'avoir autre chose que le dn en valeur clef
dans la méthode loadLSrights() (type groupe)
-> Les profils utilisateurs sont maintenant scalable. Il est possible
de créer autant de profil voulu avec autant de droits alloués spécifiques
-> LSsession :: whoami() et LSldapObject :: whoami() retourne la liste des profils
correspondants à l'utilisateur connecté
-> Les méthodes ont été modifiées pour prendre en compte cela en faisant la somme
des droits de chaque profils :
- LSsession :: canAccess()
- LSsession :: relationCanAccess()
- LSsession :: loadLSrights()
- LSattribute :: myRigths()
-> LSsession :: isAdmin() a été remplacé par isProfile() capable de redonner la meme
information mais pour tout profil dont le nom est passé en paramètre
-> LSsession :: loadLSrights() : gère la délagation de droits sur les objets répondant a un
filtre particulier ou dont un certain attribut possède une certaine valeur
-> LSexample :
-> Ajout d'un attribut lsGodfatherDn pour la délégation de droit objet par objet
-> Retravail des objets d'exemple pour faire en sorte de coller plus avec une réel
utilisation
-> LSsession : ajout de la méthode addHelpInfos()
-> LSdefault : ajout des méthodes addHelpInfo() et setHelpInfo()
-> LSform : ajout des méthodes addTip() et removeTip()
-> Ceci répond globalement à la feature request #1730
- LSformElement_select_object :
- Ajout d'un bouton d'ajout/recherche rapide (Feature Requests #1731)
- JS correction d'un bug lors du refresh (bouton Modifier)
-> Refonte complète pour coller au plus près de la réalité
-> Création des classes LSformElement et LSformElement_field
- LSsession :
-> Méthode fetchTemplate() : retourne un template compilé
- LSformElement :
-> Méthode fetchTemplate() : Utilisation des templates pour l'affichage des
LSformElement.
-> Méthode isMultiple()
-> getEmptyField() : méthode d'affichage par défaut d'un champs vide
- LSformElement_textarea :
-> Utilisation des templates pour l'affichage
-> Ajout d'un bouton clear()
- LSformElement_text :
-> Utilisation des templates pour l'affichage
-> Adpatation pour pouvoir faire des classes filles. Celles-ci hériteront
des fonctionnalités des champs textes classiques
-> La méthode de génération est maintenant appliqué à tout les champs et non
plus simplement au premier
- LSformElement_mail :
-> Refonte en utilisant l'héritage de LSformElement_text
-> help_info ajouté dans la configuration des attributs
- LSeepeople : Ajout d'une bulle d'aide pour loginshell
- LSdebug : Renomage des fonctions attachées :
- debug() -> LSdebug()
- debug_pring() -> LSdebug_print()
-> Nétoyage des debug dans le code et renomage quand nécessaire.
-> Ajout d'une fonctionnalité de dump de variable à LSdebug()
- LSsession : Correction d'un problème de chemin pour les scripts JS
DN de l'objet affiché.
- LSmail : Ajout d'une fonctionalité d'envoie de mail depuis l'interface.
-> Modification de LSformElement_mail pour utiliser cette fonctionalité
-> Agrémentation du fichier index_ajax.php
-> Ajout d'un LSaddons :: mail
- LSsession :
-> Ajout d'une méthode getEmailSender()
-> Utilisation de la méthode getEmailSender() pour la partie de récupération
de mot de passe
-> Revue des méthodes loadLSaddon() et loadLSaddons()
- LSconfirmBox :
-> Ajout de binding onClose() et onCancel()
- LSsmoothbox :
-> Déport de la creation de la structure dans la méthode build()
-> Suppression du principe de refreshElement au profit de binding sur les
évenements onClose, onValid et onCancel
-> Ajout des méthodes addEvent() et fireEvent()
-> Suppression de la méthode setRefreshElement()
-> Ajout de la méthode asNew() pour remettre l'objet dans son état d'origine
pour l'utilisation simultané de l'objet par plusieurs autres
-> Vérification lors du clique sur le closeBtn qu'une précédente confirmBox
n'est pas déjà ouvert
-> La méthode close() ne fait plus que fermer la LSsmoothbox et les méthodes
valid() et cancel() gère les cas de fermeture et lance la méthode close()
-> Ajout de la méthode openHTML() pour l'ouverture de la LSsmoothbox avec un
code HTML passé en paramètre
-> Ajout de la méthode setOption()
- LSrelation & LSformElement_select_object :
-> Utilisation du principe d'évenement de la LSsmoothbox plutôt que du
refreshElement
-> Utilisation de la méthode asNew() pour eviter tout problème de concurence
- LSdefault : Ajout de la méthode displayInfos()
-> Ajout de la methode redirect()
-> Ajout d'une possibilité d'affichage d'infos à au chargement de la page
-> methode addInfo()
-> modification de la methode displayTemplate() en conséquence
-> modification de LSdefault.js et LSdefault.css en conséquence
- remove.php
-> Redirection vers la liste des objets du même type que l'objet supprimé
après sa suppression avec une demande de rafraichissement.
- modify.php
-> Redirection vers la fiche de l'objet après sa modification avec affichage
d'un message. (Feature Request #1702)
- LSaddons :
-> FTP : support FTP a travers la librairie PEAR :: Net_FTP
-> Maildir : Pour la création et la suppresion de la Maildir d'un utilisateur
-> Posix : Ajout de la méthode createHomeDirectoryByFTP() et correction d'un
bug dans l'affichage des erreurs
-> Samba : Correction d'un bug dans l'affichage des erreurs
- LSldapObject :
-> Ajout d'une possibilité de trigger personnalisé à travers la configuration
d'un LSobjet :
-> after_create
-> after_delete
-> Renomage du trigger before_save et after_save en before_modify et
after_modify.
-> Les noms des objets sont maintenant cliquable et nous emmènent sur la
fiche de l'objet correspondant
- LSformElement_select_object :
-> Les noms des objets sont maintenant cliquable et nous emmènent sur la
fiche de l'objet correspondant
- LSformElement :
-> Ajout de deux types d'élements de formulaire :
-> LSformElement_mail : Adresse mail
-> LSformElement_xmpp : Adresse xmpp
- LSattribute :
-> uniformisation des données des attributs (tous des array())
-> modifications des méthodes loadData() & reloadData()
-> Correction des bugs induits par cette modification :
- trunk/includes/class/class.LSattr_html_select_list.php
- trunk/includes/class/class.LSldapObject.php
- trunk/includes/class/class.LSattr_html_select_object.php
- trunk/includes/class/class.LSattr_ldap_date.php
- trunk/includes/class/class.LSsession.php
- trunk/includes/addons/LSaddons.samba.php
-> Correction d'un bug concernant le refresh des formulaires (#1695)
-> modification de la méthode refreshForm()
- LSsession : Correction d'un bug d'affichage du nom de l'utilisateur connecté
-> Ajout de la possibilité de changer le RDN d'un objet
-> Mise à jour automatique des relations définis avec les autres types
d'objet à partir du moment que le paramètre 'rename_function' est défini
dans la configuration de la relation
-> Ajout des méthodes suivantes :
-> beforeRename() : Executer avant le changement de DN elle permet de
préparer le renomage.
-> afterRename() : Executer après le changement de DN elle finalise le
renomage.
-> Méthode submitData() : prise en charge du changement du RDN
- LSrelation :
-> Correction d'une erreur dans index_ajax.php : le paramètre
$relationConf['remove_function'] n'était pas utilisé
- LSeegroup :
-> Création d'une propriété $userObjectType pour stocké le type des objets
utilisateurs
-> Création de la méthode renameOneMember() pour assurer les modifications
nécéssaire lors du changement de DN d'un utilisateur
- LSformElement_date : Suppression du chargement du fichier js : calendar-setup
inutile l'utilisation faite de jscalendar.
- LSattribute :
-> Ajout d'une possibilité pour générer une valeur à partir d'un format de
chaine et la méthode getFData() des objets LSldapObject. Cette méthode fait
référence au paramètre 'generate_value_format' de la configuration d'un
attribut pour générer la valeur
- LSldap :
-> Ajout d'une méthode move() pour changer le DN d'un objet
- LSsession :
-> Ajout de la méthode changeAuthUser() pour changer l'utilisateur connecté
en cour de session. (Utile lors de la modification de l'utilisateur par lui
même)
- functions.php : Correction d'un bug dans la fontion getFData().
- modify.php : Vérification des droits de l'utilisateur après chargement et
eventuellement modification de celui-ci pour intégrer les eventuelles
modifications faites par l'utilisateur.
- LSselect : Selection d'un objet lorsqu'on clique sur son non
- LSconfirmBox : Correction erreur syntax JS
- LSformElement_url : Correction erreur JS avec Opera