Exemplo n.º 1
0
 private static function load_plugin(ContextManager $context, DirectoryIterator $plugin_path)
 {
     $plugin_load_file = $plugin_path->getPathname() . DIRECTORY_SEPARATOR . 'init.php';
     if ($plugin_path->isDir() && is_file($plugin_load_file) && (require $plugin_load_file)) {
         $class = Plugins::plugin_class_name($plugin_path);
         try {
             $klass = new ReflectionClass($class);
             Plugins::add($klass->newInstance($context));
             $context->logger()->debugf('%s --> %s', str_replace(MEDICK_PATH, '${' . $context->config()->application_name() . '}', $plugin_load_file), $class);
         } catch (ReflectionException $rfEx) {
             $context->logger()->warn('failed to load plugin `' . $plugin_path->getFilename() . '`: ' . $rfEx->getMessage());
         }
     }
 }