. */ class page_shortlog { private $page, $phpgitweb; public function main($phpgitweb, $project) { $this->phpgitweb = $phpgitweb; $this->project = $project; if(!$this->project) return new ContentProvider('main', 'err400'); $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'); if(strtolower(CommitLoader::$commit_base_id) != 'all') { $this->page->set('refname', ' - '.CommitLoader::$commit_base_id); } else $this->page->set('refname', ''); //pages if(array_key_exists('pg', $_GET)) { $pg = $_GET['pg']; if($pg < 0) $pg = 0; $skip = $_GET['pg'] * 100; $next_page = $_GET['pg'] + 1; } else { $pg = 0; $skip = 0; $next_page = 1; } $subnav = new ContentProvider('shortlog', 'shortlog_subnav'); $phpgitweb->append_sub_nav($subnav); if($pg) { $subnav->set('first', new ContentProvider('shortlog', 'shortlog_subnav_first_link')); $subnav->set('prev', new ContentProvider('shortlog', 'shortlog_subnav_prev_link', array('page' => ($pg - 1)))); } else { $subnav->set('first', new ContentProvider('shortlog', 'shortlog_subnav_first')); $subnav->set('prev', new ContentProvider('shortlog', 'shortlog_subnav_prev')); } $shortlog = new shortlog(); $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)))); else $subnav->set('next', new ContentProvider('shortlog', 'shortlog_subnav_next')); return $this->page; } } ?>