X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Flib%2FRT%2FInterface%2FCLI.pm;h=bcdc13cdf010dd8256f09defdb678b4c5088b1a4;hb=0af38652da3b3be7da2d35b048285ef6f2194e1a;hp=00bd1b64ef55a8ed78a5ba826d893ca8659b176a;hpb=fc6209f398899f0211cfcedeb81a3cd65e04a941;p=freeside.git diff --git a/rt/lib/RT/Interface/CLI.pm b/rt/lib/RT/Interface/CLI.pm index 00bd1b64e..bcdc13cdf 100644 --- a/rt/lib/RT/Interface/CLI.pm +++ b/rt/lib/RT/Interface/CLI.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -46,25 +46,12 @@ # # END BPS TAGGED BLOCK }}} +package RT::Interface::CLI; use strict; - use RT; -package RT::Interface::CLI; - - -BEGIN { - use base 'Exporter'; - use vars qw ($VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS); - - # set the version for version checking - $VERSION = do { my @r = (q$Revision: 1.1.1.9 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker - - # your exported package globals go here, - # as well as any optionally exported functions - @EXPORT_OK = qw(&CleanEnv - &GetCurrentUser &GetMessageContent &debug &loc); -} +use base 'Exporter'; +our @EXPORT_OK = qw(CleanEnv GetCurrentUser GetMessageContent debug loc); =head1 NAME @@ -124,7 +111,6 @@ sub CleanEnv { my $CurrentUser; # shared betwen GetCurrentUser and loc -# {{{ sub GetCurrentUser =head2 GetCurrentUser @@ -144,7 +130,7 @@ sub GetCurrentUser { #If the current user is 0, then RT will assume that the User object #is that of the currentuser. - $CurrentUser = new RT::CurrentUser(); + $CurrentUser = RT::CurrentUser->new(); $CurrentUser->LoadByGecos($Gecos); unless ($CurrentUser->Id) { @@ -153,10 +139,8 @@ sub GetCurrentUser { return($CurrentUser); } -# }}} -# {{{ sub loc =head2 loc @@ -168,12 +152,10 @@ sub loc { die "No current user yet" unless $CurrentUser ||= RT::CurrentUser->new; return $CurrentUser->loc(@_); } -# }}} } -# {{{ sub GetMessageContent =head2 GetMessageContent @@ -200,9 +182,9 @@ sub GetMessageContent { #Load the sourcefile, if it's been handed to us if ($source) { - open (SOURCE, "<$source"); - @lines = (); - close (SOURCE); + open( SOURCE, '<', $source ) or die $!; + @lines = () or die $!; + close (SOURCE) or die $!; } elsif ($args{'Content'}) { @lines = split('\n',$args{'Content'}); @@ -214,7 +196,7 @@ sub GetMessageContent { for (@lines) { print $fh $_; } - close ($fh); + close ($fh) or die $!; #Edit the file if we need to if ($edit) { @@ -226,18 +208,16 @@ sub GetMessageContent { system ($ENV{'EDITOR'}, $filename); } - open (READ, "<$filename"); + open( READ, '<', $filename ) or die $!; my @newlines = (); - close (READ); + close (READ) or die $!; unlink ($filename) unless (debug()); return(\@newlines); } -# }}} -# {{{ sub debug sub debug { my $val = shift; @@ -253,12 +233,21 @@ sub debug { } } -# }}} - +sub ShowHelp { + my $self = shift; + my %args = @_; + require Pod::Usage; + Pod::Usage::pod2usage( + -message => $args{'Message'}, + -exitval => $args{'ExitValue'} || 0, + -verbose => 99, + -sections => $args{'Sections'} || ($args{'ExitValue'} + ? 'NAME|USAGE' + : 'NAME|USAGE|OPTIONS|DESCRIPTION' + ), + ); +} -eval "require RT::Interface::CLI_Vendor"; -die $@ if ($@ && $@ !~ qr{^Can't locate RT/Interface/CLI_Vendor.pm}); -eval "require RT::Interface::CLI_Local"; -die $@ if ($@ && $@ !~ qr{^Can't locate RT/Interface/CLI_Local.pm}); +RT::Base->_ImportOverlays(); 1;