| Server IP : 23.254.227.96 / Your IP : 216.73.216.183 Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64 User : viralblo ( 1001) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/lib64/perl5/vendor_perl/Razor2/Preproc/ |
Upload File : |
package Razor2::Preproc::enBase64;
sub new {
return bless {}, shift;
}
sub isit {
my ( $self, $text ) = @_;
my $is_binary = ( $$text =~ /^Content-Type-Encoding: 8-bit/ )
|| ( $$text =~ /([\x00-\x1f|\x7f-\xff])/ and $1 !~ /[\r\n\t]/ );
return $is_binary;
}
sub doit {
my ( $self, $text ) = @_;
pos($$text) = 0; # ensure start at the beginning
my $res = join '', map( pack( 'u', $_ ) =~ /^.(\S*)/, ( $$text =~ /(.{1,45})/gs ) );
$res =~ tr|` -_|AA-Za-z0-9+/|; # `# help emacs
# fix padding at the end
my $padding = ( 3 - length($$text) % 3 ) % 3;
$res =~ s/.{$padding}$/'=' x $padding/e if $padding;
# split into lines
$res =~ s/(.{1,76})/$1\n/g;
$res = "Content-Transfer-Encoding: base64\n\n$res";
$$text = $res;
}
1;