@ -71,6 +71,17 @@ void print_header(int columns)
html ( " </tr> \n " ) ;
}
void print_pager ( int items , int pagelen , char * search )
{
int i ;
html ( " <div class='pager'> " ) ;
for ( i = 0 ; i * pagelen < items ; i + + )
cgit_index_link ( fmt ( " [%d] " , i + 1 ) , fmt ( " Page %d " , i + 1 ) , NULL ,
search , i * pagelen ) ;
html ( " </div> " ) ;
}
void cgit_print_repolist ( )
{
int i , columns = 4 , hits = 0 , header = 0 ;
@ -92,9 +103,13 @@ void cgit_print_repolist()
ctx . repo = & cgit_repolist . repos [ i ] ;
if ( ! is_match ( ctx . repo ) )
continue ;
hits + + ;
if ( hits < = ctx . qry . ofs )
continue ;
if ( hits > ctx . qry . ofs + ctx . cfg . max_repo_count )
continue ;
if ( ! header + + )
print_header ( columns ) ;
hits + + ;
if ( ( last_group = = NULL & & ctx . repo - > group ! = NULL ) | |
( last_group ! = NULL & & ctx . repo - > group = = NULL ) | |
( last_group ! = NULL & & ctx . repo - > group ! = NULL & &
@ -134,6 +149,8 @@ void cgit_print_repolist()
html ( " </table> " ) ;
if ( ! hits )
cgit_print_error ( " No repositories found " ) ;
else if ( hits > ctx . cfg . max_repo_count )
print_pager ( hits , ctx . cfg . max_repo_count , ctx . qry . search ) ;
cgit_print_docend ( ) ;
}