<?php
/**
 *
 * @category        frontend
 * @package         account
 * @author          Ryan Djurovich, WebsiteBaker Project
 * @copyright       2009-2012, WebsiteBaker Org. e.V.
 * @link			http://www.websitebaker2.org/
 * @license         http://www.gnu.org/licenses/gpl.html
 * @platform        WebsiteBaker 2.8.x
 * @requirements    PHP 5.2.2 and higher
 * @version         $Id: login.php 2125 2015-06-17 18:42:26Z darkviper $
 * @filesource		$HeadURL: svn://isteam.dynxs.de/wb-archiv/branches/2.8.x/wb/account/login.php $
 * @lastmodified    $Date: 2015-06-17 20:42:26 +0200 (Wed, 17 Jun 2015) $
 *
 */

// Include the configuration file
$sStartFile = dirname(__DIR__).'/framework/initialize.php';
if (!defined('SYSTEM_RUN')) { require($sStartFile); }
require_once($oReg->AppPath.'framework/functions.php');

$wb = new frontend(false);

// Make sure the login is enabled
if(!$oReg->FrontendLogin) {
    header('Location: '.$oReg->AppUrl);
    exit;
}
$page_id =
    isset($oReg->ReferrerId)
    ? $oReg->ReferrerId
    : isset($_SESSION['PAGE_ID']) ? $_SESSION['PAGE_ID'] : 0;

// Required page details
$page_description = '';
$page_keywords = '';
// Work out level
$level = ($page_id > 0 ) ? level_count($page_id) : $page_id;
// Work out root parent
$root_parent = ($page_id > 0 ) ? root_parent($page_id) : $page_id;

define('PAGE_ID', $page_id);
define('ROOT_PARENT', $root_parent);
define('PARENT', 0);
define('LEVEL', $level);

define('PAGE_TITLE', $oTrans->TEXT_PLEASE_LOGIN);
define('MENU_TITLE', $oTrans->TEXT_PLEASE_LOGIN);
define('VISIBILITY', 'public');
// Set the page content include file
define('PAGE_CONTENT', $oReg->AppPath.'account/login_form.php');

// Create new login app
$requestMethod = '_'.strtoupper($_SERVER['REQUEST_METHOD']);
$sRedirect  = strip_tags(isset(${$requestMethod}['redirect']) ? ${$requestMethod}['redirect'] : '');
//$redirect = ( (empty($redirect)) ?  $_SERVER['HTTP_REFERER'] : $redirect);
$_SESSION['HTTP_REFERER'] = str_replace($oReg->AppUrl,'/',$sRedirect);

$sLoginUrl  = $oReg->AppUrl.'account/login.php';
$sLoginUrl .= (!empty($sRedirect) ? '?redirect=' .$_SESSION['HTTP_REFERER'] : '');

$sWarningUrl  = str_replace($oReg->AppPath, $oReg->AppUrl, $wb->correct_theme_source('warning.html'));
// Setup template object, parse vars to it, then parse it
$sThemePath = realpath($oReg->AppPath . ltrim($wb->correct_theme_source('loginBox.htt'), '/'));

$thisApp = new Login(
    array(
        'MAX_ATTEMPS'           => 3,
        'WARNING_URL'           => $sWarningUrl,
        'USERNAME_FIELDNAME'    => 'username',
        'PASSWORD_FIELDNAME'    => 'password',
        'REMEMBER_ME_OPTION'    => $oReg->SmartLogin,
        'MIN_USERNAME_LEN'      => 2,
        'MIN_PASSWORD_LEN'      => 3,
        'MAX_USERNAME_LEN'      => 100,
        'MAX_PASSWORD_LEN'      => 100,
        'LOGIN_URL'             => $sLoginUrl,
        'DEFAULT_URL'           => $oReg->AppUrl.'index.php',
        'TEMPLATE_DIR'          => $sThemePath,
        'TEMPLATE_FILE'         => 'login.htt',
        'FRONTEND'              => true,
        'FORGOTTEN_DETAILS_APP' => $oReg->AppUrl.'/account/forgot.php',
        'USERS_TABLE'           => $oDb->TablePrefix.'users',
        'GROUPS_TABLE'          => $oDb->TablePrefix.'groups',
        'REDIRECT_URL'          => $sRedirect
    )
);
// Set extra outsider var
$globals[] = 'thisApp';
// Include the index (wrapper) file
require($oReg->AppPath.'index.php');
