Ejemplo n.º 1
0
/**
 * Handle all the active stuff that usually happens in config.php.
 * This are things as opening db connections, start sessions etc.
 * 
 * Session is started
 * The folloy object are created:
 *  - $smarty
 *  - $auth
 */
function R3AppStart($type = null, array $opt = array())
{
    global $smarty, $auth, $languages, $mdb2;
    global $lang;
    // output var
    global $scriptStartTime;
    initLog();
    // Initialize ezLog
    $text = "{$_SERVER['REMOTE_ADDR']}: {$_SERVER['SCRIPT_FILENAME']}?{$_SERVER['QUERY_STRING']} started ({$_SERVER['REQUEST_METHOD']})";
    ezcLog::getInstance()->log($text, ezcLog::DEBUG);
    require_once R3_LIB_DIR . 'eco_utils.php';
    $isAuth = $auth->isAuth();
    if (!$isAuth && isset($opt['allow_change_password']) && $opt['allow_change_password'] === true && ($auth->getStatus() == AUTH_PASSWORD_REPLACE || $auth->getStatus() == AUTH_PASSWORD_EXPIRED)) {
        $isAuth = true;
        $auth->getAllPermsAsString();
    }
    if (!$isAuth) {
        ezcLog::getInstance()->log(sprintf("Non authenticated request: Logged out [%s]", $auth->getStatusText()), ezcLog::NOTICE);
        Header("location: logout.php?status=" . $auth->getStatusText());
        die;
    }
    if (1 == 1) {
        $sql = "SELECT set_session_var('R3UID', '{$auth->getUID()}')";
        $db = ezcDbInstance::get();
        $db->exec($sql);
        $mdb2->exec($sql);
    }
    $_SESSION['lang'] = $auth->getParam('us_lang', 1);
    $lang = $_SESSION['lang'];
    $smarty->assign('lang', $lang);
    R3Locale::setLanguageID($lang);
    /** Apply locale */
    setLang($languages[$_SESSION['lang']], LC_MESSAGES);
    bindtextdomain('messages', R3_LANG_DIR);
    textdomain('messages');
    bind_textdomain_codeset('messages', R3_APP_CHARSET);
    // Force domain
    if ($auth->hasPerm('SHOW', 'ALL_DOMAINS')) {
        $domainList = R3EcoGisHelper::getDomainList();
        $smarty->assign('domains', $domainList);
        if (!isset($_SESSION['do_id'])) {
            if (R3_IS_MULTIDOMAIN) {
                $_SESSION['do_id'] = key($domainList);
                // 1st domain
            } else {
                $_SESSION['do_id'] = $auth->getDomainID();
                // Default domain
            }
        }
    } else {
        $_SESSION['do_id'] = $auth->getDomainID();
        // Default domain
    }
    $smarty->assign('do_id', $_SESSION['do_id']);
    if (!isset($_REQUEST['method'])) {
        // Don't rebuild on ajax request
        // Rebuild css
        R3BuildCSS();
        // Rebuild js
        R3BuildJS();
    }
    if (defined('GZIP_PHP_PAGE') && GZIP_PHP_PAGE == true) {
        // Compress php page
        ob_start("ob_gzhandler");
    }
}
Ejemplo n.º 2
0
<?php

require_once dirname(__FILE__) . '/../../etc/config.php';
require_once R3_LANG_DIR . 'lang.php';
require_once R3_LIB_DIR . 'obj.base.php';
require_once R3_LIB_DIR . 'eco_utils.php';
require_once R3_CLASS_DIR . 'obj.gisclient.php';
$auth = R3AuthInstance::get();
if (!$auth->isAuth()) {
    Header("location: logout.php?status=" . $auth->getStatusText());
    die;
}
$db = ezcDbInstance::get();
$lang = $_SESSION['lang'];
R3Locale::setLanguageID($lang);
setLang($languages[$_SESSION['lang']], LC_MESSAGES);
bindtextdomain('messages', R3_LANG_DIR);
textdomain('messages');
bind_textdomain_codeset('messages', R3_APP_CHARSET);
$_SESSION['GC_SESSION_CACHE_EXPIRE_TIMEOUT'] = time() + 10;
$_SESSION['USERNAME'] = '******';
$_SESSION['GROUPS'] = array('r3appusers');
$MenuItem = 'mappa';
require_once R3_WEB_ADMIN_DIR . 'smarty_assign.php';
$toolsOptions = array();
$mapCallbacks = array();
$tools = array('zoomFull' => 'zoom_full', 'zoomPrev' => 'zoom_prev', 'zoomNext' => 'zoom_next', 'zoomIn' => 'zoom_in', 'zoomOut' => 'zoom_out', 'Pan' => 'pan', 'measureLine' => 'measure_line', 'measureArea' => 'measure_polygon', 'reloadLayers' => 'reload_layers', 'toStreetView' => 'to_street_view', 'mapPrint' => 'print', 'redline' => 'redline', 'selectFromMap' => 'select', 'toolTip' => 'tooltip');
function hasGeometry($sql, $id)
{
    $db = ezcDbInstance::get();
    $stmt = $db->prepare($sql);