diff --git a/emhttp/plugins/dynamix.plugin.manager/scripts/language b/emhttp/plugins/dynamix.plugin.manager/scripts/language index 12a942750..91f1f8400 100755 --- a/emhttp/plugins/dynamix.plugin.manager/scripts/language +++ b/emhttp/plugins/dynamix.plugin.manager/scripts/language @@ -8,6 +8,7 @@ $docroot ??= ($_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp'); require_once "$docroot/webGui/include/Wrappers.php"; +$logger = 'language-manager'; $usage = <<SHA256) { - logger("checking: $name - SHA256"); + my_logger("checking: $name - SHA256", $logger); if (hash_file('sha256', $name) != $file->SHA256) { unlink($name); } } elseif ($file->MD5) { - logger("checking: $name - MD5"); + my_logger("checking: $name - MD5", $logger); if (md5_file($name) != $file->MD5) { unlink($name); } @@ -396,12 +394,12 @@ function plugin($method, $plugin_file, &$error) { // If file already exists, do not overwrite // if (file_exists($name)) { - logger("skipping: $name already exists"); + my_logger("skipping: $name already exists", $logger); } elseif ($file->LOCAL) { // Create the file // // for local file, just copy it - logger("creating: $name - copying LOCAL file $file->LOCAL"); + my_logger("creating: $name - copying LOCAL file $file->LOCAL", $logger); if (!copy($file->LOCAL, $name)) { $error = "unable to copy LOCAL file: $name"; @unlink($name); @@ -409,10 +407,10 @@ function plugin($method, $plugin_file, &$error) { } } elseif ($file->INLINE) { // for inline file, create with inline contents - logger("creating: $name - from INLINE content"); + my_logger("creating: $name - from INLINE content", $logger); $contents = trim($file->INLINE).PHP_EOL; if ($file->attributes()->Type == 'base64') { - logger("decoding: $name as base64"); + my_logger("decoding: $name as base64", $logger); $contents = base64_decode($contents); if ($contents === false) { $error = "unable to decode inline base64: $name"; @@ -426,20 +424,20 @@ function plugin($method, $plugin_file, &$error) { } } elseif ($file->URL) { // for download file, download and maybe verify the file MD5 - logger("creating: $name - downloading from URL $file->URL"); + my_logger("creating: $name - downloading from URL $file->URL", $logger); if ( (download($file->URL, $name, $error) === false) && (download(filter_url($file->URL), $name, $error) === false) ) { @unlink($name); return false; } if ($file->SHA256) { - logger("checking: $name - SHA256"); + my_logger("checking: $name - SHA256", $logger); if (hash_file('sha256', $name) != $file->SHA256) { $error = "bad file SHA256: $name"; unlink($name); return false; } } elseif ($file->MD5) { - logger("checking: $name - MD5"); + my_logger("checking: $name - MD5", $logger); if (md5_file($name) != $file->MD5) { $error = "bad file MD5: $name"; unlink($name); @@ -452,7 +450,7 @@ function plugin($method, $plugin_file, &$error) { if ($file->attributes()->Mode) { // if file has 'Mode' attribute, apply it $mode = $file->attributes()->Mode; - logger("setting: $name - mode to $mode"); + my_logger("setting: $name - mode to $mode", $logger); if (!chmod($name, octdec($mode))) { $error = "chmod failure: $name"; return false; @@ -464,13 +462,13 @@ function plugin($method, $plugin_file, &$error) { if ($file->attributes()->Run) { $command = $file->attributes()->Run; if ($name) { - logger("running: $command $name"); + my_logger("running: $command $name", $logger); $retval = run("$command $name"); } elseif ($file->LOCAL) { - logger("running: $command $file->LOCAL"); + my_logger("running: $command $file->LOCAL", $logger); $retval = run("$command $file->LOCAL"); } elseif ($file->INLINE) { - logger("running: 'anonymous'"); + my_logger("running: 'anonymous'", $logger); $name = '/tmp/inline.sh'; file_put_contents($name, $file->INLINE); $retval = run("$command $name"); @@ -718,10 +716,10 @@ if ($method == 'install') { if ($target != $plugin_file) copy($plugin_file, $target); symlink($target, $symlink); write("plugin: $plugin installed\n"); - logger("$plugin installed"); + my_logger("$plugin installed", $logger); } else { write("script: $plugin executed\n"); - logger("script: $plugin executed"); + my_logger("script: $plugin executed", $logger); } // run hook scripts for post processing post_hooks(); @@ -835,7 +833,7 @@ if ($method == 'update') { copy($plugin_file, $target); symlink($target, $symlink); write("plugin: $plugin updated\n"); - logger("$plugin updated"); + my_logger("$plugin updated", $logger); // run hook scripts for post processing post_hooks(); done(0); @@ -867,7 +865,7 @@ if ($method == 'remove') { // remove the plugin file move($installed_plugin_file, "$boot-removed"); write("plugin: $plugin removed\n"); - logger("$plugin removed"); + my_logger("$plugin removed", $logger); exec("/usr/local/sbin/update_cron"); // run hook scripts for post processing post_hooks(); diff --git a/emhttp/plugins/dynamix/images/feedback_bugreport.png b/emhttp/plugins/dynamix/images/feedback_bugreport.png index f2e1aad0e..db645c415 100644 Binary files a/emhttp/plugins/dynamix/images/feedback_bugreport.png and b/emhttp/plugins/dynamix/images/feedback_bugreport.png differ diff --git a/emhttp/plugins/dynamix/images/feedback_comment.png b/emhttp/plugins/dynamix/images/feedback_comment.png index 5450b83f9..117aa45b4 100644 Binary files a/emhttp/plugins/dynamix/images/feedback_comment.png and b/emhttp/plugins/dynamix/images/feedback_comment.png differ diff --git a/emhttp/plugins/dynamix/images/feedback_error.png b/emhttp/plugins/dynamix/images/feedback_error.png new file mode 100644 index 000000000..94d857fa6 Binary files /dev/null and b/emhttp/plugins/dynamix/images/feedback_error.png differ diff --git a/emhttp/plugins/dynamix/images/feedback_featurerequest.png b/emhttp/plugins/dynamix/images/feedback_featurerequest.png index 372bc14a4..1da5c9de3 100644 Binary files a/emhttp/plugins/dynamix/images/feedback_featurerequest.png and b/emhttp/plugins/dynamix/images/feedback_featurerequest.png differ diff --git a/emhttp/plugins/dynamix/images/feedback_troubleshoot.png b/emhttp/plugins/dynamix/images/feedback_troubleshoot.png new file mode 100644 index 000000000..2ccf15169 Binary files /dev/null and b/emhttp/plugins/dynamix/images/feedback_troubleshoot.png differ diff --git a/emhttp/plugins/dynamix/images/linc_station_n1_black.png b/emhttp/plugins/dynamix/images/linc_station_n1_black.png new file mode 100644 index 000000000..7eaac04c2 Binary files /dev/null and b/emhttp/plugins/dynamix/images/linc_station_n1_black.png differ diff --git a/emhttp/plugins/dynamix/images/linc_station_n1_white.png b/emhttp/plugins/dynamix/images/linc_station_n1_white.png new file mode 100644 index 000000000..afbf34bd9 Binary files /dev/null and b/emhttp/plugins/dynamix/images/linc_station_n1_white.png differ diff --git a/emhttp/plugins/dynamix/include/DefaultPageLayout.php b/emhttp/plugins/dynamix/include/DefaultPageLayout.php index 3f11c03d2..31e5a0a7c 100644 --- a/emhttp/plugins/dynamix/include/DefaultPageLayout.php +++ b/emhttp/plugins/dynamix/include/DefaultPageLayout.php @@ -388,7 +388,7 @@ function openChanges(cmd,title,nchan,button=0) { $('div.spinner.fixed').hide(); swal({title:title,text:"

",html:true,animation:'none',showConfirmButton:button!=0,confirmButtonText:""},function(close){ $('.sweet-alert').hide('fast').removeClass('nchan'); - if ($('#submit-button').length > 0) $('#submit-button').remove(); + if ($('#submit_button').length > 0) $('#submit_button').remove(); }); $('.sweet-alert').addClass('nchan'); $('pre#swalbody').html(data); @@ -679,7 +679,7 @@ foreach ($buttons as $button) { if (isset($button['Nchan'])) nchan_merge($button['root'], $button['Nchan']); } -echo ""; +echo ""; if ($themes2) echo ""; echo ""; diff --git a/emhttp/plugins/dynamix/include/Wrappers.php b/emhttp/plugins/dynamix/include/Wrappers.php index f97b1ab8d..7e3f293c8 100644 --- a/emhttp/plugins/dynamix/include/Wrappers.php +++ b/emhttp/plugins/dynamix/include/Wrappers.php @@ -146,7 +146,7 @@ function my_date($fmt, $time) { return date(strtr($fmt,$legacy), $time); } // ensure params passed to logger are properly escaped -function my_logger($message, $tag="webgui") { - exec('logger -t '.escapeshellarg($tag).' -- '.escapeshellarg($message)); +function my_logger($message, $logger='webgui') { + exec('logger -t '.escapeshellarg($logger).' -- '.escapeshellarg($message)); } ?> diff --git a/emhttp/plugins/dynamix/scripts/feedback b/emhttp/plugins/dynamix/scripts/feedback index 4b7c775b5..615a49661 100755 --- a/emhttp/plugins/dynamix/scripts/feedback +++ b/emhttp/plugins/dynamix/scripts/feedback @@ -1,7 +1,7 @@ #!/usr/bin/php -q - - - - - Feedback Form - - - -
-
- - - - -
-
-
-
- -
- -
-
- - - -

: .

-
-
- - - - -

: .

-
-
- -
- -
- -
- - - + return; + } + params.description = $(tab).val(); + params.email = $('input#email').val(); + params.timestamp = ""; + params.osversion = ""; + params.keyfile = ""; + params.pageurl = window.top.location.href; + $.post(url, params, function(data){ + $('div.spinner.fixed').hide(); + if (data.error) { + var reply = "


.

"; + $('#result_panel').html(reply).fadeIn('fast'); + } else { + var name = tab.substr(1).toLowerCase(); + var reply = "


"+(data.message||'')+"

"; + $('#result_panel').html(reply).fadeIn('fast'); + } + }).fail(function(jqXHR, textStatus, errorThrown){ + if (jqXHR.responseJSON && jqXHR.responseJSON.error) { + errorThrown = jqXHR.responseJSON.error; + } + var reply = "


.

"; + $('#result_panel').html(reply).fadeIn('fast'); + }).always(function(){ + $('#spinner_image').fadeOut('fast'); + panel.fadeOut('fast').find('textarea').prop('disabled',false); + }); +} + +$(function(){ + $('button.confirm').text(""); + if ($('#submit_button').length == 0) $('button.confirm').before(''); + + $('input[name=mode]').click(function(){ + var tab = '#'+$('input[name=mode]:checked').val(); + var panel = tab+'_panel'; + var enter = ['#troubleshoot'].includes(tab); + var email = " ("+(enter ? "" : "")+")"; + $('input#email').prop('placeholder',email).prop('required',enter); + $('#submit_button').prop('disabled',validInput($(tab))); + $('.allpanels').not(panel).fadeOut('fast'); + $(panel).fadeIn('fast'); + }); + + $('textarea').on('input change',function(){ + $('#submit_button').prop('disabled',validInput($(this))); + }); + + $('input#email').on('input change',function(){ + var tab = '#'+$('input[name=mode]:checked').val(); + $('#submit_button').prop('disabled',validInput($(tab))); + }); + + $('#submit_button').click(function(){ + var url = 'https://keys.lime-technology.com/feedback/'; + var tab = '#'+$('input[name=mode]:checked').val(); + switch (tab) { + case '#featurerequest': + form_submit(url+'featurerequest',{},tab); + break; + case '#bugreport': + form_submit(url+'bugreport',{},tab,1); + break; + case '#troubleshoot': + // @todo - update this to use a new troubleshoot endpoint + form_submit(url+'bugreport',{},tab,1); + break; + case '#comment': + form_submit(url+'comment',{},tab); + break; + } + }); + + feedback_reset(); + $('#opt_featurerequest').click(); +}); + diff --git a/emhttp/plugins/dynamix/scripts/parity_history b/emhttp/plugins/dynamix/scripts/parity_history index 2a812f4b1..b299009b0 100755 --- a/emhttp/plugins/dynamix/scripts/parity_history +++ b/emhttp/plugins/dynamix/scripts/parity_history @@ -1,7 +1,7 @@ #!/usr/bin/php -q '-01-',' Feb '=>'-02-',' Mar '=>'-03-',' Apr '=>'-04-',' May '=>'-05-',' Jun '=>'-06-',' Jul '=>'-07-',' Aug '=>'-08-',' Sep '=>'-09-',' Oct '=>'-10-',' Nov '=>'-11-',' Dec '=>'-12-']; +$log = "/boot/config/parity-checks.log"; +$list = []; function this_plus($val, $word, $last) { return $val>0 ? (($val||$last)?($val.' '.$word.($last?'':', ')):'') : ''; @@ -35,10 +37,10 @@ function this_duration($time) { $secs = $hmss%60; return this_plus($days,_('day'),($hour|$mins|$secs)==0).this_plus($hour,_('hr'),($mins|$secs)==0).this_plus($mins,_('min'),$secs==0).this_plus($secs,_('sec'),true); } -$log = "/boot/config/parity-checks.log"; -$head = ""; -$list = []; - +?> +
"._('Action').""._('Date').""._('Size').""._('Duration').""._('Speed').""._('Status').""._('Errors')."
+ +"; + array_unshift($list, ""); } fclose($handle); } -if ($list) { - $list = array_reverse($list); -} else { - $list[] = ""; -} -echo $head,implode($list),"
$action$date$size$duration$speed$status$error
$action$date$size$duration$speed$status$error
"._('No parity check history present')."!
"; +echo $list ? implode($list) : ""._('No parity check history present')."!"; ?> + diff --git a/emhttp/plugins/dynamix/scripts/select_case b/emhttp/plugins/dynamix/scripts/select_case index ce4cfbf8f..0c05052af 100755 --- a/emhttp/plugins/dynamix/scripts/select_case +++ b/emhttp/plugins/dynamix/scripts/select_case @@ -1,7 +1,7 @@ #!/usr/bin/php -q + -$style = [""; + -$script = [""; - -$html = ["
"]; +
+
$title
"; + echo "
$title
\n"; } $select = $cmodel=='case-model.png' ? 'color:#e68a00' : ''; -$html[] = "
"._('custom image')."
"; -$html[] = "
"; -$html[] = ""; -$html[] = ""; - -echo implode($style),implode($script),implode($html); ?> +
+ + + diff --git a/emhttp/plugins/dynamix/scripts/system_information b/emhttp/plugins/dynamix/scripts/system_information index 36ee74fc8..51b929d96 100755 --- a/emhttp/plugins/dynamix/scripts/system_information +++ b/emhttp/plugins/dynamix/scripts/system_information @@ -1,7 +1,7 @@ #!/usr/bin/php -q = 1024) { // If maximum < installed then roundup maximum to the next power of 2 size of installed. E.g. 6 -> 8 or 12 -> 16 $low = $memory_maximum < $memory_installed; if ($low) $memory_maximum = pow(2,ceil(log($memory_installed)/log(2))); +?> + -$style = ""; - -$list = []; -$list[] = ""; -$list[] = ""; -$list[] = ""; -$list[] = ""; -$list[] = ""; -$list[] = ""; -$list[] = ""; -$list[] = ""; - +
"._('Model').":$model
".('M/B').":{$board['Manufacturer']} {$board['Product Name']} {$board['Version']} {$board['Serial Number']}
"._('BIOS').":{$bios['Vendor']} {$bios['Version']} {$bios['Release Date']}
"._('CPU').":$cpumodel {$cpu['Current Speed']}
"._('HVM').":$hvm
"._('IOMMU').":$iommu
"._('Cache').":".implode(', ',$cache_installed)."
$memory$memory_installed $unit $memory_type $ecc("._('max. installable capacity')." $memory_maximum $unit".($low?'*':'').")
+ + + + + + + + +"; + echo ""; } exec("ls --indicator-style=none /sys/class/net|grep -Po '^(bond|eth)\d+$'",$sPorts); @@ -167,24 +172,22 @@ foreach ($sPorts as $port) { if (substr($port,0,4)=='bond') { if ($link) { $bond_mode = str_replace('Bonding Mode: ','',file("/proc/net/bonding/$port",FILE_IGNORE_NEW_LINES|FILE_SKIP_EMPTY_LINES)[1]); - $list[] = ""; + echo ""; } else { - $list[] = ""; + echo ""; } } else { if ($link) { $speed = file_get_contents("$int/speed"); $duplex = file_get_contents("$int/duplex"); - $list[] = ""; + echo ""; } else { - $list[] = ""; + echo ""; } } } - -$list[] = ""; -$list[] = ""; -$list[] = "
:
:
:
:
:
:
:
)
".$device['Locator'].": "._var($device,'Manufacturer')." "._var($device,'Part Number').", $size "._var($device,'Type')." @ "._var($device,'Configured Memory Speed')."
",$device['Locator'],": ",_var($device,'Manufacturer')," ",_var($device,'Part Number'),", $size ",_var($device,'Type')," @ ",_var($device,'Configured Memory Speed'),"
$name$port: $bond_mode, mtu $mtu
$name$port: $bond_mode, mtu $mtu
$name$port: "._("bond down")."
$name$port: ",_('bond down'),"
$name$port: $speed Mbps, $duplex duplex, mtu $mtu
$name$port: $speed Mbps, $duplex duplex, mtu $mtu
$name$port: "._("interface down")."
$name$port: ",_('interface down'),"
"._('Kernel').":$kernel
"._('OpenSSL').":$openssl
"._('Uptime').":
"; - -echo $style,implode($list); ?> +: +: +: + diff --git a/emhttp/plugins/dynamix/scripts/wg_config b/emhttp/plugins/dynamix/scripts/wg_config index 10c0490c5..b049fb1ca 100755 --- a/emhttp/plugins/dynamix/scripts/wg_config +++ b/emhttp/plugins/dynamix/scripts/wg_config @@ -1,7 +1,7 @@ #!/usr/bin/php -q + -$style = [""; + -$script = [""; - -$html = []; -$html[] = "

".($argv[2] ? _('Remote peer configuration') : _('Local server configuration'))."

"; -$html[] = "
"; -$html[] = "
";
-$html[] = @file_get_contents("$path/$file.conf");
-$html[] = "\n";
-$html[] = "
"; +

+
','.zip')">
+
+"; + echo ""; } - -echo implode($style),implode($script),implode($html); ?> diff --git a/emhttp/plugins/dynamix/styles/default-azure.css b/emhttp/plugins/dynamix/styles/default-azure.css index afec55fc7..a2f3c810f 100644 --- a/emhttp/plugins/dynamix/styles/default-azure.css +++ b/emhttp/plugins/dynamix/styles/default-azure.css @@ -25,14 +25,14 @@ pre li{margin:0;padding-top:0;padding-bottom:0;padding-left:18px} big{font-size:1.4rem;font-weight:bold;text-transform:uppercase} hr{border:none;height:1px!important;color:#606e7f;background-color:#606e7f} input[type=text],input[type=password],input[type=number],input[type=url],input[type=email],input[type=date],input[type=file],textarea,.textarea{font-family:clear-sans;font-size:1.3rem;background-color:transparent;border:1px solid #606e7f;padding:5px 6px;min-height:2rem;line-height:2rem;outline:none;width:300px;margin:0 20px 0 0;box-shadow:none;border-radius:0;color:#606e7f} -input[type=button],input[type=reset],input[type=submit],button,button[type=button],a.button{font-family:clear-sans;font-size:1.2rem;border:1px solid #9f9180;border-radius:5px;min-width:76px;margin:10px 12px 10px 0;padding:8px;text-align:center;cursor:pointer;outline:none;color:#9f9180;background-color:#edeaef} +input[type=button],input[type=reset],input[type=submit],button,button[type=button],a.button,.sweet-alert button{font-family:clear-sans;font-size:1.2rem;border:1px solid #9f9180;border-radius:5px;min-width:76px;margin:10px 12px 10px 0;padding:8px;text-align:center;cursor:pointer;outline:none;color:#9f9180;background-color:#edeaef} input[type=checkbox]{vertical-align:middle;margin-right:6px} input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none} input[type=number]{-moz-appearance:textfield} -input:focus[type=text],input:focus[type=password],input:focus[type=number],input:focus[type=url],input:focus[type=email],input:focus[type=file],textarea:focus{background-color:#edeaef;border-color:#0072c6} -input:hover[type=button],input:hover[type=reset],input:hover[type=submit],button:hover,button:hover[type=button],a.button:hover{border-color:#0072c6;color:#4f4f4f} -input:active[type=button],input:active[type=reset],input:active[type=submit],button:active,button:active[type=button],a.button:active{border-color:#0072c6;box-shadow:none} -input[disabled],button[disabled],input:hover[type=button][disabled],input:hover[type=reset][disabled],input:hover[type=submit][disabled],button:hover[disabled],button:hover[type=button][disabled],input:active[type=button][disabled],input:active[type=reset][disabled],input:active[type=submit][disabled],button:active[disabled],button:active[type=button][disabled],textarea[disabled]{color:#808080;border-color:#808080;background-color:#c7c5cb;opacity:0.5;cursor:default} +input:focus[type=text],input:focus[type=password],input:focus[type=number],input:focus[type=url],input:focus[type=email],input:focus[type=file],textarea:focus,.sweet-alert button:focus{background-color:#edeaef;border-color:#0072c6} +input:hover[type=button],input:hover[type=reset],input:hover[type=submit],button:hover,button:hover[type=button],a.button:hover,.sweet-alert button:hover{border-color:#0072c6;color:#4f4f4f;background-color:#edeaef!important} +input:active[type=button],input:active[type=reset],input:active[type=submit],button:active,button:active[type=button],a.button:active,.sweet-alert button:active{border-color:#0072c6;box-shadow:none} +input[disabled],button[disabled],input:hover[type=button][disabled],input:hover[type=reset][disabled],input:hover[type=submit][disabled],button:hover[disabled],button:hover[type=button][disabled],input:active[type=button][disabled],input:active[type=reset][disabled],input:active[type=submit][disabled],button:active[disabled],button:active[type=button][disabled],textarea[disabled],.sweet-alert button[disabled]{color:#808080;border-color:#808080;background-color:#c7c5cb;opacity:0.5;cursor:default} input::-webkit-input-placeholder{color:#00529b} select{-webkit-appearance:none;font-family:clear-sans;font-size:1.3rem;min-width:188px;max-width:314px;padding:6px 14px 6px 6px;margin:0 10px 0 0;border:1px solid #606e7f;box-shadow:none;border-radius:0;color:#606e7f;background-color:transparent;background-image:linear-gradient(66.6deg, transparent 60%, #606e7f 40%),linear-gradient(113.4deg, #606e7f 40%, transparent 60%);background-position:calc(100% - 8px),calc(100% - 4px);background-size:4px 6px,4px 6px;background-repeat:no-repeat;outline:none;display:inline-block;cursor:pointer} select option{color:#606e7f;background-color:#edeaef} diff --git a/emhttp/plugins/dynamix/styles/default-black.css b/emhttp/plugins/dynamix/styles/default-black.css index 885a818eb..75ddddfa5 100644 --- a/emhttp/plugins/dynamix/styles/default-black.css +++ b/emhttp/plugins/dynamix/styles/default-black.css @@ -22,16 +22,16 @@ i.control{cursor:pointer;color:#606060;font-size:1.8rem} i.favo{display:none;font-size:1.8rem;position:absolute;margin-left:12px} hr{border:none;height:1px!important;color:#2b2b2b;background-color:#2b2b2b} input[type=text],input[type=password],input[type=number],input[type=url],input[type=email],input[type=date],input[type=file],textarea,.textarea{font-family:clear-sans;font-size:1.3rem;background-color:transparent;border:none;border-bottom:1px solid #e5e5e5;padding:4px 0;text-indent:0;min-height:2rem;line-height:2rem;outline:none;width:300px;margin:0 20px 0 0;box-shadow:none;border-radius:0;color:#f2f2f2} -input[type=button],input[type=reset],input[type=submit],button,button[type=button],a.button{font-family:clear-sans;font-size:1.1rem;font-weight:bold;letter-spacing:1.8px;text-transform:uppercase;min-width:86px;margin:10px 12px 10px 0;padding:8px;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;outline:none;border-radius:4px;border:none;color:#ff8c2f;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#e22828),to(#e22828)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#ff8c2f),to(#ff8c2f)) 100% 100% no-repeat;background:linear-gradient(90deg,#e22828 0,#ff8c2f) 0 0 no-repeat,linear-gradient(90deg,#e22828 0,#ff8c2f) 0 100% no-repeat,linear-gradient(0deg,#e22828 0,#e22828) 0 100% no-repeat,linear-gradient(0deg,#ff8c2f 0,#ff8c2f) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%} +input[type=button],input[type=reset],input[type=submit],button,button[type=button],a.button,.sweet-alert button{font-family:clear-sans;font-size:1.1rem;font-weight:bold;letter-spacing:1.8px;text-transform:uppercase;min-width:86px;margin:10px 12px 10px 0;padding:8px;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;outline:none;border-radius:4px;border:none;color:#ff8c2f;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#e22828),to(#e22828)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#ff8c2f),to(#ff8c2f)) 100% 100% no-repeat;background:linear-gradient(90deg,#e22828 0,#ff8c2f) 0 0 no-repeat,linear-gradient(90deg,#e22828 0,#ff8c2f) 0 100% no-repeat,linear-gradient(0deg,#e22828 0,#e22828) 0 100% no-repeat,linear-gradient(0deg,#ff8c2f 0,#ff8c2f) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%} input[type=checkbox]{vertical-align:middle;margin-right:6px} input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance: none} input[type=number]{-moz-appearance:textfield} -input:focus[type=text],input:focus[type=password],input:focus[type=number],input:focus[type=url],input:focus[type=email],input:focus[type=file],textarea:focus{background-color:#262626;outline:0} -input:hover[type=button],input:hover[type=reset],input:hover[type=submit],button:hover,button:hover[type=button],a.button:hover{color:#f2f2f2;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f));background:linear-gradient(90deg,#e22828 0,#ff8c2f)} +input:focus[type=text],input:focus[type=password],input:focus[type=number],input:focus[type=url],input:focus[type=email],input:focus[type=file],textarea:focus,.sweet-alert button:focus{background-color:#262626;outline:0} +input:hover[type=button],input:hover[type=reset],input:hover[type=submit],button:hover,button:hover[type=button],a.button:hover,.sweet-alert button:hover{color:#f2f2f2;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f));background:linear-gradient(90deg,#e22828 0,#ff8c2f)} input[disabled],textarea[disabled]{color:#f2f2f2;border-bottom-color:#6c6c6c;opacity:0.5;cursor:default} input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled],button[disabled],button[type=button][disabled],a.button[disabled] input:hover[type=button][disabled],input:hover[type=reset][disabled],input:hover[type=submit][disabled],button:hover[disabled],button:hover[type=button][disabled],a.button:hover[disabled] -input:active[type=button][disabled],input:active[type=reset][disabled],input:active[type=submit][disabled],button:active[disabled],button:active[type=button][disabled],a.button:active[disabled]{opacity:0.5;cursor:default;color:#808080;background:-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#404040),to(#404040)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#808080),to(#808080)) 100% 100% no-repeat;background:linear-gradient(90deg,#404040 0,#808080) 0 0 no-repeat,linear-gradient(90deg,#404040 0,#808080) 0 100% no-repeat,linear-gradient(0deg,#404040 0,#404040) 0 100% no-repeat,linear-gradient(0deg,#808080 0,#808080) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%} +input:active[type=button][disabled],input:active[type=reset][disabled],input:active[type=submit][disabled],button:active[disabled],button:active[type=button][disabled],a.button:active[disabled],.sweet-alert button[disabled]{opacity:0.5;cursor:default;color:#808080;background:-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#404040),to(#404040)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#808080),to(#808080)) 100% 100% no-repeat;background:linear-gradient(90deg,#404040 0,#808080) 0 0 no-repeat,linear-gradient(90deg,#404040 0,#808080) 0 100% no-repeat,linear-gradient(0deg,#404040 0,#404040) 0 100% no-repeat,linear-gradient(0deg,#808080 0,#808080) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%} input::-webkit-input-placeholder{color:#486dba} select{-webkit-appearance:none;font-family:clear-sans;font-size:1.3rem;min-width:166px;max-width:300px;padding:5px 8px 5px 0;text-indent:0;margin:0 10px 0 0;border:none;border-bottom:1px solid #e5e5e5;box-shadow:none;border-radius:0;color:#f2f2f2;background-color:transparent;background-image:linear-gradient(66.6deg, transparent 60%, #f2f2f2 40%),linear-gradient(113.4deg, #f2f2f2 40%, transparent 60%);background-position:calc(100% - 4px),100%;background-size:4px 6px,4px 6px;background-repeat:no-repeat;outline:none;display:inline-block;cursor:pointer} select option{color:#f2f2f2;background-color:#262626} diff --git a/emhttp/plugins/dynamix/styles/default-gray.css b/emhttp/plugins/dynamix/styles/default-gray.css index 513a64ee4..fcf7c8bec 100644 --- a/emhttp/plugins/dynamix/styles/default-gray.css +++ b/emhttp/plugins/dynamix/styles/default-gray.css @@ -25,14 +25,14 @@ pre li{margin:0;padding-top:0;padding-bottom:0;padding-left:18px} big{font-size:1.4rem;font-weight:bold;text-transform:uppercase} hr{border:none;height:1px!important;color:#606e7f;background-color:#606e7f} input[type=text],input[type=password],input[type=number],input[type=url],input[type=email],input[type=date],input[type=file],textarea,.textarea{font-family:clear-sans;font-size:1.3rem;background-color:transparent;border:1px solid #606e7f;padding:5px 6px;min-height:2rem;line-height:2rem;outline:none;width:300px;margin:0 20px 0 0;box-shadow:none;border-radius:0;color:#606e7f} -input[type=button],input[type=reset],input[type=submit],button,button[type=button],a.button{font-family:clear-sans;font-size:1.2rem;border:1px solid #606e7f;border-radius:5px;min-width:76px;margin:10px 12px 10px 0;padding:8px;text-align:center;cursor:pointer;outline:none;color:#606e7f;background-color:#121510} +input[type=button],input[type=reset],input[type=submit],button,button[type=button],a.button,.sweet-alert button{font-family:clear-sans;font-size:1.2rem;border:1px solid #606e7f;border-radius:5px;min-width:76px;margin:10px 12px 10px 0;padding:8px;text-align:center;cursor:pointer;outline:none;color:#606e7f;background-color:#121510} input[type=checkbox]{vertical-align:middle;margin-right:6px} input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none} input[type=number]{-moz-appearance:textfield} -input:focus[type=text],input:focus[type=password],input:focus[type=number],input:focus[type=url],input:focus[type=email],input:focus[type=file],textarea:focus{background-color:#121510;border-color:#0072c6} -input:hover[type=button],input:hover[type=reset],input:hover[type=submit],button:hover,button:hover[type=button],a.button:hover{border-color:#0072c6;color:#b0b0b0} -input:active[type=button],input:active[type=reset],input:active[type=submit],button:active,button:active[type=button],a.button:active{border-color:#0072c6;box-shadow:none} -input[disabled],button[disabled],input:hover[type=button][disabled],input:hover[type=reset][disabled],input:hover[type=submit][disabled],button:hover[disabled],button:hover[type=button][disabled],input:active[type=button][disabled],input:active[type=reset][disabled],input:active[type=submit][disabled],button:active[disabled],button:active[type=button][disabled],textarea[disabled]{color:#808080;border-color:#808080;background-color:#383a34;opacity:0.5;cursor:default} +input:focus[type=text],input:focus[type=password],input:focus[type=number],input:focus[type=url],input:focus[type=email],input:focus[type=file],textarea:focus,.sweet-alert button:focus{background-color:#121510;border-color:#0072c6} +input:hover[type=button],input:hover[type=reset],input:hover[type=submit],button:hover,button:hover[type=button],a.button:hover,.sweet-alert button:hover{border-color:#0072c6;color:#b0b0b0;background-color:#121510!important} +input:active[type=button],input:active[type=reset],input:active[type=submit],button:active,button:active[type=button],a.button:active,.sweet-alert button:active{border-color:#0072c6;box-shadow:none} +input[disabled],button[disabled],input:hover[type=button][disabled],input:hover[type=reset][disabled],input:hover[type=submit][disabled],button:hover[disabled],button:hover[type=button][disabled],input:active[type=button][disabled],input:active[type=reset][disabled],input:active[type=submit][disabled],button:active[disabled],button:active[type=button][disabled],textarea[disabled],.sweet-alert button[disabled]{color:#808080;border-color:#808080;background-color:#383a34;opacity:0.5;cursor:default} input::-webkit-input-placeholder{color:#00529b} select{-webkit-appearance:none;font-family:clear-sans;font-size:1.3rem;min-width:188px;max-width:314px;padding:6px 14px 6px 6px;margin:0 10px 0 0;border:1px solid #606e7f;box-shadow:none;border-radius:0;color:#606e7f;background-color:transparent;background-image:linear-gradient(66.6deg, transparent 60%, #606e7f 40%),linear-gradient(113.4deg, #606e7f 40%, transparent 60%);background-position:calc(100% - 8px),calc(100% - 4px);background-size:4px 6px,4px 6px;background-repeat:no-repeat;outline:none;display:inline-block;cursor:pointer} select option{color:#606e7f;background-color:#121510} diff --git a/emhttp/plugins/dynamix/styles/default-white.css b/emhttp/plugins/dynamix/styles/default-white.css index c1a30c6ca..6cb79bb1c 100644 --- a/emhttp/plugins/dynamix/styles/default-white.css +++ b/emhttp/plugins/dynamix/styles/default-white.css @@ -22,16 +22,16 @@ i.control{cursor:pointer;color:#909090;font-size:1.8rem} i.favo{display:none;font-size:1.8rem;position:absolute;margin-left:12px} hr{border:none;height:1px!important;color:#e3e3e3;background-color:#e3e3e3} input[type=text],input[type=password],input[type=number],input[type=url],input[type=email],input[type=date],input[type=file],textarea,.textarea{font-family:clear-sans;font-size:1.3rem;background-color:transparent;border:none;border-bottom:1px solid #1c1b1b;padding:4px 0;text-indent:0;min-height:2rem;line-height:2rem;outline:none;width:300px;margin:0 20px 0 0;box-shadow:none;border-radius:0;color:#1c1b1b} -input[type=button],input[type=reset],input[type=submit],button,button[type=button],a.button{font-family:clear-sans;font-size:1.1rem;font-weight:bold;letter-spacing:1.8px;text-transform:uppercase;min-width:86px;margin:10px 12px 10px 0;padding:8px;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;outline:none;border-radius:4px;border:none;color:#ff8c2f;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#e22828),to(#e22828)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#ff8c2f),to(#ff8c2f)) 100% 100% no-repeat;background:linear-gradient(90deg,#e22828 0,#ff8c2f) 0 0 no-repeat,linear-gradient(90deg,#e22828 0,#ff8c2f) 0 100% no-repeat,linear-gradient(0deg,#e22828 0,#e22828) 0 100% no-repeat,linear-gradient(0deg,#ff8c2f 0,#ff8c2f) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%} +input[type=button],input[type=reset],input[type=submit],button,button[type=button],a.button,.sweet-alert button{font-family:clear-sans;font-size:1.1rem;font-weight:bold;letter-spacing:1.8px;text-transform:uppercase;min-width:86px;margin:10px 12px 10px 0;padding:8px;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;outline:none;border-radius:4px;border:none;color:#ff8c2f;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#e22828),to(#e22828)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#ff8c2f),to(#ff8c2f)) 100% 100% no-repeat;background:linear-gradient(90deg,#e22828 0,#ff8c2f) 0 0 no-repeat,linear-gradient(90deg,#e22828 0,#ff8c2f) 0 100% no-repeat,linear-gradient(0deg,#e22828 0,#e22828) 0 100% no-repeat,linear-gradient(0deg,#ff8c2f 0,#ff8c2f) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%} input[type=checkbox]{vertical-align:middle;margin-right:6px} input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance: none} input[type=number]{-moz-appearance:textfield} -input:focus[type=text],input:focus[type=password],input:focus[type=number],input:focus[type=url],input:focus[type=email],input:focus[type=file],textarea:focus{background-color:#e8e8e8;outline:0} -input:hover[type=button],input:hover[type=reset],input:hover[type=submit],button:hover,button:hover[type=button],a.button:hover{color:#f2f2f2;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f));background:linear-gradient(90deg,#e22828 0,#ff8c2f)} +input:focus[type=text],input:focus[type=password],input:focus[type=number],input:focus[type=url],input:focus[type=email],input:focus[type=file],textarea:focus,.sweet-alert button:focus{background-color:#e8e8e8;outline:0} +input:hover[type=button],input:hover[type=reset],input:hover[type=submit],button:hover,button:hover[type=button],a.button:hover,.sweet-alert button:hover{color:#f2f2f2;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f));background:linear-gradient(90deg,#e22828 0,#ff8c2f)} input[disabled],textarea[disabled]{color:#1c1b1b;border-bottom-color:#a2a2a2;opacity:0.5;cursor:default} input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled],button[disabled],button[type=button][disabled],a.button[disabled] input:hover[type=button][disabled],input:hover[type=reset][disabled],input:hover[type=submit][disabled],button:hover[disabled],button:hover[type=button][disabled],a.button:hover[disabled] -input:active[type=button][disabled],input:active[type=reset][disabled],input:active[type=submit][disabled],button:active[disabled],button:active[type=button][disabled],a.button:active[disabled]{opacity:0.5;cursor:default;color:#808080;background:-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#404040),to(#404040)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#808080),to(#808080)) 100% 100% no-repeat;background:linear-gradient(90deg,#404040 0,#808080) 0 0 no-repeat,linear-gradient(90deg,#404040 0,#808080) 0 100% no-repeat,linear-gradient(0deg,#404040 0,#404040) 0 100% no-repeat,linear-gradient(0deg,#808080 0,#808080) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%} +input:active[type=button][disabled],input:active[type=reset][disabled],input:active[type=submit][disabled],button:active[disabled],button:active[type=button][disabled],a.button:active[disabled],.sweet-alert button[disabled]{opacity:0.5;cursor:default;color:#808080;background:-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#404040),to(#404040)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#808080),to(#808080)) 100% 100% no-repeat;background:linear-gradient(90deg,#404040 0,#808080) 0 0 no-repeat,linear-gradient(90deg,#404040 0,#808080) 0 100% no-repeat,linear-gradient(0deg,#404040 0,#404040) 0 100% no-repeat,linear-gradient(0deg,#808080 0,#808080) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%} input::-webkit-input-placeholder{color:#486dba} select{-webkit-appearance:none;font-family:clear-sans;font-size:1.3rem;min-width:166px;max-width:300px;padding:5px 8px 5px 0;text-indent:0;margin:0 10px 0 0;border:none;border-bottom:1px solid #1c1b1b;box-shadow:none;border-radius:0;color:#1c1b1b;background-color:transparent;background-image:linear-gradient(66.6deg, transparent 60%, #1c1b1b 40%),linear-gradient(113.4deg, #1c1b1b 40%, transparent 60%);background-position:calc(100% - 4px),100%;background-size:4px 6px,4px 6px;background-repeat:no-repeat;outline:none;display:inline-block;cursor:pointer} select option{color:#1c1b1b;background-color:#e8e8e8} diff --git a/emhttp/plugins/dynamix/styles/jquery.sweetalert.css b/emhttp/plugins/dynamix/styles/jquery.sweetalert.css index 9c7c9b56d..9e071d79e 100644 --- a/emhttp/plugins/dynamix/styles/jquery.sweetalert.css +++ b/emhttp/plugins/dynamix/styles/jquery.sweetalert.css @@ -37,15 +37,11 @@ pre#swaltext{text-align:left;margin:0;padding:0;height:650px;white-space:normal; .sweet-alert.show-input input{display:block} .sweet-alert .sa-confirm-button-container{display:inline-block;position:relative} .sweet-alert .la-ball-fall{position:absolute;left:50%;top:50%;margin-left:-27px;margin-top:4px;opacity:0;visibility:hidden} -.sweet-alert button{font-family:clear-sans;font-size:1.2rem;font-weight:bold;letter-spacing:2px;text-transform:uppercase;min-width:86px;margin:20px 12px 10px 0;padding:8px;text-align:center;text-decoration:none;white-space:nowrap;cursor:pointer;outline:none;border-radius:4px;border:0;color:#ff8c2f;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#e22828),to(#e22828)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#ff8c2f),to(#ff8c2f)) 100% 100% no-repeat;background:linear-gradient(90deg,#e22828 0,#ff8c2f) 0 0 no-repeat,linear-gradient(90deg,#e22828 0,#ff8c2f) 0 100% no-repeat,linear-gradient(0deg,#e22828 0,#e22828) 0 100% no-repeat,linear-gradient(0deg,#ff8c2f 0,#ff8c2f) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%} .sweet-alert button:focus{} -.sweet-alert button:hover{color:#f2f2f2;background:-webkit-gradient(linear,left top,right top,from(#e22828),to(#ff8c2f));background:linear-gradient(90deg,#e22828 0,#ff8c2f)} .sweet-alert button:active{} .sweet-alert button.cancel{} .sweet-alert button.cancel:hover{} .sweet-alert button.cancel:active{} -.sweet-alert button.cancel:focus{box-shadow:rgba(197, 205, 211, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.0470588) 0px 0px 0px 1px inset !important} -.sweet-alert button[disabled]{cursor:default;color:#808080;background:-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 0 no-repeat,-webkit-gradient(linear,left top,right top,from(#404040),to(#808080)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#404040),to(#404040)) 0 100% no-repeat,-webkit-gradient(linear,left bottom,left top,from(#808080),to(#808080)) 100% 100% no-repeat;background:linear-gradient(90deg,#404040 0,#808080) 0 0 no-repeat,linear-gradient(90deg,#404040 0,#808080) 0 100% no-repeat,linear-gradient(0deg,#404040 0,#404040) 0 100% no-repeat,linear-gradient(0deg,#808080 0,#808080) 100% 100% no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%} .sweet-alert button.confirm[disabled]{} .sweet-alert button.confirm[disabled] ~ .la-ball-fall{opacity:1;visibility:visible;transition-delay:0s} .sweet-alert button::-moz-focus-inner{border:0}