Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/view/page/standard/PhabricatorStandardPageView.php b/src/view/page/standard/PhabricatorStandardPageView.php
index 75ff2da647..a5ae06e64b 100644
--- a/src/view/page/standard/PhabricatorStandardPageView.php
+++ b/src/view/page/standard/PhabricatorStandardPageView.php
@@ -1,314 +1,314 @@
<?php
/*
* Copyright 2011 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
class PhabricatorStandardPageView extends AphrontPageView {
private $baseURI;
private $applicationName;
private $tabs = array();
private $selectedTab;
private $glyph;
private $bodyContent;
private $request;
private $isAdminInterface;
public function setIsAdminInterface($is_admin_interface) {
$this->isAdminInterface = $is_admin_interface;
return $this;
}
public function getIsAdminInterface() {
return $this->isAdminInterface;
}
public function setRequest($request) {
$this->request = $request;
return $this;
}
public function getRequest() {
return $this->request;
}
public function setApplicationName($application_name) {
$this->applicationName = $application_name;
return $this;
}
public function getApplicationName() {
return $this->applicationName;
}
public function setBaseURI($base_uri) {
$this->baseURI = $base_uri;
return $this;
}
public function getBaseURI() {
return $this->baseURI;
}
public function setTabs(array $tabs, $selected_tab) {
$this->tabs = $tabs;
$this->selectedTab = $selected_tab;
return $this;
}
public function getTitle() {
$use_glyph = true;
$request = $this->getRequest();
if ($request) {
$user = $request->getUser();
if ($user && $user->loadPreferences()->getPreference(
PhabricatorUserPreferences::PREFERENCE_TITLES) !== 'glyph') {
$use_glyph = false;
}
}
return ($use_glyph ?
$this->getGlyph() : '['.$this->getApplicationName().']').
' '.parent::getTitle();
}
protected function willRenderPage() {
if (!$this->getRequest()) {
throw new Exception(
"You must set the Request to render a PhabricatorStandardPageView.");
}
$console = $this->getRequest()->getApplicationConfiguration()->getConsole();
require_celerity_resource('phabricator-core-css');
require_celerity_resource('phabricator-core-buttons-css');
require_celerity_resource('phabricator-standard-page-view');
Javelin::initBehavior('workflow', array());
if ($console) {
require_celerity_resource('aphront-dark-console-css');
Javelin::initBehavior(
'dark-console',
array(
'uri' => '/~/',
));
// Change this to initBehavior when there is some behavior to initialize
require_celerity_resource('javelin-behavior-error-log');
}
$this->bodyContent = $this->renderChildren();
}
protected function getHead() {
$response = CelerityAPI::getStaticResourceResponse();
$head =
'<script type="text/javascript">'.
'(top != self) && top.location.replace(self.location.href);'.
'window.__DEV__=1;'.
'</script>'.
$response->renderResourcesOfType('css').
$response->renderSingleResource('javelin-magical-init');
$request = $this->getRequest();
if ($request) {
$user = $request->getUser();
if ($user) {
$monospaced = $user->loadPreferences()->getPreference(
PhabricatorUserPreferences::PREFERENCE_MONOSPACED
);
if (strlen($monospaced)) {
$head .=
'<style type="text/css">'.
'.PhabricatorMonospaced { font: '.
$monospaced.
' !important; }'.
'</style>';
}
}
}
return $head;
}
public function setGlyph($glyph) {
$this->glyph = $glyph;
return $this;
}
public function getGlyph() {
return $this->glyph;
}
protected function willSendResponse($response) {
$console = $this->getRequest()->getApplicationConfiguration()->getConsole();
if ($console) {
$response = str_replace(
'<darkconsole />',
$console->render($this->getRequest()),
$response);
}
return $response;
}
protected function getBody() {
$console = $this->getRequest()->getApplicationConfiguration()->getConsole();
$tabs = array();
foreach ($this->tabs as $name => $tab) {
$tab_markup = phutil_render_tag(
'a',
array(
'href' => idx($tab, 'href'),
),
phutil_escape_html(idx($tab, 'name')));
$tab_markup = phutil_render_tag(
'td',
array(
'class' => ($name == $this->selectedTab)
? 'phabricator-selected-tab'
: null,
),
$tab_markup);
$tabs[] = $tab_markup;
}
$tabs = implode('', $tabs);
$login_stuff = null;
$request = $this->getRequest();
$user = null;
if ($request) {
$user = $request->getUser();
// NOTE: user may not be set here if we caught an exception early
// in the execution workflow.
if ($user && $user->getPHID()) {
$login_stuff =
'Logged in as '.phutil_render_tag(
'a',
array(
'href' => '/p/'.$user->getUsername().'/',
),
phutil_escape_html($user->getUsername())).
' &middot; '.
'<a href="/settings/">Settings</a>'.
' &middot; '.
phabricator_render_form(
$user,
array(
'action' => '/search/',
'method' => 'post',
'style' => 'display: inline',
),
'<input type="text" name="query" />'.
'<button>Search</button>');
}
}
$foot_links = array();
$version = PhabricatorEnv::getEnvConfig('phabricator.version');
$foot_links[] = phutil_escape_html('Phabricator '.$version);
if (PhabricatorEnv::getEnvConfig('darkconsole.enabled') &&
!PhabricatorEnv::getEnvConfig('darkconsole.always-on')) {
if ($console) {
$link = javelin_render_tag(
'a',
array(
'href' => '/~/',
'sigil' => 'workflow',
),
'Disable DarkConsole');
} else {
$link = javelin_render_tag(
'a',
array(
'href' => '/~/',
'sigil' => 'workflow',
),
'Enable DarkConsole');
}
$foot_links[] = $link;
}
if ($user && $user->getPHID()) {
// This ends up very early in tab order at the top of the page and there's
// a bunch of junk up there anyway, just shove it down here.
$foot_links[] = phabricator_render_form(
$user,
array(
'action' => '/logout/',
'method' => 'post',
'style' => 'display: inline',
),
'<button class="link">Logout</button>');
}
$foot_links = implode(' &middot; ', $foot_links);
$admin_class = null;
if ($this->getIsAdminInterface()) {
$admin_class = 'phabricator-admin-page-view';
}
return
($console ? '<darkconsole />' : null).
'<div class="phabricator-standard-page '.$admin_class.'">'.
- '<div class="phabricator-standard-header">'.
- '<div class="phabricator-login-details">'.
- $login_stuff.
- '</div>'.
- '<table class="phabricator-primary-navigation">'.
- '<tr>'.
- '<th class="phabricator-logo">'.
- '<a href="/">'.
- "Phabricat\xE2\x9A\x99r".
- '</a> '.
- '</th>'.
- '<th>'.
- phutil_render_tag(
- 'a',
- array(
- 'href' => $this->getBaseURI(),
- 'class' => 'phabricator-head-appname',
- ),
- phutil_escape_html($this->getApplicationName())).
- '</th>'.
- $tabs.
- '</tr>'.
- '</table>'.
- '</div>'.
+ '<table class="phabricator-standard-header">'.
+ '<tr>'.
+ '<td class="phabricator-logo"><a href="/"> </a></td>'.
+ '<td>'.
+ '<table class="phabricator-primary-navigation">'.
+ '<tr>'.
+ '<th>'.
+ phutil_render_tag(
+ 'a',
+ array(
+ 'href' => $this->getBaseURI(),
+ 'class' => 'phabricator-head-appname',
+ ),
+ phutil_escape_html($this->getApplicationName())).
+ '</th>'.
+ $tabs.
+ '</tr>'.
+ '</table>'.
+ '</td>'.
+ '<td class="phabricator-login-details">'.
+ $login_stuff.
+ '</td>'.
+ '</tr>'.
+ '</table>'.
$this->bodyContent.
'<div style="clear: both;"></div>'.
'</div>'.
'<div class="phabricator-page-foot">'.
$foot_links.
'</div>';
}
protected function getTail() {
$response = CelerityAPI::getStaticResourceResponse();
return
$response->renderResourcesOfType('js').
$response->renderHTMLFooter();
}
}
diff --git a/webroot/favicon.ico b/webroot/favicon.ico
index 0a7931b951..e69255ef09 100644
Binary files a/webroot/favicon.ico and b/webroot/favicon.ico differ
diff --git a/webroot/rsrc/css/application/base/standard-page-view.css b/webroot/rsrc/css/application/base/standard-page-view.css
index 3833d1064a..556a446800 100644
--- a/webroot/rsrc/css/application/base/standard-page-view.css
+++ b/webroot/rsrc/css/application/base/standard-page-view.css
@@ -1,77 +1,94 @@
/**
* @provides phabricator-standard-page-view
*/
.phabricator-standard-page {
background: #ffffff;
border-bottom: 1px solid #888888;
-webkit-box-shadow: 0 0 6px #000;
-mox-box-shadow: 0 0 6px #000;
box-shadow: 0 0 6px #000;
}
.phabricator-standard-header {
background: #005588;
color: white;
overflow: hidden;
position: relative;
+ width: 100%;
+}
+
+.phabricator-standard-header td {
+ vertical-align: bottom;
+ padding: 0;
+ margin: 0;
}
.phabricator-admin-page-view .phabricator-standard-header {
background: #aa0000;
}
.phabricator-primary-navigation {
- padding-top: 12px;
- padding-bottom: 8px;
+ padding-top: 24px;
padding-left: 24px;
}
.phabricator-standard-header a {
color: white;
}
.phabricator-primary-navigation th,
.phabricator-primary-navigation td {
vertical-align: bottom;
font-size: 13px;
border-bottom: 6px solid transparent;
+ padding-top: 14px;
padding-bottom: 4px;
}
-.phabricator-primary-navigation th.phabricator-logo {
- font-size: 16px;
- padding-top: 8px;
- padding-left: 24px;
- padding-right: 6px;
+.phabricator-logo {
+ width: 220px;
+}
+
+.phabricator-logo a {
+ display: block;
+ width: 220px;
+ height: 40px;
+ background: url('/rsrc/image/phabricator_logo.png') no-repeat 0 0;
+ padding: 0;
+ margin: 0;
+}
+
+.phabricator-logo a:hover {
+ background-position-y: -40px;
}
.phabricator-primary-navigation td {
padding-left: 10px;
padding-right: 10px;
}
.phabricator-primary-navigation td.phabricator-selected-tab {
border-bottom-color: #ffffff;
background: #336699;
}
.phabricator-standard-header .phabricator-head-appname {
padding: 0 1em;
text-transform: uppercase;
}
-.phabricator-login-details {
- float: right;
- padding: 6px 24px 0;
+td.phabricator-login-details {
+ text-align: right;
+ padding: 0px 24px 6px;
font-size: 12px;
}
.phabricator-page-foot {
text-align: right;
padding: .5em 1em;
font-size: 11px;
color: #f3f3f3;
}
diff --git a/webroot/rsrc/image/phabricator_logo.png b/webroot/rsrc/image/phabricator_logo.png
new file mode 100644
index 0000000000..a491a6055d
Binary files /dev/null and b/webroot/rsrc/image/phabricator_logo.png differ

File Metadata

Mime Type
text/x-diff
Expires
Sat, Nov 15, 11:56 AM (18 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
337815
Default Alt Text
(12 KB)

Event Timeline