Files
phabricator/src/applications/config/controller/PhabricatorConfigSiteModuleController.php
epriestley 6b7183a762 Modularize Aphront "sites"
Summary:
Fixes T5702. The path here is long and windy:

  - I want to move `blog.phacility.com` to the new `secure` host.
  - That host has `security.require-https` set, which I want to keep set (before, this was handled in a sort of hacky way at the nginx/preamble level, but I've cleaned up everything else now).
  - Currently, that setting forces blogs to HTTPS too, which won't work.
  - To let blogs be individually configurable, we need to either modularize site config or make things hackier.
  - Modularize rather than increasing hackiness.
  - Also add a little "modules" panel in Config. See T6859. This feels like a reasonable middle ground between putting this stuff in Applications and burying it in `bin/somewhere`.

Test Plan:
  - Visited normal site.
  - Visited phame on-domain site.
  - Visited phame off-domain site.
  - Viewed static resources.

{F561897}

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T5702

Differential Revision: https://secure.phabricator.com/D13474
2015-06-29 14:04:48 -07:00

57 lines
1.2 KiB
PHP

<?php
final class PhabricatorConfigSiteModuleController
extends PhabricatorConfigController {
public function handleRequest(AphrontRequest $request) {
$viewer = $this->getViewer();
$sites = AphrontSite::getAllSites();
$rows = array();
foreach ($sites as $key => $site) {
$rows[] = array(
$site->getPriority(),
$key,
$site->getDescription(),
);
}
$table = id(new AphrontTableView($rows))
->setHeaders(
array(
pht('Priority'),
pht('Class'),
pht('Description'),
))
->setColumnClasses(
array(
null,
'pri',
'wide',
));
$box = id(new PHUIObjectBoxView())
->setHeaderText(pht('Site Modules'))
->appendChild($table);
$crumbs = $this->buildApplicationCrumbs();
$crumbs->addTextCrumb(pht('Site Modules'));
$nav = $this->buildSideNavView();
$nav->selectFilter('module/sites/');
$nav->appendChild(
array(
$crumbs,
$box,
));
return $this->buildApplicationPage(
$nav,
array(
'title' => array(pht('Site Modules')),
));
}
}