mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2025-12-30 00:53:50 +00:00
Refinements for the authentication class
This commit is contained in:
@@ -26,8 +26,12 @@ class plugin_totp {
|
||||
function totp() {
|
||||
|
||||
//pre-process some settings
|
||||
$settings['theme']['favicon'] = !empty($settings['theme']['favicon']) ? $settings['theme']['favicon'] : PROJECT_PATH.'/themes/default/favicon.ico';
|
||||
$settings['login']['destination'] = !empty($settings['login']['destination']) ? $settings['login']['destination'] : '';
|
||||
$settings['theme']['favicon'] = !empty($_SESSION['theme']['favicon']['text']) ? $_SESSION['theme']['favicon']['text'] : PROJECT_PATH.'/themes/default/favicon.ico';
|
||||
$settings['login']['destination'] = !empty($_SESSION['login']['destination']['text']) ? $_SESSION['login']['destination']['text'] : '';
|
||||
$settings['users']['unique'] = !empty($_SESSION['users']['unique']['text']) ? $_SESSION['users']['unique']['text'] : '';
|
||||
$settings['theme']['logo'] = !empty($_SESSION['theme']['logo']['text']) ? $_SESSION['theme']['logo']['text'] : PROJECT_PATH.'/themes/default/images/logo_login.png';
|
||||
$settings['theme']['login_logo_width'] = !empty($_SESSION['theme']['login_logo_width']['text']) ? $_SESSION['theme']['login_logo_width']['text'] : 'auto; max-width: 300px';
|
||||
$settings['theme']['login_logo_height'] = !empty($_SESSION['theme']['login_logo_height']['text']) ? $_SESSION['theme']['login_logo_height']['text'] : 'auto; max-height: 300px';
|
||||
|
||||
//get the username
|
||||
if (isset($_SESSION["username"])) {
|
||||
@@ -73,9 +77,9 @@ class plugin_totp {
|
||||
$view->assign("favicon", $settings['theme']['favicon']);
|
||||
$view->assign("login_title", $text['label-username']);
|
||||
$view->assign("login_username", $text['label-username']);
|
||||
$view->assign("login_logo_width", $login_logo_width);
|
||||
$view->assign("login_logo_height", $login_logo_height);
|
||||
$view->assign("login_logo_source", $login_logo_source);
|
||||
$view->assign("login_logo_width", $settings['theme']['login_logo_width']);
|
||||
$view->assign("login_logo_height", $settings['theme']['login_logo_height']);
|
||||
$view->assign("login_logo_source", $settings['theme']['logo']);
|
||||
$view->assign("button_login", $text['button-login']);
|
||||
$view->assign("favicon", $settings['theme']['favicon']);
|
||||
|
||||
@@ -91,6 +95,16 @@ class plugin_totp {
|
||||
//get the username
|
||||
if (!isset($this->username) && isset($_REQUEST['username'])) {
|
||||
$this->username = $_REQUEST['username'];
|
||||
$_SESSION['username'] = $this->username;
|
||||
}
|
||||
|
||||
//get the domain name
|
||||
if (!empty($_SESSION['username'])) {
|
||||
$auth = new authentication;
|
||||
$auth->get_domain();
|
||||
$this->domain_uuid = $_SESSION['domain_uuid'];
|
||||
$this->domain_name = $_SESSION['domain_name'];
|
||||
$this->username = $_SESSION['username'];
|
||||
}
|
||||
|
||||
//get the user details
|
||||
@@ -154,9 +168,9 @@ class plugin_totp {
|
||||
$view->assign("favicon", $settings['theme']['favicon']);
|
||||
$view->assign("login_title", $text['label-verify']);
|
||||
$view->assign("login_authentication_code", $text['label-authentication_code']);
|
||||
$view->assign("login_logo_width", $login_logo_width);
|
||||
$view->assign("login_logo_height", $login_logo_height);
|
||||
$view->assign("login_logo_source", $login_logo_source);
|
||||
$view->assign("login_logo_width", $settings['theme']['login_logo_width']);
|
||||
$view->assign("login_logo_height", $settings['theme']['login_logo_height']);
|
||||
$view->assign("login_logo_source", $settings['theme']['logo']);
|
||||
$view->assign("favicon", $settings['theme']['favicon']);
|
||||
|
||||
//show the views
|
||||
@@ -241,7 +255,7 @@ class plugin_totp {
|
||||
$sql .= " username = :username\n";
|
||||
$sql .= " or user_email = :username\n";
|
||||
$sql .= ")\n";
|
||||
if ($_SESSION["users"]["unique"]["text"] != "global") {
|
||||
if ($settings['users']['unique'] != "global") {
|
||||
//unique username per domain (not globally unique across system - example: email address)
|
||||
$sql .= "and domain_uuid = :domain_uuid ";
|
||||
$parameters['domain_uuid'] = $_SESSION["domain_uuid"];
|
||||
@@ -272,7 +286,7 @@ class plugin_totp {
|
||||
$sql = "select user_uuid, username, user_email, contact_uuid ";
|
||||
$sql .= "from v_users ";
|
||||
$sql .= "where user_uuid = :user_uuid ";
|
||||
if ($_SESSION["users"]["unique"]["text"] != "global") {
|
||||
if ($settings['users']['unique'] != "global") {
|
||||
//unique username per domain (not globally unique across system - example: email address)
|
||||
$sql .= "and domain_uuid = :domain_uuid ";
|
||||
$parameters['domain_uuid'] = $_SESSION["domain_uuid"];
|
||||
|
||||
Reference in New Issue
Block a user