<?php 
# config.php from the root path 
require_once 'config.php'; 
# app.php from the WebForms.PHP 
require_once $_SERVER['DOCUMENT_ROOT'].'/Nemiro/App.php'; 
 
# import and init application class 
use Nemiro\App as App; 
App::Init(); 
 
# set event handlers 
App::AddHandler('Application_BeginRequest'); 
App::AddHandler('Application_PageCreated'); 
# you are not required to use all the handlers 
# App::AddHandler('Application_EndRequest'); 
# App::AddHandler('Application_IncludedFile'); 
# App::AddHandler('Application_Error'); 
# you can use custom handler names 
# App::AddHandler('Session_Start', 'MyHandler'); 
 
# include database clients 
# get from https://github.com/alekseynemiro/Nemiro.Data.PHP 
# App::IncludeFile('~/Nemiro/Data'); 
 
$CurrentLang = (isset($_COOKIE['lang']) ? $_COOKIE['lang'] : PAGE_DEFAULT_CULTURE); 
 
# application event handlers 
function Application_BeginRequest() 
{ 
    global $CurrentLang; 
 
    if (isset($_GET['lang']) && $CurrentLang != $_GET['lang'] || (isset($_GET['lang']) && $_GET['lang'] == 'en')) 
    { 
        setcookie('lang', $_GET['lang'], time() + 2592000); 
 
        if ($_GET['lang'] == 'en') 
        { 
            unset($_GET['lang']); 
        } 
         
        if (count($_GET) > 0) 
        { 
            \Nemiro\Server::$Url['query'] = $_GET; 
        } 
        else 
        { 
            unset(\Nemiro\Server::$Url['query']); 
        } 
 
        \Nemiro\Server::Redirect(\Nemiro\Server::$Url['path'].(isset(\Nemiro\Server::$Url['query']) ? '?'.http_build_query(\Nemiro\Server::$Url['query']) : '').(isset(\Nemiro\Server::$Url['fragment']) ? '#'.\Nemiro\Server::$Url['fragment'] : ''), 301); 
    } 
} 
 
/** 
 * @param \Nemiro\UI\Page $page  
 */ 
function Application_PageCreated($page) 
{ 
    global $CurrentLang; 
 
    if (isset($CurrentLang)) 
    { 
        $page->Culture = $CurrentLang; 
    } 
} 
?>
 
 |