Add simple time tracking system to permit to display page computing time
This commit is contained in:
parent
32e27b931e
commit
a274f04a1a
10 changed files with 565 additions and 356 deletions
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -1,9 +1,9 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"POT-Creation-Date: 2023-03-11 11:52+0100\n"
|
||||
"POT-Creation-Date: 2023-03-22 18:21+0100\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Benjamin Renard <brenard@zionetrix.net>\n"
|
||||
"Last-Translator: Benjamin Renard <brenard@easter-eggs.com>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: fr_FR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -12,6 +12,108 @@ msgstr ""
|
|||
"X-Generator: Poedit 2.4.2\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#: Tpl.php:437
|
||||
msgid "No template specified."
|
||||
msgstr "Aucun template spécifié."
|
||||
|
||||
#: Tpl.php:471
|
||||
msgid "An error occurred while displaying this page."
|
||||
msgstr "Une erreur est survenue en affichant cette page."
|
||||
|
||||
#: Tpl.php:871
|
||||
msgid "Unkwown"
|
||||
msgstr "Inconnu"
|
||||
|
||||
#: Db.php:80
|
||||
msgid "Unable to connect to the database."
|
||||
msgstr "Impossible de se connecter à la base de données."
|
||||
|
||||
#: Auth/Form.php:41
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nom d'utilisateur ou mot de passe invalide."
|
||||
|
||||
#: Auth/Form.php:74
|
||||
msgid "Sign in"
|
||||
msgstr "Connexion"
|
||||
|
||||
#: Auth/Http.php:37 Url.php:181
|
||||
msgid "Authentication required"
|
||||
msgstr "Authentification requise"
|
||||
|
||||
#: Auth/Http.php:124 Auth/Http.php:127 Url.php:185
|
||||
msgid "Access denied"
|
||||
msgstr "Accès interdit"
|
||||
|
||||
#: Auth/Http.php:128 Auth/Http.php:132
|
||||
msgid "You must login to access this page."
|
||||
msgstr "Vous devez vous connecter pour accéder à cette page."
|
||||
|
||||
#: Url.php:177
|
||||
msgid "Bad request"
|
||||
msgstr "Mauvaise requête"
|
||||
|
||||
#: Url.php:178
|
||||
msgid "Invalid request."
|
||||
msgstr "Requête invalide."
|
||||
|
||||
#: Url.php:182
|
||||
msgid "You have to be authenticated to access to this page."
|
||||
msgstr "Vous devez être authentifié pour accéder à cette page."
|
||||
|
||||
#: Url.php:186
|
||||
msgid ""
|
||||
"You do not have access to this application. If you think this is an error, "
|
||||
"please contact support."
|
||||
msgstr ""
|
||||
"Vous n'avez pas accès à cette application. Si vous pensez qu'il s'agit d'une "
|
||||
"erreur, merci de prendre contact avec le support."
|
||||
|
||||
#: Url.php:189
|
||||
msgid "Whoops ! Page not found"
|
||||
msgstr "Oups ! Page introuvable"
|
||||
|
||||
#: Url.php:190
|
||||
msgid "The requested page can not be found."
|
||||
msgstr "La page demandée est introuvable."
|
||||
|
||||
#: Url.php:198
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: Url.php:199
|
||||
msgid "An unknown error occurred. If problem persist, please contact support."
|
||||
msgstr ""
|
||||
"Une erreur inconnue est survenue. Si le problème persiste, merci de prendre "
|
||||
"contact avec le support."
|
||||
|
||||
#: Url.php:262
|
||||
msgid ""
|
||||
"Unable to determine the requested page. If the problem persists, please "
|
||||
"contact support."
|
||||
msgstr ""
|
||||
"Impossible de déterminer la page demandée. Si le problème persiste, merci de "
|
||||
"prendre contact avec le support."
|
||||
|
||||
#: Url.php:416
|
||||
msgid ""
|
||||
"Unable to determine the requested page (loop detected). If the problem "
|
||||
"persists, please contact support."
|
||||
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."
|
||||
|
||||
#: Url.php:446
|
||||
msgid "This request cannot be processed."
|
||||
msgstr "Cette requête ne peut être traitée."
|
||||
|
||||
#: Url.php:456
|
||||
msgid "Authentication required but fail to authenticate you."
|
||||
msgstr "Authentification requise mais impossible pour vous authentifier."
|
||||
|
||||
#: Url.php:475
|
||||
msgid "This request could not be processed correctly."
|
||||
msgstr "Cette requête n'a put être traitée correctement."
|
||||
|
||||
#: Cli.php:44
|
||||
msgid "Create a new project using EesyPHP framework"
|
||||
msgstr "Créer un nouveau projet utilisant le framework EesyPHP"
|
||||
|
@ -138,140 +240,51 @@ msgstr ""
|
|||
msgid "Please enter password:"
|
||||
msgstr "Merci de saisir le mot de passe :"
|
||||
|
||||
#: Db.php:74
|
||||
msgid "Unable to connect to the database."
|
||||
msgstr "Impossible de se connecter à la base de données."
|
||||
#: functions.php:304
|
||||
msgid "d"
|
||||
msgstr "j"
|
||||
|
||||
#: Auth/Form.php:41
|
||||
msgid "Invalid username or password."
|
||||
msgstr "Nom d'utilisateur ou mot de passe invalide."
|
||||
#: functions.php:305
|
||||
msgid "h"
|
||||
msgstr "h"
|
||||
|
||||
#: Auth/Form.php:74
|
||||
msgid "Sign in"
|
||||
msgstr "Connexion"
|
||||
#: functions.php:306
|
||||
msgid "m"
|
||||
msgstr "m"
|
||||
|
||||
#: Auth/Http.php:37 Url.php:181
|
||||
msgid "Authentication required"
|
||||
msgstr "Authentification requise"
|
||||
#: functions.php:307
|
||||
msgid "s"
|
||||
msgstr "s"
|
||||
|
||||
#: Auth/Http.php:124 Auth/Http.php:127 Url.php:185
|
||||
msgid "Access denied"
|
||||
msgstr "Accès interdit"
|
||||
#: functions.php:308
|
||||
msgid "ms"
|
||||
msgstr "ms"
|
||||
|
||||
#: Auth/Http.php:128 Auth/Http.php:132
|
||||
msgid "You must login to access this page."
|
||||
msgstr "Vous devez vous connecter pour accéder à cette page."
|
||||
#: functions.php:309
|
||||
msgid "ns"
|
||||
msgstr "ns"
|
||||
|
||||
#: Email.php:101
|
||||
#: functions.php:327
|
||||
#, php-format
|
||||
msgid "</hr><p><small>Mail initialy intended for %s.</small></p>"
|
||||
msgstr "</hr><p><small>Email initialement destiné à %s.</small></p>"
|
||||
msgid "Less than 1%s"
|
||||
msgstr "Moins de 1%s"
|
||||
|
||||
#: Email.php:102
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"Mail initialy intended for %s."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"Mail originalement destiné à %s."
|
||||
|
||||
#: Email.php:139
|
||||
#, php-format
|
||||
msgid "<p><small>%s: %s</small></p>"
|
||||
msgstr "<p><small>%s: %s</small></p>"
|
||||
|
||||
#: Email.php:140
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"%s: %s"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"%s: %s"
|
||||
|
||||
#: Tpl.php:421
|
||||
msgid "No template specified."
|
||||
msgstr "Aucun template spécifié."
|
||||
|
||||
#: Tpl.php:454
|
||||
msgid "An error occurred while displaying this page."
|
||||
msgstr "Une erreur est survenue en affichant cette page."
|
||||
|
||||
#: Url.php:177
|
||||
msgid "Bad request"
|
||||
msgstr "Mauvaise requête"
|
||||
|
||||
#: Url.php:178
|
||||
msgid "Invalid request."
|
||||
msgstr "Requête invalide."
|
||||
|
||||
#: Url.php:182
|
||||
msgid "You have to be authenticated to access to this page."
|
||||
msgstr "Vous devez être authentifié pour accéder à cette page."
|
||||
|
||||
#: Url.php:186
|
||||
msgid ""
|
||||
"You do not have access to this application. If you think this is an error, "
|
||||
"please contact support."
|
||||
msgstr ""
|
||||
"Vous n'avez pas accès à cette application. Si vous pensez qu'il s'agit d'une "
|
||||
"erreur, merci de prendre contact avec le support."
|
||||
|
||||
#: Url.php:189
|
||||
msgid "Whoops ! Page not found"
|
||||
msgstr "Oups ! Page introuvable"
|
||||
|
||||
#: Url.php:190
|
||||
msgid "The requested page can not be found."
|
||||
msgstr "La page demandée est introuvable."
|
||||
|
||||
#: Url.php:198
|
||||
msgid "Error"
|
||||
msgstr "Erreur"
|
||||
|
||||
#: Url.php:199
|
||||
msgid "An unknown error occurred. If problem persist, please contact support."
|
||||
msgstr ""
|
||||
"Une erreur inconnue est survenue. Si le problème persiste, merci de prendre "
|
||||
"contact avec le support."
|
||||
|
||||
#: Url.php:262
|
||||
msgid ""
|
||||
"Unable to determine the requested page. If the problem persists, please "
|
||||
"contact support."
|
||||
msgstr ""
|
||||
"Impossible de déterminer la page demandée. Si le problème persiste, merci de "
|
||||
"prendre contact avec le support."
|
||||
|
||||
#: Url.php:416
|
||||
msgid ""
|
||||
"Unable to determine the requested page (loop detected). If the problem "
|
||||
"persists, please contact support."
|
||||
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."
|
||||
|
||||
#: Url.php:446
|
||||
msgid "This request cannot be processed."
|
||||
msgstr "Cette requête ne peut être traitée."
|
||||
|
||||
#: Url.php:456
|
||||
msgid "Authentication required but fail to authenticate you."
|
||||
msgstr "Authentification requise mais impossible pour vous authentifier."
|
||||
|
||||
#: Url.php:475
|
||||
msgid "This request could not be processed correctly."
|
||||
msgstr "Cette requête n'a put être traitée correctement."
|
||||
|
||||
#: I18n.php:118 App.php:238
|
||||
#: App.php:241 I18n.php:118
|
||||
msgid "Hello world !"
|
||||
msgstr "Bonjour tout le monde !"
|
||||
|
||||
#: App.php:243
|
||||
msgid "Hello world!"
|
||||
msgstr "Salut tout le monde !"
|
||||
|
||||
#: App.php:254
|
||||
msgid "Disconnected"
|
||||
msgstr "Déconnecté"
|
||||
|
||||
#: App.php:256
|
||||
msgid "You are now disconnected."
|
||||
msgstr "Vous êtes maintenant déconnecté."
|
||||
|
||||
#: I18n.php:138
|
||||
msgid "Extract messages that need to be translated"
|
||||
msgstr "Extraire les messages devant être traduit"
|
||||
|
@ -312,34 +325,34 @@ msgstr ""
|
|||
"Cette commande peut-être utilisée pour compiler les fichiers PO dans les "
|
||||
"dossiers locales/*/LC_MESSAGES and les catalogues JS dans le dossier locales."
|
||||
|
||||
#: I18n.php:356
|
||||
#: I18n.php:347
|
||||
msgid "Fail to list EesyPHP PHP files."
|
||||
msgstr "Une erreur est survenue en listant les fichiers PHP d'EesyPHP."
|
||||
|
||||
#: I18n.php:376
|
||||
#: I18n.php:367
|
||||
msgid "Fail to extract messages from EesyPHP PHP files using xgettext."
|
||||
msgstr ""
|
||||
"Une erreur est survenue en extrayant les messages depuis les fichiers PHP "
|
||||
"d'EesyPHP en utilisant xgettext."
|
||||
|
||||
#: I18n.php:393
|
||||
#: I18n.php:384
|
||||
msgid "Fail to list application PHP files."
|
||||
msgstr "Une erreur est survenue en listant les fichiers PHP de l'application."
|
||||
|
||||
#: I18n.php:413
|
||||
#: I18n.php:404
|
||||
msgid "Fail to extract messages from PHP files using xgettext."
|
||||
msgstr ""
|
||||
"Impossible d'extraire les messages depuis les fichiers PHP en utilisant "
|
||||
"xgettext."
|
||||
|
||||
#: I18n.php:429
|
||||
#: I18n.php:420
|
||||
#, php-format
|
||||
msgid "Fail to list JS files in the directory of static files '%s'."
|
||||
msgstr ""
|
||||
"Une erreur est survenue en listant les fichiers JS dans le dossier des "
|
||||
"fichiers statiques '%s'."
|
||||
|
||||
#: I18n.php:451
|
||||
#: I18n.php:442
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Fail to extract messages from JS files in the directory of static files '%s' "
|
||||
|
@ -348,7 +361,7 @@ msgstr ""
|
|||
"Une erreur est survenue en extrayant les messages depuis les fichiers JS du "
|
||||
"dossier des fichiers statiques '%s' en utilisant xgettext."
|
||||
|
||||
#: I18n.php:473
|
||||
#: I18n.php:464
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Fail to extract messages from templates directory '%s' using tsmarty2c.php "
|
||||
|
@ -357,100 +370,100 @@ msgstr ""
|
|||
"Impossible d'extraire les messages depuis le dossier de templates '%s' en "
|
||||
"utilisant le script tsmarty2c.php."
|
||||
|
||||
#: I18n.php:509
|
||||
#: I18n.php:500
|
||||
msgid "Fail to merge messages using msgcat."
|
||||
msgstr "Impossible de fusionner les messages en utilisant msgcat."
|
||||
|
||||
#: I18n.php:523
|
||||
#: I18n.php:514
|
||||
#, php-format
|
||||
msgid "Compendium file %s not found."
|
||||
msgstr "Fichier compendium %s introuvable."
|
||||
|
||||
#: I18n.php:534
|
||||
#: I18n.php:525
|
||||
#, 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."
|
||||
|
||||
#: I18n.php:546 I18n.php:656
|
||||
#: I18n.php:537 I18n.php:647
|
||||
#, php-format
|
||||
msgid "Lang directory '%s' found"
|
||||
msgstr "Dossier de langue '%s' trouvé"
|
||||
|
||||
#: I18n.php:552 I18n.php:662
|
||||
#: I18n.php:543 I18n.php:653
|
||||
#, 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."
|
||||
|
||||
#: I18n.php:567
|
||||
#: I18n.php:558
|
||||
#, 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)."
|
||||
|
||||
#: I18n.php:585
|
||||
#: I18n.php:576
|
||||
#, 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)."
|
||||
|
||||
#: I18n.php:591 I18n.php:670
|
||||
#: I18n.php:582 I18n.php:661
|
||||
#, 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."
|
||||
|
||||
#: I18n.php:598 I18n.php:725
|
||||
#: I18n.php:589 I18n.php:716
|
||||
#, php-format
|
||||
msgid "Fail to open root lang directory (%s)."
|
||||
msgstr "Impossible d'ouvrir le dossier racine des langues (%s)."
|
||||
|
||||
#: I18n.php:626
|
||||
#: I18n.php:617
|
||||
#, php-format
|
||||
msgid "Lang alias symlink found: %s -> %s"
|
||||
msgstr "Lien symbolique d'alias de langue trouvé : %s -> %s"
|
||||
|
||||
#: I18n.php:633
|
||||
#: I18n.php:624
|
||||
#, php-format
|
||||
msgid "JS catalog symlink for %s -> %s created (%s)"
|
||||
msgstr "Lien symbolique de catalogue JS pour %s -> %s créé (%s)"
|
||||
|
||||
#: I18n.php:637
|
||||
#: I18n.php:628
|
||||
#, php-format
|
||||
msgid "Fail to create JS catalog symlink for %s -> %s (%s)"
|
||||
msgstr ""
|
||||
"Impossible de créer le lien symbolique de catalogue JS pour %s -> %s (%s)"
|
||||
|
||||
#: I18n.php:643
|
||||
#: I18n.php:634
|
||||
#, php-format
|
||||
msgid "JS catalog symlink for %s -> %s already exist (%s)"
|
||||
msgstr "Le lien symbolique du catalogue JS pour %s -> %s existe déjà (%s)"
|
||||
|
||||
#: I18n.php:648
|
||||
#: I18n.php:639
|
||||
#, php-format
|
||||
msgid "JS catalog file for %s already exist, but it's not a symlink to %s (%s)"
|
||||
msgstr ""
|
||||
"Le catalogue JS pour %s existe, mais il ne s'agit par d'un lien symbolique "
|
||||
"vers %s (%s)"
|
||||
|
||||
#: I18n.php:683
|
||||
#: I18n.php:674
|
||||
#, 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)."
|
||||
|
||||
#: I18n.php:695
|
||||
#: I18n.php:686
|
||||
#, php-format
|
||||
msgid "Include core translated messages from %s PO file"
|
||||
msgstr "Inclusion des messages traduits (core) depuis le fichier PO %s"
|
||||
|
||||
#: I18n.php:702
|
||||
#: I18n.php:693
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Core PO file %s not found: can not include its translated messages in "
|
||||
|
@ -459,32 +472,52 @@ msgstr ""
|
|||
"Le fichier PO core %s est introuvable : impossible d'inclure ses messages "
|
||||
"traduits dans le catalogue JSON résultant."
|
||||
|
||||
#: I18n.php:708
|
||||
#: I18n.php:699
|
||||
#, php-format
|
||||
msgid "Fail to open %s JS catalog file in write mode (%s)."
|
||||
msgstr "Impossible d'ouvrir le catalogue JS %s en mode écriture (%s)."
|
||||
|
||||
#: I18n.php:713
|
||||
#: I18n.php:704
|
||||
#, php-format
|
||||
msgid "Fail to write %s JS catalog in file (%s)."
|
||||
msgstr "Impossible d'écrire le fichier du catalogue JS %s (%s)."
|
||||
|
||||
#: I18n.php:718
|
||||
#: I18n.php:709
|
||||
#, php-format
|
||||
msgid "%s JS catalog writed (%s)."
|
||||
msgstr "Catalogue JS %s créé (%s)."
|
||||
|
||||
#: App.php:240
|
||||
msgid "Hello world!"
|
||||
msgstr "Salut tout le monde !"
|
||||
#: Email.php:101
|
||||
#, php-format
|
||||
msgid "</hr><p><small>Mail initialy intended for %s.</small></p>"
|
||||
msgstr "</hr><p><small>Email initialement destiné à %s.</small></p>"
|
||||
|
||||
#: App.php:251
|
||||
msgid "Disconnected"
|
||||
msgstr "Déconnecté"
|
||||
#: Email.php:102
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"Mail initialy intended for %s."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"Mail originalement destiné à %s."
|
||||
|
||||
#: App.php:253
|
||||
msgid "You are now disconnected."
|
||||
msgstr "Vous êtes maintenant déconnecté."
|
||||
#: Email.php:139
|
||||
#, php-format
|
||||
msgid "<p><small>%s: %s</small></p>"
|
||||
msgstr "<p><small>%s: %s</small></p>"
|
||||
|
||||
#: Email.php:140
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"%s: %s"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"%s: %s"
|
||||
|
||||
#: static/js/myconfirm.js:4 static/js/myconfirm.js:187
|
||||
#: static/js/myconfirm.js:216
|
||||
|
@ -527,11 +560,23 @@ msgstr "Merci de patienter pendant le traitement de votre requête."
|
|||
msgid "Are you sure?"
|
||||
msgstr "Êtes-vous sure ?"
|
||||
|
||||
#: templates/fatal_error.tpl:3
|
||||
#: templates/login.tpl:19 templates/login.tpl:20
|
||||
msgid "Username"
|
||||
msgstr "Nom d'utilisateur"
|
||||
|
||||
#: templates/login.tpl:24 templates/login.tpl:25
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
#: templates/login.tpl:29
|
||||
msgid "Submit"
|
||||
msgstr "Envoyer"
|
||||
|
||||
#: templates/fatal_error.tpl:7
|
||||
msgid "Oops..."
|
||||
msgstr "Oups..."
|
||||
|
||||
#: templates/fatal_error.tpl:5
|
||||
#: templates/fatal_error.tpl:10
|
||||
msgid ""
|
||||
"A fatal error has occurred and it is preventing this application from "
|
||||
"working properly. Please try again later or contact support."
|
||||
|
@ -540,14 +585,42 @@ msgstr ""
|
|||
"fonctionner correctement. Merci de réessayer ultérieurement ou de prendre "
|
||||
"contact avec le service support."
|
||||
|
||||
#: templates/fatal_error.tpl:7
|
||||
#: templates/fatal_error.tpl:13
|
||||
msgid "Error: %1"
|
||||
msgstr "Erreur : %1"
|
||||
|
||||
#: templates/fatal_error.tpl:9
|
||||
#: templates/fatal_error.tpl:17
|
||||
msgid "Back"
|
||||
msgstr "Retour"
|
||||
|
||||
#: templates/empty.tpl:72
|
||||
msgid "Sign out"
|
||||
msgstr "Déconnexion"
|
||||
|
||||
#: templates/empty.tpl:82
|
||||
msgid "Log in"
|
||||
msgstr "Connexion"
|
||||
|
||||
#: templates/empty.tpl:117
|
||||
msgid "Loading time:"
|
||||
msgstr "Temps de chargement :"
|
||||
|
||||
#: templates/empty.tpl:118
|
||||
msgid "Page: %1"
|
||||
msgstr "Page : %1"
|
||||
|
||||
#: templates/empty.tpl:119
|
||||
msgid "Database: %1"
|
||||
msgstr "Base de données : %1"
|
||||
|
||||
#: templates/empty.tpl:120
|
||||
msgid "Templating: "
|
||||
msgstr "Modèle : "
|
||||
|
||||
#: templates/empty.tpl:121
|
||||
msgid "Total: "
|
||||
msgstr "Total : "
|
||||
|
||||
#: templates/homepage.tpl:6
|
||||
msgid "Hello, world!"
|
||||
msgstr "Bonjour tout le monde !"
|
||||
|
@ -564,26 +637,6 @@ msgstr ""
|
|||
"fichier <em>homepage.tpl</em> pour l'écraser. Vous pouvez également écraser "
|
||||
"le gestionnaire de l'URL racine de l'application web."
|
||||
|
||||
#: templates/empty.tpl:72
|
||||
msgid "Sign out"
|
||||
msgstr "Déconnexion"
|
||||
|
||||
#: templates/empty.tpl:81
|
||||
msgid "Log in"
|
||||
msgstr "Connexion"
|
||||
|
||||
#: templates/login.tpl:19 templates/login.tpl:20
|
||||
msgid "Username"
|
||||
msgstr "Nom d'utilisateur"
|
||||
|
||||
#: templates/login.tpl:24 templates/login.tpl:25
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
#: templates/login.tpl:29
|
||||
msgid "Submit"
|
||||
msgstr "Envoyer"
|
||||
|
||||
#~ msgid "Logout"
|
||||
#~ msgstr "Déconnexion"
|
||||
|
||||
|
|
|
@ -1,11 +1,105 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"POT-Creation-Date: 2023-03-11 11:52+0100\n"
|
||||
"PO-Revision-Date: 2023-03-11 11:52+0100\n"
|
||||
"POT-Creation-Date: 2023-03-22 18:21+0100\n"
|
||||
"PO-Revision-Date: 2023-03-22 18:21+0100\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: Tpl.php:437
|
||||
msgid "No template specified."
|
||||
msgstr ""
|
||||
|
||||
#: Tpl.php:471
|
||||
msgid "An error occurred while displaying this page."
|
||||
msgstr ""
|
||||
|
||||
#: Tpl.php:871
|
||||
msgid "Unkwown"
|
||||
msgstr ""
|
||||
|
||||
#: Db.php:80
|
||||
msgid "Unable to connect to the database."
|
||||
msgstr ""
|
||||
|
||||
#: Auth/Form.php:41
|
||||
msgid "Invalid username or password."
|
||||
msgstr ""
|
||||
|
||||
#: Auth/Form.php:74
|
||||
msgid "Sign in"
|
||||
msgstr ""
|
||||
|
||||
#: Auth/Http.php:37 Url.php:181
|
||||
msgid "Authentication required"
|
||||
msgstr ""
|
||||
|
||||
#: Auth/Http.php:124 Auth/Http.php:127 Url.php:185
|
||||
msgid "Access denied"
|
||||
msgstr ""
|
||||
|
||||
#: Auth/Http.php:128 Auth/Http.php:132
|
||||
msgid "You must login to access this page."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:177
|
||||
msgid "Bad request"
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:178
|
||||
msgid "Invalid request."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:182
|
||||
msgid "You have to be authenticated to access to this page."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:186
|
||||
msgid ""
|
||||
"You do not have access to this application. If you think this is an error, "
|
||||
"please contact support."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:189
|
||||
msgid "Whoops ! Page not found"
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:190
|
||||
msgid "The requested page can not be found."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:198
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:199
|
||||
msgid "An unknown error occurred. If problem persist, please contact support."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:262
|
||||
msgid ""
|
||||
"Unable to determine the requested page. If the problem persists, please "
|
||||
"contact support."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:416
|
||||
msgid ""
|
||||
"Unable to determine the requested page (loop detected). If the problem "
|
||||
"persists, please contact support."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:446
|
||||
msgid "This request cannot be processed."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:456
|
||||
msgid "Authentication required but fail to authenticate you."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:475
|
||||
msgid "This request could not be processed correctly."
|
||||
msgstr ""
|
||||
|
||||
#: Cli.php:44
|
||||
msgid "Create a new project using EesyPHP framework"
|
||||
msgstr ""
|
||||
|
@ -114,126 +208,51 @@ msgstr ""
|
|||
msgid "Please enter password:"
|
||||
msgstr ""
|
||||
|
||||
#: Db.php:74
|
||||
msgid "Unable to connect to the database."
|
||||
#: functions.php:304
|
||||
msgid "d"
|
||||
msgstr ""
|
||||
|
||||
#: Auth/Form.php:41
|
||||
msgid "Invalid username or password."
|
||||
#: functions.php:305
|
||||
msgid "h"
|
||||
msgstr ""
|
||||
|
||||
#: Auth/Form.php:74
|
||||
msgid "Sign in"
|
||||
#: functions.php:306
|
||||
msgid "m"
|
||||
msgstr ""
|
||||
|
||||
#: Auth/Http.php:37 Url.php:181
|
||||
msgid "Authentication required"
|
||||
#: functions.php:307
|
||||
msgid "s"
|
||||
msgstr ""
|
||||
|
||||
#: Auth/Http.php:124 Auth/Http.php:127 Url.php:185
|
||||
msgid "Access denied"
|
||||
#: functions.php:308
|
||||
msgid "ms"
|
||||
msgstr ""
|
||||
|
||||
#: Auth/Http.php:128 Auth/Http.php:132
|
||||
msgid "You must login to access this page."
|
||||
#: functions.php:309
|
||||
msgid "ns"
|
||||
msgstr ""
|
||||
|
||||
#: Email.php:101
|
||||
#: functions.php:327
|
||||
#, php-format
|
||||
msgid "</hr><p><small>Mail initialy intended for %s.</small></p>"
|
||||
msgid "Less than 1%s"
|
||||
msgstr ""
|
||||
|
||||
#: Email.php:102
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"Mail initialy intended for %s."
|
||||
msgstr ""
|
||||
|
||||
#: Email.php:139
|
||||
#, php-format
|
||||
msgid "<p><small>%s: %s</small></p>"
|
||||
msgstr ""
|
||||
|
||||
#: Email.php:140
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"%s: %s"
|
||||
msgstr ""
|
||||
|
||||
#: Tpl.php:421
|
||||
msgid "No template specified."
|
||||
msgstr ""
|
||||
|
||||
#: Tpl.php:454
|
||||
msgid "An error occurred while displaying this page."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:177
|
||||
msgid "Bad request"
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:178
|
||||
msgid "Invalid request."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:182
|
||||
msgid "You have to be authenticated to access to this page."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:186
|
||||
msgid ""
|
||||
"You do not have access to this application. If you think this is an error, "
|
||||
"please contact support."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:189
|
||||
msgid "Whoops ! Page not found"
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:190
|
||||
msgid "The requested page can not be found."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:198
|
||||
msgid "Error"
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:199
|
||||
msgid "An unknown error occurred. If problem persist, please contact support."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:262
|
||||
msgid ""
|
||||
"Unable to determine the requested page. If the problem persists, please "
|
||||
"contact support."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:416
|
||||
msgid ""
|
||||
"Unable to determine the requested page (loop detected). If the problem "
|
||||
"persists, please contact support."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:446
|
||||
msgid "This request cannot be processed."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:456
|
||||
msgid "Authentication required but fail to authenticate you."
|
||||
msgstr ""
|
||||
|
||||
#: Url.php:475
|
||||
msgid "This request could not be processed correctly."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:118 App.php:238
|
||||
#: App.php:241 I18n.php:118
|
||||
msgid "Hello world !"
|
||||
msgstr ""
|
||||
|
||||
#: App.php:243
|
||||
msgid "Hello world!"
|
||||
msgstr ""
|
||||
|
||||
#: App.php:254
|
||||
msgid "Disconnected"
|
||||
msgstr ""
|
||||
|
||||
#: App.php:256
|
||||
msgid "You are now disconnected."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:138
|
||||
msgid "Extract messages that need to be translated"
|
||||
msgstr ""
|
||||
|
@ -265,152 +284,166 @@ msgid ""
|
|||
"directories to MO files and as JS catalogs in locales directory."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:356
|
||||
#: I18n.php:347
|
||||
msgid "Fail to list EesyPHP PHP files."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:376
|
||||
#: I18n.php:367
|
||||
msgid "Fail to extract messages from EesyPHP PHP files using xgettext."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:393
|
||||
#: I18n.php:384
|
||||
msgid "Fail to list application PHP files."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:413
|
||||
#: I18n.php:404
|
||||
msgid "Fail to extract messages from PHP files using xgettext."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:429
|
||||
#: I18n.php:420
|
||||
#, php-format
|
||||
msgid "Fail to list JS files in the directory of static files '%s'."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:451
|
||||
#: I18n.php:442
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Fail to extract messages from JS files in the directory of static files '%s' "
|
||||
"using xgettext."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:473
|
||||
#: I18n.php:464
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Fail to extract messages from templates directory '%s' using tsmarty2c.php "
|
||||
"script."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:509
|
||||
#: I18n.php:500
|
||||
msgid "Fail to merge messages using msgcat."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:523
|
||||
#: I18n.php:514
|
||||
#, php-format
|
||||
msgid "Compendium file %s not found."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:534
|
||||
#: I18n.php:525
|
||||
#, php-format
|
||||
msgid "POT file not found (%s). Please run extract_messages first."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:546 I18n.php:656
|
||||
#: I18n.php:537 I18n.php:647
|
||||
#, php-format
|
||||
msgid "Lang directory '%s' found"
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:552 I18n.php:662
|
||||
#: I18n.php:543 I18n.php:653
|
||||
#, php-format
|
||||
msgid "LC_MESSAGES directory not found in lang '%s' directory, ignore it."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:567
|
||||
#: I18n.php:558
|
||||
#, php-format
|
||||
msgid "Fail to init messages in %s PO file using msginit (%s)."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:585
|
||||
#: I18n.php:576
|
||||
#, php-format
|
||||
msgid "Fail to update messages in %s PO file using msgmerge (%s)."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:591 I18n.php:670
|
||||
#: I18n.php:582 I18n.php:661
|
||||
#, php-format
|
||||
msgid "PO file not found in lang '%s' directory, ignore it."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:598 I18n.php:725
|
||||
#: I18n.php:589 I18n.php:716
|
||||
#, php-format
|
||||
msgid "Fail to open root lang directory (%s)."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:626
|
||||
#: I18n.php:617
|
||||
#, php-format
|
||||
msgid "Lang alias symlink found: %s -> %s"
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:633
|
||||
#: I18n.php:624
|
||||
#, php-format
|
||||
msgid "JS catalog symlink for %s -> %s created (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:637
|
||||
#: I18n.php:628
|
||||
#, php-format
|
||||
msgid "Fail to create JS catalog symlink for %s -> %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:643
|
||||
#: I18n.php:634
|
||||
#, php-format
|
||||
msgid "JS catalog symlink for %s -> %s already exist (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:648
|
||||
#: I18n.php:639
|
||||
#, php-format
|
||||
msgid "JS catalog file for %s already exist, but it's not a symlink to %s (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:683
|
||||
#: I18n.php:674
|
||||
#, php-format
|
||||
msgid "Fail to compile messages from %s PO file as MO file using msgfmt (%s)."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:695
|
||||
#: I18n.php:686
|
||||
#, php-format
|
||||
msgid "Include core translated messages from %s PO file"
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:702
|
||||
#: I18n.php:693
|
||||
#, php-format
|
||||
msgid ""
|
||||
"Core PO file %s not found: can not include its translated messages in "
|
||||
"resulting JSON catalog."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:708
|
||||
#: I18n.php:699
|
||||
#, php-format
|
||||
msgid "Fail to open %s JS catalog file in write mode (%s)."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:713
|
||||
#: I18n.php:704
|
||||
#, php-format
|
||||
msgid "Fail to write %s JS catalog in file (%s)."
|
||||
msgstr ""
|
||||
|
||||
#: I18n.php:718
|
||||
#: I18n.php:709
|
||||
#, php-format
|
||||
msgid "%s JS catalog writed (%s)."
|
||||
msgstr ""
|
||||
|
||||
#: App.php:240
|
||||
msgid "Hello world!"
|
||||
#: Email.php:101
|
||||
#, php-format
|
||||
msgid "</hr><p><small>Mail initialy intended for %s.</small></p>"
|
||||
msgstr ""
|
||||
|
||||
#: App.php:251
|
||||
msgid "Disconnected"
|
||||
#: Email.php:102
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"Mail initialy intended for %s."
|
||||
msgstr ""
|
||||
|
||||
#: App.php:253
|
||||
msgid "You are now disconnected."
|
||||
#: Email.php:139
|
||||
#, php-format
|
||||
msgid "<p><small>%s: %s</small></p>"
|
||||
msgstr ""
|
||||
|
||||
#: Email.php:140
|
||||
#, php-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"%s: %s"
|
||||
msgstr ""
|
||||
|
||||
#: static/js/myconfirm.js:4 static/js/myconfirm.js:187
|
||||
|
@ -454,24 +487,64 @@ msgstr ""
|
|||
msgid "Are you sure?"
|
||||
msgstr ""
|
||||
|
||||
#: templates/fatal_error.tpl:3
|
||||
#: templates/login.tpl:19 templates/login.tpl:20
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: templates/login.tpl:24 templates/login.tpl:25
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: templates/login.tpl:29
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
||||
#: templates/fatal_error.tpl:7
|
||||
msgid "Oops..."
|
||||
msgstr ""
|
||||
|
||||
#: templates/fatal_error.tpl:5
|
||||
#: templates/fatal_error.tpl:10
|
||||
msgid ""
|
||||
"A fatal error has occurred and it is preventing this application from "
|
||||
"working properly. Please try again later or contact support."
|
||||
msgstr ""
|
||||
|
||||
#: templates/fatal_error.tpl:7
|
||||
#: templates/fatal_error.tpl:13
|
||||
msgid "Error: %1"
|
||||
msgstr ""
|
||||
|
||||
#: templates/fatal_error.tpl:9
|
||||
#: templates/fatal_error.tpl:17
|
||||
msgid "Back"
|
||||
msgstr ""
|
||||
|
||||
#: templates/empty.tpl:72
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#: templates/empty.tpl:82
|
||||
msgid "Log in"
|
||||
msgstr ""
|
||||
|
||||
#: templates/empty.tpl:117
|
||||
msgid "Loading time:"
|
||||
msgstr ""
|
||||
|
||||
#: templates/empty.tpl:118
|
||||
msgid "Page: %1"
|
||||
msgstr ""
|
||||
|
||||
#: templates/empty.tpl:119
|
||||
msgid "Database: %1"
|
||||
msgstr ""
|
||||
|
||||
#: templates/empty.tpl:120
|
||||
msgid "Templating: "
|
||||
msgstr ""
|
||||
|
||||
#: templates/empty.tpl:121
|
||||
msgid "Total: "
|
||||
msgstr ""
|
||||
|
||||
#: templates/homepage.tpl:6
|
||||
msgid "Hello, world!"
|
||||
msgstr ""
|
||||
|
@ -483,23 +556,3 @@ msgid ""
|
|||
"it. You could also overwrite the URL handler for the root of the web "
|
||||
"application."
|
||||
msgstr ""
|
||||
|
||||
#: templates/empty.tpl:72
|
||||
msgid "Sign out"
|
||||
msgstr ""
|
||||
|
||||
#: templates/empty.tpl:81
|
||||
msgid "Log in"
|
||||
msgstr ""
|
||||
|
||||
#: templates/login.tpl:19 templates/login.tpl:20
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: templates/login.tpl:24 templates/login.tpl:25
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: templates/login.tpl:29
|
||||
msgid "Submit"
|
||||
msgstr ""
|
||||
|
|
|
@ -8,7 +8,9 @@ class App {
|
|||
* Options
|
||||
* @var array
|
||||
*/
|
||||
protected static $options = array();
|
||||
protected static $options = array(
|
||||
'init_time' => null,
|
||||
);
|
||||
|
||||
/**
|
||||
* Root directory path
|
||||
|
@ -24,6 +26,7 @@ class App {
|
|||
* @return void
|
||||
*/
|
||||
public static function init($config_file, $options=null, $root_directory_path=null) {
|
||||
Config::register_extra_variable('init_time', hrtime(true));
|
||||
if (is_array($options)) self :: $options = $options;
|
||||
|
||||
if (is_null($root_directory_path)) {
|
||||
|
|
|
@ -38,6 +38,12 @@ class Db {
|
|||
*/
|
||||
protected $locale_time = null;
|
||||
|
||||
/**
|
||||
* Keep trace of total queries times (in ns)
|
||||
* @var int;
|
||||
*/
|
||||
public static $total_query_time = 0;
|
||||
|
||||
/**
|
||||
* Connect to database and return FluentPDO Query object
|
||||
* @param string $dsn Database DSN
|
||||
|
@ -65,7 +71,7 @@ class Db {
|
|||
$this -> fpdo = new Query($this -> pdo);
|
||||
|
||||
// Register the debug query handler to log it
|
||||
$this -> fpdo -> debug = array('\\EesyPHP\\Db', 'debug_query');
|
||||
$this -> fpdo -> debug = array(self :: class, 'debug_query');
|
||||
|
||||
Log :: trace("DB connection established (DSN: '%s')", $dsn);
|
||||
}
|
||||
|
@ -81,6 +87,7 @@ class Db {
|
|||
* @return void
|
||||
*/
|
||||
public static function debug_query($q) {
|
||||
self :: $total_query_time += intval(ceil($q->getExecutionTime() * 1000000000));
|
||||
$msg = "# DB query";
|
||||
if ($q->getResult())
|
||||
$msg .= sprintf(
|
||||
|
|
43
src/Tpl.php
43
src/Tpl.php
|
@ -75,6 +75,14 @@ class Tpl {
|
|||
*/
|
||||
private static $mime_type_detector = null;
|
||||
|
||||
/**
|
||||
* Keep trace of Smarty start displaying page time
|
||||
* @see display()
|
||||
* @see smarty_computing_time()
|
||||
* @var int
|
||||
*/
|
||||
private static $start_time = null;
|
||||
|
||||
/**
|
||||
* Initialization
|
||||
* @return void
|
||||
|
@ -180,6 +188,10 @@ class Tpl {
|
|||
self :: register_static_directory($path);
|
||||
}
|
||||
self :: register_function('var_dump', array('EesyPHP\\Tpl', 'smarty_var_dump'));
|
||||
self :: register_function(
|
||||
'smarty_computing_time', array('EesyPHP\\Tpl', 'smarty_computing_time'));
|
||||
self :: register_function(
|
||||
'smarty_total_computing_time', array('EesyPHP\\Tpl', 'smarty_total_computing_time'));
|
||||
self :: register_class('App', '\\EesyPHP\\App');
|
||||
}
|
||||
|
||||
|
@ -407,6 +419,10 @@ class Tpl {
|
|||
Tpl :: assign(
|
||||
'upload_max_filesize',
|
||||
App::get('upload_max_filesize', null, 'int'));
|
||||
|
||||
$init_time = App::get('init_time');
|
||||
Tpl :: assign('compute_time', $init_time?format_duration(hrtime(true)-$init_time, 'ns', 'ms'):null);
|
||||
Tpl :: assign('db_time', Db :: $total_query_time?format_duration(Db :: $total_query_time, 'ns', 'ms'):null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -444,6 +460,7 @@ class Tpl {
|
|||
try {
|
||||
Hook :: trigger('before_displaying_template');
|
||||
self :: define_common_variables($pagetitle);
|
||||
self :: $start_time = hrtime(true);
|
||||
self :: $smarty->display("Tpl:$template");
|
||||
}
|
||||
catch (Exception $e) {
|
||||
|
@ -828,4 +845,30 @@ class Tpl {
|
|||
if (!isset($params['data'])) return;
|
||||
var_dump($params['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Compute Smarty computing time
|
||||
* @param array<string,mixed> $params Parameters from template file
|
||||
* @param Smarty $smarty The smarty object
|
||||
* @return void
|
||||
*/
|
||||
public static function smarty_computing_time($params, $smarty) {
|
||||
echo format_duration(hrtime(true) - self :: $start_time, 'ns', 'ms');
|
||||
}
|
||||
|
||||
/**
|
||||
* Compute total page computing time
|
||||
* @param array<string,mixed> $params Parameters from template file
|
||||
* @param Smarty $smarty The smarty object
|
||||
* @return void
|
||||
*/
|
||||
public static function smarty_total_computing_time($params, $smarty) {
|
||||
$init_time = App::get('init_time');
|
||||
if ($init_time) {
|
||||
echo format_duration(hrtime(true) - $init_time, 'ns', 'ms');
|
||||
}
|
||||
else {
|
||||
echo _('Unkwown');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -290,4 +290,42 @@ function check_ajax_request($session_key=null) {
|
|||
function ___($msg) {
|
||||
return $msg;
|
||||
}
|
||||
|
||||
/**
|
||||
* Format duration
|
||||
* @param int|float $value The duration to format
|
||||
* @param string|null $unit The unit of provide value (optional, default: 's')
|
||||
* @param string|null $precision Minimal precision to displayed (optional, default: 's')
|
||||
* @param string|null $separator The separator between time block (optional, default: null = one space)
|
||||
* @return string|false The formated duration as string, or false in case of error
|
||||
*/
|
||||
function format_duration($value, $unit=null, $precision=null, $separator=null) {
|
||||
$units = array(
|
||||
___('d') => 86400000000000,
|
||||
___('h') => 3600000000000,
|
||||
___('m') => 60000000000,
|
||||
___('s') => 1000000000,
|
||||
___('ms') => 1000000,
|
||||
___('ns') => 1,
|
||||
);
|
||||
if (!$unit) $unit = 's';
|
||||
if (!array_key_exists($unit, $units)) return false;
|
||||
if (!$precision) $precision = 's';
|
||||
if (!array_key_exists($precision, $units)) return false;
|
||||
if ($value == 0) return "0".I18n :: _($precision);
|
||||
$value = $value * $units[$unit];
|
||||
$result = array();
|
||||
foreach ($units as $unit => $factor) {
|
||||
if ($value >= $factor) {
|
||||
$vunit = floor($value/$factor);
|
||||
$value = $value - ($vunit * $factor);
|
||||
$result[] = $vunit._($unit);
|
||||
}
|
||||
if ($unit == $precision) break;
|
||||
}
|
||||
// 0 ?
|
||||
if (empty($result)) return I18n :: _('Less than 1%s', I18n :: _($precision));
|
||||
return implode(is_null($separator)?' ':strval($separator), $result);
|
||||
}
|
||||
|
||||
# vim: tabstop=2 shiftwidth=2 softtabstop=2 expandtab
|
||||
|
|
|
@ -14,15 +14,12 @@ a.navbar-brand img {
|
|||
height: 27px;
|
||||
}
|
||||
|
||||
#footer {
|
||||
border-top: 1px solid #333;
|
||||
margin-top: 1em;
|
||||
padding-top: 1em;
|
||||
footer {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#footer p {
|
||||
font-size: 0.8em;
|
||||
text-align: center;
|
||||
footer div.compute-times {
|
||||
font-size: 0.6em;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -107,10 +107,25 @@
|
|||
<footer class="footer mt-auto py-3 bg-light">
|
||||
<div class="container text-center">
|
||||
{block name="footer-content"}
|
||||
{block name="footer-links"}
|
||||
<span class="text-muted">
|
||||
<a href="https://gitea.zionetrix.net/bn8/eesyphp">EesyPHP</a>
|
||||
</span>
|
||||
{/block}
|
||||
{block name="footer-compute-times"}
|
||||
{if isset($compute_time)}
|
||||
<div class='compute-times'>
|
||||
<span class="text-muted">
|
||||
{t domain=$CORE_TEXT_DOMAIN}Loading time:{/t}
|
||||
{t 1=$compute_time domain=$CORE_TEXT_DOMAIN}Page: %1{/t}
|
||||
{if isset($db_time)} - {t 1=$db_time domain=$CORE_TEXT_DOMAIN}Database: %1{/t}{/if}
|
||||
- {t domain=$CORE_TEXT_DOMAIN}Templating: {/t}{smarty_computing_time}
|
||||
- {t domain=$CORE_TEXT_DOMAIN}Total: {/t}{smarty_total_computing_time}
|
||||
</span>
|
||||
</div>
|
||||
{/if}
|
||||
{/block}
|
||||
{/block}
|
||||
</div>
|
||||
</footer>
|
||||
{/block}
|
||||
|
|
Loading…
Reference in a new issue