Diff: STRATO-apps/wordpress_03/app/wp-includes/sodium_compat/autoload.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
3
+
if (PHP_VERSION_ID < 70000) {
4
+
if (!is_callable('sodiumCompatAutoloader')) {
5
+
/**
6
+
* Sodium_Compat autoloader.
7
+
*
8
+
* @param string $class Class name to be autoloaded.
9
+
*
10
+
* @return bool Stop autoloading?
11
+
*/
12
+
function sodiumCompatAutoloader($class)
13
+
{
14
+
$namespace = 'ParagonIE_Sodium_';
15
+
// Does the class use the namespace prefix?
16
+
$len = strlen($namespace);
17
+
if (strncmp($namespace, $class, $len) !== 0) {
18
+
// no, move to the next registered autoloader
19
+
return false;
20
+
}
21
+
22
+
// Get the relative class name
23
+
$relative_class = substr($class, $len);
24
+
25
+
// Replace the namespace prefix with the base directory, replace namespace
26
+
// separators with directory separators in the relative class name, append
27
+
// with .php
28
+
$file = dirname(__FILE__) . '/src/' . str_replace('_', '/', $relative_class) . '.php';
29
+
// if the file exists, require it
30
+
if (file_exists($file)) {
31
+
require_once $file;
32
+
return true;
33
+
}
34
+
return false;
35
+
}
36
+
37
+
// Now that we have an autoloader, let's register it!
38
+
spl_autoload_register('sodiumCompatAutoloader');
39
+
}
40
+
} else {
41
+
require_once dirname(__FILE__) . '/autoload-php7.php';
42
+
}
43
+
44
+
/* Explicitly, always load the Compat class: */
45
+
if (!class_exists('ParagonIE_Sodium_Compat', false)) {
46
+
require_once dirname(__FILE__) . '/src/Compat.php';
47
+
}
48
+
49
+
if (!class_exists('SodiumException', false)) {
50
+
require_once dirname(__FILE__) . '/src/SodiumException.php';
51
+
}
52
+
if (PHP_VERSION_ID >= 50300) {
53
+
// Namespaces didn't exist before 5.3.0, so don't even try to use this
54
+
// unless PHP >= 5.3.0
55
+
require_once dirname(__FILE__) . '/lib/namespaced.php';
56
+
require_once dirname(__FILE__) . '/lib/sodium_compat.php';
57
+
if (!defined('SODIUM_CRYPTO_AEAD_AEGIS128L_KEYBYTES')) {
58
+
require_once dirname(__FILE__) . '/lib/php84compat_const.php';
59
+
}
60
+
} else {
61
+
require_once dirname(__FILE__) . '/src/PHP52/SplFixedArray.php';
62
+
}
63
+
if (PHP_VERSION_ID < 70200 || !extension_loaded('sodium')) {
64
+
if (PHP_VERSION_ID >= 50300 && !defined('SODIUM_CRYPTO_SCALARMULT_BYTES')) {
65
+
require_once dirname(__FILE__) . '/lib/php72compat_const.php';
66
+
}
67
+
if (PHP_VERSION_ID >= 70000) {
68
+
assert(class_exists('ParagonIE_Sodium_Compat'), 'Possible filesystem/autoloader bug?');
69
+
} else {
70
+
assert(class_exists('ParagonIE_Sodium_Compat'));
71
+
}
72
+
require_once(dirname(__FILE__) . '/lib/php72compat.php');
73
+
} elseif (!function_exists('sodium_crypto_stream_xchacha20_xor')) {
74
+
// Older versions of {PHP, ext/sodium} will not define these
75
+
require_once(dirname(__FILE__) . '/lib/php72compat.php');
76
+
}
77
+
if (PHP_VERSION_ID < 80400 || !extension_loaded('sodium')) {
78
+
require_once dirname(__FILE__) . '/lib/php84compat.php';
79
+
}
80
+
require_once(dirname(__FILE__) . '/lib/stream-xchacha20.php');
81
+
require_once(dirname(__FILE__) . '/lib/ristretto255.php');
82
+