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. dont la valeur associée est la configuration du format.
<important><para>Le moteur d'importation simule la validation d'un formulaire de <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 création du type d'&LSobject;. En conséquence :
uniquement, voir ci-dessous). En conséquence :
<itemizedlist> <itemizedlist>
<listitem><simpara>seul les attributs présent dans le formulaire de création peuvent <listitem><simpara>seul les attributs présent dans le formulaire de création peuvent
être importés.</simpara></listitem> être importés.</simpara></listitem>
@ -32,7 +31,6 @@ uniquement, voir ci-dessous). En conséquence :
'label' => '[Label du type de fichier]', 'label' => '[Label du type de fichier]',
'driver' => '[Pilote d'ioFormat utilisé]', 'driver' => '[Pilote d'ioFormat utilisé]',
'driver_options' => array([Options du pilote d'ioFormat utilisé]), 'driver_options' => array([Options du pilote d'ioFormat utilisé]),
'update_only' => '[Booléen]',
'fields => array ( 'fields => array (
'[champ 1]' => '[attribut 1]', '[champ 1]' => '[attribut 1]',
'[champ 2]' => '[attribut 2]', '[champ 2]' => '[attribut 2]',
@ -81,28 +79,11 @@ uniquement, voir ci-dessous). En conséquence :
</listitem> </listitem>
</varlistentry> </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> <varlistentry>
<term>fields</term> <term>fields</term>
<listitem> <listitem>
<simpara>Tableau associatif permettant d'associer un champ du fichier source (la clé) <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 attribut de l'objet LDAP (la valeur).</simpara>
avec la valeur <literal>dn</literal> pour fournir le DN de l'objet en mode mise à jour
uniquement (voir ci-dessus).</simpara>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -111,8 +92,7 @@ uniquement, voir ci-dessous). En conséquence :
<listitem> <listitem>
<simpara>Tableau associatif permettant de définir soit des &LSformats;, soit un <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. <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 Ce tableau contient en clé, le nom de l'attribut à générer, et en valeur associée, un ou plusieurs
génération du DN de l'objet en mode mise à jour uniquement), 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; 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 &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 <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/cosine.ldif
$SYS_SCHEMA_DIR/nis.ldif $SYS_SCHEMA_DIR/nis.ldif
$SYS_SCHEMA_DIR/inetorgperson.ldif $SYS_SCHEMA_DIR/inetorgperson.ldif
$SYS_SCHEMA_DIR/ppolicy.ldif
$SYS_SCHEMA_DIR/dyngroup.ldif $SYS_SCHEMA_DIR/dyngroup.ldif
$SAMBA_SCHEMA_LDIF $SAMBA_SCHEMA_LDIF
$LS_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 for file in $SCHEMA_FILES
do do
[ $VERBOSE -eq 1 ] && echo "Install $( basename $file) schema..." [ $VERBOSE -eq 1 ] && echo "Install $( basename $file) schema..."

View file

@ -133,19 +133,6 @@ $GLOBALS['LSobjects']['LSpeople'] = array (
'samba_password_cas_change' => 'sambaPwdCanChange', '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}', 'display_name_format' => '%{cn}',

View file

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

View file

@ -216,16 +216,6 @@ class LSio extends LSlog_staticLoggerClass {
return $return; 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 // Load data in LSioFormat object
if (!$ioFormat -> loadFile($input_file)) { if (!$ioFormat -> loadFile($input_file)) {
LSerror :: addErrorCode('LSio_05'); LSerror :: addErrorCode('LSio_05');
@ -341,140 +331,97 @@ class LSio extends LSlog_staticLoggerClass {
$globalErrors = array(); $globalErrors = array();
// Instanciate an LSobject // Instanciate an LSobject
$object = new $LSobject(); $object = new $LSobject();
// Instanciate a creation LSform (in API mode)
// Load object data on update_only mode $form = $object -> getForm('create', null, true);
if ($ioFormat -> update_only) { // Set form data from inputed data
// Retrieve/compute object DN if (!$form -> setPostData($objData, true)) {
$dn = null; self :: log_debug('import(): Failed to setPostData on: '.print_r($objData,True));
if (array_key_exists('dn', $objData)) { $globalErrors[] = _('Failed to set post data on creation form.');
$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
);
}
} }
// Validate form
if (!$globalErrors) { else if (!$form -> validate(true)) {
// Instanciate a creation/modification LSform (based on update_only mode and force API mode) self :: log_debug('import(): Failed to validate form on: '.print_r($objData,True));
$form_id = $ioFormat -> update_only ? 'modify' : 'create'; self :: log_debug('import(): Form errors: '.print_r($form->getErrors(),True));
$form = $object -> getForm($form_id, null, true); $globalErrors[] = _('Error validating creation form.');
// Set form data from inputed data }
if (!$form -> setPostData($objData, true)) { // Validate data (just check mode)
self :: log_debug('import(): Failed to setPostData on: '.print_r($objData,True)); else if (!$object -> updateData('create', True)) {
$globalErrors[] = _('Failed to set post data on creation form.'); self :: log_debug('import(): fail to validate object data: '.varDump($objData));
} $globalErrors[] = _('Failed to validate object data.');
// Validate form }
else if (!$form -> validate(true)) { else {
self :: log_debug('import(): Failed to validate form on: '.print_r($objData,True)); self :: log_debug('import(): Data is correct, retrieve object DN');
self :: log_debug('import(): Form errors: '.print_r($form->getErrors(),True)); $dn = $object -> getDn();
$globalErrors[] = _('Error validating creation form.'); if (!$dn) {
} self :: log_debug('import(): fail to generate for this object: '.varDump($objData));
// Validate data (just check mode) $globalErrors[] = _('Failed to generate DN for this object.');
else if (!$object -> updateData($form_id, True)) {
self :: log_debug('import(): fail to validate object data: '.varDump($objData));
$globalErrors[] = _('Failed to validate object data.');
} }
else { else {
self :: log_debug('import(): Data is correct, retrieve object DN'); // Check if object already exists
$dn = $object -> getDn(); if (!LSldap :: exists($dn)) {
if (!$dn) { // Creation mode
self :: log_debug('import(): fail to generate for this object: '.varDump($objData)); self :: log_debug('import(): New object, perform creation');
$globalErrors[] = _('Failed to generate DN for this object.'); 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 { else {
// Check if object already exists self :: log_info('Object '.$object -> getDn().' exist, perform update');
if (!$ioFormat -> update_only && !LSldap :: exists($dn)) {
// Creation mode // Restart import in update mode
self :: log_debug('import(): New object, perform creation');
if ($justTry || $object -> updateData('create')) { // Instanciate a new LSobject and load data from it's DN
self :: log_info('Object '.$object -> getDn().' imported'); $object = new $LSobject();
$return['imported'][$object -> getDn()] = array( 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(), 'name' => $object -> getDisplayName(),
'messages' => $_SESSION['LSsession_infos'], 'infos' => $_SESSION['LSsession_infos'],
'errors' => LSerror :: getErrors(), 'errors' => LSerror :: getErrors(),
); );
$_SESSION['LSsession_infos'] = array(); $_SESSION['LSsession_infos'] = array();
continue; continue;
} }
else { else {
self :: log_error('Failed to updateData on : '.print_r($objData, True)); self :: log_error('Object '.$object -> getDn().': Failed to updateData (modify) on : '.print_r($objData, True));
$globalErrors[]=_('Error creating object on LDAP server.'); $globalErrors[] = _('Error updating 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.');
}
} }
} }
} }
@ -485,15 +432,11 @@ class LSio extends LSlog_staticLoggerClass {
'data' => $objData, 'data' => $objData,
'errors' => array ( 'errors' => array (
'globals' => $globalErrors, 'globals' => $globalErrors,
'attrs' => isset($form)?$form->getErrors():array(), 'attrs' => $form->getErrors(),
), ),
'messages' => $_SESSION['LSsession_infos'], 'messages' => $_SESSION['LSsession_infos'],
); );
$_SESSION['LSsession_infos'] = array(); $_SESSION['LSsession_infos'] = array();
// Clean iteration objects
unset($object);
if (isset($form)) unset($form);
} }
$return['errors'] = $objectsInError; $return['errors'] = $objectsInError;
$return['success'] = empty($objectsInError); $return['success'] = empty($objectsInError);
@ -913,9 +856,6 @@ ___("LSio: An error occured running after import hooks.")
LSerror :: defineError('LSio_10', LSerror :: defineError('LSio_10',
___("LSio: Error occured loading objects's data from input file.") ___("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 // Defined CLI commands functions only on CLI context
if (php_sapi_name() != 'cli') if (php_sapi_name() != 'cli')

View file

@ -25,7 +25,6 @@ LSsession :: loadLSclass('LSlog_staticLoggerClass');
/** /**
* Manage IOformat of LSldapObject import/export * Manage IOformat of LSldapObject import/export
* *
* @property-read bool $update_only
* @author Benjamin Renard <brenard@easter-eggs.com> * @author Benjamin Renard <brenard@easter-eggs.com>
*/ */
class LSioFormat extends LSlog_staticLoggerClass { 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 * 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 // Add attributes to export and put their values to data to export
foreach($fields as $key => $attr_name) { foreach($fields as $key => $attr_name) {
$objects_data[$dn][$key] = null; $objects_data[$dn][$key] = null;
if ($attr_name == 'dn') { if (!isset($object -> attrs[$attr_name])) {
$objects_data[$dn][$key] = $dn;
}
else if (!isset($object -> attrs[$attr_name])) {
self :: log_warning("exportObjects($object): attribute '$attr_name' does not exist !"); self :: log_warning("exportObjects($object): attribute '$attr_name' does not exist !");
continue; continue;
} }
else { $object -> attrs[$attr_name] -> addToExport($export);
$object -> attrs[$attr_name] -> addToExport($export); if (!isset($export -> elements[$attr_name])) {
if (!isset($export -> elements[$attr_name])) { // @phpstan-ignore-next-line
// @phpstan-ignore-next-line self :: log_debug("exportObjects($object): attribute '$attr_name' not added to export : may be user can't read it");
self :: log_debug("exportObjects($object): attribute '$attr_name' not added to export : may be user can't read it"); continue;
continue;
}
$objects_data[$dn][$key] = $export -> elements[$attr_name] -> getApiValue(false);
} }
$objects_data[$dn][$key] = $export -> elements[$attr_name] -> getApiValue(false);
} }
} }
self :: log_trace('exportObjects(): objects data = '.varDump($objects_data)); 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 $subDnValue
* @property-read string $subDnName * @property-read string $subDnName
* @property-read string $rdn_attr
* @property-read string $rdn * @property-read string $rdn
* @property-read string $type * @property-read string $type
* @author Benjamin Renard <brenard@easter-eggs.com> * @author Benjamin Renard <brenard@easter-eggs.com>
@ -2004,14 +2003,12 @@ class LSldapObject extends LSlog_staticLoggerClass {
$this -> cache['subDnName'] = self :: getSubDnName($this -> dn); $this -> cache['subDnName'] = self :: getSubDnName($this -> dn);
return $this -> cache['subDnName']; 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') { 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') { elseif ($key=='type') {
return $this -> getType(); return $this -> getType();

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

View file

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