diff --git a/UPGRADING.html b/UPGRADING.html index 9f17dfbb8..8c575ce84 100644 --- a/UPGRADING.html +++ b/UPGRADING.html @@ -1,86 +1,32 @@ - - - + +
+WebCalendar Version: | 1.3.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Document Version: | $Revision$ $Date$ |
+
WebCalendar Version: | +1.2.7 | +
---|
Important News: A major +
Important News: A major improvement beginning with Version 1.1 is the addition of an automated installation script. This script will guide you through the installation process and help identify any problem areas that might prevent successful installation or operation of WebCalendar.
-With the new 1.1 install wizard, you will no longer have to be troubled - with uploading SQL files to phpMyAdmin or executing SQL commands yourself. - Your database will be upgraded automatically from your current older +
With the install wizard, you will no longer be troubled + with uploading SQL files to phpMyAdmin or executing SQL commands yourself. (For the most part. There are one or two database types that have not been fully implemented, as yet. If you are able to set them up, we'd appreciate the help.) + Your database will be upgraded automatically from your current WebCalendar installation. Follow the steps below to upgrade to WebCalendar - 1.1 from an older version of WebCalendar. + 1.2.7 from an older version of WebCalendar.
Below are the steps needed to manually upgrade from a previous version. You can ignore everything below if you use the Automated Installation Script. Select the version of your existing install from the list below. - If you are more than one version behind (i.e. the new version is v1.1.6, - and you're using 0.9.39), click the "next..." link at the end of each - section to move to the next version. - Always follow the versions in sequence.
+ If you are more than one version behind (i.e. the new version is v1.2.7, + and you're using 1.1.1), you'll need to perform each upgrade in sequence from your current version on up. Don't skip any.Note: Due to large number of database types that WebCalendar can support, it would be impractical to list all the SQL @@ -214,14 +159,19 @@
You need to create the table cal_user_pref in tables.sql. You need to @@ -246,7 +196,7 @@
UPDATE webcal_entry SET cal_time = -1 WHERE cal_time is null;next... -
Next, you will need to run the script found in the tools +
Next, you will need to run the script found in the tools subdirectory. This will convert all your passwords from plain text to md5. You can run this from the command line (if you have a standalone version of PHP compiled):
@@ -571,18 +521,17 @@http://yourcalendarurl/tools/convert_passwords.php-
You may safely delete the file /tools/convert_passwords.php +
You may safely delete the file /tools/convert_passwords.php after successfully performing this step.
Delete all webcalendar_login browser cookies. Details should be available on your local browser help section.
- next... -The webcal_view table was modified. Execute the following SQL +
The webcal_view table was modified. Execute the following SQL to update your database:
@@ -600,7 +549,7 @@next... -To upgrade from v0.9.43 - v1.0RC2
A new table is needed to support multiple categories. In addition, several new columns have been added to webcal_entry and one column added to @@ -667,15 +615,469 @@
We need a new table to handle event attachments and comments. This is the SQL.
++CREATE TABLE webcal_blob ( + cal_blob_id INT NOT NULL, + cal_description VARCHAR(128) NULL, + cal_id INT NULL, + cal_login VARCHAR(25) NULL, + cal_mime_type VARCHAR(50) NULL, + cal_mod_date INT NOT NULL, + cal_mod_time INT NOT NULL, + cal_name VARCHAR(30) NULL, + cal_size INT NULL, + cal_type CHAR(1) NOT NULL, + cal_blob LONGBLOB, + PRIMARY KEY (cal_blob_id) +); ++ next... +
We're recreating table webcal_access_user to add several fields.
++DROP TABLE IF EXISTS webcal_access_user; +CREATE TABLE webcal_access_user ( + cal_login VARCHAR(25) NOT NULL, + cal_other_user VARCHAR(25) NOT NULL, + cal_can_approve INT NOT NULL DEFAULT '0', + cal_can_edit INT NOT NULL DEFAULT '0', + cal_can_email CHAR(1) DEFAULT 'Y', + cal_can_invite CHAR(1) DEFAULT 'Y', + cal_can_view INT NOT NULL DEFAULT '0', + cal_see_time_only CHAR(1) DEFAULT 'N', + PRIMARY KEY (cal_login, cal_other_user) +); ++ next... +
A new table to track reminders. When are they due? Have they been sent?
++CREATE TABLE webcal_reminders ( + cal_id INT NOT NULL DEFAULT '0', + cal_action VARCHAR(12) NOT NULL DEFAULT 'EMAIL', + cal_before CHAR(1) NOT NULL DEFAULT 'Y', + cal_date INT NOT NULL DEFAULT '0', + cal_duration INT NOT NULL DEFAULT '0', + cal_last_sent INT NOT NULL DEFAULT '0', + cal_offset INT NOT NULL DEFAULT '0', + cal_related CHAR(1) NOT NULL DEFAULT 'S', + cal_repeats INT NOT NULL DEFAULT '0', + cal_times_sent INT NOT NULL DEFAULT '0', + PRIMARY KEY (cal_id) +); ++ next... +
A new field indicating the URL of a public, or at least a non-user, calendar event.
++ALTER TABLE webcal_nonuser_cals ADD cal_url VARCHAR(255) DEFAULT NULL; ++ next... +
Add a color for each user category. We are also considering tracking more user data; birthday, phone, etc. As a contact reference as well as an event calendar.
++ALTER TABLE webcal_categories ADD cat_color VARCHAR(8) DEFAULT NULL; +ALTER TABLE webcal_user ADD cal_address VARCHAR(75) DEFAULT NULL; +ALTER TABLE webcal_user ADD cal_birthday INT NULL; +ALTER TABLE webcal_user ADD cal_enabled CHAR(1) DEFAULT 'Y'; +ALTER TABLE webcal_user ADD cal_last_login INT NULL; +ALTER TABLE webcal_user ADD cal_telephone VARCHAR(50) DEFAULT NULL; +ALTER TABLE webcal_user ADD cal_title VARCHAR(75) DEFAULT NULL; ++ next... +
A new table to hold the various timezones of the world. How far from Greenich Mean Time? When does Daylight Savings start / end, if applicable.
++CREATE TABLE webcal_timezones ( + tzid varchar(100) NOT NULL default '', + dtstart varchar(25) default NULL, + dtend varchar(25) default NULL, + vtimezone text, + PRIMARY KEY (tzid) +); ++ next... +
// Craig. This LOOKS like an extensive upgrade. However, mostly it's just putting the table / field /*comments*/ from "install/sql/tables-mysql.sql" in the actual database to make maintaining it easier. Also, phpMyAdmin can use the "COMMENT"s to create a replacement for "docs/WebCalendar-Database.html" without the need for "docs/sql2html.pl". Mostly. It isn't quite as clean:
+ALTER TABLE webcal_access_user ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Specifies which users can access another user''s calendar.'; +ALTER TABLE webcal_access_user MODIFY cal_see_time_only ENUM('N','Y') NOT NULL DEFAULT 'N' COMMENT 'Can current user can only see time of other user?'; +ALTER TABLE webcal_access_user MODIFY cal_can_view smallint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Can current user view events on the other user''s calendar?' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_can_invite ENUM('N','Y') NOT NULL DEFAULT 'Y' COMMENT 'Can current user see other user in Participant lists?' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_can_email ENUM('N','Y') DEFAULT 'Y' COMMENT 'Can current user send emails to other user?' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_can_edit smallint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Can current user edit events on the other user''s calendar?' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_can_approve smallint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Can current user approve events on the other user''s calendar?' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_other_user varchar(25) NOT NULL COMMENT 'The login of the other user whose calendar the current user wants to access. Also, from <a href="#webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_login varchar(25) NOT NULL COMMENT 'The current user who is attempting to look at another user''s calendar. From <a href="#webcal_user">webcal_user</a> table.' FIRST; + +ALTER TABLE webcal_access_function ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Specifies what WebCalendar functions a user can access. Each function has a corresponding numeric value (specified in the file includes/access.php). For example, view event is 0, so the very first character in the cal_permissions column is either a "Y" if this user can view events or a "N" if they cannot.'; +ALTER TABLE webcal_access_function MODIFY cal_login varchar(25) NOT NULL COMMENT 'User login. From <a href="#webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_access_function MODIFY cal_permissions varchar(64) NOT NULL COMMENT 'A string of "Y"s and/or "N"s for the various functions.'; + +ALTER TABLE webcal_asst ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Define assistant/boss relationship.'; +ALTER TABLE webcal_asst MODIFY cal_assistant varchar(25) NOT NULL COMMENT 'Assistant login. Also from <a href="#webcal_user">webcal_user</a> table.'; +ALTER TABLE webcal_asst MODIFY cal_boss varchar(25) NOT NULL COMMENT 'Boss login. From <a href="#webcal_user">webcal_user</a> table.' FIRST; + +ALTER TABLE webcal_blob ENGINE MyISAM CHARACTER SET utf8 COMMENT 'This table stores event attachments and comments.'; +ALTER TABLE webcal_blob MODIFY cal_type ENUM('A','C') NOT NULL DEFAULT 'C' COMMENT 'Type of object: C=Comment, A=Attachment.' FIRST; +ALTER TABLE webcal_blob MODIFY cal_size int UNSIGNED DEFAULT NULL COMMENT 'Size of object (not used for comments).' FIRST; +ALTER TABLE webcal_blob MODIFY cal_name varchar(30) DEFAULT NULL COMMENT 'Filename of object (not used for comments).' FIRST; +ALTER TABLE webcal_blob MODIFY cal_mod_time time NOT NULL COMMENT 'Time added.' FIRST; +ALTER TABLE webcal_blob ADD cal_mod TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'When was this added / changed?' FIRST; +ALTER TABLE webcal_blob MODIFY cal_mod TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'When was this added / changed?' FIRST; +ALTER TABLE webcal_blob MODIFY cal_mime_type varchar(50) DEFAULT NULL COMMENT 'MIME type of object (as specified by browser during upload (not used for comment).' FIRST; +ALTER TABLE webcal_blob MODIFY cal_login varchar(25) DEFAULT NULL COMMENT 'Login of user who created. From <a href="#webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_blob MODIFY cal_id int UNSIGNED DEFAULT NULL COMMENT 'Event id (if applicable). From <a href="#webcal_entry">webcal_entry</a> table.' FIRST; +ALTER TABLE webcal_blob MODIFY cal_description varchar(128) DEFAULT NULL COMMENT 'Description of what the object is (subject for comment).' FIRST; +ALTER TABLE webcal_blob MODIFY cal_blob_id int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Unique identifier for this object.' FIRST; +ALTER TABLE webcal_blob MODIFY cal_blob longblob COMMENT 'Binary data for object.'; +ALTER TABLE webcal_blob ADD UNIQUE KEY wb_cl_cd (cal_login,cal_description); + +ALTER TABLE webcal_categories ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Defines user categories. Categories can be specific to a user or global. When a category is global, the cat_owner field will be NULL. (Only an admin user can create a global category.)'; +ALTER TABLE webcal_categories MODIFY cat_name varchar(80) NOT NULL COMMENT 'Category name.' FIRST; +ALTER TABLE webcal_categories MODIFY cat_color varchar(7) DEFAULT NULL COMMENT 'RGB color for category.' FIRST; +ALTER TABLE webcal_categories MODIFY cat_id int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Unique category id.' FIRST; +ALTER TABLE webcal_categories MODIFY cat_owner varchar(25) DEFAULT NULL COMMENT 'User login of category owner. From <a href="#webcal_user">webcal_user</a> table, if applicable. If this is NULL, then it is a global category.'; + +ALTER TABLE webcal_config ENGINE MyISAM CHARACTER SET utf8 COMMENT 'System settings (set by the admin interface in admin.php).'; +ALTER TABLE webcal_config MODIFY cal_setting varchar(50) NOT NULL COMMENT 'System setting.' FIRST; +ALTER TABLE webcal_config MODIFY cal_value varchar(100) NULL COMMENT 'System setting value.'; + +ALTER TABLE webcal_entry ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Defines a calendar event. Each event in the system has one entry in this table unless the event starts before midnight and ends after midnight. In that case a secondary event will be created with cal_ext_for_id set to the cal_id of the original entry. The following tables contain additional information about each event:<ul><li><a href="#webcal_entry_user">webcal_entry_user</a> table - lists participants in the event and specifies the status (accepted, rejected) and category of each participant.</li><li><a href="#webcal_entry_repeats">webcal_entry_repeats</a> table - contains information if the event repeats.</li><li><a href="#webcal_entry_repeats_not">webcal_entry_repeats_not</a> table - specifies which dates the repeating event does not repeat (because they were deleted or modified for just that date by the user.)</li><li><a href="#webcal_entry_log">webcal_entry_log</a> table - provides a history of changes to this event.</li><li><a href="#webcal_site_extras">webcal_site_extras</a> table - stores event data as defined in site_extras.php (such as reminders and other custom event fields).</li></ul>'; +ALTER TABLE webcal_entry MODIFY cal_url varchar(100) DEFAULT NULL COMMENT 'URL of event.'; +ALTER TABLE webcal_entry MODIFY cal_type ENUM('E','M','T') DEFAULT 'E' COMMENT '"E" = Event, "M" = Repeating event, "T" = Task.' FIRST; +ALTER TABLE webcal_entry MODIFY cal_time time DEFAULT NULL COMMENT 'Event start time.' FIRST; +ALTER TABLE webcal_entry MODIFY cal_priority tinyint UNSIGNED DEFAULT '5' COMMENT 'Event priority: 1=High, 9=Low.' FIRST; +ALTER TABLE webcal_entry MODIFY cal_name varchar(80) NOT NULL COMMENT 'Brief description of event.' FIRST; +ALTER TABLE webcal_entry MODIFY cal_mod_time time DEFAULT NULL COMMENT 'Time the event was last modified.' FIRST; +ALTER TABLE webcal_entry ADD cal_mod TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'When was this added / changed?' FIRST; +ALTER TABLE webcal_entry MODIFY cal_mod TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'When was this added / changed?' FIRST; +ALTER TABLE webcal_entry MODIFY cal_location varchar(100) DEFAULT NULL COMMENT 'Location of event.' FIRST; +ALTER TABLE webcal_entry MODIFY cal_group_id int UNSIGNED DEFAULT NULL COMMENT 'The parent event id if this event is overriding an occurrence of a repeating event. From this table.' FIRST; +ALTER TABLE webcal_entry MODIFY cal_ext_for_id int UNSIGNED DEFAULT NULL COMMENT 'Used when an event goes past midnight into the next day, in which case an additional entry in this table will use this field to indicate the original event cal_id.' FIRST; +ALTER TABLE webcal_entry MODIFY cal_duration int UNSIGNED NOT NULL COMMENT 'Duration of event in minutes.' FIRST; +ALTER TABLE webcal_entry MODIFY cal_due_time time DEFAULT NULL COMMENT 'Task due time.' FIRST; +ALTER TABLE webcal_entry ADD cal_due datetime DEFAULT NULL COMMENT 'When is this task due?' FIRST; +ALTER TABLE webcal_entry MODIFY cal_due datetime DEFAULT NULL COMMENT 'When is this task due?' FIRST; +ALTER TABLE webcal_entry ADD cal_datetime datetime NOT NULL COMMENT 'When is this event scheduled to start?' FIRST; +ALTER TABLE webcal_entry MODIFY cal_datetime datetime NOT NULL COMMENT 'When is this event scheduled to start?' FIRST; +ALTER TABLE webcal_entry MODIFY cal_date date NOT NULL COMMENT 'Date of event.' FIRST; +ALTER TABLE webcal_entry MODIFY cal_create_by varchar(25) NOT NULL COMMENT 'Login of user that created the event. From <a href="#webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_entry MODIFY cal_completed date DEFAULT NULL COMMENT 'Date task completed.' FIRST; +ALTER TABLE webcal_entry MODIFY cal_access ENUM('C','P','R') DEFAULT 'P' COMMENT '"P" = Public, "R" = Private (others cannot see the event), "C" = Confidential (others can see time allocated but not what it is).' FIRST; +ALTER TABLE webcal_entry MODIFY cal_id int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Unique integer id for event.' FIRST; +UPDATE webcal_entry SET cal_datetime = CONCAT(cal_date,cal_time); +UPDATE webcal_entry SET cal_due = CONCAT(cal_due_date,cal_due_time); + +ALTER TABLE webcal_entry_categories ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Contains category foreign keys to enable multiple categories for each event or task.'; +ALTER TABLE webcal_entry_categories MODIFY cat_owner varchar(25) DEFAULT NULL COMMENT 'User that owns this record. Global categories will be NULL. From <a href="#webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_entry_categories MODIFY cat_order int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Order that user requests their categories appear. Globals are always last.'; +ALTER TABLE webcal_entry_categories MODIFY cat_id int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Id of category from <a href="webcal_categories">webcal_categories</a> table.' FIRST; +ALTER TABLE webcal_entry_categories MODIFY cal_id int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Id of event from <a href="webcal_entry">webcal_entry</a> table.' FIRST; + +ALTER TABLE webcal_entry_ext_user ENGINE MyISAM CHARACTER SET utf8 COMMENT 'External user (no login) for an event.'; +ALTER TABLE webcal_entry_ext_user MODIFY cal_fullname varchar(50) NOT NULL COMMENT 'external user full name'; +ALTER TABLE webcal_entry_ext_user MODIFY cal_email varchar(75) NULL COMMENT 'external user email (for sending a reminder)' FIRST; +ALTER TABLE webcal_entry_ext_user MODIFY cal_id int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'From <a href="webcal_entry">webcal_entry</a> table.' FIRST; + +ALTER TABLE webcal_entry_log ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Activity log for an event.'; +ALTER TABLE webcal_entry_log MODIFY cal_user_cal varchar(25) DEFAULT NULL COMMENT 'User of calendar affected. Also from <a href="#webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_entry_log MODIFY cal_type ENUM('A','C','E','M','R','U') NOT NULL DEFAULT 'C' COMMENT 'Log types:<ul><li>C: Created</li><li>A: Approved/Confirmed by user</li><li>R: Rejected by user</li><li>U: Updated by user</li><li>M: Mail Notification sent</li><li>E: Reminder sent</li></ul>' FIRST; +ALTER TABLE webcal_entry_log MODIFY cal_time time DEFAULT NULL FIRST; +ALTER TABLE webcal_entry_log MODIFY cal_text text COMMENT 'Optional text.'; +ALTER TABLE webcal_entry_log ADD cal_mod TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'When was this added / changed?' FIRST; +ALTER TABLE webcal_entry_log MODIFY cal_login varchar(25) NOT NULL COMMENT 'User who performed this action. From <a href="#webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_entry_log MODIFY cal_entry_id int UNSIGNED NOT NULL COMMENT 'Event id. From <a href="#webcal_entry">webcal_entry</a> table.' FIRST; +ALTER TABLE webcal_entry_log MODIFY cal_date date NOT NULL FIRST; +ALTER TABLE webcal_entry_log MODIFY cal_log_id int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Unique id of this log entry.' FIRST; + +ALTER TABLE webcal_entry_repeats ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Defines repeating info about an event. The event is defined in <a href="#webcal_entry">webcal_entry</a> table.'; +ALTER TABLE webcal_entry_repeats MODIFY cal_type varchar(20) DEFAULT NULL COMMENT 'Type of repeating:<ul><li>daily - repeats daily</li><li>monthlyByDate - repeats on same day of the month</li><li>monthlyBySetPos - repeats based on position within other ByXXX values</li><li>monthlyByDay - repeats on specified weekday, (2nd Monday, for example)</li><li>weekly - repeats every week</li><li>yearly - repeats on same date every year</li></ul>' FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_frequency int UNSIGNED DEFAULT '1' COMMENT 'Frequency of repeat: 1 = every, 2 = every other, 3 = every 3rd, etc.' FIRST; +ALTER TABLE webcal_entry_repeats ADD cal_enddt datetime DEFAULT NULL COMMENT 'End date and time for repeating event.' FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_enddt datetime DEFAULT NULL COMMENT 'End date and time for repeating event.' FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_end date DEFAULT NULL COMMENT 'End date for repeating event.' FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_wkst ENUM('MO','TU','WE','TH','FR','SA','SU') DEFAULT 'MO' COMMENT 'Week starts on...'; +ALTER TABLE webcal_entry_repeats MODIFY cal_days ENUM('N','Y') DEFAULT NULL COMMENT 'NO LONGER USED. We''ll leave it in for now.' FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_count int UNSIGNED DEFAULT NULL FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_byyearday varchar(50) DEFAULT NULL FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_byweekno varchar(50) DEFAULT NULL FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_bysetpos varchar(50) DEFAULT NULL FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_bymonthday varchar(100) DEFAULT NULL FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_bymonth varchar(50) DEFAULT NULL FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_byday varchar(100) DEFAULT NULL COMMENT 'The following columns are values as specified in RFC2445.' FIRST; +ALTER TABLE webcal_entry_repeats MODIFY cal_id int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Event id. From <a href="#webcal_entry">webcal_entry</a> table.' FIRST; +UPDATE webcal_entry_repeats SET cal_enddt = CONCAT(cal_end,cal_endtime); + +ALTER TABLE webcal_entry_repeats_not ENGINE MyISAM CHARACTER SET utf8 COMMENT 'This table specifies which dates in a repeating event have either been deleted, included, or replaced with another event for that day. When replaced, the cal_group_id (I know... not the best name, but it was not being used) column will be set to the original event. That way the user can delete the original event and (at the same time) delete any exception events.'; +ALTER TABLE webcal_entry_repeats_not MODIFY cal_date DATE NOT NULL COMMENT 'Date event should not repeat.' FIRST; +ALTER TABLE webcal_entry_repeats_not MODIFY cal_id int UNSIGNED NOT NULL COMMENT 'Event id of repeating event. From <a href="#webcal_entry">webcal_entry</a> table.' FIRST; +ALTER TABLE webcal_entry_repeats_not MODIFY cal_exdate tinyint UNSIGNED NOT NULL DEFAULT '1' COMMENT 'Indicates whether this record is an exclusion1) or inclusion0).'; + +ALTER TABLE webcal_entry_user ENGINE MyISAM CHARACTER SET utf8 COMMENT 'This table associates one or more users with an event by the event id. The event can be found in <a href="#webcal_entry">webcal_entry</a> table.'; +ALTER TABLE webcal_entry_user MODIFY cal_status ENUM('A','C','D','P','R','W') DEFAULT 'A' COMMENT 'Status of event for this user:<ul><li>A=Accepted</li><li>C=Completed</li><li>D=Deleted</li><li>P=In-Progress</li><li>R=Rejected/Declined</li><li>W=Waiting</li></ul>'; +ALTER TABLE webcal_entry_user MODIFY cal_percent tinyint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Task percentage of completion for this user''s task.' FIRST; +ALTER TABLE webcal_entry_user MODIFY cal_category int UNSIGNED DEFAULT NULL COMMENT 'Category of the event for this user.' FIRST; +ALTER TABLE webcal_entry_user MODIFY cal_login varchar(25) NOT NULL COMMENT 'Participant in the event. From <a href="#webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_entry_user MODIFY cal_id int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Event id. From <a href="#webcal_entry">webcal_entry</a> table.' FIRST; + +ALTER TABLE webcal_group ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Define a group. Group members can be found in <a href="#webcal_group_user">webcal_group_user</a> table.'; +ALTER TABLE webcal_group MODIFY cal_owner varchar(25) DEFAULT NULL COMMENT 'User login of user that created this group. From <a href="#webcal_user">webcal_user</a> table.'; +ALTER TABLE webcal_group MODIFY cal_name varchar(50) NOT NULL COMMENT 'Name of the group.' FIRST; +ALTER TABLE webcal_group MODIFY cal_last_update TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Date last updated.' FIRST; +ALTER TABLE webcal_group MODIFY cal_group_id int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Unique group id.' FIRST; + +ALTER TABLE webcal_group_user ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Group members.'; +ALTER TABLE webcal_group_user MODIFY cal_login varchar(25) NOT NULL COMMENT 'From <a href="webcal_user">webcal_user</a>'; +ALTER TABLE webcal_group_user MODIFY cal_group_id int UNSIGNED NOT NULL COMMENT 'From <a href="webcal_group">webcal_group</a>' FIRST; + +ALTER TABLE webcal_import ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Used to track import data (one row per import).'; +ALTER TABLE webcal_import MODIFY cal_type varchar(10) NOT NULL COMMENT 'Type of import (ical, vcal, palm, outlookcsv).'; +ALTER TABLE webcal_import MODIFY cal_name varchar(50) DEFAULT NULL COMMENT 'Name of import (optional).' FIRST; +ALTER TABLE webcal_import MODIFY cal_login varchar(25) DEFAULT NULL COMMENT 'User who performed the import.' FIRST; +ALTER TABLE webcal_import MODIFY cal_date TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Datetime of import.' FIRST; +ALTER TABLE webcal_import MODIFY cal_import_id int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Unique id for import.' FIRST; + +ALTER TABLE webcal_import_data ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Used to track import data (one row per event).'; +ALTER TABLE webcal_import_data MODIFY cal_import_type varchar(15) NOT NULL COMMENT 'Type of import: "palm", "vcal", "ical" or "outlookcsv".'; +ALTER TABLE webcal_import_data MODIFY cal_import_id int UNSIGNED NOT NULL COMMENT 'Import id (From <a href="#webcal_import">webcal_import</a> table.' FIRST; +ALTER TABLE webcal_import_data MODIFY cal_external_id varchar(200) DEFAULT NULL COMMENT 'External id used in external calendar system (for example, UID in iCal).' FIRST; +ALTER TABLE webcal_import_data MODIFY cal_login varchar(25) NOT NULL COMMENT 'User login. From <a href="#webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_import_data MODIFY cal_id int UNSIGNED NOT NULL COMMENT 'Event id in WebCalendar. From <a href="#webcal_entry">webcal_entry</a> table.' FIRST; + +ALTER TABLE webcal_nonuser_cals ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Defines non-user calendars.'; +ALTER TABLE webcal_nonuser_cals MODIFY cal_url varchar(255) DEFAULT NULL COMMENT 'URL of the remote calendar.'; +ALTER TABLE webcal_nonuser_cals MODIFY cal_lastname varchar(25) DEFAULT NULL COMMENT 'Calendar''s last name.' FIRST; +ALTER TABLE webcal_nonuser_cals MODIFY cal_is_public ENUM('N','Y') NOT NULL DEFAULT 'N' COMMENT 'Can this nonuser calendar be a public calendar (no login required)?' FIRST; +ALTER TABLE webcal_nonuser_cals MODIFY cal_firstname varchar(25) DEFAULT NULL COMMENT 'Calendar'' first name.' FIRST; +ALTER TABLE webcal_nonuser_cals ADD cal_displayname varchar(50) DEFAULT NULL COMMENT 'Name to diplay on public or other user''s calendars.' FIRST; +ALTER TABLE webcal_nonuser_cals MODIFY cal_admin varchar(25) NOT NULL COMMENT 'The calendar administrator. From <a href="#webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_nonuser_cals MODIFY cal_login varchar(25) NOT NULL COMMENT 'Unique id for the calendar.' FIRST; +UPDATE webcal_nonuser_cals SET cal_displayname = CONCAT_WS(' ',cal_firstname,cal_lastname); + +ALTER TABLE webcal_reminders ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Stores information about reminders.'; +ALTER TABLE webcal_reminders MODIFY cal_times_sent int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Number of times this reminder has been sent.'; +ALTER TABLE webcal_reminders MODIFY cal_repeats int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Number of times to repeat in addition to original occurrence.' FIRST; +ALTER TABLE webcal_reminders MODIFY cal_related ENUM('E','S') NOT NULL DEFAULT 'S' COMMENT 'S=Start, E=End. Specifies which edge of entry this reminder applies to.' FIRST; +ALTER TABLE webcal_reminders MODIFY cal_offset int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Offset in minutes from the selected edge.' FIRST; +ALTER TABLE webcal_reminders MODIFY cal_last_sent datetime NOT NULL COMMENT 'Timestamp of last sent reminder.' FIRST; +ALTER TABLE webcal_reminders MODIFY cal_duration int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Time in ISO 8601 format that specifies time between repeated reminders.' FIRST; +ALTER TABLE webcal_reminders MODIFY cal_date datetime NOT NULL COMMENT 'When to send? Use this or cal_offset, but not both.' FIRST; +ALTER TABLE webcal_reminders MODIFY cal_before ENUM('N','Y') NOT NULL DEFAULT 'Y' COMMENT 'Specifies whether reminder is sent before or after selected edge.' FIRST; +ALTER TABLE webcal_reminders MODIFY cal_action varchar(12) NOT NULL DEFAULT 'EMAIL' COMMENT 'Action as imported, may be used in the future.' FIRST; +ALTER TABLE webcal_reminders MODIFY cal_id int UNSIGNED NOT NULL DEFAULT '0' FIRST; + +ALTER TABLE webcal_report ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Defines a custom report created by a user.'; +ALTER TABLE webcal_report MODIFY cal_user varchar(25) DEFAULT NULL COMMENT 'User calendar to display (NULL indicates current user).'; +ALTER TABLE webcal_report MODIFY cal_update_date date NOT NULL COMMENT 'Date created or last updated.' FIRST; +ALTER TABLE webcal_report MODIFY cal_time_range int UNSIGNED NOT NULL COMMENT 'Time range for report:<ul><li>0 = tomorrow</li><li>1 = today</li><li>2 = yesterday</li><li>3 = day before yesterday</li><li>10 = next week</li><li>11 = current week</li><li>12 = last week</li><li>13 = week before last</li><li>20 = next week and week after</li><li>21 = current week and next week</li><li>22 = last week and this week</li><li>23 = last two weeks</li><li>30 = next month</li><li>31 = current month</li><li>32 = last month</li><li>33 = month before last</li><li>40 = next year</li><li>41 = current year</li><li>42 = last year</li><li>43 = year before last</li></ul>' FIRST; +ALTER TABLE webcal_report MODIFY cal_show_in_trailer ENUM('N','Y') DEFAULT 'N' COMMENT 'Include a link for this report in the "Go to" section of the navigation in the page trailer? ("Y" or "N")' FIRST; +ALTER TABLE webcal_report MODIFY cal_report_type varchar(20) NOT NULL COMMENT 'Format of report (html, plain or csv).' FIRST; +ALTER TABLE webcal_report MODIFY cal_report_name varchar(50) NOT NULL COMMENT 'Name of the report.' FIRST; +ALTER TABLE webcal_report ADD cal_mod TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Created or last updated.' FIRST; +ALTER TABLE webcal_report MODIFY cal_login varchar(25) NOT NULL COMMENT 'Creator of report.' FIRST; +ALTER TABLE webcal_report MODIFY cal_is_global ENUM('N','Y') NOT NULL DEFAULT 'N' COMMENT 'Is this a global report (can it be accessed by other users - "Y" or "N")' FIRST; +ALTER TABLE webcal_report MODIFY cal_include_header ENUM('N','Y') NOT NULL DEFAULT 'Y' COMMENT 'If cal_report_type is "html", should the default HTML header and trailer be included? ("Y" or "N")' FIRST; +ALTER TABLE webcal_report MODIFY cal_include_empty ENUM('N','Y') DEFAULT 'N' COMMENT 'Include empty dates in report ("Y" or "N").' FIRST; +ALTER TABLE webcal_report MODIFY cal_cat_id int UNSIGNED DEFAULT NULL COMMENT 'Category to filter on (optional).' FIRST; +ALTER TABLE webcal_report MODIFY cal_allow_nav ENUM('N','Y') DEFAULT 'Y' COMMENT 'Allow user to navigate to different dates with next/previous? ("Y" or "N")' FIRST; +ALTER TABLE webcal_report MODIFY cal_report_id int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Unique id of this report.' FIRST; + +ALTER TABLE webcal_report_template ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Defines one of the templates used for a report. Each report has three templates: <ol><li>Page template - Defines the entire page (except for header and footer). The following variables can be defined:<ul><li>${days}<sup>*</sup> - the HTML of all dates (generated from the Date template)</li></ul></li><li>Date template - Defines events for one day. If the report is for a week or month, then the results of each day will be concatenated and used as the ${days} variable in the Page template. The following variables can be defined:<ul><li>${events}<sup>*</sup> - the HTML of all events for the data (generated from the Event template)</li><li>${date} - the date</li><li>${fulldate} - date (includes weekday)</li></ul></li><li>Event template - Defines a single event. The following variables can be defined: <ul><li>${name}<sup>*</sup> - Brief Description of event</li><li>${description} - Full Description of event</li><li>${date} - Date of event</li><li>${fulldate} - Date of event (includes weekday)</li><li>${time} - Time of event (4:00pm - 4:30pm)</li><li>${starttime} - Start time of event</li><li>${endtime} - End time of event</li><li>${duration} - Duration of event (in minutes)</li><li>${priority} - Priority of event</li><li>${href} - URL to view event details</li></ul></li></ol><sup>*</sup> denotes a required template variable.'; +ALTER TABLE webcal_report_template MODIFY cal_template_type ENUM('D','E','P') NOT NULL DEFAULT "P" COMMENT 'Type of template:<ul><li>"P": page template represents entire document</li><li>"D": date template represents a single day of events</li><li>"E": event template represents a single event</li></ul>' FIRST; +ALTER TABLE webcal_report_template MODIFY cal_template_text text COMMENT 'Text of template.'; +ALTER TABLE webcal_report_template MODIFY cal_report_id int UNSIGNED NOT NULL COMMENT 'Report id from <a href="webcal_report table">webcal_report</a> table.' FIRST; + +ALTER TABLE webcal_site_extras ENGINE MyISAM CHARACTER SET utf8 COMMENT 'This table holds data for site extra fields (customized in site_extra.php).'; +ALTER TABLE webcal_site_extras MODIFY cal_type int UNSIGNED NOT NULL COMMENT 'EXTRA_URL, EXTRA_DATE, etc.' FIRST; +ALTER TABLE webcal_site_extras MODIFY cal_remind int UNSIGNED DEFAULT '0' COMMENT 'How many minutes before event should a reminder be sent.' FIRST; +ALTER TABLE webcal_site_extras MODIFY cal_name varchar(25) NOT NULL COMMENT 'The brief name of this type (first field in $site_extra array).' FIRST; +ALTER TABLE webcal_site_extras MODIFY cal_id int UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Event id from <a href="webcal_entry">webcal_entry</a> table.' FIRST; +ALTER TABLE webcal_site_extras MODIFY cal_date DATE NULL DEFAULT NULL COMMENT 'Only used for EXTRA_DATE type fields.' FIRST; +ALTER TABLE webcal_site_extras MODIFY cal_data text COMMENT 'Used to store text data.'; + +ALTER TABLE webcal_timezones ENGINE MyISAM CHARACTER SET utf8 COMMENT 'This table stores timezones of the world.'; +ALTER TABLE webcal_timezones MODIFY vtimezone text COMMENT 'Complete VTIMEZONE text gleaned from imported ics files.'; +ALTER TABLE webcal_timezones MODIFY tzid varchar(100) NOT NULL DEFAULT '' COMMENT 'Unique name of timezone, try to use Olsen naming conventions.' FIRST; +ALTER TABLE webcal_timezones MODIFY dtstart varchar(16) DEFAULT NULL COMMENT 'Earliest date this timezone represents in YYYYMMDDTHHMMSSZ format.' FIRST; +ALTER TABLE webcal_timezones MODIFY dtend varchar(16) DEFAULT NULL COMMENT 'Last date this timezone represents in YYYYMMDDTHHMMSSZ format.' FIRST; + +DROP TABLE IF EXISTS webcal_translations; +CREATE TABLE IF NOT EXISTS webcal_translations ( + phrase varchar(300) CHARACTER SET latin1 COLLATE latin1_general_cs NOT NULL COMMENT 'The translate / tooltip (phrases) from the code. And the __phrase__ from version 2.0.0. ("latin1" is currently the only choice that is case sensitive.)', + on_page varchar(50) NOT NULL COMMENT 'which code page (sorted alphabetically) has the first occurance of the above phrase.', + English_US varchar(300) NOT NULL COMMENT 'The full English text.', + Afrikaans varchar(300) NOT NULL, + Albanian varchar(300) NOT NULL, + Arabic varchar(300) NOT NULL, + Armenian varchar(300) NOT NULL, + Azerbaijan varchar(300) NOT NULL, + Basque varchar(300) NOT NULL, + Belarusian varchar(300) NOT NULL, + Bulgarian varchar(300) NOT NULL, + Catalan varchar(300) NOT NULL, + Chamorro varchar(300) NOT NULL, + Chinese_Big5 varchar(300) NOT NULL, + Chinese_GB2312 varchar(300) NOT NULL, + Croatian varchar(300) CHARACTER SET utf8 COLLATE utf8_croatian_ci NOT NULL, + Czech varchar(300) CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL, + Danish varchar(300) CHARACTER SET utf8 COLLATE utf8_danish_ci NOT NULL, + Dutch varchar(300) NOT NULL, + Elven varchar(300) NOT NULL COMMENT 'From JRR Tolkien "Hobbit" and "Lord of the Rings".', + Esperanto varchar(300) CHARACTER SET utf8 COLLATE utf8_esperanto_ci NOT NULL, + Estonian varchar(300) CHARACTER SET utf8 COLLATE utf8_estonian_ci NOT NULL, + Faroese varchar(300) NOT NULL, + Farsi varchar(300) NOT NULL, + Finnish varchar(300) NOT NULL, + French varchar(300) NOT NULL, + Galician varchar(300) NOT NULL, + Georgian varchar(300) NOT NULL, + German varchar(300) CHARACTER SET utf8 COLLATE utf8_german2_ci NOT NULL, + Greek varchar(300) NOT NULL, + Hebrew varchar(300) NOT NULL, + Hungarian varchar(300) CHARACTER SET utf8 COLLATE utf8_hungarian_ci NOT NULL, + Icelandic varchar(300) CHARACTER SET utf8 COLLATE utf8_icelandic_ci NOT NULL, + Indonesian varchar(300) NOT NULL, + Italian varchar(300) NOT NULL, + Japanese varchar(300) NOT NULL, + Klingon varchar(300) NOT NULL, + Korean varchar(300) NOT NULL, + Latvian varchar(300) CHARACTER SET utf8 COLLATE utf8_latvian_ci NOT NULL, + Lithuanian varchar(300) CHARACTER SET utf8 COLLATE utf8_lithuanian_ci NOT NULL, + Malaysian varchar(300) NOT NULL, + Myanmar varchar(300) CHARACTER SET utf8 COLLATE utf8_myanmar_ci NOT NULL, + Norwegian varchar(300) NOT NULL, + Persian varchar(300) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL, + Polish varchar(300) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL, + Portuguese varchar(300) NOT NULL, + Portuguese_BR varchar(300) NOT NULL, + Romanian varchar(300) CHARACTER SET utf8 COLLATE utf8_romanian_ci NOT NULL, + Russian varchar(300) NOT NULL, + Serbian varchar(300) NOT NULL, + Sinhala varchar(300) CHARACTER SET utf8 COLLATE utf8_sinhala_ci NOT NULL, + Slovakian varchar(300) CHARACTER SET utf8 COLLATE utf8_slovak_ci NOT NULL, + Slovenian varchar(300) CHARACTER SET utf8 COLLATE utf8_slovenian_ci NOT NULL, + Spanish varchar(300) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT NULL, + Swedish varchar(300) NOT NULL, + Taiwanese varchar(300) NOT NULL, + Turkish varchar(300) CHARACTER SET utf8 COLLATE utf8_turkish_ci NOT NULL, + Ukrainian varchar(300) NOT NULL, + Vietnamese varchar(300) CHARACTER SET utf8 COLLATE utf8_vietnamese_ci NOT NULL, + Welsh varchar(300) NOT NULL, + PRIMARY KEY (phrase), + KEY wt_op (on_page) +) ENGINE MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='Various language translations.'; + +ALTER TABLE webcal_user ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Defines a WebCalendar user.'; +ALTER TABLE webcal_user ADD cal_type ENUM('A','N','S','U') DEFAULT 'U' COMMENT 'Is this an A)dmin, N)on_user, S)ystem, or ordinary U)ser? Will evevtually replace is_admin.'; +ALTER TABLE webcal_user MODIFY cal_passwd varchar(32) DEFAULT NULL COMMENT 'The user''s password (not used for http.)' FIRST; +ALTER TABLE webcal_user ADD cal_mod TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'User''s last log in.' FIRST; +ALTER TABLE webcal_user MODIFY cal_last_login timestamp on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Date user last logged in.' FIRST; +ALTER TABLE webcal_user MODIFY cal_is_admin ENUM('N','Y') DEFAULT 'N' COMMENT 'Is the user a WebCalendar administrator? (Y or N)' FIRST; +ALTER TABLE webcal_user MODIFY cal_enabled ENUM('N','Y') DEFAULT 'Y' COMMENT 'Allow admin to disable account? (Y or N)' FIRST; +ALTER TABLE webcal_user MODIFY cal_login varchar(25) NOT NULL COMMENT 'Unique user login.' FIRST; +UPDATE webcal_user SET cal_type = 'U' WHERE cal_is_admin = 'N'; +UPDATE webcal_user SET cal_type = 'A' WHERE cal_is_admin = 'Y'; + +ALTER TABLE webcal_user_layers ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Define layers for a user.'; +ALTER TABLE webcal_user_layers MODIFY cal_layerid int UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE COMMENT 'Unique layer id.' FIRST; +ALTER TABLE webcal_user_layers MODIFY cal_dups ENUM('N','Y') DEFAULT 'N' COMMENT 'Show duplicates? (Y or N)'; +ALTER TABLE webcal_user_layers MODIFY cal_color varchar(25) DEFAULT NULL COMMENT 'Color (preferably in hex) of this layer.' FIRST; +ALTER TABLE webcal_user_layers MODIFY cal_layeruser varchar(25) NOT NULL COMMENT 'Login name of user that this layer represents. Also from <a href="webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_user_layers MODIFY cal_login varchar(25) NOT NULL COMMENT 'Login of owner of this layer from <a href="webcal_user">webcal_user</a> table.' FIRST; + +/*Consolodate some fields / tables into webcal_user_pref.*/ +DELETE FROM webcal_config WHERE cal_value IS NULL; +DELETE FROM webcal_user_pref WHERE cal_value IS NULL; + +ALTER TABLE webcal_user_pref DROP PRIMARY KEY; +ALTER TABLE webcal_user_pref ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Specify preferences for a user. Most preferences are set via pref.php. Values in this table are loaded after system settings found in <a href="#webcal_config">webcal_config</a> table.'; +ALTER TABLE webcal_user_pref MODIFY cal_value varchar(100) NOT NULL COMMENT 'Value of setting.'; +ALTER TABLE webcal_user_pref ADD PRIMARY KEY (cal_login,cal_setting,cal_value); + +ALTER TABLE webcal_user_pref MODIFY cal_login varchar(25) DEFAULT '__webcal__sys__'; +INSERT INTO webcal_user_pref (cal_setting, cal_value) SELECT cal_setting, cal_value FROM webcal_config; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'ACCESS_FUNCTIONS' FIRST; +ALTER TABLE webcal_user_pref MODIFY cal_login varchar(25) NOT NULL COMMENT 'User login from <a href="#webcal_user">webcal_user</a> table.' FIRST; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_login, cal_permissions FROM webcal_access_function; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'ASSISTANT'; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_boss, cal_assistant FROM webcal_asst; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'GROUP_ID'; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_login, cal_group_id FROM webcal_group_user; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'ADDRESS'; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_login, cal_address FROM webcal_user WHERE cal_address IS NOT NULL; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'BIRTHDAY'; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_login, cal_birthday FROM webcal_user WHERE cal_birthday IS NOT NULL; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'DISPLAY_NAME'; +UPDATE webcal_user_pref SET cal_firstname = '' WHERE cal_firstname IS NULL; +UPDATE webcal_user_pref SET cal_lastname = '' WHERE cal_lastname IS NULL; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_login, TRIM( CONCAT_WS( ' ',cal_firstname,cal_lastname ) ) FROM webcal_user; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'EMAIL'; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_login, cal_email FROM webcal_user WHERE cal_email IS NOT NULL; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'FIRSTNAME'; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_login, cal_firstname FROM webcal_user; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'LASTNAME'; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_login, cal_lastname FROM webcal_user; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'PHONE'; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_login, cal_telephone FROM webcal_user WHERE cal_telephone IS NOT NULL; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'TITLE'; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_login, cal_title FROM webcal_user WHERE cal_title IS NOT NULL; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) DEFAULT 'VIEW_ID'; +INSERT INTO webcal_user_pref (cal_login, cal_value) SELECT cal_login, cal_view_id FROM webcal_view_user; + +ALTER TABLE webcal_user_pref MODIFY cal_setting varchar(50) NOT NULL COMMENT 'Setting name.'; + +/* Once the code gets updated, drop the obsolete fields / tables. */ +/* End consolidating webcal_user_pref */ + +UPDATE webcal_user_template SET cal_login = '__webcal__sys__' WHERE cal_login = '__system_'; +ALTER TABLE webcal_user_template ENGINE MyISAM CHARACTER SET utf8 COMMENT 'This table stores the custom header/stylesheet/trailer. If configured properly, each user (or nonuser cal) can have their own custom header/trailer.'; +ALTER TABLE webcal_user_template MODIFY cal_type ENUM('H','S','T') NOT NULL COMMENT 'H)eader, S)tylesheet/script, T)railer.' FIRST; +ALTER TABLE webcal_user_template MODIFY cal_template_text text COMMENT 'Text of template.'; +ALTER TABLE webcal_user_template MODIFY cal_login varchar(25) NOT NULL COMMENT 'User login (or nonuser cal name), the default for all users is stored with the username "__webcal__sys__".' FIRST; + +ALTER TABLE webcal_view ENGINE MyISAM CHARACTER SET utf8 COMMENT 'A "view" allows a user to put the calendars of multiple users all on one page. A "view" is valid only for the owner (cal_owner) of the view. Users for the view are in <a href="#webcal_view_user">webcal_view_user</a> table.'; +ALTER TABLE webcal_view MODIFY cal_view_type ENUM('D','M','W') DEFAULT NULL COMMENT '"W" for week view, "D" for day view, "M" for month view.'; +ALTER TABLE webcal_view MODIFY cal_owner varchar(25) NOT NULL COMMENT 'Login name of owner of this view. From <a href="#webcal_user">webcal_user</a> table.' FIRST; +ALTER TABLE webcal_view MODIFY cal_name varchar(50) NOT NULL COMMENT 'Name of view.' FIRST; +ALTER TABLE webcal_view MODIFY cal_is_global ENUM('N','Y') NOT NULL DEFAULT 'N' COMMENT 'Is this a global view? (can it be accessed by other users - "Y" or "N")' FIRST; +ALTER TABLE webcal_view MODIFY cal_view_id int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Unique view id.' FIRST; + +ALTER TABLE webcal_view_user ENGINE MyISAM CHARACTER SET utf8 COMMENT 'Specify users in a view.'; +ALTER TABLE webcal_view_user MODIFY cal_login varchar(25) NOT NULL COMMENT 'A user in the view. From <a href="#webcal_user">webcal_user</a> table.'; +ALTER TABLE webcal_view_user MODIFY cal_view_id int UNSIGNED NOT NULL COMMENT 'view id from <a href="#webcal_view">webcal_view</a> table.' FIRST; +-
After you complete manually updating your database, you will still need to run the installation script to perform - any necessary data changes needed to convert existing data.
+ any necessary data changes needed to convert existing data. Although, I've tried to do that for you in upgrading from 1.1.3, I may have missed something.Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_login (Primary) | varchar(25) | No | User login. From <a href="#webcal_user">webcal_user</a> table. | +|
cal_permissions | varchar(64) | No | A string of "Y"s and/or "N"s for the various functions. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_login | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_login (Primary) | varchar(25) | No | The + current user who is attempting to look at another user's calendar. From + <a href="#webcal_user">webcal_user</a> table. | +|
cal_other_user (Primary) | varchar(25) | No | The + login of the other user whose calendar the current user wants to +access. Also, from <a href="#webcal_user">webcal_user</a> +table. | +|
cal_can_approve | smallint(5) | No | 0 | Can current user approve events on the other user's calendar? | +
cal_can_edit | smallint(5) | No | 0 | Can current user edit events on the other user's calendar? | +
cal_can_email | enum('N', 'Y') | Yes | Y | Can current user send emails to other user? | +
cal_can_invite | enum('N', 'Y') | No | Y | Can current user see other user in Participant lists? | +
cal_can_view | smallint(5) | No | 0 | Can current user view events on the other user's calendar? | +
cal_see_time_only | enum('N', 'Y') | No | N | Can current user can only see time of other user? | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_login | A | No | ||
cal_other_user | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_boss (Primary) | varchar(25) | No | Boss login. From <a href="#webcal_user">webcal_user</a> table. | +|
cal_assistant (Primary) | varchar(25) | No | Assistant login. Also from <a href="#webcal_user">webcal_user</a> table. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_boss | A | No | ||
cal_assistant | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_blob_id (Primary) | int(10) | No | Unique identifier for this object. | +|
cal_description | varchar(128) | Yes | NULL | Description of what the object is (subject for comment). | +
cal_id | int(10) | Yes | NULL | Event id (if applicable). From <a href="#webcal_entry">webcal_entry</a> table. | +
cal_login | varchar(25) | Yes | NULL | Login of user who created. From <a href="#webcal_user">webcal_user</a> table. | +
cal_mime_type | varchar(50) | Yes | NULL | MIME type of object (as specified by browser during upload (not used for comment). | +
cal_mod | timestamp | No | current_timestamp() | When was this added / changed? | +
cal_mod_date | date | No | Date added. | +|
cal_mod_time | time | No | Time added. | +|
cal_name | varchar(30) | Yes | NULL | Filename of object (not used for comments). | +
cal_size | int(10) | Yes | NULL | Size of object (not used for comments). | +
cal_type | enum('A', 'C') | No | C | Type of object: C=Comment, A=Attachment. | +
cal_blob | longblob | Yes | NULL | Binary data for object. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_blob_id | 0 | A | No | |
wb_cl_cd | BTREE | Yes | No | cal_login | A | Yes | ||
cal_description | A | Yes |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cat_id (Primary) | int(10) | No | Unique category id. | +|
cat_color | varchar(7) | Yes | NULL | RGB color for category. | +
cat_name | varchar(80) | No | Category name. | +|
cat_owner | varchar(25) | Yes | NULL | User + login of category owner. From <a +href="#webcal_user">webcal_user</a> table, if applicable. If +this is NULL, then it is a global category. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cat_id | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_setting (Primary) | varchar(50) | No | System setting. | +|
cal_value | varchar(100) | Yes | NULL | System setting value. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_setting | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_id (Primary) | int(10) | No | Unique integer id for event. | +|
cal_access | enum('C', 'P', 'R') | Yes | P | "P" + = Public, "R" = Private (others cannot see the event), "C" = +Confidential (others can see time allocated but not what it is). | +
cal_completed | date | Yes | NULL | Date task completed. | +
cal_create_by | varchar(25) | No | Login of user that created the event. From <a href="#webcal_user">webcal_user</a> table. | +|
cal_date | date | No | Date of event (in YYYYMMDD format). | +|
cal_datetime | datetime | No | When is this event scheduled to start? | +|
cal_due | datetime | Yes | NULL | When is this task due? | +
cal_due_date | date | Yes | NULL | Task due date. | +
cal_due_time | time | Yes | NULL | Task due time. | +
cal_duration | int(10) | No | Duration of event in minutes. | +|
cal_ext_for_id | int(10) | Yes | NULL | Used + when an event goes past midnight into the next day, in which case an +additional entry in this table will use this field to indicate the +original event cal_id. | +
cal_group_id | int(10) | Yes | NULL | The parent event id if this event is overriding an occurrence of a repeating event. From this table. | +
cal_location | varchar(100) | Yes | NULL | Location of event. | +
cal_mod | timestamp | No | current_timestamp() | When was this added / changed? | +
cal_mod_date | date | Yes | NULL | Date the event was last modified (in YYYYMMDD format). | +
cal_mod_time | time | Yes | NULL | Time the event was last modified (in HHMMSS format). | +
cal_name | varchar(80) | No | Brief description of event. | +|
cal_priority | tinyint(3) | Yes | 5 | Event priority: 1=High, 9=Low. | +
cal_time | time | Yes | NULL | Event start time (in HHMMSS format). | +
cal_type | enum('E', 'M', 'T') | Yes | E | "E" = Event, "M" = Repeating event, "T" = Task. | +
cal_url | varchar(100) | Yes | NULL | URL of event. | +
cal_description | text | Yes | NULL | Full description of event. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_id | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_id | int(10) | No | 0 | Id of event from <a href="webcal_entry">webcal_entry</a> table. | +
cat_id | int(10) | No | 0 | Id of category from <a href="webcal_categories">webcal_categories</a> table. | +
cat_owner | varchar(25) | Yes | NULL | User that owns this record. Global categories will be NULL. From <a href="#webcal_user">webcal_user</a> table. | +
cat_order | int(10) | No | 0 | Order that user requests their categories appear. Globals are always last. | +
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_id (Primary) | int(10) | No | 0 | From <a href="webcal_entry">webcal_entry</a> table. | +
cal_email | varchar(75) | Yes | NULL | external user email (for sending a reminder) | +
cal_fullname (Primary) | varchar(50) | No | external user full name | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_id | A | No | ||
cal_fullname | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_log_id (Primary) | int(10) | No | Unique id of this log entry. | +|
cal_date | date | No | Date (in YYYYMMDD format). | +|
cal_entry_id | int(10) | No | Event id. From <a href="#webcal_entry">webcal_entry</a> table. | +|
cal_login | varchar(25) | No | User who performed this action. From <a href="#webcal_user">webcal_user</a> table. | +|
cal_mod | timestamp | No | current_timestamp() | When was this added / changed? | +
cal_time | time | Yes | NULL | Time (in HHMMSS format). | +
cal_type | enum('A', 'C', 'E', 'M', 'R', 'U') | No | C | Log + types:<ul><li>C: Created</li><li>A: +Approved/Confirmed by user</li><li>R: Rejected by +user</li><li>U: Updated by user</li><li>M: Mail +Notification sent</li><li>E: Reminder +sent</li></ul> | +
cal_user_cal | varchar(25) | Yes | NULL | User of calendar affected. Also from <a href="#webcal_user">webcal_user</a> table. | +
cal_text | text | Yes | NULL | Optional text. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_log_id | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_id (Primary) | int(10) | No | 0 | Event id. From <a href="#webcal_entry">webcal_entry</a> table. | +
cal_byday | varchar(100) | Yes | NULL | The following columns are values as specified in RFC2445. | +
cal_bymonth | varchar(50) | Yes | NULL | + |
cal_bymonthday | varchar(100) | Yes | NULL | + |
cal_bysetpos | varchar(50) | Yes | NULL | + |
cal_byweekno | varchar(50) | Yes | NULL | + |
cal_byyearday | varchar(50) | Yes | NULL | + |
cal_count | int(10) | Yes | NULL | + |
cal_days | enum('N', 'Y') | Yes | NULL | NO LONGER USED. We'll leave it in for now. | +
cal_end | date | Yes | NULL | End date for repeating event. | +
cal_enddt | datetime | Yes | NULL | End date and time for repeating event. | +
cal_endtime | time | Yes | NULL | End time for repeating event. | +
cal_frequency | int(10) | Yes | 1 | Frequency of repeat: 1 = every, 2 = every other, 3 = every 3rd, etc. | +
cal_type | varchar(20) | Yes | NULL | Type + of repeating:<ul><li>daily - repeats +daily</li><li>monthlyByDate - repeats on same day of the +month</li><li>monthlyBySetPos - repeats based on position +within other ByXXX values</li><li>monthlyByDay - repeats on +specified weekday2nd Monday, for example)</li><li>weekly - +repeats every week</li><li>yearly - repeats on same date +every year</li></ul> | +
cal_wkst | enum('MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU') | Yes | MO | Week starts on... | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_id | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_id (Primary) | int(10) | No | Event id of repeating event. From <a href="#webcal_entry">webcal_entry</a> table. | +|
cal_date (Primary) | date | No | Date event should not repeat. | +|
cal_exdate | tinyint(3) | No | 1 | Indicates whether this record is an exclusion1) or inclusion0). | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_id | A | No | ||
cal_date | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_id (Primary) | int(10) | No | 0 | Event id. From <a href="#webcal_entry">webcal_entry</a> table. | +
cal_login (Primary) | varchar(25) | No | Participant in the event. From <a href="#webcal_user">webcal_user</a> table. | +|
cal_category | int(10) | Yes | NULL | Category of the event for this user. | +
cal_percent | tinyint(3) | No | 0 | Task percentage of completion for this user's task. | +
cal_status | enum('A', 'C', 'D', 'P', 'R', 'W') | Yes | A | Status + of event for this +user:<ul><li>A=Accepted</li><li>C=Completed</li><li>D=Deleted</li><li>P=In-Progress</li><li>R=Rejected/Declined</li><li>W=Waiting</li></ul> | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_id | A | No | ||
cal_login | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_group_id (Primary) | int(10) | No | Unique group id. | +|
cal_last_update | timestamp | No | current_timestamp() | Date last updated. | +
cal_name | varchar(50) | No | Name of the group. | +|
cal_owner | varchar(25) | Yes | NULL | User login of user that created this group. From <a href="#webcal_user">webcal_user</a> table. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_group_id | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_group_id (Primary) | int(10) | No | From <a href="webcal_group">webcal_group</a> | +|
cal_login (Primary) | varchar(25) | No | From <a href="webcal_user">webcal_user</a> | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_group_id | A | No | ||
cal_login | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_import_id (Primary) | int(10) | No | Unique id for import. | +|
cal_date | timestamp | No | current_timestamp() | Datetime of import. | +
cal_login | varchar(25) | Yes | NULL | User who performed the import. | +
cal_name | varchar(50) | Yes | NULL | Name of import (optional). | +
cal_type | varchar(10) | No | Type of import (ical, vcal, palm, outlookcsv). | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_import_id | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_id (Primary) | int(10) | No | Event id in WebCalendar. From <a href="#webcal_entry">webcal_entry</a> table. | +|
cal_login (Primary) | varchar(25) | No | User login. From <a href="#webcal_user">webcal_user</a> table. | +|
cal_external_id | varchar(200) | Yes | NULL | External id used in external calendar system (for example, UID in iCal). | +
cal_import_id | int(10) | No | Import id (From <a href="#webcal_import">webcal_import</a> table. | +|
cal_import_type | varchar(15) | No | Type of import: "palm", "vcal", "ical" or "outlookcsv". | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_id | A | No | ||
cal_login | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_login (Primary) | varchar(25) | No | Unique id for the calendar. | +|
cal_admin | varchar(25) | No | The calendar administrator. From <a href="#webcal_user">webcal_user</a> table. | +|
cal_displayname | varchar(50) | Yes | NULL | Name to diplay on public or other user's calendars. | +
cal_firstname | varchar(25) | Yes | NULL | Calendar' first name. | +
cal_is_public | enum('N', 'Y') | No | N | Can this nonuser calendar be a public calendar (no login required)? | +
cal_lastname | varchar(25) | Yes | NULL | Calendar's last name. | +
cal_url | varchar(255) | Yes | NULL | URL of the remote calendar. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_login | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_id (Primary) | int(10) | No | 0 | + |
cal_action | varchar(12) | No | Action as imported, may be used in the future. | +|
cal_before | enum('N', 'Y') | No | Y | Specifies whether reminder is sent before or after selected edge. | +
cal_date | datetime | No | When to send? Use this or cal_offset, but not both. | +|
cal_duration | int(10) | No | 0 | Time in ISO 8601 format that specifies time between repeated reminders. | +
cal_last_sent | datetime | No | Timestamp of last sent reminder. | +|
cal_offset | int(10) | No | 0 | Offset in minutes from the selected edge. | +
cal_related | enum('E', 'S') | No | S | S=Start, E=End. Specifies which edge of entry this reminder applies to. | +
cal_repeats | int(10) | No | 0 | Number of times to repeat in addition to original occurrence. | +
cal_times_sent | int(10) | No | 0 | Number of times this reminder has been sent. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_id | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_report_id (Primary) | int(10) | No | Unique id of this report. | +|
cal_allow_nav | enum('N', 'Y') | Yes | Y | Allow user to navigate to different dates with next/previous? ("Y" or "N") | +
cal_cat_id | int(10) | Yes | NULL | Category to filter on (optional). | +
cal_include_empty | enum('N', 'Y') | Yes | N | Include empty dates in report ("Y" or "N"). | +
cal_include_header | enum('N', 'Y') | No | Y | If cal_report_type is "html", should the default HTML header and trailer be included? ("Y" or "N") | +
cal_is_global | enum('N', 'Y') | No | N | Is this a global report (can it be accessed by other users - "Y" or "N") | +
cal_login | varchar(25) | No | Creator of report. | +|
cal_mod | timestamp | No | current_timestamp() | Created or last updated. | +
cal_report_name | varchar(50) | No | Name of the report. | +|
cal_report_type | varchar(20) | No | Format of report (html, plain or csv). | +|
cal_show_in_trailer | enum('N', 'Y') | Yes | N | Include a link for this report in the "Go to" section of the navigation in the page trailer? ("Y" or "N") | +
cal_time_range | int(10) | No | Time + range for report:<ul><li>0 = tomorrow</li><li>1 + = today</li><li>2 = yesterday</li><li>3 = day +before yesterday</li><li>10 = next +week</li><li>11 = current week</li><li>12 = last + week</li><li>13 = week before last</li><li>20 = + next week and week after</li><li>21 = current week and next + week</li><li>22 = last week and this +week</li><li>23 = last two weeks</li><li>30 = +next month</li><li>31 = current month</li><li>32 + = last month</li><li>33 = month before +last</li><li>40 = next year</li><li>41 = current + year</li><li>42 = last year</li><li>43 = year +before last</li></ul> | +|
cal_update_date | date | No | Date created or last updated (in YYYYMMDD format). | +|
cal_user | varchar(25) | Yes | NULL | User calendar to display (NULL indicates current user). | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_report_id | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_report_id (Primary) | int(10) | No | Report id from <a href="webcal_report table">webcal_report</a> table. | +|
cal_template_type (Primary) | enum('D', 'E', 'P') | No | P | Type + of template:<ul><li>"P": page template represents entire +document</li><li>"D": date template represents a single day +of events</li><li>"E": event template represents a single +event</li></ul> | +
cal_template_text | text | Yes | NULL | Text of template. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_report_id | A | No | ||
cal_template_type | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_date | date | Yes | NULL | Only used for EXTRA_DATE type fields. | +
cal_id | int(10) | No | 0 | Event id from <a href="webcal_entry">webcal_entry</a> table. | +
cal_name | varchar(25) | No | The brief name of this type (first field in $site_extra array). | +|
cal_remind | int(10) | Yes | 0 | How many minutes before event should a reminder be sent. | +
cal_type | int(10) | No | EXTRA_URL, EXTRA_DATE, etc. | +|
cal_data | text | Yes | NULL | Used to store text data. | +
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
dtend | varchar(16) | Yes | NULL | Last date this timezone represents YYYYMMDDTHHMMSSZ format. | +
dtstart | varchar(16) | Yes | NULL | Earliest date this timezone represents YYYYMMDDTHHMMSSZ format. | +
tzid (Primary) | varchar(100) | No | Unique name of timezone, try to use Olsen naming conventions. | +|
vtimezone | text | Yes | NULL | Complete VTIMEZONE text gleaned from imported ics files. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | tzid | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
phrase (Primary) | varchar(300) | No | The + translate / tooltip (phrases) from the code. And the __phrase__ from +version 2.0.0. ("latin1" is currently the only choice that is case +sensitive.) | +|
on_page | varchar(50) | No | which code page (sorted alphabetically) has the first occurance of the above phrase. | +|
English_US | varchar(300) | No | The full English text. | +|
Afrikaans | varchar(300) | No | + | |
Albanian | varchar(300) | No | + | |
Arabic | varchar(300) | No | + | |
Armenian | varchar(300) | No | + | |
Azerbaijan | varchar(300) | No | + | |
Basque | varchar(300) | No | + | |
Belarusian | varchar(300) | No | + | |
Bulgarian | varchar(300) | No | + | |
Catalan | varchar(300) | No | + | |
Chamorro | varchar(300) | No | + | |
Chinese_Big5 | varchar(300) | No | + | |
Chinese_GB2312 | varchar(300) | No | + | |
Croatian | varchar(300) | No | + | |
Czech | varchar(300) | No | + | |
Danish | varchar(300) | No | + | |
Dutch | varchar(300) | No | + | |
Elven | varchar(300) | No | From JRR Tolkien "Hobbit" and "Lord of the Rings". | +|
Esperanto | varchar(300) | No | + | |
Estonian | varchar(300) | No | + | |
Faroese | varchar(300) | No | + | |
Farsi | varchar(300) | No | + | |
Finnish | varchar(300) | No | + | |
French | varchar(300) | No | + | |
Galician | varchar(300) | No | + | |
Georgian | varchar(300) | No | + | |
German | varchar(300) | No | + | |
Greek | varchar(300) | No | + | |
Hebrew | varchar(300) | No | + | |
Hungarian | varchar(300) | No | + | |
Icelandic | varchar(300) | No | + | |
Indonesian | varchar(300) | No | + | |
Italian | varchar(300) | No | + | |
Japanese | varchar(300) | No | + | |
Klingon | varchar(300) | No | + | |
Korean | varchar(300) | No | + | |
Latvian | varchar(300) | No | + | |
Lithuanian | varchar(300) | No | + | |
Malaysian | varchar(300) | No | + | |
Myanmar | varchar(300) | No | + | |
Norwegian | varchar(300) | No | + | |
Persian | varchar(300) | No | + | |
Polish | varchar(300) | No | + | |
Portuguese | varchar(300) | No | + | |
Portuguese_BR | varchar(300) | No | + | |
Romanian | varchar(300) | No | + | |
Russian | varchar(300) | No | + | |
Serbian | varchar(300) | No | + | |
Sinhala | varchar(300) | No | + | |
Slovakian | varchar(300) | No | + | |
Slovenian | varchar(300) | No | + | |
Spanish | varchar(300) | No | + | |
Swedish | varchar(300) | No | + | |
Taiwanese | varchar(300) | No | + | |
Turkish | varchar(300) | No | + | |
Ukrainian | varchar(300) | No | + | |
Vietnamese | varchar(300) | No | + | |
Welsh | varchar(300) | No | + |
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | phrase | 0 | A | No | |
wt_op | BTREE | No | No | on_page | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_login (Primary) | varchar(25) | No | Unique user login. | +|
cal_enabled | enum('N', 'Y') | Yes | Y | Allow admin to disable account? (Y or N) | +
cal_is_admin | enum('N', 'Y') | Yes | N | Is the user a WebCalendar administrator? (Y or N) | +
cal_last_login | timestamp | No | current_timestamp() | Date user last logged in. | +
cal_mod | timestamp | No | current_timestamp() | User's last log in. | +
cal_passwd | varchar(32) | Yes | NULL | The user's password (not used for http.) | +
cal_lastname | varchar(25) | Yes | NULL | + |
cal_firstname | varchar(25) | Yes | NULL | + |
cal_email | varchar(75) | Yes | NULL | + |
cal_telephone | varchar(50) | Yes | NULL | + |
cal_address | varchar(75) | Yes | NULL | + |
cal_title | varchar(75) | Yes | NULL | + |
cal_birthday | int(11) | Yes | NULL | + |
cal_type | enum('A', 'N', 'S', 'U') | Yes | U | Is this an A)dmin, N)on_user, S)ystem, or ordinary U)ser? Will evevtually replace is_admin. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_login | 1 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_login (Primary) | varchar(25) | No | Login of owner of this layer from <a href="webcal_user">webcal_user</a> table. | +|
cal_layeruser (Primary) | varchar(25) | No | Login name of user that this layer represents. Also from <a href="webcal_user">webcal_user</a> table. | +|
cal_color | varchar(25) | Yes | NULL | Color (preferably in hex) of this layer. | +
cal_layerid | int(10) | No | Unique layer id. | +|
cal_dups | enum('N', 'Y') | Yes | N | Show duplicates? (Y or N) | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_login | A | No | ||
cal_layeruser | 0 | A | No | |||||
cal_layerid | BTREE | Yes | No | cal_layerid | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_login (Primary) | varchar(25) | No | User login from <a href="#webcal_user">webcal_user</a> table. | +|
cal_setting (Primary) | varchar(50) | No | Setting name. | +|
cal_value (Primary) | varchar(100) | No | Value of setting. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_login | A | No | ||
cal_setting | A | No | ||||||
cal_value | 3 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_login (Primary) | varchar(25) | No | User login (or nonuser cal name), the default for all users is stored with the username "__webcal__sys__". | +|
cal_type (Primary) | enum('H', 'S', 'T') | No | H)eader, S)tylesheet/script, T)railer. | +|
cal_template_text | text | Yes | NULL | Text of template. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_login | A | No | ||
cal_type | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_view_id (Primary) | int(10) | No | Unique view id. | +|
cal_is_global | enum('N', 'Y') | No | N | Is this a global view? (can it be accessed by other users - "Y" or "N") | +
cal_name | varchar(50) | No | Name of view. | +|
cal_owner | varchar(25) | No | Login name of owner of this view. From <a href="#webcal_user">webcal_user</a> table. | +|
cal_view_type | enum('D', 'M', 'W') | Yes | NULL | "W" for week view, "D" for day view, "M" for month view. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_view_id | 0 | A | No |
Column | Type | Null | Default | Comments | +
---|---|---|---|---|
cal_view_id (Primary) | int(10) | No | view id from <a href="#webcal_view">webcal_view</a> table. | +|
cal_login (Primary) | varchar(25) | No | A user in the view. From <a href="#webcal_user">webcal_user</a> table. | +
Keyname | Type | Unique | Packed | Column | Cardinality | Collation | Null | Comment |
---|---|---|---|---|---|---|---|---|
PRIMARY | BTREE | Yes | No | cal_view_id | A | No | ||
cal_login | 0 | A | No |
patch --dry-run < calmods.diffIf the program says it cannot determine which file to patch, try adding -p1:
patch --dry-run -p1 < calmods.diff-
Last Update: $Id: WebCalendar-DeveloperGuide.html,v 1.19 2007/07/12 19:29:10 bbannon Exp $
-
+
+ src="../images/HTML5_Logo.png" alt="Valid HTML5!">
- --
Home Page: | -http://webcalendar.sourceforge.net/ | |
WebCalendar Version: | v1.0RC3+CVS (?? ??? 2005) |
Home Page: | +https://github.com/craigk5n/webcalendar | +
WebCalendar Version: | +v1.2.7 (22 Feb 2013) | +
Last updated: | 04-Mar-2005 |
Look for URLs in the given text, and make them into links.-Parameters:
The text altered to have HTML links for any web links (http or https)Location:
functions.php, line 3275-
Add something to the activity log for an event. The information will be saved to the webcal_entry_log table.-Parameters:
Add something to the activity log for an event. The information will be saved to the webcal_entry_log table.+Parameters:
The value used in the HTML form (or URL)Location:
functions.php, line 771-
Creates the CSS for using gradient.php, if the appropriate GD functions are available. A one-pixel wide image will be used for the background image.-Parameters:
Note The gd library module needs to be available to use gradient images. If it is not available, a single background color will be used instead.
Creates the CSS for using gradient.php, if the appropriate GD functions are available. A one-pixel wide image will be used for the background image.+Parameters:
Note The gd library module needs to be available to use gradient images. If it is not available, a single background color will be used instead.
The style sheet text to useLocation:
functions.php, line 4433-
Check the boss user preferences to see if the boss must approve events added to their calendar.-Parameters:
true if the boss must approve new eventsLocation:
functions.php, line 3810-
Check the boss user preferences to see if the boss wants to be notified via email on changes to their calendar.-Parameters:
true if the boss wants email notificationsLocation:
functions.php, line 3794-
Build the HTML for the event popup (but don't print it yet since we don't want this HTML to go inside the table for the month).-Parameters:
The HTML for the event popupLocation:
functions.php, line 1084-
Calculate which row/slot this time represents. This is used in day and week views where hours of the time are separated into different cells in a table.-Parameters:
The time slot indexLocation:
functions.php, line 2655-
Check for conflicts. Find overlaps between an array of dates and the other dates in the database.-Parameters:
Limits on number of appointments: if enabled in System Settings ($LIMIT_APPTS global variable), too many appointments can also generate a scheduling conflict.
TODO Update this to handle exceptions to repeating events
Check for conflicts. Find overlaps between an array of dates and the other dates in the database.+Parameters:
Limits on number of appointments: if enabled in System Settings ($LIMIT_APPTS global variable), too many appointments can also generate a scheduling conflict.
TODO Update this to handle exceptions to repeating events
Return empty string for no conflicts or return the HTML of the conflicts when one or more are found.Location:
functions.php, line 2461-
Replace unsafe characters with HTML encoded equivalents-Parameters:
the cleaned textLocation:
functions.php, line 4363-
Remove non-digits from the specified text-Parameters:
the converted textLocation:
functions.php, line 4392-
Remove whitespace from the specified text-Parameters:
the converted textLocation:
functions.php, line 4404-
Remove non-word characters from the specified text-Parameters:
the converted textLocation:
functions.php, line 4380-
Draws a daily outlook style availability grid showing events that are approved and awaiting approval.-Parameters:
NothingLocation:
functions.php, line 4474-
Print out a date selection for use in a form.-Parameters:
The value used in the HTML form (or URL)Location:
functions.php, line 1152-
Convert a date in YYYYMMDD format into "Friday, December 31, 1999", "Friday, 12-31-1999" or whatever format the user prefers.-Parameters:
The query result resource on queries (which can then be passed to the dbi_fetch_row function to obtain the results), or true/false on insert or delete queries.+Returns:
The query result resource on queries (which can then be passed to the dbi_fetch_row function to obtain the results), or true/false on insert or delete queries.Location:
functions.php, line 3430-
Returns the number of rows affected by the last INSERT, UPDATE or DELETE.-Parameters:
Note Use the dbi_error function to get error information if the connection fails.
Returns the number of rows affected by the last INSERT, UPDATE or DELETE.+Parameters:
Note Use the dbi_error function to get error information if the connection fails.
The number or database rows affected.Location:
php-dbi.php, line 358-
Close a database connection. (Not necessary for any database that uses pooled connections such as MySQL, but a good programming practice.)-Parameters:
true on success, false on errorLocation:
php-dbi.php, line 187-
Open up a database connection. Use a pooled connection if the db supports it and the db_persistent setting is enabled.-Parameters:
Notes
- The database type is determined by the global variable db_type
- For ODBC, $host is ignored, $database = DSN
- For Oracle, $database = tnsnames name
- Use the dbi_error function to get error information if the connection fails
Open up a database connection. Use a pooled connection if the db supports it and the db_persistent setting is enabled.+Parameters:
Notes
- The database type is determined by the global variable db_type
- For ODBC, $host is ignored, $database = DSN
- For Oracle, $database = tnsnames name
- Use the dbi_error function to get error information if the connection fails
The connectionLocation:
php-dbi.php, line 66-
Get the latest database error message.-Parameters:
The text of the last database error. (The type of information varies depending on the which type of database is being used.)Location:
php-dbi.php, line 428-
Display a fatal database error and abort execution.-Parameters:
NothingLocation:
php-dbi.php, line 461-
Retrieve a single row from the database and return it as an array.-Parameters:
Note we don't use the more useful xxx_fetch_array because not all databases support this function.
Note Use the dbi_error function to get error information if the connection fails.
Retrieve a single row from the database and return it as an array.+Parameters:
Note we don't use the more useful xxx_fetch_array because not all databases support this function.
Note Use the dbi_error function to get error information if the connection fails.
An array of database columns representing a single row in the query result or false on an error.Location:
php-dbi.php, line 305-
Free a result set.-Parameters:
true on successLocation:
php-dbi.php, line 395-
Execute a SQL query.-Parameters:
Note Use the dbi_error function to get error information if the connection fails.
Execute a SQL query.+Parameters:
Note Use the dbi_error function to get error information if the connection fails.
The query result resource on queries (which can then be passed to the dbi_fetch_row function to obtain the results), or true/false on insert or delete queries.+Returns:
The query result resource on queries (which can then be passed to the dbi_fetch_row function to obtain the results), or true/false on insert or delete queries.Location:
php-dbi.php, line 230-
Extract a user's name from a session id. This prevents users from begin able to edit their cookies.txt file and set the username in plain text.-Parameters:
The decoded stringLocation:
functions.php, line 3530-
Print 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.-Parameters:
NothingLocation:
config.php, line 39-
Prints out a minicalendar for a month-Parameters:
NothingLocation:
functions.php, line 1195-
Display a time in either 12 or 24 hour format. The global variable $TZ_OFFSET to adjust the time. Note that this is somewhat of a kludge for timezone support. If an event is set for 11PM server time and the user is 2 hours ahead, it will show up as 1AM, but the date will not be adjusted to the next day.-Parameters:
The query result resource on queries (which can then be passed to the dbi_fetch_row function to obtain the results), or true/false on insert or delete queries.+Returns:
The query result resource on queries (which can then be passed to the dbi_fetch_row function to obtain the results), or true/false on insert or delete queries.Location:
functions.php, line 3292-
Check for any unaproved events. If any are found, display a link to the unapproved events (where they can be approved). If the user is an admin user, also count up any public events. If the user is a nonuser admin, count up events on the nonuser calendar.-Parameters:
NothingLocation:
functions.php, line 3222-
Log a debug message. Generally, we do not leave calls to this function in the code. It is used for debugging only.-Parameters:
NothingLocation:
functions.php, line 410-
Send a redirect to the specified page. The database connection is closed and execution terminates in this function.-Parameters:
Note: MS IIS/PWS has a bug in which it does not allow us to send a cookie and a redirect in the same HTTP header. When we detect that the web server is IIS, we accomplish the redirect using meta-refresh. See the following for more info on the IIS bug:http://www.faqts.com/knowledge_base/view.phtml/aid/9316/fid/4
Send a redirect to the specified page. The database connection is closed and execution terminates in this function.+Parameters:
Note: MS IIS/PWS has a bug in which it does not allow us to send a cookie and a redirect in the same HTTP header. When we detect that the web server is IIS, we accomplish the redirect using meta-refresh. See the following for more info on the IIS bug:http://www.faqts.com/knowledge_base/view.phtml/aid/9316/fid/4
NothingLocation:
functions.php, line 483-
Take an input string and encode it into a slightly encoded hexval that we can use as a session cookie.-Parameters:
the encoded textLocation:
functions.php, line 3564-
Translate text and remove and HTML from it. This is useful for tooltips, which barf on HTML.-Parameters:
Note The tooltip function will return the result rather than print the value.
Translate text and remove and HTML from it. This is useful for tooltips, which barf on HTML.+Parameters:
Note The tooltip function will return the result rather than print the value.
NothingLocation:
translate.php, line 176-
Translate text and print it. This is just an abbreviation for: echo translate ( $str )-Parameters:
NothingLocation:
translate.php, line 147-
Get the list of external users for an event from the webcal_entry_ext_user table in an HTML format.-Parameters:
Get the list of external users for an event from the webcal_entry_ext_user table in an HTML format.+Parameters:
The list of external users for an event formatted in HTML.Location:
functions.php, line 729-
Get the value resulting from an HTTP GET method.-Parameters:
Note: The return value will be affected by the value of magic_quotes_gpc in the php.ini file. If you need to enforce a specific input format (such as numeric input), then use the getValue function.
Get the value resulting from an HTTP GET method.+Parameters:
Note: The return value will be affected by the value of magic_quotes_gpc in the php.ini file. If you need to enforce a specific input format (such as numeric input), then use the getValue function.
The value used in the HTML form (or URL)Location:
functions.php, line 190-
Get an integer value resulting from an HTTP GET or HTTP POST method.-Parameters:
Note: The return value will be affected by the value of magic_quotes_gpc in the php.ini file.
Get an integer value resulting from an HTTP GET or HTTP POST method.+Parameters:
Note: The return value will be affected by the value of magic_quotes_gpc in the php.ini file.
The value used in the HTML form (or URL)Location:
functions.php, line 257-
Get the value resulting from an HTTP POST method.-Parameters:
Note: The return value will be affected by the value of magic_quotes_gpc in the php.ini file.
Get the value resulting from an HTTP POST method.+Parameters:
Note: The return value will be affected by the value of magic_quotes_gpc in the php.ini file.
the value used in the HTML formLocation:
functions.php, line 168-
Get the value resulting from either HTTP GET method or HTTP POST method.-Parameters:
Note: The return value will be affected by the value of magic_quotes_gpc in the php.ini file.
Note: If you need to get an integer value, you can use the getIntValue function.
Get the value resulting from either HTTP GET method or HTTP POST method.+Parameters:
Note: The return value will be affected by the value of magic_quotes_gpc in the php.ini file.
Note: If you need to get an integer value, you can use the getIntValue function.
The value used in the HTML form (or URL)Location:
functions.php, line 215-
Returns all the dates a specific event will fall on accounting for the repeating. Any event with no end will be assigned one.-Parameters:
An array of dates (in UNIX time format)Location:
functions.php, line 1856-
Get all the events for a specific date from the array of pre-loaded events (which was loaded all at once to improve performance). The returned events will be sorted by time of day.-Parameters:
An array of eventsLocation:
functions.php, line 1594-
Get the last page stored using the remember_this_view function. Return empty string if we don't know.-Parameters:
Get the last page stored using the remember_this_view function. Return empty string if we don't know.+Parameters:
The URL of the last view or an empty string if it cannot be determined.Location:
functions.php, line 586-
Get the Monday of the week that the specified date is in. (If the date specified is a Monday, then that date is returned.)-Parameters:
The date (in unix time format)Location:
functions.php, line 2238-
Get a list of users. If groups are enabled, this will restrict the list of users to only those users who are in the same group(s) as the user (unless the user is an admin user). We allow admin users to see all users because they can also edit someone else's events (so they may need access to users who are not in the same groups that they are in).-Parameters:
An array of users, where each element in the array is an array with the following keys:Location:
- cal_login
- cal_lastname
- cal_firstname
- cal_is_admin
- cal_is_admin
- cal_email
- cal_password
- cal_fullname
functions.php, line 826-
Get a list of nonuser calendars and return info in an array.-Parameters:
An array of nonuser cals, where each is an array with the following fields:Location:
- cal_login
- cal_lastname
- cal_firstname
- cal_admin
- cal_fullname
functions.php, line 4107-
Get a preference setting for the specified user. If no value is found in the database, then the system default setting will be returned.-Parameters:
The value found in the webcal_user_pref table for the specified setting or the system default if no user settings was found.+Returns:
The value found in the webcal_user_pref table for the specified setting or the system default if no user settings was found.Location:
functions.php, line 901-
Get user's preferred view. The user's preferred view is stored in the $STARTVIEW global variable. This is loaded from the user preferences (or system settings if there are no user preferences.)-Parameters:
NothingLocation:
functions.php, line 425-
Get all the repeating events for the specified data and return them in an array (which is sorted by time of day).-Parameters:
Note The global variable $repeated_events needs to be set by calling the read_repeated_events function first.
Get all the repeating events for the specified data and return them in an array (which is sorted by time of day).+Parameters:
Note The global variable $repeated_events needs to be set by calling the read_repeated_events function first.
The query result resource on queries (which can then be passed to the dbi_fetch_row function to obtain the results), or true/false on insert or delete queries.+Returns:
The query result resource on queries (which can then be passed to the dbi_fetch_row function to obtain the results), or true/false on insert or delete queries.Location:
functions.php, line 2039-
Get any site-specific fields for an entry that are stored in the database in the webcal_site_extras table.-Parameters:
Get any site-specific fields for an entry that are stored in the database in the webcal_site_extras table.+Parameters:
Return an array of array with the keys as follows:Location:
- cal_name
- cal_type
- cal_date
- cal_remind
- cal_data
functions.php, line 1475-
Get the Sunday of the week that the specified date is in. (If the date specified is a Sunday, then that date is returned.)-Parameters:
The date (in unix time format)Location:
functions.php, line 2221-
Generate the HTML for an icon to add a new event.-Parameters:
The HTML for the add event iconLocation:
functions.php, line 2690-
Generate the HTML for an event to be viewed in the day-at-glance (day.php). The HTML will be stored in an array ($hour_arr) indexed on the event's starting hour.-Parameters:
NothingLocation:
functions.php, line 2871-
Generate the HTML for an event to be viewed in the week-at-glance (week.php). The HTML will be stored in an array (global variable $hour_arr) indexed on the event's starting hour.-Parameters:
NothingLocation:
functions.php, line 2722-
Convert HTML entities in 8bit.-Parameters:
Note Only supported for PHP4 (not PHP3).
Convert HTML entities in 8bit.+Parameters:
Note Only supported for PHP4 (not PHP3).
The converted textLocation:
functions.php, line 3692-
Converts language names to their abbreviation-Parameters:
The abbreviation ("fr" for "French")Location:
functions.php, line 4416-
Load default system settings (which can be updated via admin.php) System settings are stored in the webcal_config table.-Parameters:
Note: If the setting for "server_url" is not set, the value will be calculated and stored in the database.
Load default system settings (which can be updated via admin.php) System settings are stored in the webcal_config table.+Parameters:
Note: If the setting for "server_url" is not set, the value will be calculated and stored in the database.
NothingLocation:
functions.php, line 276-
Loads nonuser preferences from the webcal_user_pref table if on a nonuser admin page.-Parameters:
Loads nonuser preferences from the webcal_user_pref table if on a nonuser admin page.+Parameters:
NothingLocation:
functions.php, line 4218-
Load all the language translation into an array for quick lookup.-Parameters:
Note There is no need to call this manually. It will be invoked by the translate function the first time it is called.
Load all the language translation into an array for quick lookup.+Parameters:
Note There is no need to call this manually. It will be invoked by the translate function the first time it is called.
NothingLocation:
translate.php, line 71-
Load current user's category info and stuff it into category global variable.-Parameters:
NothingLocation:
functions.php, line 3624-
Load current user's layer info and stuff it into layer global variable. If the system setting $ALLOW_VIEW_OTHER is not set to 'Y', then we ignore all layer functionality. If $force is 0, we only load layers if the current user preferences have layers turned on.-Parameters:
NothingLocation:
functions.php, line 963-
Load the current user's preferences as global variables from the webcal_user_pref table. Also load the list of views for this user (not really a preference, but this is a convenient place to put this...)-Parameters:
Notes
- If the $ALLOW_COLOR_CUSTOMIZATION is set to 'N', then we ignore any color preferences.
- Other default values will also be set if the user has not saved a preference and no global value has been set by the administrator in the system settings.
Load the current user's preferences as global variables from the webcal_user_pref table. Also load the list of views for this user (not really a preference, but this is a convenient place to put this...)+Parameters:
Notes
- If the $ALLOW_COLOR_CUSTOMIZATION is set to 'N', then we ignore any color preferences.
- Other default values will also be set if the user has not saved a preference and no global value has been set by the administrator in the system settings.
The value used in the HTML form (or URL)Location:
functions.php, line 622-
Return the full name of the specified month. Use the month_short_name function to get the abbreviated name of the month.-Parameters:
Return the full name of the specified month. Use the month_short_name function to get the abbreviated name of the month.+Parameters:
The full name of the specified monthLocation:
functions.php, line 3330-
Return the abbreviated name of the specified month (such as "Jan"). Use the month_name function to get the full name of the month.-Parameters:
Return the abbreviated name of the specified month (such as "Jan"). Use the month_name function to get the full name of the month.+Parameters:
The abbreviated name of the specified month (example: "Jan")Location:
functions.php, line 3358-
Loads nonuser variables (login, firstname, etc.) The following variables will be set:-Parameters:
- login
- firstname
- lastname
- fullname
- admin
NothingLocation:
functions.php, line 4149-
Print dropdown HTML for categories.-Parameters:
NothingLocation:
functions.php, line 3657-
Print all the calendar entries for the specified user for the specified date. If we are displaying data from someone other than the logged in user, then check the access permission of the entry.-Parameters:
NothingLocation:
functions.php, line 2296-
Print all the entries in a time bar format for the specified user for the specified date. If we are displaying data from someone other than the logged in user, then check the access permission of the entry.-Parameters:
NothingLocation:
functions.php, line 3834-
Print out a date selection for use in a form.-Parameters:
The value used in the HTML form (or URL)Location:
functions.php, line 1139-
Print all the calendar entries for the specified user for the specified date in day-at-a-glance format. If we are displaying data from someone other than the logged in user, then check the access permission of the entry.-Parameters:
NothingLocation:
functions.php, line 3026-
Print the HTML for one day's events in the month view.-Parameters:
NothingLocation:
functions.php, line 1350-
Print the HTML for an events with a timebar.-Parameters:
NothingLocation:
functions.php, line 3914-
Prints the HTML header and opening HTML body tag.-Parameters:
NothingLocation:
init.php, line 213-
Print the header for the timebar.-Parameters:
NothingLocation:
functions.php, line 4069-
Print the common trailer.-Parameters:
NothingLocation:
init.php, line 334-
Read events visible to a user (including layers and possibly public access if enabled); Return results in an array sorted by time of day.-Parameters:
An array of eventsLocation:
functions.php, line 1676-
Read all the events for a user for the specified range of dates. This is only called once per page request to improve performance. All the events get loaded into the array $events sorted by time of day (not date).-Parameters:
An array of eventsLocation:
functions.php, line 1512-
Read all the repeated events for a user. This is only called once per page request to improve performance. All the events get loaded into the array $repeated_events sorted by time of day (not date). This will load all the repeated events into memory.-Parameters:
Notes
- To get which events repeat on a specific date, use the get_repeating_entries function.
- To get all the dates that one specific event repeats on, the get_all_dates function should be called.
Read all the repeated events for a user. This is only called once per page request to improve performance. All the events get loaded into the array $repeated_events sorted by time of day (not date). This will load all the repeated events into memory.+Parameters:
Notes
- To get which events repeat on a specific date, use the get_repeating_entries function.
- To get all the dates that one specific event repeats on, the get_all_dates function should be called.
An array of repeating eventsLocation:
functions.php, line 1828-
Generate a cookie that saves the last calendar view (month, week, day) based on the current $REQUEST_URI so we can return to this same page after a user edits/deletes/etc an event.-Parameters:
NothingLocation:
functions.php, line 567-
Returns a boolean stating whether or not the event passed in will fall on the date passed.-Parameters:
true or falseLocation:
functions.php, line 2073-
Unload translations so we can switch languages and translate into a different language).-Parameters:
NothingLocation:
translate.php, line 48-
Send an HTTP login request to the browser and stop execution.-Parameters:
NothingLocation:
functions.php, line 534-
Send header stuff that tells the browser not to cache this page. Different browser use different mechanisms for this, so a series of HTTP header directives are sent.-Parameters:
Note This function needs to be called before any HTML output is sent to the browser.
Send header stuff that tells the browser not to cache this page. Different browser use different mechanisms for this, so a series of HTTP header directives are sent.+Parameters:
Note This function needs to be called before any HTML output is sent to the browser.
NothingLocation:
functions.php, line 606-
Send a redirect to the user's preferred view. The user's preferred view is stored in the $STARTVIEW global variable. This is loaded from the user preferences (or system settings if there are no user preferences.)-Parameters:
NothingLocation:
functions.php, line 467-
Determines what the day is after the $TZ_OFFSET and sets it globally. The following global variables will be set:-Parameters:
- $thisyear
- $thismonth
- $thisday
- $thisdate
- $today
NothingLocation:
functions.php, line 4246-
Generate the HTML used in an event popup for the site_extras fields of an event.-Parameters:
The HTML to be used within the event popup for any site_extra fields found for the specified eventLocation:
functions.php, line 1011-
Convert a time format HHMMSS (like 131000 for 1PM) into number of minutes past midnight.-Parameters:
The number of minutes since midnightLocation:
functions.php, line 2639-
Check to see if two events overlap.-Parameters:
true if the two times overlap, false if they do notLocation:
functions.php, line 2428-
Translate text and remove and HTML from it. This is useful for tooltips, which barf on HTML.-Parameters:
Note The etooltip function will print the result rather than return the value.
Translate text and remove and HTML from it. This is useful for tooltips, which barf on HTML.+Parameters:
Note The etooltip function will print the result rather than return the value.
The translated text with all HTML removedLocation:
translate.php, line 158-
Translate a string from the default English usage to some other language. The first time that this is called, the translation file will be loaded (with the load_translation_text function).-Parameters:
Translate a string from the default English usage to some other language. The first time that this is called, the translation file will be loaded (with the load_translation_text function).+Parameters:
The translated text, if available. If no translation is available, then the original untranslated text is returned.Location:
translate.php, line 115-
Get a list of an assistant's boss from the webcal_asst table.-Parameters:
Get a list of an assistant's boss from the webcal_asst table.+Parameters:
An array of bosses, where each boss is an array with the following fields:Location:
- cal_login
- cal_fullname
functions.php, line 3714-
Check the webcal_asst table to see if the specified user login has any bosses associated with it.-Parameters:
Check the webcal_asst table to see if the specified user login has any bosses associated with it.+Parameters:
true if the user is an assistant to one or more bossesLocation:
functions.php, line 3773-
Return true if $user is $boss assistant by checking in the webcal_asst table.-Parameters:
Return true if $user is $boss assistant by checking in the webcal_asst table.+Parameters:
true or falseLocation:
functions.php, line 3748-
Check the webcal_nonuser_cals table to determine if the user is the administrator for the nonuser calendar.-Parameters:
Check the webcal_nonuser_cals table to determine if the user is the administrator for the nonuser calendar.+Parameters:
true if the user is the administrator for the nonuser calendarLocation:
functions.php, line 4195-
Returns week number for specified date. depending from week numbering settings.-Parameters:
The week number of the specified dateLocation:
functions.php, line 2258-
Return the full weekday name. Use the weekday_short_name function to get the abbreviated weekday name.-Parameters:
Return the full weekday name. Use the weekday_short_name function to get the abbreviated weekday name.+Parameters:
the full weekday name ("Sunday")Location:
functions.php, line 3386-
Return the abbreviated weekday name. Use the weekday_name function to get the full weekday name.-Parameters:
Return the abbreviated weekday name. Use the weekday_name function to get the full weekday name.+Parameters:
the abbreviated weekday name ("Sun")Location:
functions.php, line 3408-
+ src="../images/HTML5_Logo.png" alt="Valid HTML5!">
diff --git a/docs/WebCalendar-Styling.html b/docs/WebCalendar-Styling.html index fcb948ae3..8e4c002d1 100644 --- a/docs/WebCalendar-Styling.html +++ b/docs/WebCalendar-Styling.html @@ -1,61 +1,13 @@ - - - - -WebCalendar Version: 1.2.7
@@ -113,7 +32,7 @@Recommended:
You must have one of the following databases installed:
For the database you choose, you must have its drivers built into PHP. For example, to use MySQL, PHP must be compiled with MySQL support (which is the default setting when installing PHP). - See the PHP pages (www.php.net ) + See the PHP pages (www.php.net ) for more information on setting up PHP.
No optional PHP packages (other than MySQL) are required for this application. However, PHP should be compiled with --enable-track-vars @@ -302,12 +221,12 @@
You currently have five choices:
TIP On a single-user system, you do not need to create any users.
TIP For an event calendar, you do not need to create a user for the "public user".
-http://icalshare.com/article.php?story=20020912105939521 -+ If you don't want each individual user to have to import the holiday calendar, you can use nonuser calendars. First, make sure nonuser calendars are enabled in your @@ -1232,7 +1151,7 @@
Public Access: Foobar Event Calendar
# << MISSING >> # Edit: -#
# << MISSING >> # custom-script-help: # English text: Allows entry of custom Javascript or stylesheet text that # will be inserted into the HTML "head" section of every page. -#
perl check_translation.pl FrenchPost a copy of your translation to the - SourceForge Patches for WebCalendar. + SourceForge Patches for WebCalendar.
MySQL 5.0 uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older (pre-4.1) clients. If you upgrade the server from 4.0, attempts to connect to it with an older client may fail with the following message: -@@ -1464,26 +1383,26 @@
+
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Try the Help/Troubleshooting forum for WebCalendar, hosted at SourceForge.net:
-https://sourceforge.net/forum/forum.php?forum_id=11588+
https://sourceforge.net/forum/forum.php?forum_id=11588
If you encounter a bug, please check the - list of open and pending bugs . + list of open and pending bugs . If you do not see anything similar, submit a new bug.
-WebCalendar is distributed under the open source - GNU General Public License . + GNU General Public License . If you have questions about this license, please - read their GPL FAQ .
+ read their GPL FAQ . -Configuring WebCalendar to use an existing LDAP directory is fairly
simple. It is know to work with OpenLDAP and Novell Edirectory and
should work with other systems as well.
-
+
Note:
If you use LDAP, the group functionality of WebCalendar does not yet work.
The second step is to set WebCalendar to use LDAP authentication in
settings.php. Instructions on to do this can be found in the
Application Installation section above.
-In summary, the following should be set:
-use_http_auth = false
-user_inc = user-ldap.php
The next step is a little more work and involves editing the includes/user-ldap.php file with a text editor. You will have @@ -1973,27 +1892,27 @@
If the LDAP server will accept connections over SSL, simply add 'ldaps://'
-to the beginning of $ldap_server.
Example: ldaps://ldapserver.company.com
If the LDAP server is set up to use TLS, set $ldap_start_tls = true.
@@ -2004,17 +1923,16 @@WebCalendar Version: 1.1.1
+ + + + +WebCalendar Version: 1.2.7
WebCalendar is a calendar system. It is intended to be easy to setup and @@ -113,11 +52,11 @@
The first public release of WebCalendar was in December of 1999.
-WebCalendar can be configured to operate in either single-user or
-multi-user mode.
+multi-user mode.
Note: If your WebCalendar is a single-user
configuration, a large portion of this document will not apply.
When viewing the details of an event, the status of event participants will be designated as shown below:
- -If you select "Daily", the event will repeat at the same time
every day until the end date (if specified) or the Number of times is reached. You can also
-select Weekdays Only to cause the event to skip weekends.
+select Weekdays Only to cause the event to skip weekends.
Expert Mode: Adds the option to specify individual days of the week (ByDay) as
well as selecting specific months (ByMonth) that the event will repeat.
If you select "Weekly", the event will repeat every week on the day(s)
selected until the end date (if specified) or until the End. You may select specific ByDay values to
-have your event repeat more than one day per week.
+have your event repeat more than one day per week.
Expert Mode: Adds the option to specify specific months (ByMonth) that
the event will repeat.
If you select "Monthly (by day)", the event will repeat on the same
weekday of the month every month until the specified End.
For example, if the initial date is the second Monday of the month,
-the event will repeat on the second Monday of each month.
+the event will repeat on the second Monday of each month.
Expert Mode: Adds the option to specify individual days of the month (ByDay) as
well as selecting specific months that the event will repeat. You have the option to select any
combination of days within the month using the triple-state buttons, for example, you
@@ -223,7 +162,7 @@
If you select "Monthly (by date)", the event will repeat on the
same date of the month every month until the End.
For example, if you the initial date is May 12th, then the event
-will repeat on June 12th and so on.
+will repeat on June 12th and so on.
Expert Mode: Adds the options to select days of the week (ByDay),
specific months ByMonthDay to repeat and an option to select specific dates within the
month (ByMonthDay). With this option you can select any combination of dates within
@@ -235,14 +174,14 @@
If you select "Yearly", the event will repeat on the same date every
-year until the End.
+year until the End.
Expert Mode: Adds the (ByDay), (ByMonth), and (ByMonthDay) as described above.
These settings are applied to each month specified by the (ByMonth)...basically like the Monthly
(by Day/Date) options. Also, two user entered values are available. ByWeekNo allows one or
@@ -260,18 +199,18 @@
If your system is not configured to allow Public Access, you may skip @@ -490,7 +429,7 @@
If your system is not configured to allow Remote Subscriptions, @@ -507,7 +446,7 @@
If the 'Public Access' calendar is enabled, the Remote Subscriptions service can be enabled by following the same procedure as above in the Public Access preferences panel.
-If your system is not configured to allow External Users, you may skip this section.
@@ -532,7 +471,7 @@Email addresses within '<' and '>' characters will receive email notifications and reminders.
-NonUser Calendars* allow you to @@ -546,7 +485,7 @@
If your system is not configured to use categories, you may skip this @@ -569,7 +508,7 @@
If enabled, icons can also be uploaded and assigned to categories to be displayed before the event name. You will also be able to choose an icon from existing icons that have already been uploaded. This requires that a folder named icons exist in the WebCalendar directory.
-Views* allow you to look at the calendar of one or @@ -577,7 +516,7 @@
If you system is not configured to use Groups*, you may skip this @@ -592,7 +531,7 @@
Layers* allow you to overlay one or more calendars @@ -611,7 +550,7 @@
If your system is not configured to allow Assistant Mode, then you may skip @@ -628,7 +567,7 @@
If your system is not configured to use User Access Control, then you may skip @@ -643,7 +582,7 @@
The DEFAULT CONFIGURATION selection will set the access for all users not otherwise granted/restricted access to your calendar.
-Various components of WebCalendar can be customized by modifying your user preferences.
@@ -786,7 +725,7 @@TIP: WebCalendar setup and configuration issues are documented in the "WebCalendar System Administrator's Guide".
-WebCalendar is distributed under the open source @@ -825,7 +764,7 @@
Try the Help/Troubleshooting forum for WebCalendar, hosted at SourceForge.net:
@@ -834,7 +773,7 @@If you encounter a bug, please check the list of open and pending bugs. If you do not see anything similar, submit a new bug.
-+ src="../images/HTML5_Logo.png" alt="Valid HTML5!">
diff --git a/includes/.cvsignore b/includes/.cvsignore deleted file mode 100644 index acb6b6e26..000000000 --- a/includes/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -settings.php htmlarea- htmlarea diff --git a/includes/css/docs.css b/includes/css/docs.css new file mode 100644 index 000000000..df126dc47 --- /dev/null +++ b/includes/css/docs.css @@ -0,0 +1,247 @@ +body { + background-color: #FFFFFF; + color: #000000; + font:16px/1.15 Arial, Helvetica, sans-serif; +} +a { + text-decoration: none; +} +dl, +ul { + margin-left: 10px; +} +dt { + margin-top: 10px; + font-weight: bold; +} +h2 { + background-color: #191970; + color: #FFFFFF; +} +h2, +h3 { + padding: 5px; +} +hr { + margin-bottom: 7px; +} +img { + border: 0; +} +p { + margin: 10px; +} +pre { + background-color: #EEEEFF; + margin-right: 25px; + margin-left: 25px; + border: 1px solid #0000FF; + padding: 4px; + font: 0.875rem courier, monospace; +} +table { + border: 0; +} +.colorheader { + background-color: #000000; + color: #FFFFFF; + margin-right: 3px; + margin-left: 3px; + padding: 2px; +} +.hide { + display: none; +} +.newwin { + border: 0; +} +.note { + background-color: #87CEFA; + padding: 2px; + border: 1px solid #000000; + font-weight: bold; +} +.nowrap { + white-space: nowrap; +} +.ptip { + background: #DDDDDD; + border: 1px solid #AAAAAA; + padding: 5px; +} +.tip { + background-color: #FFFF00; + padding: 2px; + font-weight: bold; +} +.top { + text-align: right; +} +.tt { + font: .85rem monospace; +} +.vbottom { + vertical-align: bottom; +} +.vtop { + vertical-align: top; +} +#funcs blockquote { + margin-top: 5px; + margin-bottom: 5px; +} +#funcs h3 { + background-color: #191970; + color: #FFFFFF; + padding: 5px; +} +#funcs p { + margin-top: 2px; +} +#funcs ul { + margin-top: 2px; + margin-bottom: 2px; +} +#funcs .note { + background-color: #CCCCCC; + color: #000000; + padding: 1px; +} +#funcs .prompt { + font-weight: bold; +} +#funcs .tip { + margin-right: 10px; + border: 1px solid #000000; + padding: 1px 5px; +} +#guide dt { + margin-left: 25px; +} +#guide h2 { + padding: 5px; +} +#guide tr { + background-color: #606080; + color: #F0F0F0; +} +#guide th { + background-color: #000000; +} +#guide td { + vertical-align: top; +} +#guide .note, +#sysadmin .note { + background-color: blue; + color: #FFFFFF; +} +#guide .tip { + margin-right: 10px; + border: 1px solid #000000; + padding: 1px 5px; +} +#rpt_matrix td { + text-align: center; +} +#styling body { + padding: 0 40px; +} +#styling code { + font-weight: bold; +} +#styling div.example { + width: 350px; + margin: 0 auto; +} +#styling div.example p { + margin: 0px; + font-style: italic; + font-size: small; + text-align: center; +} +#styling div.example pre { + background-color: #EEEEFF; + margin: 0; + border: 1px solid blue; + padding: 5px; +} +#styling dt { + font-family: monospace; +} +#styling h1, +#styling h2 { + margin-left: -20px; +} +#styling p { + text-indent: 3ex; +} +#styling table { + margin: 0 auto; + border-collapse: collapse; +} +#styling td { + background-color: #DDDDDD; + color: #000000; + border: 1px solid #BBBBBB; + vertical-align: top; +} +#styling th, +#styling td { + border: 1px solid gray; + padding: 3px; +} +#styling td { + font-family: monospace; +} +#sysadmin dt { + margin-top: 20px; + margin-left: 25px; +} +#sysadmin th { + background-color: #EEEEEE; + color: #000000; + border: 1px solid #CCCCCC; +} +#sysadmin .tip { + margin-right: 10px; + border: 1px solid #000000; + padding: 1px 5px; +} +#upgrading table { + margin-left: 50px; +} +#upgrading th { + text-align: right; +} +#upgrading p:first-of-type { + margin-bottom: 0; +} +#upgrading tr { + background-color: #606080; + color: #F0F0F0; +} +#upgrading td { + vertical-align: top; +} +#upgrading ul:first-of-type { + margin-top: 0; +} +#wc_db table { + width: 100%; + border-collapse: collapse; + border-spacing: 0; +} +#wc_db table table, +#wc_db table th, +#wc_db table td { + border: .1rem solid #000000; +} +#wc_db table th { + background-color: #E5E5E5; + font-weight: bold; +} +#wc_db table th, +#wc_db table td { + padding: 0.2rem; +} diff --git a/install/sql/upgrade.sql b/install/sql/upgrade.sql new file mode 100644 index 000000000..3105a4aba --- /dev/null +++ b/install/sql/upgrade.sql @@ -0,0 +1,609 @@ +/*upgrade_v0.9.14*/ +ALTER TABLE webcal_entry MODIFY cal_time INT NOT NULL DEFAULT -1; +UPDATE webcal_entry SET cal_time = -1 WHERE cal_time IS NULL; +CREATE TABLE webcal_entry_repeats ( + cal_id INT NOT NULL, + cal_days CHAR(7), + cal_end INT, + cal_frequency INT DEFAULT 1, + cal_type VARCHAR(20), + PRIMARY KEY (cal_id) +); +/*upgrade_v0.9.22*/ +CREATE TABLE webcal_user_layers ( + cal_login VARCHAR(25) NOT NULL, + cal_layeruser VARCHAR(25) NOT NULL, + cal_color VARCHAR(25), + cal_dups CHAR(1) NOT NULL DEFAULT 'N', + cal_layerid INT NOT NULL, + PRIMARY KEY (cal_login,cal_layeruser) +); +/*upgrade_v0.9.27*/ +CREATE TABLE webcal_site_extras ( + cal_id INT NOT NULL, + cal_name VARCHAR(25) NOT NULL, + cal_type INT NOT NULL, + cal_date INT, + cal_remind INT, + cal_data TEXT, + PRIMARY KEY (cal_id,cal_name,cal_type) +); +/*upgrade_v0.9.35*/ +CREATE TABLE webcal_config ( + cal_setting VARCHAR(50) NOT NULL, + cal_value VARCHAR(50), + PRIMARY KEY (cal_setting) +); +CREATE TABLE webcal_entry_log ( + cal_log_id INT NOT NULL, + cal_date INT NOT NULL, + cal_entry_id INT NOT NULL, + cal_login VARCHAR(25) NOT NULL, + cal_time INT, + cal_type CHAR(1) NOT NULL, + cal_text TEXT, + PRIMARY KEY (cal_log_id) +); +CREATE TABLE webcal_group ( + cal_group_id INT NOT NULL, + cal_last_update INT NOT NULL, + cal_name VARCHAR(50) NOT NULL, + cal_owner VARCHAR(25), + PRIMARY KEY (cal_group_id) +); +CREATE TABLE webcal_group_user ( + cal_group_id INT NOT NULL, + cal_login VARCHAR(25) NOT NULL, + PRIMARY KEY (cal_group_id,cal_login) +); +CREATE TABLE webcal_view ( + cal_view_id INT NOT NULL, + cal_name VARCHAR(50) NOT NULL, + cal_owner VARCHAR(25) NOT NULL, + cal_view_type CHAR(1), + PRIMARY KEY (cal_view_id) +); +CREATE TABLE webcal_view_user ( + cal_view_id INT NOT NULL, + cal_login VARCHAR(25) NOT NULL, + PRIMARY KEY (cal_view_id,cal_login) +); +/*upgrade_v0.9.37*/ +ALTER TABLE webcal_entry_log ADD cal_user_cal VARCHAR(25); +CREATE TABLE webcal_entry_repeats_not ( + cal_id INT NOT NULL, + cal_date INT NOT NULL, + PRIMARY KEY (cal_id,cal_date) +); +/*upgrade_v0.9.38*/ +ALTER TABLE webcal_entry_user ADD cal_category INT; +CREATE TABLE webcal_categories ( + cat_id INT NOT NULL, + cat_name VARCHAR(80) NOT NULL, + cat_owner VARCHAR(25), + PRIMARY KEY (cat_id) +); +/*upgrade_v0.9.40*/ +DELETE FROM webcal_config WHERE cal_setting LIKE 'DATE_FORMAT%'; +DELETE FROM webcal_user_pref WHERE cal_setting LIKE 'DATE_FORMAT%'; +ALTER TABLE webcal_entry ADD cal_ext_for_id INT; +CREATE TABLE webcal_asst ( + cal_boss VARCHAR(25) NOT NULL, + cal_assistant VARCHAR(25) NOT NULL, + PRIMARY KEY (cal_boss,cal_assistant) +); +CREATE TABLE webcal_entry_ext_user ( + cal_id INT NOT NULL, + cal_fullname VARCHAR(50) NOT NULL, + cal_email VARCHAR(75), + PRIMARY KEY (cal_id,cal_fullname) +); +/*upgrade_v0.9.41*/ +CREATE TABLE webcal_nonuser_cals ( + cal_login VARCHAR(25) NOT NULL, + cal_admin VARCHAR(25) NOT NULL, + cal_firstname VARCHAR(25), + cal_lastname VARCHAR(25), + PRIMARY KEY (cal_login) +); +/*upgrade_v0.9.42*/ +CREATE TABLE webcal_report ( + cal_report_id INT NOT NULL, + cal_allow_nav CHAR(1) NOT NULL DEFAULT 'Y', + cal_cat_id INT, + cal_include_empty CHAR(1) NOT NULL DEFAULT 'N', + cal_include_header CHAR(1) NOT NULL DEFAULT 'Y', + cal_is_global CHAR(1) NOT NULL DEFAULT 'N', + cal_login VARCHAR(25) NOT NULL, + cal_report_name VARCHAR(50) NOT NULL, + cal_report_type VARCHAR(20) NOT NULL, + cal_show_in_trailer CHAR(1) NOT NULL DEFAULT 'N', + cal_time_range INT NOT NULL, + cal_update_date INT NOT NULL, + cal_user VARCHAR(25), + PRIMARY KEY (cal_report_id) +); +CREATE TABLE webcal_report_template ( + cal_report_id INT NOT NULL, + cal_template_type CHAR(1) NOT NULL, + cal_template_text TEXT, + PRIMARY KEY (cal_report_id,cal_template_type) +); +/*upgrade_v0.9.43*/ +ALTER TABLE webcal_user MODIFY cal_passwd VARCHAR(32); +DROP TABLE IF EXISTS webcal_import_data; +CREATE TABLE webcal_import ( + cal_import_id INT NOT NULL, + cal_date INT NOT NULL, + cal_login VARCHAR(25), + cal_name VARCHAR(50), + cal_type VARCHAR(10) NOT NULL, + PRIMARY KEY (cal_import_id) +); +CREATE TABLE webcal_import_data ( + cal_id INT NOT NULL, + cal_login VARCHAR(25) NOT NULL, + cal_external_id VARCHAR(200), + cal_import_id INT NOT NULL, + cal_import_type VARCHAR(15) NOT NULL, + PRIMARY KEY (cal_id,cal_login) +); +/*upgrade_v1.0RC3*/ +ALTER TABLE webcal_view ADD cal_is_global CHAR(1) NOT NULL DEFAULT 'N'; +UPDATE webcal_config SET cal_value = 'week.php' WHERE cal_setting = 'STARTVIEW'; +UPDATE webcal_user_pref SET cal_value = 'day.php' WHERE cal_value = 'day' AND cal_setting = 'STARTVIEW'; +UPDATE webcal_user_pref SET cal_value = 'month.php' WHERE cal_value = 'month' AND cal_setting = 'STARTVIEW'; +UPDATE webcal_user_pref SET cal_value = 'week.php' WHERE cal_value = 'week' AND cal_setting = 'STARTVIEW'; +UPDATE webcal_user_pref SET cal_value = 'year.php' WHERE cal_value = 'year' AND cal_setting = 'STARTVIEW'; +UPDATE webcal_view SET cal_is_global = 'N'; +/*upgrade_v1.1.0-CVS*/ +CREATE TABLE webcal_access_function ( + cal_login VARCHAR(25) NOT NULL, + cal_permissions VARCHAR(64) NOT NULL, + PRIMARY KEY (cal_login) +); +ALTER TABLE webcal_nonuser_cals ADD cal_is_public CHAR(1) NOT NULL DEFAULT 'N'; +/*upgrade_v1.1.0a-CVS*/ +CREATE TABLE webcal_user_template ( + cal_login VARCHAR(25) NOT NULL, + cal_type CHAR(1) NOT NULL, + cal_template_text TEXT, + PRIMARY KEY (cal_login,cal_type) +); +ALTER TABLE webcal_entry ADD cal_completed int(11) DEFAULT NULL; +ALTER TABLE webcal_entry ADD cal_due_date int(11) DEFAULT NULL; +ALTER TABLE webcal_entry ADD cal_due_time int(11) DEFAULT NULL; +ALTER TABLE webcal_entry ADD cal_location varchar(100) DEFAULT NULL; +ALTER TABLE webcal_entry ADD cal_url varchar(100) DEFAULT NULL; +ALTER TABLE webcal_entry_repeats ADD cal_byday varchar(100) DEFAULT NULL; +ALTER TABLE webcal_entry_repeats ADD cal_bymonth varchar(50) DEFAULT NULL; +ALTER TABLE webcal_entry_repeats ADD cal_bymonthday varchar(100) DEFAULT NULL; +ALTER TABLE webcal_entry_repeats ADD cal_bysetpos varchar(50) DEFAULT NULL; +ALTER TABLE webcal_entry_repeats ADD cal_byweekno varchar(50) DEFAULT NULL; +ALTER TABLE webcal_entry_repeats ADD cal_byyearday varchar(50) DEFAULT NULL; +ALTER TABLE webcal_entry_repeats ADD cal_count int(11) DEFAULT NULL; +ALTER TABLE webcal_entry_repeats ADD cal_endtime int(11) DEFAULT NULL; +ALTER TABLE webcal_entry_repeats ADD cal_wkst char(2) DEFAULT 'MO'; +ALTER TABLE webcal_entry_repeats_not ADD cal_exdate int(1) NOT NULL DEFAULT '1'; +ALTER TABLE webcal_entry_user ADD cal_percent int(11) NOT NULL DEFAULT '0'; +ALTER TABLE webcal_site_extras DROP PRIMARY KEY; +/*upgrade_v1.1.0b-CVS*/ +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) DEFAULT NULL +); +/*upgrade_v1.1.0c-CVS*/ +CREATE TABLE webcal_blob ( + cal_blob_id INT NOT NULL, + cal_description VARCHAR(128) NULL, + cal_id INT NULL, + cal_login VARCHAR(25) NULL, + cal_mime_type VARCHAR(50) NULL, + cal_mod_date INT NOT NULL, + cal_mod_time INT NOT NULL, + cal_name VARCHAR(30) NULL, + cal_size INT NULL, + cal_type CHAR(1) NOT NULL, + cal_blob LONGBLOB, + PRIMARY KEY (cal_blob_id) +); +/*upgrade_v1.1.0d-CVS*/ +DROP TABLE IF EXISTS webcal_access_user; +CREATE TABLE webcal_access_user ( + cal_login VARCHAR(25) NOT NULL, + cal_other_user VARCHAR(25) NOT NULL, + cal_can_approve INT NOT NULL DEFAULT '0', + cal_can_edit INT NOT NULL DEFAULT '0', + cal_can_email CHAR(1) DEFAULT 'Y', + cal_can_invite CHAR(1) DEFAULT 'Y', + cal_can_view INT NOT NULL DEFAULT '0', + cal_see_time_only CHAR(1) DEFAULT 'N', + PRIMARY KEY (cal_login, cal_other_user) +); +/*upgrade_v1.1.0e-CVS*/ +CREATE TABLE webcal_reminders ( + cal_id INT NOT NULL DEFAULT '0', + cal_action VARCHAR(12) NOT NULL DEFAULT 'EMAIL', + cal_before CHAR(1) NOT NULL DEFAULT 'Y', + cal_date INT NOT NULL DEFAULT '0', + cal_duration INT NOT NULL DEFAULT '0', + cal_last_sent INT NOT NULL DEFAULT '0', + cal_offset INT NOT NULL DEFAULT '0', + cal_related CHAR(1) NOT NULL DEFAULT 'S', + cal_repeats INT NOT NULL DEFAULT '0', + cal_times_sent INT NOT NULL DEFAULT '0', + PRIMARY KEY (cal_id) +); +/*upgrade_v1.1.1*/ +ALTER TABLE webcal_nonuser_cals ADD cal_url VARCHAR(255) DEFAULT NULL; +/*upgrade_v1.1.2*/ +ALTER TABLE webcal_categories ADD cat_color VARCHAR(8) DEFAULT NULL; +ALTER TABLE webcal_user ADD cal_address VARCHAR(75) DEFAULT NULL; +ALTER TABLE webcal_user ADD cal_birthday INT NULL; +ALTER TABLE webcal_user ADD cal_enabled CHAR(1) DEFAULT 'Y'; +ALTER TABLE webcal_user ADD cal_last_login INT NULL; +ALTER TABLE webcal_user ADD cal_telephone VARCHAR(50) DEFAULT NULL; +ALTER TABLE webcal_user ADD cal_title VARCHAR(75) DEFAULT NULL; +/*upgrade_v1.1.3*/ +CREATE TABLE webcal_timezones ( + tzid varchar(100) NOT NULL default '', + dtstart varchar(25) default NULL, + dtend varchar(25) default NULL, + vtimezone text, + PRIMARY KEY (tzid) +); +/*upgrade_v1.2.8*/ +ALTER TABLE webcal_access_function ENGINE MyISAM CHARACTER SET utf8 COMMENT '''Specifies what WebCalendar functions a user can access. Each function has a corresponding numeric value (specified in the file includes/access.php). For example, view event is 0, so the very first character in the cal_permissions column is either a "Y" if this user can view events or a "N" if they cannot.'; +ALTER TABLE webcal_access_function MODIFY cal_login varchar(25) NOT NULL COMMENT 'User login. From webcal_user table.' FIRST; +ALTER TABLE webcal_access_function MODIFY cal_permissions varchar(64) NOT NULL COMMENT 'A string of "Y"s and/or "N"s for the various functions.'; + +ALTER TABLE webcal_access_user ENGINE MyISAM CHARACTER SET utf8 COMMENT '''Specifies which users can access another user''s calendar.'; +ALTER TABLE webcal_access_user MODIFY cal_see_time_only ENUM('N','Y') NOT NULL DEFAULT 'N' COMMENT 'Can current user can only see time blocks of other user?'; +ALTER TABLE webcal_access_user MODIFY cal_can_view smallint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Can current user view events on the other user''s calendar?' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_can_invite ENUM('N','Y') NOT NULL DEFAULT 'Y' COMMENT 'Can current user see other user in Participant lists?' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_can_email ENUM('N','Y') DEFAULT 'Y' COMMENT 'Can current user send emails to other users?' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_can_edit smallint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Can current user edit events on the other user''s calendar?' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_can_approve smallint UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Can current user approve events on the other user''s calendar?' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_other_user varchar(25) NOT NULL COMMENT 'The login of the other user whose calendar the current user wants to access. Also, from webcal_user table.' FIRST; +ALTER TABLE webcal_access_user MODIFY cal_login varchar(25) NOT NULL COMMENT 'The current user who is attempting to look at another user''s calendar. From webcal_user table.' FIRST; + +ALTER TABLE webcal_asst ENGINE MyISAM CHARACTER SET utf8 COMMENT '''Define assistant/boss relationship.'; +ALTER TABLE webcal_asst MODIFY cal_assistant varchar(25) NOT NULL COMMENT 'Assistant login. Also from webcal_user table.'; +ALTER TABLE webcal_asst MODIFY cal_boss varchar(25) NOT NULL COMMENT 'Boss login. From webcal_user table.' FIRST; + +ALTER TABLE webcal_blob ENGINE MyISAM CHARACTER SET utf8 COMMENT '''This table stores event attachments and comments.'; +ALTER TABLE webcal_blob MODIFY cal_type ENUM('A','C') NOT NULL DEFAULT 'C' COMMENT 'Type of object: C=Comment, A=Attachment.' FIRST; +ALTER TABLE webcal_blob MODIFY cal_size int UNSIGNED DEFAULT NULL COMMENT 'Size of object (not used for comments).' FIRST; +ALTER TABLE webcal_blob MODIFY cal_name varchar(30) DEFAULT NULL COMMENT 'Filename of object (not used for comments).' FIRST; +ALTER TABLE webcal_blob MODIFY cal_mod_time time NOT NULL COMMENT 'Time added.' FIRST; +ALTER TABLE webcal_blob MODIFY cal_mod_date date NOT NULL COMMENT 'Date added.' FIRST; +ALTER TABLE webcal_blob ADD cal_mod TIMESTAMP on update CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'When was this added / changed?' FIRST; +ALTER TABLE webcal_blob MODIFY cal_mime_type varchar(50) DEFAULT NULL COMMENT 'MIME type of object (as specified by browser during upload (not used for comment).' FIRST; +ALTER TABLE webcal_blob MODIFY cal_login varchar(25) DEFAULT NULL COMMENT 'Login of user who created. From webcal_user table.' FIRST; +ALTER TABLE webcal_blob MODIFY cal_id int UNSIGNED DEFAULT NULL COMMENT 'Event id (if applicable). From webcal_entry table.' FIRST; +ALTER TABLE webcal_blob MODIFY cal_description varchar(128) DEFAULT NULL COMMENT 'Description of what the object is (subject for comment).' FIRST; +ALTER TABLE webcal_blob MODIFY cal_blob_id int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Unique identifier for this object.' FIRST; +ALTER TABLE webcal_blob MODIFY cal_blob longblob COMMENT 'Binary data for object.'; +ALTER TABLE webcal_blob ADD UNIQUE KEY wb_cl_cd (cal_login,cal_description); + +ALTER TABLE webcal_categories ENGINE MyISAM CHARACTER SET utf8 COMMENT '''Defines user categories. Categories can be specific to a user or global. When a category is global, the cat_owner field will be NULL. (Only an admin user can create a global category.)'; +ALTER TABLE webcal_categories MODIFY cat_name varchar(80) NOT NULL COMMENT 'Category name.' FIRST; +ALTER TABLE webcal_categories MODIFY cat_color varchar(7) DEFAULT NULL COMMENT 'RGB color for category.' FIRST; +ALTER TABLE webcal_categories MODIFY cat_id int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 'Unique category id.' FIRST; +ALTER TABLE webcal_categories MODIFY cat_owner varchar(25) DEFAULT NULL COMMENT 'User login of category owner. From webcal_user table, if applicable. If this is NULL, then it is a global category.'; + +ALTER TABLE webcal_config ENGINE MyISAM CHARACTER SET utf8 COMMENT '''System settings (set by the admin interface in admin.php).'; +ALTER TABLE webcal_config MODIFY cal_setting varchar(50) NOT NULL COMMENT 'System setting.' FIRST; +ALTER TABLE webcal_config MODIFY cal_value varchar(100) NULL COMMENT 'System setting value.'; + +ALTER TABLE webcal_entry ENGINE MyISAM CHARACTER SET utf8 COMMENT '''Defines a calendar event. Each event in the system has one entry in this table unless the event starts before midnight and ends after midnight. In that case a secondary event will be created with cal_ext_for_id set to the cal_id of the original entry. The following tables contain additional information about each event: