summaryrefslogtreecommitdiffstats
path: root/vendor/paragonie/sodium_compat/autoload-php7.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/paragonie/sodium_compat/autoload-php7.php')
-rw-r--r--vendor/paragonie/sodium_compat/autoload-php7.php31
1 files changed, 31 insertions, 0 deletions
diff --git a/vendor/paragonie/sodium_compat/autoload-php7.php b/vendor/paragonie/sodium_compat/autoload-php7.php
new file mode 100644
index 0000000..4824860
--- /dev/null
+++ b/vendor/paragonie/sodium_compat/autoload-php7.php
@@ -0,0 +1,31 @@
+<?php
+/*
+ This file should only ever be loaded on PHP 7+
+ */
+if (PHP_VERSION_ID < 70000) {
+ return;
+}
+
+spl_autoload_register(function ($class) {
+ $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(__FILE__) . '/src/' . str_replace('_', '/', $relative_class) . '.php';
+ // if the file exists, require it
+ if (file_exists($file)) {
+ require_once $file;
+ return true;
+ }
+ return false;
+});