From 1e284f098a8afe7ba7625ed6ddd02e21bbcebd66 Mon Sep 17 00:00:00 2001 From: Benjamin Renard Date: Fri, 5 Feb 2021 18:37:07 +0100 Subject: [PATCH] Regroup LSimport & LSexport classes in one common LSio class --- src/css/default/{LSimport.css => LSio.css} | 12 +- src/includes/class/class.LSexport.php | 230 ----------------- .../{class.LSimport.php => class.LSio.php} | 235 ++++++++++++++++-- src/includes/routes.php | 16 +- src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo | Bin 65939 -> 65610 bytes src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po | 116 +++++---- src/lang/ldapsaisie.pot | 94 ++++--- src/templates/default/export.tpl | 1 + src/templates/default/import.tpl | 24 +- 9 files changed, 339 insertions(+), 389 deletions(-) rename src/css/default/{LSimport.css => LSio.css} (64%) delete mode 100644 src/includes/class/class.LSexport.php rename src/includes/class/{class.LSimport.php => class.LSio.php} (72%) diff --git a/src/css/default/LSimport.css b/src/css/default/LSio.css similarity index 64% rename from src/css/default/LSimport.css rename to src/css/default/LSio.css index c9d82aba..652534fe 100644 --- a/src/css/default/LSimport.css +++ b/src/css/default/LSio.css @@ -1,28 +1,28 @@ -h3.LSimport { +h3.LSio { margin-left: 1.5em; border-bottom: 1px solid; } -div.LSimport_error { +div.LSio_error { padding: 0 2em; } -ul.LSimport_global_errors { +ul.LSio_global_errors { background-color: #F56A6A; list-style-type: none; padding: 1em; text-align: center; } -ul.LSimport_data_errors { +ul.LSio_data_errors { font-style: italic; font-size: 0.8em; } -ul.LSimport_attr_errors { +ul.LSio_attr_errors { padding-left: 1.5em; } -ul.LSimport_attr_errors li { +ul.LSio_attr_errors li { color: #f00; } diff --git a/src/includes/class/class.LSexport.php b/src/includes/class/class.LSexport.php deleted file mode 100644 index 43909cc9..00000000 --- a/src/includes/class/class.LSexport.php +++ /dev/null @@ -1,230 +0,0 @@ - - */ -class LSexport extends LSlog_staticLoggerClass { - - /** - * Export objects - * - * @param[in] $LSobject LSldapObject An instance of the object type - * @param[in] $ioFormat string The LSioFormat name - * @param[in] $stream resource|null The output stream (optional, default: STDOUT) - * - * @author Benjamin Renard - * - * @retval boolean True on success, False otherwise - */ - public static function export($object, $ioFormat, $stream=null) { - // Load LSobject - if (is_string($object)) { - if (!LSsession::loadLSobject($object, true)) { // Load with warning - return false; - } - $object = new $object(); - } - - // Validate ioFormat - if(!$object -> isValidIOformat($ioFormat)) { - LSerror :: addErrorCode('LSexport_01', $ioFormat); - return false; - } - - // Create LSioFormat object - $ioFormat = new LSioFormat($object -> type, $ioFormat); - if (!$ioFormat -> ready()) { - LSerror :: addErrorCode('LSexport_02'); - return false; - } - - // Load LSsearch class (with warning) - if (!LSsession :: loadLSclass('LSsearch', null, true)) { - return false; - } - - // Search objects - $search = new LSsearch($object -> type, 'LSexport'); - $search -> run(); - - // Retreive objets - $objects = $search -> listObjects(); - if (!is_array($objects)) { - LSerror :: addErrorCode('LSexport_03'); - return false; - } - self :: log_debug(count($objects)." object(s) found to export"); - - // Export objects using LSioFormat object - if (!$ioFormat -> exportObjects($objects, $stream)) { - LSerror :: addErrorCode('LSexport_04'); - return false; - } - self :: log_debug("export(): objects exported"); - return true; - } - - /** - * CLI export command - * - * @param[in] $command_args array Command arguments: - * - Positional arguments: - * - LSobject type - * - LSioFormat name - * - Optional arguments: - * - -o|--output: Output path ("-" == stdout, default: "-") - * - * @retval boolean True on succes, false otherwise - **/ - public static function cli_export($command_args) { - $objType = null; - $ioFormat = null; - $output = '-'; - for ($i=0; $i < count($command_args); $i++) { - switch ($command_args[$i]) { - case '-o': - case '--output': - $output = $command_args[++$i]; - break; - default: - if (is_null($objType)) { - $objType = $command_args[$i]; - } - elseif (is_null($ioFormat)) { - $ioFormat = $command_args[$i]; - } - else - LScli :: usage("Invalid $arg parameter."); - } - } - - if (is_null($objType) || is_null($ioFormat)) - LScli :: usage('You must provide LSobject type, ioFormat.'); - - // Check output - if ($output != '-' && file_exists($output)) - LScli :: usage("Output file '$output' already exists."); - - // Open output stream - $stream = fopen(($output=='-'?'php://stdout':$output), "w"); - if ($stream === false) - LSlog :: fatal("Fail to open output file '$output'."); - - // Run export - return self :: export($objType, $ioFormat, $stream); - } - - /** - * Args autocompleter for CLI export command - * - * @param[in] $command_args array List of already typed words of the command - * @param[in] $comp_word_num int The command word number to autocomplete - * @param[in] $comp_word string The command word to autocomplete - * @param[in] $opts array List of global available options - * - * @retval array List of available options for the word to autocomplete - **/ - public static function cli_export_args_autocompleter($command_args, $comp_word_num, $comp_word, $opts) { - $opts = array_merge($opts, array ('-o', '--output')); - - // Handle positional args - $objType = null; - $objType_arg_num = null; - $ioFormat = null; - $ioFormat_arg_num = null; - for ($i=0; $i < count($command_args); $i++) { - if (!in_array($command_args[$i], $opts)) { - // If object type not defined - if (is_null($objType)) { - // Defined it - $objType = $command_args[$i]; - LScli :: unquote_word($objType); - $objType_arg_num = $i; - - // Check object type exists - $objTypes = LScli :: autocomplete_LSobject_types($objType); - - // Load it if exist and not trying to complete it - if (in_array($objType, $objTypes) && $i != $comp_word_num) { - LSsession :: loadLSobject($objType, false); - } - } - elseif (is_null($ioFormat)) { - $ioFormat = $command_args[$i]; - LScli :: unquote_word($ioFormat); - $ioFormat_arg_num = $i; - } - } - } - - // If objType not already choiced (or currently autocomplete), add LSobject types to available options - if (!$objType || $objType_arg_num == $comp_word_num) - $opts = array_merge($opts, LScli :: autocomplete_LSobject_types($comp_word)); - - // If dn not alreay choiced (or currently autocomplete), try autocomplete it - elseif (!$ioFormat || $ioFormat_arg_num == $comp_word_num) - $opts = array_merge($opts, LScli :: autocomplete_LSobject_ioFormat($objType, $comp_word)); - - return LScli :: autocomplete_opts($opts, $comp_word); - } - -} -LSerror :: defineError('LSexport_01', -___("LSexport: input/output format %{format} invalid.") -); -LSerror :: defineError('LSexport_02', -___("LSexport: Fail to initialize input/output driver.") -); -LSerror :: defineError('LSexport_03', -___("LSexport: Fail to load objects's data to export from LDAP directory.") -); -LSerror :: defineError('LSexport_04', -___("LSexport: Fail to export objects's data.") -); - -// Defined CLI commands functions only on CLI context -if (php_sapi_name() != 'cli') - return true; // Always return true to avoid some warning in log - -// LScli -LScli :: add_command( - 'export', - array('LSexport', 'cli_export'), - 'Export LSobject', - '[object type] [ioFormat name] -o /path/to/output.file', - array( - ' - Positional arguments :', - ' - LSobject type', - ' - LSioFormat name', - '', - ' - Optional arguments :', - ' - -o|--output: The output file path. Use "-" for STDOUT (optional, default: "-")', - ), - true, - array('LSexport', 'cli_export_args_autocompleter') -); diff --git a/src/includes/class/class.LSimport.php b/src/includes/class/class.LSio.php similarity index 72% rename from src/includes/class/class.LSimport.php rename to src/includes/class/class.LSio.php index 3faecc46..0df01527 100644 --- a/src/includes/class/class.LSimport.php +++ b/src/includes/class/class.LSio.php @@ -28,17 +28,19 @@ LSsession::loadLSclass('LSioFormat'); * * @author Benjamin Renard */ -class LSimport extends LSlog_staticLoggerClass { +class LSio extends LSlog_staticLoggerClass { /** * Check if the form was posted by check POST data * + * @param[in] $action string The action name used as POST validate flag value + * * @author Benjamin Renard * * @retval boolean true if the form was posted, false otherwise */ - public static function isSubmit() { - if (isset($_POST['validate']) && ($_POST['validate']=='LSimport')) + public static function isSubmit($action) { + if (isset($_POST['validate']) && ($_POST['validate']==$action)) return true; return; } @@ -111,7 +113,7 @@ class LSimport extends LSlog_staticLoggerClass { // Get data from $_POST $data = self::getPostData(); if (!is_array($data)) { - LSerror :: addErrorCode('LSimport_01'); + LSerror :: addErrorCode('LSio_01'); return array( 'success' => false, 'imported' => array(), @@ -195,27 +197,27 @@ class LSimport extends LSlog_staticLoggerClass { // Load LSobject if (!isset($LSobject) || !LSsession::loadLSobject($LSobject)) { - LSerror :: addErrorCode('LSimport_02'); + LSerror :: addErrorCode('LSio_02'); return $return; } // Validate ioFormat $object = new $LSobject(); if(!$object -> isValidIOformat($ioFormat)) { - LSerror :: addErrorCode('LSimport_03',$ioFormat); + LSerror :: addErrorCode('LSio_03',$ioFormat); return $return; } // Create LSioFormat object $ioFormat = new LSioFormat($LSobject,$ioFormat); if (!$ioFormat -> ready()) { - LSerror :: addErrorCode('LSimport_04'); + LSerror :: addErrorCode('LSio_04'); return $return; } // Load data in LSioFormat object if (!$ioFormat -> loadFile($input_file)) { - LSerror :: addErrorCode('LSimport_05'); + LSerror :: addErrorCode('LSio_05'); return $return; } self :: log_debug("import(): file loaded"); @@ -327,6 +329,65 @@ class LSimport extends LSlog_staticLoggerClass { return $return; } + /** + * Export objects + * + * @param[in] $LSobject LSldapObject An instance of the object type + * @param[in] $ioFormat string The LSioFormat name + * @param[in] $stream resource|null The output stream (optional, default: STDOUT) + * + * @author Benjamin Renard + * + * @retval boolean True on success, False otherwise + */ + public static function export($object, $ioFormat, $stream=null) { + // Load LSobject + if (is_string($object)) { + if (!LSsession::loadLSobject($object, true)) { // Load with warning + return false; + } + $object = new $object(); + } + + // Validate ioFormat + if(!$object -> isValidIOformat($ioFormat)) { + LSerror :: addErrorCode('LSio_03', $ioFormat); + return false; + } + + // Create LSioFormat object + $ioFormat = new LSioFormat($object -> type, $ioFormat); + if (!$ioFormat -> ready()) { + LSerror :: addErrorCode('LSio_04'); + return false; + } + + // Load LSsearch class (with warning) + if (!LSsession :: loadLSclass('LSsearch', null, true)) { + return false; + } + + // Search objects + $search = new LSsearch($object -> type, 'LSio'); + $search -> run(); + + // Retreive objets + $objects = $search -> listObjects(); + if (!is_array($objects)) { + LSerror :: addErrorCode('LSio_06'); + return false; + } + self :: log_debug(count($objects)." object(s) found to export"); + + // Export objects using LSioFormat object + if (!$ioFormat -> exportObjects($objects, $stream)) { + LSerror :: addErrorCode('LSio_07'); + return false; + } + self :: log_debug("export(): objects exported"); + return true; + } + /** * CLI import command * @@ -486,11 +547,115 @@ class LSimport extends LSlog_staticLoggerClass { return LScli :: autocomplete_opts($opts, $comp_word); } + /** + * CLI export command + * + * @param[in] $command_args array Command arguments: + * - Positional arguments: + * - LSobject type + * - LSioFormat name + * - Optional arguments: + * - -o|--output: Output path ("-" == stdout, default: "-") + * + * @retval boolean True on succes, false otherwise + **/ + public static function cli_export($command_args) { + $objType = null; + $ioFormat = null; + $output = '-'; + for ($i=0; $i < count($command_args); $i++) { + switch ($command_args[$i]) { + case '-o': + case '--output': + $output = $command_args[++$i]; + break; + default: + if (is_null($objType)) { + $objType = $command_args[$i]; + } + elseif (is_null($ioFormat)) { + $ioFormat = $command_args[$i]; + } + else + LScli :: usage("Invalid $arg parameter."); + } + } + + if (is_null($objType) || is_null($ioFormat)) + LScli :: usage('You must provide LSobject type, ioFormat.'); + + // Check output + if ($output != '-' && file_exists($output)) + LScli :: usage("Output file '$output' already exists."); + + // Open output stream + $stream = fopen(($output=='-'?'php://stdout':$output), "w"); + if ($stream === false) + LSlog :: fatal("Fail to open output file '$output'."); + + // Run export + return self :: export($objType, $ioFormat, $stream); + } + + /** + * Args autocompleter for CLI export command + * + * @param[in] $command_args array List of already typed words of the command + * @param[in] $comp_word_num int The command word number to autocomplete + * @param[in] $comp_word string The command word to autocomplete + * @param[in] $opts array List of global available options + * + * @retval array List of available options for the word to autocomplete + **/ + public static function cli_export_args_autocompleter($command_args, $comp_word_num, $comp_word, $opts) { + $opts = array_merge($opts, array ('-o', '--output')); + + // Handle positional args + $objType = null; + $objType_arg_num = null; + $ioFormat = null; + $ioFormat_arg_num = null; + for ($i=0; $i < count($command_args); $i++) { + if (!in_array($command_args[$i], $opts)) { + // If object type not defined + if (is_null($objType)) { + // Defined it + $objType = $command_args[$i]; + LScli :: unquote_word($objType); + $objType_arg_num = $i; + + // Check object type exists + $objTypes = LScli :: autocomplete_LSobject_types($objType); + + // Load it if exist and not trying to complete it + if (in_array($objType, $objTypes) && $i != $comp_word_num) { + LSsession :: loadLSobject($objType, false); + } + } + elseif (is_null($ioFormat)) { + $ioFormat = $command_args[$i]; + LScli :: unquote_word($ioFormat); + $ioFormat_arg_num = $i; + } + } + } + + // If objType not already choiced (or currently autocomplete), add LSobject types to available options + if (!$objType || $objType_arg_num == $comp_word_num) + $opts = array_merge($opts, LScli :: autocomplete_LSobject_types($comp_word)); + + // If dn not alreay choiced (or currently autocomplete), try autocomplete it + elseif (!$ioFormat || $ioFormat_arg_num == $comp_word_num) + $opts = array_merge($opts, LScli :: autocomplete_LSobject_ioFormat($objType, $comp_word)); + + return LScli :: autocomplete_opts($opts, $comp_word); + } + } /* - * LSimport_implodeValues template function + * LSio_implodeValues template function * * This function permit to implode field values during * template processing. This function take as parameters @@ -502,30 +667,36 @@ class LSimport extends LSlog_staticLoggerClass { * * @retval void **/ -function LSimport_implodeValues($params, $template) { +function LSio_implodeValues($params, $template) { extract($params); if (isset($values) && is_array($values)) { echo implode(',',$values); } } -LStemplate :: registerFunction('LSimport_implodeValues','LSimport_implodeValues'); +LStemplate :: registerFunction('LSio_implodeValues','LSio_implodeValues'); -LSerror :: defineError('LSimport_01', -___("LSimport: Post data not found or not completed.") +LSerror :: defineError('LSio_01', +___("LSio: Post data not found or not completed.") ); -LSerror :: defineError('LSimport_02', -___("LSimport: object type invalid.") +LSerror :: defineError('LSio_02', +___("LSio: object type invalid.") ); -LSerror :: defineError('LSimport_03', -___("LSimport: input/output format %{format} invalid.") +LSerror :: defineError('LSio_03', +___("LSio: input/output format %{format} invalid.") ); -LSerror :: defineError('LSimport_04', -___("LSimport: Fail to initialize input/output driver.") +LSerror :: defineError('LSio_04', +___("LSio: Fail to initialize input/output driver.") ); -LSerror :: defineError('LSimport_05', -___("LSimport: Fail to load objects's data from input file.") +LSerror :: defineError('LSio_05', +___("LSio: Fail to load objects's data from input file.") +); +LSerror :: defineError('LSio_06', +___("LSio: Fail to load objects's data to export from LDAP directory.") +); +LSerror :: defineError('LSio_07', +___("LSio: Fail to export objects's data.") ); // Defined CLI commands functions only on CLI context @@ -535,7 +706,7 @@ if (php_sapi_name() != 'cli') // LScli LScli :: add_command( 'import', - array('LSimport', 'cli_import'), + array('LSio', 'cli_import'), 'Import LSobject', '[object type] [ioFormat name] -i /path/to/input.file', array( @@ -549,5 +720,23 @@ LScli :: add_command( ' - -j|--just-try Enable just-try mode', ), true, - array('LSimport', 'cli_import_args_autocompleter') + array('LSio', 'cli_import_args_autocompleter') +); + +// LScli +LScli :: add_command( + 'export', + array('LSio', 'cli_export'), + 'Export LSobject', + '[object type] [ioFormat name] -o /path/to/output.file', + array( + ' - Positional arguments :', + ' - LSobject type', + ' - LSioFormat name', + '', + ' - Optional arguments :', + ' - -o|--output: The output file path. Use "-" for STDOUT (optional, default: "-")', + ), + true, + array('LSio', 'cli_export_args_autocompleter') ); diff --git a/src/includes/routes.php b/src/includes/routes.php index d84e5023..6fbf5011 100644 --- a/src/includes/routes.php +++ b/src/includes/routes.php @@ -787,15 +787,15 @@ function handle_LSobject_import($request) { $ioFormats = array(); $result = array(); - if ( LSsession :: loadLSclass('LSimport', null, true)) { // import class with warning + if ( LSsession :: loadLSclass('LSio', null, true)) { // import class with warning $ioFormats = $object->listValidIOformats(); if (!is_array($ioFormats) || empty($ioFormats)) { $ioFormats = array(); LSerror :: addErrorCode('LSsession_16'); } - else if (LSimport::isSubmit()) { - $result = LSimport::importFromPostData(); - LSlog :: debug("LSimport::importFromPostData(): result = ".varDump($result)); + else if (LSio::isSubmit('import')) { + $result = LSio::importFromPostData(); + LSlog :: debug("LSio::importFromPostData(): result = ".varDump($result)); } } @@ -808,7 +808,7 @@ function handle_LSobject_import($request) { // Set & display template LSsession :: setTemplate('import.tpl'); LStemplate :: addCssFile('LSform.css'); - LStemplate :: addCssFile('LSimport.css'); + LStemplate :: addCssFile('LSio.css'); LSsession :: displayTemplate(); } LSurl :: add_handler('#^object/(?P[^/]+)/import/?$#', 'handle_LSobject_import'); @@ -855,14 +855,14 @@ function handle_LSobject_export($request) { $ioFormats = array(); $result = null; - if ( LSsession :: loadLSclass('LSexport', null, true)) { // Load class with warning + if ( LSsession :: loadLSclass('LSio', null, true)) { // Load class with warning $ioFormats = $object->listValidIOformats(); if (!is_array($ioFormats) || empty($ioFormats)) { $ioFormats = array(); LSerror :: addErrorCode('LSsession_16'); } - else if (isset($_REQUEST['ioFormat'])) { - if (!LSexport::export($object, $_REQUEST['ioFormat'])) + else if (LSio::isSubmit('export') && isset($_REQUEST['ioFormat'])) { + if (!LSio::export($object, $_REQUEST['ioFormat'])) LSlog :: error("An error occurred exporting ".$object -> type); } } diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index 710ae162223ccbd7a5d6653832536d0894b59415..4f6340d4466b9042d8b8618fbcd865ecb61a218e 100644 GIT binary patch delta 11009 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 b=`tM_m0ZzPCz5Oa{|BnrEGgzd+M53d))tI{ diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po index 652392c0..881cf083 100644 --- a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po +++ b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: LdapSaisie\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-02-05 10:32+0100\n" +"PO-Revision-Date: 2021-02-05 18:27+0100\n" "Last-Translator: Benjamin Renard \n" "Language-Team: LdapSaisie \n" @@ -437,72 +437,82 @@ msgstr "LSformRule_%{type} : Le paramètre %{param} n'est pas défini." msgid "LSformRule: Unknown rule type %{type}." msgstr "LSformRule : Type de règle %{type} inconnu." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:208 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:240 msgid "Failed to set post data on creation form." msgstr "Impossible de définir les données dans le formulaire de création." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:214 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:246 msgid "Error validating creation form." msgstr "Une erreur est survenue en validant le formulaire de création." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:219 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:251 msgid "Failed to validate object data." msgstr "Impossible de valider les données de l'objet." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:226 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:258 msgid "Failed to generate DN for this object." msgstr "Impossible de générer le DN de cet objet." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:240 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:272 msgid "Error creating object on LDAP server." msgstr "Une erreur est survenue en création cet objet dans l'annuaire LDAP." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:246 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:278 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}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:257 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:289 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." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:265 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:297 msgid "Failed to set post data on update form." msgstr "Impossible de définir les données dans le formulaire de mise à jours." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:271 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:303 msgid "Error validating update form." msgstr "Une erreur est survenue en validant le formulaire de mise à jour." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:281 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:313 msgid "Error updating object on LDAP server." msgstr "" "Une erreur est survenue en mettant à jour cet objet dans l'annuaire LDAP." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:327 -msgid "LSimport: Post data not found or not completed." -msgstr "LSimport : les données transmises sont introuvables ou incomplètes." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:681 +msgid "LSio: Post data not found or not completed." +msgstr "LSio : les données transmises sont introuvables ou incomplètes." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:330 -msgid "LSimport: object type invalid." -msgstr "LSimport : type d'objet invalide." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:684 +msgid "LSio: object type invalid." +msgstr "LSio : type d'objet invalide." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:333 -msgid "LSimport: input/output format %{format} invalid." -msgstr "LSimport : Le format d'entrée/sortie %{format} est invalide." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:687 +msgid "LSio: input/output format %{format} invalid." +msgstr "LSio : Le format d'entrée/sortie %{format} est invalide." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:336 -msgid "LSimport: Fail to initialize input/output driver." -msgstr "LSimport : Impossible d'initialiser le pilote d'entrée/sortie." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:690 +msgid "LSio: Fail to initialize input/output driver." +msgstr "LSio : Impossible d'initialiser le pilote d'entrée/sortie." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:339 -msgid "LSimport: Fail to load objects's data from input file." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:693 +msgid "LSio: Fail to load objects's data from input file." msgstr "" -"LSimport: 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." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:696 +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." + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:699 +msgid "LSio: Fail to export objects's data." +msgstr "LSio: Impossible d'exporter les données des objets." + #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_ldap_pwdHistory.php:76 msgid "Unknown (%{raw_value})" msgstr "Inconnue (%{raw_value})" @@ -541,15 +551,15 @@ msgstr "" msgid "Attribute" msgstr "Attribut" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mailQuota.php:98 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_valueWithUnit.php:108 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_quota.php:100 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mailQuota.php:101 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_valueWithUnit.php:126 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_quota.php:102 #: templates/default/LSformElement_mailQuota_field.tpl:17 msgid "Incorrect value" msgstr "Valeur incorrecte" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mailQuota.php:168 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_labeledValue.php:135 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mailQuota.php:171 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_labeledValue.php:138 msgid "Invalid value : \"%{value}\"." msgstr "Valeur invalide : \"%{value}\"." @@ -629,15 +639,15 @@ msgstr "" "LSattr_ldap_sambaAcctFlags : drapeau '%{flag}' invalide. Impossible de " "formater la valeur de l'attribut LDAP." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_ssh_key.php:57 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_ssh_key.php:83 msgid "Display the full key." msgstr "Affichier la clé en entier." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_ssh_key.php:79 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_ssh_key.php:94 msgid "Unknown type" msgstr "Type inconnu" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_valueWithUnit.php:230 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_valueWithUnit.php:234 msgid "" "LSformElement_valueWithUnit : Units configuration data are missing for the " "attribute %{attr}." @@ -846,24 +856,6 @@ msgstr "" "LSattr_html_select_objet : l'objet sélectionné %{name} n'a pas de valeur " "dans son attribut %{attr}, vous ne pouvez pas le sélectionner." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSexport.php:93 -msgid "LSexport: input/output format %{format} invalid." -msgstr "LSimport : Le format d'entrée/sortie %{format} est invalide." - -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSexport.php:96 -msgid "LSexport: Fail to initialize input/output driver." -msgstr "LSexport : Impossible d'initialiser le pilote d'entrée/sortie." - -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSexport.php:99 -msgid "LSexport: Fail to load objects's data to export from LDAP directory." -msgstr "" -"LSexport: Impossible de charger les données des objets à exporter depuis " -"l'annuaire LDAP." - -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSexport.php:102 -msgid "LSexport: Fail to export objects's data." -msgstr "LSexport: Impossible d'exporter les données des objets." - #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:90 msgid "" "LSformRule_differentPassword : Other password attribute is not configured." @@ -2257,17 +2249,17 @@ msgstr "" "Note: Les paramètres/arguments de la commande doivent être placés après " "celle-ci." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:779 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:804 msgid "LScli : The CLI command '%{command}' already exists." msgstr "LScli : La commande CLI '%{command}' existe déjà." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:782 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:807 msgid "LScli : The CLI command '%{command}' handler is not callable." msgstr "" "LScli : La fonction de prise en charge de la commande CLI '%{command}' n'est " "pas exécutable." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSioFormatCSV.php:236 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSioFormatCSV.php:247 msgid "LSioFormatCSV: function fputcsv is not available." msgstr "LSioFormatCSV : la fonction fputcsv n'est pas disponible." @@ -2316,7 +2308,7 @@ msgstr "" "LSsearchEntry : formaterFunction %{func} invalide utilisé pour " "l'extraDisplayedColumns %{column}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSioFormat.php:144 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSioFormat.php:145 msgid "LSioFormat : IOformat driver %{driver} invalid or unavailable." msgstr "" "LSioFormat : Le pilote d'IOformat %{driver} est invalide ou n'est pas " @@ -2380,17 +2372,17 @@ msgid "My account" msgstr "Mon compte" #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1149 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1755 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1756 msgid "The object has been partially modified." msgstr "L'objet a été partiellement modifié." #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1152 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1758 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1759 msgid "The object has been modified successfully." msgstr "L'objet a bien été modifié." #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1267 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1799 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1800 msgid "%{objectname} has been successfully deleted." msgstr "%{objectname} a bien été supprimé." @@ -2693,6 +2685,12 @@ msgstr "non" msgid "yes" msgstr "oui" +#~ msgid "LSexport: input/output format %{format} invalid." +#~ msgstr "LSimport : Le format d'entrée/sortie %{format} est invalide." + +#~ msgid "LSexport: Fail to initialize input/output driver." +#~ msgstr "LSexport : Impossible d'initialiser le pilote d'entrée/sortie." + #~ msgid "" #~ "LSsession : call function %{func} do not provided from LSaddon %{addon}." #~ msgstr "" diff --git a/src/lang/ldapsaisie.pot b/src/lang/ldapsaisie.pot index dd63e54c..d993c808 100644 --- a/src/lang/ldapsaisie.pot +++ b/src/lang/ldapsaisie.pot @@ -360,65 +360,73 @@ msgstr "" msgid "LSformRule: Unknown rule type %{type}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:208 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:240 msgid "Failed to set post data on creation form." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:214 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:246 msgid "Error validating creation form." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:219 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:251 msgid "Failed to validate object data." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:226 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:258 msgid "Failed to generate DN for this object." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:240 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:272 msgid "Error creating object on LDAP server." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:246 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:278 msgid "An object already exist on LDAP server with DN %{dn}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:257 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:289 msgid "" "Failed to load existing object %{dn} from LDAP server. Can't update object." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:265 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:297 msgid "Failed to set post data on update form." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:271 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:303 msgid "Error validating update form." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:281 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:313 msgid "Error updating object on LDAP server." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:327 -msgid "LSimport: Post data not found or not completed." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:681 +msgid "LSio: Post data not found or not completed." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:330 -msgid "LSimport: object type invalid." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:684 +msgid "LSio: object type invalid." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:333 -msgid "LSimport: input/output format %{format} invalid." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:687 +msgid "LSio: input/output format %{format} invalid." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:336 -msgid "LSimport: Fail to initialize input/output driver." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:690 +msgid "LSio: Fail to initialize input/output driver." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSimport.php:339 -msgid "LSimport: Fail to load objects's data from input file." +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:693 +msgid "LSio: Fail to load objects's data from input file." +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:696 +msgid "LSio: Fail to load objects's data to export from LDAP directory." +msgstr "" + +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSio.php:699 +msgid "LSio: Fail to export objects's data." msgstr "" #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSattr_ldap_pwdHistory.php:76 @@ -457,15 +465,15 @@ msgstr "" msgid "Attribute" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mailQuota.php:98 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_valueWithUnit.php:108 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_quota.php:100 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mailQuota.php:101 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_valueWithUnit.php:126 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_quota.php:102 #: templates/default/LSformElement_mailQuota_field.tpl:17 msgid "Incorrect value" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mailQuota.php:168 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_labeledValue.php:135 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_mailQuota.php:171 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_labeledValue.php:138 msgid "Invalid value : \"%{value}\"." msgstr "" @@ -539,15 +547,15 @@ msgid "" "attribute value." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_ssh_key.php:57 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_ssh_key.php:83 msgid "Display the full key." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_ssh_key.php:79 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_ssh_key.php:94 msgid "Unknown type" msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_valueWithUnit.php:230 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformElement_valueWithUnit.php:234 msgid "" "LSformElement_valueWithUnit : Units configuration data are missing for the " "attribute %{attr}." @@ -725,22 +733,6 @@ msgid "" "value, you can't select it." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSexport.php:93 -msgid "LSexport: input/output format %{format} invalid." -msgstr "" - -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSexport.php:96 -msgid "LSexport: Fail to initialize input/output driver." -msgstr "" - -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSexport.php:99 -msgid "LSexport: Fail to load objects's data to export from LDAP directory." -msgstr "" - -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSexport.php:102 -msgid "LSexport: Fail to export objects's data." -msgstr "" - #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_differentPassword.php:90 msgid "" "LSformRule_differentPassword : Other password attribute is not configured." @@ -1914,15 +1906,15 @@ msgid "" "Note: Command's parameter/argument must be place after the command." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:779 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:804 msgid "LScli : The CLI command '%{command}' already exists." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:782 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LScli.php:807 msgid "LScli : The CLI command '%{command}' handler is not callable." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSioFormatCSV.php:236 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSioFormatCSV.php:247 msgid "LSioFormatCSV: function fputcsv is not available." msgstr "" @@ -1969,7 +1961,7 @@ msgid "" "%{column}." msgstr "" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSioFormat.php:144 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSioFormat.php:145 msgid "LSioFormat : IOformat driver %{driver} invalid or unavailable." msgstr "" @@ -2029,17 +2021,17 @@ msgid "My account" msgstr "" #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1149 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1755 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1756 msgid "The object has been partially modified." msgstr "" #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1152 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1758 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1759 msgid "The object has been modified successfully." msgstr "" #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1267 -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1799 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:1800 msgid "%{objectname} has been successfully deleted." msgstr "" diff --git a/src/templates/default/export.tpl b/src/templates/default/export.tpl index 928548b4..5200f339 100644 --- a/src/templates/default/export.tpl +++ b/src/templates/default/export.tpl @@ -4,6 +4,7 @@
+
diff --git a/src/templates/default/import.tpl b/src/templates/default/import.tpl index 8759285a..53d303a1 100644 --- a/src/templates/default/import.tpl +++ b/src/templates/default/import.tpl @@ -5,7 +5,7 @@
- +
@@ -42,22 +42,22 @@ {if !empty($result.errors)}

{tr msg='Errors'}

{foreach $result.errors as $error} -

Object {$error@iteration}

-
+

Object {$error@iteration}

+
{if !empty($error.errors.globals)} -
    +
      {foreach $error.errors.globals as $e}
    • {$e}
    • {/foreach}
    {/if} -
      +
        {foreach $error.data as $key => $val}
      • {$key|escape:"htmlall"} : - {if empty($val)}{tr msg='No value'}{else}{LSimport_implodeValues values=$val}{/if} + {if empty($val)}{tr msg='No value'}{else}{LSio_implodeValues values=$val}{/if} {if isset($error.errors.attrs[$key])} -
          +
            {foreach $error.errors.attrs.$key as $e}
          • {$e|escape:"htmlall"}
          • {/foreach} @@ -69,7 +69,7 @@ {if !in_array($a,$error.data)}
          • {$a|escape:"htmlall"} : -
              +
                {foreach $es as $e}
              • {$e|escape:"htmlall"}
              • {/foreach} @@ -82,8 +82,8 @@ {/foreach} {/if} -

                {tr msg='Imported objects'} ({count($result.imported)})

                -
                  +

                  {tr msg='Imported objects'} ({count($result.imported)})

                  + {if !empty($result.updated)} -

                  {tr msg='Updated objects'} ({count($result.updated)})

                  -
                    +

                    {tr msg='Updated objects'} ({count($result.updated)})

                    +