X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Flib%2FRT%2FURI.pm;h=ba9c491e9bfd7370f8cb4e2bcff7ee5d38c2a5cd;hp=11a9e3e06d9434012672521cf37e34b5962b208a;hb=187086c479a09629b7d180eec513fb7657f4e291;hpb=e9e0cf0989259b94d9758eceff448666a2e5a5cc diff --git a/rt/lib/RT/URI.pm b/rt/lib/RT/URI.pm index 11a9e3e06..ba9c491e9 100644 --- a/rt/lib/RT/URI.pm +++ b/rt/lib/RT/URI.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2018 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -141,33 +141,33 @@ Returns true if everything is ok, otherwise false sub FromURI { my $self = shift; - my $uri = shift; + my $uri = shift; return undef unless ($uri); my $scheme; # Special case: integers passed in as URIs must be ticket ids if ($uri =~ /^(\d+)$/) { - $scheme = "fsck.com-rt"; + $scheme = "fsck.com-rt"; } elsif ($uri =~ /^((?!javascript|data)(?:\w|\.|-)+?):/i) { - $scheme = $1; + $scheme = $1; } else { $self->{resolver} = RT::URI::base->new( $self->CurrentUser ); # clear resolver $RT::Logger->warning("Could not determine a URI scheme for $uri"); return (undef); } - - # load up a resolver object for this scheme + + # load up a resolver object for this scheme $self->_GetResolver($scheme); - + unless ($self->Resolver->ParseURI($uri)) { $RT::Logger->warning( "Resolver " . ref( $self->Resolver ) . " could not parse $uri, maybe Organization config was changed?" ); $self->{resolver} = RT::URI::base->new( $self->CurrentUser ); # clear resolver - return (undef); + return (undef); } return(1); @@ -287,6 +287,17 @@ sub Resolver { return ($self->{'resolver'}); } +=head2 AsString + +Returns a friendly display form of the object if Local, or the full URI + +=cut + +sub AsString { + my $self = shift; + return $self->Resolver->AsString; +} + RT::Base->_ImportOverlays(); 1;