Browse Source

New setting background_video

FusionPBX 1 year ago
parent
commit
aab1b7d772

+ 3 - 1
core/authentication/resources/classes/plugins/database.php

@@ -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']);

+ 3 - 1
core/authentication/resources/classes/plugins/email.php

@@ -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 {
 	}
 }
 
-?>
+?>

+ 4 - 2
core/authentication/resources/classes/plugins/ldap.php

@@ -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 {
 	}
 }
 
-?>
+?>

+ 2 - 0
core/authentication/resources/classes/plugins/totp.php

@@ -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']);

+ 6 - 1
core/authentication/resources/views/email.htm

@@ -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>

+ 6 - 1
core/authentication/resources/views/login.htm

@@ -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>

+ 6 - 1
core/authentication/resources/views/totp.htm

@@ -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>

+ 6 - 1
core/authentication/resources/views/totp_secret.htm

@@ -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>

+ 6 - 1
core/authentication/resources/views/username.htm

@@ -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>

+ 1 - 1
index.php

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

+ 1 - 1
resources/footer.php

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

+ 1 - 1
resources/header.php

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

+ 9 - 1
themes/default/app_config.php

@@ -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.";
 
-?>
+?>

+ 13 - 1
themes/default/css.php

@@ -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;
 
-?>
+?>

+ 10 - 2
themes/default/template.php

@@ -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>
+