Aurora
Adminer
Auto Root
WP Admin
cPanel Reset
Anti Backdoor
Root
usr
share
perl5
vendor_perl
Pod
POM
View
Upload
New Folder
New File
Name
Size
Permissions
Actions
..
-
-
-
Upload File
Select File
New Folder
Folder Name
New File
File Name
Add WordPress Admin
Database Host
Database Name
Database User
Database Password
Admin Username
Admin Password
cPanel Password Reset
Email Address
Edit: Text.pm
#============================================================= -*-Perl-*- # # Pod::POM::View::Text # # DESCRIPTION # Text view of a Pod Object Model. # # AUTHOR # Andy Wardley <abw@kfs.org> # # COPYRIGHT # Copyright (C) 2000 Andy Wardley. All Rights Reserved. # # This module is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. # # REVISION # $Id: Text.pm 77 2009-08-20 20:44:14Z ford $ # #======================================================================== package Pod::POM::View::Text; $Pod::POM::View::Text::VERSION = '2.01'; require 5.006; use strict; use warnings; use Pod::POM::View; use parent qw( Pod::POM::View ); use vars qw( $DEBUG $ERROR $AUTOLOAD $INDENT ); use Text::Wrap; $DEBUG = 0 unless defined $DEBUG; $INDENT = 0; sub new { my $class = shift; my $args = ref $_[0] eq 'HASH' ? shift : { @_ }; bless { INDENT => 0, %$args, }, $class; } sub view { my ($self, $type, $item) = @_; if ($type =~ s/^seq_//) { return $item; } elsif (UNIVERSAL::isa($item, 'HASH')) { if (defined $item->{ content }) { return $item->{ content }->present($self); } elsif (defined $item->{ text }) { my $text = $item->{ text }; return ref $text ? $text->present($self) : $text; } else { return ''; } } elsif (! ref $item) { return $item; } else { return ''; } } sub view_head1 { my ($self, $head1) = @_; my $indent = ref $self ? \$self->{ INDENT } : \$INDENT; my $pad = ' ' x $$indent; local $Text::Wrap::unexpand = 0; my $title = wrap($pad, $pad, $head1->title->present($self)); $$indent += 4; my $output = "$title\n" . $head1->content->present($self); $$indent -= 4; return $output; } sub view_head2 { my ($self, $head2) = @_; my $indent = ref $self ? \$self->{ INDENT } : \$INDENT; my $pad = ' ' x $$indent; local $Text::Wrap::unexpand = 0; my $title = wrap($pad, $pad, $head2->title->present($self)); $$indent += 4; my $output = "$title\n" . $head2->content->present($self); $$indent -= 4; return $output; } sub view_head3 { my ($self, $head3) = @_; my $indent = ref $self ? \$self->{ INDENT } : \$INDENT; my $pad = ' ' x $$indent; local $Text::Wrap::unexpand = 0; my $title = wrap($pad, $pad, $head3->title->present($self)); $$indent += 4; my $output = "$title\n" . $head3->content->present($self); $$indent -= 4; return $output; } sub view_head4 { my ($self, $head4) = @_; my $indent = ref $self ? \$self->{ INDENT } : \$INDENT; my $pad = ' ' x $$indent; local $Text::Wrap::unexpand = 0; my $title = wrap($pad, $pad, $head4->title->present($self)); $$indent += 4; my $output = "$title\n" . $head4->content->present($self); $$indent -= 4; return $output; } #------------------------------------------------------------------------ # view_over($self, $over) # # Present an =over block - this is a blockquote if there are no =items # within the block. #------------------------------------------------------------------------ sub view_over { my ($self, $over) = @_; if (@{$over->item}) { return $over->content->present($self); } else { my $indent = ref $self ? \$self->{ INDENT } : \$INDENT; my $pad = ' ' x $$indent; $$indent += 4; my $content = $over->content->present($self); $$indent -= 4; return $content; } } sub view_item { my ($self, $item) = @_; my $indent = ref $self ? \$self->{ INDENT } : \$INDENT; my $pad = ' ' x $$indent; local $Text::Wrap::unexpand = 0; my $title = wrap($pad . '* ', $pad . ' ', $item->title->present($self)); $$indent += 2; my $content = $item->content->present($self); $$indent -= 2; return "$title\n\n$content"; } sub view_for { my ($self, $for) = @_; return '' unless $for->format() =~ /\btext\b/; return $for->text() . "\n\n"; } sub view_begin { my ($self, $begin) = @_; return '' unless $begin->format() =~ /\btext\b/; return $begin->content->present($self); } sub view_textblock { my ($self, $text) = @_; my $indent = ref $self ? \$self->{ INDENT } : \$INDENT; $text =~ s/\s+/ /mg; $$indent ||= 0; my $pad = ' ' x $$indent; local $Text::Wrap::unexpand = 0; return wrap($pad, $pad, $text) . "\n\n"; } sub view_verbatim { my ($self, $text) = @_; my $indent = ref $self ? \$self->{ INDENT } : \$INDENT; my $pad = ' ' x $$indent; $text =~ s/^/$pad/mg; return "$text\n\n"; } sub view_seq_bold { my ($self, $text) = @_; return "*$text*"; } sub view_seq_italic { my ($self, $text) = @_; return "_${text}_"; } sub view_seq_code { my ($self, $text) = @_; return "'$text'"; } sub view_seq_file { my ($self, $text) = @_; return "_${text}_"; } my $entities = { gt => '>', lt => '<', amp => '&', quot => '"', }; sub view_seq_entity { my ($self, $entity) = @_; return $entities->{ $entity } || $entity; } sub view_seq_index { return ''; } sub view_seq_link { my ($self, $link) = @_; if ($link =~ s/^.*?\|//) { return $link; } else { return "the $link manpage"; } } 1; =head1 NAME Pod::POM::View::Text - create text views of POM objects =head1 DESCRIPTION Text view of a Pod Object Model. =head1 METHODS =over 4 =item C<view($self, $type, $item)> =item C<view_pod($self, $pod)> =item C<view_head1($self, $head1)> =item C<view_head2($self, $head2)> =item C<view_head3($self, $head3)> =item C<view_head4($self, $head4)> =item C<view_over($self, $over)> =item C<view_item($self, $item)> =item C<view_for($self, $for)> =item C<view_begin($self, $begin)> =item C<view_textblock($self, $textblock)> =item C<view_verbatim($self, $verbatim)> =item C<view_meta($self, $meta)> =item C<view_seq_bold($self, $text)> Returns the text of a C<BE<lt>E<gt>> sequence in 'bold' (i.e. surrounded by asterisks, like *this*). =item C<view_seq_italic($self, $text)> Returns the text of a C<IE<lt>E<gt>> sequence in 'italics' (i.e. surrounded by underscores, like _this_). =item C<view_seq_code($self, $text)> =item C<view_seq_file($self, $text)> =item C<view_seq_entity($self, $text)> =item C<view_seq_index($self, $text)> Returns an empty string. Index sequences are suppressed in text view. =item C<view_seq_link($self, $text)> =back =head1 AUTHOR Andy Wardley E<lt>abw@kfs.orgE<gt> =head1 COPYRIGHT AND LICENSE Copyright (C) 2000 Andy Wardley. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut