function sieve_save_vacation()
{
    $sieve = new clSieve($_GET["sieve-save-vacation"]);
    $sieve->GetRuleVacation();
    $sieve_rule_name = $sieve->sieve_rulename;
    writelogs("uid={$_GET["sieve-save-vacation"]}:: rule:{$sieve_rule_name},", __FUNCTION__, __FILE__);
    if ($sieve_rule_name != null) {
        $rules = $sieve->GetRules($sieve_rule_name);
        $vacation_rule = $rules[$sieve->sieve_ruleindex];
    } else {
        writelogs("uid={$_GET["sieve-save-vacation"]}:: create default rule:AntiSpamJunk", __FUNCTION__, __FILE__);
        if ($sieve->CreateArticaRule()) {
            $sieve = new clSieve($_GET["sieve-save-vacation"]);
            $sieve_rule_name = "AntiSpamJunk";
            $rules = $sieve->GetRules($sieve_rule_name);
            $sieve->sieve_ruleindex = count($rules);
        } else {
            writelogs("uid={$_GET["sieve-save-vacation"]}:: create default rule:AntiSpamJunk FAILED!", __FUNCTION__, __FILE__);
        }
    }
    writelogs("{$_GET["sieve-save-vacation"]}:: put rule name \"{$sieve_rule_name}\"", __FUNCTION__, __FILE__);
    switch ($_GET["vacation_enabled"]) {
        case 1:
            $rules[$sieve->sieve_ruleindex]["status"] = "ENABLED";
            break;
        case 0:
            $rules[$sieve->sieve_ruleindex]["status"] = "DISABLED";
            break;
        default:
            $rules[$sieve->sieve_ruleindex]["status"] = "ENABLED";
            break;
    }
    $_GET["message"] = str_replace("\n", "\r\n", $_GET["message"]);
    $rules[$sieve->sieve_ruleindex]["control"] = "";
    $rules[$sieve->sieve_ruleindex]["matchAny"] = "";
    $rules[$sieve->sieve_ruleindex]["conditions"] = array();
    $rules[$sieve->sieve_ruleindex]["special"] = "vacation";
    $rules[$sieve->sieve_ruleindex]["actions"][0]["days"] = $_GET["days"];
    $rules[$sieve->sieve_ruleindex]["actions"][0]["message"] = $_GET["message"];
    $ct = new user($_GET["sieve-save-vacation"]);
    $rules[$sieve->sieve_ruleindex]["actions"][0]["addresses"] = $ct->HASH_ALL_MAILS;
    $content = $sieve->CompileRule($rules, $sieve_rule_name);
    $sieve->SaveRule($sieve_rule_name, $content);
}