<?php # Copyright (c) 2012 John Reese # Licensed under the MIT license helper_begin_long_process(); form_security_validate( 'plugin_Source_repo_import_latest' ); access_ensure_global_level( plugin_config_get( 'manage_threshold' ) ); helper_ensure_confirmed( plugin_lang_get( 'ensure_import_latest' ), plugin_lang_get( 'import_latest' ) ); $f_repo_id = strtolower( gpc_get_string( 'id' ) ); $t_repo_id = (int) $f_repo_id; $t_repos = array( SourceRepo::load( $t_repo_id ) ); $t_repo = array_shift( $t_repos ); $t_vcs = SourceVCS::repo( $t_repo ); $t_repo->pre_stats = $t_repo->stats(); html_page_top(); ?> <br/> <table class="width60" align="center"> <tr> <td class="" colspan="2"><?php echo plugin_lang_get( 'import_results' ) ?></td> </tr> <?php # keep checking for more changesets to import $t_repo->import_error = false; while( true ) { # import the next batch of changesets $t_changesets = $t_vcs->import_latest( $t_repo ); # check for errors if ( !is_array( $t_changesets ) ) { $t_repo->import_error = true; break; } # if no more entries, we're done if ( count( $t_changesets ) < 1 ) { break; } Source_Process_Changesets( $t_changesets ); } $t_repo->post_stats = $t_repo->stats(); ?> <tr> <td class="category"><?php echo string_display_line( $t_repo->name ) ?></td> <td> <?php if ( $t_repo->import_error ) { echo plugin_lang_get( 'import_latest_failed' ), '<br/>'; } $t_stats = $t_repo->post_stats; $t_stats['changesets'] -= $t_repo->pre_stats['changesets']; $t_stats['files'] -= $t_repo->pre_stats['files']; $t_stats['bugs'] -= $t_repo->pre_stats['bugs']; echo sprintf( plugin_lang_get( 'import_stats' ), $t_stats['changesets'], $t_stats['files'], $t_stats['bugs'] ); ?> </td> </tr> <tr> <td colspan="2" class="center"> <?php print_bracket_link( plugin_page( 'repo_manage_page' ) . '&id=' . $t_repo->id, plugin_lang_get( 'back_repo' ) ) ?> </td> </tr> </table> <?php html_page_bottom(); form_security_purge( 'plugin_Source_repo_import_latest' );