Jax Calendar v1.3
Manual
How to include the calendar control directly
to my website?
How to change the colors and fonts?
How to set time span of eventlist view?
How to open eventlist in a separate window?
How to use multiple calendars?
How to change file access permissions on
the webserver?
How many entries Jax Calendar can handle?
Where to get informations about Updates and Changes
Projekt: | Jax Calendar (Online Event Calendar) | |
Version: | 1.31 | |
Interpreter: | PHP 4.3+ | |
Code: | Andreas John | |
Design: | Andreas John | |
Homepage: | www.jtr.de/scripting/php/calendar/ | |
Lizenz: |
Copyright (C) 2002-2004, Andreas John [ Jack (tR) ] This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version. A copy of this license you can find
in the added text file gpl.txt or on the website of the Free Software
Foundation under: http://www.fsf.org/copyleft/gpl.html Please note, that I can give NO WARRANTY FOR DAMAGES CAUSED BY DIRECT OR INDIRECT USE OF THE PROGRAM... |
I want to say a very big Thank You to all people who support this and many other Open Source projects by their hints, translations, affectionate adaptions and links on their websites...
My personal credits go to:
http://www.fuldas-tauchertreff.de | |
Carmine Santoro
|
http://www.webdomus.net |
Daniele MORO | |
Eduardo H. Sabbi |
http://www.drgate.com.br/ |
Gerard Farràs Ballabriga | http://www.ctfc.es |
Guttorm Hveem | |
Helge Larsen | |
Jan Brünig | http://www.stb-vs-devils.de |
Jan van Thiel | http://www.taveres.nl |
Jarno Ristaniemi | http://www.vihrealiitto.fi/lappi |
Klaus-Peter Lexow | http://www.hell-is-open.de |
Marc Gavage | http://portix.be |
Martin Sondermann | http://www.kunstphotografie.de |
Mitsuhiro Yoshida | http://mitstek.com/ |
Nikityuk Victor | http://nikvic.mlcorp.ru |
Pawel Wagner | http://www.gry.skokinarciarskie.com |
Peter Dauth | http://www.action-sport.de |
Roberto Lizana Ramirez (TreYDo) |
|
Roger Simestad | http://www.rsweben.net |
Sigrid Henning-Bellwinkel | http://bellwinkel.de |
Wojciech Dorosz | |
InteractiveTools.com (Developers of HTMLarea) | http://www.interactivetools.com/ |
Mihai Bazon (Developer of the DHTML Calendar) | http://students.infoiasi.ro/~mishoo/ |
Jax Calendar is an online event calendar system. You can easily add it to your homepage - without any programming skills.
An online event calendar enables you to add dates and events to your homepage. Dependent on current date your visitors get a special summary of current/next events.
Jax Calendar comes along with typical features of an online calendar. Additionally it brings some special features. Particularly worth mentioning is the very flexible support of multiple data sources. This makes it possible to use the calendar system both - with a simple text file and a mySQL database system.
Following you find a summary of all important features of Jax Calendar:
Jax Calendar was written in PHP 4, a server-side programming language that produces dynamical generated web pages! (If unsure, ask your web space provider for PHP support!)
Jax Calendar is able to save data into both, simple text files and into a mySQL-data base system - that means Jax Calendar also works without mySQL-database-connection!
Jax Calendar and its components are published under the conditions of the GPL
- General Public License in der
This license allows you to use and copy this software freely and to develop improvements. Furthermore you are bound not to touch the copyright notes resp. to set a link to the original script (http://www.jtr.de/scripting/php/calendar)!
Jax Calendar contains the module htmlArea which is published under a BSD-like license. (consider that separately!)
Jax Calendar was written in PHP 4, a server-side programming language that produces dynamical generated web pages! (If unsure, ask your web space provider for PHP support!)
Jax Calendar is able to save data into both simple text files (csv files) and into a mySQL-data base system - that means Jax Calendar also works without mySQL-database-connection!
If you already have PHP support please do the following:
Jax Calendar was designed to be able to save data to both - simple text files and mySQL database tables. Running a big calendar with many thousands of entries mySQL is expected to give you a better performance...
If you have mySQL support please do the following:
CREATE TABLE mycalendar (
id int(11) NOT NULL auto_increment,
event_start varchar(30) default NULL,
event_end varchar(30) default NULL,
x24 int(11) NOT NULL default '0',
reminder_start varchar(30) default NULL,
reminder_end varchar(30) default NULL,
status varchar(30) NOT NULL default '',
event_title varchar(255) NOT NULL default '',
event_key varchar(32) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM; CREATE TABLE myevents (
id int(11) NOT NULL auto_increment,
event_key varchar(32) NOT NULL default '',
event_description text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
Creating new Dates in calendar admin system you have to distinguish two seperate time spans:
1. Event Time
The event time spans time from when to when a event will happen. This information is only of relevant for the visitors, but it does not influence the time when the event is displayed in calendar!
If you set click on "whole day", later in event list the calendar only shows the date (without time) of the event. If event time start and event time end are equal the calendar only shows the start time.
2. Reminder Time
The reminder time spans time from when to when an event will be displayed in calendar! This most often is equal with event time.
Since v1.3 all values of event time span are copied automatically to reminder time.
Please change reminder time only, if you know excactly why! You can change this values to force the view of an event instead of the filter for calendar view. Changes to this values can show an event even if it does not fit to the filter view (e.g. show it every day of a month in "day view" even if it is only a one 1-day event)
Expample:
If you want to enter the date for the event "Internationale Grüne Woche", from 17 to 26 January 2003 in Berlin. If you want the event announced at least 3 month before type in event time 17.1.2003 to 26.1.2003, click on "whole day" and enter 17.10.2002 to 26.1.2003 for reminder time...
The field State is not completely implemented at the moment. At the moment there you can enter letters to emphasize events. Next release comes with personal defined icons for that field. This of course will not touch the letter-entries you make today...
After you have installed Jax Calendar as described in Chapter "Installation" you can set links to the script from your website. You can influence outputs of the script manipulating the parameters behind the "?"...
http://www.meinedomain.tld/calendar/jax_calendar.php?Y=2003&m=4&d=17&cal_id=0&language=english
Parameter Y and m define what year and month is shown in the calendar.
cal_id specifies the calendar (if you run multiple calendars with the script -> see FAQ: How to use multiple calendars)
language sets the language of messages and days of the week. Its important to make sure that a coressponding language template exists (in directory languages). Otherwise the script sets the language that is defined in calendar.settings.inc.php.
Jax Calendar consists of two modules. The modules calendar.inc.php and eventlist.inc.php build the calendar control and the event list. To see how to include the modules have a look at jax_calendar.php.
If you include the modules from another directory than from the default directory where jax_calendar.php is, than you have to write <BASE href=".."> tag before include to make sure that stylesheets and javascripts work properly!
If you include the moduls directly into your pages please don't forget to set a copyright note or link to the download site of Jax Calendar!
To change outer appearance there are some predefined CSS stylesheets in directory css. You can change them using a simple texteditor.
There are 3 predefined views for eventlist. (Day, Month, Year). These views are controlled by GET-Parameter view
http://../jax_calendar.php?cal_id=1&view=d1
If you want to set the default view for selection (e.g. for year view) you have to change following line in calendar.settings.inc.php:
$view_default = "m12";
If you want to open the eventlist in a separate window, do the following:
1. prepare a php (e.g. myeventlist.php) file including the eventlist.inc.php
2. change following lines in calendar.settings.inc.php:
$calendar_open_url = "http://.../myeventlist.php";
$calendar_open_target = "_blank";
If you want to run more than one Calendar with the same script you can select the corresponding calendar by parameter cal_id. e.g:
http://../jax_calendar.php?cal_id=1
For security reasons the filename of the calendar is not forwarded directly
by URL.
The allocation between calendar ID and calendar name you have to set manually
in calendar.settings.inc.php. e.g:
...
// Title and Data Source
$calendars[0]->title = "Jax Calendar";
$calendars[0]->data_source = "csvfile";
$calendars[1]->title = "Ein zweiter Kalendar";
$calendars[1]->data_source = "mysql";
$calendars[0]->css = "styles/default.css";
$calendars[1]->css = "styles/ice.css";
$calendars[0]->calendar_file = "mycalendar";
$calendars[0]->event_file = "myevents";
$calendars[1]->calendar_file = "mycalendar";
$calendars[1]->event_file = "myevents";
...
The example shows how to use a second calendar with the same script:
http://../jax_calendar.php?calendar_id=1
access a second calendar based on a mySQL table.
Equivalent the URL
http://../jax_calendar.php?calendar_id=2
accesses a third calendar file and so on...
You can freely choose the data source (mysql/csvfile) for any single calendar!
If your webserver runs on Unix (Apache) you have to use the Unix command chmod to change the file access permissions. (How to do this conveniently using your FTP client is described below)
Syntax of chmod is:
chmod rwxrwxrwx
filename
r = read
w = write
x = execute
The command expects three 3-digit tupels representing the access permissions
for the single "groups" : [rwx][rwx][rwx]
The groups: (from right to left)
all users
all users in same group as owner
owner only
in binary notation:
chmod [rwx][rwx][rwx]
is equivalent to
chmod [111][111][111]
resp. in hex notation with
chmod [7][7][7]
thats all - here you have the chmod command to allow "all" access
to files:
chmod 777 calendar.csv
(the required access permissions depend on webservers configuration. If you
are suspiciously and do not want to give script all access (777), try to increase
rights step by step until the script works!)
Most FTP clients, as WS-FTP
support chmod-command conveniently from their user interface. Using WS-FTP
you only have to click with right mouse button on a file (in remote window)
and then you have to klick on chmod and so on...
Currently I am running the Calendar on one of my websites with 200 dates in CSV mode. Theoretically the script is able to handle several 1000 entries (depending on your webservers capacity and data source). For running larger calendars mySQL is recommended...
Jax Calendar saves only one entry, resp. it always shows the same entry!
You probably have not set up the database using the sql dump (in admin-directory)
and forgot to create the field "id" (very important!!)
Bugfix: wrong weekday in calendar module
If you have found any errors or have questions or suggestions for improvement then please don't hesitate to contact me directly!
RTFM !!! :
I am sorry, but I have not time for giving free installation support for this
program! If you have a problem that is answered in the manual I will ignore
your e-mail request...
Plase don't waste my and your own time and read the manual thoroughfully before you contact me! Hints to missing or wrong explanations in the manual are welcome of course...
Berlin, 9 April 2004 - Jack (tR)