From ce42fc43ceb4f7bef8b95359929820991c352fa1 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 12 Dec 2021 05:57:21 +0000 Subject: [PATCH] Rendertime: Admin configuration added --- rendertime/lang/C/messages.po | 18 +++++++++++++++--- rendertime/rendertime.php | 21 +++++++++++++++++++++ rendertime/templates/admin.tpl | 3 +++ 3 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 rendertime/templates/admin.tpl diff --git a/rendertime/lang/C/messages.po b/rendertime/lang/C/messages.po index c96c596f..ab35dd16 100644 --- a/rendertime/lang/C/messages.po +++ b/rendertime/lang/C/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-02-01 18:15+0100\n" +"POT-Creation-Date: 2021-12-12 05:56+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,14 +17,26 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: rendertime.php:36 +#: rendertime.php:30 +msgid "Save Settings" +msgstr "" + +#: rendertime.php:31 +msgid "Show callstack" +msgstr "" + +#: rendertime.php:32 +msgid "Minimal time" +msgstr "" + +#: rendertime.php:57 #, php-format msgid "" "Database: %s/%s, Network: %s, Rendering: %s, Session: %s, I/O: %s, Other: " "%s, Total: %s" msgstr "" -#: rendertime.php:53 +#: rendertime.php:74 #, php-format msgid "Class-Init: %s, Boot: %s, Init: %s, Content: %s, Other: %s, Total: %s" msgstr "" diff --git a/rendertime/rendertime.php b/rendertime/rendertime.php index 79476689..9d26697b 100644 --- a/rendertime/rendertime.php +++ b/rendertime/rendertime.php @@ -8,15 +8,36 @@ */ use Friendica\Core\Hook; +use Friendica\Core\Renderer; use Friendica\DI; function rendertime_install() { Hook::register('page_end', 'addon/rendertime/rendertime.php', 'rendertime_page_end'); + DI::config()->set('system', 'profiler', true); +} + +function rendertime_uninstall() { + DI::config()->delete('system', 'profiler'); } function rendertime_init_1(&$a) { } +function rendertime_addon_admin(&$a, &$o) { + $t = Renderer::getMarkupTemplate("admin.tpl", "addon/rendertime/"); + + $o = Renderer::replaceMacros($t, [ + '$submit' => DI::l10n()->t('Save Settings'), + '$callstack' => ['callstack', DI::l10n()->t('Show callstack'), DI::config()->get('rendertime', 'callstack'), 'Show detailed performance measures in the callstack. When deactivated, only the summary will be displayed.'], + '$minimal_time' => ['minimal_time', DI::l10n()->t('Minimal time'), DI::config()->get('rendertime', 'minimal_time'), 'Minimal time that an activity needs to be listed in the callstack.'], + ]); +} + +function rendertime_addon_admin_post(&$a) { + DI::config()->set('rendertime', 'callstack', $_POST['callstack'] ?? false); + DI::config()->set('rendertime', 'minimal_time', $_POST['minimal_time'] ?? 0); +} + /** * @param Friendica\App $a * @param string $o diff --git a/rendertime/templates/admin.tpl b/rendertime/templates/admin.tpl new file mode 100644 index 00000000..e99072e7 --- /dev/null +++ b/rendertime/templates/admin.tpl @@ -0,0 +1,3 @@ +{{include file="field_checkbox.tpl" field=$callstack}} +{{include file="field_input.tpl" field=$minimal_time}} +