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.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879<?php
/** * @group console */final class DarkConsoleDataController extends PhabricatorController {
private $key;
public function shouldRequireLogin() { return !PhabricatorEnv::getEnvConfig('darkconsole.always-on'); }
public function shouldRequireEnabledUser() { return !PhabricatorEnv::getEnvConfig('darkconsole.always-on'); }
public function willProcessRequest(array $data) { $this->key = $data['key']; }
public function processRequest() { $request = $this->getRequest(); $user = $request->getUser();
$cache = new PhabricatorKeyValueDatabaseCache(); $cache = new PhutilKeyValueCacheProfiler($cache); $cache->setProfiler(PhutilServiceProfiler::getInstance());
$result = $cache->getKey('darkconsole:'.$this->key); if (!$result) { return new Aphront400Response(); }
$result = json_decode($result, true);
if (!is_array($result)) { return new Aphront400Response(); }
if ($result['vers'] != DarkConsoleCore::STORAGE_VERSION) { return new Aphront400Response(); }
if ($result['user'] != $user->getPHID()) { return new Aphront400Response(); }
$output = array(); $output['tabs'] = $result['tabs']; $output['panel'] = array();
foreach ($result['data'] as $class => $data) { try { $obj = newv($class, array()); $obj->setData($data); $obj->setRequest($request);
$panel = $obj->renderPanel();
if (!empty($_COOKIE['phsid'])) { $panel = PhutilSafeHTML::applyFunction( 'str_replace', $_COOKIE['phsid'], '(session-key)', $panel); }
$output['panel'][$class] = $panel; } catch (Exception $ex) { $output['panel'][$class] = 'error'; } }
return id(new AphrontAjaxResponse())->setContent($output); }
}