summaryrefslogtreecommitdiffstats
path: root/abs/mv-core/webcal
diff options
context:
space:
mode:
Diffstat (limited to 'abs/mv-core/webcal')
-rwxr-xr-xabs/mv-core/webcal/PKGBUILD35
-rw-r--r--abs/mv-core/webcal/config.php263
-rw-r--r--abs/mv-core/webcal/createdb.sql810
-rw-r--r--abs/mv-core/webcal/posix.tab586
-rw-r--r--abs/mv-core/webcal/send_reminders.patch38
-rw-r--r--abs/mv-core/webcal/sendreminders.sh5
-rw-r--r--abs/mv-core/webcal/settings.php18
-rw-r--r--abs/mv-core/webcal/webcal.install30
8 files changed, 1785 insertions, 0 deletions
diff --git a/abs/mv-core/webcal/PKGBUILD b/abs/mv-core/webcal/PKGBUILD
new file mode 100755
index 0000000..efa8237
--- /dev/null
+++ b/abs/mv-core/webcal/PKGBUILD
@@ -0,0 +1,35 @@
+pkgname=webcalendar
+pkgver=1.2.b1
+pkgrel=11
+pkgdesc="Web based calendar"
+license="GPL"
+arch=('i686')
+
+url="http://www.k5n.us/webcalendar.php"
+source=(http://voxel.dl.sourceforge.net/sourceforge/webcalendar/WebCalendar-1.2.b1.tar.gz config.php settings.php send_reminders.patch createdb.sql sendreminders.sh posix.tab)
+depends="local-website"
+install=webcal.install
+
+build() {
+cd $startdir/src
+mkdir -p $startdir/pkg/data/srv/httpd/htdocs/webcal
+mkdir -p $startdir/pkg/usr/bin
+cp $startdir/src/sendreminders.sh $startdir/pkg/usr/bin/
+chmod 755 $startdir/pkg/usr/bin/sendreminders.sh
+
+cp -rp WebCalendar-$pkgver/* $startdir/pkg/data/srv/httpd/htdocs/webcal
+
+cp createdb.sql $startdir/pkg/data/srv/httpd/htdocs/webcal/
+cp config.php $startdir/pkg/data/srv/httpd/htdocs/webcal/includes
+cp settings.php $startdir/pkg/data/srv/httpd/htdocs/webcal/includes
+cp -f posix.tab $startdir/pkg/data/srv/httpd/htdocs/webcal/includes/zone.tab
+
+cd $startdir/pkg/data/srv/httpd/htdocs/webcal/tools
+
+patch -p0 < $startdir/src/send_reminders.patch
+
+chmod 755 $startdir/pkg/data/srv/httpd/htdocs/webcal/tools/send_reminders.php
+
+
+}
+
diff --git a/abs/mv-core/webcal/config.php b/abs/mv-core/webcal/config.php
new file mode 100644
index 0000000..d803440
--- /dev/null
+++ b/abs/mv-core/webcal/config.php
@@ -0,0 +1,263 @@
+<?php
+/* This file loads configuration settings from the data file settings.php and
+ * sets up some needed variables.
+ *
+ * The settings.php file is created during installation using the web-based db
+ * setup page (install/index.php).
+ *
+ * <b>Note:</b>
+ * DO NOT EDIT THIS FILE!
+ *
+ *
+ * @author Craig Knudsen <cknudsen@cknudsen.com>
+ * @copyright Craig Knudsen, <cknudsen@cknudsen.com>, http://www.k5n.us/cknudsen
+ * @license http://www.gnu.org/licenses/gpl.html GNU GPL
+ * @version $Id: config.php,v 1.75.2.9 2008/02/17 02:21:25 cknudsen Exp $
+ * @package WebCalendar
+ */
+
+/* Prints a fatal error message to the user along with a link to the
+ * Troubleshooting section of the WebCalendar System Administrator's Guide.
+ *
+ * Execution is aborted.
+ *
+ * @param string $error The error message to display
+ * @internal We don't normally put functions in this file. But, since this
+ * file is included before some of the others, this function either
+ * goes here or we repeat this code in multiple files.
+ * Additionally, we don't want to call too many external functions
+ * from here since we could end up calling the function that called
+ * this one.
+ * NOTES: Don't call translate from here. This function if often called
+ * before translation stuff is initialized!
+ */
+function die_miserable_death ( $error ) {
+ global $APPLICATION_NAME, $LANGUAGE, $login, $TROUBLE_URL;
+ // Make sure app name is set.
+ $appStr = ( empty ( $APPLICATION_NAME ) ? 'WebCalendar' : $APPLICATION_NAME );
+
+ $h2_label = $appStr . ' ' . 'Error';
+ $title = $appStr . ': ' . 'Fatal Error';
+ $trouble_label = 'Troubleshooting Help';
+ $user_BGCOLOR = '#FFFFFF';
+
+ echo <<<EOT
+<html>
+ <head><title>{$title}</title></head>
+ <body bgcolor ="{$user_BGCOLOR}">
+ <h2>{$h2_label}</h2>
+ <p>{$error}</p><hr />
+ <p><a href="{$TROUBLE_URL}" target="_blank">{$trouble_label}</a></p>
+ </body>
+</html>
+EOT;
+ exit;
+}
+
+function db_error ( $doExit = false, $sql = '' ) {
+ global $settings;
+
+ $ret = str_replace ( 'XXX', dbi_error (), translate ( 'Database error XXX.' ) )
+ . ( ! empty ( $settings['mode'] ) && $settings['mode'] == 'dev' && !
+ empty ( $sql ) ? '<br />SQL:<br />' . $sql : '' );
+
+ if ( $doExit ) {
+ echo $ret;
+ exit;
+ } else
+ return $ret;
+}
+
+/**
+ * Get the full path to a file located in the webcalendar includes
+ * directory.
+ */
+function get_full_include_path ( $filename )
+{
+ if ( preg_match ( "/(.*)config.php/", __FILE__, $matches ) ) {
+ $fileLoc = $matches[1] . $filename;
+ return $fileLoc;
+ } else {
+ // Oops. This file is not named config.php!
+ die_miserable_death ( "Crap! Someone renamed config.php" );
+ }
+}
+
+function do_config ( $fileLoc ) {
+ global $db_database, $db_host, $db_login, $db_password, $db_persistent,
+ $db_type, $NONUSER_PREFIX, $phpdbiVerbose, $PROGRAM_DATE, $PROGRAM_NAME,
+ $PROGRAM_URL, $PROGRAM_VERSION, $readonly, $run_mode, $settings, $single_user,
+ $single_user_login, $TROUBLE_URL, $use_http_auth, $user_inc;
+
+ $PROGRAM_VERSION = 'v1.2.b1';
+ $PROGRAM_DATE = '25 Feb 2008';
+ $PROGRAM_NAME = 'WebCalendar ' . "$PROGRAM_VERSION ($PROGRAM_DATE)";
+ $PROGRAM_URL = 'http://www.k5n.us/webcalendar.php';
+ $TROUBLE_URL = 'docs/WebCalendar-SysAdmin.html#trouble';
+
+ // Open settings file to read.
+ $settings = array ();
+ if ( file_exists ( $fileLoc ) ) {
+ $fd = @fopen ( $fileLoc, 'rb', true );
+ }
+ if ( empty ( $fd ) && defined ( '__WC_INCLUDEDIR' ) ) {
+ $fd = @fopen ( __WC_INCLUDEDIR . '/settings.php', 'rb', true );
+ if ( $fd )
+ $fileLoc = __WC_INCLUDEDIR . '/settings.php';
+ }
+ // If still empty.... use __FILE__.
+ if ( empty ( $fd ) ) {
+ $testName = get_full_include_path ( "settings.php" );
+ $fd = @fopen ( $fileLoc, 'rb', true );
+ if ( $fd )
+ $fileLoc = $testName;
+ }
+ if ( empty ( $fd ) || filesize ( $fileLoc ) == 0 ) {
+ // There is no settings.php file.
+ // Redirect user to install page if it exists.
+ if ( file_exists ( 'install/index.php' ) ) {
+ header ( 'Location: install/index.php' );
+ exit;
+ } else
+ die_miserable_death (
+ translate ( 'Could not find settings.php file...' ) );
+ }
+
+ // We don't use fgets () since it seems to have problems with Mac-formatted
+ // text files. Instead, we read in the entire file, and split the lines manually.
+ $data = '';
+ while ( ! feof ( $fd ) ) {
+ $data .= fgets ( $fd, 4096 );
+ }
+ fclose ( $fd );
+
+ // Replace any combination of carriage return (\r) and new line (\n)
+ // with a single new line.
+ $data = preg_replace ( "/[\r\n]+/", "\n", $data );
+
+ // Split the data into lines.
+ $configLines = explode ( "\n", $data );
+
+ for ( $n = 0, $cnt = count ( $configLines ); $n < $cnt; $n++ ) {
+ $buffer = trim ( $configLines[$n], "\r\n " );
+ if ( preg_match ( '/^#|\/\*/', $buffer ) || // comments
+ preg_match ( '/^<\?/', $buffer ) || // start PHP code
+ preg_match ( '/^\?>/', $buffer ) ) // end PHP code
+ continue;
+ if ( preg_match ( '/(\S+):\s*(\S+)/', $buffer, $matches ) )
+ $settings[$matches[1]] = $matches[2];
+ // echo "settings $matches[1] => $matches[2]<br />";
+ }
+ $configLines = $data = '';
+
+ // Extract db settings into global vars.
+ $db_database = $settings['db_database'];
+ $db_host = $settings['db_host'];
+ $db_login = $settings['db_login'];
+ $db_password = $settings['db_password'];
+ $db_persistent = ( preg_match ( '/(1|yes|true|on)/i',
+ $settings['db_persistent'] ) ? '1' : '0' );
+ $db_type = $settings['db_type'];
+
+ // If no db settings, then user has likely started install but not yet
+ // completed. So, send them back to the install script.
+ if ( empty ( $db_type ) ) {
+ if ( file_exists ( 'install/index.php' ) ) {
+ header ( 'Location: install/index.php' );
+ exit;
+ } else
+ die_miserable_death (
+ translate ( 'Incomplete settings.php file...' ) );
+ }
+
+ // Use 'db_cachedir' if found, otherwise look for 'cachedir'.
+ if ( ! empty ( $settings['db_cachedir'] ) )
+ dbi_init_cache ( $settings['db_cachedir'] );
+ else
+ if ( ! empty ( $settings['cachedir'] ) )
+ dbi_init_cache ( $settings['cachedir'] );
+
+ if ( ! empty ( $settings['db_debug'] ) &&
+ preg_match ( '/(1|true|yes|enable|on)/i', $settings['db_debug'] ) )
+ dbi_set_debug ( true );
+
+ foreach ( array ( 'db_type', 'db_host', 'db_login', 'db_password' ) as $s ) {
+ if ( empty ( $settings[$s] ) )
+ die_miserable_death ( str_replace ( 'XXX', $s,
+ translate ( 'Could not find XXX defined in...' ) ) );
+ }
+
+ // Allow special settings of 'none' in some settings[] values.
+ // This can be used for db servers not using TCP port for connection.
+ $db_host = ( $db_host == 'none' ? '' : $db_host );
+ $db_password = ( $db_password == 'none' ? '' : $db_password );
+
+ $readonly = preg_match ( '/(1|yes|true|on)/i',
+ $settings['readonly'] ) ? 'Y' : 'N';
+
+ if ( empty ( $settings['mode'] ) )
+ $settings['mode'] = 'prod';
+
+ $run_mode = ( preg_match ( '/(dev)/i', $settings['mode'] ) ? 'dev' : 'prod' );
+ $phpdbiVerbose = ( $run_mode == 'dev' ) ;
+ $single_user = preg_match ( '/(1|yes|true|on)/i',
+ $settings['single_user'] ) ? 'Y' : 'N';
+
+ if ( $single_user == 'Y' )
+ $single_user_login = $settings['single_user_login'];
+
+ if ( $single_user == 'Y' && empty ( $single_user_login ) )
+ die_miserable_death ( str_replace ( 'XXX', 'single_user_login',
+ translate ( 'You must define XXX in' ) ) );
+
+ $use_http_auth = ( preg_match ( '/(1|yes|true|on)/i',
+ $settings['use_http_auth'] ) ? true : false );
+
+ // Type of user authentication.
+ $user_inc = $settings['user_inc'];
+
+ // If sqlite, the db file is in the include directory
+ if ( $db_type == 'sqlite' )
+ $db_database = get_full_include_path ( $db_database );
+
+ // Check the current installation version.
+ // Redirect user to install page if it is different from stored value.
+ // This will prevent running WebCalendar until UPGRADING.html has been
+ // read and required upgrade actions completed.
+ $c = @dbi_connect ( $db_host, $db_login, $db_password, $db_database, false );
+ if ( $c ) {
+ $rows = dbi_get_cached_rows ( 'SELECT cal_value FROM webcal_config
+ WHERE cal_setting = \'WEBCAL_PROGRAM_VERSION\'' );
+ if ( ! $rows ) {
+ // &amp; does not work here...leave it as &.
+ header ( 'Location: install/index.php?action=mismatch&version=UNKNOWN' );
+ exit;
+ } else {
+ $row = $rows[0];
+ if ( empty ( $row ) || $row[0] != $PROGRAM_VERSION ) {
+ // &amp; does not work here...leave it as &.
+ header ( 'Location: install/index.php?action=mismatch&version='
+ . ( empty ( $row ) ? 'UNKNOWN' : $row[0] ) );
+ exit;
+ }
+ }
+ dbi_close ( $c );
+ } else { // Must mean we don't have a settings.php file.
+ // NOTE: if we get a connect error when running send_reminders.php,
+ // we may want to show that error message here.
+ // &amp; does not work here...leave it as &.
+ header ( 'Location: install/index.php?action=mismatch&version=UNKNOWN' );
+ exit;
+ }
+
+ // We can add extra 'nonuser' calendars such as a holiday, corporate,
+ // departmental, etc. We need a unique prefix for these calendars
+ // so we don't get them mixed up with real logins. This prefix should be
+ // a maximum of 5 characters and should NOT change once set!
+ $NONUSER_PREFIX = '_NUC_';
+
+ if ( $single_user != 'Y' )
+ $single_user_login = '';
+}
+
+?>
diff --git a/abs/mv-core/webcal/createdb.sql b/abs/mv-core/webcal/createdb.sql
new file mode 100644
index 0000000..e511483
--- /dev/null
+++ b/abs/mv-core/webcal/createdb.sql
@@ -0,0 +1,810 @@
+-- MySQL dump 10.11
+--
+-- Host: localhost Database: webcal
+-- ------------------------------------------------------
+-- Server version 5.0.60
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!40101 SET NAMES utf8 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `webcal_access_function`
+--
+
+DROP TABLE IF EXISTS `webcal_access_function`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_access_function` (
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_permissions` varchar(64) collate latin1_general_ci NOT NULL,
+ PRIMARY KEY (`cal_login`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_access_function`
+--
+
+LOCK TABLES `webcal_access_function` WRITE;
+/*!40000 ALTER TABLE `webcal_access_function` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_access_function` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_access_user`
+--
+
+DROP TABLE IF EXISTS `webcal_access_user`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_access_user` (
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_other_user` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_can_view` int(11) NOT NULL default '0',
+ `cal_can_edit` int(11) NOT NULL default '0',
+ `cal_can_approve` int(11) NOT NULL default '0',
+ `cal_can_invite` char(1) collate latin1_general_ci default 'Y',
+ `cal_can_email` char(1) collate latin1_general_ci default 'Y',
+ `cal_see_time_only` char(1) collate latin1_general_ci default 'N',
+ PRIMARY KEY (`cal_login`,`cal_other_user`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_access_user`
+--
+
+LOCK TABLES `webcal_access_user` WRITE;
+/*!40000 ALTER TABLE `webcal_access_user` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_access_user` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_asst`
+--
+
+DROP TABLE IF EXISTS `webcal_asst`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_asst` (
+ `cal_boss` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_assistant` varchar(25) collate latin1_general_ci NOT NULL,
+ PRIMARY KEY (`cal_boss`,`cal_assistant`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_asst`
+--
+
+LOCK TABLES `webcal_asst` WRITE;
+/*!40000 ALTER TABLE `webcal_asst` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_asst` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_blob`
+--
+
+DROP TABLE IF EXISTS `webcal_blob`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_blob` (
+ `cal_blob_id` int(11) NOT NULL,
+ `cal_id` int(11) default NULL,
+ `cal_login` varchar(25) collate latin1_general_ci default NULL,
+ `cal_name` varchar(30) collate latin1_general_ci default NULL,
+ `cal_description` varchar(128) collate latin1_general_ci default NULL,
+ `cal_size` int(11) default NULL,
+ `cal_mime_type` varchar(50) collate latin1_general_ci default NULL,
+ `cal_type` char(1) collate latin1_general_ci NOT NULL,
+ `cal_mod_date` int(11) NOT NULL,
+ `cal_mod_time` int(11) NOT NULL,
+ `cal_blob` longblob,
+ PRIMARY KEY (`cal_blob_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_blob`
+--
+
+LOCK TABLES `webcal_blob` WRITE;
+/*!40000 ALTER TABLE `webcal_blob` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_blob` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_categories`
+--
+
+DROP TABLE IF EXISTS `webcal_categories`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_categories` (
+ `cat_id` int(11) NOT NULL,
+ `cat_owner` varchar(25) collate latin1_general_ci default NULL,
+ `cat_name` varchar(80) collate latin1_general_ci NOT NULL,
+ `cat_color` varchar(8) collate latin1_general_ci default NULL,
+ PRIMARY KEY (`cat_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_categories`
+--
+
+LOCK TABLES `webcal_categories` WRITE;
+/*!40000 ALTER TABLE `webcal_categories` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_categories` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_config`
+--
+
+DROP TABLE IF EXISTS `webcal_config`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_config` (
+ `cal_setting` varchar(50) collate latin1_general_ci NOT NULL,
+ `cal_value` varchar(100) collate latin1_general_ci default NULL,
+ PRIMARY KEY (`cal_setting`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_config`
+--
+
+LOCK TABLES `webcal_config` WRITE;
+/*!40000 ALTER TABLE `webcal_config` DISABLE KEYS */;
+INSERT INTO `webcal_config` VALUES ('SERVER_URL','http://vmtest/webcal/'),('APPLICATION_NAME','Title'),('ADD_LINK_IN_VIEWS','N'),('ADMIN_OVERRIDE_UAC','Y'),('ALLOW_ATTACH','N'),('ALLOW_ATTACH_ANY','N'),('ALLOW_ATTACH_PART','N'),('ALLOW_COLOR_CUSTOMIZATION','Y'),('ALLOW_COMMENTS','N'),('ALLOW_COMMENTS_ANY','N'),('ALLOW_COMMENTS_PART','N'),('ALLOW_CONFLICT_OVERRIDE','Y'),('ALLOW_CONFLICTS','N'),('ALLOW_EXTERNAL_HEADER','N'),('ALLOW_EXTERNAL_USERS','N'),('ALLOW_HTML_DESCRIPTION','Y'),('ALLOW_SELF_REGISTRATION','N'),('ALLOW_USER_HEADER','N'),('ALLOW_USER_THEMES','Y'),('ALLOW_VIEW_OTHER','Y'),('APPROVE_ASSISTANT_EVENT','Y'),('AUTO_REFRESH','N'),('AUTO_REFRESH_TIME','0'),('BGCOLOR','#FFFFFF'),('BGIMAGE',''),('BGREPEAT','repeat fixed center'),('BOLD_DAYS_IN_YEAR','Y'),('CAPTIONS','#B04040'),('CATEGORIES_ENABLED','Y'),('CELLBG','#C0C0C0'),('CONFLICT_REPEAT_MONTHS','6'),('CUSTOM_HEADER','N'),('CUSTOM_SCRIPT','N'),('CUSTOM_TRAILER','N'),('DATE_FORMAT','LANGUAGE_DEFINED'),('DATE_FORMAT_MD','LANGUAGE_DEFINED'),('DATE_FORMAT_MY','LANGUAGE_DEFINED'),('DATE_FORMAT_TASK','LANGUAGE_DEFINED'),('DEMO_MODE','N'),('DISABLE_ACCESS_FIELD','N'),('DISABLE_CROSSDAY_EVENTS','N'),('DISABLE_LOCATION_FIELD','N'),('DISABLE_PARTICIPANTS_FIELD','N'),('DISABLE_POPUPS','N'),('DISABLE_PRIORITY_FIELD','N'),('DISABLE_REMINDER_FIELD','N'),('DISABLE_REPEATING_FIELD','N'),('DISABLE_URL_FIELD','Y'),('DISPLAY_ALL_DAYS_IN_MONTH','N'),('DISPLAY_CREATED_BYPROXY','Y'),('DISPLAY_DESC_PRINT_DAY','Y'),('DISPLAY_END_TIMES','N'),('DISPLAY_LOCATION','N'),('DISPLAY_LONG_DAYS','N'),('DISPLAY_MINUTES','N'),('DISPLAY_MOON_PHASES','N'),('DISPLAY_SM_MONTH','Y'),('DISPLAY_TASKS','N'),('DISPLAY_TASKS_IN_GRID','N'),('DISPLAY_UNAPPROVED','Y'),('DISPLAY_WEEKENDS','Y'),('DISPLAY_WEEKNUMBER','Y'),('EMAIL_ASSISTANT_EVENTS','Y'),('EMAIL_EVENT_ADDED','Y'),('EMAIL_EVENT_CREATE','N'),('EMAIL_EVENT_DELETED','Y'),('EMAIL_EVENT_REJECTED','Y'),('EMAIL_EVENT_UPDATED','Y'),('EMAIL_FALLBACK_FROM','youremailhere'),('EMAIL_HTML','N'),('EMAIL_MAILER','mail'),('EMAIL_REMINDER','Y'),('ENABLE_CAPTCHA','N'),('ENABLE_GRADIENTS','N'),('ENABLE_ICON_UPLOADS','N'),('ENTRY_SLOTS','144'),('EXTERNAL_NOTIFICATIONS','N'),('EXTERNAL_REMINDERS','N'),('FONTS','Arial, Helvetica, sans-serif'),('FREEBUSY_ENABLED','N'),('GENERAL_USE_GMT','Y'),('GROUPS_ENABLED','N'),('H2COLOR','#000000'),('HASEVENTSBG','#FFFF33'),('IMPORT_CATEGORIES','Y'),('LANGUAGE','none'),('LIMIT_APPTS','N'),('LIMIT_APPTS_NUMBER','6'),('LIMIT_DESCRIPTION_SIZE','N'),('MENU_DATE_TOP','Y'),('MENU_ENABLED','Y'),('MENU_THEME','default'),('MYEVENTS','#006000'),('NONUSER_AT_TOP','Y'),('NONUSER_ENABLED','Y'),('OTHERMONTHBG','#D0D0D0'),('OVERRIDE_PUBLIC','N'),('OVERRIDE_PUBLIC_TEXT','Not available'),('PARTICIPANTS_IN_POPUP','N'),('PLUGINS_ENABLED','N'),('POPUP_BG','#FFFFFF'),('POPUP_FG','#000000'),('PUBLIC_ACCESS','N'),('PUBLIC_ACCESS_ADD_NEEDS_APPROVAL','N'),('PUBLIC_ACCESS_CAN_ADD','N'),('PUBLIC_ACCESS_DEFAULT_SELECTED','N'),('PUBLIC_ACCESS_DEFAULT_VISIBLE','N'),('PUBLIC_ACCESS_OTHERS','Y'),('PUBLIC_ACCESS_VIEW_PART','N'),('PUBLISH_ENABLED','Y'),('PULLDOWN_WEEKNUMBER','N'),('REMEMBER_LAST_LOGIN','N'),('REMINDER_DEFAULT','N'),('REMINDER_OFFSET','240'),('REMINDER_WITH_DATE','N'),('REMOTES_ENABLED','N'),('REPORTS_ENABLED','N'),('REQUIRE_APPROVALS','Y'),('RSS_ENABLED','N'),('SELF_REGISTRATION_BLACKLIST','N'),('SELF_REGISTRATION_FULL','Y'),('SEND_EMAIL','N'),('SERVER_TIMEZONE','America/New_York'),('SITE_EXTRAS_IN_POPUP','N'),('SMTP_AUTH','N'),('SMTP_HOST','localhost'),('SMTP_PASSWORD',''),('SMTP_PORT','25'),('SMTP_USERNAME',''),('STARTVIEW','month.php'),('SUMMARY_LENGTH','80'),('TABLEBG','#000000'),('TEXTCOLOR','#000000'),('THBG','#FFFFFF'),('THFG','#000000'),('TIME_FORMAT','12'),('TIME_SLOTS','24'),('TIME_SPACER','&raquo;&nbsp;'),('TIMED_EVT_LEN','D'),('TIMEZONE','America/New_York'),('TODAYCELLBG','#FFFF33'),('UAC_ENABLED','N'),('USER_PUBLISH_ENABLED','Y'),('USER_PUBLISH_RW_ENABLED','Y'),('USER_RSS_ENABLED','N'),('USER_SEES_ONLY_HIS_GROUPS','Y'),('USER_SORT_ORDER','cal_lastname, cal_firstname'),('WEBCAL_PROGRAM_VERSION','v1.2.b1'),('WEEK_START','0'),('WEEKEND_START','6'),('WEEKENDBG','#D0D0D0'),('WEEKNUMBER','#FF6633'),('WORK_DAY_END_HOUR','17'),('WORK_DAY_START_HOUR','8');
+/*!40000 ALTER TABLE `webcal_config` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_entry`
+--
+
+DROP TABLE IF EXISTS `webcal_entry`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_entry` (
+ `cal_id` int(11) NOT NULL,
+ `cal_group_id` int(11) default NULL,
+ `cal_ext_for_id` int(11) default NULL,
+ `cal_create_by` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_date` int(11) NOT NULL,
+ `cal_time` int(11) default NULL,
+ `cal_mod_date` int(11) default NULL,
+ `cal_mod_time` int(11) default NULL,
+ `cal_duration` int(11) NOT NULL,
+ `cal_due_date` int(11) default NULL,
+ `cal_due_time` int(11) default NULL,
+ `cal_priority` int(11) default '5',
+ `cal_type` char(1) collate latin1_general_ci default 'E',
+ `cal_access` char(1) collate latin1_general_ci default 'P',
+ `cal_name` varchar(80) collate latin1_general_ci NOT NULL,
+ `cal_location` varchar(100) collate latin1_general_ci default NULL,
+ `cal_url` varchar(100) collate latin1_general_ci default NULL,
+ `cal_completed` int(11) default NULL,
+ `cal_description` text collate latin1_general_ci,
+ PRIMARY KEY (`cal_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_entry`
+--
+
+LOCK TABLES `webcal_entry` WRITE;
+/*!40000 ALTER TABLE `webcal_entry` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_entry` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_entry_categories`
+--
+
+DROP TABLE IF EXISTS `webcal_entry_categories`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_entry_categories` (
+ `cal_id` int(11) NOT NULL default '0',
+ `cat_id` int(11) NOT NULL default '0',
+ `cat_order` int(11) NOT NULL default '0',
+ `cat_owner` varchar(25) collate latin1_general_ci default NULL
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_entry_categories`
+--
+
+LOCK TABLES `webcal_entry_categories` WRITE;
+/*!40000 ALTER TABLE `webcal_entry_categories` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_entry_categories` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_entry_ext_user`
+--
+
+DROP TABLE IF EXISTS `webcal_entry_ext_user`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_entry_ext_user` (
+ `cal_id` int(11) NOT NULL default '0',
+ `cal_fullname` varchar(50) collate latin1_general_ci NOT NULL,
+ `cal_email` varchar(75) collate latin1_general_ci default NULL,
+ PRIMARY KEY (`cal_id`,`cal_fullname`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_entry_ext_user`
+--
+
+LOCK TABLES `webcal_entry_ext_user` WRITE;
+/*!40000 ALTER TABLE `webcal_entry_ext_user` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_entry_ext_user` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_entry_log`
+--
+
+DROP TABLE IF EXISTS `webcal_entry_log`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_entry_log` (
+ `cal_log_id` int(11) NOT NULL,
+ `cal_entry_id` int(11) NOT NULL,
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_user_cal` varchar(25) collate latin1_general_ci default NULL,
+ `cal_type` char(1) collate latin1_general_ci NOT NULL,
+ `cal_date` int(11) NOT NULL,
+ `cal_time` int(11) default NULL,
+ `cal_text` text collate latin1_general_ci,
+ PRIMARY KEY (`cal_log_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_entry_log`
+--
+
+LOCK TABLES `webcal_entry_log` WRITE;
+/*!40000 ALTER TABLE `webcal_entry_log` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_entry_log` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_entry_repeats`
+--
+
+DROP TABLE IF EXISTS `webcal_entry_repeats`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_entry_repeats` (
+ `cal_id` int(11) NOT NULL default '0',
+ `cal_type` varchar(20) collate latin1_general_ci default NULL,
+ `cal_end` int(11) default NULL,
+ `cal_endtime` int(11) default NULL,
+ `cal_frequency` int(11) default '1',
+ `cal_days` char(7) collate latin1_general_ci default NULL,
+ `cal_bymonth` varchar(50) collate latin1_general_ci default NULL,
+ `cal_bymonthday` varchar(100) collate latin1_general_ci default NULL,
+ `cal_byday` varchar(100) collate latin1_general_ci default NULL,
+ `cal_bysetpos` varchar(50) collate latin1_general_ci default NULL,
+ `cal_byweekno` varchar(50) collate latin1_general_ci default NULL,
+ `cal_byyearday` varchar(50) collate latin1_general_ci default NULL,
+ `cal_wkst` char(2) collate latin1_general_ci default 'MO',
+ `cal_count` int(11) default NULL,
+ PRIMARY KEY (`cal_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_entry_repeats`
+--
+
+LOCK TABLES `webcal_entry_repeats` WRITE;
+/*!40000 ALTER TABLE `webcal_entry_repeats` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_entry_repeats` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_entry_repeats_not`
+--
+
+DROP TABLE IF EXISTS `webcal_entry_repeats_not`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_entry_repeats_not` (
+ `cal_id` int(11) NOT NULL,
+ `cal_date` int(11) NOT NULL,
+ `cal_exdate` int(1) NOT NULL default '1',
+ PRIMARY KEY (`cal_id`,`cal_date`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_entry_repeats_not`
+--
+
+LOCK TABLES `webcal_entry_repeats_not` WRITE;
+/*!40000 ALTER TABLE `webcal_entry_repeats_not` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_entry_repeats_not` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_entry_user`
+--
+
+DROP TABLE IF EXISTS `webcal_entry_user`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_entry_user` (
+ `cal_id` int(11) NOT NULL default '0',
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_status` char(1) collate latin1_general_ci default 'A',
+ `cal_category` int(11) default NULL,
+ `cal_percent` int(11) NOT NULL default '0',
+ PRIMARY KEY (`cal_id`,`cal_login`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_entry_user`
+--
+
+LOCK TABLES `webcal_entry_user` WRITE;
+/*!40000 ALTER TABLE `webcal_entry_user` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_entry_user` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_group`
+--
+
+DROP TABLE IF EXISTS `webcal_group`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_group` (
+ `cal_group_id` int(11) NOT NULL,
+ `cal_owner` varchar(25) collate latin1_general_ci default NULL,
+ `cal_name` varchar(50) collate latin1_general_ci NOT NULL,
+ `cal_last_update` int(11) NOT NULL,
+ PRIMARY KEY (`cal_group_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_group`
+--
+
+LOCK TABLES `webcal_group` WRITE;
+/*!40000 ALTER TABLE `webcal_group` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_group` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_group_user`
+--
+
+DROP TABLE IF EXISTS `webcal_group_user`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_group_user` (
+ `cal_group_id` int(11) NOT NULL,
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ PRIMARY KEY (`cal_group_id`,`cal_login`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_group_user`
+--
+
+LOCK TABLES `webcal_group_user` WRITE;
+/*!40000 ALTER TABLE `webcal_group_user` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_group_user` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_import`
+--
+
+DROP TABLE IF EXISTS `webcal_import`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_import` (
+ `cal_import_id` int(11) NOT NULL,
+ `cal_name` varchar(50) collate latin1_general_ci default NULL,
+ `cal_date` int(11) NOT NULL,
+ `cal_type` varchar(10) collate latin1_general_ci NOT NULL,
+ `cal_login` varchar(25) collate latin1_general_ci default NULL,
+ PRIMARY KEY (`cal_import_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_import`
+--
+
+LOCK TABLES `webcal_import` WRITE;
+/*!40000 ALTER TABLE `webcal_import` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_import` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_import_data`
+--
+
+DROP TABLE IF EXISTS `webcal_import_data`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_import_data` (
+ `cal_import_id` int(11) NOT NULL,
+ `cal_id` int(11) NOT NULL,
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_import_type` varchar(15) collate latin1_general_ci NOT NULL,
+ `cal_external_id` varchar(200) collate latin1_general_ci default NULL,
+ PRIMARY KEY (`cal_id`,`cal_login`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_import_data`
+--
+
+LOCK TABLES `webcal_import_data` WRITE;
+/*!40000 ALTER TABLE `webcal_import_data` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_import_data` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_nonuser_cals`
+--
+
+DROP TABLE IF EXISTS `webcal_nonuser_cals`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_nonuser_cals` (
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_lastname` varchar(25) collate latin1_general_ci default NULL,
+ `cal_firstname` varchar(25) collate latin1_general_ci default NULL,
+ `cal_admin` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_is_public` char(1) collate latin1_general_ci NOT NULL default 'N',
+ `cal_url` varchar(255) collate latin1_general_ci default NULL,
+ PRIMARY KEY (`cal_login`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_nonuser_cals`
+--
+
+LOCK TABLES `webcal_nonuser_cals` WRITE;
+/*!40000 ALTER TABLE `webcal_nonuser_cals` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_nonuser_cals` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_reminders`
+--
+
+DROP TABLE IF EXISTS `webcal_reminders`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_reminders` (
+ `cal_id` int(11) NOT NULL default '0',
+ `cal_date` int(11) NOT NULL default '0',
+ `cal_offset` int(11) NOT NULL default '0',
+ `cal_related` char(1) collate latin1_general_ci NOT NULL default 'S',
+ `cal_before` char(1) collate latin1_general_ci NOT NULL default 'Y',
+ `cal_last_sent` int(11) NOT NULL default '0',
+ `cal_repeats` int(11) NOT NULL default '0',
+ `cal_duration` int(11) NOT NULL default '0',
+ `cal_times_sent` int(11) NOT NULL default '0',
+ `cal_action` varchar(12) collate latin1_general_ci NOT NULL default 'EMAIL',
+ PRIMARY KEY (`cal_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_reminders`
+--
+
+LOCK TABLES `webcal_reminders` WRITE;
+/*!40000 ALTER TABLE `webcal_reminders` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_reminders` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_report`
+--
+
+DROP TABLE IF EXISTS `webcal_report`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_report` (
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_report_id` int(11) NOT NULL,
+ `cal_is_global` char(1) collate latin1_general_ci NOT NULL default 'N',
+ `cal_report_type` varchar(20) collate latin1_general_ci NOT NULL,
+ `cal_include_header` char(1) collate latin1_general_ci NOT NULL default 'Y',
+ `cal_report_name` varchar(50) collate latin1_general_ci NOT NULL,
+ `cal_time_range` int(11) NOT NULL,
+ `cal_user` varchar(25) collate latin1_general_ci default NULL,
+ `cal_allow_nav` char(1) collate latin1_general_ci default 'Y',
+ `cal_cat_id` int(11) default NULL,
+ `cal_include_empty` char(1) collate latin1_general_ci default 'N',
+ `cal_show_in_trailer` char(1) collate latin1_general_ci default 'N',
+ `cal_update_date` int(11) NOT NULL,
+ PRIMARY KEY (`cal_report_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_report`
+--
+
+LOCK TABLES `webcal_report` WRITE;
+/*!40000 ALTER TABLE `webcal_report` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_report` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_report_template`
+--
+
+DROP TABLE IF EXISTS `webcal_report_template`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_report_template` (
+ `cal_report_id` int(11) NOT NULL,
+ `cal_template_type` char(1) collate latin1_general_ci NOT NULL,
+ `cal_template_text` text collate latin1_general_ci,
+ PRIMARY KEY (`cal_report_id`,`cal_template_type`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_report_template`
+--
+
+LOCK TABLES `webcal_report_template` WRITE;
+/*!40000 ALTER TABLE `webcal_report_template` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_report_template` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_site_extras`
+--
+
+DROP TABLE IF EXISTS `webcal_site_extras`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_site_extras` (
+ `cal_id` int(11) NOT NULL default '0',
+ `cal_name` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_type` int(11) NOT NULL,
+ `cal_date` int(11) default '0',
+ `cal_remind` int(11) default '0',
+ `cal_data` text collate latin1_general_ci
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_site_extras`
+--
+
+LOCK TABLES `webcal_site_extras` WRITE;
+/*!40000 ALTER TABLE `webcal_site_extras` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_site_extras` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_timezones`
+--
+
+DROP TABLE IF EXISTS `webcal_timezones`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_timezones` (
+ `tzid` varchar(100) collate latin1_general_ci NOT NULL default '',
+ `dtstart` varchar(25) collate latin1_general_ci default NULL,
+ `dtend` varchar(25) collate latin1_general_ci default NULL,
+ `vtimezone` text collate latin1_general_ci,
+ PRIMARY KEY (`tzid`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_timezones`
+--
+
+LOCK TABLES `webcal_timezones` WRITE;
+/*!40000 ALTER TABLE `webcal_timezones` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_timezones` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_user`
+--
+
+DROP TABLE IF EXISTS `webcal_user`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_user` (
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_passwd` varchar(32) collate latin1_general_ci default NULL,
+ `cal_lastname` varchar(25) collate latin1_general_ci default NULL,
+ `cal_firstname` varchar(25) collate latin1_general_ci default NULL,
+ `cal_is_admin` char(1) collate latin1_general_ci default 'N',
+ `cal_email` varchar(75) collate latin1_general_ci default NULL,
+ `cal_enabled` char(1) collate latin1_general_ci default 'Y',
+ `cal_telephone` varchar(50) collate latin1_general_ci default NULL,
+ `cal_address` varchar(75) collate latin1_general_ci default NULL,
+ `cal_title` varchar(75) collate latin1_general_ci default NULL,
+ `cal_birthday` int(11) default NULL,
+ `cal_last_login` int(11) default NULL,
+ PRIMARY KEY (`cal_login`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_user`
+--
+
+LOCK TABLES `webcal_user` WRITE;
+/*!40000 ALTER TABLE `webcal_user` DISABLE KEYS */;
+INSERT INTO `webcal_user` VALUES ('Me','318b2739ddc2c16c97b33c9b04b79f3e',NULL,NULL,'Y',NULL,'Y',NULL,NULL,NULL,NULL,NULL);
+/*!40000 ALTER TABLE `webcal_user` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_user_layers`
+--
+
+DROP TABLE IF EXISTS `webcal_user_layers`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_user_layers` (
+ `cal_layerid` int(11) NOT NULL default '0',
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_layeruser` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_color` varchar(25) collate latin1_general_ci default NULL,
+ `cal_dups` char(1) collate latin1_general_ci default 'N',
+ PRIMARY KEY (`cal_login`,`cal_layeruser`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_user_layers`
+--
+
+LOCK TABLES `webcal_user_layers` WRITE;
+/*!40000 ALTER TABLE `webcal_user_layers` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_user_layers` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_user_pref`
+--
+
+DROP TABLE IF EXISTS `webcal_user_pref`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_user_pref` (
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_setting` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_value` varchar(100) collate latin1_general_ci default NULL,
+ PRIMARY KEY (`cal_login`,`cal_setting`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_user_pref`
+--
+
+LOCK TABLES `webcal_user_pref` WRITE;
+/*!40000 ALTER TABLE `webcal_user_pref` DISABLE KEYS */;
+INSERT INTO `webcal_user_pref` VALUES ('Me','LANGUAGE','none'),('Me','TIMEZONE','America/New_York'),('Me','DATE_FORMAT','LANGUAGE_DEFINED'),('Me','DATE_FORMAT_MY','LANGUAGE_DEFINED'),('Me','DATE_FORMAT_MD','LANGUAGE_DEFINED'),('Me','DATE_FORMAT_TASK','LANGUAGE_DEFINED'),('Me','TIME_FORMAT','12'),('Me','WEEK_START','0'),('Me','WEEKEND_START','6'),('Me','WORK_DAY_START_HOUR','8'),('Me','WORK_DAY_END_HOUR','17'),('Me','STARTVIEW','month.php'),('Me','FONTS','Arial, Helvetica, sans-serif'),('Me','DISPLAY_SM_MONTH','N'),('Me','DISPLAY_WEEKENDS','Y'),('Me','DISPLAY_LONG_DAYS','N'),('Me','DISPLAY_MINUTES','N'),('Me','DISPLAY_END_TIMES','N'),('Me','DISPLAY_ALL_DAYS_IN_MONTH','N'),('Me','DISPLAY_WEEKNUMBER','Y'),('Me','DISPLAY_TASKS','N'),('Me','DISPLAY_TASKS_IN_GRID','N'),('Me','DISPLAY_MOON_PHASES','N'),('Me','DISPLAY_UNAPPROVED','Y'),('Me','TIMED_EVT_LEN','D'),('Me','CATEGORY_VIEW','0'),('Me','DISABLE_CROSSDAY_EVENTS','N'),('Me','DISPLAY_DESC_PRINT_DAY','Y'),('Me','ENTRY_SLOTS','144'),('Me','TIME_SLOTS','24'),('Me','AUTO_REFRESH','N'),('Me','AUTO_REFRESH_TIME','0'),('Me','THEME','none'),('Me','MENU_THEME','default'),('Me','APPROVE_ASSISTANT_EVENT','Y'),('Me','DISPLAY_CREATED_BYPROXY','Y'),('Me','USER_REMOTE_ACCESS','0'),('Me','USER_PUBLISH_ENABLED','Y'),('Me','USER_PUBLISH_RW_ENABLED','Y'),('Me','FREEBUSY_ENABLED','N'),('Me','BGCOLOR','#FFFFFF'),('Me','H2COLOR','#000000'),('Me','TEXTCOLOR','#000000'),('Me','MYEVENTS','#006000'),('Me','TABLEBG','#000000'),('Me','THBG','#FFFFFF'),('Me','THFG','#000000'),('Me','CELLBG','#C0C0C0'),('Me','TODAYCELLBG','#FFFF33'),('Me','HASEVENTSBG','#FFFF33'),('Me','WEEKENDBG','#D0D0D0'),('Me','OTHERMONTHBG','#D0D0D0'),('Me','WEEKNUMBER','#FF6633'),('Me','POPUP_BG','#FFFFFF'),('Me','POPUP_FG','#000000');
+/*!40000 ALTER TABLE `webcal_user_pref` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_user_template`
+--
+
+DROP TABLE IF EXISTS `webcal_user_template`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_user_template` (
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_type` char(1) collate latin1_general_ci NOT NULL,
+ `cal_template_text` text collate latin1_general_ci,
+ PRIMARY KEY (`cal_login`,`cal_type`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_user_template`
+--
+
+LOCK TABLES `webcal_user_template` WRITE;
+/*!40000 ALTER TABLE `webcal_user_template` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_user_template` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_view`
+--
+
+DROP TABLE IF EXISTS `webcal_view`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_view` (
+ `cal_view_id` int(11) NOT NULL,
+ `cal_owner` varchar(25) collate latin1_general_ci NOT NULL,
+ `cal_name` varchar(50) collate latin1_general_ci NOT NULL,
+ `cal_view_type` char(1) collate latin1_general_ci default NULL,
+ `cal_is_global` char(1) collate latin1_general_ci NOT NULL default 'N',
+ PRIMARY KEY (`cal_view_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_view`
+--
+
+LOCK TABLES `webcal_view` WRITE;
+/*!40000 ALTER TABLE `webcal_view` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_view` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `webcal_view_user`
+--
+
+DROP TABLE IF EXISTS `webcal_view_user`;
+SET @saved_cs_client = @@character_set_client;
+SET character_set_client = utf8;
+CREATE TABLE `webcal_view_user` (
+ `cal_view_id` int(11) NOT NULL,
+ `cal_login` varchar(25) collate latin1_general_ci NOT NULL,
+ PRIMARY KEY (`cal_view_id`,`cal_login`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
+SET character_set_client = @saved_cs_client;
+
+--
+-- Dumping data for table `webcal_view_user`
+--
+
+LOCK TABLES `webcal_view_user` WRITE;
+/*!40000 ALTER TABLE `webcal_view_user` DISABLE KEYS */;
+/*!40000 ALTER TABLE `webcal_view_user` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2008-08-04 17:58:18
diff --git a/abs/mv-core/webcal/posix.tab b/abs/mv-core/webcal/posix.tab
new file mode 100644
index 0000000..ca20ef0
--- /dev/null
+++ b/abs/mv-core/webcal/posix.tab
@@ -0,0 +1,586 @@
+- -
+- - Europe
+- - Europe/Belfast
+- - Europe/Paris
+- - Europe/Bratislava
+- - Europe/Monaco
+- - Europe/Vilnius
+- - Europe/Skopje
+- - Europe/Chisinau
+- - Europe/Nicosia
+- - Europe/Rome
+- - Europe/Gibraltar
+- - Europe/Sarajevo
+- - Europe/Budapest
+- - Europe/Moscow
+- - Europe/Ljubljana
+- - Europe/Copenhagen
+- - Europe/London
+- - Europe/Simferopol
+- - Europe/Andorra
+- - Europe/Guernsey
+- - Europe/Volgograd
+- - Europe/Mariehamn
+- - Europe/Luxembourg
+- - Europe/Amsterdam
+- - Europe/Jersey
+- - Europe/Athens
+- - Europe/Oslo
+- - Europe/Lisbon
+- - Europe/Istanbul
+- - Europe/Kiev
+- - Europe/Malta
+- - Europe/Helsinki
+- - Europe/Kaliningrad
+- - Europe/Bucharest
+- - Europe/Zaporozhye
+- - Europe/Madrid
+- - Europe/Dublin
+- - Europe/Vaduz
+- - Europe/Brussels
+- - Europe/Sofia
+- - Europe/Riga
+- - Europe/Podgorica
+- - Europe/Tiraspol
+- - Europe/Warsaw
+- - Europe/Isle_of_Man
+- - Europe/Stockholm
+- - Europe/Tallinn
+- - Europe/Zurich
+- - Europe/Berlin
+- - Europe/Tirane
+- - Europe/Prague
+- - Europe/Uzhgorod
+- - Europe/Vienna
+- - Europe/Vatican
+- - Europe/Zagreb
+- - Europe/Samara
+- - Europe/San_Marino
+- - Europe/Minsk
+- - Europe/Belgrade
+- - EST5EDT
+- - Chile
+- - Chile/EasterIsland
+- - Chile/Continental
+- - NZ
+- - CST6CDT
+- - GB
+- - Etc
+- - Etc/GMT+6
+- - Etc/GMT-1
+- - Etc/GMT-3
+- - Etc/GMT-9
+- - Etc/GMT0
+- - Etc/GMT-8
+- - Etc/GMT+1
+- - Etc/GMT-12
+- - Etc/Greenwich
+- - Etc/GMT-0
+- - Etc/GMT-11
+- - Etc/GMT+5
+- - Etc/Universal
+- - Etc/GMT+0
+- - Etc/GMT-7
+- - Etc/GMT-10
+- - Etc/GMT-13
+- - Etc/UTC
+- - Etc/GMT-14
+- - Etc/UCT
+- - Etc/GMT-5
+- - Etc/GMT-6
+- - Etc/GMT+4
+- - Etc/GMT+7
+- - Etc/GMT+8
+- - Etc/GMT+12
+- - Etc/GMT+10
+- - Etc/GMT
+- - Etc/GMT-2
+- - Etc/GMT+9
+- - Etc/GMT-4
+- - Etc/GMT+2
+- - Etc/GMT+3
+- - Etc/GMT+11
+- - Etc/Zulu
+- - GMT0
+- - Asia
+- - Asia/Kuala_Lumpur
+- - Asia/Macao
+- - Asia/Dushanbe
+- - Asia/Pontianak
+- - Asia/Katmandu
+- - Asia/Rangoon
+- - Asia/Saigon
+- - Asia/Oral
+- - Asia/Bishkek
+- - Asia/Dacca
+- - Asia/Brunei
+- - Asia/Baku
+- - Asia/Kamchatka
+- - Asia/Kuching
+- - Asia/Ashgabat
+- - Asia/Riyadh
+- - Asia/Almaty
+- - Asia/Nicosia
+- - Asia/Magadan
+- - Asia/Ulan_Bator
+- - Asia/Omsk
+- - Asia/Colombo
+- - Asia/Novosibirsk
+- - Asia/Manila
+- - Asia/Tehran
+- - Asia/Gaza
+- - Asia/Hovd
+- - Asia/Kashgar
+- - Asia/Yerevan
+- - Asia/Chungking
+- - Asia/Vladivostok
+- - Asia/Bahrain
+- - Asia/Qatar
+- - Asia/Tashkent
+- - Asia/Calcutta
+- - Asia/Kuwait
+- - Asia/Anadyr
+- - Asia/Thimphu
+- - Asia/Aqtobe
+- - Asia/Macau
+- - Asia/Vientiane
+- - Asia/Ashkhabad
+- - Asia/Kolkata
+- - Asia/Makassar
+- - Asia/Pyongyang
+- - Asia/Damascus
+- - Asia/Bangkok
+- - Asia/Dili
+- - Asia/Kabul
+- - Asia/Ho_Chi_Minh
+- - Asia/Riyadh87
+- - Asia/Harbin
+- - Asia/Shanghai
+- - Asia/Istanbul
+- - Asia/Tbilisi
+- - Asia/Karachi
+- - Asia/Amman
+- - Asia/Jakarta
+- - Asia/Dhaka
+- - Asia/Tel_Aviv
+- - Asia/Chongqing
+- - Asia/Riyadh88
+- - Asia/Ujung_Pandang
+- - Asia/Ulaanbaatar
+- - Asia/Dubai
+- - Asia/Singapore
+- - Asia/Taipei
+- - Asia/Jayapura
+- - Asia/Thimbu
+- - Asia/Qyzylorda
+- - Asia/Tokyo
+- - Asia/Urumqi
+- - Asia/Aden
+- - Asia/Hong_Kong
+- - Asia/Krasnoyarsk
+- - Asia/Riyadh89
+- - Asia/Irkutsk
+- - Asia/Sakhalin
+- - Asia/Choibalsan
+- - Asia/Aqtau
+- - Asia/Yekaterinburg
+- - Asia/Jerusalem
+- - Asia/Seoul
+- - Asia/Samarkand
+- - Asia/Beirut
+- - Asia/Muscat
+- - Asia/Phnom_Penh
+- - Asia/Baghdad
+- - Asia/Yakutsk
+- - Portugal
+- - W-SU
+- - Greenwich
+- - Eire
+- - GMT-0
+- - MST7MDT
+- - MET
+- - EST
+- - Pacific
+- - Pacific/Efate
+- - Pacific/Fiji
+- - Pacific/Norfolk
+- - Pacific/Pitcairn
+- - Pacific/Noumea
+- - Pacific/Enderbury
+- - Pacific/Ponape
+- - Pacific/Midway
+- - Pacific/Niue
+- - Pacific/Gambier
+- - Pacific/Kosrae
+- - Pacific/Wake
+- - Pacific/Auckland
+- - Pacific/Palau
+- - Pacific/Tongatapu
+- - Pacific/Apia
+- - Pacific/Tahiti
+- - Pacific/Truk
+- - Pacific/Honolulu
+- - Pacific/Chatham
+- - Pacific/Galapagos
+- - Pacific/Pago_Pago
+- - Pacific/Guam
+- - Pacific/Nauru
+- - Pacific/Kwajalein
+- - Pacific/Wallis
+- - Pacific/Tarawa
+- - Pacific/Saipan
+- - Pacific/Easter
+- - Pacific/Fakaofo
+- - Pacific/Majuro
+- - Pacific/Johnston
+- - Pacific/Funafuti
+- - Pacific/Samoa
+- - Pacific/Guadalcanal
+- - Pacific/Yap
+- - Pacific/Port_Moresby
+- - Pacific/Kiritimati
+- - Pacific/Marquesas
+- - Pacific/Rarotonga
+- - Japan
+- - ROC
+- - Universal
+- - WET
+- - Navajo
+- - Iran
+- - Factory
+- - Egypt
+- - MST
+- - Australia
+- - Australia/Queensland
+- - Australia/Lindeman
+- - Australia/Broken_Hill
+- - Australia/Victoria
+- - Australia/Darwin
+- - Australia/Hobart
+- - Australia/Lord_Howe
+- - Australia/North
+- - Australia/ACT
+- - Australia/NSW
+- - Australia/West
+- - Australia/Tasmania
+- - Australia/LHI
+- - Australia/Eucla
+- - Australia/Canberra
+- - Australia/Melbourne
+- - Australia/South
+- - Australia/Currie
+- - Australia/Sydney
+- - Australia/Yancowinna
+- - Australia/Perth
+- - Australia/Adelaide
+- - Australia/Brisbane
+- - EET
+- - GMT+0
+- - Africa
+- - Africa/Tunis
+- - Africa/Lome
+- - Africa/Asmara
+- - Africa/Harare
+- - Africa/Windhoek
+- - Africa/Tripoli
+- - Africa/Dakar
+- - Africa/Mogadishu
+- - Africa/Bujumbura
+- - Africa/Cairo
+- - Africa/Casablanca
+- - Africa/Gaborone
+- - Africa/Libreville
+- - Africa/Porto-Novo
+- - Africa/Ouagadougou
+- - Africa/Lubumbashi
+- - Africa/Blantyre
+- - Africa/El_Aaiun
+- - Africa/Conakry
+- - Africa/Djibouti
+- - Africa/Kampala
+- - Africa/Ndjamena
+- - Africa/Maseru
+- - Africa/Lusaka
+- - Africa/Johannesburg
+- - Africa/Nouakchott
+- - Africa/Ceuta
+- - Africa/Malabo
+- - Africa/Sao_Tome
+- - Africa/Abidjan
+- - Africa/Lagos
+- - Africa/Kigali
+- - Africa/Asmera
+- - Africa/Kinshasa
+- - Africa/Monrovia
+- - Africa/Banjul
+- - Africa/Nairobi
+- - Africa/Brazzaville
+- - Africa/Timbuktu
+- - Africa/Bangui
+- - Africa/Bamako
+- - Africa/Accra
+- - Africa/Dar_es_Salaam
+- - Africa/Luanda
+- - Africa/Bissau
+- - Africa/Douala
+- - Africa/Khartoum
+- - Africa/Freetown
+- - Africa/Maputo
+- - Africa/Niamey
+- - Africa/Addis_Ababa
+- - Africa/Algiers
+- - Africa/Mbabane
+- - Atlantic
+- - Atlantic/St_Helena
+- - Atlantic/Faeroe
+- - Atlantic/Madeira
+- - Atlantic/Bermuda
+- - Atlantic/South_Georgia
+- - Atlantic/Cape_Verde
+- - Atlantic/Faroe
+- - Atlantic/Reykjavik
+- - Atlantic/Jan_Mayen
+- - Atlantic/Canary
+- - Atlantic/Azores
+- - Atlantic/Stanley
+- - Hongkong
+- - Poland
+- - Libya
+- - UTC
+- - UCT
+- - Israel
+- - CET
+- - Brazil
+- - Brazil/Acre
+- - Brazil/East
+- - Brazil/West
+- - Brazil/DeNoronha
+- - ROK
+- - Singapore
+- - America
+- - America/Tijuana
+- - America/Detroit
+- - America/Noronha
+- - America/Santiago
+- - America/Montevideo
+- - America/Panama
+- - America/La_Paz
+- - America/Guatemala
+- - America/Boa_Vista
+- - America/Costa_Rica
+- - America/Resolute
+- - America/Scoresbysund
+- - America/Denver
+- - America/Whitehorse
+- - America/Kentucky
+- - America/Kentucky/Louisville
+- - America/Kentucky/Monticello
+- - America/Pangnirtung
+- - America/Yellowknife
+- - America/Phoenix
+- - America/Martinique
+- - America/Cuiaba
+- - America/Lima
+- - America/Winnipeg
+- - America/Menominee
+- - America/St_Johns
+- - America/Regina
+- - America/Guayaquil
+- - America/Maceio
+- - America/Hermosillo
+- - America/Barbados
+- - America/Halifax
+- - America/Asuncion
+- - America/Manaus
+- - America/Dominica
+- - America/Catamarca
+- - America/Grenada
+- - America/Montserrat
+- - America/Mazatlan
+- - America/Recife
+- - America/Rosario
+- - America/Iqaluit
+- - America/Porto_Acre
+- - America/Managua
+- - America/Antigua
+- - America/Indiana
+- - America/Indiana/Vevay
+- - America/Indiana/Tell_City
+- - America/Indiana/Winamac
+- - America/Indiana/Indianapolis
+- - America/Indiana/Petersburg
+- - America/Indiana/Knox
+- - America/Indiana/Vincennes
+- - America/Indiana/Marengo
+- - America/Thunder_Bay
+- - America/Dawson
+- - America/Yakutat
+- - America/Edmonton
+- - America/New_York
+- - America/Tortola
+- - America/Nassau
+- - America/Inuvik
+- - America/Atikokan
+- - America/St_Kitts
+- - America/Fortaleza
+- - America/Ensenada
+- - America/Cordoba
+- - America/Araguaina
+- - America/Marigot
+- - America/Godthab
+- - America/Rio_Branco
+- - America/St_Barthelemy
+- - America/Knox_IN
+- - America/Indianapolis
+- - America/Cambridge_Bay
+- - America/St_Vincent
+- - America/Anguilla
+- - America/Merida
+- - America/Santo_Domingo
+- - America/Coral_Harbour
+- - America/St_Lucia
+- - America/Juneau
+- - America/Chicago
+- - America/Toronto
+- - America/Belize
+- - America/Virgin
+- - America/Port_of_Spain
+- - America/Boise
+- - America/Adak
+- - America/Cancun
+- - America/Curacao
+- - America/Glace_Bay
+- - America/Jujuy
+- - America/Fort_Wayne
+- - America/Caracas
+- - America/Nipigon
+- - America/Louisville
+- - America/Anchorage
+- - America/Chihuahua
+- - America/Moncton
+- - America/Goose_Bay
+- - America/Rankin_Inlet
+- - America/Dawson_Creek
+- - America/Cayman
+- - America/Bogota
+- - America/Montreal
+- - America/Monterrey
+- - America/Argentina
+- - America/Argentina/ComodRivadavia
+- - America/Argentina/La_Rioja
+- - America/Argentina/San_Juan
+- - America/Argentina/Catamarca
+- - America/Argentina/Cordoba
+- - America/Argentina/Jujuy
+- - America/Argentina/Ushuaia
+- - America/Argentina/Buenos_Aires
+- - America/Argentina/Tucuman
+- - America/Argentina/San_Luis
+- - America/Argentina/Mendoza
+- - America/Argentina/Rio_Gallegos
+- - America/Puerto_Rico
+- - America/El_Salvador
+- - America/Port-au-Prince
+- - America/Miquelon
+- - America/Havana
+- - America/Tegucigalpa
+- - America/Sao_Paulo
+- - America/Buenos_Aires
+- - America/Eirunepe
+- - America/Nome
+- - America/Cayenne
+- - America/Guadeloupe
+- - America/Danmarkshavn
+- - America/Aruba
+- - America/Porto_Velho
+- - America/Campo_Grande
+- - America/Paramaribo
+- - America/Los_Angeles
+- - America/Atka
+- - America/Rainy_River
+- - America/Bahia
+- - America/Jamaica
+- - America/Vancouver
+- - America/Guyana
+- - America/Shiprock
+- - America/Mexico_City
+- - America/St_Thomas
+- - America/Belem
+- - America/Mendoza
+- - America/North_Dakota
+- - America/North_Dakota/Center
+- - America/North_Dakota/New_Salem
+- - America/Blanc-Sablon
+- - America/Thule
+- - America/Swift_Current
+- - America/Grand_Turk
+- - Kwajalein
+- - Turkey
+- - Cuba
+- - Indian
+- - Indian/Antananarivo
+- - Indian/Mahe
+- - Indian/Chagos
+- - Indian/Mauritius
+- - Indian/Kerguelen
+- - Indian/Christmas
+- - Indian/Maldives
+- - Indian/Reunion
+- - Indian/Comoro
+- - Indian/Mayotte
+- - Indian/Cocos
+- - PST8PDT
+- - US
+- - US/Arizona
+- - US/Eastern
+- - US/Pacific
+- - US/Central
+- - US/East-Indiana
+- - US/Indiana-Starke
+- - US/Pacific-New
+- - US/Mountain
+- - US/Aleutian
+- - US/Michigan
+- - US/Hawaii
+- - US/Alaska
+- - US/Samoa
+- - HST
+- - Arctic
+- - Arctic/Longyearbyen
+- - GMT
+- - NZ-CHAT
+- - GB-Eire
+- - Canada
+- - Canada/Eastern
+- - Canada/Pacific
+- - Canada/Central
+- - Canada/East-Saskatchewan
+- - Canada/Atlantic
+- - Canada/Mountain
+- - Canada/Newfoundland
+- - Canada/Saskatchewan
+- - Canada/Yukon
+- - posix.tab
+- - Jamaica
+- - Antarctica
+- - Antarctica/South_Pole
+- - Antarctica/Casey
+- - Antarctica/Rothera
+- - Antarctica/Palmer
+- - Antarctica/Syowa
+- - Antarctica/Davis
+- - Antarctica/McMurdo
+- - Antarctica/DumontDUrville
+- - Antarctica/Vostok
+- - Antarctica/Mawson
+- - Iceland
+- - Mexico
+- - Mexico/General
+- - Mexico/BajaNorte
+- - Mexico/BajaSur
+- - PRC
+- - Zulu
+- - Mideast
+- - Mideast/Riyadh87
+- - Mideast/Riyadh88
+- - Mideast/Riyadh89
diff --git a/abs/mv-core/webcal/send_reminders.patch b/abs/mv-core/webcal/send_reminders.patch
new file mode 100644
index 0000000..9076b0c
--- /dev/null
+++ b/abs/mv-core/webcal/send_reminders.patch
@@ -0,0 +1,38 @@
+--- send_reminders.php.orig 2008-08-04 18:02:14.000000000 -0500
++++ send_reminders.php 2008-08-07 15:15:28.000000000 -0500
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/php -q
++#!/usr/bin/php -q
+ <?php
+ /* $Id: send_reminders.php,v 1.81.2.8 2008/02/18 17:42:02 cknudsen Exp $
+ *
+@@ -313,6 +313,10 @@
+ translate ( 'could not find event id XXX in database.' ) ) . "\n";
+ return;
+ }
++ //Always send via ghosd
++ $name = $row[9];
++ $p = system("/usr/bin/notify.py NFO \"$name\"", $retval);
++
+
+ // Send mail. We send one user at a time so that we can switch
+ // languages between users if needed (as well as HTML vs plain text).
+@@ -475,7 +479,6 @@
+ }
+
+ $subject = translate ( 'Reminder' ) . ': ' . stripslashes ( $name );
+-
+ if ( $debug )
+ echo "Sending mail to $recip (in $userlang).<br />\n";
+
+@@ -570,7 +573,9 @@
+ }
+ // Factor in repeats if set.
+ if ( $repeats > 0 && $times_sent <= $repeats )
+- $remind_time += ( $reminder['duration'] * 60 * $times_sent );
++ $remind_time = ($reminder['duration']*60 + $lastsent );
++// Don't know what this is line is doing, but the above seems better to me
++// $remind_time += ( $reminder['duration'] * 60 * $times_sent );
+
+ if ( $debug )
+ echo ( empty ( $offset_msg ) ? '' : $offset_msg . '<br />' ) . '
diff --git a/abs/mv-core/webcal/sendreminders.sh b/abs/mv-core/webcal/sendreminders.sh
new file mode 100644
index 0000000..ac99058
--- /dev/null
+++ b/abs/mv-core/webcal/sendreminders.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+. /etc/profile
+cd /data/srv/httpd/htdocs/webcal/tools
+./send_reminders.php
+
diff --git a/abs/mv-core/webcal/settings.php b/abs/mv-core/webcal/settings.php
new file mode 100644
index 0000000..c43b705
--- /dev/null
+++ b/abs/mv-core/webcal/settings.php
@@ -0,0 +1,18 @@
+<?php
+/* updated via install/index.php on Mon, 04 Aug 2008 06:44:26 -1100
+install_password: a744c6d7842ac39db07f6191e31c69ce
+db_type: mysql
+db_host: localhost
+db_database: webcal
+db_login: webcal
+db_password: webcal
+db_persistent: false
+db_cachedir: /data/srv/tmp
+readonly: false
+user_inc: user.php
+use_http_auth: false
+single_user: true
+single_user_login: Me
+mode: prod
+# end settings.php */
+?>
diff --git a/abs/mv-core/webcal/webcal.install b/abs/mv-core/webcal/webcal.install
new file mode 100644
index 0000000..290b8b0
--- /dev/null
+++ b/abs/mv-core/webcal/webcal.install
@@ -0,0 +1,30 @@
+post_install() {
+ mkdir /data/srv/tmp
+ chmod 777 /data/srv/tmp
+ mysql -u root -e 'create database webcal;'
+ mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO webcal@localhost IDENTIFIED BY 'webcal' WITH GRANT OPTION;"
+ echo installing the default webcal database
+ #install tables
+ mysql webcal < /data/srv/httpd/htdocs/webcal/createdb.sql
+ chown -R nobody:nobody /data/srv/httpd/htdocs/webcal/
+ chmod 775 /data/srv/httpd/htdocs/webcal/includes
+ MVDIR=/usr/bin
+ ln -s $MVDIR/sendreminders.sh /etc/cron.tenminutes/01-sendreminders.sh
+ . /etc/systemconfig
+ mysql webcal -e "update webcal_config set cal_value="\"${timezone}\"" where cal_setting='SERVER_TIMEZONE' ;"
+ mysql webcal -e "update webcal_config set cal_value="\"${timezone}\"" where cal_setting='TIMEZONE' ;"
+ mysql webcal -e "update webcal_user_pref set cal_value="\"${timezone}\"" where cal_setting='TIMEZONE' ;"
+}
+post_upgrade() {
+ echo "nothing to do"
+chown -R nobody:nobody /data/srv/httpd/htdocs/webcal/
+ chmod 775 /data/srv/httpd/htdocs/webcal/includes
+ MVDIR=/usr/bin
+ ln -s $MVDIR/sendreminders.sh /etc/cron.tenminutes/01-sendreminders.sh
+
+
+}
+
+op=$1
+shift
+$op $*