run:R W Run
DIR
2026-03-11 16:18:52
R W Run
DIR
2026-03-11 16:18:52
R W Run
DIR
2026-03-11 16:18:52
R W Run
860 By
2026-03-11 16:18:52
R W Run
890 By
2026-03-11 16:18:52
R W Run
3.04 KB
2026-03-11 16:18:52
R W Run
1.57 KB
2026-03-11 16:18:52
R W Run
error_log
📄autoload.php
1<?php
2
3if (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: */
45if (!class_exists('ParagonIE_Sodium_Compat', false)) {
46 require_once dirname(__FILE__) . '/src/Compat.php';
47}
48
49if (!class_exists('SodiumException', false)) {
50 require_once dirname(__FILE__) . '/src/SodiumException.php';
51}
52if (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}
63if (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}
77if (PHP_VERSION_ID < 80400 || !extension_loaded('sodium')) {
78 require_once dirname(__FILE__) . '/lib/php84compat.php';
79}
80require_once(dirname(__FILE__) . '/lib/stream-xchacha20.php');
81require_once(dirname(__FILE__) . '/lib/ristretto255.php');
82