Эх сурвалжийг харах

Music on Hold: Support multiple global categories. Support for changing moh domain. Support for managing additional stream parameters (shuffle, stereo, interval, chimes, custom moh paths, etc). Enhanced file system housekeeping.
Theme: Enhanced audio playback progress indicator. Added settings to control body icon normal/hover colors.
VM Greetings: Updated to support new audio playback indicator (more apps to come shortly).
Group Permissions: Prevent enter key submission on search field.

reliberate 9 жил өмнө
parent
commit
3342b594bf

+ 12 - 0
core/users/group_permissions.php

@@ -336,6 +336,18 @@ require_once "resources/require.php";
 	echo "	});\n";
 	echo "</script>\n";
 
+//prevent enter key submit on search field
+	echo "<script language='javascript' type='text/javascript'>\n";
+	echo "	$(document).ready(function() {\n";
+	echo "		$('#group_permission_search').keydown(function(event){\n";
+	echo "			if (event.keyCode == 13) {\n";
+	echo "				event.preventDefault();\n";
+	echo "				return false;\n";
+	echo "			}\n";
+	echo "		});\n";
+	echo "	});\n";
+	echo "</script>\n";
+
 //show the content
 	echo "<form method='post' name='frm' action=''>\n";
 	echo "<input type='hidden' name='domain_uuid' value='".$domain_uuid."'>\n";

+ 19 - 4
themes/default/app_defaults.php

@@ -1379,6 +1379,21 @@ if ($domains_processed == 1) {
 		$array[$x]['default_setting_enabled'] = 'false';
 		$array[$x]['default_setting_description'] = "API key that allows access to the available fonts list.";
 		$x++;
+		/* icons */
+		$array[$x]['default_setting_category'] = 'theme';
+		$array[$x]['default_setting_subcategory'] = 'body_icon_color';
+		$array[$x]['default_setting_name'] = 'text';
+		$array[$x]['default_setting_value'] = 'rgba(255,255,255,0.25)';
+		$array[$x]['default_setting_enabled'] = 'false';
+		$array[$x]['default_setting_description'] = 'Set the color (and opacity) for the icons in the body.';
+		$x++;
+		$array[$x]['default_setting_category'] = 'theme';
+		$array[$x]['default_setting_subcategory'] = 'body_icon_color_hover';
+		$array[$x]['default_setting_name'] = 'text';
+		$array[$x]['default_setting_value'] = 'rgba(255,255,255,0.50)';
+		$array[$x]['default_setting_enabled'] = 'false';
+		$array[$x]['default_setting_description'] = 'Set the hover color (and opacity) for the icons in the body.';
+		$x++;
 
 
 		if(!$set_session_theme) {
@@ -1389,7 +1404,7 @@ if ($domains_processed == 1) {
 				$prep_statement->execute();
 				$default_settings = $prep_statement->fetchAll(PDO::FETCH_NAMED);
 				unset ($prep_statement, $sql);
-		
+
 			//find the missing default settings
 				$i = 0;
 				foreach ($array as $setting) {
@@ -1398,19 +1413,19 @@ if ($domains_processed == 1) {
 					foreach ($default_settings as $row) {
 						if (trim($row['default_setting_subcategory']) == trim($setting['default_setting_subcategory'])) {
 							$found = true;
-							
+
 							//remove items from the array that were found
 								unset($missing[$i]);
 						}
 					}
 					$i++;
 				}
-		
+
 			//get the missing count
 				$i = 0;
 				foreach ($missing as $row) { $i++; }
 				$missing_count = $i;
-		
+
 			//add the missing default settings
 				if (count($missing) > 0) {
 					$sql = "insert into v_default_settings (";

+ 1 - 0
themes/default/config.php

@@ -7,6 +7,7 @@
 	$v_link_label_view = "<button type='button' class='btn btn-default list_control_icon'><span class='glyphicon glyphicon-eye-open'></span></button>";
 	$v_link_label_play = "<button type='button' class='btn btn-default list_control_icon'><span class='glyphicon glyphicon-play'></span></button>";
 	$v_link_label_pause = "<button type='button' class='btn btn-default list_control_icon'><span class='glyphicon glyphicon-pause'></span></button>";
+	$v_link_label_stop = "<button type='button' class='btn btn-default list_control_icon'><span class='glyphicon glyphicon-stop'></span></button>";
 	$v_link_label_download = "<button type='button' class='btn btn-default list_control_icon'><span class='glyphicon glyphicon-cloud-download'></span></button>";
 
 ?>

+ 47 - 5
themes/default/css.php

@@ -569,6 +569,19 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
 		opacity: 1.0;
 		}
 
+/* ICONS *********************************************************************/
+
+	span.icon_glyphicon_body {
+		width: 16px;
+		height: 16px;
+		color: <?php echo ($_SESSION['theme']['body_icon_color']['text'] != '') ? $_SESSION['theme']['body_icon_color']['text'] : 'rgba(0,0,0,0.25)'; ?>;
+		border: 0;
+		}
+
+	span.icon_glyphicon_body:hover {
+		color: <?php echo ($_SESSION['theme']['body_icon_color_hover']['text'] != '') ? $_SESSION['theme']['body_icon_color_hover']['text'] : 'rgba(0,0,0,0.5)'; ?>;
+		}
+
 /* DOMAIN SELECTOR ***********************************************************/
 
 	#domains_container {
@@ -783,11 +796,13 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
 	input[type=text].txt,
 	input[type=number].txt,
 	input[type=password].txt,
+	label.txt,
 	select.formfld,
 	textarea.formfld,
 	input[type=text].formfld,
 	input[type=number].formfld,
-	input[type=password].formfld {
+	input[type=password].formfld,
+	label.formfld {
 		font-family: <?php echo ($_SESSION['theme']['input_text_font']['text'] != '') ? $_SESSION['theme']['input_text_font']['text'] : 'Arial'; ?>;
 		font-size: <?php echo ($_SESSION['theme']['input_text_size']['text'] != '') ? $_SESSION['theme']['input_text_size']['text'] : '12px'; ?>;
 		color: <?php echo ($_SESSION['theme']['input_text_color']['text'] != '') ? $_SESSION['theme']['input_text_color']['text'] : '#000000'; ?>;
@@ -847,10 +862,12 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
 	input[type=text].txt:hover,
 	input[type=number].txt:hover,
 	input[type=password].txt:hover,
+	label.txt:hover,
 	textarea.formfld:hover,
 	input[type=text].formfld:hover,
 	input[type=number].formfld:hover,
-	input[type=password].formfld:hover {
+	input[type=password].formfld:hover,
+	label.formfld:hover {
 		border-color: <?php echo ($_SESSION['theme']['input_border_color_hover']['text'] != '') ? $_SESSION['theme']['input_border_color_hover']['text'] : '#c0c0c0'; ?>;
 		}
 
@@ -858,10 +875,12 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
 	input[type=text].txt:focus,
 	input[type=number].txt:focus,
 	input[type=password].txt:focus,
+	label.txt:focus,
 	textarea.formfld:focus,
 	input[type=text].formfld:focus,
 	input[type=number].formfld:focus,
-	input[type=password].formfld:focus {
+	input[type=password].formfld:focus,
+	label.formfld:focus {
 		border-color: <?php echo ($_SESSION['theme']['input_border_color_focus']['text'] != '') ? $_SESSION['theme']['input_border_color_focus']['text'] : '#c0c0c0'; ?>;
 		/* first clear */
 		-webkit-box-shadow: none;
@@ -1030,9 +1049,30 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
 		}
 
 	span.playback_progress_bar {
-		background-color: #c43e42;
-		height: 1px;
+		background-color: #b90004;
+		width: 17px;
+		height: 4px;
+		margin-bottom: 3px;
 		display: block;
+		-moz-border-radius: 0 0 6px 6px;
+		-webkit-border-radius: 0 0 6px 6px;
+		-khtml-border-radius: 0 0 6px 6px;
+		border-radius: 0 0 6px 6px;
+		-webkit-box-shadow: 0 0 3px 0px rgba(255,0,0,0.9);
+		-moz-box-shadow: 0 0 3px 0px rgba(255,0,0,0.9);
+		box-shadow: 0 0 3px 0px rgba(255,0,0,0.9);
+		}
+
+	td.playback_progress_bar_background {
+		padding: 0;
+		border-bottom: none;
+		background-image: -ms-linear-gradient(top, rgba(0,0,0,0.15) 0%, transparent 100%);
+		background-image: -moz-linear-gradient(top, rgba(0,0,0,0.15) 0%, transparent 100%);
+		background-image: -o-linear-gradient(top, rgba(0,0,0,0.15) 0%, transparent 100%);
+		background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(0,0,0,0.15)), color-stop(1, transparent));
+		background-image: -webkit-linear-gradient(top, rgba(0,0,0,0.15) 0%, transparent 100%);
+		background-image: linear-gradient(to bottom, rgba(0,0,0,0.15) 0%, transparent 100%);
+		overflow: hidden;
 		}
 
 	div.pwstrength_progress {
@@ -1148,6 +1188,7 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
 		color: <?php echo ($_SESSION['theme']['form_table_label_text_color']['text'] != '') ? $_SESSION['theme']['form_table_label_text_color']['text'] : '#000000'; ?>;
 		font-family: <?php echo ($_SESSION['theme']['form_table_label_text_font']['text'] != '') ? $_SESSION['theme']['form_table_label_text_font']['text'] : 'Arial'; ?>;
 		font-size: <?php echo ($_SESSION['theme']['form_table_label_text_size']['text'] != '') ? $_SESSION['theme']['form_table_label_text_size']['text'] : '9pt'; ?>;
+		vertical-align: top;
 		}
 
 	.vncellreq { /* form_label_required */
@@ -1166,6 +1207,7 @@ $default_login = ($_REQUEST['login'] == 'default') ? true : false;
 		font-family: <?php echo ($_SESSION['theme']['form_table_label_text_font']['text'] != '') ? $_SESSION['theme']['form_table_label_text_font']['text'] : 'Arial'; ?>;
 		font-size: <?php echo ($_SESSION['theme']['form_table_label_text_size']['text'] != '') ? $_SESSION['theme']['form_table_label_text_size']['text'] : '9pt'; ?>;
 		font-weight: <?php echo ($_SESSION['theme']['form_table_label_required_text_weight']['text'] != '') ? $_SESSION['theme']['form_table_label_required_text_weight']['text'] : 'bold'; ?>;
+		vertical-align: top;
 		}
 
 	.vtable { /* form_field */

+ 9 - 2
themes/default/template.php

@@ -239,7 +239,7 @@
 			if (document.getElementById('recording_progress_bar_'+recording_id)) {
 				document.getElementById('recording_progress_bar_'+recording_id).style.display='';
 			}
-			recording_audio = document.getElementById('recording_audio_'+recording_id)
+			recording_audio = document.getElementById('recording_audio_'+recording_id);
 
 			if (recording_audio.paused) {
 				recording_audio.volume = 1;
@@ -252,7 +252,14 @@
 			}
 		}
 
+		function recording_stop(recording_id) {
+			recording_reset(recording_id);
+		}
+
 		function recording_reset(recording_id) {
+			recording_audio = document.getElementById('recording_audio_'+recording_id);
+			recording_audio.pause();
+			recording_audio.currentTime = 0;
 			if (document.getElementById('recording_progress_bar_'+recording_id)) {
 				document.getElementById('recording_progress_bar_'+recording_id).style.display='none';
 			}
@@ -266,7 +273,7 @@
 			if (recording_audio.currentTime > 0) {
 				value = (100 / recording_audio.duration) * recording_audio.currentTime;
 			}
-			recording_progress.style.width = value + "%";
+			recording_progress.style.marginLeft = value + "%";
 		}
 
 </script>