/** * @param $dbPart * * @return mysqli|bool */ function _storage_db_get_connection($dbPart) { static $config; static $connections; if (isset($connections[$dbPart])) { return $connections[$dbPart]; } if (!isset($config)) { $config = core_config_get('db', []); } if (!isset($config[$dbPart])) { core_dump($config); trigger_error($dbPart . ' db connection config not found'); return false; } $partConfig = $config[$dbPart]; $mysqli = mysqli_connect($partConfig['host'], $partConfig['user'], $partConfig['pass'], isset($partConfig['db_name']) ? $partConfig['db_name'] : $dbPart); if (!$mysqli) { trigger_error('Cannot establish connection to db ' . $dbPart . ' with given config. Error: ' . mysqli_connect_error() . '; code: ' . mysqli_connect_errno(), E_USER_ERROR); return false; } mysqli_set_charset($mysqli, "utf8"); $connections[$dbPart] = $mysqli; return $connections[$dbPart]; }
function _core_error_handler($code, $msg, $lie, $line) { static $cwd; if (!$cwd) { $cwd = getcwd(); } $prevErrorLvl = error_reporting(0); $trace = array_slice(debug_backtrace(), 2, 8); foreach ($trace as $id => $traceData) { $trace[$id] = str_replace($cwd, '', $traceData['file']) . ':' . $traceData['line'] . ' => ' . $traceData['function']; } error_reporting($prevErrorLvl); core_dump($msg, $lie . ':' . $line, $trace); }