<?php
/**
 * CMS front-end script
 * This script handles all front-end requests that should be handled by the CMS application.
 * See .htaccess for the necessary rewrite rule that accomplishes this.
 * @author Erik Hoogeboom
 * @version $Id: index.php5,v 1.30 2007-09-03 15:43:05 hoogeboom Exp $
 * @package egrip
 */

$time_start = microtime(true);

// load vwm main file
@include_once("VWM/VWM.php");

if (class_exists('VWM')) {

    // get VWM instance
    if ($vwm = VWM::getInstance('..' . DIRECTORY_SEPARATOR . 'vwm_config.xml')) {

        /* if no action and module are set, default to RenderPage
         * and set urlparts based on request uri */
        $controller =& $vwm->getController('VWM_FrontEndController');

        if (($clientwebsitesecured = VWM_Config::getParam('clientwebsitesecured')) && ($clientwebsitesecured == 'yes')) {
            $tmp_user = VWM_Controller::factory('VWM_User');
            if (!(isset($_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW']) && $tmp_user->validate($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']))) {
                $controller->authenticate(null, true);
                exit;
            }
        }

        $request =& $controller->getContext()->getRequest();

        if (!($request->hasParameter('module'))) {
            // module can be overridden by _GET or _POST, defaults to 'CMS'
            $request->setParameter('module', 'CMS');
        }
        if (!($request->hasParameter('action'))) {
            // action can be overridden by _GET or _POST, defaults to 'RequestPage'
            $request->setParameter('action', 'RequestPage');
        }
        $request->setParameter('SCHEME', 'http://');
        if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'])) $request->setParameter('SCHEME', 'https://');
        $request->setParameter('HTTP_HOST', $_SERVER['HTTP_HOST']);
        $request->setParameter('REQUEST_URI', $_SERVER['REQUEST_URI']);
        $request->setParameter('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']);
        $request->setParameter('QUERY_STRING', $_SERVER['QUERY_STRING']);
        $request->setParameter('SCRIPT_NAME', $_SERVER['SCRIPT_NAME']);
        $request->setParameter('REDIRECT_URL', isset($_SERVER['REDIRECT_URL']) ? $_SERVER['REDIRECT_URL'] : '');

        $request->setParameter('time_start', $time_start);

        // dispatch the request
        $vwm->dispatch();

    } else {

        echo 'Could not create VWM instance';

    }
} else {
    echo 'The VWM package is not installed correctly';
}

?>
