Path: blob/master/src/aphront/site/AphrontSite.php
13395 views
<?php12abstract class AphrontSite extends Phobject {34abstract public function getPriority();5abstract public function getDescription();67abstract public function shouldRequireHTTPS();8abstract public function newSiteForRequest(AphrontRequest $request);9abstract public function getRoutingMaps();1011public function new404Controller(AphrontRequest $request) {12return new Phabricator404Controller();13}1415protected function isHostMatch($host, array $uris) {16foreach ($uris as $uri) {17if (!strlen($uri)) {18continue;19}2021$domain = id(new PhutilURI($uri))->getDomain();2223if ($domain === $host) {24return true;25}26}2728return false;29}3031protected function newRoutingMap() {32return id(new AphrontRoutingMap())33->setSite($this);34}3536final public static function getAllSites() {37return id(new PhutilClassMapQuery())38->setAncestorClass(__CLASS__)39->setSortMethod('getPriority')40->execute();41}4243}444546