Add LSaddon orgchart

A first implementation of this addon which deserves some improvements.
This commit is contained in:
Benjamin Renard 2022-02-22 18:17:43 +01:00
parent bbf40090a9
commit ad38812859
12 changed files with 598 additions and 93 deletions

View file

@ -0,0 +1,72 @@
<?php
/*******************************************************************************
* Copyright (C) 2007 Easter-eggs
* https://ldapsaisie.org
*
* Author: See AUTHORS file in top-level directory.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
******************************************************************************/
/*
***********************************************
* OrgChart configuration
***********************************************
*/
// OrgChart entity object types
$GLOBALS['ORGCHART_ENTITY_OBJECT_TYPES'] = array(
// Object type included in chart and its parameters
'LSpeople' => array(
// Attribute name that contening parent object reference (optional)
'parent_id_attr' => 'lsGodfatherDn',
// Value of the parent attribute : could be 'dn' or another attribute of this type of object.
// Optional, default: 'dn'
// Note: in the chart, all entities are known by their DN. If you specify here an attribute,
// the first object matching with the value of the parent ID attribute will be keeped.
//'parent_id_attr_value' => 'dn',
// Parent object types
// Optional, default: all object types included in the chart
//'parent_object_types' => array('LSpeople', ...),
// Other attributes to load from LDAP : map here keys to attribute. These attributes values
// will be available in chart node template (as array).
'other_attrs' => array(
'name' => 'cn',
),
),
);
// Optional chart root entity
// If defined, all objects found without parent entity will be linked to this root entity. It's
// could be usefull when you have multiple root entities (no support by the d3-org-chart lib used).
// You could define here all information of the root entity and they will be available in the chart
// node template.
$GLOBALS['ORGCHART_ROOT_ENTITY'] = array(
'id' => 'root',
'name' => array('LSexample'),
);
// Chart node template
// The Mustache templating system is used here:
// https://github.com/janl/mustache.js
$GLOBALS['ORGCHART_TEMPLATE'] = <<<EOF
<div class="chart-node"><a href="{{url}}">{{name.0}}</a></div>
EOF;
// Additional CSS files to load on chart page
$GLOBALS['ORGCHART_ADDITIONAL_CSS_FILES'] = array();

View file

@ -0,0 +1,16 @@
div.chart-container {
width: 100vw;
height: 100vh;
}
div.chart-node {
width: 300px;
height: 70px;
border-radius: 10px;
border: 1px solid #E4E2E9;
display: flex;
text-align: center;
justify-content: center;
align-content: center;
flex-direction: column;
}

View file

@ -0,0 +1,285 @@
<?php
/*******************************************************************************
* Copyright (C) 2007 Easter-eggs
* https://ldapsaisie.org
*
* Author: See AUTHORS file in top-level directory.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
******************************************************************************/
// Error messages
// Support
LSerror :: defineError('LSORGCHART_SUPPORT_01',
___("Organizational Chart Support : The global array %{array} is not defined.")
);
LSerror :: defineError('LSORGCHART_SUPPORT_02',
___("Organizational Chart Support : The global variable %{var} is not defined.")
);
/**
* Check support of orgchart addon by LdapSaisie
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @retval boolean true if orgchart addon is totally supported, false in other case
*/
function LSaddon_orgchart_support() {
$retval = True;
$MUST_DEFINE_ARRAY = array(
'ORGCHART_ENTITY_OBJECT_TYPES',
'ORGCHART_ADDITIONAL_CSS_FILES',
);
foreach($MUST_DEFINE_ARRAY as $array) {
if (!isset($GLOBALS[$array]) || !is_array($GLOBALS[$array])) {
LSerror :: addErrorCode('LSORGCHART_SUPPORT_01', $array);
$retval = false;
}
}
$MUST_DEFINE_VAR = array(
'ORGCHART_TEMPLATE',
);
foreach($MUST_DEFINE_VAR as $var) {
if (!isset($GLOBALS[$var])) {
LSerror :: addErrorCode('LSORGCHART_SUPPORT_02', $var);
$retval = false;
}
}
if ($retval) {
$retval = (
LSsession :: registerLSaddonView(
'orgchart',
'orgchart',
_('Organizational chart'),
'organizationalChartPage',
null, // No access crontol
true // Show in menu
) &&
LSsession :: registerLSaddonView(
'orgchart',
'orgchartdata',
_('Organizational chart data'),
'organizationalChartData',
null, // No access crontol
false // Show in menu
)
);
}
return $retval;
}
function organizationalChartPage() {
LStemplate :: assign('template', $GLOBALS['ORGCHART_TEMPLATE']);
LStemplate :: assign('additional_css_files', $GLOBALS['ORGCHART_ADDITIONAL_CSS_FILES']);
LSsession :: setTemplate('organizationalChart.tpl');
}
function organizationalChartData() {
$root_entity = (isset($GLOBALS['ORGCHART_ROOT_ENTITY'])?$GLOBALS['ORGCHART_ROOT_ENTITY']:null);
$objects = array();
$objects_conf = array();
$objects_attr2dn = array();
$objects_attr2dn_need = array();
$requested_attrs = array();
// Load all object types
foreach($GLOBALS['ORGCHART_ENTITY_OBJECT_TYPES'] as $obj_type => $conf) {
if (!LSsession :: loadLSobject($obj_type))
LStemplate :: fatal_error("Fail to load object type '$obj_type'.");
$objects[$obj_type] = array();
$requested_attrs[$obj_type] = array();
$objects_attr2dn[$obj_type] = array();
$objects_attr2dn_need[$obj_type] = array();
$objects_conf[$obj_type] = array();
}
// Load configuration and attributes to request for each object types
foreach($GLOBALS['ORGCHART_ENTITY_OBJECT_TYPES'] as $obj_type => $conf) {
$parent_id_attr = LSconfig :: get('parent_id_attr', '', 'string', $conf);
if ($parent_id_attr) {
if (!$obj_type :: hasAttr($parent_id_attr))
LStemplate :: fatal_error("Object '$obj_type' does not have attribute '$id_attr'.");
$requested_attrs[$obj_type][] = $parent_id_attr;
}
$objects_conf[$obj_type]['parent_id_attr'] = $parent_id_attr;
$objects_conf[$obj_type]['other_attrs'] = LSconfig :: get('other_attrs', array(), 'array', $conf);
foreach($objects_conf[$obj_type]['other_attrs'] as $attr) {
if ($obj_type :: hasAttr($attr)) {
if (!in_array($attr, $requested_attrs))
$requested_attrs[$obj_type][] = $attr;
}
foreach(getFieldInFormat($attr) as $a) {
if (!$obj_type :: hasAttr($a))
LStemplate :: fatal_error("Object '$obj_type' does not have attribute '$a'.");
if (!in_array($a, $attrs))
$requested_attrs[$obj_type][] = $a;
}
}
$parent_id_attr_value = LSconfig :: get('parent_id_attr_value', 'dn', 'string', $conf);
$objects_conf[$obj_type]['parent_id_attr_value'] = $parent_id_attr_value;
$objects_conf[$obj_type]['parent_object_types'] = LSconfig :: get(
'parent_object_types',
array_keys($GLOBALS['ORGCHART_ENTITY_OBJECT_TYPES']),
'array', $conf);
foreach($objects_conf[$obj_type]['parent_object_types'] as $parent_object_type) {
if (!array_key_exists($parent_object_type, $objects))
LStemplate :: fatal_error("Object type '$parent_object_type' not configured for the organizational chart.");
if ($parent_id_attr_value == 'dn') continue;
if (!$parent_object_type :: hasAttr($parent_id_attr_value))
LStemplate :: fatal_error("Object '$parent_object_type' does not have attribute '$parent_id_attr_value'.");
if (!in_array($parent_id_attr_value, $requested_attrs[$parent_object_type]))
$requested_attrs[$parent_object_type][] = $parent_id_attr_value;
if (!in_array($parent_id_attr_value, $objects_attr2dn_need[$parent_object_type])) {
$objects_attr2dn_need[$parent_object_type][] = $parent_id_attr_value;
$objects_attr2dn[$parent_object_type][$parent_id_attr_value] = array();
}
}
// Load optional filter
$objects_conf[$obj_type]['filter'] = LSconfig :: get('filter', '', 'string', $conf);
}
// Load all objects
if (!LSsession :: loadLSclass('LSsearch'))
LStemplate :: fatal_error("Error loading LSsearch class");
foreach($objects_conf as $obj_type => $conf) {
// Compute search parameters
$search_params = array(
'attributes' => $requested_attrs[$obj_type],
);
if ($conf['filter']) {
$search_params['filter'] = $conf['filter'];
}
// Run search
$search = new LSsearch($obj_type, 'orgchart', $search_params);
$search -> run();
// Iter on found entries and store object data in $objects[$obj_type]
foreach($search -> listEntries() as $dn => $entry) {
$data = array(
'type' => $obj_type,
'url' => "object/$obj_type/".urlencode($dn),
'parent_id' => null,
);
// Load parent ID
if ($conf['parent_id_attr']) {
$parent_ids = ensureIsArray($entry->get($conf['parent_id_attr']));
if ($parent_ids) $data['parent_id'] = $parent_ids[0];
}
// Load other attributes values
foreach ($conf['other_attrs'] as $key => $attr)
$data[$key] = ensureIsArray($entry->get($attr));
$objects[$obj_type][$dn] = $data;
// If some object types refer to this one using attribute values,
// store attribute values to DN in $objects_attr2dn[$obj_type][$attr]
foreach($objects_attr2dn_need[$obj_type] as $attr)
foreach(ensureIsArray($entry->get($attr)) as $value)
$objects_attr2dn[$obj_type][$attr][$value] = $dn;
}
}
// Compute list of org chart entities
$entities = array();
$root_entities = array();
foreach($objects_conf as $obj_type => $conf) {
foreach($objects[$obj_type] as $dn => $data) {
// Check parent exist
$data['parentId'] = null;
if ($conf['parent_id_attr'] && $data['parent_id']) {
// Object have a parent
$parent_id = $data['parent_id'];
if ($conf['parent_id_attr_value'] == 'dn') {
// Parent is refer by DN
foreach($conf['parent_object_types'] as $parent_object_type) {
if (array_key_exists($parent_id, $objects[$parent_object_type])) {
$data['parentId'] = $parent_id;
break;
}
}
}
else {
// Parent is refer by one of its attribute value
foreach($conf['parent_object_types'] as $parent_object_type) {
if (array_key_exists($parent_id, $objects_attr2dn[$parent_object_type][$conf['parent_id_attr_value']])) {
$data['parentId'] = $objects_attr2dn[$parent_object_type][$conf['parent_id_attr_value']][$parent_id];
break;
}
}
}
if (is_null($data['parentId'])) {
// Parent not found: use root entity if defined or ignored object
if ($root_entity)
$data['parentId'] = $root_entity['id'];
else
// No root entity: do not add this object from chart
continue;
}
}
elseif ($root_entity && !$data['parent_id']) {
// Object have no parent, but root entity configured : add it
$data['parentId'] = $root_entity['id'];
}
elseif (!$root_entity && !$data['parent_id']) {
// Object have no parent and no root entity configured : store it as root entities
$root_entities[] = $dn;
}
// Remove parent_id and keep only parentId key
unset($data['parent_id']);
// Store DN as chart entity ID
$data['id'] = $dn;
$entities[] = $data;
}
}
if ($root_entity) {
// Root entity configured : add it to chart entities
$entities[] = $root_entity;
}
elseif(count($root_entities) != 1) {
LStemplate :: fatal_error('More than one root entities found : '.implode(' / ', $root_entities));
}
// Adjust content-type and dump entities data as JSON
header('Content-Type: application/json');
echo json_encode(
$entities,
(
$pretty || isset($_REQUEST['pretty'])?
JSON_PRETTY_PRINT:
0
)
);
exit();
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
src/includes/js/d3_7.3.0.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
src/includes/js/mustache_4.2.0.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,21 @@
renderChart = function () {
var chart;
d3.json(
'addon/orgchart/orgchartdata'
).then(data => {
chart = new d3.OrgChart()
.container('.chart-container')
.nodeWidth((d) => 300)
.initialZoom(0.7)
.nodeHeight((d) => 70)
.childrenMargin((d) => 40)
.compactMarginBetween((d) => 15)
.compactMarginPair((d) => 80)
.data(data)
.nodeContent(function (d, i, arr, state) {
var template = document.getElementById('nodeTemplate').innerHTML;
return Mustache.render(template, d.data);
})
.render();
});
};

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: LdapSaisie\n" "Project-Id-Version: LdapSaisie\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2021-12-15 15:34+0100\n" "PO-Revision-Date: 2022-02-22 18:24+0100\n"
"Last-Translator: Benjamin Renard <brenard@zionetrix.net>\n" "Last-Translator: Benjamin Renard <brenard@zionetrix.net>\n"
"Language-Team: LdapSaisie <ldapsaisie-users@lists.labs.libre-entreprise." "Language-Team: LdapSaisie <ldapsaisie-users@lists.labs.libre-entreprise."
"org>\n" "org>\n"
@ -223,6 +223,24 @@ msgstr ""
"Support POSIX : L'attribut %{dependency} est manquant. Impossible de générer " "Support POSIX : L'attribut %{dependency} est manquant. Impossible de générer "
"l'attribut %{attr}." "l'attribut %{attr}."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.orgchart.php:27
msgid ""
"Organizational Chart Support : The global array %{array} is not defined."
msgstr "Support Organigramme : Le tableau global %{array} n'est pas définie."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.orgchart.php:30
msgid ""
"Organizational Chart Support : The global variable %{var} is not defined."
msgstr "Support Organigramme : La variable globale %{var} n'est pas définie."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.orgchart.php:67
msgid "Organizational chart"
msgstr "Organigramme"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.orgchart.php:75
msgid "Organizational chart data"
msgstr "Données de l'organigramme"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:27 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:27
msgid "SUPANN Support : The constant %{const} is not defined." msgid "SUPANN Support : The constant %{const} is not defined."
msgstr "Support SUPPAN : La constante %{const} n'est pas définie." msgstr "Support SUPPAN : La constante %{const} n'est pas définie."
@ -630,9 +648,9 @@ msgstr "Confirmez-vous votre choix ?"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSconfirmBox.php:37 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSconfirmBox.php:37
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsmoothbox.php:39 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsmoothbox.php:39
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:74 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:74
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:631 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:632
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1285 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1286
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1431 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1432
#: templates/default/recoverpassword.tpl:21 #: templates/default/recoverpassword.tpl:21
msgid "Validate" msgid "Validate"
msgstr "Valider" msgstr "Valider"
@ -774,10 +792,10 @@ msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:68 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:68
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_supannLabeledValue.php:79 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_supannLabeledValue.php:79
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:177 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:177
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1045 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1046
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1213 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1214
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1298 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1299
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1444 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1445
msgid "Modify" msgid "Modify"
msgstr "Modifier" msgstr "Modifier"
@ -1091,7 +1109,7 @@ msgstr ""
"LSformElement_postaladdress : La fonction de génération de l'URL de la carte " "LSformElement_postaladdress : La fonction de génération de l'URL de la carte "
"n'est pas exécutable (%{function})." "n'est pas exécutable (%{function})."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_zxcvbn.php:82 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_zxcvbn.php:88
msgid "The security of this password is too weak." msgid "The security of this password is too weak."
msgstr "La sécurité de ce mot de passe est trop faible." msgstr "La sécurité de ce mot de passe est trop faible."
@ -1142,8 +1160,8 @@ msgid "Your new password has been sent to %{mail}."
msgstr "Votre nouveau mot de passe vous a été envoyé à l'adresse %{mail}." msgstr "Votre nouveau mot de passe vous a été envoyé à l'adresse %{mail}."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1745 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1745
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:156 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:157
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:467 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:468
#: templates/default/select.tpl:29 #: templates/default/select.tpl:29
msgid "Refresh" msgid "Refresh"
msgstr "Rafraîchir" msgstr "Rafraîchir"
@ -1743,8 +1761,8 @@ msgstr "Attention"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:69 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:69
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:85 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:85
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:193 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:193
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1061 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1062
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1205 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1206
msgid "Delete" msgid "Delete"
msgstr "Supprimer" msgstr "Supprimer"
@ -1754,8 +1772,8 @@ msgid "No object."
msgstr "Aucun objet." msgstr "Aucun objet."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSrelation.php:712 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSrelation.php:712
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:449 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:450
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:990 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:991
msgid "New" msgid "New"
msgstr "Nouveau" msgstr "Nouveau"
@ -1993,14 +2011,14 @@ msgstr ""
"de contacter le support." "de contacter le support."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:230 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:230
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:627 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:628
msgid "Do you really want to execute custom action %{title} on this search ?" msgid "Do you really want to execute custom action %{title} on this search ?"
msgstr "" msgstr ""
"Êtes-vous vraiment sûre de vouloir exécuter l'action personnalisée %{title} " "Êtes-vous vraiment sûre de vouloir exécuter l'action personnalisée %{title} "
"sur cette recherche ?" "sur cette recherche ?"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:236 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:236
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1425 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1426
msgid "" msgid ""
"Do you really want to execute custom action %{customAction} on " "Do you really want to execute custom action %{customAction} on "
"%{objectname} ?" "%{objectname} ?"
@ -2201,8 +2219,8 @@ msgid "Display RSS stack."
msgstr "Afficher la file RSS." msgstr "Afficher la file RSS."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_ldap_password.php:100 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_ldap_password.php:100
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:580 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:581
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1372 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1373
msgid "undefined" msgid "undefined"
msgstr "non-définie" msgstr "non-définie"
@ -2518,7 +2536,7 @@ msgstr ""
"LSattr_html_select_list : Impossible de récupérer les valeurs possibles de " "LSattr_html_select_list : Impossible de récupérer les valeurs possibles de "
"l'attribut %{attr} en utilisant la fonction configurée %{callable}." "l'attribut %{attr} en utilisant la fonction configurée %{callable}."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_inarray.php:62 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_inarray.php:66
msgid "" msgid ""
"LSformRule_inarray : Possible values has not been configured to validate " "LSformRule_inarray : Possible values has not been configured to validate "
"data." "data."
@ -2607,14 +2625,14 @@ msgid "Unknown error : %{error}"
msgstr "Erreur inconnu : %{error}" msgstr "Erreur inconnu : %{error}"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:169 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:169
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1197 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1198
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1290 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1291
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1436 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1437
msgid "View" msgid "View"
msgstr "Voir" msgstr "Voir"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:185 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:185
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1053 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1054
msgid "Copy" msgid "Copy"
msgstr "Copier" msgstr "Copier"
@ -2640,83 +2658,83 @@ msgstr ""
msgid "Home" msgid "Home"
msgstr "Accueil" msgstr "Accueil"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:150 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:151
msgid "You must provide pattern for global search." msgid "You must provide pattern for global search."
msgstr "Vous devez fournir un mot clé pour les recherches globales." msgstr "Vous devez fournir un mot clé pour les recherches globales."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:455 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:456
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:811 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:812
msgid "Import" msgid "Import"
msgstr "Importer" msgstr "Importer"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:460 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:461
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:877 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:878
msgid "Export" msgid "Export"
msgstr "Exporter" msgstr "Exporter"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:472 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:473
msgid "Reset" msgid "Reset"
msgstr "Réinitialiser" msgstr "Réinitialiser"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:510 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:511
#: templates/default/select.tpl:28 templates/default/global_search.tpl:6 #: templates/default/select.tpl:28 templates/default/global_search.tpl:6
msgid "Search" msgid "Search"
msgstr "Rechercher" msgstr "Rechercher"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:511 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:512
#: templates/default/select.tpl:31 #: templates/default/select.tpl:31
msgid "Approximative search" msgid "Approximative search"
msgstr "Recherche approximative" msgstr "Recherche approximative"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:512 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:513
#: templates/default/select.tpl:32 #: templates/default/select.tpl:32
msgid "Recursive search" msgid "Recursive search"
msgstr "Recherche récursive" msgstr "Recherche récursive"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:601 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:602
msgid "" msgid ""
"The custom action %{title} have been successfully execute on this search." "The custom action %{title} have been successfully execute on this search."
msgstr "" msgstr ""
"L'action personnalisée %{title} a été correctement exécutée sur cette " "L'action personnalisée %{title} a été correctement exécutée sur cette "
"recherche." "recherche."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:949 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:950
msgid "Data entry form" msgid "Data entry form"
msgstr "Masque de saisie" msgstr "Masque de saisie"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:955 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:956
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1729 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1730
msgid "Object has been added." msgid "Object has been added."
msgstr "L'objet a été ajouté." msgstr "L'objet a été ajouté."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1092 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1093
msgid "My account" msgid "My account"
msgstr "Mon compte" msgstr "Mon compte"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1155 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1156
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1901 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1902
msgid "The object has been partially modified." msgid "The object has been partially modified."
msgstr "L'objet a été partiellement modifié." msgstr "L'objet a été partiellement modifié."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1158 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1159
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1904 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1905
msgid "The object has been modified successfully." msgid "The object has been modified successfully."
msgstr "L'objet a bien été modifié." msgstr "L'objet a bien été modifié."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1273 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1274
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1944 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1945
msgid "%{objectname} has been successfully deleted." msgid "%{objectname} has been successfully deleted."
msgstr "%{objectname} a bien été supprimé." msgstr "%{objectname} a bien été supprimé."
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1282 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1283
msgid "Deleting : %{objectname}" msgid "Deleting : %{objectname}"
msgstr "Suppression : %{objectname}" msgstr "Suppression : %{objectname}"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1283 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1284
msgid "Do you really want to delete <strong>%{displayName}</strong> ?" msgid "Do you really want to delete <strong>%{displayName}</strong> ?"
msgstr "Voulez-vous vraiment supprimer <strong>%{displayName}</strong> ?" msgstr "Voulez-vous vraiment supprimer <strong>%{displayName}</strong> ?"
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1393 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1394
msgid "" msgid ""
"The custom action %{customAction} have been successfully execute on " "The custom action %{customAction} have been successfully execute on "
"%{objectname}." "%{objectname}."

View file

@ -164,6 +164,24 @@ msgid ""
"attribute %{attr}." "attribute %{attr}."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.orgchart.php:27
msgid ""
"Organizational Chart Support : The global array %{array} is not defined."
msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.orgchart.php:30
msgid ""
"Organizational Chart Support : The global variable %{var} is not defined."
msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.orgchart.php:67
msgid "Organizational chart"
msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.orgchart.php:75
msgid "Organizational chart data"
msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:27 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/addons/LSaddons.supann.php:27
msgid "SUPANN Support : The constant %{const} is not defined." msgid "SUPANN Support : The constant %{const} is not defined."
msgstr "" msgstr ""
@ -528,9 +546,9 @@ msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSconfirmBox.php:37 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSconfirmBox.php:37
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsmoothbox.php:39 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsmoothbox.php:39
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:74 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:74
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:631 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:632
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1285 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1286
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1431 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1432
#: templates/default/recoverpassword.tpl:21 #: templates/default/recoverpassword.tpl:21
msgid "Validate" msgid "Validate"
msgstr "" msgstr ""
@ -659,10 +677,10 @@ msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:68 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:68
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_supannLabeledValue.php:79 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_supannLabeledValue.php:79
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:177 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:177
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1045 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1046
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1213 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1214
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1298 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1299
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1444 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1445
msgid "Modify" msgid "Modify"
msgstr "" msgstr ""
@ -924,7 +942,7 @@ msgid ""
"callabled (%{function})." "callabled (%{function})."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_zxcvbn.php:82 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_zxcvbn.php:88
msgid "The security of this password is too weak." msgid "The security of this password is too weak."
msgstr "" msgstr ""
@ -970,8 +988,8 @@ msgid "Your new password has been sent to %{mail}."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1745 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1745
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:156 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:157
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:467 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:468
#: templates/default/select.tpl:29 #: templates/default/select.tpl:29
msgid "Refresh" msgid "Refresh"
msgstr "" msgstr ""
@ -1469,8 +1487,8 @@ msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:69 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:69
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:85 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_select_object.php:85
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:193 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:193
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1061 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1062
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1205 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1206
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
@ -1480,8 +1498,8 @@ msgid "No object."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSrelation.php:712 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSrelation.php:712
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:449 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:450
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:990 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:991
msgid "New" msgid "New"
msgstr "" msgstr ""
@ -1679,12 +1697,12 @@ msgid ""
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:230 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:230
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:627 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:628
msgid "Do you really want to execute custom action %{title} on this search ?" msgid "Do you really want to execute custom action %{title} on this search ?"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:236 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSform.php:236
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1425 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1426
msgid "" msgid ""
"Do you really want to execute custom action %{customAction} on " "Do you really want to execute custom action %{customAction} on "
"%{objectname} ?" "%{objectname} ?"
@ -1869,8 +1887,8 @@ msgid "Display RSS stack."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_ldap_password.php:100 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_ldap_password.php:100
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:580 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:581
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1372 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1373
msgid "undefined" msgid "undefined"
msgstr "" msgstr ""
@ -2146,7 +2164,7 @@ msgid ""
"%{attr} using configured function %{callable}." "%{attr} using configured function %{callable}."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_inarray.php:62 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_inarray.php:66
msgid "" msgid ""
"LSformRule_inarray : Possible values has not been configured to validate " "LSformRule_inarray : Possible values has not been configured to validate "
"data." "data."
@ -2228,14 +2246,14 @@ msgid "Unknown error : %{error}"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:169 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:169
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1197 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1198
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1290 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1291
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1436 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1437
msgid "View" msgid "View"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:185 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsearchEntry.php:185
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1053 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1054
msgid "Copy" msgid "Copy"
msgstr "" msgstr ""
@ -2257,81 +2275,81 @@ msgstr ""
msgid "Home" msgid "Home"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:150 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:151
msgid "You must provide pattern for global search." msgid "You must provide pattern for global search."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:455 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:456
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:811 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:812
msgid "Import" msgid "Import"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:460 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:461
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:877 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:878
msgid "Export" msgid "Export"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:472 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:473
msgid "Reset" msgid "Reset"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:510 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:511
#: templates/default/select.tpl:28 templates/default/global_search.tpl:6 #: templates/default/select.tpl:28 templates/default/global_search.tpl:6
msgid "Search" msgid "Search"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:511 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:512
#: templates/default/select.tpl:31 #: templates/default/select.tpl:31
msgid "Approximative search" msgid "Approximative search"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:512 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:513
#: templates/default/select.tpl:32 #: templates/default/select.tpl:32
msgid "Recursive search" msgid "Recursive search"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:601 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:602
msgid "" msgid ""
"The custom action %{title} have been successfully execute on this search." "The custom action %{title} have been successfully execute on this search."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:949 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:950
msgid "Data entry form" msgid "Data entry form"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:955 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:956
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1729 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1730
msgid "Object has been added." msgid "Object has been added."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1092 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1093
msgid "My account" msgid "My account"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1155 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1156
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1901 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1902
msgid "The object has been partially modified." msgid "The object has been partially modified."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1158 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1159
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1904 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1905
msgid "The object has been modified successfully." msgid "The object has been modified successfully."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1273 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1274
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1944 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1945
msgid "%{objectname} has been successfully deleted." msgid "%{objectname} has been successfully deleted."
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1282 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1283
msgid "Deleting : %{objectname}" msgid "Deleting : %{objectname}"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1283 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1284
msgid "Do you really want to delete <strong>%{displayName}</strong> ?" msgid "Do you really want to delete <strong>%{displayName}</strong> ?"
msgstr "" msgstr ""
#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1393 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1394
msgid "" msgid ""
"The custom action %{customAction} have been successfully execute on " "The custom action %{customAction} have been successfully execute on "
"%{objectname}." "%{objectname}."

View file

@ -0,0 +1,27 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset={$LSencoding}">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>LdapSaisie{if isset($pagetitle) && $pagetitle} - {$pagetitle|escape:"htmlall"}{/if}</title>
<base href="{$public_root_url}/"/>
<link rel="icon" href="image/favicon" />
<script src="js/d3_7.3.0.min.js" type="text/javascript"></script>
<script src="js/d3-org-chart_2.6.0.min.js" type="text/javascript"></script>
<script src="js/d3-flextree_2.1.2.min.js" type="text/javascript"></script>
<script src="js/mustache_4.2.0.min.js" type="text/javascript"></script>
<script src="js/organizationalChart.js" type="text/javascript"></script>
<script id="nodeTemplate" type="x-tmpl-mustache">{$template}</script>
<link rel="stylesheet" type="text/css" href="{css name='organizationalChart.css'}" title="Normal" />
{foreach $additional_css_files as $file}
<link rel="stylesheet" type="text/css" href="{css name=$file}" title="Normal" />
{/foreach}
</head>
<body onload="renderChart()">
<div class="chart-container"></div>
</body>
</html>