private static function getAllSearchPluginClassNames() { if (self::$SearchPluginsImplementations === null) { self::$SearchPluginsImplementations = array(); $dir = new DirectoryIterator(FRAMEWORK_SEARCH_PLUGINS_PATH); foreach ($dir as $subFile) { $pluginName = $subFile->getFilename(); if ($subFile->isDir() && $pluginName[0] != '.') { if (is_file(FRAMEWORK_SEARCH_PLUGINS_PATH . '/' . $pluginName . '/' . $pluginName . '.php')) { require FRAMEWORK_SEARCH_PLUGINS_PATH . '/' . $pluginName . '/' . $pluginName . '.php'; if (class_exists($pluginName)) { self::$SearchPluginsImplementations[] = $pluginName; } } } } } return self::$SearchPluginsImplementations; }