Skip to content

Commit 77ea548

Browse files
committed
Fix: add Disable option to mover schedule
1 parent 972e1be commit 77ea548

File tree

1 file changed

+29
-19
lines changed

1 file changed

+29
-19
lines changed

emhttp/plugins/dynamix/MoverSettings.page

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ Tag="calendar-check-o"
1515
*/
1616
?>
1717
<?
18+
$mode = ['Disabled','Hourly','Daily','Weekly','Monthly'];
19+
$days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
1820
$setup = true;
1921
if (!$pool_devices) {
2022
echo "<p class='notice'>"._('No Cache device present')."!</p>";
@@ -23,11 +25,13 @@ if (!$pool_devices) {
2325
echo "<p class='notice'>"._('User shares not enabled')."!</p>";
2426
$setup = false;
2527
}
26-
$cron = explode(' ',$var['shareMoverSchedule']);
27-
$move = $cron[2]!='*' ? 3 : ($cron[4]!='*' ? 2 : (substr($cron[1],0,1)!='*' ? 1 : 0));
28-
$mode = ['Hourly','Daily','Weekly','Monthly'];
29-
$days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
30-
28+
if (empty($var['shareMoverSchedule'])) {
29+
$cron = explode(' ', "* * * * *");
30+
$move = 0;
31+
} else {
32+
$cron = explode(' ', $var['shareMoverSchedule']);
33+
$move = $cron[2]!='*' ? 4 : ($cron[4]!='*' ? 3 : (substr($cron[1],0,1)!='*' ? 2 : 1));
34+
}
3135
$showMoverButton = $setup && $pool_devices;
3236
$moverRunning = file_exists('/var/run/mover.pid');
3337
?>
@@ -37,27 +41,33 @@ $(function() {
3741
presetMover(document.mover_schedule);
3842
});
3943
<? endif; ?>
44+
function presetMover(form) {
45+
var mode = form.shareMoverSchedule.value;
46+
form.min.disabled = mode==0;
47+
form.day.disabled = mode==0 || mode!=3;
48+
form.dotm.disabled = mode==0 || mode!=4;
49+
form.hour1.disabled = mode==0;
50+
form.hour2.disabled = mode==0;
51+
form.day.value = form.day.disabled ? '*' : (form.day.value=='*' ? 0 : form.day.value);
52+
form.dotm.value = form.dotm.disabled ? '*' : (form.dotm.value=='*' ? 1 : form.dotm.value);
53+
if (mode==1) {$('#H1').hide(); $('#H2').show();} else {$('#H2').hide(); $('#H1').show();}
54+
}
4055
// Fool Unraid by simulating the original input field
4156
function prepareMover(form) {
4257
var mode = form.shareMoverSchedule.value;
43-
var min = mode!=0 ? form.min.value : 0;
44-
var hour = mode!=0 ? form.hour1.value : form.hour2.value;
45-
form.shareMoverSchedule.options[mode].value = min+' '+hour+' '+form.dotm.value+' * '+form.day.value;
58+
if (mode == 0)
59+
form.shareMoverSchedule.options[mode].value = '';
60+
else {
61+
var hour = mode!=1 ? form.hour1.value : form.hour2.value;
62+
var min = mode!=1 ? form.min.value : 0;
63+
form.shareMoverSchedule.options[mode].value = min+' '+hour+' '+form.dotm.value+' * '+form.day.value;
64+
}
4665
form.min.disabled = true;
4766
form.hour1.disabled = true;
4867
form.hour2.disabled = true;
4968
form.dotm.disabled = true;
5069
form.day.disabled = true;
5170
}
52-
function presetMover(form) {
53-
var mode = form.shareMoverSchedule.value;
54-
form.min.disabled = false;
55-
form.day.disabled = mode!=2;
56-
form.dotm.disabled = mode!=3;
57-
form.day.value = form.day.disabled ? '*' : (form.day.value=='*' ? 0 : form.day.value);
58-
form.dotm.value = form.dotm.disabled ? '*' : (form.dotm.value=='*' ? 1 : form.dotm.value);
59-
if (mode==0) {$('#H1').hide(); $('#H2').show();} else {$('#H2').hide(); $('#H1').show();}
60-
}
6171
</script>
6272
<form markdown="1" name="mover_schedule" method="POST" action="/update.htm" target="progressFrame" onsubmit="prepareMover(this)">
6373
<?if ($setup):?>
@@ -92,7 +102,7 @@ _(Day of the month)_:
92102

93103
_(Time of the day)_:
94104
: <span>
95-
<span id="H1"<?if ($move==0):?> style="display:none"<?endif;?>><select name="hour1" class="narrow">
105+
<span id="H1"<?if ($move==1):?> style="display:none"<?endif;?>><select name="hour1" class="narrow">
96106
<?for ($d=0; $d<=23; $d++):?>
97107
<?=mk_option($cron[1], strval($d), sprintf("%02d", $d))?>
98108
<?endfor;?>
@@ -102,7 +112,7 @@ _(Time of the day)_:
102112
<?=mk_option($cron[0], strval($d), sprintf("%02d", $d))?>
103113
<?endfor;?>
104114
</select>&nbsp;&nbsp;_(HH:MM)_</span>
105-
<span id="H2"<?if ($move!=0):?> style="display:none"<?endif;?>><select name="hour2">
115+
<span id="H2"<?if ($move!=1):?> style="display:none"<?endif;?>><select name="hour2">
106116
<?=mk_option($cron[1], "*/1", _("Every hour"))?>
107117
<?=mk_option($cron[1], "*/2", _("Every 2 hours"))?>
108118
<?=mk_option($cron[1], "*/3", _("Every 3 hours"))?>

0 commit comments

Comments
 (0)