style: enhance layout and functionality in SecuritySMB.page

- Refactored HTML structure for read/write settings sections to improve layout and user experience.
- Updated template for better clone settings
- Adjusted form elements for improved alignment and spacing, enhancing overall readability.
This commit is contained in:
Zack Spear
2025-05-29 17:31:34 -07:00
parent 30122d41ea
commit 736baeb74c
2 changed files with 142 additions and 86 deletions
+134 -86
View File
@@ -24,36 +24,45 @@ uksort($users, 'strnatcmp');
?>
:smb_security_help:
<div class="clone1">
<span class="clone">_(Read settings from)_</span><i class="fa fa-arrow-left fa-fw"></i>
<span class="wrap"><select name="readsmb" class="clone" onchange="toggleButton('readsmb',false)">
<option disabled selected>_(select)_...</option>
<?
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name) echo mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name) echo mk_option("", $list['name'], compress($list['name']));
}
?>
</select></span><input type="button" id="readsmb" value="_(Read)_" class="clone" onclick="readSMB()" disabled>
</div>
<div class="clone2">
<span class="clone">_(Write settings to)_</span><i class="fa fa-arrow-right fa-fw"></i>
<span class="wrap"><select id="smb1" name="writesmb" multiple="multiple" style="display:none" onchange="toggleButton('writesmb',this.id)">
<?
$rows = [];
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name) $rows[] = mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name) $rows[] = mk_option("", $list['name'], compress($list['name']));
}
if ($rows) echo "<option>("._('All').")</option>";
foreach ($rows as $row) echo $row;
?>
</select></span><input type="button" id="writesmb" value="_(Write)_" class="clone" onclick="writeSMB()" disabled>
<div markdown="1" class="clone-settings shade">
_(Read settings from)_ <i class="fa fa-arrow-left fa-fw"></i>
: <span class="flex flex-row items-center gap-4">
<select name="readsmb" onchange="toggleButton('readsmb',false)">
<option disabled selected>_(select)_...</option>
<?
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name) echo mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name) echo mk_option("", $list['name'], compress($list['name']));
}
?>
</select>
<span class="buttons-spaced">
<input type="button" id="readsmb" value="_(Read)_" class="clone" onclick="readSMB()" disabled>
</span>
</span>
_(Write settings to)_ <i class="fa fa-arrow-right fa-fw"></i>
: <span class="flex flex-row items-center gap-4">
<select id="smb1" name="writesmb" multiple onchange="toggleButton('writesmb',this.id)">
<?
$rows = [];
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name) $rows[] = mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name) $rows[] = mk_option("", $list['name'], compress($list['name']));
}
if ($rows) echo "<option>("._('All').")</option>";
foreach ($rows as $row) echo $row;
?>
</select>
<span class="buttons-spaced">
<input type="button" id="writesmb" value="_(Write)_" class="clone" onclick="writeSMB()" disabled>
</span>
</span>
</div>
<form markdown="1" name="smb_edit" method="POST" action="/update.htm" target="progressFrame" onchange="toggleButton('writesmb',true);$('#smb1').dropdownchecklist('disable')">
<form markdown="1" class="shade" name="smb_edit" method="POST" action="/update.htm" target="progressFrame" onchange="toggleButton('writesmb',true);$('#smb1').dropdownchecklist('disable')">
<input type="hidden" name="shareName" value="<?=htmlspecialchars($name)?>">
<?if (($name=='flash')||($var['enableFruit']!='yes')):?>
<input type="hidden" name="shareVolsizelimit" value="">
@@ -85,7 +94,9 @@ _(Export)_:
:smb_export_help:
_(Time Machine volume size limit)_:
: <input type="text" name="shareVolsizelimit" maxlen="20" value="<?=$sec[$name]['volsizelimit']?>"> MB
: <span class="inline-flex flex-row items-center gap-2">
<input type="text" name="shareVolsizelimit" maxlen="20" value="<?=$sec[$name]['volsizelimit']?>"> MB
</span>
:smb_time_machine_volume_help:
@@ -119,39 +130,56 @@ _(Security)_:
</form>
<?if ($sec[$name]['security']=='secure'):?>
<div class="title nocontrol"><dt>_(SMB)_ _(User Access)_</dt><i>_(Guests have **read-only** access)_.</i></div>
<div class="title nocontrol">
<span class="left">_(SMB)_ _(User Access)_</span>
<span class="right">
<i>_(Guests have **read-only** access)_.</i>
</span>
</div>
:smb_secure_access_help:
<div class="clone1">
<span class="clone">_(Read settings from)_</span><i class="fa fa-arrow-left fa-fw"></i>
<span class="wrap"><select name="readusersmb" class="clone" onchange="toggleButton('readusersmb',false)">
<option disabled selected>_(select)_...</option>
<?
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='secure') echo mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='secure') echo mk_option("", $list['name'], compress($list['name']));
}
?>
</select></span><input type="button" id="readusersmb" value="_(Read)_" class="clone" onclick="readUserSMB()" disabled>
</div>
<div class="clone2">
<span class="clone">_(Write settings to)_</span><i class="fa fa-arrow-right fa-fw"></i>
<span class="wrap"><select id="smb2" name="writeusersmb" multiple="multiple" style="display:none" onchange="toggleButton('writeusersmb',this.id)">
<?
$rows = [];
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='secure') $rows[] = mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='secure') $rows[] = mk_option("", $list['name'], compress($list['name']));
}
if ($rows) echo "<option>("._('All').")</option>";
foreach ($rows as $row) echo $row;
?>
</select></span><input type="button" id="writeusersmb" value="_(Write)_" class="clone" onclick="writeUserSMB()" disabled>
<div markdown="1" class="relative">
<div markdown="1" class="clone-settings clone-settings-less-padding shade">
_(Read settings from)_ <i class="fa fa-arrow-left fa-fw"></i>
: <span class="flex flex-row items-center gap-4">
<select name="readusersmb" onchange="toggleButton('readusersmb',false)">
<option disabled selected>_(select)_...</option>
<?
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='secure') echo mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='secure') echo mk_option("", $list['name'], compress($list['name']));
}
?>
</select>
<span class="buttons-spaced">
<input type="button" id="readusersmb" value="_(Read)_" class="clone" onclick="readUserSMB()" disabled>
</span>
</span>
_(Write settings to)_ <i class="fa fa-arrow-right fa-fw"></i>
: <span class="flex flex-row items-center gap-4">
<select id="smb2" name="writeusersmb" multiple onchange="toggleButton('writeusersmb',this.id)">
<?
$rows = [];
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='secure') $rows[] = mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='secure') $rows[] = mk_option("", $list['name'], compress($list['name']));
}
if ($rows) echo "<option>("._('All').")</option>";
foreach ($rows as $row) echo $row;
?>
</select>
<span class="buttons-spaced">
<input type="button" id="writeusersmb" value="_(Write)_" class="clone" onclick="writeUserSMB()" disabled>
</span>
</span>
</div>
<div markdown="1" class="shade">
<form markdown="1" name="smb_user_edit" method="POST" action="/update.htm" target="progressFrame" onchange="toggleButton('writeusersmb',true);$('#smb2').dropdownchecklist('disable')">
<input type="hidden" name="shareName" value="<?=htmlspecialchars($name)?>">
<?input_secure_users($sec)?>
@@ -162,52 +190,72 @@ foreach ($rows as $row) echo $row;
<input type="button" value="_(Done)_" onclick="done()">
</span>
</form>
</div>
</div>
<?elseif ($sec[$name]['security']=='private'):?>
<div class="title nocontrol"><dt>_(SMB)_ _(User Access)_</dt><i>_(Guests have **no** access)_.</i></div>
<div class="title nocontrol">
<span class="left">_(SMB)_ _(User Access)_</span>
<span class="right">
<i>_(Guests have **no** access)_.</i>
</span>
</div>
:smb_private_access_help:
<div class="clone1">
<span class="clone">_(Read settings from)_</span><i class="fa fa-arrow-left fa-fw"></i>
<span class="wrap"><select name="readusersmb" class="clone" onchange="toggleButton('readusersmb',false)">
<option disabled selected>_(select)_...</option>
<?
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='private') echo mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='private') echo mk_option("", $list['name'], compress($list['name']));
}
?>
</select></span><input type="button" id="readusersmb" value="_(Read)_" class="clone" onclick="readUserSMB()" disabled>
</div>
<div class="clone2">
<span class="clone">_(Write settings to)_</span><i class="fa fa-arrow-right fa-fw"></i>
<span class="wrap"><select id="smb2" name="writeusersmb" multiple="multiple" style="display:none" onchange="toggleButton('writeusersmb',this.id)">
<?
$rows = [];
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='private') $rows[] = mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='private') $rows[] = mk_option("", $list['name'], compress($list['name']));
}
if ($rows) echo "<option>("._('All').")</option>";
foreach ($rows as $row) echo $row;
?>
</select></span><input type="button" id="writeusersmb" value="_(Write)_" class="clone" onclick="writeUserSMB()" disabled>
<div markdown="1" class="relative">
<div markdown="1" class="clone-settings clone-settings-less-padding shade">
_(Read settings from)_ <i class="fa fa-arrow-left fa-fw"></i>
: <span class="flex flex-row items-center gap-4">
<select name="readusersmb" onchange="toggleButton('readusersmb',false)">
<option disabled selected>_(select)_...</option>
<?
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='private') echo mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='private') echo mk_option("", $list['name'], compress($list['name']));
}
?>
</select>
<span class="buttons-spaced">
<input type="button" id="readusersmb" value="_(Read)_" class="clone" onclick="readUserSMB()" disabled>
</span>
</span>
_(Write settings to)_ <i class="fa fa-arrow-right fa-fw"></i>
: <span class="flex flex-row items-center gap-4">
<select id="smb2" name="writeusersmb" multiple onchange="toggleButton('writeusersmb',this.id)">
<?
$rows = [];
if (isset($disks[$name])) {
foreach (array_filter($disks,'clone_list') as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='private') $rows[] = mk_option("", $list['name'], _(my_disk($list['name']),3));
} else {
foreach ($shares as $list) if ($list['name']!=$name && $sec[$list['name']]['security']=='private') $rows[] = mk_option("", $list['name'], compress($list['name']));
}
if ($rows) echo "<option>("._('All').")</option>";
foreach ($rows as $row) echo $row;
?>
</select>
<span class="buttons-spaced">
<input type="button" id="writeusersmb" value="_(Write)_" class="clone" onclick="writeUserSMB()" disabled>
</span>
</span>
</div>
<div markdown="1" class="shade">
<form markdown="1" name="smb_user_edit" method="POST" action="/update.htm" target="progressFrame" onchange="toggleButton('writeusersmb',true);$('#smb2').dropdownchecklist('disable')">
<input type="hidden" name="shareName" value="<?=htmlspecialchars($name)?>">
<?input_private_users($sec)?>
&nbsp;
: <span class="inline-block">
: <span class="buttons-spaced">
<input type="submit" name="changeShareAccess" value="_(Apply)_" disabled>
<input type="button" value="_(Done)_" onclick="done()">
</span>
</form>
</div>
</div>
<?endif;?>
<script>
@@ -1759,6 +1759,10 @@ span#wlan0 {
/* TailwindCSS inspired utility classes */
.relative {
position: relative;
}
.font-mono {
font-family: bitstream, monospace;
}
@@ -1981,6 +1985,10 @@ span#wlan0 {
gap: 1.5rem 1rem;
}
}
.clone-settings-less-padding {
padding-top: 1rem;
}
}
/* plugin overrides */