X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FApi4%2FServices.php;h=95fd4a2202cc006863768cf3a1a25c25799d0e79;hb=2fabb51bd1669c94ca0c62f5b4ca23089f17e53f;hp=03dcf6c5afc67afe2fd41633405aa6db2ad2aa4c;hpb=380f354525c0529e7a2531599f0811451ae9796b;p=civicrm-core.git diff --git a/CRM/Api4/Services.php b/CRM/Api4/Services.php index 03dcf6c5af..95fd4a2202 100644 --- a/CRM/Api4/Services.php +++ b/CRM/Api4/Services.php @@ -2,34 +2,18 @@ /* +--------------------------------------------------------------------+ - | CiviCRM version 5 | - +--------------------------------------------------------------------+ - | Copyright CiviCRM LLC (c) 2004-2019 | - +--------------------------------------------------------------------+ - | This file is a part of CiviCRM. | - | | - | CiviCRM is free software; you can copy, modify, and distribute it | - | under the terms of the GNU Affero General Public License | - | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. | + | Copyright CiviCRM LLC. All rights reserved. | | | - | CiviCRM is distributed in the hope that it will be useful, but | - | WITHOUT ANY WARRANTY; without even the implied warranty of | - | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | - | See the GNU Affero General Public License for more details. | - | | - | You should have received a copy of the GNU Affero General Public | - | License and the CiviCRM Licensing Exception along | - | with this program; if not, contact CiviCRM LLC | - | at info[AT]civicrm[DOT]org. If you have questions about the | - | GNU Affero General Public License or the licensing of CiviCRM, | - | see the CiviCRM license FAQ at http://civicrm.org/licensing | + | This work is published under the GNU AGPLv3 license with some | + | permitted exceptions and without any warranty. For full license | + | and copyright information, see https://civicrm.org/licensing | +--------------------------------------------------------------------+ */ /** * * @package CRM - * @copyright CiviCRM LLC (c) 2004-2019 + * @copyright CiviCRM LLC https://civicrm.org/licensing * $Id$ * */ @@ -97,17 +81,23 @@ class CRM_Api4_Services { ); foreach ($locations as $location) { $path = \CRM_Utils_File::addTrailingSlash(dirname($location)) . str_replace('\\', DIRECTORY_SEPARATOR, $namespace); - $container->addResource(new \Symfony\Component\Config\Resource\DirectoryResource($path, ';\.php$;')); - foreach (glob("$path*.php") as $file) { - $matches = []; - preg_match('/(\w*).php/', $file, $matches); - $serviceName = $namespace . array_pop($matches); - $serviceClass = new \ReflectionClass($serviceName); - if ($serviceClass->isInstantiable()) { - $definition = $container->register(str_replace('\\', '_', $serviceName), $serviceName); - $definition->addTag($tag); + try { + $resource = new \Symfony\Component\Config\Resource\DirectoryResource($path, ';\.php$;'); + $container->addResource($resource); + foreach (glob("$path*.php") as $file) { + $matches = []; + preg_match('/(\w*).php/', $file, $matches); + $serviceName = $namespace . array_pop($matches); + $serviceClass = new \ReflectionClass($serviceName); + if ($serviceClass->isInstantiable()) { + $definition = $container->register(str_replace('\\', '_', $serviceName), $serviceName); + $definition->addTag($tag); + } } } + catch (\InvalidArgumentException $e) { + //Directory is not found so lets not do anything i suppose. + } } }