/**
  * Loads data for this template
  */
 protected function LoadData()
 {
     $head = $this->GetProject()->GetHeadCommit();
     $data = null;
     if ($this->params['graphtype'] == 'commitactivity') {
         $data = array();
         $commits = explode("\n", $this->exe->Execute($this->GetProject()->GetPath(), 'rev-list', array('--format=format:"%H %ct"', $head->GetHash())));
         foreach ($commits as $commit) {
             if (preg_match('/^([0-9a-fA-F]{40}) ([0-9]+)$/', $commit, $regs)) {
                 $data[] = array('CommitEpoch' => (int) $regs[2]);
             }
         }
     } else {
         if ($this->params['graphtype'] == 'languagedist') {
             $data = array();
             include_once GITPHP_GESHIDIR . "geshi.php";
             $geshi = new GeSHi("", 'php');
             $files = explode("\n", $this->exe->Execute($this->GetProject()->GetPath(), 'ls-tree', array('-r', '--name-only', $head->GetTree()->GetHash())));
             foreach ($files as $file) {
                 $filename = GitPHP_Util::BaseName($file);
                 $lang = GitPHP_Util::GeshiFilenameToLanguage($filename);
                 if (empty($lang)) {
                     $lang = $geshi->get_language_name_from_extension(substr(strrchr($filename, '.'), 1));
                     if (empty($lang)) {
                         $lang = 'Other';
                     }
                 }
                 if (!empty($lang) && $lang !== 'Other') {
                     $fulllang = $geshi->get_language_fullname($lang);
                     if (!empty($fulllang)) {
                         $lang = $fulllang;
                     }
                 }
                 if (isset($data[$lang])) {
                     $data[$lang]++;
                 } else {
                     $data[$lang] = 1;
                 }
             }
         }
     }
     $this->tpl->assign('data', json_encode($data));
 }