From 84a65c718939be3c69b99a1100ef05ebee9be93b Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Thu, 3 Sep 2015 17:52:04 +0200 Subject: [PATCH] Include PHP libraries from system if not packaged and they are installed. Thanks to: "Bhuvan Krishna" "Sunil Mohan" --- lib/framework.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/framework.php b/lib/framework.php index 1834c3e786..d749d23bdf 100644 --- a/lib/framework.php +++ b/lib/framework.php @@ -137,9 +137,18 @@ spl_autoload_register('GNUsocial_class_autoload'); * and is available here: http://www.php-fig.org/psr/psr-0/ */ spl_autoload_register(function($class){ - $file = INSTALLDIR.'/extlib/'.preg_replace('{\\\\|_(?!.*\\\\)}', DIRECTORY_SEPARATOR, ltrim($class, '\\')).'.php'; + $class_path = preg_replace('{\\\\|_(?!.*\\\\)}', DIRECTORY_SEPARATOR, ltrim($class, '\\')).'.php'; + $file = INSTALLDIR.'/extlib/'.$class_path; if (file_exists($file)) { require_once $file; + return; + } + + # Try if the system has this external library + $file = '/usr/share/php/'.$class_path; + if (file_exists($file)) { + require_once $file; + return; } });