/** * global error-function * * @param $msg * @param $link * @param $linklabel * @param $msgs */ function error($msg, $link = "", $linklabel = "", $msgs = array()) { global $cfg, $argv; // web/cli/tfbf if (empty($argv[0]) && !("tfbf" == @substr($cfg['user_agent'], 0, 4))) { // web // theme $theme = CheckandSetUserTheme(); // template require_once "themes/" . $theme . "/index.php"; require_once "inc/lib/vlib/vlibTemplate.php"; $_tmpl = tmplGetInstance($theme, "page.error.tmpl"); // message $_tmpl->setvar('message', htmlentities($msg, ENT_QUOTES)); // messages if (!empty($msgs)) { $msgAry = array_map("htmlentities", $msgs); $_tmpl->setvar('messages', implode("\n", $msgAry)); } // link + linklabel if (!empty($link)) { $_tmpl->setvar('link', $link); $_tmpl->setvar('linklabel', !empty($linklabel) ? htmlentities($linklabel, ENT_QUOTES) : "Ok"); } // parse template $_tmpl->pparse(); // get out here exit; } else { // cli/tfbf // message $exitMsg = "Error: " . $msg . "\n"; // messages if (!empty($msgs)) { $exitMsg .= implode("\n", $msgs) . "\n"; } // get out here exit($exitMsg); } }
} // set transfers-cache cacheTransfersSet(); // set session-settings $_SESSION['settings']['index_meta_refresh'] = $cfg["enable_index_meta_refresh"] != 0 ? 1 : 0; $_SESSION['settings']['index_ajax_update'] = $cfg["enable_index_ajax_update"] != 0 ? 1 : 0; $_SESSION['settings']['index_show_seeding'] = $cfg["index_show_seeding"] != 0 ? 1 : 0; // xfer if ($cfg['enable_xfer'] == 1) { // xfer-init Xfer::init(); } } else { // Check for valid theme if (isset($cfg["theme"])) { $cfg["theme"] = CheckandSetUserTheme(); } // Run internal maintenance regularly if (!empty($_SESSION['next_int_maintenance']) && $_SESSION['next_int_maintenance'] < time()) { require_once "inc/classes/MaintenanceAndRepair.php"; MaintenanceAndRepair::maintenance(MAINTENANCEANDREPAIR_TYPE_INT); $_SESSION['next_int_maintenance'] = null; } } // schedule next internal maintenance if needed if (empty($_SESSION['next_int_maintenance'])) { $_SESSION['next_int_maintenance'] = time() + 2 * 3600 + mt_rand(-1200, 1200); } // 2h (+/- 20m) // free space in MB var $cfg["free_space"] = @disk_free_space($cfg["path"]) / 1048576;