/var/www/hkosl.com/aga/wp-includes/sodium_compat/lib/namespaced.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
<?php

if (PHP_VERSION_ID 50300) {
    return;
}

/*
 * This file is just for convenience, to allow developers to reduce verbosity when
 * they add this project to their libraries.
 *
 * Replace this:
 *
 * $x = ParagonIE_Sodium_Compat::crypto_aead_xchacha20poly1305_encrypt(...$args);
 *
 * with this:
 *
 * use ParagonIE\Sodium\Compat;
 *
 * $x = Compat::crypto_aead_xchacha20poly1305_encrypt(...$args);
 */
spl_autoload_register(function ($class) {
    if (
$class[0] === '\\') {
        
$class substr($class1);
    }
    
$namespace 'ParagonIE\\Sodium';
    
// Does the class use the namespace prefix?
    
$len strlen($namespace);
    if (
strncmp($namespace$class$len) !== 0) {
        
// no, move to the next registered autoloader
        
return false;
    }

    
// Get the relative class name
    
$relative_class substr($class$len);

    
// Replace the namespace prefix with the base directory, replace namespace
    // separators with directory separators in the relative class name, append
    // with .php
    
$file dirname(__DIR__) . '/namespaced/' str_replace('\\''/'$relative_class) . '.php';
    
// if the file exists, require it
    
if (file_exists($file)) {
        require_once 
$file;
        return 
true;
    }
    return 
false;
});