From 8f407e9345c6c616ff66562585f8529025f58c08 Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Mon, 21 Sep 2020 15:47:07 +0200 Subject: [PATCH] Add LSaddon::showTechInfo --- doc/conf/LSaddon.docbook | 7 +- doc/conf/LSaddon/LSaddon.entities.xml | 2 +- .../LSaddon_exportSearchResultAsCSV.docbook | 8 +- doc/conf/LSaddon/LSaddon_showTechInfo.docbook | 33 +++++ .../LSobjects/config.LSobjects.LScompany.php | 14 ++ .../LSobjects/config.LSobjects.LSgroup.php | 15 ++ .../LSobjects/config.LSobjects.LSpeople.php | 14 ++ .../config.LSobjects.LSsysaccount.php | 14 ++ src/conf/config.LSaddons.php | 3 +- src/css/default/showTechInfo.css | 7 + src/images/default/tech_info.png | Bin 0 -> 726 bytes src/includes/addons/LSaddons.showTechInfo.php | 139 ++++++++++++++++++ src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo | Bin 61248 -> 62090 bytes src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po | 84 +++++++++-- src/lang/fr_FR.UTF8/lang.php | 7 + src/lang/ldapsaisie.pot | 82 +++++++++-- src/templates/default/showTechInfo.tpl | 64 ++++++++ 17 files changed, 453 insertions(+), 40 deletions(-) create mode 100644 doc/conf/LSaddon/LSaddon_showTechInfo.docbook create mode 100644 src/css/default/showTechInfo.css create mode 100644 src/images/default/tech_info.png create mode 100644 src/includes/addons/LSaddons.showTechInfo.php create mode 100644 src/templates/default/showTechInfo.tpl 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 0000000000000000000000000000000000000000..693709cbc1b156839a754e53cbaf409edec69567 GIT binary patch literal 726 zcmV;{0xA88P)T&uF!>{(iS?1OX-eX zKw9bunxR5FrF6QaYs~9>A4#zW^dwIvCpq(+cfR?U`T6-{9LHUqo16RKcDwUVr?cX4 zIN~hJDs48~aRAJ}U_2g=KAB9SP$;0;Y@*$6Ly{z<(`i^NmbL#1W@l#$wOS3;YPBOE zJ;7`?L*?Ga6XzC292wl75}>gDz`(>h?is$JPxm#0jGnotoK|nAVM5$DQ z!C*kO-aeF@+Ejy?nVHEp8V&F~k7BWicsx!aH9kHLRpcQ?L&JFBAB4i&kAaVUxVvzh z3a-EY0%m%8nhI7|SE(QpiBL#sG#VUMM9}*(0mg2(Q$Zq;z|PJNd_Euiem@;jtJN@i za|c2MmsL?PR;yKNwOUA}QuO=7;V@#c7!{~gs?J7hAlsE7U#g?$aRkhSTqLq6iuCu9 z10_j_=;?Dc?4cZ386qH0HkgHTDT|HmGR`W4V2noNQJqfLJEot)q{V_UtsW+m31cP~ zDwWEi3HYBSoF4M;T?VaIdqinn1HZ9}32qs-PdwPbCf+WI6n9jl0-8cjV3%1FB%B&r z+`mzSliyLSH0dxYE}rk&=!uCa*V>()2znj`_XYjtbt>@4FLHnJE|G`xv)Ba@oLBny z1%3K7c4fiB^4{k6E8Pif0kNy62}b@9+ + * + * @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 615abe86f4df4a5435eaea375b5dcb9df5a807e6..54f8a4d56d4a529fc1b546de884e3f265b707673 100644 GIT binary patch delta 10787 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 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}