X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Flib%2FRT%2FURI.pm;h=70654e1103f935f0f2ddfb8a6b76e256c4f0b6f0;hb=7f9d70532a02b68fe169972ea31c13c9625ac207;hp=b0470449cc58d12da3adff9c14aa8558ace203df;hpb=d39d52aac8f38ea9115628039f0df5aa3ac826de;p=freeside.git diff --git a/rt/lib/RT/URI.pm b/rt/lib/RT/URI.pm index b0470449c..70654e110 100644 --- a/rt/lib/RT/URI.pm +++ b/rt/lib/RT/URI.pm @@ -1,8 +1,8 @@ -# {{{ BEGIN BPS TAGGED BLOCK +# BEGIN BPS TAGGED BLOCK {{{ # # COPYRIGHT: -# -# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC +# +# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -22,7 +22,9 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301 or visit their web page on the internet at +# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. # # # CONTRIBUTION SUBMISSION POLICY: @@ -42,12 +44,12 @@ # works based on those contributions, and sublicense and distribute # those contributions and any derivatives thereof. # -# }}} END BPS TAGGED BLOCK -package RT::URI;; +# END BPS TAGGED BLOCK }}} + +package RT::URI; use strict; -use vars qw/@ISA/; -@ISA = qw(RT::Base); +use base 'RT::Base'; use RT::URI::base; use Carp; @@ -134,8 +136,8 @@ sub FromURI { $scheme = $1; } else { - $RT::Logger->warning("$self Could not determine a URI scheme for $uri"); - return (undef); + $RT::Logger->warning("Could not determine a URI scheme for $uri"); + return (undef); } # load up a resolver object for this scheme @@ -143,11 +145,11 @@ sub FromURI { unless ($self->Resolver->ParseURI($uri)) { $RT::Logger->warning("Resolver ".ref($self->Resolver)." could not parse $uri"); - $self->{resolver} = undef; # clear resolver + $self->{resolver} = RT::URI::base->new( $self->CurrentUser ); # clear resolver return (undef); } -return(1); + return(1); } @@ -155,7 +157,7 @@ return(1); # {{{ _GetResolver -=private _GetResolver +=head2 _GetResolver Gets an RT URI resolver for the scheme . Falls back to a null resolver. RT::URI::base. @@ -170,16 +172,16 @@ sub _GetResolver { my $resolver; - eval " - require RT::URI::$scheme; - \$resolver = RT::URI::$scheme->new(\$self->CurrentUser); - "; + eval " + require RT::URI::$scheme; + \$resolver = RT::URI::$scheme->new(\$self->CurrentUser); + "; - if ($resolver) { + if ($resolver) { $self->{'resolver'} = $resolver; - } else { + } else { $self->{'resolver'} = RT::URI::base->new($self->CurrentUser); - } + } } @@ -189,8 +191,8 @@ sub _GetResolver { =head2 Scheme -Returns a local object id for this content. You are expected to know what sort of object this is the Id -of +Returns a local object id for this content. You are expected to know +what sort of object this is the Id of =cut @@ -250,8 +252,18 @@ sub IsLocal { # }}} +=head2 AsHREF + + +=cut + + +sub AsHREF { + my $self = shift; + return $self->Resolver->HREF; +} -=head Resolver +=head2 Resolver Returns this URI's URI resolver object