diff options
Diffstat (limited to 'rt/lib/RT/Link_Overlay.pm')
| -rw-r--r-- | rt/lib/RT/Link_Overlay.pm | 360 | 
1 files changed, 0 insertions, 360 deletions
| diff --git a/rt/lib/RT/Link_Overlay.pm b/rt/lib/RT/Link_Overlay.pm deleted file mode 100644 index ac1bc370c..000000000 --- a/rt/lib/RT/Link_Overlay.pm +++ /dev/null @@ -1,360 +0,0 @@ -# BEGIN LICENSE BLOCK -#  -# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com> -#  -# (Except where explictly superceded by other copyright notices) -#  -# This work is made available to you under the terms of Version 2 of -# the GNU General Public License. A copy of that license should have -# been provided with this software, but in any event can be snarfed -# from www.gnu.org. -#  -# This work is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -# General Public License for more details. -#  -# Unless otherwise specified, all modifications, corrections or -# extensions to this work which alter its source code become the -# property of Best Practical Solutions, LLC when submitted for -# inclusion in the work. -#  -#  -# END LICENSE BLOCK -=head1 NAME - -  RT::Link - an RT Link object - -=head1 SYNOPSIS - -  use RT::Link; - -=head1 DESCRIPTION - -This module should never be called directly by client code. it's an internal module which -should only be accessed through exported APIs in Ticket other similar objects. - -=head1 METHODS - - -=begin testing - - -use RT::Link; -my $link = RT::Link->new($RT::SystemUser); - - -ok (ref $link); -ok (UNIVERSAL::isa($link, 'RT::Link')); -ok (UNIVERSAL::isa($link, 'RT::Base')); -ok (UNIVERSAL::isa($link, 'RT::Record')); -ok (UNIVERSAL::isa($link, 'DBIx::SearchBuilder::Record')); - -=end testing - -=cut - -use strict; -no warnings qw(redefine); - - -use Carp; -use RT::URI; - - -# {{{ sub Create  - -=head2 Create PARAMHASH - -Create a new link object. Takes 'Base', 'Target' and 'Type'. -Returns undef on failure or a Link Id on success. - -=cut - -sub Create { -    my $self = shift; -    my %args = ( Base   => undef, -                 Target => undef, -                 Type   => undef, -                 @_ ); - -    my $base = RT::URI->new( $self->CurrentUser ); -    $base->FromURI( $args{'Base'} ); - -    unless ( $base->Scheme ) { -        $RT::Logger->warning( "$self couldn't resolve base:'" -                              . $args{'Base'} . " - " -                              . $base->Scheme -                              . "' into a URI\n" ); - -        #use Data::Dumper; -        #$RT::Logger->warning(scalar Dumper $base); -        return (undef); -    } - -    my $target = RT::URI->new( $self->CurrentUser ); -    $target->FromURI( $args{'Target'} ); - -    unless ( $target->Resolver ) { -        $RT::Logger->warning( "$self couldn't resolve target:'" -                              . $args{'Target'} . " - " -                              . "' into a URI\n" ); - -        #use Data::Dumper; -        #$RT::Logger->warning(scalar Dumper $target); -        return (undef); -    } - -    my $base_id   = 0; -    my $target_id = 0; - - - - -    if ( $base->IsLocal ) { -        unless (UNIVERSAL::can($base->Object, 'Id')) { -            return (undef, $self->loc("[_1] appears to be a local object, but can't be found in the database", $args{'Base'})); -         -        } -        $base_id = $base->Object->Id; -    } -    if ( $target->IsLocal ) { -        unless (UNIVERSAL::can($target->Object, 'Id')) { -            return (undef, $self->loc("[_1] appears to be a local object, but can't be found in the database", $args{'Target'})); -         -        } -        $target_id = $target->Object->Id; -    } - -    # {{{ We don't want references to ourself -    if ( $base->URI eq $target->URI ) { -        return ( 0, $self->loc("Can't link a ticket to itself") ); -    } - -    # }}} - -    my ( $id, $msg ) = $self->SUPER::Create( Base        => $base->URI, -                                             Target      => $target->URI, -                                             LocalBase   => $base_id, -                                             LocalTarget => $target_id, -                                             Type        => $args{'Type'} ); -    return ( $id, $msg ); -} - -# }}} - # {{{ sub LoadByParams - -=head2 LoadByParams - -  Load an RT::Link object from the database.  Takes three parameters -   -  Base => undef, -  Target => undef, -  Type =>undef -  -  Base and Target are expected to be integers which refer to Tickets or URIs -  Type is the link type - -=cut - -sub LoadByParams { -    my $self = shift; -    my %args = ( Base   => undef, -                 Target => undef, -                 Type   => undef, -                 @_ ); - -    my $base = RT::URI->new($self->CurrentUser); -    $base->FromURI( $args{'Base'} ); - -    my $target = RT::URI->new($self->CurrentUser); -    $target->FromURI( $args{'Target'} ); -     -    unless ($base->Resolver && $target->Resolver) { -        return ( 0, $self->loc("Couldn't load link") ); -    } - - -    my ( $id, $msg ) = $self->LoadByCols( Base   => $base->URI, -                                          Type   => $args{'Type'}, -                                          Target => $target->URI ); - -    unless ($id) { -        return ( 0, $self->loc("Couldn't load link") ); -    } -} - -# }}} -# {{{ sub Load  - -=head2 Load - -  Load an RT::Link object from the database.  Takes one parameter, the id of an entry in the links table. - - -=cut - -sub Load { -    my $self       = shift; -    my $identifier = shift; - - - - -    if ( $identifier !~ /^\d+$/ ) { -        return ( 0, $self->loc("That's not a numerical id") ); -    } -    else { -        my ( $id, $msg ) = $self->LoadById($identifier); -        unless ( $self->Id ) { -            return ( 0, $self->loc("Couldn't load link") ); -        } -        return ( $id, $msg ); -    } -} - -# }}} - - -# {{{ TargetURI - -=head2 TargetURI - -returns an RT::URI object for the "Target" of this link. - -=cut - -sub TargetURI { -    my $self = shift; -    my $URI = RT::URI->new($self->CurrentUser); -    $URI->FromURI($self->Target); -    return ($URI); -} - -# }}} -# {{{ sub TargetObj  - -=head2 TargetObj - -=cut - -sub TargetObj { -  my $self = shift; -   return $self->TargetURI->Object; -} -# }}} - -# {{{ BaseURI - -=head2 BaseURI - -returns an RT::URI object for the "Base" of this link. - -=cut - -sub BaseURI { -    my $self = shift; -    my $URI = RT::URI->new($self->CurrentUser); -    $URI->FromURI($self->Base); -    return ($URI); -} - -# }}} -# {{{ sub BaseObj - -=head2 BaseObj - -=cut - -sub BaseObj { -  my $self = shift; -  return $self->BaseURI->Object; -} -# }}} - - - -# Static methods: - -# {{{ sub BaseIsLocal - -=head2 BaseIsLocal - -Returns true if the base of this link is a local ticket - -=cut - -sub BaseIsLocal { -  my $self = shift; -  $RT::Logger->crit("Link::BaseIsLocal is deprecated in favor of Link->BaseURI->IsLocal"); -  return $self->BaseURI->IsLocal; -} - -# }}} - -# {{{ sub TargetIsLocal - -=head2 TargetIsLocal - -Returns true if the target of this link is a local ticket - -=cut - -sub TargetIsLocal { -  my $self = shift; -  $RT::Logger->crit("Link::BaseIsLocal is deprecated in favor of Link->BaseURI->IsLocal"); -  return $self->TargetURI->IsLocal; -} - -# }}} - - -# {{{ sub BaseAsHREF  - -=head2 BaseAsHREF - -Returns an HTTP url to access the base of this link - -=cut - -sub BaseAsHREF { -  my $self = shift; -  $RT::Logger->crit("Link::BaseAsHREF deprecated in favor of ->BaseURI->AsHREF"); -  return $self->BaseURI->HREF; -} -# }}} - -# {{{ sub TargetAsHREF  - -=head2 TargetAsHREF - -return an HTTP url to access the target of this link - -=cut - -sub TargetAsHREF { -  my $self = shift; -  $RT::Logger->crit("Link::TargetAsHREF deprecated in favor of ->TargetURI->AsHREF"); -  return $self->TargetURI->HREF; -} -# }}} - -# {{{ sub AsHREF - Converts Link URIs to HTTP URLs - -=head2 URI - -Takes a URI and returns an http: url to access that object. - -=cut - - -sub AsHREF { -    my $self=shift; -    -    $RT::Logger->crit("AsHREF is gone. look at URI::HREF to figure out what to do with \$URI"); -} - -# }}} - -1; -  | 
