diff --git a/SourceSFSVN/SourceSFSVN.php b/SourceSFSVN/SourceSFSVN.php index 6812200..14a3ae4 100644 --- a/SourceSFSVN/SourceSFSVN.php +++ b/SourceSFSVN/SourceSFSVN.php @@ -53,21 +53,24 @@ } } + function sf_url( $p_repo ) { + $t_project = urlencode( $p_repo->info['sf_project'] ); + return "http://$t_project.svn.sourceforge.net/viewvc/$t_project"; + } + function url_repo( $p_event, $p_repo, $p_changeset=null ) { if ( 'sfsvn' == $p_repo->type ) { if ( !is_null( $p_changeset ) ) { - $t_rev = '&rev=' . urlencode( $p_changeset->revision ); + $t_rev = '?pathrev=' . urlencode( $p_changeset->revision ); } - if ( !is_blank( $p_repo->info['websvn_path'] ) ) { - $t_path = '&path=' . urlencode( $p_repo->info['websvn_path'] ); - } - return $p_repo->info['websvn_url'] . 'listing.php?repname=' . urlencode( $p_repo->info['websvn_name'] ) . "$t_path$t_rev&sc=1"; + return $this->sf_url( $p_repo ) . "/$t_rev"; } } function url_changeset( $p_event, $p_repo, $p_changeset ) { if ( 'sfsvn' == $p_repo->type ) { - return $this->url_repo( $p_event, $p_repo, $p_changeset ); + $t_rev = '&revision=' . urlencode( $p_changeset->revision ); + return $this->sf_url( $p_repo ) . "?view=rev$t_rev"; } } @@ -76,8 +79,8 @@ if ( $p_file->action == 'D' ) { return ''; } - return $p_repo->info['websvn_url'] . 'filedetails.php?repname=' . urlencode( $p_repo->info['websvn_name'] ) . - '&rev=' . urlencode( $p_changeset->revision ) . '&path=' . urlencode( $p_file->filename ) . '&sc=1'; + return $this->sf_url( $p_repo ) . urlencode( $p_file->filename ) . + '?view=markup&pathrev=' . urlencode( $p_changeset->revision ); } } @@ -86,8 +89,9 @@ if ( $p_file->action == 'D' || $p_file->action == 'A' ) { return ''; } - return $p_repo->info['websvn_url'] . 'diff.php?repname=' . urlencode( $p_repo->info['websvn_name'] ) . - '&rev=' . urlencode( $p_changeset->revision ) . '&path=' . urlencode( $p_file->filename ) . '&sc=1'; + $t_diff = '?r1=' . urlencode( $p_changeset->revision ) . '&r2=' . urlencode( $p_changeset->revision - 1 ); + return $this->sf_url( $p_repo ) . urlencode( $p_file->filename ) . $t_diff . + '&pathrev=' . urlencode( $p_changeset->revision ); } } @@ -96,31 +100,20 @@ return; } - $t_url = $t_name = ''; - if ( isset( $p_repo->info['websvn_url'] ) ) { - $t_url = $p_repo->info['websvn_url']; - } - if ( isset( $p_repo->info['websvn_name'] ) ) { - $t_name = $p_repo->info['websvn_name']; - } - if ( isset( $p_repo->info['websvn_path'] ) ) { - $t_path = $p_repo->info['websvn_path']; + if ( isset( $p_repo->info['sf_project'] ) ) { + $t_sf_project = $p_repo->info['sf_project']; } if ( isset( $p_repo->info['standard_repo'] ) ) { $t_branches = $p_repo->info['standard_repo']; } ?>