From: Rob H. <for...@us...> - 2002-02-22 08:10:57
|
Update of /cvsroot/sandweb/sandweb/lib/SandWeb In directory usw-pr-cvs1:/tmp/cvs-serv13594/lib/SandWeb Modified Files: Browse.pm Log Message: current_location is now a public method of Browse Index: Browse.pm =================================================================== RCS file: /cvsroot/sandweb/sandweb/lib/SandWeb/Browse.pm,v retrieving revision 1.57 retrieving revision 1.58 diff -U2 -r1.57 -r1.58 --- Browse.pm 22 Feb 2002 04:48:23 -0000 1.57 +++ Browse.pm 22 Feb 2002 08:10:54 -0000 1.58 @@ -40,5 +40,4 @@ my $location = $args{'location'}; my $progname = $args{'progname'}; - my $repo_type = $args{'repo_type'}; my $repo_name = $args{'repo_name'}; @@ -152,5 +151,5 @@ - return $content->output; + return $content->output(); } @@ -161,11 +160,13 @@ my @vcs_commands; my @loop_data; - my $vcs_commands = $self->_get_vcs_commands(); - my $template_dir = $self->_get_template_dir(); - my $module_name = $self->_get_module_name(); + my $location = $args{'location'}; my $progname = $args{'progname'}; my $repo_name = $args{'repo_name'}; + my $vcs_commands = $self->_get_vcs_commands(); + my $template_dir = $self->_get_template_dir(); + my $module_name = $self->_get_module_name(); + my $content = HTML::Template->new( filename => "$template_dir/tool_bar.html" ); @@ -190,57 +191,78 @@ ); - return $content->output; + return $content->output(); } -# -#sub get_current_location { -#my $count; -# if ($location eq '/') { -# $location = ''; -# } -# -# if ($location) { -# # Security check, no "/.." or "../" allowed mister! -# $location =~ s:/\.\.::g; -# $location =~ s:\.\./::g; -# } else { -# $location = ''; -# } -# my @location_link; -# push (@location_link, split( /\//, $location )); -# my @loop_data = (); -# $count = 0; -# my @location_full = (); -# -# unless ($count) { -# my %row_data; -# $row_data{LOCATION_LINK} = "[$module_name]"; -# $row_data{LOCATION_FULL} = "/"; -# $row_data{MODULE_NAME} = "$module_name"; -# $row_data{REPO_NAME} = "$repo_name"; -# $row_data{PROGNAME} = "$progname"; -# push (@loop_data, \%row_data); -# $count++; -# } -# -# foreach my $link (@location_link) { -# my %row_data; -# -# if ( $link ) { -# $row_data{LOCATION_LINK} = "[$link]"; -# } -# my $data = join("/", @location_full); -# -# if ($location_link[$count]) { -# push (@location_full, "/$location_link[$count]"); -# } -# $row_data{LOCATION_FULL} = "$data"; -# $row_data{MODULE_NAME} = "$module_name"; -# $row_data{REPO_NAME} = "$repo_name"; -# $row_data{PROGNAME} = "$progname"; -# push (@loop_data, \%row_data); -# $count++; -# } -#} + +sub get_current_location { + my $self = shift; + my %args = @_; + + my $location = $args{'location'}; + my $progname = $args{'progname'}; + my $repo_name = $args{'repo_name'}; + + my $username = $self->_get_username(); + my $users_dir = $self->_get_users_dir(); + my $module_name = $self->_get_module_name(); + my $template_dir = $self->_get_template_dir(); + my $log = $self->_get_log_obj; + + my $count; + if ($location eq '/') { + $location = ''; + } + + if ($location) { + # Security check, no "/.." or "../" allowed mister! + $location =~ s:/\.\.::g; + $location =~ s:\.\./::g; + } else { + $location = ''; + } + my @location_link; + push (@location_link, split( /\//, $location )); + my @loop_data = (); + $count = 0; + my @location_full = (); + + unless ($count) { + my %row_data; + $row_data{LOCATION_LINK} = "[$module_name]"; + $row_data{LOCATION_FULL} = "/"; + $row_data{PROGNAME} = "$progname"; + $row_data{MODULE_NAME} = "$module_name"; + $row_data{REPO_NAME} = "$repo_name"; + push (@loop_data, \%row_data); + $count++; + } + + foreach my $link (@location_link) { + my %row_data; + if ( $link ) { + $row_data{LOCATION_LINK} = "[$link]"; + } + + my $data = join("/", @location_full); + if ($location_link[$count]) { + push (@location_full, "/$location_link[$count]"); + } + $row_data{LOCATION_FULL} = "$data"; + $row_data{PROGNAME} = "$progname"; + $row_data{PROGNAME} = "$progname"; + $row_data{MODULE_NAME} = "$module_name"; + $row_data{REPO_NAME} = "$repo_name"; + push (@loop_data, \%row_data); + $count++; + } + + my $content = HTML::Template->new( filename => "$template_dir/current_location.html" ); + + $content->param( + LOCATION_LOOP => \@loop_data, + ); + + return $content->output(); +} sub _get_username { |