Revision 30
Added by Manuela over 6 years ago
initialize.php | ||
---|---|---|
205 | 205 |
} |
206 | 206 |
} |
207 | 207 |
|
208 |
/** |
|
209 |
* WbErrorHandler() |
|
210 |
* |
|
211 |
* @param mixed $iErrorCode |
|
212 |
* @param mixed $sErrorText |
|
213 |
* @param mixed $sErrorFile |
|
214 |
* @param mixed $iErrorLine |
|
215 |
* @return |
|
216 |
*/ |
|
217 | 208 |
function WbErrorHandler($iErrorCode, $sErrorText, $sErrorFile, $iErrorLine) |
218 | 209 |
{ |
219 | 210 |
if (!(error_reporting() & $iErrorCode) || ini_get('log_errors') == 0) { |
... | ... | |
289 | 280 |
} |
290 | 281 |
\bin\CoreAutoloader::doRegister(dirname(__DIR__)); |
291 | 282 |
\bin\CoreAutoloader::addNamespace([ // add several needed namespaces |
283 |
// Namespace Directory |
|
292 | 284 |
'bin' => 'framework', |
293 | 285 |
'addon' => 'modules', |
294 | 286 |
'vendor' => 'include', |
... | ... | |
296 | 288 |
'bin\\db' => 'framework/db', |
297 | 289 |
'bin\\security' => 'framework', |
298 | 290 |
'bin\\interfaces' => 'framework', |
291 |
'api' => 'framework/api', |
|
299 | 292 |
]); |
300 | 293 |
|
301 | 294 |
// *** initialize Exception handling |
... | ... | |
319 | 312 |
ini_set('log_errors', 1); |
320 | 313 |
ini_set ('error_log', $sErrorLogFile); |
321 | 314 |
|
322 |
// activate errorhandler *****************************************************************
|
|
315 |
// activate errorhandler -----------------------------------------------------------------
|
|
323 | 316 |
set_error_handler('WbErrorHandler', -1 ); |
324 | 317 |
defined('SYSTEM_RUN') ? '' : define('SYSTEM_RUN', true); |
325 | 318 |
// load configuration --- |
326 | 319 |
$aCfg = initReadSetupFile(); |
327 | 320 |
initSetInstallWbConstants($aCfg); |
321 |
// activate requester -------------------------------------------------------------------- |
|
322 |
$oRequest = \bin\HttpRequester(); |
|
328 | 323 |
// --------------------------- |
329 | 324 |
// get Database connection data from configuration |
330 | 325 |
defined('ADMIN_DIRECTORY') ? '' : define('ADMIN_DIRECTORY', 'admin'); |
331 | 326 |
if ( |
332 |
!(preg_match('/xx[a-z0-9_][a-z0-9_\-\.]+/i', 'xx'.ADMIN_DIRECTORY) &&
|
|
333 |
is_dir(dirname(__DIR__).'/'.ADMIN_DIRECTORY))
|
|
327 |
!preg_match('/xx[a-z_][a-z0-9_\-\.]+/i', 'xx'.ADMIN_DIRECTORY) ||
|
|
328 |
!is_dir(dirname(__DIR__).'/'.ADMIN_DIRECTORY)
|
|
334 | 329 |
) { |
335 | 330 |
throw new RuntimeException('Invalid admin-directory set: ' . ADMIN_DIRECTORY); |
336 | 331 |
} |
... | ... | |
395 | 390 |
if (!$x) { |
396 | 391 |
throw new RuntimeException('no settings found'); |
397 | 392 |
} |
398 |
defined('DO_NOT_TRACK') ? '' : define('DO_NOT_TRACK', (isset($_SERVER['HTTP_DNT'])));
|
|
399 |
ini_set('display_errors', ((defined('DEBUG') && (DEBUG==true)) ?'1':'0'));
|
|
393 |
defined('DO_NOT_TRACK') ? '' : define('DO_NOT_TRACK', ($oRequest->issetHeader('DNT')));
|
|
394 |
ini_set('display_errors', ((defined('DEBUG') && (DEBUG==true)) ? '1' : '0'));
|
|
400 | 395 |
|
401 | 396 |
defined('DEBUG') ? '' : define('DEBUG', false); |
402 | 397 |
$string_file_mode = defined('STRING_FILE_MODE') ? STRING_FILE_MODE : '0644'; |
403 | 398 |
defined('OCTAL_FILE_MODE') ? '' : define('OCTAL_FILE_MODE', (int) octdec($string_file_mode)); |
404 | 399 |
$string_dir_mode = defined('STRING_DIR_MODE') ? STRING_DIR_MODE : '0755'; |
405 | 400 |
defined('OCTAL_DIR_MODE') ? '' : define('OCTAL_DIR_MODE', (int) octdec($string_dir_mode)); |
406 |
// $sSecMod = (defined('SECURE_FORM_MODULE') && SECURE_FORM_MODULE != '') ? '.'.SECURE_FORM_MODULE : ''; |
|
407 |
// $sSecMod = WB_PATH.'/framework/SecureForm'.$sSecMod.'.php'; |
|
408 |
// require_once($sSecMod); |
|
409 |
if (!defined('WB_INSTALL_PROCESS')) { |
|
401 |
if (!defined('WB_INSTALL_PROCESS') && !defined('WB_UPGRADE_PROCESS')) { |
|
410 | 402 |
// get CAPTCHA and ASP settings |
411 | 403 |
$sql = 'SELECT * FROM `'.TABLE_PREFIX.'mod_captcha_control`'; |
412 | 404 |
if (($get_settings = $database->query($sql)) && |
... | ... | |
422 | 414 |
throw new RuntimeException('CAPTCHA-Settings not found'); |
423 | 415 |
} |
424 | 416 |
} |
425 |
|
|
426 | 417 |
// Start a session |
427 | 418 |
if (!defined('SESSION_STARTED')) { |
428 | 419 |
session_name(APP_NAME.'-sid'); |
... | ... | |
434 | 425 |
} |
435 | 426 |
// Get users language |
436 | 427 |
if ( |
437 |
isset($_GET['lang']) AND |
|
438 |
$_GET['lang'] != '' AND |
|
439 |
!is_numeric($_GET['lang']) AND |
|
440 |
strlen($_GET['lang']) == 2 |
|
428 |
($sLang = $oRequest->issetParam('lang')) == null || |
|
429 |
!preg_match('/^([a-z]{2})(?:[\-_]([a-z]{2})(?:[\-_]([a-z\-_]{2,8}))?)?$/i', $sLang, $aMatches) |
|
441 | 430 |
) { |
442 |
define('LANGUAGE', strtoupper($_GET['lang'])); |
|
443 |
$_SESSION['LANGUAGE']=LANGUAGE; |
|
444 |
} else { |
|
445 | 431 |
if (isset($_SESSION['LANGUAGE']) AND $_SESSION['LANGUAGE'] != '') { |
446 | 432 |
define('LANGUAGE', $_SESSION['LANGUAGE']); |
447 | 433 |
} else { |
448 | 434 |
define('LANGUAGE', DEFAULT_LANGUAGE); |
449 | 435 |
} |
436 |
} else { |
|
437 |
$sLang = strtoupper($aMatches[1]); |
|
438 |
define('LANGUAGE', $slang); |
|
439 |
$_SESSION['LANGUAGE'] = $sLang; |
|
450 | 440 |
} |
451 | 441 |
$sCachePath = dirname(__DIR__).'/temp/cache/'; |
452 | 442 |
if (!file_exists($sCachePath)) { |
... | ... | |
472 | 462 |
require $slangFile; |
473 | 463 |
} |
474 | 464 |
} |
465 |
// activate Translate -------------------------------------------------------------------- |
|
475 | 466 |
$oTrans = Translate::getInstance(); |
476 | 467 |
$oTrans->initialize(array('EN', DEFAULT_LANGUAGE, LANGUAGE), $sCachePath); // 'none' |
468 |
// activate SecureTokens ----------------------------------------------------------------- |
|
469 |
$oApp = (object) [ |
|
470 |
'oRequester' => $oRequest, |
|
471 |
'oRegistry' => (object) [ |
|
472 |
'SecTokenFingerprint' => (bool) SEC_TOKEN_FINGERPRINT, |
|
473 |
'SecTokenNetmask4' => SEC_TOKEN_NETMASK4, |
|
474 |
'SecTokenNetmask6' => SEC_TOKEN_NETMASK6, |
|
475 |
'SecTokenLifeTime' => SEC_TOKEN_LIFE_TIME |
|
476 |
] |
|
477 |
]; |
|
478 |
\bin\SecureTokens::getInstance($oApp); |
|
479 |
\bin\SecureTokens::checkFTAN(); |
|
480 |
// --------------------------------------------------------------------------------------- |
|
477 | 481 |
// Get users timezone |
478 | 482 |
if (isset($_SESSION['TIMEZONE'])) { |
479 | 483 |
define('TIMEZONE', $_SESSION['TIMEZONE']); |
Also available in: Unified diff
updatet version to 2.11.0-RC1
added first version of HttpRequester