diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2012-10-24 22:19:34 +0200 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2012-10-24 22:19:34 +0200 |
| commit | 14786d88c624bb00e19f2451e964bffb2e7bd8ea (patch) | |
| tree | 82892685f838695ca9edb5b5350a5916f530d3ae | |
| parent | 6019e188e9772aff7d17ff993901c8697bcd9fec (diff) | |
| download | phorkie-14786d88c624bb00e19f2451e964bffb2e7bd8ea.tar.gz phorkie-14786d88c624bb00e19f2451e964bffb2e7bd8ea.zip | |
Part of #35: show paste owner
| -rw-r--r-- | data/templates/display-sidebar-owner.htm | 9 | ||||
| -rw-r--r-- | data/templates/display.htm | 1 | ||||
| -rw-r--r-- | src/phorkie/HtmlHelper.php | 16 | ||||
| -rw-r--r-- | src/phorkie/Repository.php | 21 | ||||
| -rw-r--r-- | src/phorkie/Repository/Commit.php | 14 | ||||
| -rw-r--r-- | www/display.php | 1 |
6 files changed, 50 insertions, 12 deletions
diff --git a/data/templates/display-sidebar-owner.htm b/data/templates/display-sidebar-owner.htm new file mode 100644 index 0000000..f84a5fa --- /dev/null +++ b/data/templates/display-sidebar-owner.htm @@ -0,0 +1,9 @@ +{% set owner = repo.getOwner %} +<div class="well well-small vcard"> + <img src="{{htmlhelper.getIconUrl(owner.email, 48)}}" alt="{{owner.name}}" + width="48" height="48" class="photo" + style="float: left; padding-right: 1ex;"/> + <span class="fn">{{owner.name}}</span> + <br/><span class="muted">owner</span> + <span class="clearfix"/> +</div>
\ No newline at end of file diff --git a/data/templates/display.htm b/data/templates/display.htm index 799f94d..6c75eaa 100644 --- a/data/templates/display.htm +++ b/data/templates/display.htm @@ -24,5 +24,6 @@ {% endblock %} {% block sidebar %} + {% include 'display-sidebar-owner.htm' %} {% include 'display-sidebar-history.htm' %} {% endblock %} diff --git a/src/phorkie/HtmlHelper.php b/src/phorkie/HtmlHelper.php index ea21ab5..fd04d83 100644 --- a/src/phorkie/HtmlHelper.php +++ b/src/phorkie/HtmlHelper.php @@ -3,6 +3,22 @@ namespace phorkie; class HtmlHelper { + public function getIconUrl($email, $size = 32) + { + if ($email == 'anonymous@phorkie') { + return '/phorkie/anonymous.png'; + } + + $s = new \Services_Libravatar(); + return $s->url( + $email, + array( + 'size' => $size, + 'default' => Tools::fullUrl('/phorkie/anonymous.png') + ) + ); + } + public function getLanguageOptions(File $file = null) { $html = '<option value="_auto_">* automatic *</option>'; diff --git a/src/phorkie/Repository.php b/src/phorkie/Repository.php index 0cc279b..ba3079a 100644 --- a/src/phorkie/Repository.php +++ b/src/phorkie/Repository.php @@ -236,6 +236,27 @@ class Repository } /** + * @return array Array with keys "email" and "name" + */ + public function getOwner() + { + try { + $name = $this->getVc()->getCommand('config') + ->addArgument('owner.name')->execute(); + } catch (\VersionControl_Git_Exception $e) { + $name = $GLOBALS['phorkie']['auth']['anonymousName']; + } + try { + $email = $this->getVc()->getCommand('config') + ->addArgument('owner.email')->execute(); + } catch (\VersionControl_Git_Exception $e) { + $email = $GLOBALS['phorkie']['auth']['anonymousEmail']; + } + + return array('name' => trim($name), 'email' => trim($email)); + } + + /** * Get a link to the repository * * @param string $type Link type. Supported are: diff --git a/src/phorkie/Repository/Commit.php b/src/phorkie/Repository/Commit.php index 1ac8cc5..1afc151 100644 --- a/src/phorkie/Repository/Commit.php +++ b/src/phorkie/Repository/Commit.php @@ -16,18 +16,8 @@ class Repository_Commit public function getIconUrl() { - if ($this->committerEmail == 'anonymous@phorkie') { - return '/phorkie/anonymous.png'; - } - - $s = new \Services_Libravatar(); - return $s->url( - $this->committerEmail, - array( - 'size' => 32, - 'default' => Tools::fullUrl('/phorkie/anonymous.png') - ) - ); + $hh = new HtmlHelper(); + return $hh->getIconUrl($this->committerEmail); } /** diff --git a/www/display.php b/www/display.php index ffc9786..ae29b87 100644 --- a/www/display.php +++ b/www/display.php @@ -14,6 +14,7 @@ render( array( 'repo' => $repo, 'dh' => new \Date_HumanDiff(), + 'htmlhelper' => new HtmlHelper(), ) ); ?> |
