1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-29 10:12:41 +01:00
phorge-phorge/src/applications/daemon/controller/PhabricatorDaemonLogViewController.php

85 lines
2.1 KiB
PHP
Raw Normal View History

2011-03-15 21:38:14 +01:00
<?php
final class PhabricatorDaemonLogViewController
extends PhabricatorDaemonController {
2011-03-15 21:38:14 +01:00
private $id;
public function willProcessRequest(array $data) {
$this->id = $data['id'];
}
public function processRequest() {
2011-03-27 07:55:18 +02:00
$request = $this->getRequest();
$user = $request->getUser();
2011-03-15 21:38:14 +01:00
$log = id(new PhabricatorDaemonLog())->load($this->id);
if (!$log) {
return new Aphront404Response();
}
$events = id(new PhabricatorDaemonLogEvent())->loadAllWhere(
'logID = %d ORDER BY id DESC LIMIT 1000',
2011-03-15 21:38:14 +01:00
$log->getID());
$content = array();
2011-03-27 07:55:18 +02:00
$argv = $log->getArgv();
if (is_array($argv)) {
$argv = implode("\n", $argv);
}
2011-03-27 07:55:18 +02:00
$form = id(new AphrontFormView())
->setUser($user)
->appendChild(
id(new AphrontFormStaticControl())
->setLabel('Daemon')
->setValue($log->getDaemon()))
->appendChild(
id(new AphrontFormStaticControl())
->setLabel('Host')
->setValue($log->getHost()))
->appendChild(
id(new AphrontFormStaticControl())
->setLabel('PID')
->setValue($log->getPID()))
->appendChild(
id(new AphrontFormStaticControl())
->setLabel('Started')
->setValue(
phabricator_datetime($log->getDateCreated(), $user)))
2011-03-27 07:55:18 +02:00
->appendChild(
id(new AphrontFormTextAreaControl())
->setLabel('Argv')
->setValue($argv));
$panel = new AphrontPanelView();
$panel->setHeader('Daemon Details');
$panel->setWidth(AphrontPanelView::WIDTH_FORM);
$panel->appendChild($form);
$content[] = $panel;
2011-03-15 21:38:14 +01:00
$event_view = new PhabricatorDaemonLogEventsView();
$event_view->setUser($user);
$event_view->setEvents($events);
2011-03-15 21:38:14 +01:00
$log_panel = new AphrontPanelView();
$log_panel->setHeader('Daemon Logs');
$log_panel->appendChild($event_view);
2011-03-15 21:38:14 +01:00
$content[] = $log_panel;
$nav = $this->buildSideNavView();
$nav->selectFilter('log');
$nav->appendChild($content);
return $this->buildApplicationPage(
$nav,
2011-03-15 21:38:14 +01:00
array(
'title' => 'Daemon Log',
2011-03-15 21:38:14 +01:00
));
}
}