Я думаю, что то, что предложил Луис Дамим, излишне и неправильно. Плагин будет вызываться за каждый ненужный звонок. Зачем делать вещи для отключенных модулей?
Я бы сделал обнаружение на основе файла конфигурации, где создаются только активные модули.
UPDATE
Обычно модули создаются массово:
$front->addModuleDirectory('/path/to/application/modules');
Но вы можете активировать модули один за другим или передать массив ТОЛЬКО из тех, которые вы хотите активировать.
$front->setControllerDirectory(array(
'default' => '/path/to/application/controllers',
'blog' => '/path/to/application/blog/controllers'
));
Если вы используете Zend_application, я думаю, что вы должны изменить эту строку в вашей конфигурации:
resources.modules[] =
с
resources.modules = admin
resources.modules = news
Первый загружает все, что модули могут найти в папке модулей, что является поведением по умолчанию. Я еще не работал с Zend Application, поэтому я не уверен в этом, но должно быть что-то вроде этого.