Code cleaning

This commit is contained in:
Benjamin Renard 2022-04-24 17:43:44 +02:00
parent 78ffe5a8c7
commit efc7352404
19 changed files with 1222 additions and 1054 deletions

View file

@ -1,7 +1,8 @@
<?php
$cli_commands=array();
function add_cli_command($command, $handler, $short_desc, $usage_args=false, $long_desc=false, $override=false) {
function add_cli_command($command, $handler, $short_desc, $usage_args=false, $long_desc=false,
$override=false) {
global $cli_commands;
if (array_key_exists($command, $cli_commands) && !$override) {
logging('ERROR', sprintf(_("The CLI command '%s' already exists.", $command)));
@ -23,9 +24,9 @@ function add_cli_command($command, $handler, $short_desc, $usage_args=false, $lo
}
/*
**************************************************************************************************************
*************************************************************************************************
* /!\ Code after this message will only be execute on CLI context /!\
**************************************************************************************************************
*************************************************************************************************
*/
if (php_sapi_name() != "cli")
return true;
@ -53,8 +54,15 @@ function usage($error=false) {
foreach ($cli_commands as $command => $info) {
if ($cli_command && $command != $cli_command)
continue;
echo " ".str_replace("\n", "\n ", wordwrap("$command : "._($info['short_desc'])))."\n\n";
echo " ".basename($argv[0])." $command ".($info['usage_args']?_($info['usage_args']):'')."\n";
echo (
" ".str_replace(
"\n", "\n ",
wordwrap("$command : "._($info['short_desc'])))
."\n\n");
echo (
" ".basename($argv[0])." $command ".
($info['usage_args']?_($info['usage_args']):'').
"\n");
if ($info['long_desc']) {
if (is_array($info['long_desc'])) {
$lines = array();
@ -107,7 +115,10 @@ function handle_cli_args() {
$command_args[] = $argv[$i];
else
usage(
sprintf(_("Invalid parameter \"%s\".\nNote: Command's parameter/argument must be place after the command."), $argv[$i])
sprintf(
_("Invalid parameter \"%s\".\nNote: Command's parameter/argument must be place ".
"after the command."), $argv[$i]
)
);
}
}
@ -116,7 +127,13 @@ function handle_cli_args() {
if (!$cli_command)
usage();
logging('DEBUG', 'Run '.basename($argv[0])." command $cli_command with argument(s) '".implode("', '", $command_args)."'");
logging(
'DEBUG', sprintf(
"Run %s command %s with argument(s) '%s'.",
basename($argv[0]), $cli_command,
implode("', '", $command_args)
)
);
try {
$result = call_user_func($cli_commands[$cli_command]['handler'], $command_args);
@ -134,7 +151,10 @@ function print_item_info($item) {
printf("\t"._("ID: %s")."\n", $item['id']);
printf("\t"._("Name: '%s'")."\n", $item['name']);
printf("\t"._("Date: %s")."\n", format_time($item['date']));
printf("\t"._("Description: %s")."\n", ($item['description']?"'".$item['description']."'":_("Not set")));
printf(
"\t"._("Description: %s")."\n",
($item['description']?"'".$item['description']."'":_("Not set"))
);
printf("\t"._("Status: %s")."\n", $item['status']);
return true;
}
@ -306,7 +326,10 @@ function cli_restore($command_args) {
$fd = fopen((count($command_args) >= 1?$command_args[0]:'php://stdin'), 'r');
restore_items($fd);
fclose($fd);
logging('INFO', "Items restored from '".(count($command_args) >= 1?$command_args[0]:'STDIN')."'.");
logging('INFO', sprint(
"Items restored from '%s'",
(count($command_args) >= 1?$command_args[0]:'STDIN')
));
}
add_cli_command(
'restore',
@ -340,7 +363,9 @@ function cli_cron($command_args) {
}
if (!is_int($item_max_age) || $item_max_age <= 0)
logging('FATAL', 'Invalid $item_max_age value set in configuration: it\'s must be a positive integer.');
logging(
'FATAL',
'Invalid $item_max_age value set in configuration: it\'s must be a positive integer.');
logging('DEBUG', "cli_cron(): item max age = $item_max_age day(s)");
$limit = time() - ($item_max_age * 86400);
@ -351,19 +376,31 @@ function cli_cron($command_args) {
foreach($items['items'] as $item) {
if ($item['date'] < $limit) {
if ($just_try) {
logging('DEBUG', 'Just-try mode: do not really delete item #'.$item['id'].' ('.$item['name'].', creation date: '.format_time($item['date']).')');
logging('DEBUG', sprintf(
'Just-try mode: do not really delete item #%s (%s, creation date: %s)',
$item['id'], $item['name'], format_time($item['date'])
));
}
else if (delete_item($item['id'])) {
logging('INFO', 'item #'.$item['id'].' ('.$item['name'].') deleted (creation date: '.format_time($item['date']).')');
logging('INFO', sprintf(
'Item #%s (%s) deleted (creation date: %s)',
));
remove_item_attachments($item['id']);
}
else {
logging('ERROR', 'Fail to delete item "'.$item['id'].'" ('.$item['name'].', creation date: '.format_time($item['date']).')');
logging('ERROR', sprintf(
'Fail to delete item "%s" (%s, creation date: %s)',
$item['id'], $item['name'], format_time($item['date'])
));
$error = true;
}
}
else {
logging('DEBUG', 'item "'.$item['id'].'" ('.$item['name'].') still valid (creation date: '.format_time($item['date']).')');
logging('DEBUG', sprintf(
'Item "%s" (%s) still valid (creation date: %s)',
$item['id'], $item['name'], format_time($item['date'])
));
}
}
exit($error?1:0);

View file

@ -285,7 +285,13 @@ function search_items($params) {
if (!empty($where))
$query -> where($where);
foreach ($patterns_where as $patterns_word)
call_user_func_array(array($query, 'where'), array_merge(array('('.implode(' OR ', array_keys($patterns_word)).')'), array_values($patterns_word)));
call_user_func_array(
array($query, 'where'),
array_merge(
array('('.implode(' OR ', array_keys($patterns_word)).')'),
array_values($patterns_word)
)
);
$result = $query -> orderBy($orderby)
-> limit($limit)
-> offset($offset)
@ -315,7 +321,13 @@ function search_items($params) {
if (!empty($where))
$query_count -> where($where);
foreach ($patterns_where as $patterns_word)
call_user_func_array(array($query_count, 'where'), array_merge(array('('.implode(' OR ', array_keys($patterns_word)).')'), array_values($patterns_word)));
call_user_func_array(
array($query_count, 'where'),
array_merge(
array('('.implode(' OR ', array_keys($patterns_word)).')'),
array_values($patterns_word)
)
);
$result_count = $query_count -> execute();
@ -327,7 +339,9 @@ function search_items($params) {
return array(
'count' => $count['count'],
'first' => $offset+1,
'last' => ($offset+$nb_by_page<$count['count']?$offset+$nb_by_page:$count['count']),
'last' => (
$offset+$nb_by_page<$count['count']?
$offset+$nb_by_page:$count['count']),
'nb_pages' => ceil($count['count']/$nb_by_page),
'page' => $page,
'items' => $items,
@ -411,7 +425,10 @@ function restore_items($fd=null) {
$values = array();
for ($i=0; $i < count($first_row); $i++) {
if (!$row[$i]) continue;
$field = (array_key_exists($first_row[$i], $mapping)?$mapping[$first_row[$i]]:$first_row[$i]);
$field = (
array_key_exists($first_row[$i], $mapping)?
$mapping[$first_row[$i]]:
$first_row[$i]);
$value = (in_array($field, $datetime_fields)?db_time2datetime($row[$i]):$row[$i]);
$values[$field] = $value;
}
@ -428,7 +445,9 @@ function restore_items($fd=null) {
}
}
catch (Exception $e) {
logging('ERROR', "Error restoring item from line #$line : ".$e->getMessage()."\n".print_r($values, true));
logging(
'ERROR',
"Error restoring item from line #$line : ".$e->getMessage()."\n".print_r($values, true));
$error = true;
}
}

View file

@ -83,7 +83,8 @@ function check_email($value, $domain=NULL, $checkDns=true) {
/*
* Handling item POST data
*/
function handle_item_post_data(&$info, $enabled_fields=null, $required_fields=null, &$item=null, &$changes=null) {
function handle_item_post_data(&$info, $enabled_fields=null, $required_fields=null, &$item=null,
&$changes=null) {
$field_errors=array();
if (isset($_POST['submit'])) {
logging('DEBUG', 'POST data : '.vardump($_POST));
@ -113,7 +114,10 @@ function handle_item_post_data(&$info, $enabled_fields=null, $required_fields=nu
}
// description
if (isset($_POST['description']) && (!$enabled_fields || in_array('description', $enabled_fields))) {
if (
isset($_POST['description']) &&
(!$enabled_fields || in_array('description', $enabled_fields))
) {
if (check_is_empty(trim($_POST['description']))) {
$info['description'] = null;
}
@ -257,7 +261,15 @@ function dump_file($file_path, $max_age=3600) {
header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT");
header("Etag: $etag");
if ((isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && @strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $last_modified_time) || (isset($_SERVER['HTTP_IF_NONE_MATCH']) && trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag)) {
if (
(
isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) &&
@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $last_modified_time
) || (
isset($_SERVER['HTTP_IF_NONE_MATCH']) &&
trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag
)
) {
header("HTTP/1.1 304 Not Modified");
exit();
}
@ -297,16 +309,19 @@ function delete_directory($dir, $recursive=true) {
/*
* Run external command helper
*/
/**
/**
* Run external command
*
* @param[in] $command string|array The command. It's could be an array of the command with its arguments.
* @param[in] $data_stdin string|null The command arguments (optional, default: null)
* @param[in] $escape_command_args boolean If true, the command will be escaped (optional, default: true)
* @param $command string|array The command. It's could be an array of the command with its
* arguments.
* @param $data_stdin string|null The command arguments (optional, default: null)
* @param $escape_command_args boolean If true, the command will be escaped
* (optional, default: true)
*
* @retval false|array An array of return code, stdout and stderr result or False in case of fatal error
* @return false|array An array of return code, stdout and stderr result or False in case of fatal
* error
**/
function run_external_command($command, $data_stdin=null, $escape_command_args=true) {
function run_external_command($command, $data_stdin=null, $escape_command_args=true) {
if (array($command))
$command = implode(' ', $command);
if ($escape_command_args)
@ -349,4 +364,4 @@ function delete_directory($dir, $recursive=true) {
);
return array($return_value, $stdout, $stderr);
}
}

View file

@ -5,12 +5,12 @@ $hooks = array();
/**
* Registered a hook on a specific event
*
* @param[in] $event string The event name
* @param[in] $callable callable The callable to run on event
* @param[in] $param mixed Paremeter that will be pass to the callable
* @param $event string The event name
* @param $callable callable The callable to run on event
* @param $param mixed Paremeter that will be pass to the callable
* Use an array if you have multiple parameters to pass
*
* @retval void
* @return void
*/
function register_hook($event, $callable, $param=NULL) {
global $hooks;
@ -25,9 +25,9 @@ function register_hook($event, $callable, $param=NULL) {
/**
* Run triggered actions on specific event
*
* @param[in] $event string Event name
* @param $event string Event name
*
* @retval boolean True if all triggered actions succefully runned, false otherwise
* @return boolean True if all triggered actions succefully runned, false otherwise
*/
function trigger_hook($event_name, $event_data=null) {
global $hooks;
@ -44,12 +44,16 @@ function trigger_hook($event_name, $event_data=null) {
call_user_func_array($e['callable'],array($event, &$e['param']));
}
catch(Exception $e) {
logException($e, "An exception occured running hook ".format_callable($e['callable'])." on event $event_name");
logException(
$e, "An exception occured running hook ".format_callable($e['callable']).
" on event $event_name");
$return = false;
}
}
else {
logging('ERROR', "The hook ".format_callable($e['callable'])." on event $event_name is not callable.");
logging(
'ERROR',
"The hook ".format_callable($e['callable'])." on event $event_name is not callable.");
$return = false;
}
}

View file

@ -24,7 +24,7 @@ $_log_levels=array(
);
function logging($level, $message) {
global $log_file, $_log_file_fd, $_log_levels, $log_level, $argv;
global $log_file, $_log_file_fd, $_log_levels, $log_level, $argv, $auth_user;
if (!array_key_exists($level, $_log_levels)) $level = 'INFO';
$level_id = $_log_levels[$level];
@ -38,13 +38,24 @@ function logging($level, $message) {
}
if (php_sapi_name() == "cli") {
$msg=date('Y/m/d H:i:s').' - '.basename($argv[0])." - $level - $message\n";
$msg = implode(' - ', array(
date('Y/m/d H:i:s'),
basename($argv[0]),
$level,
$message
))."\n";
}
else {
// With auth enabled
// global $auth_user;
// $msg=date('Y/m/d H:i:s').' - '.$_SERVER['REQUEST_URI'].' - '.$_SERVER['REMOTE_ADDR']." - $auth_user - $level - $message\n";
$msg=date('Y/m/d H:i:s').' - '.$_SERVER['REQUEST_URI'].' - '.$_SERVER['REMOTE_ADDR']." - $level - $message\n";
$msg = array(
date('Y/m/d H:i:s'),
$_SERVER['REQUEST_URI'],
$_SERVER['REMOTE_ADDR'],
);
if (isset($auth_user))
$msg[] = ($auth_user?$auth_user:'anonymous');
$msg[] = $level;
$msg[] = $message;
$msg = implode(' - ', $msg)."\n";
}
fwrite($_log_file_fd , $msg);
@ -87,7 +98,10 @@ function get_debug_backtrace_context($ignore_last=0) {
if (isset($traces[$i]['file']))
$trace[] = $traces[$i]['file'].(isset($traces[$i]['line'])?":".$traces[$i]['line']:"");
if (isset($traces[$i]['class']) && isset($traces[$i]['function']))
$trace[] = $traces[$i]['class'] . " " . $traces[$i]['type'] . " " . $traces[$i]['function']. "()";
$trace[] = implode(" ", array(
$traces[$i]['class'],
$traces[$i]['type'],
$traces[$i]['function']. "()"));
elseif (isset($traces[$i]['function']))
$trace[] = $traces[$i]['function']. "()";
$msg[] = implode(" - ", $trace);
@ -97,7 +111,10 @@ function get_debug_backtrace_context($ignore_last=0) {
}
function log_exception($exception, $prefix='') {
logging("ERROR", ($prefix?"$prefix :\n":"An exception occured :\n"). get_debug_backtrace_context(1). "\n" .
logging(
"ERROR",
($prefix?"$prefix :\n":"An exception occured :\n").
get_debug_backtrace_context(1). "\n" .
"## ".$exception->getFile().":".$exception->getLine(). " : ". $exception->getMessage());
}
set_exception_handler('log_exception');

View file

@ -4,12 +4,15 @@
require_once($php_mail_path);
require_once($php_mail_mime_path);
function send_mail($from, $to, $subject, $msg, $headers=array(), $attachments=array(), $crlf="\r\n") {
function send_mail($from, $to, $subject, $msg, $headers=array(), $attachments=array(),
$crlf="\r\n") {
global $mail_send_method, $mail_headers, $mail_send_params, $mail_catch_all, $mail_sender;
$mail_obj = Mail::factory($mail_send_method, $mail_send_params);
if ($mail_catch_all) {
$msg .= sprintf(_("\n\n\nMail initialy intended for %s."), (is_array($to)?implode(',', $to):$to));
$msg .= sprintf(
_("\n\n\nMail initialy intended for %s."),
(is_array($to)?implode(',', $to):$to));
$to = $mail_catch_all;
}

View file

@ -23,7 +23,10 @@ if ($session_timeout) {
$_SESSION['session_last_access'] = time();
}
elseif ($_SESSION['session_last_access'] > (time() - $session_timeout)) {
logging('DEBUG', 'Session timeout not expired, update session last access (Previous value : '.$_SESSION['session_last_access'].')');
logging(
'DEBUG',
'Session timeout not expired, update session last access '.
'(Previous value : '.$_SESSION['session_last_access'].')');
$_SESSION['session_last_access'] = time();
}
else {

View file

@ -202,7 +202,11 @@ function smarty_item_status($params) {
else
$class='danger';
echo "<span class='badge badge-$class'>";
echo array_key_exists($params['item']['status'], $status_list)?$status_list[$params['item']['status']]:"Inconnu (".$params['item']['status'].")";
echo (
array_key_exists($params['item']['status'], $status_list)?
$status_list[$params['item']['status']]:
"Inconnu (".$params['item']['status'].")"
);
echo "</span>";
}
smarty_register_function('item_status','smarty_item_status');
@ -223,7 +227,10 @@ function smarty_table_ordered_th($params, $smarty) {
echo "<a href='".$params['url']."?order=".$params['order']."'>".$params['text']."</a>";
}
if ($params['order']==$params['search']['order']) {
echo ' <i class="fa fa-sort-'.(strtolower($params['search']['order_direction'])=='asc'?'up':'down').'" aria-hidden="true"></i>';
echo (
' <i class="fa fa-sort-'.
(strtolower($params['search']['order_direction'])=='asc'?'up':'down').
'" aria-hidden="true"></i>');
}
}
smarty_register_function('table_ordered_th','smarty_table_ordered_th');

View file

@ -9,6 +9,14 @@
if (php_sapi_name() != "cli")
return true;
/**
* Convert PO file to JSON file
*
* @param string $locale The locale of the input PO file
* @param string $path The path of the input PO file
*
* @return string JSON encoded file content
*/
function po2json($locale, $path) {
$fileHandler = new \Sepia\PoParser\SourceHandler\FileSystem($path);
$poparser = new \Sepia\PoParser\Parser($fileHandler);

View file

@ -12,7 +12,11 @@ function handle_search($request) {
global $smarty, $status_list;
// Manage params
if((isset($_REQUEST['clear']) && $_REQUEST['clear']=='true') || !isset($_SESSION['search']) || !is_array($_SESSION['search'])) {
if(
(isset($_REQUEST['clear']) && $_REQUEST['clear']=='true') ||
!isset($_SESSION['search']) ||
!is_array($_SESSION['search'])
) {
$_SESSION['search']=array(
'pattern' => false,
'status' => 'all',
@ -81,7 +85,10 @@ function handle_search($request) {
logging('DEBUG', 'Search params : '.vardump($_SESSION['search']));
$result = search_items($_SESSION['search']);
if (!is_array($result))
fatal_error(_("An error occurred while listing the items. If the problem persists, please contact support."));
fatal_error(
_("An error occurred while listing the items. ".
"If the problem persists, please contact support.")
);
$smarty -> assign('result', $result);
$smarty -> assign('search', $_SESSION['search']);
@ -117,7 +124,10 @@ function handle_show($request) {
'js/myconfirm.js',
));
display_template("show.tpl", sprintf(_("Element %s"), (is_array($item)?$item['name']:"#".$request -> id)));
display_template(
"show.tpl",
sprintf(_("Element %s"), (is_array($item)?$item['name']:"#".$request -> id))
);
}
add_url_handler('|^item/(?P<id>[0-9]+)$|', 'handle_show');
@ -139,7 +149,9 @@ function handle_create($request) {
logging('DEBUG', 'Validated data : '.vardump($info));
logging('DEBUG', 'Fields errors : '.vardump($field_errors));
if (isset($_POST['submit']) && !empty($field_errors))
add_error(_("There are errors preventing this item from being saved. Please correct them before attempting to add this item."));
add_error(
_("There are errors preventing this item from being saved. ".
"Please correct them before attempting to add this item."));
$smarty->assign('submited', isset($_POST['submit']));
$smarty->assign('info', $info);
$smarty->assign('field_errors', $field_errors);
@ -183,7 +195,9 @@ function handle_modify($request) {
logging('DEBUG', 'Fields errors : '.vardump($field_errors));
$smarty->assign('submited', isset($_POST['submit']));
if (isset($_POST['submit']) && !empty($field_errors))
add_error(_("There are errors preventing this item from being saved. Please correct them before attempting to save your changes."));
add_error(
_("There are errors preventing this item from being saved. ".
"Please correct them before attempting to save your changes."));
$smarty->assign('info', (!empty($info)?$info:$item));
$smarty->assign('item_id', $item['id']);
$smarty->assign('field_errors', $field_errors);
@ -212,7 +226,9 @@ function handle_archive($request) {
add_error(_('You cannot archive this item.'));
}
else if (archive_item($item['id']) === true) {
add_message(sprintf(_("The element '% s' has been archived successfully."), $item['name']));
add_message(sprintf(
_("The element '% s' has been archived successfully."),
$item['name']));
}
else {
add_error(_('An error occurred while archiving this item.'));
@ -232,7 +248,9 @@ function handle_delete($request) {
add_error(_('You cannot delete this item.'));
}
else if (delete_item($item['id']) === true) {
add_message(sprintf(_("The element '% s' has been deleted successfully."), $item['name']));
add_message(sprintf(
_("The element '% s' has been deleted successfully."),
$item['name']));
}
else {
add_error(_('An error occurred while deleting this item.'));

View file

@ -26,14 +26,17 @@ $url_patterns =array();
/**
* Add an URL pattern
*
* @param[in] $pattern string The URL pattern (required)
* @param[in] $handler callable The URL pattern handler (must be callable, required)
* @param[in] $authenticated boolean Permit to define if this URL is accessible only for authenticated users (optional, default: true)
* @param[in] $override boolean Allow override if a command already exists with the same name (optional, default: false)
* @param[in] $api_mode boolean Enable API mode (optional, default: false)
* @param[in] $methods array|null HTTP method (optional, default: array('GET', 'POST'))
* @param $pattern string The URL pattern (required)
* @param $handler callable The URL pattern handler (must be callable, required)
* @param $authenticated boolean Permit to define if this URL is accessible only for
* authenticated users (optional, default: true)
* @param $override boolean Allow override if a command already exists with the
* same name (optional, default: false)
* @param $api_mode boolean Enable API mode (optional, default: false)
* @param $methods array|null HTTP method (optional, default: array('GET', 'POST'))
**/
function add_url_handler($pattern, $handler=null, $authenticated=false, $override=true, $api_mode=false, $methods=null) {
function add_url_handler($pattern, $handler=null, $authenticated=false, $override=true,
$api_mode=false, $methods=null) {
if (is_null($methods))
$methods = array('GET', 'POST');
elseif (!is_array($methods))
@ -57,7 +60,10 @@ function add_url_handler($pattern, $handler=null, $authenticated=false, $overrid
);
}
elseif ($override) {
logging('DEBUG', "URL : override pattern '$pattern' with handler '$handler' (old handler = '".$url_patterns[$pattern]."')");
logging(
'DEBUG',
"URL : override pattern '$pattern' with handler '$handler' ".
"(old handler = '".$url_patterns[$pattern]."')");
$url_patterns[$pattern] = array(
'handler' => $handler,
'authenticated' => $authenticated,
@ -75,12 +81,12 @@ function add_url_handler($pattern, $handler=null, $authenticated=false, $overrid
* Error 404 page
*/
/**
/**
* Error 404 handler
*
* @param[in] $request UrlRequest|null The request (optional, default: null)
* @param $request UrlRequest|null The request (optional, default: null)
*
* @retval void
* @return void
**/
function error_404($request=null) {
display_template('error_404.tpl', _("Whoops ! Page not found"));
@ -94,19 +100,23 @@ function set_404_url_handler($handler=null) {
}
/*
/**
* Interprets the requested URL and return the corresponding UrlRequest object
*
* @param[in] $default_url string|null The default URL if current one does not
* @param $default_url string|null The default URL if current one does not
* match with any configured pattern.
*
* @retval UrlRequest The UrlRequest object corresponding to the the requested URL.
* @return UrlRequest The UrlRequest object corresponding to the the requested URL.
*/
function get_request($default_url=null) {
global $url_patterns, $_404_url_handler;
$current_url = get_current_url();
if ($current_url === false) {
logging('FATAL', _('Unable to determine the requested page. If the problem persists, please contact support.'));
logging(
'FATAL',
_('Unable to determine the requested page. '.
'If the problem persists, please contact support.')
);
exit();
}
if (!is_array($url_patterns)) {
@ -115,7 +125,11 @@ function get_request($default_url=null) {
}
logging('DEBUG', "URL : current url = '$current_url'");
logging('DEBUG', "URL : check current url with the following URL patterns :\n - ".implode("\n - ", array_keys($url_patterns)));
logging(
'DEBUG',
"URL : check current url with the following URL patterns :\n - ".
implode("\n - ", array_keys($url_patterns))
);
foreach ($url_patterns as $pattern => $handler_infos) {
$m = url_match($pattern, $current_url, $handler_infos['methods']);
if (is_array($m)) {
@ -134,7 +148,9 @@ function get_request($default_url=null) {
}
// Error 404
$api_mode = (strpos($current_url, 'api/') === 0);
logging('DEBUG', "Current URL match with no pattern. Use error 404 handler (API mode=$api_mode).");
logging(
'DEBUG',
"Current URL match with no pattern. Use error 404 handler (API mode=$api_mode).");
return new UrlRequest(
$current_url,
array(
@ -148,11 +164,11 @@ function get_request($default_url=null) {
/**
* Check if the current requested URL match with a specific pattern
*
* @param[in] $pattern string The URL pattern
* @param[in] $current_url string|false The current URL (optional)
* @param[in] $methods array|null HTTP method (optional, default: no check)
* @param $pattern string The URL pattern
* @param $current_url string|false The current URL (optional)
* @param $methods array|null HTTP method (optional, default: no check)
*
* @retval array|false The URL info if pattern matched, false otherwise.
* @return array|false The URL info if pattern matched, false otherwise.
**/
function url_match($pattern, $current_url=false, $methods=null) {
if ($methods && !in_array($_SERVER['REQUEST_METHOD'], $methods))
@ -162,16 +178,19 @@ function url_match($pattern, $current_url=false, $methods=null) {
if (!$current_url) return False;
}
if (preg_match($pattern, $current_url, $m)) {
logging('DEBUG', "URL : Match found with pattern '$pattern' :\n\t".str_replace("\n", "\n\t", print_r($m, 1)));
logging(
'DEBUG',
"URL : Match found with pattern '$pattern' :\n\t".
str_replace("\n", "\n\t", print_r($m, 1)));
return $m;
}
return False;
}
/*
/**
* Retreive current requested URL and return it
*
* @retval string|false The current request URL or false if fail
* @return string|false The current request URL or false if fail
**/
function get_current_url() {
logging('DEBUG', "URL : request URI = '".$_SERVER['REQUEST_URI']."'");
@ -183,7 +202,9 @@ function get_current_url() {
return '';
if (substr($_SERVER['REQUEST_URI'], 0, strlen($base)) != $base) {
logging('ERROR', "URL : request URI (".$_SERVER['REQUEST_URI'].") does not start with rewrite base ($base)");
logging(
'ERROR',
"URL : request URI (".$_SERVER['REQUEST_URI'].") does not start with rewrite base ($base)");
return False;
}
@ -206,7 +227,7 @@ function get_current_url() {
/**
* Try to detect rewrite base from public root URL
*
* @retval string The detected rewrite base
* @return string The detected rewrite base
**/
function get_rewrite_base() {
global $public_root_url;
@ -220,9 +241,9 @@ function get_rewrite_base() {
/**
* Trigger redirect to specified URL (or homepage if omited)
*
* @param[in] $go string|false The destination URL
* @param $go string|false The destination URL
*
* @retval void
* @return void
**/
function redirect($go=false) {
global $public_root_url;
@ -244,7 +265,10 @@ function redirect($go=false) {
// Prevent loop
if (isset($_SESSION['last_redirect']) && $_SESSION['last_redirect'] == $url)
logging('FATAL', _('Unable to determine the requested page (loop detected). If the problem persists, please contact support.'));
logging(
'FATAL',
_('Unable to determine the requested page (loop detected). '.
'If the problem persists, please contact support.'));
else
$_SESSION['last_redirect'] = $url;
@ -256,10 +280,10 @@ function redirect($go=false) {
/**
* Handle the current requested URL
*
* @param[in] $default_url string|null The default URL if current one does not
* @param $default_url string|null The default URL if current one does not
* match with any configured pattern.
*
* @retval void
* @return void
**/
function handle_request($default_url=null) {
global $smarty, $api_mode;
@ -284,7 +308,8 @@ function handle_request($default_url=null) {
return call_user_func($request -> handler, $request);
}
catch (Exception $e) {
log_exception($e, "An exception occured running URL handler function ".$request -> handler."()");
log_exception(
$e, "An exception occured running URL handler function ".$request -> handler."()");
logging('FATAL', _("This request could not be processed correctly."));
}
}
@ -292,9 +317,9 @@ function handle_request($default_url=null) {
/**
* Remove trailing slash in specified URL
*
* @param[in] $url string The URL
* @param $url string The URL
*
* @retval string The specified URL without trailing slash
* @return string The specified URL without trailing slash
**/
function remove_trailing_slash($url) {
if ($url == '/')
@ -310,9 +335,9 @@ function remove_trailing_slash($url) {
* Check if session key is present and valid and set AJAX
* mode.
*
* @param[in] $session_key string The current session key (optional)
* @param $session_key string The current session key (optional)
*
* @retval void
* @return void
**/
function check_ajax_request($session_key=null) {
global $ajax, $debug_ajax;
@ -328,18 +353,25 @@ function check_ajax_request($session_key=null) {
/**
* Get the public absolute URL
*
* @param[in] $relative_url string|null Relative URL to convert (Default: current URL)
* @param $relative_url string|null Relative URL to convert (Default: current URL)
*
* @retval string The public absolute URL
* @return string The public absolute URL
**/
function get_absolute_url($relative_url=null) {
global $public_root_url;
if (!is_string($relative_url))
$relative_url = get_current_url();
if ($public_root_url[0] == '/') {
logging('DEBUG', "URL :: get_absolute_url($relative_url): configured public root URL is relative ($public_root_url) => try to detect it from current request infos.");
$public_root_url = 'http'.(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on'?'s':'').'://'.$_SERVER['HTTP_HOST'].$public_root_url;
logging('DEBUG', "URL :: get_absolute_url($relative_url): detected public_root_url: $public_root_url");
logging(
'DEBUG',
"URL :: get_absolute_url($relative_url): configured public root URL is relative ".
"($public_root_url) => try to detect it from current request infos.");
$public_root_url = (
'http'.(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on'?'s':'').'://'.
$_SERVER['HTTP_HOST'].$public_root_url);
logging(
'DEBUG',
"URL :: get_absolute_url($relative_url): detected public_root_url: $public_root_url");
}
if (substr($relative_url, 0, 1) == '/')
@ -352,23 +384,23 @@ function get_absolute_url($relative_url=null) {
/**
* Check if specified URL is absolute
*
* @param[in] $url string The URL to check
* @param $url string The URL to check
*
* @retval boolean True if specified URL is absolute, False otherwise
* @return boolean True if specified URL is absolute, False otherwise
**/
function is_absolute_url($url) {
return boolval(preg_match('#^https?://#', $url));
}
/*
/**
* Add parameter in specified URL
*
* @param[in] &$url string The reference of the URL
* @param[in] $param string The parameter name
* @param[in] $value string The parameter value
* @param[in] $encode boolean Set if parameter value must be URL encoded (optional, default: true)
* @param &$url string The reference of the URL
* @param $param string The parameter name
* @param $value string The parameter value
* @param $encode boolean Set if parameter value must be URL encoded (optional, default: true)
*
* @retval string|null The completed URL
* @return string|null The completed URL
*/
function add_url_parameter(&$url, $param, $value, $encode=true) {
if (strpos($url, '?') === false)
@ -404,17 +436,21 @@ class UrlRequest {
public function __construct($current_url, $handler_infos, $url_params=array()) {
$this -> current_url = $current_url;
$this -> handler = $handler_infos['handler'];
$this -> authenticated = (isset($handler_infos['authenticated'])?boolval($handler_infos['authenticated']):true);
$this -> api_mode = (isset($handler_infos['api_mode'])?boolval($handler_infos['api_mode']):false);
$this -> authenticated = (
isset($handler_infos['authenticated'])?
boolval($handler_infos['authenticated']):true);
$this -> api_mode = (
isset($handler_infos['api_mode'])?
boolval($handler_infos['api_mode']):false);
$this -> url_params = $url_params;
}
/**
* Get request info
*
* @param[in] $key string The name of the info
* @param $key string The name of the info
*
* @retval mixed The value
* @return mixed The value
**/
public function __get($key) {
if ($key == 'current_url')
@ -439,9 +475,9 @@ class UrlRequest {
/**
* Check is request info is set
*
* @param[in] $key string The name of the info
* @param $key string The name of the info
*
* @retval boolval True is info is set, False otherwise
* @return boolval True is info is set, False otherwise
**/
public function __isset($key) {
if (in_array($key, array('current_url', 'handler', 'authenticated')))
@ -452,10 +488,11 @@ class UrlRequest {
/**
* Get request parameter
*
* @param[in] $parameter string The name of the parameter
* @param[in] $decode string If true, the parameter value will be urldecoded (optional, default: true)
* @param $parameter string The name of the parameter
* @param $decode string If true, the parameter value will be urldecoded
* (optional, default: true)
*
* @retval mixed The value or false if parameter does not exists
* @return mixed The value or false if parameter does not exists
**/
public function get_param($parameter, $decode=true) {
if (array_key_exists($parameter, $this->url_params)) {
@ -466,10 +503,10 @@ class UrlRequest {
return false;
}
/*
/**
* Get request referer (if known)
*
* @retval string|null The request referer URL if known, null otherwise
* @return string|null The request referer URL if known, null otherwise
*/
public function get_referer() {
if (isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER'])

View file

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2022-04-24 16:47+0200\n"
"POT-Creation-Date: 2022-04-24 17:42+0200\n"
"PO-Revision-Date: \n"
"Last-Translator: Benjamin Renard <brenard@easter-eggs.com>\n"
"Language-Team: \n"
@ -17,8 +17,8 @@ msgid "Invalid element identifier."
msgstr "Identifiant d'élément invalide."
#: /home/brenard/dev/eesyphp/includes/url-helpers.php:9
#: /home/brenard/dev/eesyphp/includes/url-public.php:205
#: /home/brenard/dev/eesyphp/includes/url-public.php:229
#: /home/brenard/dev/eesyphp/includes/url-public.php:219
#: /home/brenard/dev/eesyphp/includes/url-public.php:245
#, php-format
msgid "Item #% s not found."
msgstr "L'élément #%s est introuvable."
@ -40,11 +40,11 @@ msgstr "Une erreur est survenue en affichant cette page."
msgid "Hello world !"
msgstr "Bonjour tout le monde !"
#: /home/brenard/dev/eesyphp/includes/url-public.php:27
#: /home/brenard/dev/eesyphp/includes/url-public.php:31
msgid "Any"
msgstr "Peu importe"
#: /home/brenard/dev/eesyphp/includes/url-public.php:84
#: /home/brenard/dev/eesyphp/includes/url-public.php:89
msgid ""
"An error occurred while listing the items. If the problem persists, please "
"contact support."
@ -52,25 +52,25 @@ msgstr ""
"Une erreur est survenue en listant les éléments. Si le problème persiste, "
"merci de prendre contact avec le support."
#: /home/brenard/dev/eesyphp/includes/url-public.php:97
#: /home/brenard/dev/eesyphp/includes/url-public.php:104
msgid "Search"
msgstr "Rechercher"
#: /home/brenard/dev/eesyphp/includes/url-public.php:120
#: /home/brenard/dev/eesyphp/includes/url-public.php:129
#, php-format
msgid "Element %s"
msgstr "Élément %s"
#: /home/brenard/dev/eesyphp/includes/url-public.php:132
#: /home/brenard/dev/eesyphp/includes/url-public.php:142
#, php-format
msgid "The element '% s' has been created."
msgstr "L'élément '%s' a bien été créé."
#: /home/brenard/dev/eesyphp/includes/url-public.php:136
#: /home/brenard/dev/eesyphp/includes/url-public.php:146
msgid "An error occurred while saving this item."
msgstr "Une erreur est survenue en enregistrant cet élément."
#: /home/brenard/dev/eesyphp/includes/url-public.php:142
#: /home/brenard/dev/eesyphp/includes/url-public.php:153
msgid ""
"There are errors preventing this item from being saved. Please correct them "
"before attempting to add this item."
@ -78,29 +78,29 @@ msgstr ""
"Des erreurs empêchent l'enregistrement de cet élément. Merci de les corriger "
"avant de tenter d'ajouter cet élément."
#: /home/brenard/dev/eesyphp/includes/url-public.php:148
#: /home/brenard/dev/eesyphp/includes/url-public.php:160
msgid "New"
msgstr "Nouveau"
#: /home/brenard/dev/eesyphp/includes/url-public.php:158
#: /home/brenard/dev/eesyphp/includes/url-public.php:170
msgid "You cannot edit this item."
msgstr "Vous ne pouvez pas modifier cet élément."
#: /home/brenard/dev/eesyphp/includes/url-public.php:171
#: /home/brenard/dev/eesyphp/includes/url-public.php:183
#, php-format
msgid "You have not made any changes to element '% s'."
msgstr "Vous n'avez apporté aucune modification à l'élément '%s'."
#: /home/brenard/dev/eesyphp/includes/url-public.php:175
#: /home/brenard/dev/eesyphp/includes/url-public.php:187
#, php-format
msgid "The element '% s' has been updated successfully."
msgstr "L'élément '%s' a bien été mise à jour."
#: /home/brenard/dev/eesyphp/includes/url-public.php:179
#: /home/brenard/dev/eesyphp/includes/url-public.php:191
msgid "An error occurred while updating this item."
msgstr "Une erreur est survenue en mettant à jour cet élément."
#: /home/brenard/dev/eesyphp/includes/url-public.php:186
#: /home/brenard/dev/eesyphp/includes/url-public.php:199
msgid ""
"There are errors preventing this item from being saved. Please correct them "
"before attempting to save your changes."
@ -108,38 +108,38 @@ msgstr ""
"Des erreurs empêchent l'enregistrement de cet élément. Merci de les corriger "
"avant de tenter d'enregistrer vos modifications."
#: /home/brenard/dev/eesyphp/includes/url-public.php:196
#: /home/brenard/dev/eesyphp/includes/url-public.php:210
#, php-format
msgid "Element %s: Modification"
msgstr "Élément %s : Modification"
#: /home/brenard/dev/eesyphp/includes/url-public.php:209
#: /home/brenard/dev/eesyphp/includes/url-public.php:223
msgid "This item is already archived."
msgstr "Cet élément est déjà archivé."
#: /home/brenard/dev/eesyphp/includes/url-public.php:212
#: /home/brenard/dev/eesyphp/includes/url-public.php:226
msgid "You cannot archive this item."
msgstr "Vous ne pouvez pas archiver cet élément."
#: /home/brenard/dev/eesyphp/includes/url-public.php:215
#: /home/brenard/dev/eesyphp/includes/url-public.php:230
#, php-format
msgid "The element '% s' has been archived successfully."
msgstr "L'élément '%s' a bien été archivé."
#: /home/brenard/dev/eesyphp/includes/url-public.php:218
#: /home/brenard/dev/eesyphp/includes/url-public.php:234
msgid "An error occurred while archiving this item."
msgstr "Une erreur est survenue en archivant cet élément."
#: /home/brenard/dev/eesyphp/includes/url-public.php:232
#: /home/brenard/dev/eesyphp/includes/url-public.php:248
msgid "You cannot delete this item."
msgstr "Vous ne pouvez pas supprimer cet élément."
#: /home/brenard/dev/eesyphp/includes/url-public.php:235
#: /home/brenard/dev/eesyphp/includes/url-public.php:252
#, php-format
msgid "The element '% s' has been deleted successfully."
msgstr "L'élément '%s' a bien été supprimé."
#: /home/brenard/dev/eesyphp/includes/url-public.php:238
#: /home/brenard/dev/eesyphp/includes/url-public.php:256
msgid "An error occurred while deleting this item."
msgstr "Une erreur est survenue en supprimant cet élément."
@ -163,106 +163,106 @@ msgstr "Refusé"
msgid "Archived"
msgstr "Archivé"
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:51
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:59
msgid "Fail to list PHP files."
msgstr "Impossible de lister les fichiers PHP."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:68
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:76
msgid "Fail to extract messages from PHP files using xgettext."
msgstr ""
"Impossible d'extraire les messages depuis les fichiers PHP en utilisant "
"xgettext."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:78
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:86
msgid "Fail to list JS files."
msgstr "Impossible de lister les fichiers JS."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:95
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:103
msgid "Fail to extract messages from JS files using xgettext."
msgstr ""
"Impossible d'extraire les messages depuis les fichiers JS en utilisant "
"xgettext."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:108
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:116
msgid ""
"Fail to extract messages from template files using tsmarty2c.php script."
msgstr ""
"Impossible d'extraire les messages depuis les fichiers template en utilisant "
"le script tsmarty2c.php."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:134
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:142
msgid "Fail to merge messages using msgcat."
msgstr "Impossible de fusionner les messages en utilisant msgcat."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:139
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:147
msgid "Extract messages that need to be translated"
msgstr "Extraire les messages devant être traduit"
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:141
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:149
msgid "This command could be used to generate/update lang/messages.pot file."
msgstr ""
"Cette commande peut-être utilisée pour générer/mettre à jour le fichier lang/"
"messages.pot."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:159
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:167
#, php-format
msgid "Compendium file %s not found."
msgstr "Fichier compendium %s introuvable."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:171
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:179
#, php-format
msgid "POT file not found (%s). Please run extract_messages first."
msgstr ""
"Fichier POT introuvable (%s). Merci de lancer la commande extract_messages "
"pour commencer."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:186
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:325
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:194
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:333
#, php-format
msgid "Lang directory '%s' found"
msgstr "Dossier de langue '%s' trouvé"
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:193
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:332
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:201
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:340
#, php-format
msgid "LC_MESSAGES directory not found in lang '%s' directory, ignore it."
msgstr ""
"Le dossier LC_MESSAGES est introuvable dans le dossier de langue '%s', on "
"l'ignore."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:210
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:218
#, php-format
msgid "Fail to init messages in %s PO file using msginit (%s)."
msgstr ""
"Impossible d'initialiser les messages dans le fichier PO %s en utilisant "
"msginit (%s)."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:230
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:238
#, php-format
msgid "Fail to update messages in %s PO file using msgmerge (%s)."
msgstr ""
"Impossible de mettre à jour les messages dans les fichiers PO %s en "
"utilisant msgmerge (%s)."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:238
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:342
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:246
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:350
#, php-format
msgid "PO file not found in lang '%s' directory, ignore it."
msgstr ""
"Le fichier PO est introuvable dans le dossier de langue '%s', on l'ignore."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:247
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:390
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:255
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:398
#, php-format
msgid "Fail to open root lang directory (%s)."
msgstr "Impossible d'ouvrir le dossier racine des langues (%s)."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:252
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:260
msgid "Update messages in translation PO lang files"
msgstr ""
"Mettre à jour les messages dans les fichiers de traduction PO existants"
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:254
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:262
msgid ""
"This command could be used to init/update PO files in lang/*/LC_MESSAGES "
"directories."
@ -270,28 +270,28 @@ msgstr ""
"Cette commande peut-être utilisée pour initialiser/mettre à jour les "
"fichiers PO les dossiers lang/*/LC_MESSAGES."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:281
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:289
#, php-format
msgid "Lang alias symlink found: %s -> %s"
msgstr "Lien symbolique d'alias de langue trouvé : %s -> %s"
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:291
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:299
#, php-format
msgid "JSON catalog symlink for %s -> %s created (%s)"
msgstr "Lien symbolique de catalogue JSON pour %s -> %s créé (%s)"
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:299
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:307
#, php-format
msgid "Fail to create JSON catalog symlink for %s -> %s (%s)"
msgstr ""
"Impossible de créer le lien symbolique de catalogue JSON pour %s -> %s (%s)"
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:309
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:317
#, php-format
msgid "JSON catalog symlink for %s -> %s already exist (%s)"
msgstr "Le lien symbolique du catalogue JSON pour %s -> %s existe déjà (%s)"
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:317
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:325
#, php-format
msgid ""
"JSON catalog file for %s already exist, but it's not a symlink to %s (%s)"
@ -299,29 +299,29 @@ msgstr ""
"Le catalogue JSON pour %s existe, mais il ne s'agit par d'un lien symbolique "
"vers %s (%s)"
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:356
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:364
#, php-format
msgid "Fail to compile messages from %s PO file as MO file using msgfmt (%s)."
msgstr ""
"Impossible de compiler les messages depuis le fichier PO %s en tant que "
"fichier MO en utilisant msgfmt (%s)."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:367
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:375
#, php-format
msgid "Fail to open %s JSON catalog file in write mode (%s)."
msgstr "Impossible d'ouvrir le catalogue JSON %s en mode écriture (%s)."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:374
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:382
#, php-format
msgid "Fail to write %s JSON catalog in file (%s)."
msgstr "Impossible d'écrire le fichier du catalogue JSON %s (%s)."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:381
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:389
#, php-format
msgid "%s JSON catalog writed (%s)."
msgstr "Catalogue JSON %s créé (%s)."
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:396
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:404
msgid ""
"Compile messages from existing translation PO lang files to corresponding MO "
"files and JSON catalogs"
@ -329,7 +329,7 @@ msgstr ""
"Compiler les messages depuis les fichiers PO de traduction existants vers "
"les fichiers MO et les catalogues JSON correspondant"
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:401
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:409
msgid ""
"This command could be used to compile PO files in lang/*/LC_MESSAGES "
"directories to MO files and as JSON catalogs in public_html/translations."
@ -338,7 +338,7 @@ msgstr ""
"dossiers lang/*/LC_MESSAGES en fichiers MO and en tant que catalogues JSON "
"dans public_html/translations."
#: /home/brenard/dev/eesyphp/includes/mail.php:12
#: /home/brenard/dev/eesyphp/includes/mail.php:14
#, php-format
msgid ""
"\n"
@ -351,11 +351,11 @@ msgstr ""
"\n"
"Mail originalement destiné à %s."
#: /home/brenard/dev/eesyphp/includes/url.php:86
#: /home/brenard/dev/eesyphp/includes/url.php:92
msgid "Whoops ! Page not found"
msgstr "Oups ! Page introuvable"
#: /home/brenard/dev/eesyphp/includes/url.php:109
#: /home/brenard/dev/eesyphp/includes/url.php:117
msgid ""
"Unable to determine the requested page. If the problem persists, please "
"contact support."
@ -363,7 +363,7 @@ msgstr ""
"Impossible de déterminer la page demandée. Si le problème persiste, merci de "
"prendre contact avec le support."
#: /home/brenard/dev/eesyphp/includes/url.php:247
#: /home/brenard/dev/eesyphp/includes/url.php:270
msgid ""
"Unable to determine the requested page (loop detected). If the problem "
"persists, please contact support."
@ -371,54 +371,54 @@ msgstr ""
"Impossible de déterminer la page demandée (boucle détectée). Si le problème "
"persiste, merci de prendre contact avec le support."
#: /home/brenard/dev/eesyphp/includes/url.php:271
#: /home/brenard/dev/eesyphp/includes/url.php:295
msgid "This request cannot be processed."
msgstr "Cette requête ne peut être traitée."
#: /home/brenard/dev/eesyphp/includes/url.php:288
#: /home/brenard/dev/eesyphp/includes/url.php:313
msgid "This request could not be processed correctly."
msgstr "Cette requête n'a put être traitée correctement."
#: /home/brenard/dev/eesyphp/includes/cli.php:7
#: /home/brenard/dev/eesyphp/includes/cli.php:8
#, php-format
msgid "The CLI command '%s' already exists."
msgstr "La commande CLI '%s' n'existe pas."
#: /home/brenard/dev/eesyphp/includes/cli.php:12
#: /home/brenard/dev/eesyphp/includes/cli.php:13
#, php-format
msgid "The CLI command '%s' handler is not callable !"
msgstr "La fonction implémentant la commande CLI '%s' n'est pas exécutable !"
#: /home/brenard/dev/eesyphp/includes/cli.php:45
#: /home/brenard/dev/eesyphp/includes/cli.php:46
#, php-format
msgid "Usage: %s [-h] [-qd] command\n"
msgstr "Utilisation: %s [-h] [-qd] commande\n"
#: /home/brenard/dev/eesyphp/includes/cli.php:46
#: /home/brenard/dev/eesyphp/includes/cli.php:47
msgid " -h Show this message\n"
msgstr " -h Affiche ce message\n"
#: /home/brenard/dev/eesyphp/includes/cli.php:47
#: /home/brenard/dev/eesyphp/includes/cli.php:48
msgid " -q / -d Quiet/Debug mode\n"
msgstr " -q / -d Mode silencieux/debug\n"
#: /home/brenard/dev/eesyphp/includes/cli.php:48
#: /home/brenard/dev/eesyphp/includes/cli.php:49
msgid " --trace Trace mode (the most verbose)\n"
msgstr " --trace Mode trace (le plus verbeux)\n"
#: /home/brenard/dev/eesyphp/includes/cli.php:49
#: /home/brenard/dev/eesyphp/includes/cli.php:50
msgid " command Command to run\n"
msgstr " command La commande à exécuter\n"
#: /home/brenard/dev/eesyphp/includes/cli.php:51
#: /home/brenard/dev/eesyphp/includes/cli.php:52
msgid "Available commands:\n"
msgstr "Commandes disponibles:\n"
#: /home/brenard/dev/eesyphp/includes/cli.php:86
#: /home/brenard/dev/eesyphp/includes/cli.php:94
msgid "Only one command could be executed !"
msgstr "Une seul commande peut-être exécutée !"
#: /home/brenard/dev/eesyphp/includes/cli.php:110
#: /home/brenard/dev/eesyphp/includes/cli.php:119
#, php-format
msgid ""
"Invalid parameter \"%s\".\n"
@ -428,150 +428,150 @@ msgstr ""
"Note : Les paramètres/arguments de la requête doivent être placés après "
"celle-ci."
#: /home/brenard/dev/eesyphp/includes/cli.php:127
#: /home/brenard/dev/eesyphp/includes/cli.php:144
#, php-format
msgid "An exception occured running command %s"
msgstr "Une exception est survenue en exécutant la commande %s"
#: /home/brenard/dev/eesyphp/includes/cli.php:133
#: /home/brenard/dev/eesyphp/includes/cli.php:150
#, php-format
msgid "Item #%s:\n"
msgstr "Élément #%s :\n"
#: /home/brenard/dev/eesyphp/includes/cli.php:134
#: /home/brenard/dev/eesyphp/includes/cli.php:151
#, php-format
msgid "ID: %s"
msgstr "ID : %s"
#: /home/brenard/dev/eesyphp/includes/cli.php:135
#: /home/brenard/dev/eesyphp/includes/cli.php:152
#, php-format
msgid "Name: '%s'"
msgstr "Nom : %s"
#: /home/brenard/dev/eesyphp/includes/cli.php:136
#: /home/brenard/dev/eesyphp/includes/cli.php:153
#, php-format
msgid "Date: %s"
msgstr "Date : %s"
#: /home/brenard/dev/eesyphp/includes/cli.php:137
#: /home/brenard/dev/eesyphp/includes/cli.php:155
#, php-format
msgid "Description: %s"
msgstr "Description : %s"
#: /home/brenard/dev/eesyphp/includes/cli.php:137
#: /home/brenard/dev/eesyphp/includes/cli.php:156
msgid "Not set"
msgstr "Non-défini"
#: /home/brenard/dev/eesyphp/includes/cli.php:138
#: /home/brenard/dev/eesyphp/includes/cli.php:158
#, php-format
msgid "Status: %s"
msgstr "Statut : %s"
#: /home/brenard/dev/eesyphp/includes/cli.php:191
#: /home/brenard/dev/eesyphp/includes/cli.php:211
msgid "No item.\n"
msgstr "Aucun élément.\n"
#: /home/brenard/dev/eesyphp/includes/cli.php:217
#: /home/brenard/dev/eesyphp/includes/cli.php:237
#, php-format
msgid "%d item(s)"
msgstr "%d élément(s)"
#: /home/brenard/dev/eesyphp/includes/cli.php:223
#: /home/brenard/dev/eesyphp/includes/cli.php:243
msgid "List/search items"
msgstr "Lister/rechercher les éléments"
#: /home/brenard/dev/eesyphp/includes/cli.php:224
#: /home/brenard/dev/eesyphp/includes/cli.php:244
msgid "[patterns]"
msgstr "[mots clés]"
#: /home/brenard/dev/eesyphp/includes/cli.php:226
#: /home/brenard/dev/eesyphp/includes/cli.php:246
msgid "-o|--orderby Ordering list criterion. Possible values:"
msgstr "-o|--orderby Critère de tri de la liste. Valeurs possibles :"
#: /home/brenard/dev/eesyphp/includes/cli.php:228
#: /home/brenard/dev/eesyphp/includes/cli.php:248
msgid "-r|--reverse Reverse order"
msgstr "-r|--reverse Ordre inverse"
#: /home/brenard/dev/eesyphp/includes/cli.php:229
#: /home/brenard/dev/eesyphp/includes/cli.php:249
msgid "-s|--status Filter on status. Possible values:"
msgstr "-s|--status Filtrer sur le statut. Valeurs possibles :"
#: /home/brenard/dev/eesyphp/includes/cli.php:236
#: /home/brenard/dev/eesyphp/includes/cli.php:256
msgid "You must provide a valid ID."
msgstr "Vous devez fournir un ID valide."
#: /home/brenard/dev/eesyphp/includes/cli.php:242
#: /home/brenard/dev/eesyphp/includes/cli.php:266
#: /home/brenard/dev/eesyphp/includes/cli.php:262
#: /home/brenard/dev/eesyphp/includes/cli.php:286
#, php-format
msgid "Item #%s not found."
msgstr "Élément #%s introuvable."
#: /home/brenard/dev/eesyphp/includes/cli.php:250
#: /home/brenard/dev/eesyphp/includes/cli.php:270
msgid "Show item"
msgstr "Voir un élément"
#: /home/brenard/dev/eesyphp/includes/cli.php:251
#: /home/brenard/dev/eesyphp/includes/cli.php:271
msgid "[ID]"
msgstr "[ID]"
#: /home/brenard/dev/eesyphp/includes/cli.php:256
#: /home/brenard/dev/eesyphp/includes/cli.php:276
msgid "You must provide item ID."
msgstr "Vous devez fournir un ID valide."
#: /home/brenard/dev/eesyphp/includes/cli.php:260
#: /home/brenard/dev/eesyphp/includes/cli.php:280
msgid "Invalid item ID"
msgstr "ID d'élément invalide"
#: /home/brenard/dev/eesyphp/includes/cli.php:271
#: /home/brenard/dev/eesyphp/includes/cli.php:291
msgid "Are you sure you want to delete this item? Type 'yes' to continue: "
msgstr ""
"Êtes-vous sûre de vouloir supprimer cet élément ? Taper 'yes' pour "
"continuer : "
#: /home/brenard/dev/eesyphp/includes/cli.php:275
#: /home/brenard/dev/eesyphp/includes/cli.php:295
msgid "User cancel"
msgstr "L'utilisateur a annulé"
#: /home/brenard/dev/eesyphp/includes/cli.php:281
#: /home/brenard/dev/eesyphp/includes/cli.php:301
#, php-format
msgid "An error occured deleting item #%d."
msgstr "Une erreur est survenue en supprimant l'élément #%d."
#: /home/brenard/dev/eesyphp/includes/cli.php:288
#: /home/brenard/dev/eesyphp/includes/cli.php:308
msgid "Delete item"
msgstr "Supprimer un élément"
#: /home/brenard/dev/eesyphp/includes/cli.php:289
#: /home/brenard/dev/eesyphp/includes/cli.php:309
msgid "[item ID]"
msgstr "[ID de l'élément]"
#: /home/brenard/dev/eesyphp/includes/cli.php:301
#: /home/brenard/dev/eesyphp/includes/cli.php:321
msgid "Export items (as CSV)"
msgstr "Exporter les éléments (au format CSV)"
#: /home/brenard/dev/eesyphp/includes/cli.php:302
#: /home/brenard/dev/eesyphp/includes/cli.php:322
msgid "[output file path]"
msgstr "[chemin du fichier de sortie]"
#: /home/brenard/dev/eesyphp/includes/cli.php:314
#: /home/brenard/dev/eesyphp/includes/cli.php:337
msgid "Restore items (from CSV)"
msgstr "Restaurer les éléments (depuis un fichier CSV)"
#: /home/brenard/dev/eesyphp/includes/cli.php:315
#: /home/brenard/dev/eesyphp/includes/cli.php:338
msgid "[input file path]"
msgstr "[chemin du fichier d'entrée]"
#: /home/brenard/dev/eesyphp/includes/cli.php:374
#: /home/brenard/dev/eesyphp/includes/cli.php:411
msgid "Cron to handle item expiration"
msgstr "Cron gérant l'expiration des éléments"
#: /home/brenard/dev/eesyphp/includes/cli.php:377
#: /home/brenard/dev/eesyphp/includes/cli.php:414
msgid "-j/--just-try Just-try mode : do not really removed expired item(s)"
msgstr ""
"-j/--just-try Mode just-try : Ne supprime pas réellement les éléments "
"expirés"
#: /home/brenard/dev/eesyphp/includes/cli.php:378
#: /home/brenard/dev/eesyphp/includes/cli.php:415
msgid "-m/--max-age Item expiration limit (in days, optional)"
msgstr ""
"-m/--max-age Limite d'expiration des éléments (en secondes, optionnel)"

View file

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2022-04-24 16:47+0200\n"
"PO-Revision-Date: 2022-04-24 16:47+0200\n"
"POT-Creation-Date: 2022-04-24 17:42+0200\n"
"PO-Revision-Date: 2022-04-24 17:42+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"

View file

@ -1,7 +1,7 @@
msgid ""
msgstr ""
"POT-Creation-Date: 2022-04-24 16:47+0200\n"
"PO-Revision-Date: 2022-04-24 16:47+0200\n"
"POT-Creation-Date: 2022-04-24 17:42+0200\n"
"PO-Revision-Date: 2022-04-24 17:42+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@ -11,8 +11,8 @@ msgid "Invalid element identifier."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-helpers.php:9
#: /home/brenard/dev/eesyphp/includes/url-public.php:205
#: /home/brenard/dev/eesyphp/includes/url-public.php:229
#: /home/brenard/dev/eesyphp/includes/url-public.php:219
#: /home/brenard/dev/eesyphp/includes/url-public.php:245
#, php-format
msgid "Item #% s not found."
msgstr ""
@ -34,100 +34,100 @@ msgstr ""
msgid "Hello world !"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:27
#: /home/brenard/dev/eesyphp/includes/url-public.php:31
msgid "Any"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:84
#: /home/brenard/dev/eesyphp/includes/url-public.php:89
msgid ""
"An error occurred while listing the items. If the problem persists, please "
"contact support."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:97
#: /home/brenard/dev/eesyphp/includes/url-public.php:104
msgid "Search"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:120
#: /home/brenard/dev/eesyphp/includes/url-public.php:129
#, php-format
msgid "Element %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:132
#: /home/brenard/dev/eesyphp/includes/url-public.php:142
#, php-format
msgid "The element '% s' has been created."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:136
#: /home/brenard/dev/eesyphp/includes/url-public.php:146
msgid "An error occurred while saving this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:142
#: /home/brenard/dev/eesyphp/includes/url-public.php:153
msgid ""
"There are errors preventing this item from being saved. Please correct them "
"before attempting to add this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:148
#: /home/brenard/dev/eesyphp/includes/url-public.php:160
msgid "New"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:158
#: /home/brenard/dev/eesyphp/includes/url-public.php:170
msgid "You cannot edit this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:171
#: /home/brenard/dev/eesyphp/includes/url-public.php:183
#, php-format
msgid "You have not made any changes to element '% s'."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:175
#: /home/brenard/dev/eesyphp/includes/url-public.php:187
#, php-format
msgid "The element '% s' has been updated successfully."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:179
#: /home/brenard/dev/eesyphp/includes/url-public.php:191
msgid "An error occurred while updating this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:186
#: /home/brenard/dev/eesyphp/includes/url-public.php:199
msgid ""
"There are errors preventing this item from being saved. Please correct them "
"before attempting to save your changes."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:196
#: /home/brenard/dev/eesyphp/includes/url-public.php:210
#, php-format
msgid "Element %s: Modification"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:209
#: /home/brenard/dev/eesyphp/includes/url-public.php:223
msgid "This item is already archived."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:212
#: /home/brenard/dev/eesyphp/includes/url-public.php:226
msgid "You cannot archive this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:215
#: /home/brenard/dev/eesyphp/includes/url-public.php:230
#, php-format
msgid "The element '% s' has been archived successfully."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:218
#: /home/brenard/dev/eesyphp/includes/url-public.php:234
msgid "An error occurred while archiving this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:232
#: /home/brenard/dev/eesyphp/includes/url-public.php:248
msgid "You cannot delete this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:235
#: /home/brenard/dev/eesyphp/includes/url-public.php:252
#, php-format
msgid "The element '% s' has been deleted successfully."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:238
#: /home/brenard/dev/eesyphp/includes/url-public.php:256
msgid "An error occurred while deleting this item."
msgstr ""
@ -151,152 +151,152 @@ msgstr ""
msgid "Archived"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:51
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:59
msgid "Fail to list PHP files."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:68
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:76
msgid "Fail to extract messages from PHP files using xgettext."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:78
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:86
msgid "Fail to list JS files."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:95
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:103
msgid "Fail to extract messages from JS files using xgettext."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:108
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:116
msgid ""
"Fail to extract messages from template files using tsmarty2c.php script."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:134
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:142
msgid "Fail to merge messages using msgcat."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:139
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:147
msgid "Extract messages that need to be translated"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:141
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:149
msgid "This command could be used to generate/update lang/messages.pot file."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:159
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:167
#, php-format
msgid "Compendium file %s not found."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:171
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:179
#, php-format
msgid "POT file not found (%s). Please run extract_messages first."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:186
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:325
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:194
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:333
#, php-format
msgid "Lang directory '%s' found"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:193
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:332
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:201
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:340
#, php-format
msgid "LC_MESSAGES directory not found in lang '%s' directory, ignore it."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:210
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:218
#, php-format
msgid "Fail to init messages in %s PO file using msginit (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:230
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:238
#, php-format
msgid "Fail to update messages in %s PO file using msgmerge (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:238
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:342
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:246
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:350
#, php-format
msgid "PO file not found in lang '%s' directory, ignore it."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:247
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:390
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:255
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:398
#, php-format
msgid "Fail to open root lang directory (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:252
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:260
msgid "Update messages in translation PO lang files"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:254
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:262
msgid ""
"This command could be used to init/update PO files in lang/*/LC_MESSAGES "
"directories."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:281
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:289
#, php-format
msgid "Lang alias symlink found: %s -> %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:291
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:299
#, php-format
msgid "JSON catalog symlink for %s -> %s created (%s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:299
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:307
#, php-format
msgid "Fail to create JSON catalog symlink for %s -> %s (%s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:309
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:317
#, php-format
msgid "JSON catalog symlink for %s -> %s already exist (%s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:317
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:325
#, php-format
msgid ""
"JSON catalog file for %s already exist, but it's not a symlink to %s (%s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:356
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:364
#, php-format
msgid "Fail to compile messages from %s PO file as MO file using msgfmt (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:367
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:375
#, php-format
msgid "Fail to open %s JSON catalog file in write mode (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:374
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:382
#, php-format
msgid "Fail to write %s JSON catalog in file (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:381
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:389
#, php-format
msgid "%s JSON catalog writed (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:396
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:404
msgid ""
"Compile messages from existing translation PO lang files to corresponding MO "
"files and JSON catalogs"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:401
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:409
msgid ""
"This command could be used to compile PO files in lang/*/LC_MESSAGES "
"directories to MO files and as JSON catalogs in public_html/translations."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/mail.php:12
#: /home/brenard/dev/eesyphp/includes/mail.php:14
#, php-format
msgid ""
"\n"
@ -305,216 +305,216 @@ msgid ""
"Mail initialy intended for %s."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url.php:86
#: /home/brenard/dev/eesyphp/includes/url.php:92
msgid "Whoops ! Page not found"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url.php:109
#: /home/brenard/dev/eesyphp/includes/url.php:117
msgid ""
"Unable to determine the requested page. If the problem persists, please "
"contact support."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url.php:247
#: /home/brenard/dev/eesyphp/includes/url.php:270
msgid ""
"Unable to determine the requested page (loop detected). If the problem "
"persists, please contact support."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url.php:271
#: /home/brenard/dev/eesyphp/includes/url.php:295
msgid "This request cannot be processed."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url.php:288
#: /home/brenard/dev/eesyphp/includes/url.php:313
msgid "This request could not be processed correctly."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:7
#: /home/brenard/dev/eesyphp/includes/cli.php:8
#, php-format
msgid "The CLI command '%s' already exists."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:12
#: /home/brenard/dev/eesyphp/includes/cli.php:13
#, php-format
msgid "The CLI command '%s' handler is not callable !"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:45
#: /home/brenard/dev/eesyphp/includes/cli.php:46
#, php-format
msgid "Usage: %s [-h] [-qd] command\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:46
#: /home/brenard/dev/eesyphp/includes/cli.php:47
msgid " -h Show this message\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:47
#: /home/brenard/dev/eesyphp/includes/cli.php:48
msgid " -q / -d Quiet/Debug mode\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:48
#: /home/brenard/dev/eesyphp/includes/cli.php:49
msgid " --trace Trace mode (the most verbose)\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:49
#: /home/brenard/dev/eesyphp/includes/cli.php:50
msgid " command Command to run\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:51
#: /home/brenard/dev/eesyphp/includes/cli.php:52
msgid "Available commands:\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:86
#: /home/brenard/dev/eesyphp/includes/cli.php:94
msgid "Only one command could be executed !"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:110
#: /home/brenard/dev/eesyphp/includes/cli.php:119
#, php-format
msgid ""
"Invalid parameter \"%s\".\n"
"Note: Command's parameter/argument must be place after the command."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:127
#: /home/brenard/dev/eesyphp/includes/cli.php:144
#, php-format
msgid "An exception occured running command %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:133
#: /home/brenard/dev/eesyphp/includes/cli.php:150
#, php-format
msgid "Item #%s:\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:134
#: /home/brenard/dev/eesyphp/includes/cli.php:151
#, php-format
msgid "ID: %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:135
#: /home/brenard/dev/eesyphp/includes/cli.php:152
#, php-format
msgid "Name: '%s'"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:136
#: /home/brenard/dev/eesyphp/includes/cli.php:153
#, php-format
msgid "Date: %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:137
#: /home/brenard/dev/eesyphp/includes/cli.php:155
#, php-format
msgid "Description: %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:137
#: /home/brenard/dev/eesyphp/includes/cli.php:156
msgid "Not set"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:138
#: /home/brenard/dev/eesyphp/includes/cli.php:158
#, php-format
msgid "Status: %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:191
#: /home/brenard/dev/eesyphp/includes/cli.php:211
msgid "No item.\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:217
#: /home/brenard/dev/eesyphp/includes/cli.php:237
#, php-format
msgid "%d item(s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:223
#: /home/brenard/dev/eesyphp/includes/cli.php:243
msgid "List/search items"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:224
#: /home/brenard/dev/eesyphp/includes/cli.php:244
msgid "[patterns]"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:226
#: /home/brenard/dev/eesyphp/includes/cli.php:246
msgid "-o|--orderby Ordering list criterion. Possible values:"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:228
#: /home/brenard/dev/eesyphp/includes/cli.php:248
msgid "-r|--reverse Reverse order"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:229
#: /home/brenard/dev/eesyphp/includes/cli.php:249
msgid "-s|--status Filter on status. Possible values:"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:236
#: /home/brenard/dev/eesyphp/includes/cli.php:256
msgid "You must provide a valid ID."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:242
#: /home/brenard/dev/eesyphp/includes/cli.php:266
#: /home/brenard/dev/eesyphp/includes/cli.php:262
#: /home/brenard/dev/eesyphp/includes/cli.php:286
#, php-format
msgid "Item #%s not found."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:250
#: /home/brenard/dev/eesyphp/includes/cli.php:270
msgid "Show item"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:251
#: /home/brenard/dev/eesyphp/includes/cli.php:271
msgid "[ID]"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:256
#: /home/brenard/dev/eesyphp/includes/cli.php:276
msgid "You must provide item ID."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:260
#: /home/brenard/dev/eesyphp/includes/cli.php:280
msgid "Invalid item ID"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:271
#: /home/brenard/dev/eesyphp/includes/cli.php:291
msgid "Are you sure you want to delete this item? Type 'yes' to continue: "
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:275
#: /home/brenard/dev/eesyphp/includes/cli.php:295
msgid "User cancel"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:281
#: /home/brenard/dev/eesyphp/includes/cli.php:301
#, php-format
msgid "An error occured deleting item #%d."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:288
#: /home/brenard/dev/eesyphp/includes/cli.php:308
msgid "Delete item"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:289
#: /home/brenard/dev/eesyphp/includes/cli.php:309
msgid "[item ID]"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:301
#: /home/brenard/dev/eesyphp/includes/cli.php:321
msgid "Export items (as CSV)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:302
#: /home/brenard/dev/eesyphp/includes/cli.php:322
msgid "[output file path]"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:314
#: /home/brenard/dev/eesyphp/includes/cli.php:337
msgid "Restore items (from CSV)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:315
#: /home/brenard/dev/eesyphp/includes/cli.php:338
msgid "[input file path]"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:374
#: /home/brenard/dev/eesyphp/includes/cli.php:411
msgid "Cron to handle item expiration"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:377
#: /home/brenard/dev/eesyphp/includes/cli.php:414
msgid "-j/--just-try Just-try mode : do not really removed expired item(s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:378
#: /home/brenard/dev/eesyphp/includes/cli.php:415
msgid "-m/--max-age Item expiration limit (in days, optional)"
msgstr ""

View file

@ -3,8 +3,8 @@ msgid "Invalid element identifier."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-helpers.php:9
#: /home/brenard/dev/eesyphp/includes/url-public.php:205
#: /home/brenard/dev/eesyphp/includes/url-public.php:229
#: /home/brenard/dev/eesyphp/includes/url-public.php:219
#: /home/brenard/dev/eesyphp/includes/url-public.php:245
#, php-format
msgid "Item #% s not found."
msgstr ""
@ -26,100 +26,100 @@ msgstr ""
msgid "Hello world !"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:27
#: /home/brenard/dev/eesyphp/includes/url-public.php:31
msgid "Any"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:84
#: /home/brenard/dev/eesyphp/includes/url-public.php:89
msgid ""
"An error occurred while listing the items. If the problem persists, please "
"contact support."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:97
#: /home/brenard/dev/eesyphp/includes/url-public.php:104
msgid "Search"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:120
#: /home/brenard/dev/eesyphp/includes/url-public.php:129
#, php-format
msgid "Element %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:132
#: /home/brenard/dev/eesyphp/includes/url-public.php:142
#, php-format
msgid "The element '% s' has been created."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:136
#: /home/brenard/dev/eesyphp/includes/url-public.php:146
msgid "An error occurred while saving this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:142
#: /home/brenard/dev/eesyphp/includes/url-public.php:153
msgid ""
"There are errors preventing this item from being saved. Please correct them "
"before attempting to add this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:148
#: /home/brenard/dev/eesyphp/includes/url-public.php:160
msgid "New"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:158
#: /home/brenard/dev/eesyphp/includes/url-public.php:170
msgid "You cannot edit this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:171
#: /home/brenard/dev/eesyphp/includes/url-public.php:183
#, php-format
msgid "You have not made any changes to element '% s'."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:175
#: /home/brenard/dev/eesyphp/includes/url-public.php:187
#, php-format
msgid "The element '% s' has been updated successfully."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:179
#: /home/brenard/dev/eesyphp/includes/url-public.php:191
msgid "An error occurred while updating this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:186
#: /home/brenard/dev/eesyphp/includes/url-public.php:199
msgid ""
"There are errors preventing this item from being saved. Please correct them "
"before attempting to save your changes."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:196
#: /home/brenard/dev/eesyphp/includes/url-public.php:210
#, php-format
msgid "Element %s: Modification"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:209
#: /home/brenard/dev/eesyphp/includes/url-public.php:223
msgid "This item is already archived."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:212
#: /home/brenard/dev/eesyphp/includes/url-public.php:226
msgid "You cannot archive this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:215
#: /home/brenard/dev/eesyphp/includes/url-public.php:230
#, php-format
msgid "The element '% s' has been archived successfully."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:218
#: /home/brenard/dev/eesyphp/includes/url-public.php:234
msgid "An error occurred while archiving this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:232
#: /home/brenard/dev/eesyphp/includes/url-public.php:248
msgid "You cannot delete this item."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:235
#: /home/brenard/dev/eesyphp/includes/url-public.php:252
#, php-format
msgid "The element '% s' has been deleted successfully."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url-public.php:238
#: /home/brenard/dev/eesyphp/includes/url-public.php:256
msgid "An error occurred while deleting this item."
msgstr ""
@ -143,152 +143,152 @@ msgstr ""
msgid "Archived"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:51
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:59
msgid "Fail to list PHP files."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:68
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:76
msgid "Fail to extract messages from PHP files using xgettext."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:78
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:86
msgid "Fail to list JS files."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:95
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:103
msgid "Fail to extract messages from JS files using xgettext."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:108
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:116
msgid ""
"Fail to extract messages from template files using tsmarty2c.php script."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:134
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:142
msgid "Fail to merge messages using msgcat."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:139
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:147
msgid "Extract messages that need to be translated"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:141
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:149
msgid "This command could be used to generate/update lang/messages.pot file."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:159
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:167
#, php-format
msgid "Compendium file %s not found."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:171
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:179
#, php-format
msgid "POT file not found (%s). Please run extract_messages first."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:186
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:325
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:194
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:333
#, php-format
msgid "Lang directory '%s' found"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:193
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:332
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:201
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:340
#, php-format
msgid "LC_MESSAGES directory not found in lang '%s' directory, ignore it."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:210
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:218
#, php-format
msgid "Fail to init messages in %s PO file using msginit (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:230
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:238
#, php-format
msgid "Fail to update messages in %s PO file using msgmerge (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:238
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:342
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:246
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:350
#, php-format
msgid "PO file not found in lang '%s' directory, ignore it."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:247
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:390
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:255
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:398
#, php-format
msgid "Fail to open root lang directory (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:252
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:260
msgid "Update messages in translation PO lang files"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:254
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:262
msgid ""
"This command could be used to init/update PO files in lang/*/LC_MESSAGES "
"directories."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:281
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:289
#, php-format
msgid "Lang alias symlink found: %s -> %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:291
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:299
#, php-format
msgid "JSON catalog symlink for %s -> %s created (%s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:299
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:307
#, php-format
msgid "Fail to create JSON catalog symlink for %s -> %s (%s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:309
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:317
#, php-format
msgid "JSON catalog symlink for %s -> %s already exist (%s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:317
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:325
#, php-format
msgid ""
"JSON catalog file for %s already exist, but it's not a symlink to %s (%s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:356
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:364
#, php-format
msgid "Fail to compile messages from %s PO file as MO file using msgfmt (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:367
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:375
#, php-format
msgid "Fail to open %s JSON catalog file in write mode (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:374
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:382
#, php-format
msgid "Fail to write %s JSON catalog in file (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:381
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:389
#, php-format
msgid "%s JSON catalog writed (%s)."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:396
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:404
msgid ""
"Compile messages from existing translation PO lang files to corresponding MO "
"files and JSON catalogs"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:401
#: /home/brenard/dev/eesyphp/includes/translation-cli.php:409
msgid ""
"This command could be used to compile PO files in lang/*/LC_MESSAGES "
"directories to MO files and as JSON catalogs in public_html/translations."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/mail.php:12
#: /home/brenard/dev/eesyphp/includes/mail.php:14
#, php-format
msgid ""
"\n"
@ -297,215 +297,215 @@ msgid ""
"Mail initialy intended for %s."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url.php:86
#: /home/brenard/dev/eesyphp/includes/url.php:92
msgid "Whoops ! Page not found"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url.php:109
#: /home/brenard/dev/eesyphp/includes/url.php:117
msgid ""
"Unable to determine the requested page. If the problem persists, please "
"contact support."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url.php:247
#: /home/brenard/dev/eesyphp/includes/url.php:270
msgid ""
"Unable to determine the requested page (loop detected). If the problem "
"persists, please contact support."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url.php:271
#: /home/brenard/dev/eesyphp/includes/url.php:295
msgid "This request cannot be processed."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/url.php:288
#: /home/brenard/dev/eesyphp/includes/url.php:313
msgid "This request could not be processed correctly."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:7
#: /home/brenard/dev/eesyphp/includes/cli.php:8
#, php-format
msgid "The CLI command '%s' already exists."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:12
#: /home/brenard/dev/eesyphp/includes/cli.php:13
#, php-format
msgid "The CLI command '%s' handler is not callable !"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:45
#: /home/brenard/dev/eesyphp/includes/cli.php:46
#, php-format
msgid "Usage: %s [-h] [-qd] command\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:46
#: /home/brenard/dev/eesyphp/includes/cli.php:47
msgid " -h Show this message\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:47
#: /home/brenard/dev/eesyphp/includes/cli.php:48
msgid " -q / -d Quiet/Debug mode\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:48
#: /home/brenard/dev/eesyphp/includes/cli.php:49
msgid " --trace Trace mode (the most verbose)\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:49
#: /home/brenard/dev/eesyphp/includes/cli.php:50
msgid " command Command to run\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:51
#: /home/brenard/dev/eesyphp/includes/cli.php:52
msgid "Available commands:\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:86
#: /home/brenard/dev/eesyphp/includes/cli.php:94
msgid "Only one command could be executed !"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:110
#: /home/brenard/dev/eesyphp/includes/cli.php:119
#, php-format
msgid ""
"Invalid parameter \"%s\".\n"
"Note: Command's parameter/argument must be place after the command."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:127
#: /home/brenard/dev/eesyphp/includes/cli.php:144
#, php-format
msgid "An exception occured running command %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:133
#: /home/brenard/dev/eesyphp/includes/cli.php:150
#, php-format
msgid "Item #%s:\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:134
#: /home/brenard/dev/eesyphp/includes/cli.php:151
#, php-format
msgid "ID: %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:135
#: /home/brenard/dev/eesyphp/includes/cli.php:152
#, php-format
msgid "Name: '%s'"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:136
#: /home/brenard/dev/eesyphp/includes/cli.php:153
#, php-format
msgid "Date: %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:137
#: /home/brenard/dev/eesyphp/includes/cli.php:155
#, php-format
msgid "Description: %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:137
#: /home/brenard/dev/eesyphp/includes/cli.php:156
msgid "Not set"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:138
#: /home/brenard/dev/eesyphp/includes/cli.php:158
#, php-format
msgid "Status: %s"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:191
#: /home/brenard/dev/eesyphp/includes/cli.php:211
msgid "No item.\n"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:217
#: /home/brenard/dev/eesyphp/includes/cli.php:237
#, php-format
msgid "%d item(s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:223
#: /home/brenard/dev/eesyphp/includes/cli.php:243
msgid "List/search items"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:224
#: /home/brenard/dev/eesyphp/includes/cli.php:244
msgid "[patterns]"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:226
#: /home/brenard/dev/eesyphp/includes/cli.php:246
msgid "-o|--orderby Ordering list criterion. Possible values:"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:228
#: /home/brenard/dev/eesyphp/includes/cli.php:248
msgid "-r|--reverse Reverse order"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:229
#: /home/brenard/dev/eesyphp/includes/cli.php:249
msgid "-s|--status Filter on status. Possible values:"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:236
#: /home/brenard/dev/eesyphp/includes/cli.php:256
msgid "You must provide a valid ID."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:242
#: /home/brenard/dev/eesyphp/includes/cli.php:266
#: /home/brenard/dev/eesyphp/includes/cli.php:262
#: /home/brenard/dev/eesyphp/includes/cli.php:286
#, php-format
msgid "Item #%s not found."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:250
#: /home/brenard/dev/eesyphp/includes/cli.php:270
msgid "Show item"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:251
#: /home/brenard/dev/eesyphp/includes/cli.php:271
msgid "[ID]"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:256
#: /home/brenard/dev/eesyphp/includes/cli.php:276
msgid "You must provide item ID."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:260
#: /home/brenard/dev/eesyphp/includes/cli.php:280
msgid "Invalid item ID"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:271
#: /home/brenard/dev/eesyphp/includes/cli.php:291
msgid "Are you sure you want to delete this item? Type 'yes' to continue: "
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:275
#: /home/brenard/dev/eesyphp/includes/cli.php:295
msgid "User cancel"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:281
#: /home/brenard/dev/eesyphp/includes/cli.php:301
#, php-format
msgid "An error occured deleting item #%d."
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:288
#: /home/brenard/dev/eesyphp/includes/cli.php:308
msgid "Delete item"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:289
#: /home/brenard/dev/eesyphp/includes/cli.php:309
msgid "[item ID]"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:301
#: /home/brenard/dev/eesyphp/includes/cli.php:321
msgid "Export items (as CSV)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:302
#: /home/brenard/dev/eesyphp/includes/cli.php:322
msgid "[output file path]"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:314
#: /home/brenard/dev/eesyphp/includes/cli.php:337
msgid "Restore items (from CSV)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:315
#: /home/brenard/dev/eesyphp/includes/cli.php:338
msgid "[input file path]"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:374
#: /home/brenard/dev/eesyphp/includes/cli.php:411
msgid "Cron to handle item expiration"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:377
#: /home/brenard/dev/eesyphp/includes/cli.php:414
msgid "-j/--just-try Just-try mode : do not really removed expired item(s)"
msgstr ""
#: /home/brenard/dev/eesyphp/includes/cli.php:378
#: /home/brenard/dev/eesyphp/includes/cli.php:415
msgid "-m/--max-age Item expiration limit (in days, optional)"
msgstr ""