Path: blob/master/src/aphront/response/AphrontStandaloneHTMLResponse.php
12241 views
<?php12abstract class AphrontStandaloneHTMLResponse3extends AphrontHTMLResponse {45abstract protected function getResources();6abstract protected function getResponseTitle();7abstract protected function getResponseBodyClass();8abstract protected function getResponseBody();9abstract protected function buildPlainTextResponseString();1011final public function buildResponseString() {12// Check to make sure we aren't requesting this via Ajax or Conduit.13if (isset($_REQUEST['__ajax__']) || isset($_REQUEST['__conduit__'])) {14return (string)hsprintf('%s', $this->buildPlainTextResponseString());15}1617$title = $this->getResponseTitle();18$resources = $this->buildResources();19$body_class = $this->getResponseBodyClass();20$body = $this->getResponseBody();2122return (string)hsprintf(23<<<EOTEMPLATE24<!DOCTYPE html>25<html>26<head>27<meta charset="UTF-8" />28<title>%s</title>29%s30</head>31%s32</html>33EOTEMPLATE34,35$title,36$resources,37phutil_tag(38'body',39array(40'class' => $body_class,41),42$body));43}4445private function buildResources() {46$paths = $this->getResources();4748$webroot = dirname(phutil_get_library_root('phabricator')).'/webroot/';4950$resources = array();51foreach ($paths as $path) {52$resources[] = phutil_tag(53'style',54array('type' => 'text/css'),55phutil_safe_html(Filesystem::readFile($webroot.'/rsrc/'.$path)));56}5758return phutil_implode_html("\n", $resources);59}606162}636465