diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2012-04-17 09:37:39 +0200 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2012-04-17 09:37:39 +0200 |
| commit | a4a47e2f9bd26259f0f6256a9652a39836c56a4d (patch) | |
| tree | 61203155fdb54f3ea9392a7558a3033d1ca2dd61 /src/phorkie/Repository/Commit.php | |
| parent | cc15ad10baad6a6f217dfe42673f28c6d0a4dff9 (diff) | |
| download | phorkie-a4a47e2f9bd26259f0f6256a9652a39836c56a4d.tar.gz phorkie-a4a47e2f9bd26259f0f6256a9652a39836c56a4d.zip | |
show history in sidebar
Diffstat (limited to 'src/phorkie/Repository/Commit.php')
| -rw-r--r-- | src/phorkie/Repository/Commit.php | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/phorkie/Repository/Commit.php b/src/phorkie/Repository/Commit.php new file mode 100644 index 0000000..ec4a04a --- /dev/null +++ b/src/phorkie/Repository/Commit.php @@ -0,0 +1,66 @@ +<?php +namespace phorkie; + + +class Repository_Commit +{ + public $hash; + public $committerName; + public $committerEmail; + public $committerTime; + + public $linesAdded; + public $linesDeleted; + public $filesChanged; + + + public function getIconUrl() + { + //workaround for https://pear.php.net/bugs/bug.php?id=19384 + require_once 'PEAR/Services/Libravatar.php'; + + $s = new \Services_Libravatar(); + return $s->url('cweiske@cweiske.de'/*$this->committerEmail*/, array('s' => 32)); + } + + /** + * @return array Array with 7 fields, each has either "r", "g" or "n" + * ("red", "green" or "none") + */ + public function getDots() + { + $r = $this->getDotNum($this->linesDeleted); + $g = $this->getDotNum($this->linesAdded); + $sum = $r + $g; + if ($sum > 7) { + $quot = ceil($sum / 7); + $r = int($r / $quot); + $g = int($g / $quot); + } + $string = str_repeat('g', $g) . str_repeat('r', $r) . str_repeat('n', 7 - $g - $r); + + return str_split($string); + } + + public function getDotNum($lines) + { + if ($lines == 0) { + return 0; + } else if ($lines == 1) { + return 1; + } else if ($lines == 2) { + return 2; + } else if ($lines == 3) { + return 3; + } else if ($lines == 4) { + return 4; + } else if ($lines < 10) { + return 5; + } else if ($lines < 50) { + return 6; + } + return 7; + } +} + +?>
\ No newline at end of file |
