diff --git a/doc/conf/LSaddon.docbook b/doc/conf/LSaddon.docbook index f896ede0..abf6bcd3 100644 --- a/doc/conf/LSaddon.docbook +++ b/doc/conf/LSaddon.docbook @@ -5,10 +5,10 @@ Cette partie décrit la manière de configurer les différents &LSaddons; actuellement supportés par &LdapSaisie;. Ces addons peuvent avoir un fichier de configuration et il sera alors stocké dans le dossier - conf/LSaddons/ et potera le nom + conf/LSaddons/ et potera le nom config.LSaddons.[addon name].php. - + &conf-LSaddon_asterisk; &conf-LSaddon_exportSearchResultAsCSV; &conf-LSaddon_LSaccessRightsMatrixView; @@ -16,5 +16,6 @@ &conf-LSaddon_maildir; &conf-LSaddon_mailquota; &conf-LSaddon_phpldapadmin; - + &conf-LSaddon_showTechInfo; + diff --git a/doc/conf/LSaddon/LSaddon.entities.xml b/doc/conf/LSaddon/LSaddon.entities.xml index f5f3aa2a..ae231883 100644 --- a/doc/conf/LSaddon/LSaddon.entities.xml +++ b/doc/conf/LSaddon/LSaddon.entities.xml @@ -6,4 +6,4 @@ - + diff --git a/doc/conf/LSaddon/LSaddon_exportSearchResultAsCSV.docbook b/doc/conf/LSaddon/LSaddon_exportSearchResultAsCSV.docbook index c1446847..787cc07d 100644 --- a/doc/conf/LSaddon/LSaddon_exportSearchResultAsCSV.docbook +++ b/doc/conf/LSaddon/LSaddon_exportSearchResultAsCSV.docbook @@ -14,16 +14,16 @@ Structure du fichier Ci-dessous, vous trouverez un exemple de configuration de la fonction -exportSearchResultAsCSV() comme &customSearchActions; +exportSearchResultAsCSV() comme &customSearchActions; : Exemple d'utilisation Le label et l'icône fournis dans cet exemple sont traduits -et délivrés avec &LdapSaisie; +et délivrés avec &LdapSaisie;. diff --git a/doc/conf/LSaddon/LSaddon_showTechInfo.docbook b/doc/conf/LSaddon/LSaddon_showTechInfo.docbook new file mode 100644 index 00000000..676d77a8 --- /dev/null +++ b/doc/conf/LSaddon/LSaddon_showTechInfo.docbook @@ -0,0 +1,33 @@ + + LSaddon_showTechInfo + Cet &LSaddon; fournie une fonction du même nom pouvant être utilisée + comme &customActions; et permettant d'afficher les informations techniques + d'un objet de l'annuaire. + +Ci-dessous, vous trouverez un exemple de configuration de la fonction +showTechInfo() comme &customActions; : + + +Exemple d'utilisation array ( + 'showTechInfo' => array ( + 'function' => 'showTechInfo', + 'label' => 'Show technical information', + 'hideLabel' => True, + 'noConfirmation' => true, + 'disableOnSuccessMsg' => true, + 'icon' => 'tech_info', + 'rights' => array ( + 'admin' + ), + ), + ), + [...] +);]]> + + +Le label et l'icône fournis dans cet exemple sont traduits et +délivrés avec &LdapSaisie;. + + diff --git a/src/conf/LSobjects/config.LSobjects.LScompany.php b/src/conf/LSobjects/config.LSobjects.LScompany.php index a32ddc1c..749ecaa0 100644 --- a/src/conf/LSobjects/config.LSobjects.LScompany.php +++ b/src/conf/LSobjects/config.LSobjects.LScompany.php @@ -30,6 +30,20 @@ $GLOBALS['LSobjects']['LScompany'] = array ( 'display_name_format' => '%{ou}', 'label' => 'Companies', + 'customActions' => array ( + 'showTechInfo' => array ( + 'function' => 'showTechInfo', + 'label' => 'Show technical information', + 'hideLabel' => True, + 'noConfirmation' => true, + 'disableOnSuccessMsg' => true, + 'icon' => 'tech_info', + 'rights' => array ( + 'admin' + ), + ), + ), + 'attrs' => array ( /* ----------- start -----------*/ diff --git a/src/conf/LSobjects/config.LSobjects.LSgroup.php b/src/conf/LSobjects/config.LSobjects.LSgroup.php index d34860b4..411467c8 100644 --- a/src/conf/LSobjects/config.LSobjects.LSgroup.php +++ b/src/conf/LSobjects/config.LSobjects.LSgroup.php @@ -38,6 +38,21 @@ $GLOBALS['LSobjects']['LSgroup'] = array ( ), 'display_name_format' => '%{cn}', 'label' => 'Groups', + + 'customActions' => array ( + 'showTechInfo' => array ( + 'function' => 'showTechInfo', + 'label' => 'Show technical information', + 'hideLabel' => True, + 'noConfirmation' => true, + 'disableOnSuccessMsg' => true, + 'icon' => 'tech_info', + 'rights' => array ( + 'admin' + ), + ), + ), + 'attrs' => array ( /* ----------- start -----------*/ diff --git a/src/conf/LSobjects/config.LSobjects.LSpeople.php b/src/conf/LSobjects/config.LSobjects.LSpeople.php index c0fb2da4..1020c4ed 100644 --- a/src/conf/LSobjects/config.LSobjects.LSpeople.php +++ b/src/conf/LSobjects/config.LSobjects.LSpeople.php @@ -45,6 +45,20 @@ $GLOBALS['LSobjects']['LSpeople'] = array ( 'exportSearchResultAsCSV', ), + 'customActions' => array ( + 'showTechInfo' => array ( + 'function' => 'showTechInfo', + 'label' => 'Show technical information', + 'hideLabel' => True, + 'noConfirmation' => true, + 'disableOnSuccessMsg' => true, + 'icon' => 'tech_info', + 'rights' => array ( + 'admin' + ), + ), + ), + 'ioFormat' => array ( 'mycsv' => array ( 'label' => 'Simple CSV', diff --git a/src/conf/LSobjects/config.LSobjects.LSsysaccount.php b/src/conf/LSobjects/config.LSobjects.LSsysaccount.php index e4f223e9..41f21126 100644 --- a/src/conf/LSobjects/config.LSobjects.LSsysaccount.php +++ b/src/conf/LSobjects/config.LSobjects.LSsysaccount.php @@ -31,6 +31,20 @@ $GLOBALS['LSobjects']['LSsysaccount'] = array ( 'display_name_format' => '%{uid}', 'label' => 'System accounts', + 'customActions' => array ( + 'showTechInfo' => array ( + 'function' => 'showTechInfo', + 'label' => 'Show technical information', + 'hideLabel' => True, + 'noConfirmation' => true, + 'disableOnSuccessMsg' => true, + 'icon' => 'tech_info', + 'rights' => array ( + 'admin' + ), + ), + ), + 'LSsearch' => array ( 'attrs' => array ( 'uid', diff --git a/src/conf/config.LSaddons.php b/src/conf/config.LSaddons.php index 350814e3..821ccfd4 100644 --- a/src/conf/config.LSaddons.php +++ b/src/conf/config.LSaddons.php @@ -25,5 +25,6 @@ $GLOBALS['LSaddons']['loads'] = array ( 'posix', 'ftp', 'maildir', - 'LSaccessRightsMatrixView' + 'showTechInfo', + 'LSaccessRightsMatrixView', ); diff --git a/src/css/default/showTechInfo.css b/src/css/default/showTechInfo.css new file mode 100644 index 00000000..690cc4d7 --- /dev/null +++ b/src/css/default/showTechInfo.css @@ -0,0 +1,7 @@ +#showTechInfo dl:first-of-type { + margin-left: 1em; +} + +dl dt { + font-weight: bold; +} diff --git a/src/images/default/tech_info.png b/src/images/default/tech_info.png new file mode 100644 index 00000000..693709cb Binary files /dev/null and b/src/images/default/tech_info.png differ diff --git a/src/includes/addons/LSaddons.showTechInfo.php b/src/includes/addons/LSaddons.showTechInfo.php new file mode 100644 index 00000000..3e93c928 --- /dev/null +++ b/src/includes/addons/LSaddons.showTechInfo.php @@ -0,0 +1,139 @@ + + * + * @retval boolean true if LSaccessRightsMatrixView addon is totally supported, false in other case + */ +function LSaddon_showTechInfo_support() { + return True; +} + +function showTechInfo($object) { + $dn = $object -> getDn(); + + // Retreive internal attributes + $internal_attrs = LSldap :: getAttrs( + $dn, + null, + array('objectClass'), + true + ); + + // Extract object classes + $object_classes = array(); + $structural_object_class = null; + if (array_key_exists('objectClass', $internal_attrs)) { + $object_classes = ( + is_array($internal_attrs['objectClass'])? + $internal_attrs['objectClass']: + array($internal_attrs['objectClass']) + ); + sort($object_classes); + unset($internal_attrs['objectClass']); + if (array_key_exists('structuralObjectClass', $internal_attrs)) { + $structural_object_class = $internal_attrs['structuralObjectClass']; + } + } + + // Handle special internal attributes + $special_internal_attributes_label = array( + 'structuralObjectClass' => _('Structural object class'), + 'createTimestamp' => _('Creation date'), + 'creatorsName' => _('Creator DN'), + 'modifyTimestamp' => _('Last modification date'), + 'modifiersName' => _('Last modifier DN'), + 'modifiersName' => _('Last modifier DN'), + 'entryCSN' => _('LDAP entry change sequence number'), + 'entryUUID' => _('LDAP entry UUID'), + 'hasSubordinates' => _('LDAP entry has children'), + ); + $datetime_special_internal_attributes = array('createTimestamp', 'modifyTimestamp'); + $boolean_special_internal_attributes = array('hasSubordinates'); + $special_internal_attributes = array(); + foreach($special_internal_attributes_label as $attr => $label) { + if (!array_key_exists($attr, $internal_attrs)) + continue; + if (in_array($attr, $datetime_special_internal_attributes)) { + $datetime = date_create_from_format('YmdHisO', $internal_attrs[$attr]); + if ($datetime instanceof DateTime) { + $special_internal_attributes[$attr] = array( + 'label' => $label, + 'values' => strftime("%Y/%m/%d %T", $datetime -> format('U')), + ); + } + else + continue; + } + elseif (in_array($attr, $boolean_special_internal_attributes)) { + if ($internal_attrs[$attr] == 'TRUE') + $value = _('Yes'); + elseif ($internal_attrs[$attr] == 'FALSE') + $value = _('No'); + else + continue; + $special_internal_attributes[$attr] = array( + 'label' => $label, + 'values' => $value, + ); + } + else { + $special_internal_attributes[$attr] = array( + 'label' => $label, + 'values' => $internal_attrs[$attr], + ); + } + unset($internal_attrs[$attr]); + } + + // Sort other internal attributes by name + ksort($internal_attrs); + + LStemplate :: assign('pagetitle', getFData(_('%{name}: Technical information'), $object -> getDisplayName())); + + $LSview_actions=array(); + $LSview_actions['return'] = array ( + 'label' => _('Go back'), + 'url' => 'object/'.$object->getType().'/'.urlencode($dn), + 'action' => 'view' + ); + LStemplate :: assign('LSview_actions', $LSview_actions); + + if (LSsession :: loadLSclass('LSform')) { + LSform :: loadDependenciesDisplayView(); + } + + LStemplate :: assign('object', $object); + LStemplate :: assign('object_classes', $object_classes); + LStemplate :: assign('structural_object_class', $structural_object_class); + LStemplate :: assign('special_internal_attributes', $special_internal_attributes); + LStemplate :: assign('other_internal_attrs', $internal_attrs); + + LStemplate :: addCssFile('showTechInfo.css'); + LSsession :: setTemplate('showTechInfo.tpl'); + // Display template + LSsession :: displayTemplate(); + exit(); +} diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index 615abe86..54f8a4d5 100644 Binary files a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo and b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo differ diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po index 747e23ec..89cfbfef 100644 --- a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po +++ b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: LdapSaisie\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2020-09-11 13:37+0200\n" +"PO-Revision-Date: 2020-09-21 15:46+0200\n" "Last-Translator: Benjamin Renard \n" "Language-Team: LdapSaisie \n" @@ -344,6 +344,58 @@ msgstr "" "MAILDIR : Erreur durant la récupération du chemin distant du dossier des " "mails." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:63 +#: templates/default/showTechInfo.tpl:16 +msgid "Structural object class" +msgstr "Classe d'objet structurelle" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:64 +msgid "Creation date" +msgstr "Date de création" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:65 +msgid "Creator DN" +msgstr "DN du créateur" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:66 +msgid "Last modification date" +msgstr "Date de dernière modification" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:67 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:68 +msgid "Last modifier DN" +msgstr "DN de l'utilisateur ayant modifié en dernier l'objet" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:69 +msgid "LDAP entry change sequence number" +msgstr "Numéro séquence de changement de l'entrée LDAP" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:70 +msgid "LDAP entry UUID" +msgstr "UUID de l'entrée LDAP" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:71 +msgid "LDAP entry has children" +msgstr "L'entrée LDAP as des enfants" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:92 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_boolean.php:60 +msgid "Yes" +msgstr "Oui" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:94 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_boolean.php:61 +msgid "No" +msgstr "Non" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:114 +msgid "%{name}: Technical information" +msgstr "%{name} : Informations techniques" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:118 +msgid "Go back" +msgstr "Retour" + #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.asterisk.php:27 msgid "Asterisk Support : The constant %{const} is not defined." msgstr "Support Asterisk : La constante %{const} n'est pas définie." @@ -1359,31 +1411,31 @@ msgstr "" "LSformRule_password : Regex invalide configurée : %{regex}. Vous devez " "utiliser des regex de type PCRE (commencant par le caractère '/')." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:521 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:530 msgid "LSldap : Error during the LDAP server connection (%{msg})." msgstr "LSldap : Erreur durant la connexion au serveur LDAP (%{msg})." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:524 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:533 msgid "LSldap : Error during the LDAP search (%{msg})." msgstr "LSldap : Erreur pendant la recherche LDAP (%{msg})." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:527 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:536 msgid "LSldap : Object type unknown." msgstr "LSldap : Type d'objet inconnu." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:530 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:539 msgid "LSldap : Error while fetching the LDAP entry." msgstr "LSldap : Erreur durant la récupération de l'entrée LDAP." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:533 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:542 msgid "LSldap : Error while changing the LDAP entry (DN : %{dn})." msgstr "LSldap : Erreur durant la modification de l'entrée LDAP (DN : %{dn})." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:536 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:545 msgid "LSldap : Error while deleting empty attributes." msgstr "LSldap : Erreur durant la suppression des attributs vides." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:539 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:548 msgid "LSldap : Error while changing the DN of the object." msgstr "LSldap : Erreur pendant la modification du DN de l'objet." @@ -1778,14 +1830,6 @@ msgstr "Envoyer un mail depuis l'interface." msgid "Reset the choice." msgstr "Réinitialiser le choix." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_boolean.php:60 -msgid "Yes" -msgstr "Oui" - -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_boolean.php:61 -msgid "No" -msgstr "Non" - #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_rss.php:50 msgid "Display RSS stack." msgstr "Afficher la file RSS." @@ -2370,10 +2414,18 @@ msgstr "Aucun objet importé" msgid "No value" msgstr "Aucune valeur" +#: templates/default/showTechInfo.tpl:11 +msgid "Object classes" +msgstr "Classes d'objet" + #: templates/default/import.tpl:19 msgid "Only validate data" msgstr "Validation des données uniquement" +#: templates/default/showTechInfo.tpl:41 +msgid "Other internal attributes" +msgstr "Autres attributs techniques" + #: templates/default/login.tpl:20 msgid "Password" msgstr "Mot de passe" diff --git a/src/lang/fr_FR.UTF8/lang.php b/src/lang/fr_FR.UTF8/lang.php index 2e9c8e4e..7cb4cab6 100644 --- a/src/lang/fr_FR.UTF8/lang.php +++ b/src/lang/fr_FR.UTF8/lang.php @@ -319,6 +319,13 @@ $GLOBALS['LSlang'] = array ( "Samba primary group identifier" => "Identifiant du groupe primaire Samba", +# LSobjects.LSpeople.customActions.showTechInfo.label +# LSobjects.LSgroup.customActions.showTechInfo.label +# LSobjects.LSsysaccount.customActions.showTechInfo.label +# LSobjects.LScompany.customActions.showTechInfo.label +"Show technical information" => + "Afficher les informations techniques", + # LSobjects.LSpeople.LSform.dataEntryForm.simple.label "Simple" => "Simple", diff --git a/src/lang/ldapsaisie.pot b/src/lang/ldapsaisie.pot index 7107e6bf..f0ab5049 100644 --- a/src/lang/ldapsaisie.pot +++ b/src/lang/ldapsaisie.pot @@ -272,6 +272,58 @@ msgstr "" msgid "MAILDIR : Error retrieving remote path of the maildir." msgstr "" +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:63 +#: templates/default/showTechInfo.tpl:16 +msgid "Structural object class" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:64 +msgid "Creation date" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:65 +msgid "Creator DN" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:66 +msgid "Last modification date" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:67 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:68 +msgid "Last modifier DN" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:69 +msgid "LDAP entry change sequence number" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:70 +msgid "LDAP entry UUID" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:71 +msgid "LDAP entry has children" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:92 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_boolean.php:60 +msgid "Yes" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:94 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_boolean.php:61 +msgid "No" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:114 +msgid "%{name}: Technical information" +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.showTechInfo.php:118 +msgid "Go back" +msgstr "" + #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.asterisk.php:27 msgid "Asterisk Support : The constant %{const} is not defined." msgstr "" @@ -1116,31 +1168,31 @@ msgid "" "(begining by '/' caracter)." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:521 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:530 msgid "LSldap : Error during the LDAP server connection (%{msg})." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:524 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:533 msgid "LSldap : Error during the LDAP search (%{msg})." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:527 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:536 msgid "LSldap : Object type unknown." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:530 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:539 msgid "LSldap : Error while fetching the LDAP entry." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:533 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:542 msgid "LSldap : Error while changing the LDAP entry (DN : %{dn})." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:536 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:545 msgid "LSldap : Error while deleting empty attributes." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:539 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:548 msgid "LSldap : Error while changing the DN of the object." msgstr "" @@ -1486,14 +1538,6 @@ msgstr "" msgid "Reset the choice." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_boolean.php:60 -msgid "Yes" -msgstr "" - -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_boolean.php:61 -msgid "No" -msgstr "" - #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_rss.php:50 msgid "Display RSS stack." msgstr "" @@ -2027,10 +2071,18 @@ msgstr "" msgid "No value" msgstr "" +#: templates/default/showTechInfo.tpl:11 +msgid "Object classes" +msgstr "" + #: templates/default/import.tpl:19 msgid "Only validate data" msgstr "" +#: templates/default/showTechInfo.tpl:41 +msgid "Other internal attributes" +msgstr "" + #: templates/default/login.tpl:20 msgid "Password" msgstr "" diff --git a/src/templates/default/showTechInfo.tpl b/src/templates/default/showTechInfo.tpl new file mode 100644 index 00000000..57b69df3 --- /dev/null +++ b/src/templates/default/showTechInfo.tpl @@ -0,0 +1,64 @@ +{extends file='ls:base_connected.tpl'} +{block name="content"} +
+

{$pagetitle}

+ {include file='ls:LSview_actions.tpl'} +
+
DN
+
{$object->getDn()|escape:"htmlall"}
+ + {if $object_classes} +
{tr msg='Object classes'}
+
+
    + {foreach $object_classes as $class} + {if $structural_object_class == $class} +
  • {$class|escape:"htmlall"} ?
  • + {else} +
  • {$class|escape:"htmlall"}
  • + {/if} + {/foreach} +
+
+ {/if} + + {foreach $special_internal_attributes as $attr => $info} +
{$info.label} ?
+
+ {if is_array($info.values)} +
    + {foreach $info.values as $value} +
  • {$value|escape:"htmlall"}
  • + {/foreach} +
+ {else} + {$info.values|escape:"htmlall"} + {/if} +
+ {/foreach} + + {if $other_internal_attrs} +
{tr msg="Other internal attributes"}
+
+
+ {foreach $other_internal_attrs as $attr => $values} + {if $attr == 'objectClass'}{continue}{/if} +
{$attr|escape:"htmlall"}
+
+ {if is_array($values)} +
    + {foreach $values as $value} +
  • {$value|escape:"htmlall"}
  • + {/foreach} +
+ {else} + {$values|escape:"htmlall"} + {/if} +
+ {/foreach} +
+
+ {/if} +
+
+{/block}