* @copyright Copyright (c) 2010 Christopher Han * @package GitPHP * @subpackage Controller */ class GitPHP_Controller_Commit extends GitPHP_ControllerBase { /** * Initialize controller */ public function Initialize() { parent::Initialize(); if (empty($this->params['hash'])) $this->params['hash'] = 'HEAD'; if (!empty($this->params['output']) && ($this->params['output'] == 'jstip')) $this->DisableLogging(); } /** * Gets the template for this controller * * @return string template filename */ protected function GetTemplate() { if (isset($this->params['output']) && ($this->params['output'] == 'jstip')) { return 'committip.tpl'; } return 'commit.tpl'; } /** * Gets the cache key for this controller * * @return string cache key */ protected function GetCacheKey() { return $this->params['hash']; } /** * 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('commit'); } return 'commit'; } /** * Loads data for this template */ protected function LoadData() { $commit = $this->GetProject()->GetCommit($this->params['hash']); $this->tpl->assign('commit', $commit); $this->tpl->assign('tree', $commit->GetTree()); $treediff = $commit->DiffToParent($this->exe); $treediff->SetRenames(true); $this->tpl->assign('treediff', $treediff); } }