array(
__DIR__ . '/autoload_classmap.php',
),
AutoloaderFactory::STANDARD_AUTOLOADER => array(
StandardAutoloader::LOAD_NS => array(
'HTMLPurifier' => __DIR__ . '/src/HTMLPurifier/library/HTMLPurifier',
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
public static function setConstants()
{
if (!defined(self::HTMLPURIFIER_PREFIX)) {
define(self::HTMLPURIFIER_PREFIX, __DIR__ . '/src/HTMLPurifier/library');
}
}
/**
* {@inheritDoc}
*/
public function onBootstrap(EventInterface $e)
{
self::setConstants();
$app = $e->getApplication();
$config = $app->getServiceManager()->get('Config');
$purifierConfig = \HTMLPurifier_Config::createDefault();
if (!empty($config[self::CONFIG_KEY_HTMLPURIFIER][self::CONFIG_KEY_CONFIG])) {
foreach ($config[self::CONFIG_KEY_HTMLPURIFIER][self::CONFIG_KEY_CONFIG] as $configKey => $configValue) {
$purifierConfig->set($configKey, $configValue);
}
}
$purifier = new \HTMLPurifier($purifierConfig);
$app->getServiceManager()->setService(self::SERVICE_NAME, $purifier);
}
/**
* {@inheritDoc}
*/
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
/**
* {@inheritDoc}
*/
public function getViewHelperConfig()
{
$purifyClosure = function ($sm) {
$locator = $sm->getServiceLocator();
return new Purify($locator->get(self::SERVICE_NAME));
};
return array(
'factories' => array(
'purify' => $purifyClosure,
),
);
}
/**
* {@inheritDoc}
*/
public function getServiceConfig()
{
return array(
'aliases' => array(),
'factories' => array(
'ZfcTwigEnvironment' => 'DevmonkHtmlpurifier\Service\EnvironmentFactory',
)
);
}
}