/** * 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"); } }
<?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);