コード例 #1
0
$db = eZDB::instance();
if ( $db->isConnected() )
{
    eZSession::start();
}
else
{
    exitWithInternalError();
    return;
}

$moduleINI = eZINI::instance( 'module.ini' );
$globalModuleRepositories = $moduleINI->variable( 'ModuleSettings', 'ModuleRepositories' );
eZModule::setGlobalPathList( $globalModuleRepositories );

$module = eZModule::exists( 'content' );
if ( !$module )
{
    exitWithInternalError();
    return;
}

$function_name = 'treemenu';
$uri->increase();
$uri->increase();

$currentUser = eZUser::currentUser();
$siteAccessResult = $currentUser->hasAccessTo( 'user', 'login' );
$hasAccessToSite = false;
if ( $siteAccessResult[ 'accessWord' ] == 'limited' )
{
コード例 #2
0
 public static function urlToAction($url)
 {
     if (preg_match("#^content/view/full/([0-9]+)\$#", $url, $matches)) {
         return "eznode:" . $matches[1];
     }
     if (preg_match("#^([a-zA-Z0-9]+)/#", $url, $matches)) {
         $name = $matches[1];
         $module = eZModule::exists($name);
         if ($module !== null) {
             return 'module:' . $url;
         }
     }
     return false;
 }
コード例 #3
0
ファイル: list.php プロジェクト: nfrp/ezpublish
        }
        $db->commit();
    }
}
$tpl = eZTemplate::factory();
$triggers = eZTrigger::fetchList(array('module' => $moduleName, 'function' => $functionName));
$showModuleList = false;
$showFunctionList = false;
$functionList = array();
$moduleList = array();
if ($moduleName == '*') {
    $showModuleList = true;
    $ini = eZINI::instance('module.ini');
    $moduleList = $ini->variable('ModuleSettings', 'ModuleList');
} elseif ($functionName == '*') {
    $mod = eZModule::exists($moduleName);
    $functionList = array_keys($mod->attribute('available_functions'));
    eZDebug::writeNotice($functionList, "functions");
    $showFunctionList = true;
}
$tpl->setVariable('current_module', $moduleName);
$tpl->setVariable('current_function', $functionName);
$tpl->setVariable('show_functions', $showFunctionList);
$tpl->setVariable('show_modules', $showModuleList);
$tpl->setVariable('possible_triggers', $possibleTriggers);
$tpl->setVariable('modules', $moduleList);
$tpl->setVariable('functions', $functionList);
$tpl->setVariable('triggers', $triggers);
$tpl->setVariable('module', $Module);
$Result['content'] = $tpl->fetch('design:trigger/list.tpl');
$Result['path'] = array(array('text' => ezpI18n::tr('kernel/trigger', 'Trigger'), 'url' => false), array('text' => ezpI18n::tr('kernel/trigger', 'List'), 'url' => false));
コード例 #4
0
<?php

/**
 * @copyright Copyright (C) eZ Systems AS. All rights reserved.
 * @license For full copyright and license information view LICENSE file distributed with this source code.
 * @version 2014.11.1
 * @package kernel
 */
// Redirect to visual module which is the correct place for this functionality
$module = $Params['Module'];
$parameters = $Params["Parameters"];
$visualModule = eZModule::exists('visual');
if ($visualModule) {
    return $module->forward($visualModule, 'templatecreate', $parameters);
}
コード例 #5
0
ファイル: action.php プロジェクト: heliopsis/ezpublish-legacy
         } else {
             $operationResult = eZContentOperationCollection::removeFeedForNode($nodeID);
         }
     }
     if (!isset($operationResult['status']) || !$operationResult['status']) {
         return $module->handleError(eZError::KERNEL_NOT_AVAILABLE, 'kernel');
     }
     return $module->redirectToView('view', array('full', $nodeID));
 } else {
     // Check if there are any custom actions to handle
     $customActions = eZINI::instance('datatype.ini')->variable('ViewSettings', 'CustomActionMap');
     foreach ($customActions as $customActionName => $customActionUrl) {
         if ($http->hasPostVariable($customActionName)) {
             if (strpos($customActionUrl, '/') !== false) {
                 list($customActionModuleName, $customActionViewName) = explode('/', $customActionUrl);
                 $customActionModule = eZModule::exists($customActionModuleName);
                 if (!$customActionModule instanceof eZModule) {
                     eZDebug::writeError("Could not load custom action module for: {$customActionUrl}", "kernel/content/action.php");
                 }
                 $result = $customActionModule->run($customActionViewName, array());
                 if (isset($result['content']) && $result['content']) {
                     return $result;
                 } else {
                     $module->setExitStatus($customActionModule->exitStatus());
                     $module->setRedirectURI($customActionModule->redirectURI());
                     return $result;
                 }
             } else {
                 return $module->run($customActionUrl);
             }
         }
コード例 #6
0
ファイル: edit.php プロジェクト: mugoweb/ezpublish-legacy
    $tpl->setVariable('current_module', $currentModule);
    $tpl->setVariable('functions', $functionNames);
    $tpl->setVariable('no_functions', false);
    $Result = array();
    $Result['path'] = array(array('url' => false, 'text' => ezpI18n::tr('kernel/role', 'Create new policy, step two: select function')));
    $Result['content'] = $tpl->fetch('design:role/createpolicystep2.tpl');
    return;
}
if ($http->hasPostVariable('CreatePolicy') || $http->hasPostVariable('Step1')) {
    // Set flag for audit. If true audit will be processed
    $http->setSessionVariable('RoleWasChanged', true);
    $Module->setTitle('Edit ' . $role->attribute('name'));
    $tpl->setVariable('modules', $modules);
    $moduleList = array();
    foreach ($modules as $module) {
        $moduleList[] = eZModule::exists($module);
    }
    $tpl->setVariable('module_list', $moduleList);
    $tpl->setVariable('role', $role);
    $tpl->setVariable('module', $Module);
    $Result = array();
    $Result['path'] = array(array('url' => false, 'text' => ezpI18n::tr('kernel/role', 'Create new policy, step one: select module')));
    $Result['content'] = $tpl->fetch('design:role/createpolicystep1.tpl');
    return;
}
// Set flag for audit. If true audit will be processed
// Cancel button was pressed
if ($http->hasPostVariable('CancelPolicyButton')) {
    $http->setSessionVariable('RoleWasChanged', false);
}
$policies = $role->attribute('policies');
コード例 #7
0
$currentModule = $policy->attribute( 'module_name' );
$currentFunction = $policy->attribute( 'function_name' );
$roleID = $policy->attribute( 'role_id' );
$role = eZRole::fetch( $roleID );
$roleName = $role->attribute( 'name' );
$limitationValueList = $policy->limitationList();
$nodeList = array();
$subtreeList = array();

if ( $currentModule == '*' )
{
    $functions = array();
}
else
{
    $mod = eZModule::exists( $currentModule );
    $functions = $mod->attribute( 'available_functions' );
}
$currentFunctionLimitations = array();
if ( isset( $functions[$currentFunction] ) && $functions[$currentFunction] )
{
    foreach ( $functions[$currentFunction] as $key => $limitation )
    {
        if ( ( count( $limitation['values'] ) == 0 ) && array_key_exists( 'class', $limitation ) )
        {
            $obj = new $limitation['class']( array() );
            $limitationValueList = call_user_func_array( array( $obj, $limitation['function'] ), $limitation['parameter'] );
            $limitationValueArray = array();
            foreach ( $limitationValueList as $limitationValue )
            {
                $limitationValuePair = array();
コード例 #8
0
        if ( isset( $rerunURLList[$errorNumber] ) )
            $errorRerunURL = $rerunURLList[$errorNumber];
        $Result = array();
        $Result['content'] = false;
        $Result['rerun_uri'] = $errorRerunURL;
        $module->setExitStatus( eZModule::STATUS_RERUN );
        return $Result;
    }
    else if ( $errorHandlerType == 'embed' )
    {
        $errorEmbedURL = $errorINI->variable( 'ErrorSettings', 'DefaultEmbedURL' );
        if ( isset( $embedURLList[$errorNumber] ) )
            $errorEmbedURL = $embedURLList[$errorNumber];
        $uri = new eZURI( $errorEmbedURL );
        $moduleName = $uri->element();
        $embedModule = eZModule::exists( $moduleName );
        if ( $module instanceof eZModule )
        {
            $uri->increase();
            $viewName = false;
            if ( !$embedModule->singleFunction() )
            {
                $viewName = $uri->element();
                $uri->increase();
            }
            $embedParameters = $uri->elements( false );
            $embedResult = $embedModule->run( $viewName, $embedParameters );
            $embedContent = $embedResult['content'];
        }

        // write reason to debug
コード例 #9
0
 /**
  * Runs the dispatch loop
  */
 protected function dispatchLoop()
 {
     $ini = eZINI::instance();
     // Start the module loop
     while ($this->siteBasics['module-run-required']) {
         $objectHasMovedError = false;
         $objectHasMovedURI = false;
         $this->actualRequestedURI = $this->uri->uriString();
         // Extract user specified parameters
         $userParameters = $this->uri->userParameters();
         // Generate a URI which also includes the user parameters
         $this->completeRequestedURI = $this->uri->originalURIString();
         // Check for URL translation
         if ($this->siteBasics['url-translator-allowed'] && eZURLAliasML::urlTranslationEnabledByUri($this->uri)) {
             $translateResult = eZURLAliasML::translate($this->uri);
             if (!is_string($translateResult) && $ini->variable('URLTranslator', 'WildcardTranslation') === 'enabled') {
                 $translateResult = eZURLWildcard::translate($this->uri);
             }
             // Check if the URL has moved
             if (is_string($translateResult)) {
                 $objectHasMovedURI = $translateResult;
                 foreach ($userParameters as $name => $value) {
                     $objectHasMovedURI .= '/(' . $name . ')/' . $value;
                 }
                 $objectHasMovedError = true;
             }
         }
         if ($this->uri->isEmpty()) {
             $tmp_uri = new eZURI($ini->variable("SiteSettings", "IndexPage"));
             $moduleCheck = eZModule::accessAllowed($tmp_uri);
         } else {
             $moduleCheck = eZModule::accessAllowed($this->uri);
         }
         if (!$moduleCheck['result']) {
             if ($ini->variable("SiteSettings", "ErrorHandler") == "defaultpage") {
                 $defaultPage = $ini->variable("SiteSettings", "DefaultPage");
                 $this->uri->setURIString($defaultPage);
                 $moduleCheck['result'] = true;
             }
         }
         $displayMissingModule = false;
         $this->oldURI = $this->uri;
         if ($this->uri->isEmpty()) {
             if (!fetchModule($tmp_uri, $this->check, $this->module, $moduleName, $functionName, $params)) {
                 $displayMissingModule = true;
             }
         } else {
             if (!fetchModule($this->uri, $this->check, $this->module, $moduleName, $functionName, $params)) {
                 if ($ini->variable("SiteSettings", "ErrorHandler") == "defaultpage") {
                     $tmp_uri = new eZURI($ini->variable("SiteSettings", "DefaultPage"));
                     if (!fetchModule($tmp_uri, $this->check, $this->module, $moduleName, $functionName, $params)) {
                         $displayMissingModule = true;
                     }
                 } else {
                     $displayMissingModule = true;
                 }
             }
         }
         if (!$displayMissingModule && $moduleCheck['result'] && $this->module instanceof eZModule) {
             // Run the module/function
             eZDebug::addTimingPoint("Module start '" . $this->module->attribute('name') . "'");
             $moduleAccessAllowed = true;
             $omitPolicyCheck = true;
             $runModuleView = true;
             $availableViewsInModule = $this->module->attribute('views');
             if (!isset($availableViewsInModule[$functionName]) && !$objectHasMovedError && !isset($this->module->Module['function']['script'])) {
                 $moduleResult = $this->module->handleError(eZError::KERNEL_MODULE_VIEW_NOT_FOUND, 'kernel', array("check" => $moduleCheck));
                 $runModuleView = false;
                 $this->siteBasics['policy-check-required'] = false;
                 $omitPolicyCheck = true;
             }
             if ($this->siteBasics['policy-check-required']) {
                 $omitPolicyCheck = false;
                 $moduleName = $this->module->attribute('name');
                 if (in_array($moduleName, $this->siteBasics['policy-check-omit-list'])) {
                     $omitPolicyCheck = true;
                 } else {
                     $policyCheckViewMap = $this->getPolicyCheckViewMap($this->siteBasics['policy-check-omit-list']);
                     if (isset($policyCheckViewMap[$moduleName][$functionName])) {
                         $omitPolicyCheck = true;
                     }
                 }
             }
             if (!$omitPolicyCheck) {
                 $currentUser = eZUser::currentUser();
                 $siteAccessResult = $currentUser->hasAccessTo('user', 'login');
                 $hasAccessToSite = false;
                 if ($siteAccessResult['accessWord'] === 'limited') {
                     $policyChecked = false;
                     foreach (array_keys($siteAccessResult['policies']) as $key) {
                         $policy = $siteAccessResult['policies'][$key];
                         if (isset($policy['SiteAccess'])) {
                             $policyChecked = true;
                             $crc32AccessName = eZSys::ezcrc32($this->access['name']);
                             eZDebugSetting::writeDebug('kernel-siteaccess', $policy['SiteAccess'], $crc32AccessName);
                             if (in_array($crc32AccessName, $policy['SiteAccess'])) {
                                 $hasAccessToSite = true;
                                 break;
                             }
                         }
                         if ($hasAccessToSite) {
                             break;
                         }
                     }
                     if (!$policyChecked) {
                         $hasAccessToSite = true;
                     }
                 } else {
                     if ($siteAccessResult['accessWord'] === 'yes') {
                         eZDebugSetting::writeDebug('kernel-siteaccess', "access is yes");
                         $hasAccessToSite = true;
                     } else {
                         if ($siteAccessResult['accessWord'] === 'no') {
                             $accessList = $siteAccessResult['accessList'];
                         }
                     }
                 }
                 if ($hasAccessToSite) {
                     $accessParams = array();
                     $moduleAccessAllowed = $currentUser->hasAccessToView($this->module, $functionName, $accessParams);
                     if (isset($accessParams['accessList'])) {
                         $accessList = $accessParams['accessList'];
                     }
                 } else {
                     eZDebugSetting::writeDebug('kernel-siteaccess', $this->access, 'not able to get access to siteaccess');
                     $moduleAccessAllowed = false;
                     if ($ini->variable("SiteAccessSettings", "RequireUserLogin") == "true") {
                         $this->module = eZModule::exists('user');
                         if ($this->module instanceof eZModule) {
                             $moduleResult = $this->module->run('login', array(), array('SiteAccessAllowed' => false, 'SiteAccessName' => $this->access['name']));
                             $runModuleView = false;
                         }
                     }
                 }
             }
             $GLOBALS['eZRequestedModule'] = $this->module;
             if ($runModuleView) {
                 if ($objectHasMovedError == true) {
                     $moduleResult = $this->module->handleError(eZError::KERNEL_MOVED, 'kernel', array('new_location' => $objectHasMovedURI));
                 } else {
                     if (!$moduleAccessAllowed) {
                         if (isset($availableViewsInModule[$functionName]['default_navigation_part'])) {
                             $defaultNavigationPart = $availableViewsInModule[$functionName]['default_navigation_part'];
                         }
                         if (isset($accessList)) {
                             $moduleResult = $this->module->handleError(eZError::KERNEL_ACCESS_DENIED, 'kernel', array('AccessList' => $accessList));
                         } else {
                             $moduleResult = $this->module->handleError(eZError::KERNEL_ACCESS_DENIED, 'kernel');
                         }
                         if (isset($defaultNavigationPart)) {
                             $moduleResult['navigation_part'] = $defaultNavigationPart;
                             unset($defaultNavigationPart);
                         }
                     } else {
                         if (!isset($userParameters)) {
                             $userParameters = false;
                         }
                         // Check if we should switch access mode (http/https) for this module view.
                         eZSSLZone::checkModuleView($this->module->attribute('name'), $functionName);
                         $moduleResult = $this->module->run($functionName, $params, false, $userParameters);
                         if ($this->module->exitStatus() == eZModule::STATUS_FAILED && $moduleResult == null) {
                             $moduleResult = $this->module->handleError(eZError::KERNEL_MODULE_VIEW_NOT_FOUND, 'kernel', array('module' => $moduleName, 'view' => $functionName));
                         }
                     }
                 }
             }
         } else {
             if ($moduleCheck['result']) {
                 eZDebug::writeError("Undefined module: {$moduleName}", "index");
                 $this->module = new eZModule("", "", $moduleName);
                 $GLOBALS['eZRequestedModule'] = $this->module;
                 $moduleResult = $this->module->handleError(eZError::KERNEL_MODULE_NOT_FOUND, 'kernel', array('module' => $moduleName));
             } else {
                 if ($moduleCheck['view_checked']) {
                     eZDebug::writeError("View '" . $moduleCheck['view'] . "' in module '" . $moduleCheck['module'] . "' is disabled", "index");
                 } else {
                     eZDebug::writeError("Module '" . $moduleCheck['module'] . "' is disabled", "index");
                 }
                 $GLOBALS['eZRequestedModule'] = $this->module = new eZModule("", "", $moduleCheck['module']);
                 $moduleResult = $this->module->handleError(eZError::KERNEL_MODULE_DISABLED, 'kernel', array('check' => $moduleCheck));
             }
         }
         $this->siteBasics['module-run-required'] = false;
         if ($this->module->exitStatus() == eZModule::STATUS_RERUN) {
             if (isset($moduleResult['rerun_uri'])) {
                 $this->uri = eZURI::instance($moduleResult['rerun_uri']);
                 $this->siteBasics['module-run-required'] = true;
             } else {
                 eZDebug::writeError('No rerun URI specified, cannot continue', 'index.php');
             }
         }
         if (is_array($moduleResult)) {
             if (isset($moduleResult["pagelayout"])) {
                 $this->siteBasics['show-page-layout'] = $moduleResult["pagelayout"];
                 $GLOBALS['eZCustomPageLayout'] = $moduleResult["pagelayout"];
             }
             if (isset($moduleResult["external_css"])) {
                 $this->siteBasics['external-css'] = $moduleResult["external_css"];
             }
         }
     }
     return $moduleResult;
 }
コード例 #10
0
ファイル: index.php プロジェクト: legende91/ez
function fetchModule($uri, $check, &$module, &$module_name, &$function_name, &$params)
{
    $module_name = $uri->element();
    if ($check !== null and isset($check["module"])) {
        $module_name = $check["module"];
    }
    // Try to fetch the module object
    $module = eZModule::exists($module_name);
    if (!$module instanceof eZModule) {
        return false;
    }
    $uri->increase();
    $function_name = "";
    if (!$module->singleFunction()) {
        $function_name = $uri->element();
        $uri->increase();
    }
    // Override it if required
    if ($check !== null and isset($check["function"])) {
        $function_name = $check["function"];
    }
    $params = $uri->elements(false);
    return true;
}
コード例 #11
0
ファイル: ezmodule.php プロジェクト: runelangseid/ezpublish
 /**
  * Creates the redirection URI for a given module, view & parameters.
  * Unlike redirectionURIForModule(), the $module parameter is the module name
  * 
  * @param string $moduleName Redirection module name
  * @param string $viewName Redirection view name
  * @param array $parameters View parameters
  * @param array $unorderedParameters Unordered parameters
  * @param array $userParameters User parameters
  * @param string $anchor Redirection URI anchor
  * 
  * @return string|boolean The redirection URI, or false if the module isn't found
  * 
  * @see redirect(), redirectionURIForModule(), redirectToView(), redirectModule()
  */
 function redirectionURI($moduleName, $viewName, $parameters = array(), $unorderedParameters = null, $userParameters = false, $anchor = false)
 {
     $module = eZModule::exists($moduleName);
     if ($module) {
         return $this->redirectionURIForModule($module, $viewName, $parameters, $unorderedParameters, $userParameters, $anchor);
     } else {
         eZDebug::writeError('Undefined module: ' . $moduleName, 'eZModule::redirectionURI');
     }
     return false;
 }
コード例 #12
0
ファイル: ezpolicylimitation.php プロジェクト: nfrp/ezpublish
 function allValuesAsArrayWithNames()
 {
     $returnValue = null;
     $valueList = $this->attribute('values_as_array');
     $names = array();
     $policy = $this->attribute('policy');
     if (!$policy) {
         return $returnValue;
     }
     $currentModule = $policy->attribute('module_name');
     $mod = eZModule::exists($currentModule);
     if (!is_object($mod)) {
         eZDebug::writeError('Failed to fetch instance for module ' . $currentModule);
         return $returnValue;
     }
     $functions = $mod->attribute('available_functions');
     $functionNames = array_keys($functions);
     $currentFunction = $policy->attribute('function_name');
     $limitationValueArray = array();
     $limitation = $functions[$currentFunction][$this->attribute('identifier')];
     if ($limitation && isset($limitation['class']) && count($limitation['values'] == 0)) {
         $obj = new $limitation['class'](array());
         $limitationValueList = call_user_func_array(array($obj, $limitation['function']), $limitation['parameter']);
         foreach ($limitationValueList as $limitationValue) {
             $limitationValuePair = array();
             $limitationValuePair['Name'] = $limitationValue['name'];
             $limitationValuePair['value'] = $limitationValue['id'];
             $limitationValueArray[] = $limitationValuePair;
         }
     } else {
         if ($limitation['name'] === 'Node') {
             foreach ($valueList as $value) {
                 $node = eZContentObjectTreeNode::fetch($value, false, false);
                 if ($node == null) {
                     continue;
                 }
                 $limitationValuePair = array();
                 $limitationValuePair['Name'] = $node['name'];
                 $limitationValuePair['value'] = $value;
                 $limitationValuePair['node_data'] = $node;
                 $limitationValueArray[] = $limitationValuePair;
             }
         } else {
             if ($limitation['name'] === 'Subtree') {
                 foreach ($valueList as $value) {
                     $subtreeObject = eZContentObjectTreeNode::fetchByPath($value, false);
                     if ($subtreeObject != null) {
                         $limitationValuePair = array();
                         $limitationValuePair['Name'] = $subtreeObject['name'];
                         $limitationValuePair['value'] = $value;
                         $limitationValuePair['node_data'] = $subtreeObject;
                         $limitationValueArray[] = $limitationValuePair;
                     }
                 }
             } else {
                 $limitationValueArray = $limitation['values'];
             }
         }
     }
     $limitationValuesWithNames = array();
     foreach (array_keys($valueList) as $key) {
         $value = $valueList[$key];
         if (isset($limitationValueArray)) {
             reset($limitationValueArray);
             foreach (array_keys($limitationValueArray) as $ckey) {
                 if ($value == $limitationValueArray[$ckey]['value']) {
                     $limitationValuesWithNames[] = $limitationValueArray[$ckey];
                 }
             }
         }
     }
     return $limitationValuesWithNames;
 }
コード例 #13
0
ファイル: operationlist.php プロジェクト: gggeek/ggsysinfo
/**
 * List all existing operations (optionally, in a given module)
 * @author G. Giunta
 * @copyright (C) G. Giunta 2010-2016
 * @license Licensed under GNU General Public License v2.0. See file license.txt
 *
 */
// generic info for all views: module name, extension name, ...
$operationList = array();
$modules = eZModuleLister::getModuleList();
if ($Params['modulename'] != '' && !array_key_exists($Params['modulename'], $modules)) {
    /// @todo
} else {
    foreach ($modules as $modulename => $path) {
        if ($Params['modulename'] == '' || $Params['modulename'] == $modulename) {
            $module = eZModule::exists($modulename);
            if ($module instanceof eZModule) {
                $moduleOperationInfo = new eZModuleOperationInfo($modulename);
                /// @todo prevent warning to be generated here
                $moduleOperationInfo->loadDefinition();
                if ($moduleOperationInfo->isValid()) {
                    $extension = '';
                    if (preg_match('#extension/([^/]+)/modules/#', $path, $matches)) {
                        $extension = $matches[1];
                    }
                    foreach ($moduleOperationInfo->OperationList as $op) {
                        $operationList[$op['name'] . '_' . $modulename] = $op;
                        $operationList[$op['name'] . '_' . $modulename]['module'] = $modulename;
                        $operationList[$op['name'] . '_' . $modulename]['extension'] = $extension;
                    }
                }
コード例 #14
0
ファイル: index_treemenu_tags.php プロジェクト: oki34/eztags
}
$GLOBALS['eZCurrentAccess'] = $access;
// Check for new extension loaded by siteaccess
eZExtension::activateExtensions('access');
$db = eZDB::instance();
if ($db->isConnected()) {
    eZSession::start();
} else {
    exitWithInternalError();
    return;
}
$moduleINI = eZINI::instance('module.ini');
$globalModuleRepositories = $moduleINI->variable('ModuleSettings', 'ModuleRepositories');
$globalModuleRepositories[] = 'extension/eztags/modules';
eZModule::setGlobalPathList($globalModuleRepositories);
$module = eZModule::exists('tags');
if (!$module) {
    exitWithInternalError();
    return;
}
$function_name = 'treemenu';
$uri->increase();
$uri->increase();
$currentUser = eZUser::currentUser();
$siteAccessResult = $currentUser->hasAccessTo('user', 'login');
$tagsReadResult = $currentUser->hasAccessTo('tags', 'read');
$hasAccessToSite = false;
if ($siteAccessResult['accessWord'] == 'limited') {
    $policyChecked = false;
    foreach ($siteAccessResult['policies'] as $policy) {
        if (isset($policy['SiteAccess'])) {
コード例 #15
0
ファイル: ezpkerneltreemenu.php プロジェクト: nfrp/ezpublish
 /**
  * Execution point for controller actions.
  * Returns false if not supported
  *
  * @return ezpKernelResult
  */
 public function run()
 {
     $db = eZDB::instance();
     if ($db->isConnected()) {
         $this->sessionInit();
     } else {
         return $this->exitWithInternalError(ezpI18n::tr('kernel/content/treemenu', 'Database is not connected'));
     }
     $moduleINI = eZINI::instance('module.ini');
     $globalModuleRepositories = $moduleINI->variable('ModuleSettings', 'ModuleRepositories');
     eZModule::setGlobalPathList($globalModuleRepositories);
     $module = eZModule::exists('content');
     if (!$module) {
         return $this->exitWithInternalError(ezpI18n::tr('kernel/content/treemenu', '"content" module could not be found.'));
     }
     $function_name = 'treemenu';
     $this->uri->increase();
     $this->uri->increase();
     $currentUser = eZUser::currentUser();
     $siteAccessResult = $currentUser->hasAccessTo('user', 'login');
     $hasAccessToSite = false;
     if ($siteAccessResult['accessWord'] == 'limited') {
         $policyChecked = false;
         foreach ($siteAccessResult['policies'] as $policy) {
             if (isset($policy['SiteAccess'])) {
                 $policyChecked = true;
                 $crc32AccessName = eZSys::ezcrc32($this->access['name']);
                 if (in_array($crc32AccessName, $policy['SiteAccess'])) {
                     $hasAccessToSite = true;
                     break;
                 }
             }
             if ($hasAccessToSite) {
                 break;
             }
         }
         if (!$policyChecked) {
             $hasAccessToSite = true;
         }
     } else {
         if ($siteAccessResult['accessWord'] == 'yes') {
             $hasAccessToSite = true;
         }
     }
     if (!$hasAccessToSite) {
         return $this->exitWithInternalError(ezpI18n::tr('kernel/content/treemenu', 'Insufficient permissions to display the treemenu.'), 403);
     }
     $GLOBALS['eZRequestedModule'] = $module;
     $content = $module->run($function_name, $this->uri->elements(false), false, array('use-cache-headers' => $this->settings['use-cache-headers']));
     $attributes = isset($content['lastModified']) ? array('lastModified' => $content['lastModified']) : array();
     $this->shutdown();
     return new ezpKernelResult($content['content'], $attributes);
 }
コード例 #16
0
ファイル: action.php プロジェクト: runelangseid/ezpublish
 if ($http->hasPostVariable("ActionAddToBasket")) {
     $shopModule = eZModule::exists("shop");
     $result = $shopModule->run("basket", array());
     if (isset($result['content']) && $result['content']) {
         return $result;
     } else {
         $module->setExitStatus($shopModule->exitStatus());
         $module->setRedirectURI($shopModule->redirectURI());
     }
 } else {
     if ($http->hasPostVariable("ActionAddToWishList")) {
         $user = eZUser::currentUser();
         if (!$user->isLoggedIn()) {
             return $module->handleError(eZError::KERNEL_ACCESS_DENIED, 'kernel');
         }
         $shopModule = eZModule::exists("shop");
         $result = $shopModule->run("wishlist", array());
         $module->setExitStatus($shopModule->exitStatus());
         $module->setRedirectURI($shopModule->redirectURI());
     } else {
         if ($http->hasPostVariable("ActionPreview")) {
             $user = eZUser::currentUser();
             $object = eZContentObject::fetch($objectID);
             $module->redirectTo($module->functionURI('versionview') . '/' . $objectID . '/' . $object->attribute('current_version') . '/');
             return;
         } else {
             if ($http->hasPostVariable("ActionRemove")) {
                 $viewMode = $http->postVariable('ViewMode', 'full');
                 $parentNodeID = 2;
                 $contentNodeID = null;
                 if ($http->hasPostVariable('ContentNodeID') and is_numeric($http->postVariable('ContentNodeID'))) {