added freebusy information (iCal) for KDE organizer or other external sheduling programs

This commit is contained in:
Ralf Becker 2004-03-14 01:10:37 +00:00
parent a48676eba3
commit 2847d27af9
6 changed files with 169 additions and 23 deletions

69
calendar/freebusy.php Normal file
View File

@ -0,0 +1,69 @@
<?php
/**************************************************************************\
* eGroupWare - freebusy times as iCals *
* http://www.egroupware.org *
* Written by RalfBecker@outdoor-training.de *
* -------------------------------------------- *
* 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. *
\**************************************************************************/
/* $Id$ */
$GLOBALS['phpgw_info'] = array(
'flags' => array(
'currentapp' => 'calendar',
'noheader' => True,
'nofooter' => True,
),
);
// check if we are loged in, by checking sessionid and kp3, as the sessionid get set automaticaly by php for php4-sessions
$sessionid = isset($_COOKIE['sessionid']) ? $_COOKIE['sessionid'] : @$_GET['sessionid'];
$kp3 = isset($_COOKIE['kp3']) ? $_COOKIE['kp3'] : @$_GET['kp3'];
if (!($loged_in = $sessionid && $kp3))
{
$GLOBALS['phpgw_info']['flags']['currentapp'] = 'login';
$GLOBALS['phpgw_info']['flags']['noapi'] = True;
}
include ('../header.inc.php');
function fail_exit($msg)
{
echo "<html>\n<head>\n<title>$msg</title>\n<meta http-equiv=\"content-type\" content=\"text/html; charset=".
$GLOBALS['phpgw']->translation->charset()."\" />\n</head>\n<body><h1>$msg</h1>\n</body>\n</html>\n";
$GLOBALS['phpgw']->common->phpgw_exit();
}
if (!$loged_in)
{
include ('../phpgwapi/inc/functions.inc.php');
$GLOBALS['phpgw_info']['flags']['currentapp'] = 'calendar';
}
$user = is_numeric($_GET['user']) ? (int) $_GET['user'] : $GLOBALS['phpgw']->accounts->name2id($_GET['user']);
if (!($username = $GLOBALS['phpgw']->accounts->id2name($user)))
{
fail_exit(lang("Unknow user '%1' !!!",$_GET['user']));
}
if (!$loged_in)
{
$GLOBALS['phpgw']->preferences->account_id = $user;
$GLOBALS['phpgw_info']['user']['preferences'] = $GLOBALS['phpgw']->preferences->read_repository();
$GLOBALS['phpgw_info']['user']['account_id'] = $user;
$GLOBALS['phpgw_info']['user']['account_lid'] = $username;
$cal_prefs = &$GLOBALS['phpgw_info']['user']['preferences']['calendar'];
if (!$cal_prefs['freebusy'])
{
fail_exit(lang("The freebusy information for user '%1' is not availible to not loged in users !!!",$username));
}
if (!empty($cal_prefs['freebusy_pw']) && $cal_prefs['freebusy_pw'] != $_GET['password'])
{
fail_exit(lang("Wrong password for user '%1' !!!",$username));
}
}
ExecMethod('calendar.boicalendar.freebusy');

View File

@ -81,7 +81,8 @@
{
var $public_functions = array(
'import' => True,
'export' => True
'export' => True,
'freebusy' => True,
);
var $ical;
@ -2846,7 +2847,7 @@
$str .= $this->fold('PRODID'.$this->build_text($ical['prodid'],'prodid'));
$str .= $this->fold('VERSION'.$this->build_text($ical['version'],'version'));
$str .= $this->fold('METHOD'.$this->build_text($ical['method'],'method'));
while(list($key,$vtype) = each($var))
foreach($var as $vtype)
{
if($ical[$vtype])
{
@ -3344,9 +3345,10 @@
function export($params)
{
$event_id = ($params['l_event_id']?$params['l_event_id']:$GLOBALS['HTTP_GET_VARS']['cal_id']);
$event_id = $params['l_event_id'] ? $params['l_event_id'] : $_GET['cal_id'];
$this->chunk_split = $params['chunk_split'];
$method = ($params['method']?$params['method']:"publish");
$method = $params['method'] ? $params['method'] : 'publish';
$vtype = $params['vtype'] ? $params['vtype'] : 'event';
$string_array = Array(
'summary' => 'description',
@ -3369,7 +3371,7 @@
$ical = $this->new_ical();
$this->set_var($ical['prodid'],'value','-//phpGroupWare//phpGroupWare '.$setup_info['calendar']['version'].' MIMEDIR//'.strtoupper($GLOBALS['phpgw_info']['user']['preferences']['common']['lang']));
$this->set_var($ical['prodid'],'value','-//eGroupWare//eGroupWare '.$setup_info['calendar']['version'].' MIMEDIR//'.strtoupper($GLOBALS['phpgw_info']['user']['preferences']['common']['lang']));
$this->set_var($ical['version'],'value','2.0');
$this->set_var($ical['method'],'value',strtoupper($method));
@ -3395,14 +3397,16 @@
$so_event = $GLOBALS['uicalendar']->bo->so;
}
while(list($key,$value) = each($ids))
foreach($ids as $event)
{
$ical_event = Array();
$event = $so_event->read_entry($value);
if (!is_array($event))
{
$event = $so_event->read_entry($event);
}
if($event['alarm'])
{
while(list($dummy,$alarm) = each($event['alarm']))
foreach($event['alarm'] as $alarm)
{
$ical_temp = Array();
$ical_temp['action']['value'] = 'DISPLAY';
@ -3428,8 +3432,7 @@
$this->parse_value($ical_event,'dtend',date('Ymd\THis\Z',$dtend_mktime),'vevent');
$mod_mktime = $so_event->maketime($event['modtime']);
$this->parse_value($ical_event,'last_modified',date('Ymd\THis\Z',$mod_mktime),'vevent');
@reset($string_array);
while(list($ical_value,$event_value) = each($string_array))
foreach($string_array as $ical_value => $event_value)
{
if($event[$event_value])
{
@ -3440,9 +3443,7 @@
if ($event['category'])
{
$cats->categories(0,'calendar');
$category = explode(',',$event['category']);
@reset($category);
while(list($key,$cat) = each($category))
foreach(explode(',',$event['category']) as $cat)
{
$_cat = $cats->return_single($cat);
$cat_string[] = $_cat[0]['name'];
@ -3457,8 +3458,7 @@
{
$db = $GLOBALS['phpgw']->db;
}
@reset($event['participants']);
while(list($part,$status) = each($event['participants']))
foreach($event['participants'] as $part => $status)
{
$GLOBALS['phpgw']->accounts->get_account_name($part,$lid,$fname,$lname);
$name = $fname.' '.$lname;
@ -3555,8 +3555,7 @@
$exceptions = $event['recur_exception'];
if(is_array($exceptions))
{
@reset($exceptions);
while(list($key,$except_datetime) = each($exceptions))
foreach($exceptions as $except_datetime)
{
$ical_event['exdate'][] = $this->switch_date(date('Ymd\THis\Z',$except_datetime));
}
@ -3565,8 +3564,46 @@
$ical_events[] = $ical_event;
}
$ical['event'] = $ical_events;
return $this->build_ical($ical);
$ical[$vtype] = $ical_events;
// iCals are by default utf-8
return $GLOBALS['phpgw']->translation->convert($this->build_ical($ical),$GLOBALS['phpgw']->translation->charset(),'utf-8');
}
function freebusy($params=False)
{
if (!$params) $params = $_GET;
$user = is_numeric($params['user']) ? (int) $params['user'] : $GLOBALS['phpgw']->accounts->name2id($params['user']);
$start = isset($params['start']) ? $params['start'] : date('Ymd');
$end = isset($params['end']) ? $params['end'] : (date('Y')+1).date('md');
$this->bo = CreateObject('calendar.bocalendar');
$events_per_day = $this->bo->store_to_cache(array(
'owner' => $user,
'syear' => (int) substr($start,0,4),
'smonth' => (int) substr($start,4,2),
'sday' => (int) substr($start,6,2),
'eyear' => (int) substr($end,0,4),
'emonth' => (int) substr($end,4,2),
'eday' => (int) substr($end,6,2),
'no_doubles' => True, // report events only on the startday
));
if (!is_array($events_per_day)) $events_per_day = array();
$ids = array();
foreach($events_per_day as $day => $events)
{
foreach($events as $event)
{
$ids[] = $event;
}
}
$browser = CreateObject('phpgwapi.browser');
$browser->content_header($GLOBALS['phpgw']->accounts->id2name($user).'.ifb','text/calendar');
echo $this->export(array(
'vtype' => 'freebusy',
'l_event_id' => $ids,
));
}
function debug($str='')

View File

@ -176,3 +176,14 @@
create_check_box('Print calendars in black & white','print_black_white',
'Should the printer friendly view be in black & white or in color (as in normal view)?');
$freebusy_url = $GLOBALS['phpgw_info']['server']['webserver_url'].'/calendar/freebusy.php?user='.$GLOBALS['phpgw_info']['user']['account_lid'].'&password='.$GLOBALS['phpgw_info']['user']['preferences']['calendar']['freebusy_pw'];
if ($freebusy_url[0] == '/')
{
$freebusy_url = ($_SERVER['HTTPS'] ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].$freebusy_url;
}
$freebusy_help = lang('Should not loged in persons be able to see your freebusy information? You can set an extra password, different from your normal password, to protect this informations. The freebusy information is in iCal format and only include the times when you are busy. It does not include the event-name, description or locations. The URL to your freebusy information is %1.','<a href="'.$freebusy_url.'" target="_blank">'.$freebusy_url.'</a>');
create_check_box('Make freebusy information availible to not loged in persons?','freebusy',
$freebusy_help,'',False);
create_input_box('Password for not loged in users to your freebusy information?','freebusy_pw',
'If you dont set a password here, the information is availible to everyone, who knows the URL!!!');

View File

@ -12,6 +12,7 @@ action that caused the notify: added, canceled, accepted, rejected, ... calendar
add a single entry by passing the fields. calendar de Einen einzelnen neuen Eintrag über seine Felder erzeugen.
add alarm calendar de Alarm zufügen
add contact calendar de Kontakt zufügen
add or update a single entry by passing the fields. calendar de Einen einzelnen Eintrag zufügen oder speichern durch Angabe der Felder.
added calendar de Neuer Termin
address book calendar de Adressbuch
alarm calendar de Alarm
@ -26,6 +27,10 @@ are you sure\nyou want to\ndelete these alarms? calendar de Sind Sie sicher,\nda
are you sure\nyou want to\ndelete this entry ? calendar de Sind Sie sicher,\ndass Sie diesen\nEintrag löschen wollen ?
are you sure\nyou want to\ndelete this entry ?\n\nthis will delete\nthis entry for all users. calendar de Sind Sie sicher,\ndass Sie diesen\nEintrag löschen wollen ?\n\nDieser Eintrag wird damit\nfür alle Benutzer gelöscht.
are you sure\nyou want to\ndelete this single occurence ?\n\nthis will delete\nthis entry for all users. calendar de Sind Sie sicher,\ndass Sie diesen einzelnen\nEintrag löschen wollen ?\n\nDieser Eintrag wird damit\nfür alle Benutzer gelöscht.
are you surenyou want tondelete these alarms? calendar de Sind Sie sicher,\ndass Sie diese\nAlarme löschen wollen ?
are you surenyou want tondelete this entry ? calendar de Sind Sie sicher,\ndass Sie diesen\nEintrag löschen wollen ?
are you surenyou want tondelete this entry ?nnthis will deletenthis entry for all users. calendar de Sind Sie sicher,\ndass Sie diesen\nEintrag löschen wollen ?\n\nDieser Eintrag wird damit\nfür alle Benutzer gelöscht.
are you surenyou want tondelete this single occurence ?nnthis will deletenthis entry for all users. calendar de Sind Sie sicher,\ndass Sie diesen einzelnen\nEintrag löschen wollen ?\n\nDieser Eintrag wird damit\nfür alle Benutzer gelöscht.
back calendar de zurück
before the event calendar de vor dem Termin
brief description calendar de Kurzbeschreibung
@ -76,7 +81,7 @@ disabled calendar de ausgeschaltet
display interval in day view calendar de Intervall der Tagesansicht
display mini calendars when printing calendar de zeige einen kleinen Kalender beim drucken
display status of events calendar de Status von Terminen anzeigen
displays your default calendar view on the startpage (page you get when you enter phpgroupware or click on the homepage icon)? calendar de Soll Ihr Kalender auf der phpGroupWare Startseite angezeigt werden (die Seite welche sich nach dem Login öffnet oder wenn Sie auch Home klicken)?
displays your default calendar view on the startpage (page you get when you enter egroupware or click on the homepage icon)? calendar de Zeigt ihre Standard-Kalendar-Ansicht auf der Startseite angezeigt werden (die Seite die sich nach dem Login öffnet oder wenn Sie auch Home klicken)?
do you want to be notified about new or changed appointments? you be notified about changes you make yourself.<br>you can limit the notifications to certain changes only. each item includes all the notification listed above it. all changes include changes of title, description, participants and the acceptions and rejections of the appointment. calendar de Möchten Sie über neue oder geänderte Termine benachrichtigt werden? Sie werden benachrichtigt werden über Änderungen welche Sie selbst durchführen.<br> Sie können die benachrichtigungen beschränken auf bestimmte Änderungen. Jeder auszuwählende Punkt schließt auch die darüber aufgeführten Benachrichtigungen mit ein. Alle Änderungen beinhaltet Änderungen des Titels, der Beschreibung, Teilnehmer so wie Zusagen so wie Absagen von Terminen.
do you want to be notified about new or changed appointments? you be notified about changes you make yourself.<br>you can limit the notifications to certain changes only. each item includes all the notification listed above it. all modifications include changes of title, description, participants, but no participant responses. if the owner of an event requested any notifcations, he will always get the participant responses like acceptions and rejections too. calendar de Wollen Sie über neue oder geänderte Termine benachrichtigt werden? Sie werden nie über eigene Änderungen benachrichtig.<br>Sie können die Benachrichtigungen auf verschiedene Änderungen begrenzen. Jede Zeile enthält die Benachrichtigungen der darüberliegenden. Alle Änderungen umfasst den Title, die Beschreibung, Teilnehmer, aber keine Antworten der Teilnehmer. Wenn der Ersteller eines Event irgendeine Benachrichtigung will, erhält er automatisch auch die Antworten der Teilnehmer, wie Zusagen und Absagen.
do you want to be notified about new or changed appointments? you dont get notifications for changes you made yourself.<br>you can limit the notifications on certain changes only. every item include all notification above. all changes include changes of title, description, participants and the acceptions and rejections of them. calendar de
@ -114,6 +119,7 @@ fri calendar de Fr
full description calendar de vollständige Beschreibung
fullname of person to notify calendar de Name der zu benachrichtigenden Person
generate printer-friendly version calendar de Drucker-freundliche Version erzeugen
global categories calendar de Globale Kategorien
global public and group public calendar de Global öffentlich und Gruppen-öffentlich
global public only calendar de nur Global öffentlich
go! calendar de Go!
@ -131,6 +137,7 @@ hours calendar de Stunden
i participate calendar de Ich nehme teil
ical / rfc2445 calendar de iCal / RFC2445
if checked holidays falling on a weekend, are taken on the monday after. calendar de Wenn ausgewählt werden Feiertage die auf ein Wochenende fallen, am drauffolgenden Montag nachgeholt.
if you dont set a password here, the information is availible to everyone, who knows the url!!! calendar de Wenn Sie hier kein Passwort angeben, ist die Information für jeden verfügbar, der die Adresse (URL) kennt!!!
ignore conflict calendar de Konflikt ignorieren
import calendar de Importieren
import csv-file common de CSV-Datei importieren
@ -142,10 +149,12 @@ last calendar de letzte
lastname of person to notify calendar de Nachname der zu benachrichtigenden Person
length shown<br>(emtpy for full length) calendar de angezeigte Länge<br>(leer für volle Länge)
length<br>(<= 255) calendar de Länge<br>(<= 255)
list all categories. calendar de Alle Kategorien auflisten.
load [iv]cal calendar de [iv]Cal Laden
location calendar de Ort
location to autoload from admin de Von wo sollen sie geladen werden
low calendar de niedrig
make freebusy information availible to not loged in persons? calendar de Die Belegtzeiten für nicht angemeldete Personen verfügbar machen?
matrixview calendar de Matrixansicht
minutes calendar de Minuten
mo calendar de Mo
@ -194,6 +203,7 @@ overlap holiday calendar de
participant calendar de Teilnehmer
participants calendar de Teilnehmer
participates calendar de nimmt teil
password for not loged in users to your freebusy information? calendar de Passwort für ihren Belegtzeiten für nicht angemeldete Personen?
people holiday calendar de Feiertag
permission denied calendar de Zugriff verweigert
planner calendar de Planer
@ -243,6 +253,7 @@ should invitations you rejected still be shown in your calendar ?<br>you can onl
should invitations you rejected still be shown in your calendar ?<br>you can only accept them later (eg. when your sheduling conflict disappears), if they are still in your calendar! calendar de
should new events created as private by default ? calendar de Sollen neue Termine generell als Privat angelegt werden?
should new events created private by default ? calendar de
should not loged in persons be able to see your freebusy information? you can set an extra password, different from your normal password, to protect this informations. the freebusy information is in ical format and only include the times when you are busy. it does not include the event-name, description or locations. the url to your freebusy information is %1. calendar de Sollen nicht angemeldete Personen ihre Belegtzeiten einsehen können? Sie können ein Passwort setzen um diese Informationen zu schützen. Das Passwort sollte sich von ihrem normalen Passwort unterscheiden. Die Belegtzeiten sind im iCal Format und enthalten ausschließlich die Zeiten an denen sie nicht verfügbar sind. Sie enthalten NICHT den Namen, die Beschreibung oder den Ort des Termins.Die Adresse (URL) ihrer Belegtzeiten ist %1.
should the mini calendars by printed / displayed in the printer friendly views ? calendar de Soll der Mini Kalender "gedruckt werden/angezeigt werden" in einer Druck freundlichen Ansicht ?
should the printer friendly view be in black & white or in color (as in normal view)? calendar de Soll die Drucker freundliche Ansicht in schwarz-weiß dargestellt werden oder in Farbe (identisch der normalen Ansicht)?
should the printer friendly view be in black & white or in color, like the normal view? calendar de
@ -251,6 +262,7 @@ show day view on main screen calendar de Tagesansicht auf Startseite anzeigen
show default view on main screen calendar de Standardansicht auf der Startseite anzeigen
show high priority events on main screen calendar de Termine mit hoher Priorität auf der Startseite anzeigen
show invitations you rejected calendar de Zeige Einladungen welche abgelehnt wurden an
show list of upcoming events calendar de Zeige eine Liste der kommenden Termine
single event calendar de Einzelner Termin
sorry, the owner has just deleted this event calendar de Der Eigentümer hat diesen Termin gerade gelöscht
sorry, this event does not exist calendar de Dieser Termin existiert nicht
@ -270,6 +282,7 @@ test import (show importable records <u>only</u> in browser) calendar de Test Im
text calendar de Text
th calendar de Do
the following conflicts with the suggested time:<ul>%1</ul> calendar de Im gewählten Zeitraum gibt es einen Konflikt:<ul>%1</ul>
the freebusy information for user '%1' is not availible to not loged in users !!! calendar de Die Belegtzeiten des Benutzers '%1' sind nicht verfügbar, wenn sie nicht angemeldet sind!!!
the user %1 is not participating in this event! calendar de Der Benutzer %1 nimmt nicht an diesem Event teil!
there was an error trying to connect to your news server.<br>please contact your admin to check the news servername, username or password. calendar de Fehler beim Kontaktieren Ihres News-Servers.<br>Bitte benachrichtigen Sie ihren Administrator um Servername, Username und Passwort für News zu überprüfen.
this day is shown as first day in the week or month view. calendar de Dieser Tag wird als erster in der Wochen- oder Monatsansicht angezeigt
@ -303,6 +316,7 @@ today calendar de Heute
translation calendar de Übersetzung
tu calendar de Di
tue calendar de Di
unknow user '%1' !!! calendar de Unbekannter Benutzer '%1' !!!
update a single entry by passing the fields. calendar de Einen einzelnen Termin über seine Felder updaten.
updated calendar de Aktualisiert
updates of your appointments via email calendar de
@ -321,6 +335,7 @@ which of the calendar-views do you want to see, when you enter the calendar ? ca
work day ends on calendar de Arbeitstag endet um
work day starts on calendar de Arbeitstag beginnt um
workdayends calendar de Arbeitstag endet
wrong password for user '%1' !!! calendar de Falsches Passwort für Benutzer '%1' !!!
year calendar de Jahr
yearly calendar de Jährlich
yearview calendar de Jährliche Ansicht

View File

@ -12,6 +12,7 @@ action that caused the notify: added, canceled, accepted, rejected, ... calendar
add a single entry by passing the fields. calendar en Add a single entry by passing the fields.
add alarm calendar en Add Alarm
add contact calendar en Add Contact
add or update a single entry by passing the fields. calendar en Add or update a single entry by passing the fields.
added calendar en Added
address book calendar en Address Book
alarm calendar en Alarm
@ -26,6 +27,10 @@ are you sure\nyou want to\ndelete these alarms? calendar en Are you sure\nyou wa
are you sure\nyou want to\ndelete this entry ? calendar en Are you sure\nyou want to\ndelete this entry ?
are you sure\nyou want to\ndelete this entry ?\n\nthis will delete\nthis entry for all users. calendar en Are you sure\nyou want to\ndelete this entry ?\n\nThis will delete\nthis entry for all users.
are you sure\nyou want to\ndelete this single occurence ?\n\nthis will delete\nthis entry for all users. calendar en Are you sure\nyou want to\ndelete this single occurence ?\n\nThis will delete\nthis entry for all users.
are you surenyou want tondelete these alarms? calendar en
are you surenyou want tondelete this entry ? calendar en
are you surenyou want tondelete this entry ?nnthis will deletenthis entry for all users. calendar en
are you surenyou want tondelete this single occurence ?nnthis will deletenthis entry for all users. calendar en
before the event calendar en before the event
brief description calendar en Brief Description
business calendar en Business
@ -73,7 +78,7 @@ disabled calendar en disabled
display interval in day view calendar en Display interval in Day View
display mini calendars when printing calendar en Display mini calendars when printing
display status of events calendar en Display Status of Events
displays your default calendar view on the startpage (page you get when you enter phpgroupware or click on the homepage icon)? calendar en Displays your default calendar view on the startpage (page you get when you enter eGroupWare or click on the homepage icon)?
displays your default calendar view on the startpage (page you get when you enter egroupware or click on the homepage icon)? calendar en Displays your default calendar view on the startpage (page you get when you enter eGroupWare or click on the homepage icon)?
do you want to be notified about new or changed appointments? you be notified about changes you make yourself.<br>you can limit the notifications to certain changes only. each item includes all the notification listed above it. all modifications include changes of title, description, participants, but no participant responses. if the owner of an event requested any notifcations, he will always get the participant responses like acceptions and rejections too. calendar en Do you want to be notified about new or changed appointments? You be notified about changes you make yourself.<br>You can limit the notifications to certain changes only. Each item includes all the notification listed above it. All modifications include changes of title, description, participants, but no participant responses. If the owner of an event requested any notifcations, he will always get the participant responses like acceptions and rejections too.
do you want to receive a regulary summary of your appointsments via email?<br>the summary is sent to your standard email-address on the morning of that day or on monday for weekly summarys.<br>it is only sent when you have any appointments on that day or week. calendar en Do you want to receive a regulary summary of your appointsments via email?<br>The summary is sent to your standard email-address on the morning of that day or on Monday for weekly summarys.<br>It is only sent when you have any appointments on that day or week.
do you wish to autoload calendar holidays files dynamically? admin en Do you wish to autoload calendar holidays files dynamically?
@ -108,6 +113,7 @@ fri calendar en Fri
full description calendar en Full Description
fullname of person to notify calendar en Fullname of person to notify
generate printer-friendly version calendar en Generate printer-friendly version
global categories calendar en Global Categories
global public and group public calendar en Global Public and group public
global public only calendar en Global Public Only
go! calendar en Go!
@ -124,6 +130,7 @@ hours calendar en hours
i participate calendar en I Participate
ical / rfc2445 calendar en iCal / rfc2445
if checked holidays falling on a weekend, are taken on the monday after. calendar en If checked holidays falling on a weekend, are taken on the monday after.
if you dont set a password here, the information is availible to everyone, who knows the url!!! calendar en If you dont set a password here, the information is availible to everyone, who knows the URL!!!
ignore conflict calendar en Ignore Conflict
import calendar en Import
import csv-file common en Import CSV-File
@ -135,9 +142,11 @@ last calendar en last
lastname of person to notify calendar en Lastname of person to notify
length shown<br>(emtpy for full length) calendar en Length shown<br>(emtpy for full length)
length<br>(<= 255) calendar en Length<br>(<= 255)
list all categories. calendar en List all categories.
load [iv]cal calendar en Load [iv]Cal
location calendar en Location
location to autoload from admin en Location to autoload from
make freebusy information availible to not loged in persons? calendar en Make freebusy information availible to not loged in persons?
matrixview calendar en Matrix View
minutes calendar en minutes
mo calendar en M
@ -178,6 +187,7 @@ overlap holiday calendar en overlap holiday
participant calendar en Participant
participants calendar en Participants
participates calendar en Participates
password for not loged in users to your freebusy information? calendar en Password for not loged in users to your freebusy information?
people holiday calendar en people holiday
permission denied calendar en Permission denied
planner calendar en Planner
@ -222,6 +232,7 @@ set a year only for one-time / non-regular holidays. calendar en Set a Year only
set new events to private calendar en Set new events to private
should invitations you rejected still be shown in your calendar ?<br>you can only accept them later (eg. when your scheduling conflict is removed), if they are still shown in your calendar! calendar en Should invitations you rejected still be shown in your calendar ?<br>You can only accept them later (eg. when your scheduling conflict is removed), if they are still shown in your calendar!
should new events created as private by default ? calendar en Should new events created as private by default ?
should not loged in persons be able to see your freebusy information? you can set an extra password, different from your normal password, to protect this informations. the freebusy information is in ical format and only include the times when you are busy. it does not include the event-name, description or locations. the url to your freebusy information is %1. calendar en Should not loged in persons be able to see your freebusy information? You can set an extra password, different from your normal password, to protect this informations. The freebusy information is in iCal format and only include the times when you are busy. It does not include the event-name, description or locations. The URL to your freebusy information is %1.
should the mini calendars by printed / displayed in the printer friendly views ? calendar en Should the mini calendars by printed / displayed in the printer friendly views ?
should the printer friendly view be in black & white or in color (as in normal view)? calendar en Should the printer friendly view be in black & white or in color (as in normal view)?
should the status of the event-participants (accept, reject, ...) be shown in brakets after each participants name ? calendar en Should the status of the event-participants (accept, reject, ...) be shown in brakets after each participants name ?
@ -248,6 +259,7 @@ test import (show importable records <u>only</u> in browser) calendar en Test Im
text calendar en Text
th calendar en T
the following conflicts with the suggested time:<ul>%1</ul> calendar en The following conflicts with the suggested time:<ul>%1</ul>
the freebusy information for user '%1' is not availible to not loged in users !!! calendar en The freebusy information for user '%1' is not availible to not loged in users !!!
the user %1 is not participating in this event! calendar en The user %1 is not participating in this event!
there was an error trying to connect to your news server.<br>please contact your admin to check the news servername, username or password. calendar en There was an error trying to connect to your news server.<br>Please contact your admin to check the news servername, username or password.
this day is shown as first day in the week or month view. calendar en This day is shown as first day in the week or month view.
@ -275,6 +287,7 @@ today calendar en Today
translation calendar en Translation
tu calendar en T
tue calendar en Tue
unknow user '%1' !!! calendar en Unknow user '%1' !!!
update a single entry by passing the fields. calendar en Update a single entry by passing the fields.
updated calendar en Updated
use end date calendar en Use End date
@ -291,6 +304,7 @@ which of calendar view do you want to see, when you start calendar ? calendar en
work day ends on calendar en Work day ends on
work day starts on calendar en Work day starts on
workdayends calendar en workdayends
wrong password for user '%1' !!! calendar en Wrong password for user '%1' !!!
yearly calendar en Yearly
yearview calendar en Year View
you can either set a year or a occurence, not both !!! calendar en You can either set a Year or a Occurence, not both !!!

View File

@ -52,5 +52,5 @@
/* Dependencies for this app to work */
$setup_info['calendar']['depends'][] = array(
'appname' => 'phpgwapi',
'versions' => Array('0.9.14','0.9.15','0.9.16')
'versions' => Array('0.9.14','0.9.15','0.9.16','1.0.00')
);