Only load autoload.php from local vendor directory if it exists
authorDavid Snopek <dsnopek@gmail.com>
Thu, 20 Jul 2017 17:31:04 +0000 (12:31 -0500)
committerDavid Snopek <dsnopek@gmail.com>
Thu, 3 Aug 2017 17:09:33 +0000 (12:09 -0500)
CRM/Core/ClassLoader.php

index 737982c65d73ffa91eabee2449b3080bcbf1a266..17aa8eb3e441fcc83b345574545397f5d951a930 100644 (file)
@@ -103,9 +103,11 @@ class CRM_Core_ClassLoader {
       return;
     }
     $civicrm_base_path = dirname(dirname(__DIR__));
+    $composer_autoload = "$civicrm_base_path/vendor/autoload.php";
 
-    // @todo: need some way to check if we should register vendor or not
-    //require_once dirname(dirname(__DIR__)) . '/vendor/autoload.php';
+    if (file_exists($composer_autoload)) {
+      require_once $composer_autoload;
+    }
 
     // we do this to prevent a autoloader errors with joomla / 3rd party packages
     // use absolute path since we dont know the content of include_path as yet
@@ -124,8 +126,10 @@ class CRM_Core_ClassLoader {
     );
     $include_paths = implode(PATH_SEPARATOR, $include_paths);
     set_include_path($include_paths . PATH_SEPARATOR . get_include_path());
-    // @todo: need some way to check if we should register vendor or not
-    //require_once "$civicrm_base_path/vendor/autoload.php";
+    // @todo Why do we need to load this again?
+    if (file_exists($composer_autoload)) {
+      require_once $composer_autoload;
+    }
   }
 
   /**