This repository has been archived on 2025-02-26. You can view files and clone it, but cannot push or open issues or pull requests.
szurubooru/src/Controllers/LogController.php
2014-05-04 09:11:39 +02:00

54 lines
1.2 KiB
PHP

<?php
class LogController
{
public function listView()
{
$ret = Api::run(new ListLogsJob(), []);
getContext()->transport->logs = $ret;
}
public function logView($name, $page = 1, $filter = '')
{
$context = getContext();
$context->viewName = 'log-view';
//redirect requests in form of ?query=... to canonical address
$formQuery = InputHelper::get('query');
if ($formQuery !== null)
{
\Chibi\Util\Url::forward(
\Chibi\Router::linkTo(
['LogController', 'logView'],
[
'name' => $name,
'filter' => $formQuery,
'page' => 1
]));
exit;
}
$ret = Api::run(
new GetLogJob(),
[
GetLogJob::PAGE_NUMBER => $page,
GetLogJob::LOG_ID => $name,
GetLogJob::QUERY => $filter,
]);
//stylize important lines
$lines = $ret->entities;
foreach ($lines as &$line)
if (strpos($line, 'flag') !== false)
$line = '**' . $line . '**';
unset($line);
$lines = join(PHP_EOL, $lines);
$lines = TextHelper::parseMarkdown($lines, true);
$lines = trim($lines);
$context->transport->paginator = $ret;
$context->transport->lines = $lines;
$context->transport->filter = $filter;
$context->transport->name = $name;
}
}