-# {{{ 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
# <jesse@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
#
# 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:
# 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;
$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
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);
}
# {{{ _GetResolver
-=private _GetResolver <scheme>
+=head2 _GetResolver <scheme>
Gets an RT URI resolver for the scheme <scheme>.
Falls back to a null resolver. RT::URI::base.
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);
- }
+ }
}
=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
# }}}
+=head2 AsHREF
+
+
+=cut
+
+
+sub AsHREF {
+ my $self = shift;
+ return $self->Resolver->HREF;
+}
-=head Resolver
+=head2 Resolver
Returns this URI's URI resolver object