INTRODUCTION
------------

This program attempts to allow configuration of a vacation program from
the Horde/Imp framework.  It allows the setting and removing of vacation
notices and allows the user to set the vacation message text.

PREREQUISITES
-------------

The following prerequisites are REQUIRED.

  1. A successful Horde 2.x installation and all which that entails.

  2. For the FTP based drivers, a vacation program installed, running, and
     working on localhost.  This code is based on a RedHat Linux based
     vacation program and/or the linux port of the 386BSD vacation program
     by Alexey Nogin.  You also need an ftp server installed, running, and
     working on the mailhost, and you will need to have the ftp extensions
     compiled into and enabled in your php program.

  3. For the SQL based drivers, you will need a working sql setup, mail
     software to work with SQL vacation notices, and the proper sql support
     built into your php.


INSTALLING Vacation
-------------------

Vacation is intended to be installed inside the Horde package directory.

Since Vacation is written in PHP, there is no compilation necessary;
simply expand the distribution where you want it to reside (normally
into a directory inside the Horde directory).

For example, with the Apache webserver's default document
root of '/usr/local/apache/htdocs'  and your Horde install in a directory
under that called 'horde' you would type:

   cd /usr/local/apache/htdocs/horde
   tar zxvf /path/to/vacation.tgz

CONFIGURING Vacation
--------------------

1. We assume that you already have a working Horde installation.

2. Configuring Vacation

   To configure Vacation, change to the config/ directory of the
   installed distribution, and make copies of all of the configuration
   "dist" files without the "dist" suffix:

      cd config/
      for foo in *.dist; do cp $foo `basename $foo .dist`; done

   Documentation on the format of those files can be found in each
   file; open each in an editor and make changes as suggested within.

3. Configuring Horde

   To make Vacation appear in Horde, you may need to add an entry to the Horde
   horde/config/registry.php file.  If so, you want to add a section that looks
   like:

$this->applications['vacation'] = array(
    'fileroot' => dirname(__FILE__) . '/../vacation',
    'webroot' => $this->applications['horde']['webroot'] . '/vacation',
    'icon' => $this->applications['horde']['webroot'] . '/vacation/graphics/plane.gif',
    'name' => _("Vacation Notices"),
    'allow_guests' => false,
    'show' => true,
    'status' => 'active'
);

4. Optional Configuration of IMP

   If you have IMP installed, and want to include Vacation in the IMP menu
   bar, you can add the application to IMP as well.  Edit the file
   horde/imp/config/conf.php and include 'vacation' in the list of menu apps,
   for example, it might look like the following:

   $conf['menu']['apps'] = array('turba','passwd','vacation');

THINGS THAT CAN GO WRONG
------------------------

If you get a message from sendmail that it 'cannot mail directly to a program'
you either have an old buggy sendmail or you didn't set up /etc/smrsh correctly
for vacation.

Realize that this module works by setting up a .forward file in the user's
account.  It does this (at the moment) in a exclusive fashion.  If a .forward
already exists, it must be removed first, it does not append/prepend to the
existing file.  This means you can not set both a forward and a vacation
message at the same time.  This is rarely an issue, as you rarely want
to both forward your mail and have a vacation notice on the forwarding
(rather than receiving) end.

If in doubt, please run the horde/test.php file and make sure ftp and/or
sql is enabled in php.

OBTAINING SUPPORT
-----------------

There is a mailing list for support:
  sork@lists.horde.org

You can subscribe or view the archives at:
  http://lists.horde.org/mailman/listinfo/sork/


CREDITS
-------

See the seperate CREDITS file under the docs/ directory.

SECURITY NOTE:
--------------

When using the ftp-based drivers, there are some security concerns.
The basic idea is that it uses ftp to the mailhost to setup or remove
the required files (the .forward and .vacation.* files).

We run Horde/IMP on the mailhost, so the files are created on the
same machine via the loopback network interface. Our ftp server is
completely firewalled off from the network, allowing access only from
localhost.  Hence even though it uses ftp with clear text passwords,
it is a rather secure setup as the data should never leave the mail
server and no other hosts can access the machine via ftp.  Note that
we don't allow logins to this server -- it is a dedicated email server.

Using this module to another host will result in a security risk
as passwords will be transmitted by ftp in the clear.  Using it on
a host that allows interactive (shell) logins may also be a security
risk.  It is up to the installer to evaluate the risks associated with
this module.

