projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
h_svc_pbx.pm, RT#7322
[freeside.git]
/
FS
/
FS
/
CGI.pm
diff --git
a/FS/FS/CGI.pm
b/FS/FS/CGI.pm
index
96047f6
..
f33a718
100644
(file)
--- a/
FS/FS/CGI.pm
+++ b/
FS/FS/CGI.pm
@@
-194,16
+194,24
@@
sub myexit {
}
}
}
}
-=item popurl LEVEL
+=item popurl LEVEL
[URL]
-Returns current URL with LEVEL levels of path removed from the end (default 0).
+Returns current (or, optionally, passed) URL with LEVEL levels of path removed
+from the end (default 0).
=cut
sub popurl {
=cut
sub popurl {
- my($up)=@_;
- my $cgi = &FS::UID::cgi;
- my $url_string = $cgi->isa('Apache') ? $cgi->uri : $cgi->url;
+ my $up = shift;
+
+ my $url_string;
+ if ( scalar(@_) ) {
+ $url_string = shift;
+ } else {
+ my $cgi = &FS::UID::cgi;
+ $url_string = $cgi->isa('Apache') ? $cgi->uri : $cgi->url;
+ }
+
$url_string =~ s/\?.*//;
my $url = new URI::URL ( $url_string );
my(@path)=$url->path_components;
$url_string =~ s/\?.*//;
my $url = new URI::URL ( $url_string );
my(@path)=$url->path_components;
@@
-233,7
+241,7
@@
sub rooturl {
(browse|config|docs|edit|graph|misc|search|view|pref|rt|elements)
/
(process/)?
(browse|config|docs|edit|graph|misc|search|view|pref|rt|elements)
/
(process/)?
- ([\w\-\.\/]
+
)
+ ([\w\-\.\/]
*
)
$
}
{}x;
$
}
{}x;