/** * FenomX constructor. * * @param pdoTools $pdoTools */ public function __construct(pdoTools $pdoTools) { if (!class_exists('modChunkProvider')) { require dirname(dirname(__FILE__)) . '/fenom/Providers/ModChunk.php'; require dirname(dirname(__FILE__)) . '/fenom/Providers/ModTemplate.php'; require dirname(dirname(__FILE__)) . '/fenom/Providers/ModFile.php'; } $provider = new modChunkProvider($pdoTools); parent::__construct($provider); $this->setCompileDir(rtrim($pdoTools->config['cachePath'], '/') . '/file'); $this->addProvider('template', new modTemplateProvider($pdoTools)); $this->addProvider('file', new modFileProvider($pdoTools)); $default_options = array('disable_cache' => !$pdoTools->config['useFenomCache'], 'force_compile' => !$pdoTools->config['useFenomCache'], 'force_include' => !$pdoTools->config['useFenomCache'], 'auto_reload' => $pdoTools->config['useFenomCache']); if ($options = $pdoTools->modx->fromJSON($pdoTools->modx->getOption('pdotools_fenom_options'))) { $options = array_merge($default_options, $options); } else { $options = $default_options; } if (!$pdoTools->config['useFenomPHP']) { $this->removeAccessor('php'); $options['disable_native_funcs'] = true; } $this->setOptions($options); $this->pdoTools = $pdoTools; $this->modx = $pdoTools->modx; $this->_addDefaultModifiers(); $this->modx->invokeEvent('pdoToolsOnFenomInit', array('fenom' => $this, 'config' => $pdoTools->config)); }