static function availableHandlers() { $baseDirectory = eZExtension::baseDirectory(); $notificationINI = eZINI::instance('notification.ini'); $availableHandlers = $notificationINI->variable('NotificationEventHandlerSettings', 'AvailableNotificationEventTypes'); $repositoryDirectories = array(); $extensionDirectories = $notificationINI->variable('NotificationEventHandlerSettings', 'ExtensionDirectories'); foreach ($extensionDirectories as $extensionDirectory) { $extensionPath = $baseDirectory . '/' . $extensionDirectory . '/notification/handler'; if (file_exists($extensionPath)) { $repositoryDirectories[] = $extensionPath; } } $handlers = array(); foreach ($availableHandlers as $handlerString) { $eventHandler = eZNotificationEventFilter::loadHandler($repositoryDirectories, $handlerString); if (is_object($eventHandler)) { $handlers[$handlerString] = $eventHandler; } } return $handlers; }