Compare commits

..

No commits in common. "fea76e7af2954edda33a230374e845d248cc5ace" and "a6d0f7d1263f55d1707e02cf34f025dd5b3708ac" have entirely different histories.

10 changed files with 253 additions and 401 deletions

View file

@ -10,8 +10,7 @@ Cette variable est un tableau associatif dont la clé est l'identifiant du forma
dont la valeur associée est la configuration du format.
<important><para>Le moteur d'importation simule la validation d'un formulaire de
création du type d'&LSobject; (ou de modification en cas d'activation du mode mise à jour
uniquement, voir ci-dessous). En conséquence :
création du type d'&LSobject;. En conséquence :
<itemizedlist>
<listitem><simpara>seul les attributs présent dans le formulaire de création peuvent
être importés.</simpara></listitem>
@ -32,7 +31,6 @@ uniquement, voir ci-dessous). En conséquence :
'label' => '[Label du type de fichier]',
'driver' => '[Pilote d'ioFormat utilisé]',
'driver_options' => array([Options du pilote d'ioFormat utilisé]),
'update_only' => '[Booléen]',
'fields => array (
'[champ 1]' => '[attribut 1]',
'[champ 2]' => '[attribut 2]',
@ -81,28 +79,11 @@ uniquement, voir ci-dessous). En conséquence :
</listitem>
</varlistentry>
<varlistentry>
<term>update_only</term>
<listitem>
<simpara>Booléen permetant d'activer le mode mise à jour uniquement pour ce format. Dans ce
mode, les données de l'objet LDAP correspondant seront chargées depuis l'annuaire avant toutes
validations des données fournies dans le fichier d'import, et ce, dans un formulaire de
modifications et non pas un formulaire de création autrement. Pour que cela soit possible, il
est indispensable que le DN de l'objet puisse être déduit depuis les données fournies dans le
fichier d'import. Pour cela, vous pouvez le fournir via un champ du fichier d'import associé
à la clé <literal>dn</literal> ou à défaut il sera généré à partir du RDN dont la valeur devra
être fournie dans le fichier d'import. Vous pouvez également le générer via le paramètre
<literal>generated_fields</literal> (voir ci-dessous).</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>fields</term>
<listitem>
<simpara>Tableau associatif permettant d'associer un champ du fichier source (la clé)
avec attribut de l'objet LDAP (la valeur). Il est également possible d'associé un champ
avec la valeur <literal>dn</literal> pour fournir le DN de l'objet en mode mise à jour
uniquement (voir ci-dessus).</simpara>
avec attribut de l'objet LDAP (la valeur).</simpara>
</listitem>
</varlistentry>
@ -111,8 +92,7 @@ uniquement, voir ci-dessous). En conséquence :
<listitem>
<simpara>Tableau associatif permettant de définir soit des &LSformats;, soit un
<emphasis>callable</emphasis> (au sens PHP) pour générer les valeurs d'attributs automatiquement.
Ce tableau contient en clé, le nom de l'attribut à générer (ou <literal>dn</literal> pour la
génération du DN de l'objet en mode mise à jour uniquement), et en valeur associée, un ou plusieurs
Ce tableau contient en clé, le nom de l'attribut à générer, et en valeur associée, un ou plusieurs
&LSformat; ou un <emphasis>callable</emphasis> à utiliser pour générer ses valeurs. En cas de
&LSformat;, ils seront composés à l'aide des valeurs des autres attributs de l'objet. En cas d'un
<emphasis>callable</emphasis>, il sera appeler avec en paramètre le tableau des valeurs des autres

View file

@ -68,14 +68,11 @@ $SYS_SCHEMA_DIR/core.ldif
$SYS_SCHEMA_DIR/cosine.ldif
$SYS_SCHEMA_DIR/nis.ldif
$SYS_SCHEMA_DIR/inetorgperson.ldif
$SYS_SCHEMA_DIR/ppolicy.ldif
$SYS_SCHEMA_DIR/dyngroup.ldif
$SAMBA_SCHEMA_LDIF
$LS_SCHEMA_LDIF
"
# Extranet ppolicy schema removed in OpenLDAP 2.5, make its installation optional
[ -f "$SYS_SCHEMA_DIR/ppolicy.ldif" ] && SCHEMA_FILES="$SCHEMA_FILES $SYS_SCHEMA_DIR/ppolicy.ldif"
for file in $SCHEMA_FILES
do
[ $VERBOSE -eq 1 ] && echo "Install $( basename $file) schema..."

View file

@ -133,19 +133,6 @@ $GLOBALS['LSobjects']['LSpeople'] = array (
'samba_password_cas_change' => 'sambaPwdCanChange',
),
),
'enable_disable_shell' => array (
'label' => 'Enable/disable commands shell',
'update_only' => true,
'driver' => 'CSV',
'driver_options' => array (
'delimiter' => ';',
'enclosure' => '"',
),
'fields' => array (
'login' => 'uid',
'shell' => 'loginShell',
),
),
),
'display_name_format' => '%{cn}',

View file

@ -363,10 +363,10 @@ class LSattr_ldap_password extends LSattr_ldap {
*/
public static function getSalt($length=8) {
$pattern = "1234567890abcdefghijklmnopqrstuvwxyz";
$key = $pattern[rand(0,35)];
$key = $pattern{rand(0,35)};
for($i=1;$i<$length;$i++)
{
$key .= $pattern[rand(0,35)];
$key .= $pattern{rand(0,35)};
}
return $key;
}

View file

@ -216,16 +216,6 @@ class LSio extends LSlog_staticLoggerClass {
return $return;
}
// Check update_only vs updateIfExists
if ($ioFormat -> update_only) {
self :: log_debug("import(): enable update only mode");
if (!$updateIfExists) {
self :: log_debug("import(): update only mode and updateIfExists not checked, stop");
LSerror :: addErrorCode('LSio_11');
return $return;
}
}
// Load data in LSioFormat object
if (!$ioFormat -> loadFile($input_file)) {
LSerror :: addErrorCode('LSio_05');
@ -341,140 +331,97 @@ class LSio extends LSlog_staticLoggerClass {
$globalErrors = array();
// Instanciate an LSobject
$object = new $LSobject();
// Load object data on update_only mode
if ($ioFormat -> update_only) {
// Retrieve/compute object DN
$dn = null;
if (array_key_exists('dn', $objData)) {
$dn = $objData['dn']?$objData['dn'][0]:null;
// Remove field in object data
unset($objData['dn']);
if ($dn)
self :: log_debug("import(): Object DN provided ($dn)");
else
$globalErrors[] = _('Object DN is empty in provided data.');
}
// DN not provided, compute it
if (!$dn) {
$rdn_attr = $object->rdn_attr;
if (!$rdn_attr || !array_key_exists($rdn_attr, $objData) || !$objData[$rdn_attr]) {
self :: log_debug('import(): Failed to compute object DN from provided data (no RDN value): '.print_r($objData,True));
$globalErrors[] = _('Failed to compute object DN from provided data (no RDN value).');
}
else {
$dn = sprintf("%s=%s,%s", $rdn_attr, $objData[$rdn_attr][0], $object -> getContainerDn());
self :: log_debug("import(): Computed object DN is '$dn'");
}
}
// Load object data from DN
if ($dn && !$object -> loadData($dn)) {
self :: log_debug('import(): Failed to load data of '.$dn);
$globalErrors[] = getFData(
_("Failed to load existing object %{dn} from LDAP server. Can't update object."),
$dn
);
}
// Instanciate a creation LSform (in API mode)
$form = $object -> getForm('create', null, true);
// Set form data from inputed data
if (!$form -> setPostData($objData, true)) {
self :: log_debug('import(): Failed to setPostData on: '.print_r($objData,True));
$globalErrors[] = _('Failed to set post data on creation form.');
}
if (!$globalErrors) {
// Instanciate a creation/modification LSform (based on update_only mode and force API mode)
$form_id = $ioFormat -> update_only ? 'modify' : 'create';
$form = $object -> getForm($form_id, null, true);
// Set form data from inputed data
if (!$form -> setPostData($objData, true)) {
self :: log_debug('import(): Failed to setPostData on: '.print_r($objData,True));
$globalErrors[] = _('Failed to set post data on creation form.');
}
// Validate form
else if (!$form -> validate(true)) {
self :: log_debug('import(): Failed to validate form on: '.print_r($objData,True));
self :: log_debug('import(): Form errors: '.print_r($form->getErrors(),True));
$globalErrors[] = _('Error validating creation form.');
}
// Validate data (just check mode)
else if (!$object -> updateData($form_id, True)) {
self :: log_debug('import(): fail to validate object data: '.varDump($objData));
$globalErrors[] = _('Failed to validate object data.');
// Validate form
else if (!$form -> validate(true)) {
self :: log_debug('import(): Failed to validate form on: '.print_r($objData,True));
self :: log_debug('import(): Form errors: '.print_r($form->getErrors(),True));
$globalErrors[] = _('Error validating creation form.');
}
// Validate data (just check mode)
else if (!$object -> updateData('create', True)) {
self :: log_debug('import(): fail to validate object data: '.varDump($objData));
$globalErrors[] = _('Failed to validate object data.');
}
else {
self :: log_debug('import(): Data is correct, retrieve object DN');
$dn = $object -> getDn();
if (!$dn) {
self :: log_debug('import(): fail to generate for this object: '.varDump($objData));
$globalErrors[] = _('Failed to generate DN for this object.');
}
else {
self :: log_debug('import(): Data is correct, retrieve object DN');
$dn = $object -> getDn();
if (!$dn) {
self :: log_debug('import(): fail to generate for this object: '.varDump($objData));
$globalErrors[] = _('Failed to generate DN for this object.');
// Check if object already exists
if (!LSldap :: exists($dn)) {
// Creation mode
self :: log_debug('import(): New object, perform creation');
if ($justTry || $object -> updateData('create')) {
self :: log_info('Object '.$object -> getDn().' imported');
$return['imported'][$object -> getDn()] = array(
'name' => $object -> getDisplayName(),
'messages' => $_SESSION['LSsession_infos'],
'errors' => LSerror :: getErrors(),
);
$_SESSION['LSsession_infos'] = array();
continue;
}
else {
self :: log_error('Failed to updateData on : '.print_r($objData, True));
$globalErrors[]=_('Error creating object on LDAP server.');
}
}
// This object already exist, check 'updateIfExists' mode
elseif (!$updateIfExists) {
self :: log_debug('import(): Object '.$dn.' already exist');
$globalErrors[] = getFData(_('An object already exist on LDAP server with DN %{dn}.'),$dn);
}
else {
// Check if object already exists
if (!$ioFormat -> update_only && !LSldap :: exists($dn)) {
// Creation mode
self :: log_debug('import(): New object, perform creation');
if ($justTry || $object -> updateData('create')) {
self :: log_info('Object '.$object -> getDn().' imported');
$return['imported'][$object -> getDn()] = array(
self :: log_info('Object '.$object -> getDn().' exist, perform update');
// Restart import in update mode
// Instanciate a new LSobject and load data from it's DN
$object = new $LSobject();
if (!$object -> loadData($dn)) {
self :: log_debug('import(): Failed to load data of '.$dn);
$globalErrors[] = getFData(
_("Failed to load existing object %{dn} from LDAP server. Can't update object."),
$dn);
}
else {
// Instanciate a modify form (in API mode)
$form = $object -> getForm('modify', null, true);
// Set form data from inputed data
if (!$form -> setPostData($objData, true)) {
self :: log_debug('import(): Failed to setPostData on update form : '.print_r($objData, True));
$globalErrors[] = _('Failed to set post data on update form.');
}
// Validate form
else if (!$form -> validate(true)) {
self :: log_debug('import(): Failed to validate update form on : '.print_r($objData, True));
self :: log_debug('import(): Form errors : '.print_r($form->getErrors(), True));
$globalErrors[] = _('Error validating update form.');
}
// Update data on LDAP server
else if ($justTry || $object -> updateData('modify')) {
self :: log_info('Object '.$object -> getDn().' updated');
$return['updated'][$object -> getDn()] = array(
'name' => $object -> getDisplayName(),
'messages' => $_SESSION['LSsession_infos'],
'infos' => $_SESSION['LSsession_infos'],
'errors' => LSerror :: getErrors(),
);
$_SESSION['LSsession_infos'] = array();
continue;
}
else {
self :: log_error('Failed to updateData on : '.print_r($objData, True));
$globalErrors[]=_('Error creating object on LDAP server.');
}
}
// This object already exist, check 'updateIfExists' mode
elseif (!$updateIfExists) {
self :: log_debug('import(): Object '.$dn.' already exist');
$globalErrors[] = getFData(_('An object already exist on LDAP server with DN %{dn}.'),$dn);
}
else {
self :: log_info('Object '.$object -> getDn().' exist, perform update');
// Restart import in update mode
// Instanciate a new LSobject and load data from it's DN
// Note: expected in update_only mode, it's already done.
if (!$ioFormat -> update_only) {
$object = new $LSobject();
if (!$object -> loadData($dn)) {
self :: log_debug('import(): Failed to load data of '.$dn);
$globalErrors[] = getFData(
_("Failed to load existing object %{dn} from LDAP server. Can't update object."),
$dn);
}
}
if (!$globalErrors) {
// Instanciate a modify form (in API mode)
$form = $object -> getForm('modify', null, true);
// Set form data from inputed data
if (!$form -> setPostData($objData, true)) {
self :: log_debug('import(): Failed to setPostData on update form : '.print_r($objData, True));
$globalErrors[] = _('Failed to set post data on update form.');
}
// Validate form
else if (!$form -> validate(true)) {
self :: log_debug('import(): Failed to validate update form on : '.print_r($objData, True));
self :: log_debug('import(): Form errors : '.print_r($form->getErrors(), True));
$globalErrors[] = _('Error validating update form.');
}
// Update data on LDAP server
else if ($justTry || $object -> updateData('modify')) {
self :: log_info('Object '.$object -> getDn().' updated');
$return['updated'][$object -> getDn()] = array(
'name' => $object -> getDisplayName(),
'infos' => $_SESSION['LSsession_infos'],
'errors' => LSerror :: getErrors(),
);
$_SESSION['LSsession_infos'] = array();
continue;
}
else {
self :: log_error('Object '.$object -> getDn().': Failed to updateData (modify) on : '.print_r($objData, True));
$globalErrors[] = _('Error updating object on LDAP server.');
}
self :: log_error('Object '.$object -> getDn().': Failed to updateData (modify) on : '.print_r($objData, True));
$globalErrors[] = _('Error updating object on LDAP server.');
}
}
}
@ -485,15 +432,11 @@ class LSio extends LSlog_staticLoggerClass {
'data' => $objData,
'errors' => array (
'globals' => $globalErrors,
'attrs' => isset($form)?$form->getErrors():array(),
'attrs' => $form->getErrors(),
),
'messages' => $_SESSION['LSsession_infos'],
);
$_SESSION['LSsession_infos'] = array();
// Clean iteration objects
unset($object);
if (isset($form)) unset($form);
}
$return['errors'] = $objectsInError;
$return['success'] = empty($objectsInError);
@ -913,9 +856,6 @@ ___("LSio: An error occured running after import hooks.")
LSerror :: defineError('LSio_10',
___("LSio: Error occured loading objects's data from input file.")
);
LSerror :: defineError('LSio_11',
___("LSio: This input/output format only support update. You must check the 'Update objects if exists' box.")
);
// Defined CLI commands functions only on CLI context
if (php_sapi_name() != 'cli')

View file

@ -25,7 +25,6 @@ LSsession :: loadLSclass('LSlog_staticLoggerClass');
/**
* Manage IOformat of LSldapObject import/export
*
* @property-read bool $update_only
* @author Benjamin Renard <brenard@easter-eggs.com>
*/
class LSioFormat extends LSlog_staticLoggerClass {
@ -86,22 +85,6 @@ class LSioFormat extends LSlog_staticLoggerClass {
}
}
/**
* Access to infos of the ioFormat
*
* @param string $key The name of the value
*
* @return mixed The value
**/
public function __get($key) {
switch($key) {
case 'update_only':
return $this -> getConfig('update_only', false, 'bool');
}
// Unknown key, log warning
self :: log_warning("__get($key): invalid property requested\n".LSlog :: get_debug_backtrace_context());
}
/**
* Check if ioFormat driver is ready
*
@ -179,22 +162,17 @@ class LSioFormat extends LSlog_staticLoggerClass {
// Add attributes to export and put their values to data to export
foreach($fields as $key => $attr_name) {
$objects_data[$dn][$key] = null;
if ($attr_name == 'dn') {
$objects_data[$dn][$key] = $dn;
}
else if (!isset($object -> attrs[$attr_name])) {
if (!isset($object -> attrs[$attr_name])) {
self :: log_warning("exportObjects($object): attribute '$attr_name' does not exist !");
continue;
}
else {
$object -> attrs[$attr_name] -> addToExport($export);
if (!isset($export -> elements[$attr_name])) {
// @phpstan-ignore-next-line
self :: log_debug("exportObjects($object): attribute '$attr_name' not added to export : may be user can't read it");
continue;
}
$objects_data[$dn][$key] = $export -> elements[$attr_name] -> getApiValue(false);
$object -> attrs[$attr_name] -> addToExport($export);
if (!isset($export -> elements[$attr_name])) {
// @phpstan-ignore-next-line
self :: log_debug("exportObjects($object): attribute '$attr_name' not added to export : may be user can't read it");
continue;
}
$objects_data[$dn][$key] = $export -> elements[$attr_name] -> getApiValue(false);
}
}
self :: log_trace('exportObjects(): objects data = '.varDump($objects_data));

View file

@ -30,7 +30,6 @@ LSsession :: loadLSclass('LSattribute');
*
* @property-read string $subDnValue
* @property-read string $subDnName
* @property-read string $rdn_attr
* @property-read string $rdn
* @property-read string $type
* @author Benjamin Renard <brenard@easter-eggs.com>
@ -2004,14 +2003,12 @@ class LSldapObject extends LSlog_staticLoggerClass {
$this -> cache['subDnName'] = self :: getSubDnName($this -> dn);
return $this -> cache['subDnName'];
}
elseif ($key=='rdn_attr') {
$rdn_attr = $this -> getConfig('rdn');
if ($rdn_attr && isset($this -> attrs[ $rdn_attr ]))
return $rdn_attr;
return false;
}
elseif ($key=='rdn') {
return $this -> rdn_attr?$this -> attrs[ $this -> rdn_attr ] -> getValue():false;
$rdn_attr = $this -> getConfig('rdn');
if ($rdn_attr && isset($this -> attrs[ $rdn_attr ])) {
return $this -> attrs[ $rdn_attr ] -> getValue();
}
return false;
}
elseif ($key=='type') {
return $this -> getType();

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: LdapSaisie\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2023-07-19 12:07+0200\n"
"PO-Revision-Date: 2023-07-03 12:30+0200\n"
"Last-Translator: Benjamin Renard <brenard@easter-eggs.com>\n"
"Language-Team: LdapSaisie <ldapsaisie-users@lists.labs.libre-entreprise."
"org>\n"
@ -633,6 +633,10 @@ msgstr ""
"MAILDIR : Erreur durant la récupération du chemin distant du dossier des "
"mails."
#: includes/addons/LSaddons.watermark.php:78
msgid "PRE-PRODUCTION"
msgstr "PRÉ-PRODUCTION"
#: includes/addons/LSaddons.showTechInfo.php:63
#: templates/default/showTechInfo.tpl:16
msgid "Structural object class"
@ -748,119 +752,101 @@ msgstr "Valeur invalide"
msgid "LSformRule_%{type}: Parameter %{param} is not found."
msgstr "LSformRule_%{type} : Le paramètre %{param} n'est pas défini."
#: includes/class/class.LSio.php:356
msgid "Object DN is empty in provided data."
msgstr "Le DN de l'object est vide dans les données fournies."
#: includes/class/class.LSio.php:339
msgid "Failed to set post data on creation form."
msgstr "Impossible de définir les données dans le formulaire de création."
#: includes/class/class.LSio.php:363
msgid "Failed to compute object DN from provided data (no RDN value)."
#: includes/class/class.LSio.php:345
msgid "Error validating creation form."
msgstr "Une erreur est survenue en validant le formulaire de création."
#: includes/class/class.LSio.php:350
msgid "Failed to validate object data."
msgstr "Impossible de valider les données de l'objet."
#: includes/class/class.LSio.php:357
msgid "Failed to generate DN for this object."
msgstr "Impossible de générer le DN de cet objet."
#: includes/class/class.LSio.php:376
msgid "Error creating object on LDAP server."
msgstr ""
"Impossible de générer le DN de l'objet depuis les données fournies (pas de "
"valeur pour le RDN)."
"Une erreur est survenue durant la création de cet objet dans l'annuaire LDAP."
#: includes/class/class.LSio.php:374 includes/class/class.LSio.php:444
#: includes/class/class.LSio.php:382
msgid "An object already exist on LDAP server with DN %{dn}."
msgstr "Un objet existe déjà dans l'annuaire LDAP avec le DN %{dn}."
#: includes/class/class.LSio.php:394
msgid ""
"Failed to load existing object %{dn} from LDAP server. Can't update object."
msgstr ""
"Impossible de charger l'objet existant %{dn} depuis l'annuaire LDAP. "
"Impossible de mettre à jour cet objet."
#: includes/class/class.LSio.php:387
msgid "Failed to set post data on creation form."
msgstr "Impossible de définir les données dans le formulaire de création."
#: includes/class/class.LSio.php:393
msgid "Error validating creation form."
msgstr "Une erreur est survenue en validant le formulaire de création."
#: includes/class/class.LSio.php:398
msgid "Failed to validate object data."
msgstr "Impossible de valider les données de l'objet."
#: includes/class/class.LSio.php:405
msgid "Failed to generate DN for this object."
msgstr "Impossible de générer le DN de cet objet."
#: includes/class/class.LSio.php:424
msgid "Error creating object on LDAP server."
msgstr ""
"Une erreur est survenue durant la création de cet objet dans l'annuaire LDAP."
#: includes/class/class.LSio.php:430
msgid "An object already exist on LDAP server with DN %{dn}."
msgstr "Un objet existe déjà dans l'annuaire LDAP avec le DN %{dn}."
#: includes/class/class.LSio.php:455
#: includes/class/class.LSio.php:403
msgid "Failed to set post data on update form."
msgstr "Impossible de définir les données dans le formulaire de mise à jour."
#: includes/class/class.LSio.php:461
#: includes/class/class.LSio.php:409
msgid "Error validating update form."
msgstr "Une erreur est survenue en validant le formulaire de mise à jour."
#: includes/class/class.LSio.php:476
#: includes/class/class.LSio.php:424
msgid "Error updating object on LDAP server."
msgstr ""
"Une erreur est survenue en mettant à jour cet objet dans l'annuaire LDAP."
#: includes/class/class.LSio.php:883
#: includes/class/class.LSio.php:830
msgid "LSio: Post data not found or not completed."
msgstr "LSio : les données transmises sont introuvables ou incomplètes."
#: includes/class/class.LSio.php:886
#: includes/class/class.LSio.php:833
msgid "LSio: object type invalid."
msgstr "LSio : type d'objet invalide."
#: includes/class/class.LSio.php:889
#: includes/class/class.LSio.php:836
msgid "LSio: input/output format %{format} invalid."
msgstr "LSio : Le format d'entrée/sortie %{format} est invalide."
#: includes/class/class.LSio.php:892
#: includes/class/class.LSio.php:839
msgid "LSio: Fail to initialize input/output driver."
msgstr "LSio : Impossible d'initialiser le pilote d'entrée/sortie."
#: includes/class/class.LSio.php:895
#: includes/class/class.LSio.php:842
msgid "LSio: Fail to load objects's data from input file."
msgstr ""
"LSio: Impossible de charger les données des objets depuis le fichier "
"d'import."
#: includes/class/class.LSio.php:898
#: includes/class/class.LSio.php:845
msgid "LSio: Fail to load objects's data to export from LDAP directory."
msgstr ""
"LSio: Impossible de charger les données des objets à exporter depuis "
"l'annuaire LDAP."
#: includes/class/class.LSio.php:901
#: includes/class/class.LSio.php:848
msgid "LSio: Fail to export objects's data."
msgstr "LSio: Impossible d'exporter les données des objets."
#: includes/class/class.LSio.php:904
#: includes/class/class.LSio.php:851
msgid "LSio: An error occured running before import hooks. Stop the import."
msgstr ""
"LSio : Une erreur est survenue durant l'exécution des déclencheurs d'avant "
"import. Arrêt de l'import."
#: includes/class/class.LSio.php:907
#: includes/class/class.LSio.php:854
msgid "LSio: An error occured running after import hooks."
msgstr ""
"LSio : Une erreur est survenue durant l'exécution des déclencheurs d'après "
"import."
#: includes/class/class.LSio.php:910
#: includes/class/class.LSio.php:857
msgid "LSio: Error occured loading objects's data from input file."
msgstr ""
"LSio: Une erreur est survenue en chargeant les données des objets depuis le "
"fichier d'import."
#: includes/class/class.LSio.php:913
msgid ""
"LSio: This input/output format only support update. You must check the "
"'Update objects if exists' box."
msgstr ""
"LSio : Ce format d'import/export ne supporte que les mises à jour. Vous "
"devez cocher la case \"Mise à jour des objets existants\"."
#: includes/class/class.LSformElement_supannRessourceEtatDate.php:61
msgid "Start date"
msgstr "Date de début"
@ -1752,25 +1738,25 @@ msgstr ""
msgid "Invalid file type (%{type})."
msgstr "Type de fichier invalide (%{type})."
#: includes/class/class.LSldapObject.php:585
#: includes/class/class.LSldapObject.php:584
msgid "The attribute %{attr} is not valid."
msgstr "L'attribut %{attr} n'est pas valide."
#: includes/class/class.LSldapObject.php:3160
#: includes/class/class.LSldapObject.php:3157
msgid "LSldapObject : Object type unknown."
msgstr "LSldapObject : Type d'objet inconnu."
#: includes/class/class.LSldapObject.php:3163
#: includes/class/class.LSldapObject.php:3160
msgid "LSldapObject : Update form is not defined for the object %{obj}."
msgstr ""
"LSldapObject : Le formulaire de mise à jour n'est pas défini pour l'objet "
"%{obj}."
#: includes/class/class.LSldapObject.php:3166
#: includes/class/class.LSldapObject.php:3163
msgid "LSldapObject : No form exists for the object %{obj}."
msgstr "LSldapObject : Aucun formulaire n'existe pour l'objet %{obj}"
#: includes/class/class.LSldapObject.php:3169
#: includes/class/class.LSldapObject.php:3166
msgid ""
"LSldapObject : The function %{func} to validate the attribute %{attr} the "
"object %{obj} is unknow."
@ -1778,7 +1764,7 @@ msgstr ""
"LSldapObject : La fonction %{func} pour valider l'attribut %{attr} de "
"l'objet %{obj} est inconnue."
#: includes/class/class.LSldapObject.php:3172
#: includes/class/class.LSldapObject.php:3169
msgid ""
"LSldapObject : Configuration data are missing to validate the attribute "
"%{attr} of the object %{obj}."
@ -1786,7 +1772,7 @@ msgstr ""
"LSldapObject : Des données de configurations sont manquantes pour pouvoir "
"valider l'attribut %{attr} de l'objet %{obj}."
#: includes/class/class.LSldapObject.php:3176
#: includes/class/class.LSldapObject.php:3173
msgid ""
"LSldapObject : The function %{func} to be executed on the object event "
"%{event} doesn't exist."
@ -1794,14 +1780,14 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée lors de l'évènement "
"%{event} de l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3179
#: includes/class/class.LSldapObject.php:3176
msgid ""
"LSldapObject : The %{func} execution on the object event %{event} failed."
msgstr ""
"LSldapObject : L'exécution de la fonction %{func} lors de l'évènement "
"%{event} de l'objet a échouée."
#: includes/class/class.LSldapObject.php:3183
#: includes/class/class.LSldapObject.php:3180
msgid ""
"LSldapObject : Class %{class}, which method %{meth} to be executed on the "
"object event %{event}, doesn't exist."
@ -1809,7 +1795,7 @@ msgstr ""
"La classe %{class}, contenant la méthode %{meth} devant être exécutée lors "
"de l'évènement %{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3186
#: includes/class/class.LSldapObject.php:3183
msgid ""
"LSldapObject : Method %{meth} within %{class} class to be executed on object "
"event %{event}, doesn't exist."
@ -1817,7 +1803,7 @@ msgstr ""
"LSldapObject : La méthode %{meth} de la classe %{class} devant être exécutée "
"lors de l'évènement %{event} de l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3189
#: includes/class/class.LSldapObject.php:3186
msgid ""
"LSldapObject : Error during execute %{meth} method within %{class} class, to "
"be executed on object event %{event}."
@ -1825,7 +1811,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la méthode %{meth} de la classe "
"%{class} devant être exécutée lors de l'évènement %{event} de l'objet."
#: includes/class/class.LSldapObject.php:3193
#: includes/class/class.LSldapObject.php:3190
msgid ""
"LSldapObject : Some configuration data of the object type %{obj} are missing "
"to generate the DN of the new object."
@ -1833,7 +1819,7 @@ msgstr ""
"LSldapObject : Des informations de configuration du type d'objet %{obj} sont "
"manquantes pour la génération du DN du nouvel objet."
#: includes/class/class.LSldapObject.php:3196
#: includes/class/class.LSldapObject.php:3193
msgid ""
"LSldapObject : The attibute %{attr} of the object is not yet defined. Can't "
"generate DN."
@ -1841,11 +1827,11 @@ msgstr ""
"LSldapObject : L'attribut %{attr} de l'objet n'est pas encore défini. "
"Impossible de générer le DN."
#: includes/class/class.LSldapObject.php:3199
#: includes/class/class.LSldapObject.php:3196
msgid "LSldapObject : Without DN, the object could not be changed."
msgstr "LSldapObject : Sans DN, l'objet ne peut pas être modifié."
#: includes/class/class.LSldapObject.php:3202
#: includes/class/class.LSldapObject.php:3199
msgid ""
"LSldapObject : The attribute %{attr_depend} depending on the attribute "
"%{attr} doesn't exist."
@ -1853,39 +1839,39 @@ msgstr ""
"LSldapObject : L'attritbut %{attr_depend} dépendant de l'attribut %{attr} "
"n'existe pas."
#: includes/class/class.LSldapObject.php:3205
#: includes/class/class.LSldapObject.php:3202
msgid "LSldapObject : Error during deleting the object %{objectname}."
msgstr "LSldapObject : Erreur durant la suppression de l'objet %{objectname}"
#: includes/class/class.LSldapObject.php:3209
#: includes/class/class.LSldapObject.php:3206
msgid ""
"LSldapObject : Error during actions to be executed before renaming the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de "
"renommer l'objet."
#: includes/class/class.LSldapObject.php:3212
#: includes/class/class.LSldapObject.php:3209
msgid ""
"LSldapObject : Error during actions to be executed after renaming the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée après avoir "
"renommé l'objet."
#: includes/class/class.LSldapObject.php:3216
#: includes/class/class.LSldapObject.php:3213
msgid ""
"LSldapObject : Error during actions to be executed before deleting the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de "
"supprimer l'objet."
#: includes/class/class.LSldapObject.php:3219
#: includes/class/class.LSldapObject.php:3216
msgid ""
"LSldapObject : Error during actions to be executed after deleting the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée après avoir "
"supprimé l'objet."
#: includes/class/class.LSldapObject.php:3223
#: includes/class/class.LSldapObject.php:3220
msgid ""
"LSldapObject : Error during the actions to be executed before creating the "
"object."
@ -1893,7 +1879,7 @@ msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de créer "
"l'objet."
#: includes/class/class.LSldapObject.php:3226
#: includes/class/class.LSldapObject.php:3223
msgid ""
"LSldapObject : Error during the actions to be executed after creating the "
"object. It was created anyway."
@ -1901,7 +1887,7 @@ msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutées après la "
"création de l'objet. Il a tout de même été créé."
#: includes/class/class.LSldapObject.php:3230
#: includes/class/class.LSldapObject.php:3227
msgid ""
"LSldapObject : The function %{func} to be executed before creating the "
"object doesn't exist."
@ -1909,7 +1895,7 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée avant la création de "
"l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3233
#: includes/class/class.LSldapObject.php:3230
msgid ""
"LSldapObject : Error executing the function %{func} to be execute after "
"deleting the object."
@ -1917,7 +1903,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être "
"exécutée après la suppression de l'objet."
#: includes/class/class.LSldapObject.php:3236
#: includes/class/class.LSldapObject.php:3233
msgid ""
"LSldapObject : The function %{func} to be executed after deleting the object "
"doesn't exist."
@ -1925,7 +1911,7 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée après la suppression "
"de l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3239
#: includes/class/class.LSldapObject.php:3236
msgid ""
"LSldapObject : Error executing the function %{func} to be execute after "
"creating the object."
@ -1933,7 +1919,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être "
"exécutée après la création de l'objet."
#: includes/class/class.LSldapObject.php:3243
#: includes/class/class.LSldapObject.php:3240
msgid ""
"LSldapObject : %{func} function, to be executed on object event %{event}, "
"doesn't exist."
@ -1941,7 +1927,7 @@ msgstr ""
"LSldapObject : La fonction %{func}, devant être exécutée lors de l'évènement "
"%{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3246
#: includes/class/class.LSldapObject.php:3243
msgid ""
"LSldapObject : Error during the execution of %{func} function on object "
"event %{event}."
@ -1949,7 +1935,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} lors de "
"l'évènement %{event} de l'objet."
#: includes/class/class.LSldapObject.php:3250
#: includes/class/class.LSldapObject.php:3247
msgid ""
"LSldapObject : %{meth} method, to be executed on object event %{event}, "
"doesn't exist."
@ -1957,7 +1943,7 @@ msgstr ""
"LSldapObject : La méthode %{meth}, devant être exécutée lors de l'évènement "
"%{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3253
#: includes/class/class.LSldapObject.php:3250
msgid ""
"LSldapObject : Error during execution of %{meth} method on object event "
"%{event}."
@ -1965,13 +1951,13 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la méthode %{meth} lors de "
"l'évènement %{event} de l'objet."
#: includes/class/class.LSldapObject.php:3256
#: includes/class/class.LSldapObject.php:3253
msgid "LSldapObject : Error during generate LDAP filter for %{LSobject}."
msgstr ""
"LSldapObject : Erreur durant la génération du filtre LDAP de l'objet "
"%{LSobject}."
#: includes/class/class.LSldapObject.php:3260
#: includes/class/class.LSldapObject.php:3257
msgid ""
"LSldapObject : Error during execution of the custom action %{customAction} "
"on %{objectname}."
@ -1979,22 +1965,22 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de l'action personnalisée "
"%{customAction} sur l'objet %{objectname}."
#: includes/class/class.LSldapObject.php:3264
#: includes/class/class.LSldapObject.php:3261
msgid "LSldapObject : Fail to retrieve container DN."
msgstr "LSldapObject : Impossible de récupérer le DN parent."
#: includes/class/class.LSldapObject.php:3267
#: includes/class/class.LSldapObject.php:3264
msgid ""
"LSldapObject : The function %{func} to generate container DN is not callable."
msgstr ""
"LSldapObject : La fonction %{func} pour générer le DN parent n'est pas "
"exécutable."
#: includes/class/class.LSldapObject.php:3270
#: includes/class/class.LSldapObject.php:3267
msgid "LSldapObject : Error during generating container DN : %{error}"
msgstr "LSldapObject : Erreur durant la génération du DN parent : %{error}."
#: includes/class/class.LSldapObject.php:3273
#: includes/class/class.LSldapObject.php:3270
msgid ""
"LSldapObject : An LDAP object with the same DN as generated for this new one "
"already exists. Please verify your configuration."
@ -2002,7 +1988,7 @@ msgstr ""
"LSldapObject : Un objet LDAP avec le même DN que celui généré pour ce nouvel "
"objet existe déjà. Merci de vérifier votre configuration."
#: includes/class/class.LSldapObject.php:3278
#: includes/class/class.LSldapObject.php:3275
msgid ""
"LSrelation : Some parameters are missing in the call of methods to handle "
"standard relations (Method : %{meth})."
@ -3217,7 +3203,7 @@ msgstr ""
"LSsearchEntry : formaterFunction %{func} invalide utilisé pour "
"l'extraDisplayedColumns %{column}."
#: includes/class/class.LSioFormat.php:246
#: includes/class/class.LSioFormat.php:224
msgid "LSioFormat : IOformat driver %{driver} invalid or unavailable."
msgstr ""
"LSioFormat : Le pilote d'IOformat %{driver} est invalide ou n'est pas "
@ -3758,6 +3744,3 @@ msgstr "événement(s) trouvé(s) pour cet objet."
#: templates/default/import.tpl:27 templates/default/import.tpl:33
msgid "no"
msgstr "non"
#~ msgid "PRE-PRODUCTION"
#~ msgstr "PRÉ-PRODUCTION"

View file

@ -527,6 +527,10 @@ msgstr ""
msgid "MAILDIR : Error retrieving remote path of the maildir."
msgstr ""
#: includes/addons/LSaddons.watermark.php:78
msgid "PRE-PRODUCTION"
msgstr ""
#: includes/addons/LSaddons.showTechInfo.php:63
#: templates/default/showTechInfo.tpl:16
msgid "Structural object class"
@ -634,101 +638,87 @@ msgstr ""
msgid "LSformRule_%{type}: Parameter %{param} is not found."
msgstr ""
#: includes/class/class.LSio.php:356
msgid "Object DN is empty in provided data."
#: includes/class/class.LSio.php:339
msgid "Failed to set post data on creation form."
msgstr ""
#: includes/class/class.LSio.php:363
msgid "Failed to compute object DN from provided data (no RDN value)."
#: includes/class/class.LSio.php:345
msgid "Error validating creation form."
msgstr ""
#: includes/class/class.LSio.php:374 includes/class/class.LSio.php:444
#: includes/class/class.LSio.php:350
msgid "Failed to validate object data."
msgstr ""
#: includes/class/class.LSio.php:357
msgid "Failed to generate DN for this object."
msgstr ""
#: includes/class/class.LSio.php:376
msgid "Error creating object on LDAP server."
msgstr ""
#: includes/class/class.LSio.php:382
msgid "An object already exist on LDAP server with DN %{dn}."
msgstr ""
#: includes/class/class.LSio.php:394
msgid ""
"Failed to load existing object %{dn} from LDAP server. Can't update object."
msgstr ""
#: includes/class/class.LSio.php:387
msgid "Failed to set post data on creation form."
msgstr ""
#: includes/class/class.LSio.php:393
msgid "Error validating creation form."
msgstr ""
#: includes/class/class.LSio.php:398
msgid "Failed to validate object data."
msgstr ""
#: includes/class/class.LSio.php:405
msgid "Failed to generate DN for this object."
msgstr ""
#: includes/class/class.LSio.php:424
msgid "Error creating object on LDAP server."
msgstr ""
#: includes/class/class.LSio.php:430
msgid "An object already exist on LDAP server with DN %{dn}."
msgstr ""
#: includes/class/class.LSio.php:455
#: includes/class/class.LSio.php:403
msgid "Failed to set post data on update form."
msgstr ""
#: includes/class/class.LSio.php:461
#: includes/class/class.LSio.php:409
msgid "Error validating update form."
msgstr ""
#: includes/class/class.LSio.php:476
#: includes/class/class.LSio.php:424
msgid "Error updating object on LDAP server."
msgstr ""
#: includes/class/class.LSio.php:883
#: includes/class/class.LSio.php:830
msgid "LSio: Post data not found or not completed."
msgstr ""
#: includes/class/class.LSio.php:886
#: includes/class/class.LSio.php:833
msgid "LSio: object type invalid."
msgstr ""
#: includes/class/class.LSio.php:889
#: includes/class/class.LSio.php:836
msgid "LSio: input/output format %{format} invalid."
msgstr ""
#: includes/class/class.LSio.php:892
#: includes/class/class.LSio.php:839
msgid "LSio: Fail to initialize input/output driver."
msgstr ""
#: includes/class/class.LSio.php:895
#: includes/class/class.LSio.php:842
msgid "LSio: Fail to load objects's data from input file."
msgstr ""
#: includes/class/class.LSio.php:898
#: includes/class/class.LSio.php:845
msgid "LSio: Fail to load objects's data to export from LDAP directory."
msgstr ""
#: includes/class/class.LSio.php:901
#: includes/class/class.LSio.php:848
msgid "LSio: Fail to export objects's data."
msgstr ""
#: includes/class/class.LSio.php:904
#: includes/class/class.LSio.php:851
msgid "LSio: An error occured running before import hooks. Stop the import."
msgstr ""
#: includes/class/class.LSio.php:907
#: includes/class/class.LSio.php:854
msgid "LSio: An error occured running after import hooks."
msgstr ""
#: includes/class/class.LSio.php:910
#: includes/class/class.LSio.php:857
msgid "LSio: Error occured loading objects's data from input file."
msgstr ""
#: includes/class/class.LSio.php:913
msgid ""
"LSio: This input/output format only support update. You must check the "
"'Update objects if exists' box."
msgstr ""
#: includes/class/class.LSformElement_supannRessourceEtatDate.php:61
msgid "Start date"
msgstr ""
@ -1484,199 +1474,199 @@ msgstr ""
msgid "Invalid file type (%{type})."
msgstr ""
#: includes/class/class.LSldapObject.php:585
#: includes/class/class.LSldapObject.php:584
msgid "The attribute %{attr} is not valid."
msgstr ""
#: includes/class/class.LSldapObject.php:3160
#: includes/class/class.LSldapObject.php:3157
msgid "LSldapObject : Object type unknown."
msgstr ""
#: includes/class/class.LSldapObject.php:3163
#: includes/class/class.LSldapObject.php:3160
msgid "LSldapObject : Update form is not defined for the object %{obj}."
msgstr ""
#: includes/class/class.LSldapObject.php:3166
#: includes/class/class.LSldapObject.php:3163
msgid "LSldapObject : No form exists for the object %{obj}."
msgstr ""
#: includes/class/class.LSldapObject.php:3169
#: includes/class/class.LSldapObject.php:3166
msgid ""
"LSldapObject : The function %{func} to validate the attribute %{attr} the "
"object %{obj} is unknow."
msgstr ""
#: includes/class/class.LSldapObject.php:3172
#: includes/class/class.LSldapObject.php:3169
msgid ""
"LSldapObject : Configuration data are missing to validate the attribute "
"%{attr} of the object %{obj}."
msgstr ""
#: includes/class/class.LSldapObject.php:3176
#: includes/class/class.LSldapObject.php:3173
msgid ""
"LSldapObject : The function %{func} to be executed on the object event "
"%{event} doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3179
#: includes/class/class.LSldapObject.php:3176
msgid ""
"LSldapObject : The %{func} execution on the object event %{event} failed."
msgstr ""
#: includes/class/class.LSldapObject.php:3183
#: includes/class/class.LSldapObject.php:3180
msgid ""
"LSldapObject : Class %{class}, which method %{meth} to be executed on the "
"object event %{event}, doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3186
#: includes/class/class.LSldapObject.php:3183
msgid ""
"LSldapObject : Method %{meth} within %{class} class to be executed on object "
"event %{event}, doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3189
#: includes/class/class.LSldapObject.php:3186
msgid ""
"LSldapObject : Error during execute %{meth} method within %{class} class, to "
"be executed on object event %{event}."
msgstr ""
#: includes/class/class.LSldapObject.php:3193
#: includes/class/class.LSldapObject.php:3190
msgid ""
"LSldapObject : Some configuration data of the object type %{obj} are missing "
"to generate the DN of the new object."
msgstr ""
#: includes/class/class.LSldapObject.php:3196
#: includes/class/class.LSldapObject.php:3193
msgid ""
"LSldapObject : The attibute %{attr} of the object is not yet defined. Can't "
"generate DN."
msgstr ""
#: includes/class/class.LSldapObject.php:3199
#: includes/class/class.LSldapObject.php:3196
msgid "LSldapObject : Without DN, the object could not be changed."
msgstr ""
#: includes/class/class.LSldapObject.php:3202
#: includes/class/class.LSldapObject.php:3199
msgid ""
"LSldapObject : The attribute %{attr_depend} depending on the attribute "
"%{attr} doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3205
#: includes/class/class.LSldapObject.php:3202
msgid "LSldapObject : Error during deleting the object %{objectname}."
msgstr ""
#: includes/class/class.LSldapObject.php:3209
#: includes/class/class.LSldapObject.php:3206
msgid ""
"LSldapObject : Error during actions to be executed before renaming the objet."
msgstr ""
#: includes/class/class.LSldapObject.php:3212
#: includes/class/class.LSldapObject.php:3209
msgid ""
"LSldapObject : Error during actions to be executed after renaming the objet."
msgstr ""
#: includes/class/class.LSldapObject.php:3216
#: includes/class/class.LSldapObject.php:3213
msgid ""
"LSldapObject : Error during actions to be executed before deleting the objet."
msgstr ""
#: includes/class/class.LSldapObject.php:3219
#: includes/class/class.LSldapObject.php:3216
msgid ""
"LSldapObject : Error during actions to be executed after deleting the objet."
msgstr ""
#: includes/class/class.LSldapObject.php:3223
#: includes/class/class.LSldapObject.php:3220
msgid ""
"LSldapObject : Error during the actions to be executed before creating the "
"object."
msgstr ""
#: includes/class/class.LSldapObject.php:3226
#: includes/class/class.LSldapObject.php:3223
msgid ""
"LSldapObject : Error during the actions to be executed after creating the "
"object. It was created anyway."
msgstr ""
#: includes/class/class.LSldapObject.php:3230
#: includes/class/class.LSldapObject.php:3227
msgid ""
"LSldapObject : The function %{func} to be executed before creating the "
"object doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3233
#: includes/class/class.LSldapObject.php:3230
msgid ""
"LSldapObject : Error executing the function %{func} to be execute after "
"deleting the object."
msgstr ""
#: includes/class/class.LSldapObject.php:3236
#: includes/class/class.LSldapObject.php:3233
msgid ""
"LSldapObject : The function %{func} to be executed after deleting the object "
"doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3239
#: includes/class/class.LSldapObject.php:3236
msgid ""
"LSldapObject : Error executing the function %{func} to be execute after "
"creating the object."
msgstr ""
#: includes/class/class.LSldapObject.php:3243
#: includes/class/class.LSldapObject.php:3240
msgid ""
"LSldapObject : %{func} function, to be executed on object event %{event}, "
"doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3246
#: includes/class/class.LSldapObject.php:3243
msgid ""
"LSldapObject : Error during the execution of %{func} function on object "
"event %{event}."
msgstr ""
#: includes/class/class.LSldapObject.php:3250
#: includes/class/class.LSldapObject.php:3247
msgid ""
"LSldapObject : %{meth} method, to be executed on object event %{event}, "
"doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3253
#: includes/class/class.LSldapObject.php:3250
msgid ""
"LSldapObject : Error during execution of %{meth} method on object event "
"%{event}."
msgstr ""
#: includes/class/class.LSldapObject.php:3256
#: includes/class/class.LSldapObject.php:3253
msgid "LSldapObject : Error during generate LDAP filter for %{LSobject}."
msgstr ""
#: includes/class/class.LSldapObject.php:3260
#: includes/class/class.LSldapObject.php:3257
msgid ""
"LSldapObject : Error during execution of the custom action %{customAction} "
"on %{objectname}."
msgstr ""
#: includes/class/class.LSldapObject.php:3264
#: includes/class/class.LSldapObject.php:3261
msgid "LSldapObject : Fail to retrieve container DN."
msgstr ""
#: includes/class/class.LSldapObject.php:3267
#: includes/class/class.LSldapObject.php:3264
msgid ""
"LSldapObject : The function %{func} to generate container DN is not callable."
msgstr ""
#: includes/class/class.LSldapObject.php:3270
#: includes/class/class.LSldapObject.php:3267
msgid "LSldapObject : Error during generating container DN : %{error}"
msgstr ""
#: includes/class/class.LSldapObject.php:3273
#: includes/class/class.LSldapObject.php:3270
msgid ""
"LSldapObject : An LDAP object with the same DN as generated for this new one "
"already exists. Please verify your configuration."
msgstr ""
#: includes/class/class.LSldapObject.php:3278
#: includes/class/class.LSldapObject.php:3275
msgid ""
"LSrelation : Some parameters are missing in the call of methods to handle "
"standard relations (Method : %{meth})."
@ -2734,7 +2724,7 @@ msgid ""
"%{column}."
msgstr ""
#: includes/class/class.LSioFormat.php:246
#: includes/class/class.LSioFormat.php:224
msgid "LSioFormat : IOformat driver %{driver} invalid or unavailable."
msgstr ""