Something went wrong. Try again.
@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
Something went wrong. Try again.
PHP
at commit ff8b4897
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899<?php
/** * @group console */final class DarkConsoleEventPlugin extends DarkConsolePlugin {
public function getName() { return 'Events'; }
public function getDescription() { return 'Information about Phabricator events and event listeners.'; }
public function generateData() {
$listeners = PhutilEventEngine::getInstance()->getAllListeners(); foreach ($listeners as $key => $listener) { $listeners[$key] = array( 'id' => $listener->getListenerID(), 'class' => get_class($listener), ); }
$events = DarkConsoleEventPluginAPI::getEvents(); foreach ($events as $key => $event) { $events[$key] = array( 'type' => $event->getType(), 'stopped' => $event->isStopped(), ); }
return array( 'listeners' => $listeners, 'events' => $events, ); }
public function renderPanel() { $data = $this->getData();
$out = array();
$out[] = phutil_tag( 'div', array('class' => 'dark-console-panel-header'), phutil_tag('h1', array(), pht('Registered Event Listeners')));
$rows = array(); foreach ($data['listeners'] as $listener) { $rows[] = array($listener['id'], $listener['class']); }
$table = new AphrontTableView($rows); $table->setHeaders( array( 'Internal ID', 'Listener Class', )); $table->setColumnClasses( array( '', 'wide', ));
$out[] = $table->render();
$out[] = phutil_tag( 'div', array('class' => 'dark-console-panel-header'), phutil_tag('h1', array(), pht('Event Log')));
$rows = array(); foreach ($data['events'] as $event) { $rows[] = array( $event['type'], $event['stopped'] ? 'STOPPED' : null, ); }
$table = new AphrontTableView($rows); $table->setColumnClasses( array( 'wide', )); $table->setHeaders( array( 'Event Type', 'Stopped', ));
$out[] = $table->render();
return phutil_implode_html("\n", $out); }}