New setting background_video

This commit is contained in:
FusionPBX 2024-06-18 09:32:19 -06:00 committed by GitHub
parent 7499606fcb
commit 02db089d8f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 77 additions and 16 deletions

View File

@ -58,6 +58,7 @@ class plugin_database {
$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';
$settings['theme']['message_delay'] = isset($_SESSION['theme']['message_delay']) ? 1000 * (float) $_SESSION['theme']['message_delay'] : 3000;
$settings['theme']['background_video'] = isset($_SESSION['theme']['background_video'][0]) ? $_SESSION['theme']['background_video'][0] : null;
//already authorized
if (isset($_SESSION['authentication']['plugin']['database']) && $_SESSION['authentication']['plugin']['database']["authorized"]) {
@ -108,7 +109,8 @@ class plugin_database {
$view->assign("login_logo_height", $settings['theme']['login_logo_height']);
$view->assign("login_logo_source", $settings['theme']['logo']);
$view->assign("message_delay", $settings['theme']['message_delay']);
// if (!empty($_SESSION['authentication']['plugin']['database']['authorized']) && $_SESSION['authentication']['plugin']['database']['authorized'] == 1 && !empty($_SESSION['username'])) {
$view->assign("background_video", $settings['theme']['background_video']);
//if (!empty($_SESSION['authentication']['plugin']['database']['authorized']) && $_SESSION['authentication']['plugin']['database']['authorized'] == 1 && !empty($_SESSION['username'])) {
if (!empty($_SESSION['username'])) {
$view->assign("login_password_description", $text['label-password_description']);
$view->assign("username", $_SESSION['username']);

View File

@ -57,6 +57,7 @@ class plugin_email {
$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';
$settings['theme']['message_delay'] = isset($_SESSION['theme']['message_delay']) ? 1000 * (float) $_SESSION['theme']['message_delay'] : 3000;
$settings['theme']['background_video'] = isset($_SESSION['theme']['background_video'][0]) ? $_SESSION['theme']['background_video'][0] : null;
//set a default template
$_SESSION['domain']['template']['name'] = 'default';
@ -101,6 +102,7 @@ class plugin_email {
$view->assign("login_logo_source", $settings['theme']['logo']);
$view->assign("button_login", $text['button-login']);
$view->assign("message_delay", $settings['theme']['message_delay']);
$view->assign("background_video", $settings['theme']['background_video']);
//messages
$view->assign('messages', message::html(true, ' '));
@ -509,4 +511,4 @@ class plugin_email {
}
}
?>
?>

View File

@ -1,7 +1,7 @@
<?php
/**
* plugin_ldap
* plugin_ldap
*
* @method ldap checks a local or remote ldap database to authenticate the user
*/
@ -33,6 +33,7 @@ class plugin_ldap {
$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';
$settings['theme']['background_video'] = isset($_SESSION['theme']['background_video'][0]) ? $_SESSION['theme']['background_video'][0] : null;
//get the domain
$domain_array = explode(":", $_SERVER["HTTP_HOST"]);
@ -69,6 +70,7 @@ class plugin_ldap {
$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("background_video", $settings['theme']['background_video']);
//add the token name and hash to the view
//$view->assign("token_name", $token['name']);
@ -211,4 +213,4 @@ class plugin_ldap {
}
}
?>
?>

View File

@ -57,6 +57,7 @@ class plugin_totp {
$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';
$settings['theme']['message_delay'] = isset($_SESSION['theme']['message_delay']) ? 1000 * (float) $_SESSION['theme']['message_delay'] : 3000;
$settings['theme']['background_video'] = isset($_SESSION['theme']['background_video'][0]) ? $_SESSION['theme']['background_video'][0] : null;
//get the username
if (isset($_SESSION["username"])) {
@ -218,6 +219,7 @@ class plugin_totp {
$view->assign("login_logo_height", $settings['theme']['login_logo_height']);
$view->assign("login_logo_source", $settings['theme']['logo']);
$view->assign("favicon", $settings['theme']['favicon']);
$view->assign("background_video", $settings['theme']['background_video']);
if (!empty($_SESSION['username'])) {
$view->assign("username", $_SESSION['username']);
$view->assign("button_cancel", $text['button-cancel']);

View File

@ -58,6 +58,11 @@
<title>{$login_title}</title>
</head>
<body>
{if !empty($background_video)}
<video id="background-video" autoplay muted2 poster="" onloadstart="this.playbackRate = 1;">
<source src="{$background_video}" type="video/mp4">
</video>
{/if}
<div id='page' align='center'>
<div id='message_container'></div>
<div id='default_login'>
@ -80,4 +85,4 @@
</div>
<script>document.getElementsByName('authentication_code')[0].focus();</script>
</body>
</html>
</html>

View File

@ -58,6 +58,11 @@
<title>{$login_title}</title>
</head>
<body>
{if !empty($background_video)}
<video id="background-video" autoplay muted2 poster="" onloadstart="this.playbackRate = 1;">
<source src="{$background_video}" type="video/mp4">
</video>
{/if}
<div id='page' align='center'>
<div id='message_container'></div>
<div id='default_login'>
@ -85,4 +90,4 @@
</div>
<script>document.getElementsByName('username')[0].focus();</script>
</body>
</html>
</html>

View File

@ -58,6 +58,11 @@
<title>{$login_title}</title>
</head>
<body>
{if !empty($background_video)}
<video id="background-video" autoplay muted2 poster="" onloadstart="this.playbackRate = 1;">
<source src="{$background_video}" type="video/mp4">
</video>
{/if}
<div id='page' align='center'>
<div id='message_container'></div>
<div id='default_login'>
@ -78,4 +83,4 @@
</div>
<script>document.getElementsByName('authentication_code')[0].focus();</script>
</body>
</html>
</html>

View File

@ -10,6 +10,11 @@
<title>{$login_title}</title>
</head>
<body>
{if !empty($background_video)}
<video id="background-video" autoplay muted2 poster="" onloadstart="this.playbackRate = 1;">
<source src="{$background_video}" type="video/mp4">
</video>
{/if}
<div id='page' align='center'>
<div id='default_login' style='max-width: 400px;'>
<a href='{$project_path}/'><img id='login_logo' style='width: {$login_logo_width}; height: {$login_logo_height};' src='{$login_logo_source}' /></a><br />
@ -26,4 +31,4 @@
</div>
</div>
</body>
</html>
</html>

View File

@ -58,6 +58,11 @@
<title>{$login_title}</title>
</head>
<body>
{if !empty($background_video)}
<video id="background-video" autoplay muted2 poster="" onloadstart="this.playbackRate = 1;">
<source src="{$background_video}" type="video/mp4">
</video>
{/if}
<div id='page' align='center'>
<div id='message_container'></div>
<div id='default_login'>
@ -74,4 +79,4 @@
</div>
<script>document.getElementsByName('username')[0].focus();</script>
</body>
</html>
</html>

View File

@ -55,4 +55,4 @@
}
}
?>
?>

View File

@ -292,4 +292,4 @@
//$statsauth = "a3az349x2bf3fdfa8dbt7x34fas5X";
//require_once "stats/stat_sadd.php";
?>
?>

View File

@ -145,4 +145,4 @@
require_once("app/translate/translate_header.php");
}
?>
?>

View File

@ -63,6 +63,14 @@
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Set a secondary background color, for a gradient effect.";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "3f9e9e72-b998-4ebd-bb45-725c49126fc2";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "theme";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "background_video";
$apps[$x]['default_settings'][$y]['default_setting_name'] = "array";
$apps[$x]['default_settings'][$y]['default_setting_value'] = "/themes/default/videos/backgrounds/video.mp4";
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "false";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Set the value with the full path and file name.";
$y++;
$apps[$x]['default_settings'][$y]['default_setting_uuid'] = "18a0c698-738e-4d88-a592-115dde20730f";
$apps[$x]['default_settings'][$y]['default_setting_category'] = "theme";
$apps[$x]['default_settings'][$y]['default_setting_subcategory'] = "header_user_visible";
@ -2711,4 +2719,4 @@
$apps[$x]['default_settings'][$y]['default_setting_enabled'] = "true";
$apps[$x]['default_settings'][$y]['default_setting_description'] = "Display A-leg/left and B-leg/right channel audio waveforms on a single axis.";
?>
?>

View File

@ -479,6 +479,18 @@ else { //default: white
background-size:cover;
}
#background-video {
width: 100vw;
height: 100vh;
object-fit: cover;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: -2;
}
pre {
white-space: pre-wrap;
color: <?=$pre_text_color?>;
@ -3337,4 +3349,4 @@ else { //default: white
//output custom css
echo $custom_css_code;
?>
?>

View File

@ -1089,7 +1089,7 @@
//add new options from the json results
for (var i=0; i < obj.length; i++) {
//get the variables
domain_uuid = obj[i].domain_uuid;
domain_name = obj[i].domain_name;
@ -1114,7 +1114,7 @@
div.style.background = '{$domain_selector_background_color_2}';
}
//set the active domain style
//set the active domain style
if ('{$domain_uuid}' == obj[i].domain_uuid) {
div.style.background = '{$domain_active_background_color}';
div.style.fontWeight = 'bold';
@ -1161,6 +1161,13 @@
</head>
<body>
{*//video background *}
{if !empty($settings.theme.background_video)}
<video id="background-video" autoplay muted poster=" onloadstart="this.playbackRate = 1;">
<source src="{$settings.theme.background_video}" type="video/mp4">
</video>
{/if}
{*//message container *}
<div id='message_container'></div>
@ -1222,3 +1229,4 @@
</body>
</html>