added hash_base system (base refs gets stored in the _SESSION)
[phpgitweb.git] / htdocs / pages / shortlog.class.php
index 38c8db5e1139a1ff365f3e3fb6f11fa761a19dad..8e69ffd189df1b7a95333d1952b9bc3faa16ef4e 100644 (file)
@@ -26,6 +26,8 @@ class shortlog {
        
        public function generate_shortlog($project, $head, $max, $skip, $file = null, $pages = true, $next_page = 0) {
                $this->project = $project;
+               if($head && strtolower($head) == 'all')
+                       $head = null;
                $content = new ContentProvider('shortlog', 'shortlog');
                
                if(GitConfig::GITGRAPH_ENABLE) {
@@ -45,6 +47,10 @@ class shortlog {
                        $this->graph_data = new graph_data_generator();
                        if($head == null) {
                                //add all refs to the graph
+                               $rhash = GitCommand::get_hash($project['path'], "HEAD");
+                               if($rhash)
+                                       $this->graph_data->add_branch($rhash, null);
+                               
                                foreach($this->project['refs'] as $ref => $rhash) {
                                        if(preg_match('#^refs/heads/#i', $ref) && preg_match('/^[a-f0-9]*$/i', $rhash)) {
                                                $this->graph_data->add_branch($rhash, $ref);
@@ -148,6 +154,7 @@ class page_shortlog {
                $project['refs'] = $phpgitweb->get_project_loader()->getProjectRefs($project);
                $phpgitweb->append_header_nav("shortlog", null, true);
                $phpgitweb->append_title("shortlog");
+               CommitLoader::parse(true);
                
                $this->page = new ContentProvider('shortlog', 'main');
                
@@ -176,7 +183,7 @@ class page_shortlog {
                }
                
                $shortlog = new shortlog();
-               $this->page->set('shortlog', $shortlog->generate_shortlog($project, null, 100, $skip, null, true, $next_page));
+               $this->page->set('shortlog', $shortlog->generate_shortlog($project, CommitLoader::$commit_base_id, 100, $skip, null, true, $next_page));
                
                if($shortlog->get_have_more())
                        $subnav->set('next', new ContentProvider('shortlog', 'shortlog_subnav_next_link', array('page' => ($pg + 1))));