diff --git a/index.php b/index.php
--- a/index.php
+++ b/index.php
@@ -39,6 +39,8 @@ if (isset($_REQUEST['_DEBUG_'])) {
$_debug = 0;
}
+//$stderr = fopen('php://stderr', 'w');
+
// file_put_contents('/tmp/xxxxxxx', 'check');
// system('touch /tmp/xxxxxx1');
@@ -188,6 +190,7 @@ if ($_debug) {
echo (''."\n");
}
+$vacation_msg_in_file = sprintf('%s/%s', $home, $VACATION_MSG_IN_FILE);
$vacation_msg_file = sprintf('%s/%s', $home, $VACATION_MSG_FILE);
$vacation_db_file = sprintf('%s/%s', $home, $VACATION_DB_FILE);
$forward_file = sprintf('%s/%s', $home, $FORWARD_FILE);
@@ -219,7 +222,7 @@ if ($forward_active)
$vacation_setup_raw = isset($_REQUEST["raw"]);
$vacation_clear = isset($_REQUEST['clear']);
-if ($vacation_clear || !test_readable($vacation_msg_file, $user)) {
+if ($vacation_clear || !test_readable($vacation_msg_in_file, $user)) {
// Reset to default
$vacation_msg = get_text('vacation');
$vacation_parts = vacation_split($vacation_msg, False);
@@ -228,7 +231,7 @@ if ($vacation_clear || !test_readable($v
$vacation_msg = vacation_join($vacation_subject, $vacation_body);
$vacation_setup_raw = False;
} else {
- $vacation_msg = cat_file($vacation_msg_file, $user);
+ $vacation_msg = cat_file($vacation_msg_in_file, $user);
}
$message_parts = message_split($vacation_msg);
@@ -312,13 +315,17 @@ if ($vacation_setup || $vacation_setup_r
while (True) {
if ($vacation_del_log) {
- system(sprintf(
- '%s -u %s %s %s %s',
- $SUDO_CMD, $user, $SUDO_OPT_H, $VACATION_CMD, $VACATION_INIT_OPTS));
- $vacation_excl_pipe = popen(sprintf(
- '%s -u %s %s %s %s',
- $SUDO_CMD, $user, $SUDO_OPT_H, $VACATION_CMD, $VACATION_EXLCUDE_OPTS),
- 'w');
+ $cmd = sprintf(
+ '%s -u %s %s %s %s',
+ $SUDO_CMD, $user, $SUDO_OPT_H, $VACATION_CMD, $VACATION_INIT_OPTS);
+ // fprintf($stderr, "\$cmd: %s
\n", $cmd);
+ system($cmd);
+
+ $pipe_cmd = sprintf(
+ '%s -u %s %s %s %s',
+ $SUDO_CMD, $user, $SUDO_OPT_H, $VACATION_CMD, $VACATION_EXLCUDE_OPTS);
+ // fprintf($stderr, "\$pipe_cmd: %s
\n", $pipe_cmd);
+ $vacation_excl_pipe = popen($pipe_cmd, 'w');
fwrite($vacation_excl_pipe, sprintf("%s%s\n", $user, $DOMAIN_SUFFIX));
if (!empty($user_alias)) {
fwrite($vacation_excl_pipe, sprintf("%s%s\n", $user_alias, $DOMAIN_SUFFIX));
@@ -351,22 +358,42 @@ if ($vacation_setup || $vacation_setup_r
} else {
$vacation_msg = vacation_join($vacation_subject, $vacation_body, $vacation_headers);
}
- $vacation_msg_pipe = popen(sprintf(
- '%s -u %s %s %s %s',
- $SUDO_CMD, $user, $SUDO_OPT_H, $WRITE_TO_CMD, $vacation_msg_file),
- 'w');
+ $pipe_cmd = sprintf(
+ '%s -u %s %s %s %s',
+ $SUDO_CMD, $user, $SUDO_OPT_H, $WRITE_TO_CMD, $vacation_msg_in_file);
+ // fprintf($stderr, "\$pipe_cmd: %s
\n", $pipe_cmd);
+
+ $vacation_msg_pipe = popen($pipe_cmd, 'w');
fwrite($vacation_msg_pipe, $vacation_msg);
pclose($vacation_msg_pipe);
+ $pipe_cmd = sprintf(
+ '%s -u %s %s %s %s',
+ $SUDO_CMD, $user, $SUDO_OPT_H, $WRITE_TO_CMD, $vacation_msg_file);
+ // fprintf($stderr, "\$pipe_cmd: %s
\n", $pipe_cmd);
+
+ $vacation_msg_pipe = popen($pipe_cmd, 'w');
+ if (!$FOOTER || $vacation_setup_raw || $x_wsv_raw) {
+ $full_msg = $vacation_msg;
+ } else {
+ $full_msg = rtrim(rtrim($vacation_msg)."\n".$FOOTER)."\n";
+ }
+ fwrite($vacation_msg_pipe, $full_msg);
+ pclose($vacation_msg_pipe);
+
// Initialize vacation(1) if necessary.
if (!test_readable($vacation_db_file, $user)) {
- system(sprintf(
- '%s -u %s %s %s %s',
- $SUDO_CMD, $user, $SUDO_OPT_H, $VACATION_CMD, $VACATION_INIT_OPTS));
- $vacation_excl_pipe = popen(sprintf(
- '%s -u %s %s %s %s',
- $SUDO_CMD, $user, $SUDO_OPT_H, $VACATION_CMD, $VACATION_EXLCUDE_OPTS),
- 'w');
+ $cmd = sprintf(
+ '%s -u %s %s %s %s',
+ $SUDO_CMD, $user, $SUDO_OPT_H, $VACATION_CMD, $VACATION_INIT_OPTS);
+ // fprintf($stderr, "\$cmd: %s
\n", $cmd);
+ system($cmd);
+
+ $pipe_cmd = sprintf(
+ '%s -u %s %s %s %s',
+ $SUDO_CMD, $user, $SUDO_OPT_H, $VACATION_CMD, $VACATION_EXLCUDE_OPTS);
+ // fprintf($stderr, "\$pipe_cmd: %s
\n", $pipe_cmd);
+ $vacation_excl_pipe = popen($pipe_cmd, 'w');
fwrite($vacation_excl_pipe, sprintf("%s%s\n", $user, $DOMAIN_SUFFIX));
if (!empty($user_alias)) {
fwrite($vacation_excl_pipe, sprintf("%s%s\n", $user_alias, $DOMAIN_SUFFIX));
@@ -387,31 +414,37 @@ if ($vacation_setup || $vacation_setup_r
}
$use_fs[] = $fs;
}
- $forward_file_pipe = popen(sprintf(
- '%s -u %s %s %s %s',
- $SUDO_CMD, $user, $SUDO_OPT_H, $WRITE_TO_CMD, $forward_file),
- 'w');
+ $pipe_cmd = sprintf(
+ '%s -u %s %s %s %s',
+ $SUDO_CMD, $user, $SUDO_OPT_H, $WRITE_TO_CMD, $forward_file);
+ // fprintf($stderr, "\$pipe_cmd: %s
\n", $pipe_cmd);
+ $forward_file_pipe = popen($pipe_cmd, 'w');
fwrite($forward_file_pipe, implode(", ", $use_fs)."\n");
pclose($forward_file_pipe);
if (!empty($VACATION_FORWARD_EXT_ENTRY)) {
foreach ($FORWARD_EXTENSIONS as $fe) {
- $cmd = sprintf(
+ $pipe_cmd = sprintf(
'%s -u %s %s %s %s%s',
$SUDO_CMD, $user, $SUDO_OPT_H, $WRITE_TO_CMD, $forward_file, $fe);
- $forward_file_pipe = popen($cmd, 'w');
+ // fprintf($stderr, "\$pipe_cmd: %s
\n", $pipe_cmd);
+ $forward_file_pipe = popen($pipe_cmd, 'w');
fwrite($forward_file_pipe, $VACATION_FORWARD_EXT_ENTRY."\n");
pclose($forward_file_pipe);
}
}
} else {
- system(sprintf(
- '%s -u %s %s %s %s',
- $SUDO_CMD, $user, $SUDO_OPT_H, $RM_CMD, $forward_file));
+ $cmd = sprintf(
+ '%s -u %s %s %s %s',
+ $SUDO_CMD, $user, $SUDO_OPT_H, $RM_CMD, $forward_file);
+ // fprintf($stderr, "\$cmd: %s
\n", $cmd);
+ system($cmd);
if (!empty($VACATION_FORWARD_EXT_ENTRY)) {
foreach ($FORWARD_EXTENSIONS as $fe) {
- system(sprintf(
- '%s -u %s %s %s %s%s',
- $SUDO_CMD, $user, $SUDO_OPT_H, $RM_CMD, $forward_file, $fe));
+ $cmd = sprintf(
+ '%s -u %s %s %s %s%s',
+ $SUDO_CMD, $user, $SUDO_OPT_H, $RM_CMD, $forward_file, $fe);
+ // fprintf($stderr, "\$cmd: %s
\n", $cmd);
+ system($cmd);
}
}
}
@@ -584,6 +617,7 @@ if ($x_wsv_raw || $EXPERT_ENABLED)
// echo ('
'."\n"); // echo ($vacation_list_cmd); // echo (''."\n"); +// fprintf($stderr, "\$vacation_list_cmd: %s