Cerothen 9 лет назад
Родитель
Сommit
d2a67e376c
2 измененных файлов с 34 добавлено и 23 удалено
  1. 13 15
      functions.php
  2. 21 8
      settings.php

+ 13 - 15
functions.php

@@ -1113,8 +1113,9 @@ function buildSettings($array) {
 					<div class="row">
 					<div class="row">
 						<div class="col-lg-12">
 						<div class="col-lg-12">
 							<form class="content-form" name="'.$pageID.'" id="'.$pageID.'_form" onsubmit="return false;">
 							<form class="content-form" name="'.$pageID.'" id="'.$pageID.'_form" onsubmit="return false;">
-								<input type="hidden" name="action" value="'.$pageID.'" />
-								'.$fields.'
+								<div style="position: relative; left: 2.5%; width: 95%;">
+									'.$fields.'
+								</div>
 								<div class="tabbable tabs-with-bg" id="'.$pageID.'_tabs">
 								<div class="tabbable tabs-with-bg" id="'.$pageID.'_tabs">
 									<ul class="nav nav-tabs apps">
 									<ul class="nav nav-tabs apps">
 										'.implode('', $tabSelectors).'
 										'.implode('', $tabSelectors).'
@@ -1150,6 +1151,7 @@ function buildSettings($array) {
 				}, \'json\');
 				}, \'json\');
 				return false;
 				return false;
 			});
 			});
+			'.(isset($array['onready'])?$array['onready']:'').'
 		});
 		});
 	</script>
 	</script>
 	';
 	';
@@ -1186,10 +1188,11 @@ function buildField($params) {
 	$label = (isset($params['labelTranslate'])?translate($params['labelTranslate']):(isset($params['label'])?$params['label']:''));
 	$label = (isset($params['labelTranslate'])?translate($params['labelTranslate']):(isset($params['label'])?$params['label']:''));
 	
 	
 	switch ($params['type']) {
 	switch ($params['type']) {
-		case 'input':
 		case 'text':
 		case 'text':
+		case 'number':
+		case 'password':
 			$field = '
 			$field = '
-			<input id="'.$id.'" name="'.$name.'" type="text" class="form-control material input-sm'.$class.'" '.implode(' ',$tags).' autocorrect="off" autocapitalize="off" value="'.$val.'">
+			<input id="'.$id.'" name="'.$name.'" type="'.$params['type'].'" class="form-control material input-sm'.$class.'" '.implode(' ',$tags).' autocorrect="off" autocapitalize="off" value="'.$val.'">
 			';
 			';
 			break;
 			break;
 		case 'select':
 		case 'select':
@@ -1206,22 +1209,17 @@ function buildField($params) {
 			<input id="'.$id.'_disabled" name="'.$name.'" type="hidden" class="switcher switcher-success" value="false">
 			<input id="'.$id.'_disabled" name="'.$name.'" type="hidden" class="switcher switcher-success" value="false">
 			<input id="'.$id.'" name="'.$name.'" type="checkbox" class="switcher switcher-success'.$class.'" '.implode(' ',$tags).' value="'.$val.'"'.$checked.'><label for="'.$id.'"></label>'.$label.'
 			<input id="'.$id.'" name="'.$name.'" type="checkbox" class="switcher switcher-success'.$class.'" '.implode(' ',$tags).' value="'.$val.'"'.$checked.'><label for="'.$id.'"></label>'.$label.'
 			';
 			';
-			break;
 		case 'date':
 		case 'date':
 			$field = '
 			$field = '
 			
 			
 			';
 			';
 			break;
 			break;
-		case 'number':
-			$field = '
-			<input id="'.$id.'" name="'.$name.'" type="number" class="form-control material input-sm'.$class.'" '.implode(' ',$tags).' autocorrect="off" autocapitalize="off" value="'.$val.'">
-			';
-			break;
-		case 'password':
-			$field = '
-			<input id="'.$id.'" name="'.$name.'" type="password" class="form-control material input-sm'.$class.'" '.implode(' ',$tags).' autocorrect="off" autocapitalize="off" value="'.$val.'">
-			';
-			break;
+		case 'hidden':
+			return '<input id="'.$id.'" name="'.$name.'" type="hidden" class="'.$class.'" '.implode(' ',$tags).' value="'.$val.'">';
+		case 'header':
+			return '<h3 class="'.$class.'" '.implode(' ',$tags).'>'.$val.'</h3>';
+		case 'button':
+			return '<button id="'.$id.'" type="button" class="btn waves btn-labeled btn-success btn btn-sm text-uppercase waves-effect waves-float'.$class.'"><span class="btn-label"><i class="fa fa-flask" '.implode(' ',$tags).'></i></span>'.$label.'</button>';
 		default:
 		default:
 			$field = '';
 			$field = '';
 	}
 	}

+ 21 - 8
settings.php

@@ -1621,7 +1621,12 @@ echo buildSettings(
 	array(
 	array(
 		'title' => 'Advanced Settings',
 		'title' => 'Advanced Settings',
 		'id' => 'advanced_settings',
 		'id' => 'advanced_settings',
+		'onready' => '$(\'.be-auth\').each(function() { $(this).parent().hide(); }); $(\'.be-auth-\'+$(\'#authBackend_id\').val()).each(function() { $(this).parent().show(); });',
 		'fields' => array(
 		'fields' => array(
+			array(
+				'type' => 'header',
+				'value' => "General",
+			),
 			array(
 			array(
 				'type' => 'text',
 				'type' => 'text',
 				'labelTranslate' => 'REGISTER_PASSWORD',
 				'labelTranslate' => 'REGISTER_PASSWORD',
@@ -1629,13 +1634,6 @@ echo buildSettings(
 				//'pattern' => '[a-zA-Z0-9]{32}',
 				//'pattern' => '[a-zA-Z0-9]{32}',
 				'value' => REGISTERPASSWORD,
 				'value' => REGISTERPASSWORD,
 			),
 			),
-			array(
-				'type' => 'checkbox',
-				'labelTranslate' => 'MULTIPLE_LOGINS',
-				'name' => 'multipleLogin',
-				//'pattern' => '[a-zA-Z0-9]{32}',
-				'value' => MULTIPLELOGIN,
-			),
 			array(
 			array(
 				'type' => 'text',
 				'type' => 'text',
 				'labelTranslate' => 'COOKIE_DOMAIN',
 				'labelTranslate' => 'COOKIE_DOMAIN',
@@ -1650,6 +1648,13 @@ echo buildSettings(
 				//'pattern' => '[a-zA-Z0-9]{32}',
 				//'pattern' => '[a-zA-Z0-9]{32}',
 				'value' => (empty(COOKIEPASSWORD)?'':randString(20)),
 				'value' => (empty(COOKIEPASSWORD)?'':randString(20)),
 			),
 			),
+			array(
+				'type' => 'checkbox',
+				'labelTranslate' => 'MULTIPLE_LOGINS',
+				'name' => 'multipleLogin',
+				//'pattern' => '[a-zA-Z0-9]{32}',
+				'value' => MULTIPLELOGIN,
+			),
 		),
 		),
 		'tabs' => array(
 		'tabs' => array(
 			array(
 			array(
@@ -1672,6 +1677,7 @@ echo buildSettings(
 						'type' => 'select',
 						'type' => 'select',
 						'labelTranslate' => 'AUTHBACKEND',
 						'labelTranslate' => 'AUTHBACKEND',
 						'name' => 'authBackend',
 						'name' => 'authBackend',
+						'onchange' => '$(\'.be-auth\').each(function() { $(this).parent().hide(); }); $(\'.be-auth-\'+this.value).each(function() { $(this).parent().show(); });',
 						'value' => AUTHBACKEND,
 						'value' => AUTHBACKEND,
 						'options' => $backendOptions,
 						'options' => $backendOptions,
 					),
 					),
@@ -1691,15 +1697,17 @@ echo buildSettings(
 						'labelTranslate' => 'AUTHBACKENDHOST',
 						'labelTranslate' => 'AUTHBACKENDHOST',
 						'assist' => 'http(s)://hostname:8181 | Ldap(s)://localhost:389 | ftp(s)://localhost:21',
 						'assist' => 'http(s)://hostname:8181 | Ldap(s)://localhost:389 | ftp(s)://localhost:21',
 						'name' => 'authBackendHost',
 						'name' => 'authBackendHost',
+						'class' => 'be-auth be-auth-emby_local be-auth-emby_all be-auth-emby_connect be-auth-ftp be-auth-ldap',
 						'pattern' => $urlPattern,
 						'pattern' => $urlPattern,
 						'value' => AUTHBACKENDHOST,
 						'value' => AUTHBACKENDHOST,
 					),
 					),
 					array(
 					array(
-						'type' => 'text',
+						'type' => 'number',
 						'placeholder' => 'DEPRECIATED',
 						'placeholder' => 'DEPRECIATED',
 						'labelTranslate' => 'AUTHBACKENDPORT',
 						'labelTranslate' => 'AUTHBACKENDPORT',
 						'assist' => 'DEPRECIATED',
 						'assist' => 'DEPRECIATED',
 						'name' => 'authBackendPort',
 						'name' => 'authBackendPort',
+						'class' => 'be-auth be-auth-emby_local be-auth-emby_all be-auth-emby_connect be-auth-ftp be-auth-ldap',
 						'value' => AUTHBACKENDPORT,
 						'value' => AUTHBACKENDPORT,
 					),
 					),
 					array(
 					array(
@@ -1707,6 +1715,7 @@ echo buildSettings(
 						'placeholder' => 'domain',
 						'placeholder' => 'domain',
 						'labelTranslate' => 'AUTHBACKENDDOMAIN',
 						'labelTranslate' => 'AUTHBACKENDDOMAIN',
 						'name' => 'authBackendDomain',
 						'name' => 'authBackendDomain',
+						'class' => 'be-auth be-auth-ldap',
 						'value' => AUTHBACKENDDOMAIN,
 						'value' => AUTHBACKENDDOMAIN,
 					),
 					),
 					array(
 					array(
@@ -1714,6 +1723,7 @@ echo buildSettings(
 						'placeholder' => randString(32),
 						'placeholder' => randString(32),
 						'labelTranslate' => 'EMBY_TOKEN',
 						'labelTranslate' => 'EMBY_TOKEN',
 						'name' => 'plexToken',
 						'name' => 'plexToken',
+						'class' => 'be-auth be-auth-emby_all be-auth-emby_connect',
 						'pattern' => '[a-zA-Z0-9]{32}',
 						'pattern' => '[a-zA-Z0-9]{32}',
 						'value' => EMBYTOKEN,
 						'value' => EMBYTOKEN,
 					),
 					),
@@ -1721,6 +1731,7 @@ echo buildSettings(
 						'type' => 'text',
 						'type' => 'text',
 						'labelTranslate' => 'PLEX_USERNAME',
 						'labelTranslate' => 'PLEX_USERNAME',
 						'name' => 'plexUsername',
 						'name' => 'plexUsername',
+						'class' => 'be-auth be-auth-plex',
 						//'pattern' => '[a-zA-Z0-9]{32}',
 						//'pattern' => '[a-zA-Z0-9]{32}',
 						'value' => PLEXUSERNAME,
 						'value' => PLEXUSERNAME,
 					),
 					),
@@ -1728,6 +1739,7 @@ echo buildSettings(
 						'type' => 'password',
 						'type' => 'password',
 						'labelTranslate' => 'PLEX_PASSWORD',
 						'labelTranslate' => 'PLEX_PASSWORD',
 						'name' => 'plexPassword',
 						'name' => 'plexPassword',
+						'class' => 'be-auth be-auth-plex',
 						//'pattern' => '[a-zA-Z0-9]{32}',
 						//'pattern' => '[a-zA-Z0-9]{32}',
 						'value' => (empty(PLEXPASSWORD)?'':randString(20)),
 						'value' => (empty(PLEXPASSWORD)?'':randString(20)),
 					),
 					),
@@ -1840,6 +1852,7 @@ echo buildSettings(
 						'type' => 'select',
 						'type' => 'select',
 						'labelTranslate' => 'NOTIFICATION_TYPE',
 						'labelTranslate' => 'NOTIFICATION_TYPE',
 						'name' => 'notifyEffect',
 						'name' => 'notifyEffect',
+						'onchange' => 'parent.notify(\'This is an example popup!\', \'fa-bullhorn\', \'success\', 4000, this.value.split(\'-\')[0], this.value.split(\'-\')[1]);',
 						'value' => explode("-", NOTIFYEFFECT)[1],
 						'value' => explode("-", NOTIFYEFFECT)[1],
 						'options' => array(
 						'options' => array(
 							'Slide From Top' => 'bar-slidetop',
 							'Slide From Top' => 'bar-slidetop',