To upgrade to a new version of the LuxCal Event Calendar consult the "release_notes_luxcal.html" and follow the instructions given for the relevant release.
For the installation of the LuxCal Event Calendar on the server of your hosting provider, you will need:
A web accessible directory on a web server to install the LuxCal files.
The web server should be able to run php-scripts (PHP 5.1 or higher).
A MySQL database on the web server to store the LuxCal Event Calendar data.
To install the LuxCal Event Calendar on the server of your hosting provider, follow the next steps:
Create a MySQL database on the server to store the LuxCal calendar data. Ask your hosting provider if they provide a tool for you to do this.
For later use, remember the name of the database server (host name), the database name and the username and password to access the database.
Uncompress the downloaded LuxCal zip-file in a temporary location and upload all files and directories to a Web accessible directory on the server where you wish to install LuxCal.
Point your Web browser to the directory of the LuxCal installation; it should redirect you to the "install.php" script and show the Installation page.
On the Installation page enter the database details and the administrator name, e-mail address and password and click "Install." The script will generate the necessary tables in the database and display the content for your configuration file. Using a plain text editor, cut and paste this content into a new file and save it as "config.php". Note: do not use Word or Wordpad, but use for instance Notepad or Notepad++.
Upload the file config.php; to the root directory of your LuxCal installation.
After successful installation, delete the file install.php from the server.
Point your Web browser to the directory of the LuxCal installation to start the LuxCal calendar.
Keep a backup copy of the config.php file. It contains the parameters for the MySQL database, the administrator credentials and the calendar configuration settings.
The calendar configuration variables which are automatically generated during the installation process are stored in the configuration file config.php. Most settings can be changed at a later stage by the calendar administrator via the Settings page in the drop down menu on the navigation bar at the top right corner of the screen.
For those interested in technical details: The following are explanations of the PHP variables stored in the configuration file config.php:
$hn, $db, $un and $pw correspond to the host name (e.g. localhost), database name, user name and password of the MySQL database used by LuxCal.
$dbPrefix if not blank, this variable is used as a prefix for the database names. This may be useful if you are short of databases and want to share the database with other applications, or if you want to use several separate LuxCal calendars. The prefix could for instance be lc1_ or db1_, etc.
$calendarTitle is the title of the LuxCal calendar that is displayed in the header of the various calendar views.
$calendarUrl is the URL address of the calendar, used for notification purposes.
$calendarEmail is the sending e-mail address ("From") in notification emails (reminders).
$timeZone specifies your local time zone. See the PHP Supported Timezones for possible values. Setting the correct time zone is important for the "today" indication in the various views and when the "notification" feature is used.
$defaultView indicates the initial calendar view to be displayed when the LuxCal Event Calendar is started. Possible values/views: 1 = Year, 2 = Month, 3 = Week, 4 = Day (today) and 5 = Upcoming events.
$language specifies the default user interface language. Only installed languages can be specified.
$langMenu specifies whether the calendar users are allowed to select their preferred user interface language via a dropdown menu in the calendars navigation bar. Possible values: 0 = don't display language selection menu, 1 = display language selection menu.
$chgEmailList is a list with destination email addresses for calendar changes sent by the sendchg.php script. Automatic periodic functions should be installed (see below).
$chgNofDays specifies the number of days the sendchg.php script (see previous variable) should look back for calendar changes. If the automatic periodic functions have been be installed (see below), this variable could be set to 1 (one day)
$selfReg indicates whether users can register themselves via the Log-in page. Possible values: 0 = self-registration disabled, 1 = self-registration enabled.
$selfRegPrivs specifies the access rights for self-registered users. Possible values: 1 = view, 2 = post self (post events and edit own events), 3 = post all (post events and edit own and other user's events).
$maxNoLogin indicates after how many 'no-login' days a user account should be automatically deleted. Possible values: 0 = never delete a user account, 1 - 365 = number of days.
$colsToShow specifies the number of months to show per row in year view'.
$rowsToShow specifies the number of 4-months rows to show in year view. The default value is 4.
$weeksToShow specifies the number of weeks to show in month view. The value 0 is an exception and will result in the display of just one single full month. The default value is 10.
$upcomingDays specifies the number of days to look ahead in upcoming view. The default value is 7 (one week).
$startHour specifies the start of the full time block on the day and week views. The default value is 6 (corresponding to 6:00am). This parameter helps to avoid wasting space for the nightly hours, where normally no, or very few, events are planned.
$showOwner specifies whether the owner of an event should be shown in the hoverbox in the various views, in the Upcoming Events view, in the Changes view and in email notification messages.
$dateFormat specifies the format of event dates in the calendar views and input fields. Possible values/formats: 1 = dd-mm-yyyy, 2 = mm-dd-yyyy, 3 = yyyy-mm-dd.
$dateUSorEU specifies the format of dates and times in the calendar headers on the user interface. Possible values: 0 = US style user interface, 1 = European (general) style user interface.
$dateSep specifies the date separator for dates in the calendar views and input fields. Possible separators: dot ( . ), slash ( / ) and hyphen ( - ).
$time24 specifies the format of event times in the calendar views and input fields. Possible values/formats: 0 = 12-hour am/pm format, 1 = 24-hour format.
$weekStart specifies the first day of the week. Possible values: 0 = Sunday, 1 = Monday.
The following automatic periodical functions are available:
To make the automatic periodical functions work, a cron-job needs to be created on the server (or on an external server), which starts the file lcalcron.php, in the root directory of the calendar, daily at 2:00am. For cron job details see the header of the lcalcron.php file.
If you are not familiar with cron-jobs, ask your hosting provider for help.
For events entered in the calendar the user can choose to receive an email reminder (notification) one or several days before the event is due. When chosen, for recurring events (e.g. birthdays) an email notification will be sent to the user the selected number of days before each occurrence of the event. Imagine: never forget to buy flowers for your (girl)friend's birthday anymore!
In a multi-user environment it could be useful to be aware of changes being applied to the calendar content, i.e. a list with events added, edited and deleted. Such a list can be called up via the Views drop-down menu in the navigation bar. It is however also possible to have a list with changes automatically sent daily to one or more email addresses.
Via the Settings page the administrator can specify the number of days to look back for changes and a list with email addresses. If the number of days to look back for changes is set to 0 (zero), no emails with changes will be sent.
The account of users who have not logged in during a certain number of days can be automatically deleted. Via the Settings page the administrator can specify the number of 'no login' days after which the user account will be deleted. If the number of 'no login' days is set to 0 (zero), no user accounts will be deleted.
This function can be particularly useful when users are allowed to self-register (this feature can be switched on/off on the admin's Settings page).
= Note: in the following text the part {language} (including the braces) of the file names represents the name of the relevant language. =
A new language for the user interface of the LuxCal calendar can be installed as follows:
If your language pack is not available:
translate the files lang/ai-english.php and lang/ui-english.php (translate
the texts to the right of the => signs) and save the files with the names ai-{newlang}.php
and ui-{newlang}.php respectively. ({newlang}, including the braces, is the name of the
new language)
Use character encoding utf-8 without BOM (see note below).
translate the file lang/ug-english.php (leave the html tags unchanged) and save it with
the name ug-{newlang}.php. ({newlang}, including the braces, is the name of the new
language)
Use character encoding utf-8 without BOM (see note below).
upload the files ai-{newlang}.php, ui-{newlang}.php and ug-{newlang}.php to the lang/ directory on the server.
on the Settings page (see Calendar Configuration Settings in Section 4 below), change the user interface language to the new language ({lang} part of the files you have uploaded).
if the user interface language menu is displayed in the calendar's navigation bar, the new installed language will automatically be added to the menu.
IMPORTANT NOTE: When using special characters (e.g. accents) in the language files, the ui and ug files must be saved with character encoding: utf-8 without BOM (Byte Order Mark). If your text editor does not support utf-8 without BOM, you can download and use Notepad++ (Notepad++ on Sourceforge).
Managing the LuxCal calendar is the responsibility of the calendar administrator, who has all calendar access rights.
In order to define users, to set up categories for the calendar, to change configuration settings and to add events, you must select Log In in the navigation bar at the top right corner of the screen. Enter the administrator name or email address and password you specified during the installation, and log in. On the right side of the navigation bar the administrator drop down menu will be displayed.
A good place to start in managing your calendar is to create a number of categories for your events, each with its own color. Adding categories with different colors - though not required - will greatly enhance the views of the calendar. Categories can be for example: meeting, important, holiday, birthday, etc.
The initial installation has only one category which is named "no cat". To manage categories, select Categories in the administrator drop down menu. This takes you to a page with a list of all categories where you can add new categories and edit or delete current categories.
When adding / editing events the defined categories can be selected from a pull down list. The order in which categories are displayed in the pull down list is determined by the Sequence field on the Categories page.
The fields Text Color and Background define the colors used to display events in the calendar belonging to this category.
The Users menu in the navigation bar allows the calendar administrator to add and edit users and their rights for using LuxCal. There are two main areas that can be edited, i.e. the name / e-mail address / password area and the access rights area. Possible access rights are: "View", "Post Own", "Post All" and "Admin". It is important to use a valid email address for each user to be able to receive email notifications of due dates of events.
The initial installation has two users defined. One is the Public Access user, who initially has "view" access and the other is the calendar administrator, with the administrator name, email address and password specified during the installation. The administrator has all access rights.
Unless the calendar administrator has given "View" access to Public Access users, users must log in to use the calendar using their name or email address and password. Depending on the type of user, a user can have different access rights which can be set by the calendar administrator.
If the administrator has enabled, on the Settings page, user self-registration, users can register themselves via the Login page. Self-registered users have the access rights specified by the administrator on the Settings page.
The Database menu in the navigation bar allows the calendar administrator to start the following functions:
check and repair the database.
compact database
backup database
CSV (Comma Separated Values) text files with event data can be imported into the LuxCal calendar. This function can for instance be used to import a CSV file with event data exported by MS Outlook. The dialogue to import CSV files is opened by selecting CSV Import from the admin drop-down menu in the navigation bar.
The CSV file contains one line per event and each line contains a number of fields each separated by a comma (or any other unique character). The order of the fields in each line of the CSV file is: title, venue, category id, date, end date, start time, end time and description. The first line of the CSV file is ignored by the import function and can be used for column descriptions (default in MS Outlook exports).
Sample CSV files - with different date/time formats - can be found in the files/ directory of the LuxCal Calendar installation and have the file extension ".csv".
Events from iCalendar files can be imported into the LuxCal calendar. The content of the iCal file to be imported must meet the [RFC5545 standard] of the Internet Engineering Task Force. The LuxCal calendar can also export events into an iCal file which can be downloaded by the calendar administrator. The dialogue to import/export iCal files is opened by selecting iCal Import / iCal export from the admin drop-down menu in the navigation bar.
This function can for instance be used to back up the events of your LuxCal calendar, or to exchange events with other calendars, e.g. to import public holidays available in iCal format on the internet. Please note that some LuxCal event fields are not supported in the iCal format (e.g. private event, notify, email addresses) and consequently are not copied to the iCal file. Some iCal event repetition rules are not supported by the LuxCal calendar; these events will be displayed and earmarked as such, but will not be added to the calendar.
Various sample iCal files can be found in the files/ directory of the LuxCal Calendar installation and have the file extension ".ics".
The Settings menu in the navigation bar can be used to easily change the calendar's configuration variables which are stored in the config.php file (see section 3 above). These variables, for instance, define the calendar title, the time zone, the language file to be used for the user interface, the default initial view when the calendar is started, the number of weeks/months displayed in the various views, the date and time format, etc.
IMPORTANT: Currently the TimeZone is set to "Europe/Amsterdam". If you are in a different time zone, change the TimeZone to your local time zone. See the PHP Supported Timezones for possible values.
To use the calendar on an other web site, the following possibilities are available:
link to the calendar's URL and open the calendar in a new page.
embed the full calendar with navigation buttons, which the visitor can use to navigate the calendar.
embed one specific calendar view without navigation bar. The visitor cannot navigate the calendar
To link to the LuxCal calendar in an existing web page and open it in a new window, the following HTML
code can be used:
<a href="http://www.mycalsite.com/luxcal/" target="_blank">Go To My Calendar</a>
.
To embed the full LuxCal calendar in an existing web page, an inline frame (iframe) can be used. This can
for example be done with the following HTML code:
<iframe src="http://www.mycalsite.com/luxcal" width="80%" height="800px"></iframe>
.
Via the CSS styles the iframe can be positioned at the desired location and the width and height can be set to
fit your needs.
To embed the LuxCal calendar without navigation bar, the parameter hdr=0 should be added to the
URL as follows:
<iframe src="http://www.mycalsite.xx/luxcal/?hdr=0" width="80%" height="800px"></iframe>
.
The visitor will not be able to navigate the calendar and select other views. The following parameters can be added to select the view to display and the user-interface language:
For example the HTML code to show the Upcoming Events page without navigation bar, in the French language
looks as follows:
<iframe src="http://www.mycalsite.xx/luxcal/?hdr=0&cP=5&cL=Francais" width="80%" height="800px"></iframe>
.
Via the CSS styles the iframe can be positioned at the desired location and the width and height can be set to fit your needs.
Important:
The parameter hdr=0 is remembered via the PHP session mechanism; this means that if you access
the embedded calendar without navigation bar, then thereafter, when accessing your normal (not-embedded) calendar
you will also see no navigation bar. This can be solved by adding the parameter hdr=1 to the URL of
your normal calendar.