Compare commits

..

No commits in common. "1c42aa3a47ecd074c25903d991bcf1e19c26b230" and "9384d2e3125218070b2ee60042d9fe5ebff05712" have entirely different histories.

15 changed files with 381 additions and 340 deletions

View file

@ -1,9 +0,0 @@
<?php
$config = [];
if (PHP_VERSION_ID < 80100) {
$config['parameters']['typeAliases']['FTP\Connection'] = 'resource';
}
return $config;

View file

@ -1,6 +1,3 @@
includes:
- compat.php
parameters:
level: 3
paths:

View file

@ -1,6 +1,7 @@
<?php
require 'Net/LDAP2.php';
require 'Net/FTP.php';
require 'Console/Table.php';
require 'Zxcvbn/autoload.php';
require '/usr/share/php/phpseclib/autoload.php';

View file

@ -7,3 +7,13 @@ repos:
- id: php-stan
files: ^src\/.*\.(php)$
args: ['--configuration=.phpstan/config.neon']
- repo: local
hooks:
- id: xmlint
files: ^doc\/.*\.(docbook)$
name: xmlint
entry: xmllint --valid --noout doc/LdapSaisie.docbook
pass_filenames: false
language: system
types: [text]
pass_filenames: false

12
INSTALL
View file

@ -23,8 +23,8 @@
* La librairie File_CSV_DataSource (paquet php-file-csv-datasource dans Debian)
* La librairie Console_Table (nécessaire pour le fonctionnement de l'outil CLI, paquet php-console-table dans Debian)
* Les librairies Mail et Mail_Mime (nécessaire pour l'envoi de courriels, paquets php-mail et php-mail-mime dans Debian)
* L'extension PHP ftp (nécessaire pour le fonctionnement du LSaddon FTP, paquet php-ftp dans Debian)
* La librairie PhpSecLib (nécessaire pour le fonctionnement du LSaddon SSH, paquet php-phpseclib dans Debian)
* La librairie Net_FTP (nécessaire pour le fonctionnement du LSaddon FTP, paquet php-console-table dans Debian)
* La librairie PhpSecLib (nécessaire pour le fonctionnement du LSaddon SSH, paquet php-console-table dans Debian)
#################
# Avertissement #
@ -78,7 +78,7 @@ Toutes les nuits, un snapshot de l'arbre Git est réalisé et est téléchargeab
Racine
doc/
Les fichiers sources de la documentation (Markdown).
Les fichiers sources de la documentation (docbook).
lsexample/
Les fichiers relatifs à l'annuaire d'exemple.
src/
@ -186,11 +186,17 @@ présente dans les sources du projet dans le dossier lsexample.
Nom du fichier de log des mises à jour.
THEME
Le nom du theme à installer (facultatif et non traité dans ce tutoriel).
BUILD_DOC
Variable booléene définissant si la documentation doit être compiler en utilisant le script buildDocExports.sh.
Ceci ne sera pas expliqué dans ce tutoriel et nous partirons donc du principe que cette variable est à 0.
########
# Note #
########
#
# * D'autres variables sont présentes dans ce fichier et concerne uniquement la compilation de la documentation.
# Elle peuvent être ignorée à partir du moment ou la variable BUILD_DOC vaut 0.
#
# * Il est possible d'utiliser dans ce fichier de configuration la variable bash $ROOT_DIR correspondant au chemin
# du dossier d'installation, c'est à dire dans notre exemple /var/www/ldapsaisie.
#

View file

@ -16,3 +16,39 @@ THEME_IMG_REF="default"
# Webserver service reload command to run on gettext MO files changed
#WEBSERVER_RELOAD_CMD='sudo service apache2 force-reload'
# Do doc export ?
BUILD_DOC=1
# The export dir
# If EXPORT_DIR is a zero length string, will not export doc
EXPORT_DOC_DIR=/var/www/ldapsaisie-doc
# PDF export name file
# If PDF is a zero length string, pdf doc export will not build
PDF=LdapSaisie.pdf
# EPUB export name file
# If EPUB is a zero length string, epub doc export will not build
EPUB=LdapSaisie.epub
# ALL_IN_ONE export name
# If ALL_IN_ONE is a zero length string, all-in-one doc export will not build
ALL_IN_ONE=all-in-one
# On-line export name
# If ONLINE is a zero length string, on-line doc export will not build
ONLINE=online
# Docbook export name
# If DOCBOOK is a zero length string, docbook doc export will not buil
DOCBOOK=docbook
# The CSS file to use in export
CSS=$ROOT_DIR/doc/styles/LS.css
# The image doc directory
IMAGES=$ROOT_DIR/doc/images
# The name of last update file
LAST_UPDATE_FILE=$EXPORT_DOC_DIR/last_update.txt

6
debian/control vendored
View file

@ -1,13 +1,13 @@
Source: ldapsaisie
Section: admin
Priority: extra
Build-Depends: debhelper, bash-completion, python3, python3-venv, python3-pip
Build-Depends: debhelper, xsltproc, docbook-xsl, bash-completion
Maintainer: Benjamin Renard <brenard@easter-eggs.com>
Package: ldapsaisie
Architecture: all
Depends: apache2 | httpd, php-ldap | php5-ldap, php-fpm | libapache2-mod-php5 | libapache2-mod-php | php5-cli | php-cli, smarty | smarty3, php-net-ldap2, php-console-table
Recommends: php-mbstring, php-phpseclib, php-unidecode, php-zxcvbn, php-ftp, php-mail, php-mail-mime
Depends: apache2 | httpd, php-ldap | php5-ldap, php-fpm | libapache2-mod-php5 | libapache2-mod-php | php5-cli | php-cli, smarty | smarty3, php-net-ldap2, php-net-ftp, php-mail, php-mail-mime, php-console-table
Recommends: php-mbstring, php-phpseclib, php-unidecode, php-zxcvbn
Description: web based interface for managing LDAP servers content
LdapSaisie is a Web application developed to manage LDAP directory.
It has been written in PHP / JavaScript and is published under the

View file

@ -36,13 +36,12 @@
[PEAR_Mail_Mime](https://pear.php.net/package/Mail_Mime) (nécessaire pour l'envoi de courriels,
paquets `php-mail` et `php-mail-mime` dans Debian)
- L'[extension PHP `ftp`](https://www.php.net/manual/fr/intro.ftp.php) (nécessaire pour le
fonctionnement du [LSaddon](../conf/index.md#configuration-des-lsaddons) FTP, paquet `php-ftp`
dans Debian)
- La librairie [Net_FTP](https://pear.php.net/package/Net_FTP) (nécessaire pour le fonctionnement du
[LSaddon](../conf/index.md#configuration-des-lsaddons) FTP, paquet `php-console-table` dans Debian)
- La librairie [PhpSecLib](https://github.com/phpseclib/phpseclib) (nécessaire pour le
fonctionnement du [LSaddon](../conf/index.md#configuration-des-lsaddons) SSH, paquet
`php-phpseclib` dans Debian)
fonctionnement du [LSaddon](../conf/index.md#configuration-des-lsaddons) SSH, paquet `php-console-table`
dans Debian)
!!! warning

View file

@ -0,0 +1,30 @@
<?php
/*******************************************************************************
* Copyright (C) 2007 Easter-eggs
* https://ldapsaisie.org
*
* Author: See AUTHORS file in top-level directory.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
******************************************************************************/
/*
************************************************
* Données de configuration pour le support FTP *
************************************************
*/
// Pear :: NET_FTP
define('NET_FTP','/usr/share/php/Net/FTP.php');

View file

@ -20,38 +20,37 @@
******************************************************************************/
// Error messages
// Messages d'erreur
// Support
LSerror :: defineError('FTP_SUPPORT_01',
___("FTP support: PHP ftp extension is missing.")
___("FTP Support : Pear::Net_FTP is missing.")
);
// Other errors
LSerror :: defineError('FTP_SUPPORT_02',
___("FTP Support : The constant %{const} is not defined.")
);
// Autres erreurs
LSerror :: defineError('FTP_00',
___("FTP error: %{msg}")
___("Net_FTP Error : %{msg}")
);
LSerror :: defineError('FTP_01',
___("FTP: Unable to connect to FTP Server (Step : %{step}).")
___("FTP Support : Unable to connect to FTP Server (Step : %{step}).")
);
LSerror :: defineError('FTP_02',
___("FTP: Unable to make directory %{dir} on the remote server.")
___("FTP Support : Unable to make directory %{dir} on the remote server.")
);
LSerror :: defineError('FTP_03',
___("FTP: Unable to list directory %{dir} content on the remote server.")
___("FTP Support : Unable to delete directory %{dir} on the remote server.")
);
LSerror :: defineError('FTP_04',
___("FTP: Unable to delete directory %{dir} on the remote server.")
___("FTP Support : Unable to modify rights on the directory %{dir} on the remote server.")
);
LSerror :: defineError('FTP_05',
___("FTP: Unable to delete file %{file} on the remote server.")
);
LSerror :: defineError('FTP_06',
___("FTP: Unable to modify rights on the directory %{dir} on the remote server.")
);
LSerror :: defineError('FTP_07',
___("FTP: Unable to rename folder from %{old} to %{new} on the remote server.")
___("FTP Support : Unable to rename folder from %{old} to %{new} on the remote server.")
);
/**
@ -64,52 +63,68 @@ LSerror :: defineError('FTP_07',
function LSaddon_ftp_support() {
$retval = true;
// PHP ftp extension dependency
if (!function_exists('ftp_connect')) {
LSerror :: addErrorCode('FTP_SUPPORT_01');
$retval = false;
// Net_FTP lib dependency
if (!class_exists('Net_FTP')) {
if (!defined('NET_FTP')) {
LSerror :: addErrorCode('FTP_SUPPORT_02', 'NET_FTP');
$retval = false;
} else if(!LSsession::includeFile(NET_FTP, true)) {
LSerror :: addErrorCode('FTP_SUPPORT_01');
$retval = false;
}
}
return $retval;
}
/**
* Log last FTP error
* @return void
*/
function _logLastFtpError() {
$error = error_get_last();
if ($error) LSerror :: addErrorCode('FTP_00', $error['message']);
}
/**
* Connect to FTP server
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param string $host FTP server FQDN or IP address
* @param string $port The TCP port of the FTP server
* @param string $user The username
* @param string $pwd The password
*
* @return FTP\Connection|resource|false FTP\Connection (or resource with PHP <= 8.1.0) in case of
* success, false otherwise
*/
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param string $host FTP server FQDN or IP address
* @param string $port The TCP port of the FTP server
* @param string $user The username
* @param string $pwd The password
*
* @return Net_FTP|false Net_FTP object in case of success, false otherwise
*/
function connectToFTP($host, $port, $user, $pwd) {
$cnx = @ftp_connect($host, $port);
if ($cnx === false) {
_logLastFtpError();
$cnx = new Net_FTP();
$do = $cnx -> connect($host, $port);
if (!$do instanceof PEAR_Error){
$do = $cnx -> login($user, $pwd);
if (!$do instanceof PEAR_Error) {
return $cnx;
}
else {
LSerror :: addErrorCode('FTP_01', "2");
LSerror :: addErrorCode('FTP_00', $do -> getMessage());
return false;
}
}
else {
LSerror :: addErrorCode('FTP_01', "1");
LSerror :: addErrorCode('FTP_00', $do -> getMessage());
return false;
}
if (@ftp_login($cnx, $user, $pwd))
return $cnx;
_logLastFtpError();
LSerror :: addErrorCode('FTP_01', "2");
return false;
}
/**
* Creation d'un ou plusieurs dossiers via FTP
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param string $host Le nom ou l'IP du serveur FTP
* @param string $port Le port de connexion au serveur ftp
* @param string $user Le nom d'utilidateur de connexion
* @param string $pwd Le mot de passe de connexion
* @param array $dirs ou string Le(s) dossier(s) à ajouter
*
* @return bool True ou false si il y a un problème durant la création du/des dossier(s)
* Create one or more directories throught FTP
*
* @author Benjamin Renard <brenard@easter-eggs.com>
@ -120,7 +135,7 @@ function connectToFTP($host, $port, $user, $pwd) {
* @param string $pwd The password
* @param array|string $dirs The directory/ies to add
* @param int $chmod The directory/ies mode as an octal number (do not forget leading zero,
* example: 0755 or 02755, default : default umask on the SSH server)
* example: 0755 or 02755, default : default umask on the SSH server)
*
* @return boolean
*/
@ -128,68 +143,20 @@ function createDirsByFTP($host, $port, $user, $pwd, $dirs, $chmod=NULL) {
$cnx = connectToFTP($host, $port, $user, $pwd);
if (!$cnx) return false;
foreach(ensureIsArray($dirs) as $dir) {
if (@ftp_mkdir($cnx, $dir) === false) {
_logLastFtpError();
$do = $cnx -> mkdir($dir, true);
if ($do instanceof PEAR_Error) {
LSerror :: addErrorCode('FTP_02', $dir);
LSerror :: addErrorCode('FTP_00', $do -> getMessage());
return false;
}
if ($chmod && !@ftp_chmod($cnx, $chmod, $dir)) {
_logLastFtpError();
LSerror :: addErrorCode('FTP_06', $dir);
}
}
return true;
}
/**
* Internal function call recursively to remove a directory and its content
* @param FTP\Connection|resource $cnx The FTP\Connection object (or resource with PHP < 8.1.0)
* @param string $dir The directory path to remove
* @return boolean
*/
function _removeDirByFTP(&$cnx, $dir) {
if ($dir[strlen($dir)-1] == '/')
$dir = substr($dir, 0, strlen($dir)-1);
$items = @ftp_nlist($cnx, $dir);
LSlog :: get_logger('LSaddon_ftp') -> trace(
"_removeDirByFTP($dir): directory content: ".varDump($items));
if (!is_array($items)) {
_logLastFtpError();
LSerror :: addErrorCode('FTP_03', $dir);
return false;
}
foreach($items as $item) {
if (@ftp_chdir($cnx, $item)) {
LSlog :: get_logger('LSaddon_ftp') -> trace(
"_removeDirByFTP($dir): item '$item' is a directory, delete it recursively");
if (!_removeDirByFTP($cnx, $item))
return false;
}
else {
LSlog :: get_logger('LSaddon_ftp') -> trace(
"_removeDirByFTP($dir): item '$item' is a file, delete it");
if (!@ftp_delete($cnx, $item)) {
_logLastFtpError();
LSerror :: addErrorCode('FTP_05', $item);
return false;
}
else {
LSlog :: get_logger('LSaddon_ftp') -> trace(
"_removeDirByFTP($dir): file '$item' removed");
if ($chmod) {
$do = $cnx -> chmod($dir, $chmod);
if ($do instanceof PEAR_Error) {
LSerror :: addErrorCode('FTP_04', $dir);
LSerror :: addErrorCode('FTP_00', $do -> getMessage());
}
}
}
if (@!ftp_rmdir($cnx, $dir)) {
_logLastFtpError();
LSerror :: addErrorCode('FTP_04', $dir);
return false;
}
else {
LSlog :: get_logger('LSaddon_ftp') -> trace(
"_removeDirByFTP($dir): directory '$dir' removed");
}
return true;
}
@ -214,9 +181,17 @@ function _removeDirByFTP(&$cnx, $dir) {
function removeDirsByFTP($host, $port, $user, $pwd, $dirs) {
$cnx = connectToFTP($host, $port, $user, $pwd);
if (!$cnx) return false;
foreach(ensureIsArray($dirs) as $dir)
if (!_removeDirByFTP($cnx, $dir))
foreach(ensureIsArray($dirs) as $dir) {
if ($dir[strlen($dir)-1] != '/') {
$dir .= '/';
}
$do = $cnx -> rm($dir,true);
if ($do instanceof PEAR_Error) {
LSerror :: addErrorCode('FTP_03', $dir);
LSerror :: addErrorCode('FTP_00', $do -> getMessage());
return false;
}
}
return true;
}
@ -237,9 +212,10 @@ function removeDirsByFTP($host, $port, $user, $pwd, $dirs) {
function renameDirByFTP($host, $port, $user, $pwd, $old, $new) {
$cnx = connectToFTP($host, $port, $user, $pwd);
if (!$cnx) return false;
if (!@ftp_rename($cnx, $old, $new)) {
_logLastFtpError();
LSerror :: addErrorCode('FTP_07', array('old' => $old, 'new' => $new));
$do = $cnx -> rename($old, $new);
if ($do instanceof PEAR_Error) {
LSerror :: addErrorCode('FTP_05', array('old' => $old, 'new' => $new));
LSerror :: addErrorCode('FTP_00', $do -> getMessage());
return false;
}
return true;

View file

@ -24,22 +24,16 @@
// Support
LSerror :: defineError('POSIX_SUPPORT_01',
___("POSIX Support: The constant %{const} is not defined.")
___("POSIX Support : The constant %{const} is not defined.")
);
LSerror :: defineError('POSIX_SUPPORT_02',
___("POSIX support: Unable to load LSaddon::FTP.")
___("POSIX Support : Unable to load LSaddon::FTP.")
);
// Autres erreurs
LSerror :: defineError('POSIX_01',
___("POSIX: The attribute %{dependency} is missing. Unable to forge the attribute %{attr}.")
);
LSerror :: defineError('POSIX_02',
___("POSIX: Fail to create user home directory.")
);
LSerror :: defineError('POSIX_03',
___("POSIX: Fail to delete user home directory.")
___("POSIX : The attribute %{dependency} is missing. Unable to forge the attribute %{attr}.")
);
/**
@ -195,30 +189,6 @@ function createHomeDirectoryByFTP($ldapObject) {
return true;
}
/**
* Delete home directory by FTP
*
* @author Benjamin Renard <brenard@easter-eggs.com>
*
* @param LSldapObject $ldapObject L'objet ldap
*
* @return bool True on success, false otherwise
*/
function deleteHomeDirectoryByFTP($ldapObject) {
$dir = getFData(LS_POSIX_HOMEDIRECTORY_FTP_PATH, $ldapObject, 'getValue');
if (
!removeDirsByFTP(
LS_POSIX_HOMEDIRECTORY_FTP_HOST, LS_POSIX_HOMEDIRECTORY_FTP_PORT,
LS_POSIX_HOMEDIRECTORY_FTP_USER, LS_POSIX_HOMEDIRECTORY_FTP_PWD,
$dir
)
) {
LSerror :: addErrorCode('POSIX_03');
return false;
}
return true;
}
/**
* Generate member attribute value from memberUid
*

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: LdapSaisie\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2023-10-13 18:57+0200\n"
"PO-Revision-Date: 2023-08-18 15:45+0200\n"
"Last-Translator: Benjamin Renard <brenard@easter-eggs.com>\n"
"Language-Team: LdapSaisie <ldapsaisie-users@lists.labs.libre-entreprise."
"org>\n"
@ -332,29 +332,21 @@ msgstr ""
"soient prises en compte sur ces groupes."
#: includes/addons/LSaddons.posix.php:27
msgid "POSIX Support: The constant %{const} is not defined."
msgid "POSIX Support : The constant %{const} is not defined."
msgstr "Support POSIX : La constante %{const} n'est pas définie."
#: includes/addons/LSaddons.posix.php:31
msgid "POSIX support: Unable to load LSaddon::FTP."
msgid "POSIX Support : Unable to load LSaddon::FTP."
msgstr "Support POSIX : Impossible de charger LSaddon::FTP."
#: includes/addons/LSaddons.posix.php:36
msgid ""
"POSIX: The attribute %{dependency} is missing. Unable to forge the attribute "
"%{attr}."
"POSIX : The attribute %{dependency} is missing. Unable to forge the "
"attribute %{attr}."
msgstr ""
"POSIX : L'attribut %{dependency} est manquant. Impossible de générer "
"Support POSIX : L'attribut %{dependency} est manquant. Impossible de générer "
"l'attribut %{attr}."
#: includes/addons/LSaddons.posix.php:39
msgid "POSIX: Fail to create user home directory."
msgstr "POSIX : Impossible de créer le dossier personnel de l'utilisateur."
#: includes/addons/LSaddons.posix.php:42
msgid "POSIX: Fail to delete user home directory."
msgstr "POSIX : Impossible de supprimer le dossier personnel de l'utilisateur."
#: includes/addons/LSaddons.orgchart.php:27
msgid ""
"Organizational Chart Support : The global array %{array} is not defined."
@ -528,50 +520,48 @@ msgid "The user him-self"
msgstr "L'utilisateur lui-même"
#: includes/addons/LSaddons.ftp.php:27
msgid "FTP support: PHP ftp extension is missing."
msgstr "Support FTP : L'extension PHP ftp n'est pas installée."
msgid "FTP Support : Pear::Net_FTP is missing."
msgstr "Support FTP : Pear::Net_FTP n'est pas installé."
#: includes/addons/LSaddons.ftp.php:32
msgid "FTP error: %{msg}"
msgstr "Erreur FTP : %{msg}"
#: includes/addons/LSaddons.ftp.php:31
msgid "FTP Support : The constant %{const} is not defined."
msgstr "Support FTP : La constante %{const} n'est pas définie."
#: includes/addons/LSaddons.ftp.php:36
msgid "FTP: Unable to connect to FTP Server (Step : %{step})."
msgstr "FTP : Impossible de se connecter au serveur FTP (Étape : %{step})"
#: includes/addons/LSaddons.ftp.php:37
msgid "Net_FTP Error : %{msg}"
msgstr "Net_FTP Erreur : %{msg}"
#: includes/addons/LSaddons.ftp.php:39
msgid "FTP: Unable to make directory %{dir} on the remote server."
msgstr "FTP : Impossible de créer le dossier %{dir} sur le serveur distant."
#: includes/addons/LSaddons.ftp.php:42
msgid "FTP: Unable to list directory %{dir} content on the remote server."
#: includes/addons/LSaddons.ftp.php:41
msgid "FTP Support : Unable to connect to FTP Server (Step : %{step})."
msgstr ""
"FTP : Impossible de lister le contenu du dossier %{dir} sur le serveur "
"Support FTP : Impossible de se connecter au serveur FTP (Étape : %{step})"
#: includes/addons/LSaddons.ftp.php:44
msgid "FTP Support : Unable to make directory %{dir} on the remote server."
msgstr ""
"Support FTP : Impossible de créer le dossier %{dir} sur le serveur distant."
#: includes/addons/LSaddons.ftp.php:47
msgid "FTP Support : Unable to delete directory %{dir} on the remote server."
msgstr ""
"Support FTP : Impossible de supprimer le dossier %{dir} sur le serveur "
"distant."
#: includes/addons/LSaddons.ftp.php:45
msgid "FTP: Unable to delete directory %{dir} on the remote server."
msgstr ""
"FTP : Impossible de supprimer le dossier %{dir} sur le serveur distant."
#: includes/addons/LSaddons.ftp.php:48
msgid "FTP: Unable to delete file %{file} on the remote server."
msgstr ""
"FTP : Impossible de supprimer le fichier %{dir} sur le serveur distant."
#: includes/addons/LSaddons.ftp.php:51
#: includes/addons/LSaddons.ftp.php:50
msgid ""
"FTP: Unable to modify rights on the directory %{dir} on the remote server."
"FTP Support : Unable to modify rights on the directory %{dir} on the remote "
"server."
msgstr ""
"FTP : Impossible de modifier les droits sur le dossier %{dir} sur le serveur "
"distant."
"Support FTP : Impossible de modifier les droits sur le dossier %{dir} sur le "
"serveur distant."
#: includes/addons/LSaddons.ftp.php:54
#: includes/addons/LSaddons.ftp.php:53
msgid ""
"FTP: Unable to rename folder from %{old} to %{new} on the remote server."
"FTP Support : Unable to rename folder from %{old} to %{new} on the remote "
"server."
msgstr ""
"FTP : Impossible de renommer le dossier %{old} en %{new} sur le serveur "
"distant."
"Support FTP : Impossible de renommer le dossier %{old} en %{new} sur le "
"serveur distant."
#: includes/addons/LSaddons.mailquota.php:27
msgid "MAILQUOTA Support : The constant %{const} is not defined."
@ -645,10 +635,6 @@ msgstr ""
"MAILDIR : Erreur durant la récupération du chemin distant du dossier des "
"mails."
#: includes/addons/LSaddons.watermark.php:78
msgid "PRE-PRODUCTION"
msgstr "PRÉ-PRODUCTION"
#: includes/addons/LSaddons.showTechInfo.php:63
#: templates/default/showTechInfo.tpl:16
msgid "Structural object class"
@ -1474,7 +1460,7 @@ msgstr ""
"LSformRule_differentPassword : Les autres attributs mots de passe doivent "
"utiliser LSattr_ldap :: password. Ce n'est pas le cas de l'attribut %{attr}."
#: includes/class/class.LSattribute.php:823
#: includes/class/class.LSattribute.php:829
msgid ""
"LSattribute : Attribute %{attr} : LDAP or HTML types unknow (LDAP = %{ldap} "
"& HTML = %{html})."
@ -1482,7 +1468,7 @@ msgstr ""
"LSattribute : Attribut %{attr} : Les types LDAP ou HTML sont inconnus (LDAP "
"= %{ldap} & HTML = %{html})."
#: includes/class/class.LSattribute.php:826
#: includes/class/class.LSattribute.php:832
msgid ""
"LSattribute : The function %{func} to display the attribute %{attr} is "
"unknow."
@ -1490,14 +1476,14 @@ msgstr ""
"LSattribute : La fonction %{func} pour afficher l'attribut %{attr} est "
"inconnue."
#: includes/class/class.LSattribute.php:829
#: includes/class/class.LSattribute.php:835
msgid ""
"LSattribute : The rule %{rule} to validate the attribute %{attr} is unknow."
msgstr ""
"LSattribute : La règle %{rule} de validation de l'attribut %{attr} n'existe "
"pas."
#: includes/class/class.LSattribute.php:832
#: includes/class/class.LSattribute.php:838
msgid ""
"LSattribute : Configuration data to verify the attribute %{attr} are "
"incorrect."
@ -1505,22 +1491,22 @@ msgstr ""
"LSattribute : Les données de configuration pour vérifier l'attribut %{attr} "
"sont incorrecte."
#: includes/class/class.LSattribute.php:835
#: includes/class/class.LSattribute.php:841
msgid ""
"LSattribute : The function %{func} to save the attribute %{attr} is unknow."
msgstr ""
"LSattribute : La fonction %{func} pour sauvegarder l'attribut %{attr} est "
"inconnue."
#: includes/class/class.LSattribute.php:838
#: includes/class/class.LSattribute.php:844
msgid "LSattribute : The value of the attribute %{attr} can't be generated."
msgstr "LSattribute : La valeur de l'attribut %{attr} ne peut être générée."
#: includes/class/class.LSattribute.php:841
#: includes/class/class.LSattribute.php:847
msgid "LSattribute : Generation of the attribute %{attr} failed."
msgstr "LSattribute : La génération de l'attribut %{attr} a échouée."
#: includes/class/class.LSattribute.php:844
#: includes/class/class.LSattribute.php:850
msgid ""
"LSattribute : Generation of the attribute %{attr} did not return a correct "
"value."
@ -1528,7 +1514,7 @@ msgstr ""
"LSattribute : La génération de l'attribut %{attr} n'a pas retournée de "
"valeur correcte."
#: includes/class/class.LSattribute.php:847
#: includes/class/class.LSattribute.php:853
msgid ""
"LSattribute : The attr_%{type} of the attribute %{name} is not yet defined."
msgstr ""
@ -1772,21 +1758,21 @@ msgstr "Type de fichier invalide (%{type})."
msgid "The attribute %{attr} is not valid."
msgstr "L'attribut %{attr} n'est pas valide."
#: includes/class/class.LSldapObject.php:3165
#: includes/class/class.LSldapObject.php:3160
msgid "LSldapObject : Object type unknown."
msgstr "LSldapObject : Type d'objet inconnu."
#: includes/class/class.LSldapObject.php:3168
#: includes/class/class.LSldapObject.php:3163
msgid "LSldapObject : Update form is not defined for the object %{obj}."
msgstr ""
"LSldapObject : Le formulaire de mise à jour n'est pas défini pour l'objet "
"%{obj}."
#: includes/class/class.LSldapObject.php:3171
#: includes/class/class.LSldapObject.php:3166
msgid "LSldapObject : No form exists for the object %{obj}."
msgstr "LSldapObject : Aucun formulaire n'existe pour l'objet %{obj}"
#: includes/class/class.LSldapObject.php:3174
#: includes/class/class.LSldapObject.php:3169
msgid ""
"LSldapObject : The function %{func} to validate the attribute %{attr} the "
"object %{obj} is unknow."
@ -1794,7 +1780,7 @@ msgstr ""
"LSldapObject : La fonction %{func} pour valider l'attribut %{attr} de "
"l'objet %{obj} est inconnue."
#: includes/class/class.LSldapObject.php:3177
#: includes/class/class.LSldapObject.php:3172
msgid ""
"LSldapObject : Configuration data are missing to validate the attribute "
"%{attr} of the object %{obj}."
@ -1802,7 +1788,7 @@ msgstr ""
"LSldapObject : Des données de configurations sont manquantes pour pouvoir "
"valider l'attribut %{attr} de l'objet %{obj}."
#: includes/class/class.LSldapObject.php:3181
#: includes/class/class.LSldapObject.php:3176
msgid ""
"LSldapObject : The function %{func} to be executed on the object event "
"%{event} doesn't exist."
@ -1810,14 +1796,14 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée lors de l'évènement "
"%{event} de l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3184
#: includes/class/class.LSldapObject.php:3179
msgid ""
"LSldapObject : The %{func} execution on the object event %{event} failed."
msgstr ""
"LSldapObject : L'exécution de la fonction %{func} lors de l'évènement "
"%{event} de l'objet a échouée."
#: includes/class/class.LSldapObject.php:3188
#: includes/class/class.LSldapObject.php:3183
msgid ""
"LSldapObject : Class %{class}, which method %{meth} to be executed on the "
"object event %{event}, doesn't exist."
@ -1825,7 +1811,7 @@ msgstr ""
"La classe %{class}, contenant la méthode %{meth} devant être exécutée lors "
"de l'évènement %{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3191
#: includes/class/class.LSldapObject.php:3186
msgid ""
"LSldapObject : Method %{meth} within %{class} class to be executed on object "
"event %{event}, doesn't exist."
@ -1833,7 +1819,7 @@ msgstr ""
"LSldapObject : La méthode %{meth} de la classe %{class} devant être exécutée "
"lors de l'évènement %{event} de l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3194
#: includes/class/class.LSldapObject.php:3189
msgid ""
"LSldapObject : Error during execute %{meth} method within %{class} class, to "
"be executed on object event %{event}."
@ -1841,7 +1827,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la méthode %{meth} de la classe "
"%{class} devant être exécutée lors de l'évènement %{event} de l'objet."
#: includes/class/class.LSldapObject.php:3198
#: includes/class/class.LSldapObject.php:3193
msgid ""
"LSldapObject : Some configuration data of the object type %{obj} are missing "
"to generate the DN of the new object."
@ -1849,7 +1835,7 @@ msgstr ""
"LSldapObject : Des informations de configuration du type d'objet %{obj} sont "
"manquantes pour la génération du DN du nouvel objet."
#: includes/class/class.LSldapObject.php:3201
#: includes/class/class.LSldapObject.php:3196
msgid ""
"LSldapObject : The attibute %{attr} of the object is not yet defined. Can't "
"generate DN."
@ -1857,11 +1843,11 @@ msgstr ""
"LSldapObject : L'attribut %{attr} de l'objet n'est pas encore défini. "
"Impossible de générer le DN."
#: includes/class/class.LSldapObject.php:3204
#: includes/class/class.LSldapObject.php:3199
msgid "LSldapObject : Without DN, the object could not be changed."
msgstr "LSldapObject : Sans DN, l'objet ne peut pas être modifié."
#: includes/class/class.LSldapObject.php:3207
#: includes/class/class.LSldapObject.php:3202
msgid ""
"LSldapObject : The attribute %{attr_depend} depending on the attribute "
"%{attr} doesn't exist."
@ -1869,39 +1855,39 @@ msgstr ""
"LSldapObject : L'attritbut %{attr_depend} dépendant de l'attribut %{attr} "
"n'existe pas."
#: includes/class/class.LSldapObject.php:3210
#: includes/class/class.LSldapObject.php:3205
msgid "LSldapObject : Error during deleting the object %{objectname}."
msgstr "LSldapObject : Erreur durant la suppression de l'objet %{objectname}"
#: includes/class/class.LSldapObject.php:3214
#: includes/class/class.LSldapObject.php:3209
msgid ""
"LSldapObject : Error during actions to be executed before renaming the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de "
"renommer l'objet."
#: includes/class/class.LSldapObject.php:3217
#: includes/class/class.LSldapObject.php:3212
msgid ""
"LSldapObject : Error during actions to be executed after renaming the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée après avoir "
"renommé l'objet."
#: includes/class/class.LSldapObject.php:3221
#: includes/class/class.LSldapObject.php:3216
msgid ""
"LSldapObject : Error during actions to be executed before deleting the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de "
"supprimer l'objet."
#: includes/class/class.LSldapObject.php:3224
#: includes/class/class.LSldapObject.php:3219
msgid ""
"LSldapObject : Error during actions to be executed after deleting the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée après avoir "
"supprimé l'objet."
#: includes/class/class.LSldapObject.php:3228
#: includes/class/class.LSldapObject.php:3223
msgid ""
"LSldapObject : Error during the actions to be executed before creating the "
"object."
@ -1909,7 +1895,7 @@ msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de créer "
"l'objet."
#: includes/class/class.LSldapObject.php:3231
#: includes/class/class.LSldapObject.php:3226
msgid ""
"LSldapObject : Error during the actions to be executed after creating the "
"object. It was created anyway."
@ -1917,7 +1903,7 @@ msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutées après la "
"création de l'objet. Il a tout de même été créé."
#: includes/class/class.LSldapObject.php:3235
#: includes/class/class.LSldapObject.php:3230
msgid ""
"LSldapObject : The function %{func} to be executed before creating the "
"object doesn't exist."
@ -1925,7 +1911,7 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée avant la création de "
"l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3238
#: includes/class/class.LSldapObject.php:3233
msgid ""
"LSldapObject : Error executing the function %{func} to be execute after "
"deleting the object."
@ -1933,7 +1919,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être "
"exécutée après la suppression de l'objet."
#: includes/class/class.LSldapObject.php:3241
#: includes/class/class.LSldapObject.php:3236
msgid ""
"LSldapObject : The function %{func} to be executed after deleting the object "
"doesn't exist."
@ -1941,7 +1927,7 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée après la suppression "
"de l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3244
#: includes/class/class.LSldapObject.php:3239
msgid ""
"LSldapObject : Error executing the function %{func} to be execute after "
"creating the object."
@ -1949,7 +1935,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être "
"exécutée après la création de l'objet."
#: includes/class/class.LSldapObject.php:3248
#: includes/class/class.LSldapObject.php:3243
msgid ""
"LSldapObject : %{func} function, to be executed on object event %{event}, "
"doesn't exist."
@ -1957,7 +1943,7 @@ msgstr ""
"LSldapObject : La fonction %{func}, devant être exécutée lors de l'évènement "
"%{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3251
#: includes/class/class.LSldapObject.php:3246
msgid ""
"LSldapObject : Error during the execution of %{func} function on object "
"event %{event}."
@ -1965,7 +1951,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} lors de "
"l'évènement %{event} de l'objet."
#: includes/class/class.LSldapObject.php:3255
#: includes/class/class.LSldapObject.php:3250
msgid ""
"LSldapObject : %{meth} method, to be executed on object event %{event}, "
"doesn't exist."
@ -1973,7 +1959,7 @@ msgstr ""
"LSldapObject : La méthode %{meth}, devant être exécutée lors de l'évènement "
"%{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3258
#: includes/class/class.LSldapObject.php:3253
msgid ""
"LSldapObject : Error during execution of %{meth} method on object event "
"%{event}."
@ -1981,13 +1967,13 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la méthode %{meth} lors de "
"l'évènement %{event} de l'objet."
#: includes/class/class.LSldapObject.php:3261
#: includes/class/class.LSldapObject.php:3256
msgid "LSldapObject : Error during generate LDAP filter for %{LSobject}."
msgstr ""
"LSldapObject : Erreur durant la génération du filtre LDAP de l'objet "
"%{LSobject}."
#: includes/class/class.LSldapObject.php:3265
#: includes/class/class.LSldapObject.php:3260
msgid ""
"LSldapObject : Error during execution of the custom action %{customAction} "
"on %{objectname}."
@ -1995,22 +1981,22 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de l'action personnalisée "
"%{customAction} sur l'objet %{objectname}."
#: includes/class/class.LSldapObject.php:3269
#: includes/class/class.LSldapObject.php:3264
msgid "LSldapObject : Fail to retrieve container DN."
msgstr "LSldapObject : Impossible de récupérer le DN parent."
#: includes/class/class.LSldapObject.php:3272
#: includes/class/class.LSldapObject.php:3267
msgid ""
"LSldapObject : The function %{func} to generate container DN is not callable."
msgstr ""
"LSldapObject : La fonction %{func} pour générer le DN parent n'est pas "
"exécutable."
#: includes/class/class.LSldapObject.php:3275
#: includes/class/class.LSldapObject.php:3270
msgid "LSldapObject : Error during generating container DN : %{error}"
msgstr "LSldapObject : Erreur durant la génération du DN parent : %{error}."
#: includes/class/class.LSldapObject.php:3278
#: includes/class/class.LSldapObject.php:3273
msgid ""
"LSldapObject : An LDAP object with the same DN as generated for this new one "
"already exists. Please verify your configuration."
@ -2018,7 +2004,7 @@ msgstr ""
"LSldapObject : Un objet LDAP avec le même DN que celui généré pour ce nouvel "
"objet existe déjà. Merci de vérifier votre configuration."
#: includes/class/class.LSldapObject.php:3283
#: includes/class/class.LSldapObject.php:3278
msgid ""
"LSrelation : Some parameters are missing in the call of methods to handle "
"standard relations (Method : %{meth})."
@ -3790,3 +3776,6 @@ msgstr "événement(s) trouvé(s) pour cet objet."
#: templates/default/import.tpl:27 templates/default/import.tpl:33
msgid "no"
msgstr "non"
#~ msgid "PRE-PRODUCTION"
#~ msgstr "PRÉ-PRODUCTION"

View file

@ -256,25 +256,17 @@ msgid ""
msgstr ""
#: includes/addons/LSaddons.posix.php:27
msgid "POSIX Support: The constant %{const} is not defined."
msgid "POSIX Support : The constant %{const} is not defined."
msgstr ""
#: includes/addons/LSaddons.posix.php:31
msgid "POSIX support: Unable to load LSaddon::FTP."
msgid "POSIX Support : Unable to load LSaddon::FTP."
msgstr ""
#: includes/addons/LSaddons.posix.php:36
msgid ""
"POSIX: The attribute %{dependency} is missing. Unable to forge the attribute "
"%{attr}."
msgstr ""
#: includes/addons/LSaddons.posix.php:39
msgid "POSIX: Fail to create user home directory."
msgstr ""
#: includes/addons/LSaddons.posix.php:42
msgid "POSIX: Fail to delete user home directory."
"POSIX : The attribute %{dependency} is missing. Unable to forge the "
"attribute %{attr}."
msgstr ""
#: includes/addons/LSaddons.orgchart.php:27
@ -442,41 +434,39 @@ msgid "The user him-self"
msgstr ""
#: includes/addons/LSaddons.ftp.php:27
msgid "FTP support: PHP ftp extension is missing."
msgid "FTP Support : Pear::Net_FTP is missing."
msgstr ""
#: includes/addons/LSaddons.ftp.php:32
msgid "FTP error: %{msg}"
#: includes/addons/LSaddons.ftp.php:31
msgid "FTP Support : The constant %{const} is not defined."
msgstr ""
#: includes/addons/LSaddons.ftp.php:36
msgid "FTP: Unable to connect to FTP Server (Step : %{step})."
#: includes/addons/LSaddons.ftp.php:37
msgid "Net_FTP Error : %{msg}"
msgstr ""
#: includes/addons/LSaddons.ftp.php:39
msgid "FTP: Unable to make directory %{dir} on the remote server."
#: includes/addons/LSaddons.ftp.php:41
msgid "FTP Support : Unable to connect to FTP Server (Step : %{step})."
msgstr ""
#: includes/addons/LSaddons.ftp.php:42
msgid "FTP: Unable to list directory %{dir} content on the remote server."
#: includes/addons/LSaddons.ftp.php:44
msgid "FTP Support : Unable to make directory %{dir} on the remote server."
msgstr ""
#: includes/addons/LSaddons.ftp.php:45
msgid "FTP: Unable to delete directory %{dir} on the remote server."
#: includes/addons/LSaddons.ftp.php:47
msgid "FTP Support : Unable to delete directory %{dir} on the remote server."
msgstr ""
#: includes/addons/LSaddons.ftp.php:48
msgid "FTP: Unable to delete file %{file} on the remote server."
msgstr ""
#: includes/addons/LSaddons.ftp.php:51
#: includes/addons/LSaddons.ftp.php:50
msgid ""
"FTP: Unable to modify rights on the directory %{dir} on the remote server."
"FTP Support : Unable to modify rights on the directory %{dir} on the remote "
"server."
msgstr ""
#: includes/addons/LSaddons.ftp.php:54
#: includes/addons/LSaddons.ftp.php:53
msgid ""
"FTP: Unable to rename folder from %{old} to %{new} on the remote server."
"FTP Support : Unable to rename folder from %{old} to %{new} on the remote "
"server."
msgstr ""
#: includes/addons/LSaddons.mailquota.php:27
@ -537,10 +527,6 @@ msgstr ""
msgid "MAILDIR : Error retrieving remote path of the maildir."
msgstr ""
#: includes/addons/LSaddons.watermark.php:78
msgid "PRE-PRODUCTION"
msgstr ""
#: includes/addons/LSaddons.showTechInfo.php:63
#: templates/default/showTechInfo.tpl:16
msgid "Structural object class"
@ -1258,49 +1244,49 @@ msgid ""
"LSattr_ldap :: password. It's not the case of the attribure %{attr}."
msgstr ""
#: includes/class/class.LSattribute.php:823
#: includes/class/class.LSattribute.php:829
msgid ""
"LSattribute : Attribute %{attr} : LDAP or HTML types unknow (LDAP = %{ldap} "
"& HTML = %{html})."
msgstr ""
#: includes/class/class.LSattribute.php:826
#: includes/class/class.LSattribute.php:832
msgid ""
"LSattribute : The function %{func} to display the attribute %{attr} is "
"unknow."
msgstr ""
#: includes/class/class.LSattribute.php:829
#: includes/class/class.LSattribute.php:835
msgid ""
"LSattribute : The rule %{rule} to validate the attribute %{attr} is unknow."
msgstr ""
#: includes/class/class.LSattribute.php:832
#: includes/class/class.LSattribute.php:838
msgid ""
"LSattribute : Configuration data to verify the attribute %{attr} are "
"incorrect."
msgstr ""
#: includes/class/class.LSattribute.php:835
#: includes/class/class.LSattribute.php:841
msgid ""
"LSattribute : The function %{func} to save the attribute %{attr} is unknow."
msgstr ""
#: includes/class/class.LSattribute.php:838
#: includes/class/class.LSattribute.php:844
msgid "LSattribute : The value of the attribute %{attr} can't be generated."
msgstr ""
#: includes/class/class.LSattribute.php:841
#: includes/class/class.LSattribute.php:847
msgid "LSattribute : Generation of the attribute %{attr} failed."
msgstr ""
#: includes/class/class.LSattribute.php:844
#: includes/class/class.LSattribute.php:850
msgid ""
"LSattribute : Generation of the attribute %{attr} did not return a correct "
"value."
msgstr ""
#: includes/class/class.LSattribute.php:847
#: includes/class/class.LSattribute.php:853
msgid ""
"LSattribute : The attr_%{type} of the attribute %{name} is not yet defined."
msgstr ""
@ -1502,195 +1488,195 @@ msgstr ""
msgid "The attribute %{attr} is not valid."
msgstr ""
#: includes/class/class.LSldapObject.php:3165
#: includes/class/class.LSldapObject.php:3160
msgid "LSldapObject : Object type unknown."
msgstr ""
#: includes/class/class.LSldapObject.php:3168
#: includes/class/class.LSldapObject.php:3163
msgid "LSldapObject : Update form is not defined for the object %{obj}."
msgstr ""
#: includes/class/class.LSldapObject.php:3171
#: includes/class/class.LSldapObject.php:3166
msgid "LSldapObject : No form exists for the object %{obj}."
msgstr ""
#: includes/class/class.LSldapObject.php:3174
#: includes/class/class.LSldapObject.php:3169
msgid ""
"LSldapObject : The function %{func} to validate the attribute %{attr} the "
"object %{obj} is unknow."
msgstr ""
#: includes/class/class.LSldapObject.php:3177
#: includes/class/class.LSldapObject.php:3172
msgid ""
"LSldapObject : Configuration data are missing to validate the attribute "
"%{attr} of the object %{obj}."
msgstr ""
#: includes/class/class.LSldapObject.php:3181
#: includes/class/class.LSldapObject.php:3176
msgid ""
"LSldapObject : The function %{func} to be executed on the object event "
"%{event} doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3184
#: includes/class/class.LSldapObject.php:3179
msgid ""
"LSldapObject : The %{func} execution on the object event %{event} failed."
msgstr ""
#: includes/class/class.LSldapObject.php:3188
#: includes/class/class.LSldapObject.php:3183
msgid ""
"LSldapObject : Class %{class}, which method %{meth} to be executed on the "
"object event %{event}, doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3191
#: includes/class/class.LSldapObject.php:3186
msgid ""
"LSldapObject : Method %{meth} within %{class} class to be executed on object "
"event %{event}, doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3194
#: includes/class/class.LSldapObject.php:3189
msgid ""
"LSldapObject : Error during execute %{meth} method within %{class} class, to "
"be executed on object event %{event}."
msgstr ""
#: includes/class/class.LSldapObject.php:3198
#: includes/class/class.LSldapObject.php:3193
msgid ""
"LSldapObject : Some configuration data of the object type %{obj} are missing "
"to generate the DN of the new object."
msgstr ""
#: includes/class/class.LSldapObject.php:3201
#: includes/class/class.LSldapObject.php:3196
msgid ""
"LSldapObject : The attibute %{attr} of the object is not yet defined. Can't "
"generate DN."
msgstr ""
#: includes/class/class.LSldapObject.php:3204
#: includes/class/class.LSldapObject.php:3199
msgid "LSldapObject : Without DN, the object could not be changed."
msgstr ""
#: includes/class/class.LSldapObject.php:3207
#: includes/class/class.LSldapObject.php:3202
msgid ""
"LSldapObject : The attribute %{attr_depend} depending on the attribute "
"%{attr} doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3210
#: includes/class/class.LSldapObject.php:3205
msgid "LSldapObject : Error during deleting the object %{objectname}."
msgstr ""
#: includes/class/class.LSldapObject.php:3214
#: includes/class/class.LSldapObject.php:3209
msgid ""
"LSldapObject : Error during actions to be executed before renaming the objet."
msgstr ""
#: includes/class/class.LSldapObject.php:3217
#: includes/class/class.LSldapObject.php:3212
msgid ""
"LSldapObject : Error during actions to be executed after renaming the objet."
msgstr ""
#: includes/class/class.LSldapObject.php:3221
#: includes/class/class.LSldapObject.php:3216
msgid ""
"LSldapObject : Error during actions to be executed before deleting the objet."
msgstr ""
#: includes/class/class.LSldapObject.php:3224
#: includes/class/class.LSldapObject.php:3219
msgid ""
"LSldapObject : Error during actions to be executed after deleting the objet."
msgstr ""
#: includes/class/class.LSldapObject.php:3228
#: includes/class/class.LSldapObject.php:3223
msgid ""
"LSldapObject : Error during the actions to be executed before creating the "
"object."
msgstr ""
#: includes/class/class.LSldapObject.php:3231
#: includes/class/class.LSldapObject.php:3226
msgid ""
"LSldapObject : Error during the actions to be executed after creating the "
"object. It was created anyway."
msgstr ""
#: includes/class/class.LSldapObject.php:3235
#: includes/class/class.LSldapObject.php:3230
msgid ""
"LSldapObject : The function %{func} to be executed before creating the "
"object doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3238
#: includes/class/class.LSldapObject.php:3233
msgid ""
"LSldapObject : Error executing the function %{func} to be execute after "
"deleting the object."
msgstr ""
#: includes/class/class.LSldapObject.php:3241
#: includes/class/class.LSldapObject.php:3236
msgid ""
"LSldapObject : The function %{func} to be executed after deleting the object "
"doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3244
#: includes/class/class.LSldapObject.php:3239
msgid ""
"LSldapObject : Error executing the function %{func} to be execute after "
"creating the object."
msgstr ""
#: includes/class/class.LSldapObject.php:3248
#: includes/class/class.LSldapObject.php:3243
msgid ""
"LSldapObject : %{func} function, to be executed on object event %{event}, "
"doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3251
#: includes/class/class.LSldapObject.php:3246
msgid ""
"LSldapObject : Error during the execution of %{func} function on object "
"event %{event}."
msgstr ""
#: includes/class/class.LSldapObject.php:3255
#: includes/class/class.LSldapObject.php:3250
msgid ""
"LSldapObject : %{meth} method, to be executed on object event %{event}, "
"doesn't exist."
msgstr ""
#: includes/class/class.LSldapObject.php:3258
#: includes/class/class.LSldapObject.php:3253
msgid ""
"LSldapObject : Error during execution of %{meth} method on object event "
"%{event}."
msgstr ""
#: includes/class/class.LSldapObject.php:3261
#: includes/class/class.LSldapObject.php:3256
msgid "LSldapObject : Error during generate LDAP filter for %{LSobject}."
msgstr ""
#: includes/class/class.LSldapObject.php:3265
#: includes/class/class.LSldapObject.php:3260
msgid ""
"LSldapObject : Error during execution of the custom action %{customAction} "
"on %{objectname}."
msgstr ""
#: includes/class/class.LSldapObject.php:3269
#: includes/class/class.LSldapObject.php:3264
msgid "LSldapObject : Fail to retrieve container DN."
msgstr ""
#: includes/class/class.LSldapObject.php:3272
#: includes/class/class.LSldapObject.php:3267
msgid ""
"LSldapObject : The function %{func} to generate container DN is not callable."
msgstr ""
#: includes/class/class.LSldapObject.php:3275
#: includes/class/class.LSldapObject.php:3270
msgid "LSldapObject : Error during generating container DN : %{error}"
msgstr ""
#: includes/class/class.LSldapObject.php:3278
#: includes/class/class.LSldapObject.php:3273
msgid ""
"LSldapObject : An LDAP object with the same DN as generated for this new one "
"already exists. Please verify your configuration."
msgstr ""
#: includes/class/class.LSldapObject.php:3283
#: includes/class/class.LSldapObject.php:3278
msgid ""
"LSrelation : Some parameters are missing in the call of methods to handle "
"standard relations (Method : %{meth})."

View file

@ -80,6 +80,19 @@ do
fi
done
if [ $BUILD_DOC -eq 1 ]
then
msg "-> Clean the doc : " -en
cd $ROOT_DIR/doc >> $LOG_FILE && make clean >> $LOG_FILE && cd - >> $LOG_FILE
if [ $? -gt 0 ]
then
msg "Error"
exit 1
else
msg "Ok"
fi
fi
if [ "$THEME" != "" ]
then
msg "\t\t-> Remove theme : " -en
@ -286,3 +299,40 @@ then
else
msg "Changed detected :\n\n/!\\ You have to force-reload your webserver to handle it ! /!\\\n\n"
fi
if [ $BUILD_DOC -eq 1 ]
then
[ -n "$LAST_UPDATE_FILE" ] && [ "`$ROOT_DIR/checkDocExportsNecessity.sh`" == "" ] && echo "Export documentation is not necessary. Pass." && exit
msg "-> Do you want build the documentation (y/N) ? " -en
read a
if [ "$a" == "y" -o "$a" == "Y" ]
then
msg "-> Build the doc : " -en
cd $ROOT_DIR/doc
make clean >> $LOG_FILE 2>&1
make >> $LOG_FILE 2>&1 &
export P=$!
trap exitwhell INT
function exitwhell() {
[ -n "$P" ] && kill -9 $P 2> /dev/null
echo " -- INT -- "
exit 1
}
while [ -d /proc/$P ]
do
echo -n .
sleep 1
done
echo done.
if [ -n "$EXPORT_DOC_DIR" ]
then
$ROOT_DIR/buildDocExports.sh
fi
fi
fi