ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/SCRAM/src/URL/URLclass.pm
(Generate patch)

Comparing COMP/SCRAM/src/URL/URLclass.pm (file contents):
Revision 1.3 by williamc, Fri Nov 12 16:40:45 1999 UTC vs.
Revision 1.9 by williamc, Tue Nov 16 17:46:20 1999 UTC

# Line 12 | Line 12
12   # url()         : return the full url name with all expansion
13   # expandurl(URLbase) : expand the url to include the given base
14   # file()        : return the filename from the end of the path
15 + # base()        : return the basename of the path
16 + # fullfile()    : return base/file
17   # param(var)    : return the value of a url parameter
18   #
19   # -- specialised use methods
20   # type()        : get/set the url type
21   # vars()        : get/set the vars hash
22 < # base(base)    : push a base into the url path if it dosnt already mactch
22 > # base(base)    : push a base into the url path if it dosnt already match
23   # transfervars(varhash)  : transfer any variables from varhash into vars
24   #                          only if they do not already exist
25  
# Line 59 | Line 61 | sub expandurl {
61          $self->{vars}={};
62          $self->_url($self->{origurl}); # reset the current url;
63          $self->transfervars($base->cmds());
64 <        $self->base($base->base());
64 >        $self->_base($base->base());
65   }
66  
65 sub base {
66        my $self=shift;
67        if ( @_ ) {
68          my $server=shift;
69          if ( ($server ne "") && ($self->{server}!~/\/\//) &&
70                        ($self->{server}!~/$server/) ) {
71             # only set if not already in there
72             $self->{server}=$server."/".$self->{server};
73          }
74        }
75        return $self->{server};
76 }
67  
68   sub url {
69          my $self=shift;
70          
71          my $vars=$self->_vartostring();
72 <        my $fullurl=$self->type()."://".$self->{server}.
73 <                        (($vars ne "")?"\?".$vars:"");
72 >        my $base=$self->base();
73 >        my $fullurl=$self->type()."://".(($base ne "")?$base."/":"").
74 >                        $self->file().(($vars ne "")?"\?".$vars:"");
75          return $fullurl;
76   }
77  
# Line 95 | Line 86 | sub transfervars {
86          }
87   }
88  
89 + sub fullfile {
90 +        my $self=shift;
91 +        return $self->{server}
92 + }
93 +
94 + sub base {
95 +        my $self=shift;
96 +        my $base="";
97 +        if ( $self->{server}=~/\/\// ) {
98 +          ($base=$self->{server})=~s/(.*)\/\/.*/$1/;
99 +        }
100 +        elsif ( $self->{server}=~/\// ) {
101 +          ($base=$self->{server})=~s/(.*)\/.*/$1/;
102 +        }  
103 +        return $base;
104 + }
105 +        
106   sub file {
107          my $self=shift;
108          my $file;
109  
110 <        if ( $self->{server}=~/\// ) {
110 >        if ( $self->{server}=~/\/\// ) {
111 >          ($file=$self->{server})=~s/.*\/\/(.*)/$1/;
112 >        }
113 >        elsif ( $self->{server}=~/\// ) {
114            ($file=$self->{server})=~s/.*\///g;
115          }
116          else {
# Line 118 | Line 129 | sub param {
129   #
130   # --- Support Routines
131   #
132 +
133 + # push a base name into the url string
134 + sub _base {
135 +        my $self=shift;
136 +        if ( @_ ) {
137 +          my $server=shift;
138 +          if ( ($server ne "") && ($self->{server}!~/\/\//) &&
139 +                        ($self->{server}!~/$server/) ) {
140 +             # only set if not already in there
141 +             $self->{server}=$server."\/\/".$self->{server};
142 +          }
143 +        }
144 +        return $self->{server};
145 + }
146 +
147   sub _vartostring {
148          my $self=shift;
149  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines