1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | <?php /** * Controller for displaying heads * * @author Christopher Han <xiphux@gmail.com> * @copyright Copyright (c) 2010 Christopher Han * @package GitPHP * @subpackage Controller */ class GitPHP_Controller_Heads extends GitPHP_ControllerBase { /** * Initialize controller */ public function Initialize() { parent::Initialize(); if (empty($this->params['page'])) $this->params['page'] = 0; } /** * Gets the template for this controller * * @return string template filename */ protected function GetTemplate() { return 'heads.tpl'; } /** * Gets the cache key for this controller * * @return string cache key */ protected function GetCacheKey() { return $this->params['page']; } /** * Gets the name of this controller's action * * @param boolean $local true if caller wants the localized action name * @return string action name */ public function GetName($local = false) { if ($local && $this->resource) { return $this->resource->translate('heads'); } return 'heads'; } /** * Loads data for this template */ protected function LoadData() { $head = $this->GetProject()->GetHeadCommit(); $this->tpl->assign("head",$head); $this->tpl->assign('page', $this->params['page']); $skip = $this->params['page'] * 100; $headlist = $this->GetProject()->GetHeadList()->GetOrderedHeads('-committerdate', 101, $skip); if (isset($headlist) && (count($headlist) > 0)) { if (count($headlist) > 100) { $headlist = array_slice($headlist, 0, 100); $this->tpl->assign('hasmoreheads', true); } $this->tpl->assign("headlist", $headlist); } } } |