diff --git a/Source/MantisSourcePlugin.class.php b/Source/MantisSourcePlugin.class.php index 918430f..df70189 100644 --- a/Source/MantisSourcePlugin.class.php +++ b/Source/MantisSourcePlugin.class.php @@ -6,7 +6,7 @@ /** * Abstract class for simplifying creation of source control plugins. * @author John Reese - */ + */ abstract class MantisSourcePlugin extends MantisPlugin { public function hooks() { return array( @@ -97,6 +97,7 @@ /** * Output form elements for configuration options. + * The first div should have class 'spacer' */ public function update_config_form() {} diff --git a/Source/Source.API.php b/Source/Source.API.php index 60c6f88..518e26c 100644 --- a/Source/Source.API.php +++ b/Source/Source.API.php @@ -1097,7 +1097,8 @@ trigger_error( ERROR_GENERIC, ERROR ); } - return array_shift( self::from_result( $t_result ) ); + $t_array = self::from_result( $t_result ); + return array_shift( $t_array ); } /** @@ -1117,7 +1118,8 @@ trigger_error( ERROR_GENERIC, ERROR ); } - return array_shift( self::from_result( $t_result ) ); + $t_array = self::from_result( $t_result ); + return array_shift( $t_array ); } /** diff --git a/Source/Source.FilterAPI.php b/Source/Source.FilterAPI.php index 6c4d4ed..13f78e8 100644 --- a/Source/Source.FilterAPI.php +++ b/Source/Source.FilterAPI.php @@ -371,7 +371,7 @@ } if ( $p_array ) { - $t_input = gpc_get_string_array( $p_string, null ); + $t_input = gpc_get_string_array( $p_string, array() ); $t_input_clean = array(); if ( is_array( $t_input ) && count( $t_input ) > 0 ) { @@ -510,7 +510,7 @@ } $t_changeset_table = plugin_table( 'changeset' ); - $t_user_table = db_get_table( 'mantis_user_table' ); + $t_user_table = db_get_table( 'user' ); $t_query = "SELECT DISTINCT( author ) FROM $t_changeset_table ORDER BY author ASC"; $t_result = db_query_bound( $t_query ); @@ -535,7 +535,7 @@ } $t_changeset_table = plugin_table( 'changeset' ); - $t_user_table = db_get_table( 'mantis_user_table' ); + $t_user_table = db_get_table( 'user' ); $t_query = "SELECT DISTINCT( c.user_id ), u.username FROM $t_changeset_table AS c JOIN $t_user_table AS u ON c.user_id=u.id ORDER BY u.username ASC"; diff --git a/Source/Source.ViewAPI.php b/Source/Source.ViewAPI.php index ed73887..615c4d7 100644 --- a/Source/Source.ViewAPI.php +++ b/Source/Source.ViewAPI.php @@ -84,7 +84,7 @@ - + $p_perpage ) { + + $t_pages = ceil( $p_count / $p_perpage ); + $t_block = max( 5, min( round( $t_pages / 10, -1 ), ceil( $t_pages / 6 ) ) ); + $t_page_set = array(); + + $p_link .= '&offset='; + + $t_page_link = function( $p_page, $p_text = null ) use( $p_current, $p_link ) { + if( is_null( $p_text ) ) { + $p_text = $p_page; + } + if( is_null( $p_page ) ) { + return '...'; + } elseif( $p_page == $p_current ) { + return "$p_page"; + } else { + return sprintf( '%s', $p_link . $p_page, $p_text ); + } + }; + + if( $t_pages > 15 ) { + $t_used_page = false; + $t_pages_per_block = 3; + for( $i = 1; $i <= $t_pages; $i++ ) { + if( $i <= $t_pages_per_block + || $i > $t_pages - $t_pages_per_block + || ( $i >= $p_current - $t_pages_per_block && $i <= $p_current + $t_pages_per_block ) + || $i % $t_block == 0) + { + $t_page_set[] = $i; + $t_used_page = true; + } else if( $t_used_page ) { + $t_page_set[] = null; + $t_used_page = false; + } + } + + } else { + $t_page_set = range( 1, $t_pages ); + } + + if( $p_current > 1 ) { + echo $t_page_link( 1, lang_get( 'first' ) ), '  '; + echo $t_page_link( $p_current - 1, lang_get( 'prev' ) ), '  '; + } + + $t_page_set = array_map( $t_page_link, $t_page_set ); + echo join( ' ', $t_page_set ); + + if( $p_current < $t_pages ) { + echo '  ', $t_page_link( $p_current + 1, lang_get( 'next' ) ); + echo '  ', $t_page_link( $t_pages, lang_get( 'last' ) ); + } + } +} diff --git a/Source/Source.php b/Source/Source.php index 26c1679..2ab1e28 100755 --- a/Source/Source.php +++ b/Source/Source.php @@ -10,7 +10,7 @@ * with the Mantis bug tracker software. */ class SourcePlugin extends MantisPlugin { - static $framework_version = '0.18'; + static $framework_version = '1.3.1'; static $cache = array(); function register() { @@ -19,7 +19,7 @@ $this->version = self::$framework_version; $this->requires = array( - 'MantisCore' => '1.2.0', + 'MantisCore' => '1.3.0', ); $this->uses = array( 'jQuery' => '1.3', diff --git a/Source/SourceIntegration.php b/Source/SourceIntegration.php index 7cc472e..70ec3ec 100644 --- a/Source/SourceIntegration.php +++ b/Source/SourceIntegration.php @@ -93,9 +93,12 @@ $t_user = SourceUser::load( $p_user_id ); - echo '', plugin_lang_get( 'vcs_username', 'Source' ), - '', - ''; + echo '
' + . '' + . '' + . '' + . '' + . '
'; } /** diff --git a/Source/classes/RelatedChangesetsColumn.class.php b/Source/classes/RelatedChangesetsColumn.class.php index f3c0a83..a23683c 100644 --- a/Source/classes/RelatedChangesetsColumn.class.php +++ b/Source/classes/RelatedChangesetsColumn.class.php @@ -18,7 +18,7 @@ plugin_pop_current(); } - public function cache( $p_bugs ) { + public function cache( array $p_bugs ) { if ( count( $p_bugs ) < 1 ) { return; } @@ -45,7 +45,7 @@ } } - public function display( $p_bug, $p_columns_target ) { + public function display( BugData $p_bug, $p_columns_target ) { plugin_push_current( 'Source' ); if ( isset( $this->changeset_cache[ $p_bug->id ] ) ) { diff --git a/Source/lang/strings_catalan.txt b/Source/lang/strings_catalan.txt index 29ce72f..01120f2 100644 --- a/Source/lang/strings_catalan.txt +++ b/Source/lang/strings_catalan.txt @@ -113,9 +113,9 @@ $s_plugin_Source_mapping_update = 'Actualitzar mapejats'; $s_plugin_Source_mapping_strategy = 'Estratègia'; $s_plugin_Source_mapping_version = 'Versió'; -$s_plugin_Source_mapping_version_info = '?'; +$s_plugin_Source_mapping_version_info = '?'; $s_plugin_Source_mapping_regex = 'Expressió regular'; -$s_plugin_Source_mapping_regex_info = '?'; +$s_plugin_Source_mapping_regex_info = '?'; $s_plugin_Source_mapping_create = 'Crear mapeig'; $s_plugin_Source_mapping_explicit = 'Versió explícita'; $s_plugin_Source_mapping_near = 'Data d\'entrega més propera'; diff --git a/Source/lang/strings_english.txt b/Source/lang/strings_english.txt index f80bfc8..a1ed7c6 100644 --- a/Source/lang/strings_english.txt +++ b/Source/lang/strings_english.txt @@ -115,9 +115,9 @@ $s_plugin_Source_mapping_update = 'Update Mappings'; $s_plugin_Source_mapping_strategy = 'Strategy'; $s_plugin_Source_mapping_version = 'Version'; -$s_plugin_Source_mapping_version_info = '?'; +$s_plugin_Source_mapping_version_info = '?'; $s_plugin_Source_mapping_regex = 'Regular Expression'; -$s_plugin_Source_mapping_regex_info = '?'; +$s_plugin_Source_mapping_regex_info = '?'; $s_plugin_Source_mapping_create = 'Create Mapping'; $s_plugin_Source_mapping_explicit = 'Explicit Version'; $s_plugin_Source_mapping_near = 'Nearest Release Date'; diff --git a/Source/lang/strings_french.txt b/Source/lang/strings_french.txt index f726c30..f6577f2 100644 --- a/Source/lang/strings_french.txt +++ b/Source/lang/strings_french.txt @@ -114,9 +114,9 @@ $s_plugin_Source_mapping_update = 'Mettre à jour les associations'; $s_plugin_Source_mapping_strategy = 'Stratégie'; $s_plugin_Source_mapping_version = 'Version'; -$s_plugin_Source_mapping_version_info = '?'; +$s_plugin_Source_mapping_version_info = '?'; $s_plugin_Source_mapping_regex = 'Expression régulière'; -$s_plugin_Source_mapping_regex_info = '?'; +$s_plugin_Source_mapping_regex_info = '?'; $s_plugin_Source_mapping_create = 'Créer une association'; $s_plugin_Source_mapping_explicit = 'Version explicite'; $s_plugin_Source_mapping_near = 'Date de livraison la plus proche'; diff --git a/Source/lang/strings_german.txt b/Source/lang/strings_german.txt index 2f1d744..f880719 100644 --- a/Source/lang/strings_german.txt +++ b/Source/lang/strings_german.txt @@ -84,10 +84,10 @@ $s_plugin_Source_update_threshold = 'Aktualisierungs-Schwellenwert'; $s_plugin_Source_manage_threshold = 'Verwaltungs-Schwellenwert'; $s_plugin_Source_username_threshold = 'Schwellenwert zum Anpassen des VCS-Benutzernamens'; -$s_plugin_Source_buglink_regex_1 = 'RegEx für die automatische Zuordnung zu einem Eintrag #1
Dieser reguläre Ausdruck erkennt die Anweisung in der Übertragungsmeldung, z.B. "Issue #123"'; -$s_plugin_Source_buglink_regex_2 = 'RegEx für die automatische Zuordnung zu einem Eintrag #2
Dieser reguläre Ausdruck wird auf das Ergebnis von #1 angewandt und ermittelt daraus die Eintrags-ID'; -$s_plugin_Source_bugfix_regex_1 = 'RegEx für die automatische Zuordnung und Erledigung eines Eintrags #1
Dieser reguläre Ausdruck erkennt die Anweisung in der Übertragungsmeldung, z.B. "Fixed #123"'; -$s_plugin_Source_bugfix_regex_2 = 'RegEx für die automatische Zuordnung und Erledigung eines Eintrags #2
Dieser reguläre Ausdruck wird auf das Ergebnis von #1 angewandt und ermittelt daraus die Eintrags-ID'; +$s_plugin_Source_buglink_regex_1 = 'RegEx für die automatische Zuordnung zu einem Eintrag #1
Dieser reguläre Ausdruck erkennt die Anweisung in der Übertragungsmeldung, z.B. "Issue #123"'; +$s_plugin_Source_buglink_regex_2 = 'RegEx für die automatische Zuordnung zu einem Eintrag #2
Dieser reguläre Ausdruck wird auf das Ergebnis von #1 angewandt und ermittelt daraus die Eintrags-ID'; +$s_plugin_Source_bugfix_regex_1 = 'RegEx für die automatische Zuordnung und Erledigung eines Eintrags #1
Dieser reguläre Ausdruck erkennt die Anweisung in der Übertragungsmeldung, z.B. "Fixed #123"'; +$s_plugin_Source_bugfix_regex_2 = 'RegEx für die automatische Zuordnung und Erledigung eines Eintrags #2
Dieser reguläre Ausdruck wird auf das Ergebnis von #1 angewandt und ermittelt daraus die Eintrags-ID'; $s_plugin_Source_bugfix_status = 'Automatische Erledigung: Status'; $s_plugin_Source_bugfix_status_pvm = 'Automatische Erledigung Produktstatus'; $s_plugin_Source_bugfix_status_off = '[Deaktiviert]'; @@ -115,9 +115,9 @@ $s_plugin_Source_mapping_update = 'Aktualisiere Zuordnung'; $s_plugin_Source_mapping_strategy = 'Strategie'; $s_plugin_Source_mapping_version = 'Version'; -$s_plugin_Source_mapping_version_info = '?'; +$s_plugin_Source_mapping_version_info = '?'; $s_plugin_Source_mapping_regex = 'Regulärer Ausdruck'; -$s_plugin_Source_mapping_regex_info = '?'; +$s_plugin_Source_mapping_regex_info = '?'; $s_plugin_Source_mapping_create = 'Erzeuge Zuordnung'; $s_plugin_Source_mapping_explicit = 'Explizite Versionsangabe'; $s_plugin_Source_mapping_near = 'Nächstes Veröffentlichungsdatum'; diff --git a/Source/lang/strings_russian.txt b/Source/lang/strings_russian.txt index 11cbc4f..003d935 100644 --- a/Source/lang/strings_russian.txt +++ b/Source/lang/strings_russian.txt @@ -115,9 +115,9 @@ $s_plugin_Source_mapping_update = 'Обновить маппинг'; $s_plugin_Source_mapping_strategy = 'стратегия'; $s_plugin_Source_mapping_version = 'версия'; -$s_plugin_Source_mapping_version_info = '?'; +$s_plugin_Source_mapping_version_info = '?'; $s_plugin_Source_mapping_regex = 'регулярное выражение'; -$s_plugin_Source_mapping_regex_info = '?'; +$s_plugin_Source_mapping_regex_info = '?'; $s_plugin_Source_mapping_create = 'Создать маппинг'; $s_plugin_Source_mapping_explicit = 'Explicit Version'; $s_plugin_Source_mapping_near = 'ближайшая дата релиза'; diff --git a/Source/lang/strings_spanish.txt b/Source/lang/strings_spanish.txt index b456198..1966db1 100644 --- a/Source/lang/strings_spanish.txt +++ b/Source/lang/strings_spanish.txt @@ -113,9 +113,9 @@ $s_plugin_Source_mapping_update = 'Actualizar mapeados'; $s_plugin_Source_mapping_strategy = 'Estrategia'; $s_plugin_Source_mapping_version = 'Versión'; -$s_plugin_Source_mapping_version_info = '?'; +$s_plugin_Source_mapping_version_info = '?'; $s_plugin_Source_mapping_regex = 'Expresión regular'; -$s_plugin_Source_mapping_regex_info = '?'; +$s_plugin_Source_mapping_regex_info = '?'; $s_plugin_Source_mapping_create = 'Crear mapeo'; $s_plugin_Source_mapping_explicit = 'Versión explícita'; $s_plugin_Source_mapping_near = 'Fecha de entrega más cercana'; diff --git a/Source/pages/edit_page.php b/Source/pages/edit_page.php index 8bef922..2bfdea0 100644 --- a/Source/pages/edit_page.php +++ b/Source/pages/edit_page.php @@ -40,7 +40,7 @@ -> + -> + -> + @@ -89,7 +89,7 @@ -> + diff --git a/Source/pages/index.php b/Source/pages/index.php index 894543a..5946001 100644 --- a/Source/pages/index.php +++ b/Source/pages/index.php @@ -7,9 +7,6 @@ $t_can_manage = access_has_global_level( plugin_config_get( 'manage_threshold' ) ); $t_show_stats = plugin_config_get( 'show_repo_stats' ); -$t_class = $t_show_stats ? 'width75' : 'width60'; -$t_title_span = $t_show_stats ? 2 : 1; -$t_links_span = $t_show_stats ? 4 : 2; $t_repos = SourceRepo::load_all(); @@ -17,90 +14,136 @@ html_page_top2(); ?> -
- +
- - - - +
-
- - - - - - - - - +

- -> - - -stats(); ?> - - - - - + + + + +stats(); +?> + + + + + + + + +
- -
name ) ?>type ) ) ?> -id, plugin_lang_get( 'changesets' ) ); - if ( $t_can_manage ) { - if ( preg_match( '/^Import \d+-\d+\d+/', $t_repo->name ) ) { - print_bracket_link( plugin_page( 'repo_delete' ) . '&id=' . $t_repo->id . form_security_param( 'plugin_Source_repo_delete' ), plugin_lang_get( 'delete' ) ); +
+ id, plugin_lang_get( 'manage' ) ); + ?> + +
+ + + + + + + + + + + - - - + + + -
+
name ) ?>type ) ) ?>id, plugin_lang_get( 'changesets' ) ); + if( $t_can_manage ) { + # Import repositories can be deleted from here + if( preg_match( '/^Import \d+-\d+\d+/', $t_repo->name ) ) { + print_bracket_link( + plugin_page( 'repo_delete' ) . '&id=' . $t_repo->id + . form_security_param( 'plugin_Source_repo_delete' ), + plugin_lang_get( 'delete' ) + ); + } + print_bracket_link( + plugin_page( 'repo_manage_page' ) . '&id=' . $t_repo->id, + plugin_lang_get( 'manage' ) + ); + } + ?>
+ - -
+ + +
- - +
-
- - + -> - - - + -> - - - +
+ + + + + +
- - - +
+ + + + + +
-
- -
+
+ +
+ +
- +
+ + -
- +
- - - - +
-id => $t_repo ), false ) ?> +

name ?>

-
- - - -
name ?> -id, plugin_lang_get( 'manage' ) ); -} -print_bracket_link( plugin_page( 'search_page' ), plugin_lang_get( 'search' ) ); -if ( $t_url = $t_vcs->url_repo( $t_repo ) ) { - print_bracket_link( $t_url, plugin_lang_get( 'browse' ) ); -} -print_bracket_link( plugin_page( 'index' ), plugin_lang_get( 'back' ) ); -?> -
- - $f_perpage ) { - - $t_pages = ceil( $t_count / $f_perpage ); - $t_block = max( 5, min( 20, ceil( $t_pages / 6 ) ) ); - $t_current = $f_offset; - $t_page_set = array(); - - $t_page_link_body = "if ( is_null( \$t ) ) { \$t = \$p; } - return ( is_null( \$p ) ? '...' : ( \$p == $t_current ? \"\$p\" : - 'id' . '&offset=' . \$p . '\">' . \$t . '' ) );"; - $t_page_link = create_function( '$p, $t=null', $t_page_link_body ) or die( 'gah' ); - - if ( $t_pages > 15 ) { - $t_used_page = false; - for( $i = 1; $i <= $t_pages; $i++ ) { - if ( $i <= 3 || $i > $t_pages-3 || - ( $i >= $t_current-5 && $i <= $t_current+5 ) || - $i % $t_block == 0) { - - $t_page_set[] = $i; - $t_used_page = true; - } else if ( $t_used_page ) { - $t_page_set[] = null; - $t_used_page = false; +
+ id, plugin_lang_get( 'manage' ) + ); } - } + print_bracket_link( plugin_page( 'search_page' ), plugin_lang_get( 'search' ) ); + if( $t_url = $t_vcs->url_repo( $t_repo ) ) { + print_bracket_link( $t_url, plugin_lang_get( 'browse' ) ); + } + print_bracket_link( plugin_page( 'index' ), plugin_lang_get( 'back' ) ); + ?> +
- } else { - $t_page_set = range( 1, $t_pages ); - } + + id => $t_repo ), + false + ); + ?> +
- if ( $t_current > 1 ) { - echo $t_page_link( $f_offset-1, '<<' ), '  '; - } - - $t_page_set = array_map( $t_page_link, $t_page_set ); - echo join( ' ', $t_page_set ); - - if ( $t_current < $t_pages ) { - echo '  ', $t_page_link( $f_offset+1, '>>' ); - } - -} -?> -
+
+ id, + $f_offset, + $t_stats['changesets'], + $f_perpage + ); + ?> +
+
+
+
- - +
+ + + -
- - +
+ +
-> - - - + -> - - - +
+ + + + + +
-> - - - +
+ + + + + +
-> - - - +
+ + + + + +
-> - - - +
+ + + + + +
-> - - - +
+ + + /> + +
+ /> + +
+ +
- +
+ + + /> + +
+ /> + +
+ /> + +
+ /> + +
+ /> + +
+ /> + + +
+ /> + + +
+ +
-> - - - +
+ + + +
+ + +
+ +
-> - - - +
+ + + +
+ + +
+ +
- +
+ + + +
+ + +
+ +
-> - - - +
+ + + +
+ + +
+ +
-> - - - +
+ + + + + +
-> - - - - -> - - - - - -> - - - - - -> - - - - -> - - - - -> - - - - - - -> - - - - - - -> - - - - -> - - - - - - -> - - - - -> - - - +
+ + + + + +
$t_vcs ) { - if ( $t_vcs->configuration ) { - echo ''; - $t_vcs->update_config_form(); + if( plugin_is_installed( 'ProductMatrix' ) || plugin_config_get( 'enable_product_matrix' ) ) { +?> +
+ + + + + +
+ - - - +
+ + + +
+ +
+ +
-
-
-
-
-
-
-
-
-
-
- -
- -
- -
-
- -
-
- -
-
- -
-
-
-
-
-
-
-
/>
-
- -
/>
/>
+
+ + + +
+ +
+ +
+ +
+ + + /> + + +
+ +
+ + + +
+ +
+ +
+ +
+ + + /> + + +
+ +
+ + + + + +
+ +
+ + + /> + + +
+ +
+ + + + + +
+ + $t_vcs ) { + if ( $t_vcs->configuration ) { + $t_vcs->update_config_form(); + } + } +?> + + + + + +
+
post_stats = $t_repo->stats(); ?> -> + name ) ?> load_mappings(); + function display_strategies( $p_type=null ) { + $t_strategies = array(); if ( is_null( $p_type ) ) { + $t_strategies[] = array( 0, 'select_one' ); echo ''; } + $t_strategies[] = array( SOURCE_EXPLICIT, 'mapping_explicit' ); + if( !Source_PVM() ) { + $t_strategies[] = array( SOURCE_NEAR, 'mapping_near' ); + $t_strategies[] = array( SOURCE_FAR, 'mapping_far' ); + $t_strategies[] = array( SOURCE_FIRST, 'mapping_first' ); + $t_strategies[] = array( SOURCE_LAST, 'mapping_last' ); + } - echo ''; - if ( !Source_PVM() ) { - echo '', - ''; - echo '', - ''; + foreach( $t_strategies as $t_strategy ) { + echo "\n" . ''; } } @@ -39,13 +42,14 @@ } if ( is_null( $t_version_id ) ) { - echo ""; + echo "\n" . ''; } foreach( $s_products as $t_product ) { foreach( $t_product->versions as $t_version ) { - echo ""; + echo "\n" . '"; } } } @@ -55,123 +59,144 @@ ?>
- +
-
- - - +

+
+ +
-> - - - +
- -
name ) ?>
+ + + + -> - - - + + + + -> - - - + + + + -> - - - + + + + +
name ) ?>
url ) ?>
url ) ?>
info) ?>
info) ?>
- - - - - +
+
+ +
+
+ + +
+
+
+
+ + +
+
+ + +
+
+
- - -
- -
-
- - -
- - -
- - -
-
- - -
- - + - - -
+ + +
+

- - +
-
- - + - - - - - - - +
+ + + + + + + + + -branch ); ?> + +> - - - - + foreach( $t_mappings as $t_mapping ) { + $t_branch = str_replace( '.', '_', $t_mapping->branch ); + if( is_null( $t_mapping->branch ) ) { +?> + + + + + + + - + - - - - + + - + + + +
+ + + + + + + +
+ + + +
+ -> - - - - - - - - +
+ +
- - - - -
+
- +
-
- - - +
+ +
+ -
- - - + + -> - - - + -> - - - +
+ + + + + +
-> - - - +
+ + + +
-update_repo_form( $t_repo ) ?> +
+ + + + + +
- - - + update_repo_form( $t_repo ) ?> -
id, plugin_lang_get( 'back_repo' ) ) ?>
+ + + +
+ find( $f_offset ); +list( $t_changesets, $t_count ) = $t_filter->find( $f_offset, $f_perpage ); $t_repos = SourceRepo::load_by_changesets( $t_changesets ); html_page_top1( plugin_lang_get( 'title' ) ); @@ -22,77 +22,36 @@ ?> -
- +
- - - - +
- +

-
-
- -
+
+ +
- + +
-if ( $t_count > $f_perpage ) { - - $t_pages = ceil( $t_count / $f_perpage ); - $t_block = max( 5, min( 20, ceil( $t_pages / 6 ) ) ); - $t_current = $f_offset; - $t_page_set = array(); - - $t_page_link_body = "if ( is_null( \$t ) ) { \$t = \$p; } - return ( is_null( \$p ) ? '...' : ( \$p == $t_current ? \"\$p\" : - '' . \$t . '' ) );"; - $t_page_link = create_function( '$p, $t=null', $t_page_link_body ) or die( 'gah' ); - - if ( $t_pages > 15 ) { - $t_used_page = false; - for( $i = 1; $i <= $t_pages; $i++ ) { - if ( $i <= 3 || $i > $t_pages-3 || - ( $i >= $t_current-4 && $i <= $t_current+4 ) || - $i % $t_block == 0) { - - $t_page_set[] = $i; - $t_used_page = true; - } else if ( $t_used_page ) { - $t_page_set[] = null; - $t_used_page = false; - } - } - - } else { - $t_page_set = range( 1, $t_pages ); - } - - if ( $t_current > 1 ) { - echo $t_page_link( $f_offset-1, '<<' ), '  '; - } - - $t_page_set = array_map( $t_page_link, $t_page_set ); - echo join( ' ', $t_page_set ); - - if ( $t_current < $t_pages ) { - echo '  ', $t_page_link( $f_offset+1, '>>' ); - } - -} -?> - - - - +
+ +
+
+ +
- - - - - +

- - - - - - +
+ +
-> - - - - - +
+ -
+
- -
filters['r.type']->value ) ?>filters['r.id']->value ) ?>filters['c.branch']->value ) ?>filters['f.action']->value ) ?>
+ + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + +
filters['r.type']->value ) ?>filters['r.id']->value ) ?>filters['c.branch']->value ) ?>filters['f.action']->value ) ?>
filters['c.user_id']->value ) ?>filters['c.author']->value ) ?>
-> -filters['c.user_id']->value ) ?> -filters['c.author']->value ) ?> - - - +
+ + + + + +
- - -> - - - - -> - - - +
+ + + + + +
-> - -filters['c.ported']->value ); ?> - +
+ + + filters['c.ported']->value ); ?> + + +
- +
+ + + + + +
-> - - - +
+ + + + + +
-> - - - +
+ +
- - - - - +
+
id ?>"/> - +
+
+ - - - - - - + + + + + + - + -> + @@ -118,18 +120,18 @@ 0 ) { ?> - + -> - + $t_bug_row ) { - echo ( $t_first ? '' : '' ); + echo ( $t_first ? '' : '' ); ?> @@ -142,7 +144,7 @@ } if ( $t_can_update ) { if ( !$t_first ) { ?> -> + - + -> - +files as $t_file ) { ?> -> + - +
name ), ': ', $t_vcs->show_changeset( $t_repo, $t_changeset ) ?> @@ -74,18 +76,18 @@
branch ) ?>
+
- +
', bug_format_id( $t_bug_id ), ': ', string_display_line( $t_bug_row['summary'] ) ?>
@@ -154,17 +156,17 @@
+
- + message ) ?>
show_file( $t_repo, $t_changeset, $t_file ) ) ?> url_diff( $t_repo, $t_changeset, $t_file ), plugin_lang_get( 'diff', 'Source' ) ) ?> @@ -176,7 +178,7 @@
+ @@ -186,7 +188,9 @@
+ -> + -> + -> + diff --git a/SourceGithub/SourceGithub.php b/SourceGithub/SourceGithub.php index 749407a..c7728df 100755 --- a/SourceGithub/SourceGithub.php +++ b/SourceGithub/SourceGithub.php @@ -17,10 +17,10 @@ $this->name = plugin_lang_get( 'title' ); $this->description = plugin_lang_get( 'description' ); - $this->version = '0.18'; + $this->version = '1.3.0'; $this->requires = array( - 'MantisCore' => '1.2.16', - 'Source' => '0.18', + 'MantisCore' => '1.3.0', + 'Source' => '1.3.0', ); $this->author = 'John Reese'; @@ -129,38 +129,61 @@ $t_master_branch = 'master'; } ?> -> - - - -> - - - - -> - - - -> - - - -> - - + + + + + + + +
+ + + + + +
+ + +
+ + + + + +
+ +
+ + + + + +
+ +
+ + + oauth_authorize_uri( $p_repo ), plugin_lang_get( 'hub_app_authorize' ) ); else: echo plugin_lang_get( 'hub_app_authorized' ); -endif; ?> - - -> - - - +endif; ?> + + +
+ +
+ + + + + +
-> + -> + -> + diff --git a/SourceHgWeb/SourceHgWeb.php b/SourceHgWeb/SourceHgWeb.php index 0088278..e34bffa 100644 --- a/SourceHgWeb/SourceHgWeb.php +++ b/SourceHgWeb/SourceHgWeb.php @@ -92,15 +92,15 @@ $t_master_branch = 'default'; } ?> -> + -> + -> + diff --git a/SourceSFSVN/SourceSFSVN.php b/SourceSFSVN/SourceSFSVN.php index e4761f2..67b1113 100644 --- a/SourceSFSVN/SourceSFSVN.php +++ b/SourceSFSVN/SourceSFSVN.php @@ -70,7 +70,7 @@ $t_sf_project = isset( $p_repo->info['sf_project'] ) ? $p_repo->info['sf_project'] : ''; ?> -> + diff --git a/SourceSVN/SourceSVN.php b/SourceSVN/SourceSVN.php index ef93f46..78926da 100644 --- a/SourceSVN/SourceSVN.php +++ b/SourceSVN/SourceSVN.php @@ -72,31 +72,31 @@ $t_ignore_paths = isset( $p_repo->info['ignore_paths'] ) ? $p_repo->info['ignore_paths'] : ''; ?> -> + -> + -> + /> -> + -> + -> + -> + /> @@ -128,22 +128,41 @@ $t_winstart = plugin_config_get( 'winstart', '' ); ?> -> - - - -> - - - -> - -/> - -> - -/> - + + + + +
+ + + + + +
+ +
+ + + + + +
+ +
+ + + /> + + +
+ +
+ + + /> + + +
get_websvn_path( $p_repo ); ?> -> + -> + is_multiviews( $p_repo ) ) ?>/> -> + -> +