/var/www/hkosl.com/aga/wp-content/plugins/smart-slider-3/nextend/library/libraries/base64.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php

function n2CharCodeAt($data$char) {
    return 
ord(substr($data$char1));
}

function 
n2CharAt($data$char) {
    return 
substr($data$char1);
}

if (
function_exists('base64_decode')) {
    function 
n2_base64_decode($data) {
        return 
base64_decode($data);
    }
} else {
    function 
n2_base64_decode($input) {
        
$keyStr "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
        
$chr1   $chr2 $chr3 "";
        
$enc1   $enc2 $enc3 $enc4 "";
        
$i      0;
        
$output "";

        
// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
        
$filter $input;
        
$input  preg_replace("[^A-Za-z0-9\+\/\=]"""$input);
        if (
$filter != $input) {
            return 
false;
        }

        do {
            
$enc1   strpos($keyStrsubstr($input$i++, 1));
            
$enc2   strpos($keyStrsubstr($input$i++, 1));
            
$enc3   strpos($keyStrsubstr($input$i++, 1));
            
$enc4   strpos($keyStrsubstr($input$i++, 1));
            
$chr1   = ($enc1 << 2) | ($enc2 >> 4);
            
$chr2   = (($enc2 15) << 4) | ($enc3 >> 2);
            
$chr3   = (($enc3 3) << 6) | $enc4;
            
$output $output chr((int)$chr1);
            if (
$enc3 != 64) {
                
$output $output chr((int)$chr2);
            }
            if (
$enc4 != 64) {
                
$output $output chr((int)$chr3);
            }
            
$chr1 $chr2 $chr3 "";
            
$enc1 $enc2 $enc3 $enc4 "";
        } while (
$i strlen($input));

        return 
urldecode($output);
    }
}

if (
function_exists('base64_encode')) {
    function 
n2_base64_encode($data) {
        return 
base64_encode($data);
    }
} else {
    function 
n2_base64_encode($data) {
        
$b64     'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
        
$o1      $o2 $o3 $h1 $h2 $h3 $h4 $bits $i 0;
        
$ac      0;
        
$enc     '';
        
$tmp_arr = array();
        if (!
$data) {
            return 
data;
        }
        do {
            
// pack three octets into four hexets
            
$o1   n2CharCodeAt($data$i++);
            
$o2   n2CharCodeAt($data$i++);
            
$o3   n2CharCodeAt($data$i++);
            
$bits $o1 << 16 $o2 << $o3;
            
$h1   $bits >> 18 0x3f;
            
$h2   $bits >> 12 0x3f;
            
$h3   $bits >> 0x3f;
            
$h4   $bits 0x3f;
            
// use hexets to index into b64, and append result to encoded string
            
$tmp_arr[$ac++] = n2CharAt($b64$h1) . n2CharAt($b64$h2) . n2CharAt($b64$h3) . n2CharAt($b64$h4);
        } while (
$i strlen($data));
        
$enc implode($tmp_arr'');
        
$r   = (strlen($data) % 3);

        return (
$r substr($enc0, ($r 3)) . substr('==='$r) : $enc);
    }
}