$output = $aInt->lang("twofa", "activationerror"); } } if (!$output) { echo "<div class=\"content\"><div style=\"padding:15px;\">"; echo $aInt->lang("twofa", "generalerror"); echo "</div></div>"; } else { echo "<div class=\"content\"><div style=\"padding:15px;\">"; echo $output; echo "</div></div>"; } } else { echo "<div class=\"content\"><div style=\"padding:15px;\">"; echo "<h2>" . $aInt->lang("twofa", "enable") . "</h2>"; if ($twofa->isForced()) { echo "<div class=\"infobox\">" . $aInt->lang("twofa", "enforced") . "</div>"; } echo "<p>" . $aInt->lang("twofa", "activateintro") . "</p>\n<form><input type=\"hidden\" name=\"2fasetup\" value=\"1\" />"; if (1 < count($modules)) { echo "<p>" . $aInt->lang("twofa", "choose") . "</p>"; $mod = new WHMCS_Module("security"); $first = true; foreach ($modules as $module) { $mod->load($module); $configarray = $mod->call("config"); echo " <label><input type=\"radio\" name=\"module\" value=\"" . $module . "\"" . ($first ? " checked" : "") . " /> " . (isset($configarray['FriendlyName']['Value']) ? $configarray['FriendlyName']['Value'] : ucfirst($module)) . "</label><br />"; $first = false; } } else { echo "<input type=\"hidden\" name=\"module\" value=\"" . $modules[0] . "\" />";
if (defined("CLIENTAREA") && $CONFIG['MaintenanceMode'] && !$_SESSION['adminid']) { if ($CONFIG['MaintenanceModeURL']) { header("Location: " . $CONFIG['MaintenanceModeURL']); exit; } echo "<div style=\"border: 1px dashed #cc0000;font-family:Tahoma;background-color:#FBEEEB;width:100%;padding:10px;color:#cc0000;\"><strong>Down for Maintenance (Err 3)</strong><br>" . $CONFIG['MaintenanceModeMessage'] . "</div>"; exit; } $licensing = WHMCS_License::init(); if ($licensing->getVersionHash() != "9eb7da5f081b3fc7ae1e460afdcb89ea8239eca1") { exit("License Checking Error"); } if (defined("CLIENTAREA") && isset($_SESSION['uid']) && !isset($_SESSION['adminid'])) { $twofa = new WHMCS_2FA(); $twofa->setClientID($_SESSION['uid']); if ($twofa->isForced() && !$twofa->isEnabled() && $twofa->isActiveClients()) { if ($whmcs->get_filename() == "clientarea" && ($whmcs->get_req_var("action") == "security" || $whmcs->get_req_var("2fasetup"))) { } else { redir("action=security&2fasetup=1&enforce=1", "clientarea.php"); } } } if (isset($_SESSION['currency']) && is_array($_SESSION['currency'])) { $_SESSION['currency'] = $_SESSION['currency']['id']; } if (!isset($_SESSION['uid']) && isset($_REQUEST['currency'])) { $result = select_query("tblcurrencies", "id", array("id" => (int) $_REQUEST['currency'])); $data = mysql_fetch_array($result); if ($data['id']) { $_SESSION['currency'] = $data['id']; }
public function __construct($reqpermission, $releaseSession = true) { global $CONFIG; global $licensing; global $_ADMINLANG; global $infobox; global $whmcs; $infobox = ""; $licensing->remoteCheck(); if ($licensing->getStatus() != "Active") { redir("licenseerror=" . $licensing->getStatus(), "licenseerror.php"); } if ($CONFIG['AdminForceSSL'] && $CONFIG['SystemSSLURL']) { if (!$_SERVER['HTTPS'] || $_SERVER['HTTPS'] == "off") { $requesturl = $_SERVER['PHP_SELF'] . "?"; foreach ($_REQUEST as $key => $value) { if (!is_array($value)) { $requesturl .= "" . $key . "=" . urlencode($value) . "&"; continue; } } $requesturl = substr($requesturl, 0, 0 - 1); $requesturl = substr($requesturl, strrpos($requesturl, "/")); header("Location: " . $CONFIG['SystemSSLURL'] . "/" . $whmcs->get_admin_folder_name() . $requesturl); exit; } } if ($reqpermission == "loginonly") { $this->loginRequired = true; } else { if ($reqpermission) { $this->requiredPermission = $reqpermission; } else { $this->loginRequired = false; } } require ROOTDIR . "/includes/smarty/Smarty.class.php"; if ($this->loginRequired) { $auth = new WHMCS_Auth(); if (!$auth->isLoggedIn()) { $_SESSION['admloginurlredirect'] = html_entity_decode($_SERVER['REQUEST_URI']); redir("", "login.php"); } $auth->getInfobyID($_SESSION['adminid']); if ($auth->isSessionPWHashValid()) { $auth->updateAdminLog(); $this->adminTemplate = $auth->getAdminTemplate(); if ($auth->getAdminLanguage()) { $this->language = $auth->getAdminLanguage(); } } else { $auth->destroySession(); redir("", "login.php"); } } if ($releaseSession) { releaseSession(); } if ($this->requiredPermission) { $permid = array_search($this->requiredPermission, getAdminPermsArray()); $result = select_query("tbladmins", "roleid", array("id" => $_SESSION['adminid'])); $data = mysql_fetch_array($result); $roleid = $data['roleid']; $result = select_query("tbladminperms", "COUNT(*)", array("roleid" => $roleid, "permid" => $permid)); $data = mysql_fetch_array($result); $match = $data[0]; if (!$match) { redir("permid=" . $permid, "accessdenied.php"); exit; } } $filename = $_SERVER['PHP_SELF']; $filename = substr($filename, strrpos($filename, "/")); $filename = str_replace(array("/", ".php"), "", $filename); if (isset($_SESSION['adminid'])) { $twofa = new WHMCS_2FA(); $twofa->setAdminID($_SESSION['adminid']); if ($filename != "myaccount" && $twofa->isForced() && !$twofa->isEnabled() && $twofa->isActiveAdmins()) { redir("2faenforce=1", "myaccount.php"); } } $this->filename = $filename; $this->rowLimit = $CONFIG['NumRecordstoDisplay']; if (isset($_SESSION['adminlang']) && $_SESSION['adminlang']) { $this->language = $_SESSION['adminlang']; } $this->language = $whmcs->validateLanguage($this->language, true); $whmcs->loadLanguage($this->language, true); }