Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: 3.8.0beta2
Fetching contributors…

Cannot retrieve contributors at this time

139 lines (126 sloc) 4.466 kb
<?php
//
// ## BEGIN COPYRIGHT, LICENSE AND WARRANTY NOTICE ##
// SOFTWARE NAME: eZ publish
// SOFTWARE RELEASE: 3.8.x
// COPYRIGHT NOTICE: Copyright (C) 1999-2006 eZ systems AS
// SOFTWARE LICENSE: GNU General Public License v2.0
// NOTICE: >
// This program is free software; you can redistribute it and/or
// modify it under the terms of version 2.0 of the GNU General
// Public License as published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of version 2.0 of the GNU General
// Public License along with this program; if not, write to the Free
// Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
// MA 02110-1301, USA.
//
//
// ## END COPYRIGHT, LICENSE AND WARRANTY NOTICE ##
//
include_once( "lib/ezutils/classes/ezhttptool.php" );
/*!
Checks if the installation is valid and returns a module redirect if required.
If CheckValidity in SiteAccessSettings is false then no check is done.
*/
function eZCheckValidity( &$siteBasics, &$uri )
{
// eZDebug::writeDebug( "Checking validity" );
$ini =& eZINI::instance();
$checkValidity = ( $ini->variable( "SiteAccessSettings", "CheckValidity" ) == "true" );
$check = null;
if ( $checkValidity )
{
// eZDebug::writeDebug( "Setup required" );
$check = array( "module" => "setup",
'function' => 'init' );
// Turn off some features that won't bee needed yet
// $siteBasics['policy-check-required'] = false;
$siteBasics['policy-check-omit-list'][] = 'setup';
$siteBasics['url-translator-allowed'] = false;
$siteBasics['show-page-layout'] = $ini->variable( 'SetupSettings', 'PageLayout' );
$siteBasics['validity-check-required'] = true;
$siteBasics['user-object-required'] = false;
$siteBasics['session-required'] = false;
$siteBasics['db-required'] = false;
$siteBasics['no-cache-adviced'] = true;
$siteBasics['site-design-override'] = $ini->variable( 'SetupSettings', 'OverrideSiteDesign' );
$access = array( 'name' => 'setup',
'type' => EZ_ACCESS_TYPE_URI );
$access = changeAccess( $access );
$GLOBALS['eZCurrentAccess'] = $access;
}
return $check;
}
/*!
\return an array with items to run a check on, each items
is an associative array. The item must contain:
- function - name of the function to run
*/
function eZCheckList()
{
$checks = array();
$checks["validity"] = array( "function" => "eZCheckValidity" );
$checks["user"] = array( "function" => "eZCheckUser" );
return $checks;
}
/*!
Check if user login is required. If so, use login handler to redirect user.
*/
function eZCheckUser( &$siteBasics, &$uri )
{
if ( !$siteBasics['user-object-required'] )
{
return null;
}
if( !include_once( 'kernel/classes/datatypes/ezuser/ezuserloginhandler.php' ) )
return null;
$http =& eZHTTPTool::instance();
$ini =& eZINI::instance();
$requireUserLogin = ( $ini->variable( "SiteAccessSettings", "RequireUserLogin" ) == "true" );
$forceLogin = $http->hasSessionVariable( EZ_LOGIN_HANDLER_FORCE_LOGIN );
if ( !$requireUserLogin &&
!$forceLogin )
{
return null;
}
return eZUserLoginHandler::checkUser( $siteBasics, $uri );
}
/*!
\return an array with check items in the order they should be checked.
*/
function eZCheckOrder()
{
$checkOrder = array( 'validity', 'user' );
return $checkOrder;
}
/*!
Does pre checks and returns a structure with redirection information,
returns null if nothing should be done.
*/
function eZHandlePreChecks( &$siteBasics, &$uri )
{
$checks = eZCheckList();
precheckAllowed( $checks );
$checkOrder = eZCheckOrder();
foreach( $checkOrder as $checkItem )
{
if ( !isset( $checks[$checkItem] ) )
continue;
$check = $checks[$checkItem];
if ( !isset( $check["allow"] ) or $check["allow"] )
{
$func = $check["function"];
$check = $func( $siteBasics, $uri );
if ( $check !== null )
return $check;
}
}
return null;
}
?>
Jump to Line
Something went wrong with that request. Please try again.