Als gebruiker
Ga naar de vertouwde plaats om roundcube te gebruiken: https://roundcube.reynaert.be
Navigeer naar de rubriek instellingen > Vakantie en activeer de functionaliteit. Voer de gepaste begin- en einddatum in. En je verzender zal een bericht terug krijgen.
Ze na je vakantie de out of office terug af, dat maakt het de mailserver wat gemakkelijker.
Als installateur
Er zijn een aantal vacation scripts te vinden via https://plugins.roundcube.net/#/
Zoek naar vacation en je krijgt oplossingen.
Dewelke je kiest is sterk afhankelijk van wat je reeds hebt geïnstalleerd.
De oplossing die het meest leunt bij onze setup is deze van bhuisgen
https://github.com/bhuisgen/rc-vacation
Wij gebruiken reeds een mysql database die een perl 'vacation'-script voed, initieel opgezet samen met postfixadmin. Echter de data structuur van de vacation tabel is iets anders dan wat bhuisgen heeft voorzien in zijn scripting.
De activefrom en activeuntil zijn geen unix timestamps. Dit moest dus aangepast worden.
Dit kan vrij eenvoudig in de config file van de plugin:
Om te lezen
SELECT
subject AS vacation_subject,
body AS vacation_message,
active AS vacation_enable,
UNIX_TIMESTAMP(STR_TO_DATE(activefrom, '%Y-%m-%d')) AS vacation_start, -- activefrom AS vacation_start,
UNIX_TIMESTAMP(STR_TO_DATE(activeuntil, '%Y-%m-%d')) AS vacation_end
FROM vacation
WHERE email=%username AND domain=%email_domain;
Om te schrijven
INSERT INTO vacation (email,domain,subject,body,created,modified,active,activefrom,activeuntil,cache,interval_time) VALUES (%email,%email_domain,%vacation_subject,%vacation_message,NOW(),NOW(),%vacation_enable,FROM_UNIXTIME(%vacation_start),FROM_UNIXTIME(%vacation_end),'',0);
En dan nog enkele aanpassingen aan de code
public function write_data()
....
$data['vacation_enable'] = $this->obj->is_vacation_enable()?1:0;
var tab = $('l i').attr('id', 'settingstabpluginvacation').addClass('listitem vacation');