function checkRecurrenceCondition($newsletter) { if (!$newsletter->attribute('recurrence_condition')) { return true; } if (0 < count($this->conditionExtensions)) { foreach ($this->conditionExtensions as $conditionExtension) { // TODO: Extend to ask multiple condition extensions to allow more complex checks $siteINI = eZINI::instance(); $siteINI->loadCache(); $extensionDirectory = $siteINI->variable('ExtensionSettings', 'ExtensionDirectory'); $extensionDirectories = eZDir::findSubItems($extensionDirectory); $directoryList = eZExtension::expandedPathList($extensionDirectories, 'condition_handler'); foreach ($directoryList as $directory) { $handlerFile = $directory . '/' . strtolower($conditionExtension) . 'handler.php'; // we only check one extension for now if ($conditionExtension === $newsletter->attribute('recurrence_condition') && file_exists($handlerFile)) { include_once $handlerFile; $className = $conditionExtension . 'Handler'; if (class_exists($className)) { $impl = new $className(); // Ask if condition is fullfilled return $impl->checkCondition($newsletter); } else { eZDebug::writeError("Class {$className} not found. Unable to verify recurrence condition. Blocked recurrence."); return false; } } } } } // If we have a condition but no match we prevent the sendout eZDebug::writeError("Newsletter recurrence condition '" . $newsletter->attribute('recurrence_condition') . "' extension not found "); return false; }
function handleAddParameters( $packageType, $package, $cli, $arguments ) { $arguments = array_unique( $arguments ); $extensionsToAdd = array(); $extensionList = eZDir::findSubItems( eZExtension::baseDirectory(), 'dl' ); foreach ( $arguments as $argument ) { if ( in_array( $argument, $extensionList ) ) { $extensionsToAdd[] = $argument; } else { $cli->error( 'Extension ' . $cli->style( 'dir' ) . $argument . $cli->style( 'dir-end' ) . ' not found.' ); return false; } } return $extensionsToAdd; }
function loadExtensionName($package, $http, $step, &$persistentData, $tpl) { $extensionList = eZDir::findSubItems(eZExtension::baseDirectory(), 'dl'); $tpl->setVariable('extension_list', $extensionList); }
<?php /** * @copyright Copyright (C) 1999-2012 eZ Systems AS. All rights reserved. * @license http://ez.no/Resources/Software/Licenses/eZ-Business-Use-License-Agreement-eZ-BUL-Version-2.1 eZ Business Use License Agreement eZ BUL Version 2.1 * @version 4.7.0 * @package kernel */ $http = eZHTTPTool::instance(); $module = $Params['Module']; $tpl = eZTemplate::factory(); $extensionDir = eZExtension::baseDirectory(); $availableExtensionArray = eZDir::findSubItems( $extensionDir, 'dl' ); // open site.ini for reading $siteINI = eZINI::instance(); $siteINI->load(); $selectedExtensionArray = $siteINI->variable( 'ExtensionSettings', "ActiveExtensions" ); $selectedAccessExtensionArray = $siteINI->variable( 'ExtensionSettings', "ActiveAccessExtensions" ); $selectedExtensions = array_merge( $selectedExtensionArray, $selectedAccessExtensionArray ); $selectedExtensions = array_unique( $selectedExtensions ); // When the user clicks on "Apply changes" button in admin interface in the Extensions section if ( $module->isCurrentAction( 'ActivateExtensions' ) ) { $ini = eZINI::instance( 'module.ini' ); $oldModules = $ini->variable( 'ModuleSettings', 'ModuleList' );
function loadExtensionName($package, $http, $step, &$persistentData, $tpl) { $siteINI = eZINI::instance(); $extensionDir = $siteINI->variable('ExtensionSettings', 'ExtensionDirectory'); $extensionList = eZDir::findSubItems($extensionDir); $tpl->setVariable('extension_list', $extensionList); }
function handleAddParameters($packageType, $package, $cli, $arguments) { $arguments = array_unique($arguments); $extensionsToAdd = array(); $siteINI = eZINI::instance(); $extensionDir = $siteINI->variable('ExtensionSettings', 'ExtensionDirectory'); $extensionList = eZDir::findSubItems($extensionDir); foreach ($arguments as $argument) { if (in_array($argument, $extensionList)) { $extensionsToAdd[] = $argument; } else { $cli->error('Extension ' . $cli->style('dir') . $argument . $cli->style('dir-end') . ' not found.'); return false; } } return $extensionsToAdd; }