logfiles view to twig
Signed-off-by: Michael Kaufmann <d00p@froxlor.org>
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
if (! defined('AREA')) {
|
if (!defined('AREA')) {
|
||||||
header("Location: index.php");
|
header("Location: index.php");
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
@@ -22,6 +22,7 @@ if (! defined('AREA')) {
|
|||||||
use Froxlor\Api\Commands\SubDomains;
|
use Froxlor\Api\Commands\SubDomains;
|
||||||
use Froxlor\Settings;
|
use Froxlor\Settings;
|
||||||
use Froxlor\UI\Request;
|
use Froxlor\UI\Request;
|
||||||
|
use Froxlor\UI\Panel\UI;
|
||||||
|
|
||||||
// This file is being included in admin_domains and customer_domains
|
// This file is being included in admin_domains and customer_domains
|
||||||
// and therefore does not need to require lib/init.php
|
// and therefore does not need to require lib/init.php
|
||||||
@@ -65,7 +66,7 @@ if (function_exists('exec')) {
|
|||||||
// error log
|
// error log
|
||||||
if (file_exists($error_log)) {
|
if (file_exists($error_log)) {
|
||||||
$result = \Froxlor\FileDir::safe_exec('tail -n ' . $last_n . ' ' . escapeshellarg($error_log));
|
$result = \Froxlor\FileDir::safe_exec('tail -n ' . $last_n . ' ' . escapeshellarg($error_log));
|
||||||
$error_log_content = implode("\n", $result) . "</textarea>";
|
$error_log_content = implode("\n", $result);
|
||||||
} else {
|
} else {
|
||||||
$error_log_content = "Error-Log" . (AREA == 'admin' ? " '" . $error_log . "'" : "") . " does not seem to exist";
|
$error_log_content = "Error-Log" . (AREA == 'admin' ? " '" . $error_log . "'" : "") . " does not seem to exist";
|
||||||
}
|
}
|
||||||
@@ -78,7 +79,22 @@ if (function_exists('exec')) {
|
|||||||
$access_log_content = "Access-Log" . (AREA == 'admin' ? " '" . $access_log . "'" : "") . " does not seem to exist";
|
$access_log_content = "Access-Log" . (AREA == 'admin' ? " '" . $access_log . "'" : "") . " does not seem to exist";
|
||||||
}
|
}
|
||||||
|
|
||||||
eval("echo \"" . \Froxlor\UI\Template::getTemplate("logfiles_viewer/index", true) . "\";");
|
UI::twigBuffer('user/logfiles.html.twig', [
|
||||||
|
'error_log_content' => $error_log_content,
|
||||||
|
'access_log_content' => $access_log_content,
|
||||||
|
'actions_links' => [[
|
||||||
|
'class' => 'btn-secondary',
|
||||||
|
'href' => $linker->getLink(['section' => 'domains', 'page' => 'domains', 'action' => 'edit', 'id' => $domain_id]),
|
||||||
|
'label' => $lng['panel']['edit'],
|
||||||
|
'icon' => 'fa fa-pen'
|
||||||
|
], [
|
||||||
|
'class' => 'btn-secondary',
|
||||||
|
'href' => $linker->getLink(['section' => 'domains', 'page' => 'domains']),
|
||||||
|
'label' => $lng['menue']['domains']['domains'],
|
||||||
|
'icon' => 'fa fa-globe'
|
||||||
|
]]
|
||||||
|
]);
|
||||||
|
UI::twigOutputBuffer();
|
||||||
} else {
|
} else {
|
||||||
if (AREA == 'admin') {
|
if (AREA == 'admin') {
|
||||||
\Froxlor\UI\Response::dynamic_error('You need to allow the exec() function in the froxlor-vhost php-config');
|
\Froxlor\UI\Response::dynamic_error('You need to allow the exec() function in the froxlor-vhost php-config');
|
||||||
|
|||||||
@@ -57,3 +57,7 @@
|
|||||||
footer {
|
footer {
|
||||||
@extend .text-muted;
|
@extend .text-muted;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.logcontent {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|||||||
25
templates/Froxlor/user/logfiles.html.twig
Normal file
25
templates/Froxlor/user/logfiles.html.twig
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
{% extends "Froxlor/userarea.html.twig" %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<h3 class="page-header">
|
||||||
|
<i class="fa-solid fa-magnifying-glass me-1"></i>
|
||||||
|
{{ lng('panel.viewlogs') }}
|
||||||
|
</h3>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-12 col-md-10 order-2 order-md-1">
|
||||||
|
<h4>Error-Log</h4>
|
||||||
|
<textarea rows="16" class="logcontent" readonly>{{ error_log_content }}</textarea>
|
||||||
|
<h4>Access-Log</h4>
|
||||||
|
<textarea rows="16" class="logcontent" readonly>{{ access_log_content }}</textarea>
|
||||||
|
</div>
|
||||||
|
<div class="col-12 col-md-2 order-1 order-md-2">
|
||||||
|
{% if actions_links is iterable %}
|
||||||
|
{% for link in actions_links %}
|
||||||
|
<a class="btn {{ link.class|default('btn-success') }} d-block mb-2" href="{{ link.href|raw }}">
|
||||||
|
<i class="{{ link.icon|default('fa-solid fa-plus-circle') }} me-1"></i>
|
||||||
|
{{ link.label }}</a>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
Reference in New Issue
Block a user