Warning: session_start(): open(/var/lib/php/sessions/sess_mch99s1ed2rsugag1825ngu2f3, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
!include once #1020738 // Base Include
module TimerModule > DynBigNumber {
bool active;
long setAt, setTill;
start {
dm_onTopInput(vf setTimer);
doEvery(1.0, r updateMe);
preloadLibrary(#1400163);
}
void update {
long now = now();
if (setTill == 0 || !active) ret with setValue("");
if (setTill <= now) {
setField(active := false);
ret with makeAlarm();
} else {
long seconds = iround(toSeconds(setTill-now));
setValue(seconds/60 + ":" + formatInt(mod(seconds, 60), 2));
}
}
void makeAlarm {
setValue("ALARM!");
infoBox_noHide("ALARM!");
vmBus_send('timerAlarm, module());
playWAVSnippet(#1400163);
}
// API
void reset enter {
setFields(active := false, setAt := 0L, setTill := 0L);
update();
}
void setTimer(fS s) {
final new Matches m;
if "* minutes|* minute" {
switch to q();
int minutes = parseEnglishNumberOrInt($1);
if (minutes <= 0) ret;
setFields(active := true, setAt := now(), setTill := now()+fromMinutes(minutes));
dm_showModule();
infoBox("Timer set to " + n2(minutes, "minute"));
}
}
}