1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?php
- /**
- * Controller for displaying a commit
- *
- * @author Christopher Han <xiphux@gmail.com>
- * @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);
- }
- }
|