Add encryption icon to disk selection in ShareSettings and ShareEdit

Includes updated and modified dropdownchecklist script
This commit is contained in:
bergware
2017-08-21 17:52:33 +02:00
parent 65a498230a
commit 4e25acca99
4 changed files with 32 additions and 27 deletions

View File

@@ -178,7 +178,7 @@ Split level:
Included disk(s):
: <select id="s1" name="shareInclude" size="1" multiple="multiple" style="display:none">
<?foreach ($myDisks as $disk):?>
<?=mk_option_check($disk, $share['include'])?>
<?=mk_option_luks($disk, $share['include'], strstr($disks[$disk]['fsType'],':',true))?>
<?endforeach;?>
</select>
@@ -188,7 +188,7 @@ Included disk(s):
Excluded disk(s):
: <select id="s2" name="shareExclude" size="1" multiple="multiple" style="display:none">
<?foreach ($myDisks as $disk):?>
<?=mk_option_check($disk, $share['exclude'])?>
<?=mk_option_luks($disk, $share['exclude'], strstr($disks[$disk]['fsType'],':',true))?>
<?endforeach;?>
</select>
@@ -255,7 +255,6 @@ Share status:
: <input type="submit" name="cmdEditShare" value="Apply"><input type="button" value="Done" onclick="done()">
<?endif;?>
</form>
<script>
$(function() {
initDropdown(false,true);
@@ -274,23 +273,23 @@ function initDropdown(remove,create) {
<?endif;?>
}
if (create) {
$("#s1").dropdownchecklist({emptyText:'All', width:<?=$width[1]?>, explicitClose:'...close'});
$("#s2").dropdownchecklist({emptyText:'None', width:<?=$width[1]?>, explicitClose:'...close'});
$('#s1').dropdownchecklist({emptyText:'All', width:<?=$width[1]?>, explicitClose:'...close'});
$('#s2').dropdownchecklist({emptyText:'None', width:<?=$width[1]?>, explicitClose:'...close'});
<?if ($name):?>
$("#s3").dropdownchecklist({firstItemChecksAll:true, emptyText:'select...', width:<?=$width[0]?>, explicitClose:'...close'});
<?endif;?>
}
}
function setDiskList(cache) {
var onOff = cache=='only' ? 'disable' : 'enable';
$("#s1").dropdownchecklist(onOff);
$("#s2").dropdownchecklist(onOff);
var onOff = cache=='only' ? 'disable':'enable';
$('#s1').dropdownchecklist(onOff);
$('#s2').dropdownchecklist(onOff);
}
function presetSpace(shareFloor) {
var unit = ['KB','MB','GB','TB','PB'];
var scale = shareFloor.value;
if (scale.replace(/[0-9.,\s]/g,'').length>0) return;
var base = scale>0 ? Math.floor(Math.log(scale)/Math.log(1000)) : 0;
var base = scale>0 ? Math.floor(Math.log(scale)/Math.log(1000)):0;
if (base>=unit.length) base = unit.length-1;
shareFloor.value = (scale/Math.pow(1000, base))+unit[base];
}

View File

@@ -16,16 +16,15 @@ Tag="share-alt-square"
* all copies or substantial portions of the Software.
*/
?>
<?
$disabled = $var['fsState']!='Stopped' ? 'disabled' : '';
$disks = array_filter($disks,'my_disks');
$width = strstr('gray,azure',$display['theme']) ? [166,305]:[131,300];
?>
<script>
$(function() {
$("#s1").dropdownchecklist({emptyText:'All', width:131, explicitClose:'...close'});
$("#s2").dropdownchecklist({emptyText:'None', width:131, explicitClose:'...close'});
$('#s1').dropdownchecklist({emptyText:'All', width:<?=$width[0]?>, explicitClose:'...close'});
$('#s2').dropdownchecklist({emptyText:'None', width:<?=$width[0]?>, explicitClose:'...close'});
presetShare(document.share_settings);
});
// Simulate the original input field
@@ -53,19 +52,19 @@ function prepareShare(form) {
item.value = exclude;
item.selected = true;
}
function presetShare(form) {
var disabled = <?=$disabled ? 'true' : 'false'?>;
var onOff = disabled ? 'disable' : 'enable';
function presetShare(form,shares) {
var disabled = shares==null ? <?=$disabled ? 'true':'false'?> : shares=='-';
var onOff = disabled ? 'disable':'enable';
form.shareUserInclude.disabled = disabled;
form.shareUserExclude.disabled = disabled;
$("#s1").dropdownchecklist(onOff);
$("#s2").dropdownchecklist(onOff);
$('#s1').dropdownchecklist(onOff);
$('#s2').dropdownchecklist(onOff);
}
</script>
<form markdown="1" name="share_settings" method="POST" action="/update.htm" target="progressFrame" onsubmit="prepareShare(this)">
Enable disk shares:
: <select name="shareDisk" size="1" onchange="presetShare(this.form)" <?=$disabled?>>
: <select name="shareDisk" size="1" <?=$disabled?>>
<?=mk_option($var['shareDisk'], "no", "No")?>
<?=mk_option($var['shareDisk'], "yes", "Yes")?>
<?=mk_option($var['shareDisk'], "auto", "Auto")?>
@@ -79,7 +78,7 @@ Enable disk shares:
> If set to Auto, only disk shares not participating in User Shares may be exported.
Enable user shares:
: <select name="shareUser" size="1" onchange="presetShare(this.form)" <?=$disabled?>>
: <select name="shareUser" size="1" onchange="presetShare(this.form,this.value)" <?=$disabled?>>
<?=mk_option($var['shareUser'], "e", "Yes")?>
<?=mk_option($var['shareUser'], "-", "No")?>
</select>
@@ -89,7 +88,7 @@ Enable user shares:
Included disk(s):
: <select id="s1" name="shareUserInclude" size="1" multiple="multiple" style="display:none">
<?foreach ($disks as $disk):?>
<?=mk_option_check($disk['name'], $var['shareUserInclude'])?>
<?=mk_option_luks($disk['name'], $var['shareUserInclude'], strstr($disk['fsType'],':',true))?>
<?endforeach;?>
</select>
@@ -99,7 +98,7 @@ Included disk(s):
Excluded disk(s):
: <select id="s2" name="shareUserExclude" size="1" multiple="multiple" style="display:none">
<?foreach ($disks as $disk):?>
<?=mk_option_check($disk['name'], $var['shareUserExclude'])?>
<?=mk_option_luks($disk['name'], $var['shareUserExclude'], strstr($disk['fsType'],':',true))?>
<?endforeach;?>
</select>
@@ -123,5 +122,4 @@ Tunable (enable Direct IO):
&nbsp;
: <input type="submit" name="changeShare" value="Apply" <?=$disabled?>><input type="button" value="Done" onclick="done()"><?if ($disabled):?>Array must be <span class="strong big">Stopped</span> to change<?endif;?>
</form>

View File

@@ -127,6 +127,12 @@ function mk_option_check($name, $value, $text = "") {
return "<option value='$name'$checked>".my_disk($name)."</option>";
}
}
function mk_option_luks($name, $value, $luks) {
if (strpos($name, 'disk')!==false) {
$checked = in_array($name,explode(',',$value)) ? " selected" : "";
return "<option luks='$luks' value='$name'$checked>".my_disk($name)."</option>";
}
}
function day_count($time) {
global $var;
if (!$time) return;

File diff suppressed because one or more lines are too long