make the phpgw Version-0_9_16-branch HEAD

This commit is contained in:
Ralf Becker 2003-08-28 14:31:11 +00:00
parent f76c6eedd7
commit b8557e49d9
984 changed files with 23863 additions and 36043 deletions

View File

@ -1,6 +0,0 @@
phpgroupware-calendar (0.9.14-0.RC3.3) unstable; urgency=low
* New release.
- Source is now splitted into modules.
-- Luca - De Whiskey's - De Vitis <luca@debian.org> Mon, 21 May 2001 15:00:56 +0200

View File

@ -1,15 +0,0 @@
Source: phpgroupware-calendar
Section: web
Priority: optional
Maintainer: Luca - De Whiskey's - De Vitis <luca@debian.org>
Build-Depends: debhelper (>> 3.0.0)
Standards-Version: 3.5.2
Package: phpgroupware-calendar
Section: web
Architecture: all
Depends: phpgroupware (>= ${Source-Version}), php3-pgsql | php3-cgi-pgsql | php4-pgsql | php3-mysql | php3-cgi-mysql | php4-mysql
Description: The phpGroupWare calendar management module
This phpGroupWare module provides a calendar scheduling module with
alerts for high priority events.

View File

@ -1,15 +0,0 @@
This package was debianized by Luca - De Whiskey's - De Vitis <luca@debian.org> on
Sat, 29 Jun 2002 17:13:40 +0200
It was downloaded from the CVS repository at subversion.gnu.org. Try:
prompt$ CVSROOT=:pserver:anoncvs@subversions.gnu.org:/cvsroot/phpgroupware
prompt$ CVS_RSH=ssh
prompt$ cvs login
prompt$ cvs get all packages
Upstream Author(s):
Please, see credits.txt, the README file or visit http://apps.phpgroupware.org/
Copyright:
A copy of the GNU General Public License, version 2, can be found in
/usr/share/common-licenses/GPL .

View File

@ -1,74 +0,0 @@
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 by Joey Hess.
#
# This version is for a hypothetical package that builds an
# architecture-dependant package, as well as an architecture-independent
# package.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This is the debhelper compatability version to use.
export DH_COMPAT=3
APP = calendar
PACKAGE = debian/phpgroupware-$(APP)/usr/share/phpgroupware/$(APP)
PACKAGEDOC = debian/phpgroupware-$(APP)/usr/share/doc/phpgroupware-$(APP)
COPYRIGHT = -iname copyright\* -or -iname license
CHANGELOG = -iname change\*
INSTALL = -iname install
FINDOPT = -type f -not \( -path \*CVS\* -or -path \*debian\* -or -name .cvsignore \)
SPECIAL = -size 0 -or $(INSTALL) -or $(CHANGELOG) -or $(COPYRIGHT) -or -name \*.sgml
STAMPS = -name configure-stamp -or -name build-stamp
APPFILES = -not \( -path \*doc\* -or -path \. -or -name '*.pl' -or -name '*.py' -or $(STAMPS) \)
DOCFILES = -not \( $(SPECIAL) \)
configure: configure-stamp
configure-stamp:
dh_testdir
# No configuration needed.
touch configure-stamp
build: configure-stamp build-stamp
build-stamp:
dh_testdir
# Here should go the commands necessary to build the sgml documentation...
touch build-stamp
clean:
dh_testdir
rm -f build-stamp configure-stamp
rm -f debian/.builded
rm -f debian/files
# Here should go the commands to clean the builded sgml documents.
dh_clean
install: build
dh_testdir
# Install $(APP) files in $(PACKAGE)
find $(FINDOPT) $(APPFILES) \
-exec install -D --mode=644 {} $(PACKAGE)/{} \;
# Install $(APP) doc files in $(PACKAGEDOC)
cd doc ;\
find $(FINDOPT) $(DOCFILES) \
-exec install -D --mode=644 {} ../$(PACKAGEDOC)/{} \;
binary-indep: build install
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb | tee debian/.builded
binary: binary-indep
.PHONY: build clean binary-indep binary-arch binary install configure

50
calendar/help/DE/add.php Normal file
View File

@ -0,0 +1,50 @@
<?php
/**************************************************************************\
* phpGroupWare - User manual *
* http://www.phpgroupware.org *
* -------------------------------------------- *
* 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$ */
$phpgw_flags = Array(
'currentapp' => 'manual'
);
$phpgw_info['flags'] = $phpgw_flags;
include('../../../header.inc.php');
$font = $phpgw_info['theme']['font'];
?> <img src="<?php echo $phpgw->common->image('calendar','navbar.gif'); ?>" border="0">
<font face="<?php echo $font; ?>" size="2">
<p/>&nbsp;&nbsp;&nbsp;&nbsp; Ein durchsuchbares t&auml;gliches, w&ouml;chentliches, monatliches
und j&auml;hrliches Kalender/Planer-Programm mit Alarm f&uuml;r wichtige Ereignisse.<br/>
<ul>
<li><b>Einen Eintrag hinzuf&uuml;gen:</b> <img src="<?php echo $phpgw->common->image('calendar','new.gif'); ?>"><br/>
Um eine Eintragung f&uuml;r sich selber oder f&uuml;r ihre Gruppe hinzuzuf&uuml;gen
klicken Sie auf das kleine Symbol (+) wie das oben. Eine Formularseite wird
angezeigt, auf der Sie die wichtigen Felder ausf&uuml;llen k&ouml;nnen.</li>
<p/>&nbsp;&nbsp;&nbsp;&nbsp;
<table width="80%">
<td bgcolor="#ccddeb" width="50%" valign="top"> <font face="<?php echo $font ?>" size="2">
Titel:<br/>
Vollst&auml;ndige Beschreibung:<br/>
Datum:<br/>
Zeit:<br/>
Dauer:<br/>
Priorit&auml;t:<br/>
Zugriff:</td>
<td bgcolor="#ccddeb" width="50%" valign="top"> <font face="<?php echo $font; ?>" size="2">
Gruppen Auswahl:<br/>
Teilnehmer;<br/>
Wiederholungstyp:<br/>
Wiederholungs-Enddatum:<br/> Intervall:<font size="2" face="<?php echo $font; ?>">&nbsp;</font>:</td>
</table>
F&uuml;llen Sie die Felder aus und klicken Sie absenden.
</ul>
<br/>
<b>Wichtig:</b> Der Zugriff kann, wie mit anderen Programmen dieses Paketes, auf
Privat, Gruppen lesbar oder global eingestellt werden.
<p/>&nbsp;&nbsp;&nbsp;&nbsp;</font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -0,0 +1,73 @@
<?php
/**************************************************************************\
* phpGroupWare - User manual *
* http://www.phpgroupware.org *
* -------------------------------------------- *
* 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$ */
$phpgw_flags = Array(
'currentapp' => 'manual'
);
$phpgw_info['flags'] = $phpgw_flags;
include('../../../header.inc.php');
$font = $phpgw_info['theme']['font'];
?>
<img src="<?php echo $phpgw->common->image('calendar','navbar.gif'); ?>" border="0">
<font face="<?php echo $font; ?>" size="2"><p/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ein durchsuchbares
t&auml;gliches, w&ouml;chentliches, monatliches und j&auml;hrliches Kalender/Planer-Programm
mit Alarm f&uuml;r wichtige Ereignisse.<br/>
Um entweder den St&uuml;ndlich/T&auml;glichen, w&ouml;chentlichen oder monatlichen
Kalender zu sehen, klicken Sie auf das Betreffende Symbol in der linken oberen
Ecke.<br/>
<ul><li><b>Ansicht:</b><img src="<?php echo $phpgw->common->image('calendar','today.gif'); ?>">Tag <img src="<?php echo $phpgw->common->image('calendar','week.gif'); ?>">Woche <img src="<?php echo $phpgw->common->image('calendar','month.gif'); ?>">Monat <img src="<?php echo $phpgw->common->image('calendar','year.gif'); ?>">Jahr<br/>
<i>Tag:</i><br/>
Der heutige Tag wird angezeigt, aufgeteilt in st&uuml;ndliche Bl&ouml;cke.
Anfangs und End-Zeit des Tages können in den Prefrences (Einstellungen, Optionen)
eingestellt werden.<br/>
<i>Woche:</i><br/>
Die aktuelle Woche wird angezeigt. Der Wochenanfangstag kann in den Prefrences (Optionen) eingestellt werden.<br/>
<i>Monat:</i><br/>
Der vor eingestellter Eintrag ist der aktuelle Monat. Der vorherige oder künftige
Monat sind leicht erreichbar mit nur einem klick.<br/>
<i>Jahr:</i><br/>
Das laufende Jahr wird angezeigt. Es werden die kleinen monatlichen Kalender
ansichten benutzt.</li>
<p/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<li><b>Eine Eintragung hinzuf&uuml;gen:</b> <img src="<?php echo $phpgw->common->image('calendar','new.gif'); ?>"><br/>
Um eine Eintragung für sich selber oder für Mitglieder Ihrer Gruppe hinzuzufügen
klicken Sie auf das kleine (+) Symbol wie oben gezeigt. Eine Formularseite
wird angezeigt, auf der Sie dann die relevanten Felder ausf&uuml;llen k&ouml;nnen.
<table width="80%">
<td bgcolor="#ccddeb" width="50%" valign="top">
<font face="<?php echo $font; ?>" size="2">
Titel:<br/>
Vollst&auml;ndige Beschreibung:<br/>
Datum:<br/>
Zeit:<br/>
Dauer:<br/>
Priorit&auml;t:<br/>
Zugriff:</td>
<td bgcolor="#ccddeb" width="50%" valign="top">
<font face="<?php echo $font; ?>" size="2">
Gruppen Auswahl:<br/>
Teilnehmer;<br/>
Wiederholungstyp:<br/>
Wiederholungs-Enddatum:<br/>
Intervall:</td></table>
F&uuml;llen Sie die Felder aus und klicken Sie absenden.<br/>
<b>Wichtig:</b> Der Zugriff kann, wie mit anderen Programmen dieses Pakets,
auf privat, Gruppen und global eingestellt werden.</li>
<p/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<li><b>Bearbeiten:L&ouml;schen</b>&nbsp&nbsp<img src="<?php echo $phpgw->common->image('calendar','circle.gif'); ?>"><br/>
Um eine Eintragung zu bearbeiten oder zu l&ouml;schen, klicken Sie auf das kleine Symbol wie oben gezeigt.
W&auml;hlen Sie bearbeiten oder löschen aus.<br/>
Wenn Sie Bearbeiten w&auml;hlen wird ihnen eine Formular seite angezeigt,
worauf Sie die gewünschten Felder bearbeiten können. <br/>
<b>Wichtig:</b>Sie können nur Eintragungen die Sie selber gemacht haben bearbeiten oder löschen.</li><p/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</ul></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -0,0 +1,30 @@
<?php
/**************************************************************************\
* phpGroupWare - User manual *
* http://www.phpgroupware.org *
* -------------------------------------------- *
* 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$ */
$phpgw_flags = Array(
'currentapp' => 'manual'
);
$phpgw_info['flags'] = $phpgw_flags;
include('../../../header.inc.php');
?>
<img src="<?php echo $phpgw->common->image('calendar','navbar.gif'); ?>" border="0">
<font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2"><p/>&nbsp;&nbsp; Ein
durchsuchbares t&auml;gliches, w&ouml;chentliches, monatliches und j&auml;hrliches
Kalender/Planer-Programm mit Alarm f&uuml;r wichtige Ereignisse.<br/>
<ul><li><b>Bearbeiten:L&ouml;schen</b>&nbsp&nbsp<img src="<?php echo $phpgw->common->image('calendar','circle.gif'); ?>"><br/>
Um eine Eintragung zu bearbeiten oder zu l&ouml;schen, klicken Sie auf das kleine Symbol wie oben gezeigt.
W&auml;hlen Sie bearbeiten oder löschen aus.<br/>
Wenn Sie Bearbeiten w&auml;hlen wird ihnen eine Formular seite angezeigt,
worauf Sie die gewünschten Felder bearbeiten können. </li><p/>&nbsp;&nbsp;
<b>Wichtig:</b>Sie k&ouml;nnen nur Eintragungen die Sie selber gemacht haben bearbeiten oder l&ouml;schen.<p/>&nbsp;&nbsp;</ul></font>
<?php $phpgw->common->phpgw_footer(); ?>

45
calendar/help/DE/view.php Normal file
View File

@ -0,0 +1,45 @@
<?php
/**************************************************************************\
* phpGroupWare - User manual *
* http://www.phpgroupware.org *
* -------------------------------------------- *
* 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$ */
$phpgw_flags = Array(
'currentapp' => 'manual'
);
$phpgw_info['flags'] = $phpgw_flags;
include('../../../header.inc.php');
?> <img src="<?php echo $phpgw->common->image('calendar','navbar.gif'); ?>" border="0">
<font face="<?php echo $phpgw_info['theme']['font']; ?>" size="2">
<p/>&nbsp;&nbsp;&nbsp; Ein durchsuchbares t&auml;gliches, w&ouml;chentliches, monatliches
und j&auml;hrliches Kalender/Planer-Programm mit Alarm f&uuml;r wichtige Ereignisse.<br/>
Um entweder den St&uuml;ndlich/T&auml;glichen, w&ouml;chentlichen oder monatlichen
Kalender zu sehen, klicken Sie auf das Betreffende Symbol in der linken oberen
Ecke.<br/>
<ul>
<li><b>Ansicht:</b><img src="<?php echo $phpgw->common->image('calendar','today.gif'); ?>">Tag
<img src="<?php echo $phpgw->common->image('calendar','week.gif'); ?>">Woche
<img src="<?php echo $phpgw->common->image('calendar','month.gif'); ?>">Monat
<img src="<?php echo $phpgw->common->image('calendar','year.gif'); ?>">Jahr
<p/>&nbsp;&nbsp;&nbsp; <i>Tag:</i><br/>
Der heutige Tag wird angezeigt, aufgeteilt in st&uuml;ndliche Bl&ouml;cke.
Anfangs und End-Zeit des Tages k&ouml;nnen in den Prefrences (Einstellungen,
Optionen) eingestellt werden.
<p/>&nbsp;&nbsp;&nbsp; <i>Woche:</i><br/>
Die aktuelle Woche wird angezeigt. Der Wochenanfangstag kann in den Prefrences
(Optionen) eingestellt werden.
<p/>&nbsp;&nbsp;&nbsp; <i>Monat:</i><br/>
Der vor eingestellter Eintrag ist der aktuelle Monat. Der vorherige oder k&uuml;nftige
<br>
Monat sind leicht erreichbar mit nur einem klick.
<p/>&nbsp;&nbsp;&nbsp;</li>
</ul>
</font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -43,3 +43,4 @@ Frequency:</td></table>
Simply fill in the fields, and click Submit.</ul><br/> Simply fill in the fields, and click Submit.</ul><br/>
<b>Note:</b> Access can be set as with other applications in this suite, Private,Group Readable,Globally <b>Note:</b> Access can be set as with other applications in this suite, Private,Group Readable,Globally
Readable.<p/></font> Readable.<p/></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -61,3 +61,4 @@ To edit an entry group click on the small icon as shown above.
A form page will be presented, where you can edit the relevant fields. A form page will be presented, where you can edit the relevant fields.
Chose edit or delete from the bottom of the page.<br/> Chose edit or delete from the bottom of the page.<br/>
<b>Note:</b>You can only make changes or delete those calendar entries created by you.</li><p/></ul></font> <b>Note:</b>You can only make changes or delete those calendar entries created by you.</li><p/></ul></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -25,3 +25,4 @@ To edit an entry group click on the small icon as shown above.
A form page will be presented, where you can edit the relevant fields. A form page will be presented, where you can edit the relevant fields.
Chose edit or delete from the bottom of the page.</li><p/> Chose edit or delete from the bottom of the page.</li><p/>
<b>Note:</b>You can only make changes or delete those calendar entries created by you.<p/></ul></font> <b>Note:</b>You can only make changes or delete those calendar entries created by you.<p/></ul></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -31,3 +31,4 @@ Current week is displayed. Start day of week can be set in preferences.<p/>
<i>Month:</i><br/> <i>Month:</i><br/>
Default entry is to the current month, viewed in monthly option, with both prior and future Default entry is to the current month, viewed in monthly option, with both prior and future
months easily accessible with one click.<p/></li></ul></font> months easily accessible with one click.<p/></li></ul></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -46,3 +46,4 @@ T
<b>Huomaa:</b> <b>Huomaa:</b>
Kuten muidenkin sovellusten kohdalla, voit antaa tiedon Kuten muidenkin sovellusten kohdalla, voit antaa tiedon
käyttöoikeudeksi Yksityinen, Oma ryhmä tai Kaikki.<p/></font> käyttöoikeudeksi Yksityinen, Oma ryhmä tai Kaikki.<p/></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -66,3 +66,4 @@ Muokataksesi tapahtumaa napsauta t
Näytölle avautuu muokkauslomake. Näytölle avautuu muokkauslomake.
Valitse muokkaa tai poista sivun alareunasta.<br/> Valitse muokkaa tai poista sivun alareunasta.<br/>
<b>Huomaa:</b>Voit muokata ja poistaa vain itse luomiasi tapahtumia.</li><p/></ul></font> <b>Huomaa:</b>Voit muokata ja poistaa vain itse luomiasi tapahtumia.</li><p/></ul></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -26,3 +26,4 @@ Muokataksesi tapahtumaa napsauta t
Näytölle avautuu muokkauslomake. Näytölle avautuu muokkauslomake.
Valitse muokkaa tai poista sivun alareunasta.</li><p/> Valitse muokkaa tai poista sivun alareunasta.</li><p/>
<b>Huomaa:</b>Voit muokata ja poistaa vain itse luomiasi tapahtumia.<p/></ul></font> <b>Huomaa:</b>Voit muokata ja poistaa vain itse luomiasi tapahtumia.<p/></ul></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -34,3 +34,4 @@ asetuksista.<br/>
<i>Kuukausi:</i><br/> <i>Kuukausi:</i><br/>
Valittu kuukausi sekä edellinen ja seuraava kuukausi mini-kalentereina. Valittu kuukausi sekä edellinen ja seuraava kuukausi mini-kalentereina.
Voit siirtyä päivänäkymään haluamaasi päivää napsauttamalla.<p/></li></ul></font> Voit siirtyä päivänäkymään haluamaasi päivää napsauttamalla.<p/></li></ul></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -9,7 +9,7 @@
* option) any later version. * * option) any later version. *
\**************************************************************************/ \**************************************************************************/
/* $Id: add.php,v 1.1 2001/05/11 02:50:44 skeeter Exp $ */ /* $Id$ */
$phpgw_flags = Array( $phpgw_flags = Array(
'currentapp' => 'manual' 'currentapp' => 'manual'
); );
@ -42,3 +42,4 @@
頻度:</td></table> 頻度:</td></table>
などの項目を入力し、実行ボタンをクリックします。<br/> などの項目を入力し、実行ボタンをクリックします。<br/>
<b>備考:</b> 他のアプリケーションで備えているアクセス権(プライベート、グループ、グローバル)も、このアプリケーションで備えています。</li></ul><p/></font> <b>備考:</b> 他のアプリケーションで備えているアクセス権(プライベート、グループ、グローバル)も、このアプリケーションで備えています。</li></ul><p/></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -9,7 +9,7 @@
* option) any later version. * * option) any later version. *
\**************************************************************************/ \**************************************************************************/
/* $Id: calendar.php,v 1.1 2001/05/11 02:50:44 skeeter Exp $ */ /* $Id$ */
$phpgw_flags = Array( $phpgw_flags = Array(
'currentapp' => 'manual' 'currentapp' => 'manual'
@ -57,3 +57,4 @@
予定を訂正するために、このアイコンをクリックします。 予定を訂正するために、このアイコンをクリックします。
訂正する予定が表示され、訂正か削除を選択するボタンが表示されます。<br/> 訂正する予定が表示され、訂正か削除を選択するボタンが表示されます。<br/>
<b>備考:</b>訂正や削除は、自分で作成したものに限ります。</li><p/></ul></font> <b>備考:</b>訂正や削除は、自分で作成したものに限ります。</li><p/></ul></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -9,7 +9,7 @@
* option) any later version. * * option) any later version. *
\**************************************************************************/ \**************************************************************************/
/* $Id: edit_delete.php,v 1.1 2001/05/11 02:50:44 skeeter Exp $ */ /* $Id$ */
$phpgw_flags = Array( $phpgw_flags = Array(
'currentapp' => 'manual' 'currentapp' => 'manual'
@ -24,3 +24,4 @@
予定を訂正するために、このアイコンをクリックします。 予定を訂正するために、このアイコンをクリックします。
訂正する予定が表示され、訂正か削除を選択するボタンが表示されます。<br/> 訂正する予定が表示され、訂正か削除を選択するボタンが表示されます。<br/>
<b>備考:</b>訂正や削除は、自分で作成したものに限ります。</li><p/></ul></font> <b>備考:</b>訂正や削除は、自分で作成したものに限ります。</li><p/></ul></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -9,7 +9,7 @@
* option) any later version. * * option) any later version. *
\**************************************************************************/ \**************************************************************************/
/* $Id: view.php,v 1.2 2001/05/11 03:00:00 skeeter Exp $ */ /* $Id$ */
$phpgw_flags = Array( $phpgw_flags = Array(
'currentapp' => 'manual' 'currentapp' => 'manual'
@ -30,3 +30,4 @@
月単位で予定を表示します。月の表示はデフォルト設定となっています。先月や翌月にワンクリックでアクセスすることができます。<br/> 月単位で予定を表示します。月の表示はデフォルト設定となっています。先月や翌月にワンクリックでアクセスすることができます。<br/>
<i>今年:</i><br/> <i>今年:</i><br/>
年単位で予定を表示します。小さい月単位のカレンダーを一年分表示します。<p/></li></ul></font> 年単位で予定を表示します。小さい月単位のカレンダーを一年分表示します。<p/></li></ul></font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -25,3 +25,4 @@ Version: <b><?php echo $setup_info[$appname]['version']; ?></b><p/>
This app was based on <a href="http://webcalendar.sourceforge.net" target="_new">WebCalendar</a><br/><p/> This app was based on <a href="http://webcalendar.sourceforge.net" target="_new">WebCalendar</a><br/><p/>
Transformed by <a href="<?php echo $phpgw->link('/email/compose.php','to=skeeter@phpgroupware.org'); ?>" target="_new">Mark A Peters (Skeeter)</a><br/> Transformed by <a href="<?php echo $phpgw->link('/email/compose.php','to=skeeter@phpgroupware.org'); ?>" target="_new">Mark A Peters (Skeeter)</a><br/>
</font> </font>
<?php $phpgw->common->phpgw_footer(); ?>

View File

@ -14,6 +14,10 @@
/* $Id$ */ /* $Id$ */
define('PHPGW_ACL_DELETEALARM',PHPGW_ACL_DELETE); // for now
define('PHPGW_ACL_SETALARM',PHPGW_ACL_WRITE);
define('PHPGW_ACL_READALARM',PHPGW_ACL_READ);
class boalarm class boalarm
{ {
var $so; var $so;
@ -26,46 +30,180 @@
// var $debug = True; // var $debug = True;
var $public_functions = array( var $public_functions = array(
'add' => True,
'delete' => True
); );
function boalarm() function boalarm()
{ {
$cal_id = (isset($GLOBALS['HTTP_POST_VARS']['cal_id'])?intval($GLOBALS['HTTP_POST_VARS']['cal_id']):''); $cal_id = (isset($_POST['cal_id'])?intval($_POST['cal_id']):'');
if($cal_id) if($cal_id)
{ {
$this->cal_id = $cal_id; $this->cal_id = $cal_id;
} }
$this->cal = CreateObject('calendar.bocalendar',1); $this->bo = CreateObject('calendar.bocalendar',1);
$this->tz_offset = $this->cal->datetime->tz_offset; $this->so = CreateObject('calendar.socalendar',1);
$this->tz_offset = $this->bo->datetime->tz_offset;
if($this->debug) if($this->debug)
{ {
echo "BO Owner : ".$this->cal->owner."<br>\n"; echo "BO Owner : ".$this->bo->owner."<br>\n";
} }
if($this->cal->use_session) if($this->bo->use_session)
{ {
$this->save_sessiondata(); $this->save_sessiondata();
} }
} }
function save_sessiondata() function save_sessiondata()
{ {
$data = array( $data = array(
'filter' => $this->cal->filter, 'filter' => $this->bo->filter,
'cat_id' => $this->cal->cat_id, 'cat_id' => $this->bo->cat_id,
'owner' => $this->cal->owner, 'owner' => $this->bo->owner,
'year' => $this->cal->year, 'year' => $this->bo->year,
'month' => $this->cal->month, 'month' => $this->bo->month,
'day' => $this->cal->day 'day' => $this->bo->day
); );
$this->cal->save_sessiondata($data); $this->bo->save_sessiondata($data);
} }
function read_entry($cal_id) function read_entry($cal_id)
{ {
return $this->cal->read_entry($cal_id); return $this->bo->read_entry(intval($cal_id));
}
/*!
@function add
@abstract adds a new alarm to an event
@syntax add(&$event,$time,$login_id)
@param &$event event to add the alarm too
@param $time for the alarm in sec before the starttime of the event
@param $login_id user to alarm
@returns the alarm or False
*/
function add(&$event,$time,$owner)
{
if (!$this->check_perms(PHPGW_ACL_SETALARM,$owner) || !($cal_id = $event['id']))
{
return False;
}
$alarm = Array(
'time' => ($etime=$this->bo->maketime($event['start'])) - $time,
'offset' => $time,
'owner' => $owner,
'enabled' => 1
);
$alarm['id'] = $this->so->save_alarm($cal_id,$alarm);
$event['alarm'][$alarm['id']] = $alarm;
return $alarm;
}
/*!
@function check_perms
@abstract checks if user has a certain grant from the owner of an alarm or event
@syntax check_perms($grant,$owner)
@param $grant PHPGW_ACL_{SET|READ|DELETE}ALARM (defined at the top of this file)
*/
function check_perms($grant,$owner)
{
return $this->bo->check_perms($grant,0,$owner);
}
/*!
@function participants
@abstract get the participants of an event, the user has grants to alarm
@syntax participants($event,$fullnames=True)
@param $event or cal_id of an event
@param $fullnames if true return array with fullnames as values
@returns array with account_ids as keys
*/
function participants($event,$fullnames=True)
{
if (!is_array($event))
{
$event = $this->read_entry($event);
}
if (!$event)
{
return False;
}
$participants = array();
foreach ($event['participants'] as $uid => $status)
{
if ($this->check_perms(PHPGW_ACL_SETALARM,$uid))
{
$participants[$uid] = $fullnames ? $GLOBALS['phpgw']->common->grab_owner_name($uid) : True;
}
}
return $participants;
}
/*!
@function enable
@abstract enable or disable one or more alarms identified by its ids
@syntax enable($ids,$enable=True)
@param $ids array with alarm ids as keys (!)
@returns the number of alarms enabled or -1 for insuficent permission to do so
@note Not found alarms or insuficent perms stop the enableing of multiple alarms
*/
function enable($alarms,$enable=True)
{
$enabled = 0;
foreach ($alarms as $id => $field)
{
if (!($alarm = $this->so->read_alarm($id)))
{
return 0; // alarm not found
}
if (!$alarm['enabled'] == !$enable)
{
continue; // nothing to do
}
if ($enable && !$this->check_perms(PHPGW_ACL_SETALARM,$alarm['owner']) ||
!$enable && !$this->check_perms(PHPGW_ACL_DELETEALARM,$alarm['owner']))
{
return -1;
}
$alarm['enabled'] = intval(!$alarm['enabled']);
if ($this->so->save_alarm($alarm['cal_id'],$alarm))
{
++$enabled;
}
}
return $enabled;
}
/*!
@function delete
@abstract delete one or more alarms identified by its ids
@syntax delete($ids)
@param $ids array with alarm ids as keys (!)
@returns the number of alarms deleted or -1 for insuficent permission to do so
@note Not found alarms or insuficent perms stop the deleting of multiple alarms
*/
function delete($alarms)
{
$deleted = 0;
foreach ($alarms as $id => $field)
{
if (!($alarm = $this->so->read_alarm($id)))
{
return 0; // alarm not found
}
if (!$this->check_perms(PHPGW_ACL_DELETEALARM,$alarm['owner']))
{
return -1;
}
if ($this->so->delete_alarm($id))
{
++$deleted;
}
}
return $deleted;
} }
/* Public functions */
} }
?>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,97 @@
<?php
/**************************************************************************\
* phpGroupWare - Calendar - Custom fields and sorting *
* http://www.phpgroupware.org *
* Written by Ralf Becker <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$ */
class bocustom_fields
{
var $stock_fields = array(
'title' => array(
'label' => 'Title',
'title' => True
),
'description' => 'Description',
'category' => 'Category',
'location' => 'Location',
'startdate' => 'Start Date/Time',
'enddate' => 'End Date/Time',
'priority' => 'Priority',
'access' => 'Access',
'participants'=> 'Participants',
'owner' => 'Created By',
'updated' => 'Updated',
'alarm' => 'Alarm',
'recure_type' => 'Repetition'
);
function bocustom_fields()
{
$this->config = CreateObject('phpgwapi.config','calendar');
$this->config->read_repository();
$this->fields = &$this->config->config_data['fields'];
if (!is_array($this->fields)) {
$this->fields = array();
}
foreach ($this->fields as $field => $data) // this can be removed after a while
{
if (!isset($this->stock_fields[$field]) && $field[0] != '#')
{
unset($this->fields[$field]);
$this->fields['#'.$field] = $data;
}
}
foreach($this->stock_fields as $field => $data)
{
if (!is_array($data))
{
$data = array('label' => $data);
}
if (!isset($this->fields[$field]))
{
$this->fields[$field] = array(
'name' => $field,
'title' => $data['title'],
'disabled' => $data['disabled']
);
}
$this->fields[$field]['label'] = $data['label'];
$this->fields[$field]['length'] = $data['length'];
$this->fields[$field]['shown'] = $data['shown'];
}
}
function set($data)
{
if (is_array($data) && strlen($data['name']) > 0)
{
if (!isset($this->stock_fields[$name = $data['name']]))
{
$name = '#'.$name;
}
$this->fields[$name] = $data;
}
}
function save($fields=False)
{
if ($fields)
{
$this->fields = $fields;
}
//echo "<pre>"; print_r($this->config->config_data); echo "</pre>\n";
$this->config->save_repository();
}
}

View File

@ -48,8 +48,6 @@
{ {
$this->so = CreateObject('calendar.soholiday'); $this->so = CreateObject('calendar.soholiday');
if(isset($GLOBALS['locale'])) { $this->locales[] = $GLOBALS['locale']; }
if(isset($GLOBALS['start'])) { $this->start = intval($GLOBALS['start']); } else { $this->start = 0; } if(isset($GLOBALS['start'])) { $this->start = intval($GLOBALS['start']); } else { $this->start = 0; }
if(isset($GLOBALS['query'])) { $this->query = $GLOBALS['query']; } if(isset($GLOBALS['query'])) { $this->query = $GLOBALS['query']; }
@ -58,9 +56,13 @@
if(isset($GLOBALS['order'])) { $this->order = $GLOBALS['order']; } if(isset($GLOBALS['order'])) { $this->order = $GLOBALS['order']; }
if(isset($GLOBALS['id'])) { $this->id = $GLOBALS['id']; } $this->id = get_var('id',array('POST','GET'));
$this->year = get_var('year',array('POST','GET'),date('Y'));
if(isset($GLOBALS['year'])) { $this->year = $GLOBALS['year']; } else { $this->year = date('Y'); } $this->locale = get_var('locale',array('POST','GET'));
if ($this->locale)
{
$this->locales[] = $this->locale;
}
if($this->debug) if($this->debug)
{ {
@ -176,8 +178,7 @@
function prepare_read_holidays($year=0,$owner=0) function prepare_read_holidays($year=0,$owner=0)
{ {
$datetime = CreateObject('phpgwapi.datetime'); $this->year = (isset($year) && $year > 0?$year:$GLOBALS['phpgw']->common->show_date(time() - $GLOBALS['phpgw']->datetime->tz_offset,'Y'));
$this->year = (isset($year) && $year > 0?$year:$GLOBALS['phpgw']->common->show_date(time() - $datetime->tz_offset,'Y'));
$this->owner = ($owner?$owner:$GLOBALS['phpgw_info']['user']['account_id']); $this->owner = ($owner?$owner:$GLOBALS['phpgw_info']['user']['account_id']);
if($this->debug) if($this->debug)
@ -393,7 +394,6 @@
} }
$temp_locale = $GLOBALS['phpgw_info']['user']['preferences']['common']['country']; $temp_locale = $GLOBALS['phpgw_info']['user']['preferences']['common']['country'];
$datetime = CreateObject('phpgwapi.datetime');
for($i=0;$i<count($holidays);$i++) for($i=0;$i<count($holidays);$i++)
{ {
$c = $i; $c = $i;
@ -406,14 +406,13 @@
$GLOBALS['phpgw_info']['user']['preferences']['common']['country'] = $holidays[$i]['locale']; $GLOBALS['phpgw_info']['user']['preferences']['common']['country'] = $holidays[$i]['locale'];
$holidaycalc = CreateObject('calendar.holidaycalc'); $holidaycalc = CreateObject('calendar.holidaycalc');
} }
$holidays[$i]['date'] = $holidaycalc->calculate_date($holidays[$i], $holidays, $this->year, $datetime, $c); $holidays[$i]['date'] = $holidaycalc->calculate_date($holidays[$i], $holidays, $this->year, $c);
if($c != $i) if($c != $i)
{ {
$i = $c; $i = $c;
} }
} }
unset($holidaycalc); unset($holidaycalc);
unset($datetime);
$this->holidays = $this->sort_holidays_by_date($holidays); $this->holidays = $this->sort_holidays_by_date($holidays);
$this->cached_holidays = $this->set_holidays_to_date($this->holidays); $this->cached_holidays = $this->set_holidays_to_date($this->holidays);
$GLOBALS['phpgw_info']['user']['preferences']['common']['country'] = $temp_locale; $GLOBALS['phpgw_info']['user']['preferences']['common']['country'] = $temp_locale;

View File

@ -97,6 +97,7 @@ class boicalendar
var $parameter = Array(); var $parameter = Array();
var $debug_str = False; var $debug_str = False;
var $api = True; var $api = True;
var $chunk_split = True;
/* /*
* Base Functions * Base Functions
@ -1253,7 +1254,7 @@ class boicalendar
); );
if(!is_object($GLOBALS['phpgw']->datetime)) if(!is_object($GLOBALS['phpgw']->datetime))
{ {
$GLOBALS['phpgw']->datetime = createobject('phpgwaqpi.datetime'); $GLOBALS['phpgw']->datetime = createobject('phpgwapi.datetime');
} }
} }
@ -1293,12 +1294,12 @@ class boicalendar
function fold($str) function fold($str)
{ {
return chunk_split($str,FOLD_LENGTH,"\r\n"); return $this->chunk_split==True ? chunk_split($str,FOLD_LENGTH,"\r\n") : $str."\r\n";
} }
function strip_quotes($str) function strip_quotes($str)
{ {
return str_replace('\"','',$str); return str_replace('"','',$str);
} }
function from_text($str) function from_text($str)
@ -1563,7 +1564,7 @@ class boicalendar
$quote = ''; $quote = '';
if($seperator == '=') if($seperator == '=')
{ {
$quote = '\"'; $quote = '"';
} }
$return_value = $this->fold('X-'.$x_type['name'].$seperator.$quote.$x_type['value'].$quote); $return_value = $this->fold('X-'.$x_type['name'].$seperator.$quote.$x_type['value'].$quote);
@ -1612,7 +1613,7 @@ class boicalendar
$include_datetime = True; $include_datetime = True;
continue; continue;
} }
$quote = (@$this->parameter[$key]['quoted']?'\"':''); $quote = (@$this->parameter[$key]['quoted']?'"':'');
if(isset($event[$key]) && @$this->parameter[$key]['properties'][$property]) if(isset($event[$key]) && @$this->parameter[$key]['properties'][$property])
{ {
$change_text = @$this->parameter[$key]['to_text']; $change_text = @$this->parameter[$key]['to_text'];
@ -1792,7 +1793,7 @@ class boicalendar
case 'function': case 'function':
$str .= ';'.str_replace('_','-',strtoupper($value)).'='; $str .= ';'.str_replace('_','-',strtoupper($value)).'=';
$function = @$this->parameter[$key]['function']; $function = @$this->parameter[$key]['function'];
$str .= (@$this->parameter[$key]['quoted']?'\"':'').$this->$function($event[$key]).(@$this->parameter[$key]['quoted']?'\"':''); $str .= (@$this->parameter[$key]['quoted']?'"':'').$this->$function($event[$key]).(@$this->parameter[$key]['quoted']?'"':'');
break; break;
case 'float': case 'float':
if(!empty($event[$value])) if(!empty($event[$value]))
@ -2274,28 +2275,28 @@ class boicalendar
switch($var) switch($var)
{ {
case 'NEEDS-ACTION': case 'NEEDS-ACTION':
return NEEDS_ACTION; return 0; // NEEDS_ACTION;
break; break;
case 'ACCEPTED': case 'ACCEPTED':
return ACCEPTED; return 1; // ACCEPTED;
break; break;
case 'DECLINED': case 'DECLINED':
return DECLINED; return 2; // DECLINED;
break; break;
case 'TENTATIVE': case 'TENTATIVE':
return TENTATIVE; return 3; // TENTATIVE;
break; break;
case 'DELEGATED': case 'DELEGATED':
return DELEGATED; return 4; // DELEGATED;
break; break;
case 'COMPLETED': case 'COMPLETED':
return COMPLETED; return 5; // COMPLETED;
break; break;
case 'IN-PROCESS': case 'IN-PROCESS':
return IN_PROCESS; return 6; // IN_PROCESS;
break; break;
default: default:
return OTHER; return 99; // OTHER;
break; break;
} }
} }
@ -2303,25 +2304,25 @@ class boicalendar
{ {
switch(intval($var)) switch(intval($var))
{ {
case NEEDS_ACTION: case 0: // NEEDS_ACTION:
return 'NEEDS-ACTION'; return 'NEEDS-ACTION';
break; break;
case ACCEPTED: case 1: // ACCEPTED:
return 'ACCEPTED'; return 'ACCEPTED';
break; break;
case DECLINED: case 2: // DECLINED:
return 'DECLINED'; return 'DECLINED';
break; break;
case TENTATIVE: case 3: // TENTATIVE:
return 'TENTATIVE'; return 'TENTATIVE';
break; break;
case DELEGATED: case 4: // DELEGATED:
return 'DELEGATED'; return 'DELEGATED';
break; break;
case COMPLETED: case 5: // COMPLETED:
return 'COMPLETED'; return 'COMPLETED';
break; break;
case IN_PROCESS: case 6: // IN_PROCESS:
return 'IN-PROCESS'; return 'IN-PROCESS';
break; break;
default: default:
@ -2903,8 +2904,7 @@ class boicalendar
) )
) )
); );
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True; $GLOBALS['phpwg']->common->phpgw_exit();
exit;
} }
$uploaddir = $GLOBALS['phpgw_info']['server']['temp_dir'] . SEP; $uploaddir = $GLOBALS['phpgw_info']['server']['temp_dir'] . SEP;
@ -2941,8 +2941,7 @@ class boicalendar
) )
) )
); );
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True; $GLOBALS['phpwg']->common->phpgw_exit();
exit;
} }
if(!is_object($GLOBALS['uicalendar'])) if(!is_object($GLOBALS['uicalendar']))
@ -3204,13 +3203,14 @@ class boicalendar
) )
) )
); );
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True; $GLOBALS['phpgw']->common->phpgw_exit();
exit;
} }
function export($l_event_id=0) function export($params)
{ {
$event_id = ($l_event_id?$l_event_id:$GLOBALS['HTTP_GET_VARS']['cal_id']); $event_id = ($params['l_event_id']?$params['l_event_id']:$GLOBALS['HTTP_GET_VARS']['cal_id']);
$this->chunk_split = $params['chunk_split'];
$method = ($params['method']?$params['method']:"publish");
$string_array = Array( $string_array = Array(
'summary' => 'description', 'summary' => 'description',
@ -3235,7 +3235,7 @@ class boicalendar
$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','-//phpGroupWare//phpGroupWare '.$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['version'],'value','2.0');
$this->set_var($ical['method'],'value',strtoupper('publish')); $this->set_var($ical['method'],'value',strtoupper($method));
if(!$GLOBALS['phpgw_info']['flags']['included_classes']['uicalendar']) if(!$GLOBALS['phpgw_info']['flags']['included_classes']['uicalendar'])
{ {
@ -3276,13 +3276,24 @@ class boicalendar
} }
} }
// use system's date info for caluculating local timezone's offset in minutes
//
$gmt_offset = date('O',$GLOBALS['phpgw']->datetime->users_localtime); // offset to GMT
$offset = intval(substr($gmt_offset, 1, 2)) * 60 + intval(substr($gmt_offset, 3, 2));
if ($offset > 0)
{
$event['start']['min'] -= $offset;
$event['end']['min'] -= $offset;
$event['modtime']['min'] -= $offset;
}
$ical_event['priority'] = $event['priority']; $ical_event['priority'] = $event['priority'];
$ical_event['class'] = intval($event['public']); $ical_event['class'] = intval($event['public']);
$dtstart_mktime = $so_event->maketime($event['start']) - $GLOBALS['phpgw']->datetime->tz_offset; $dtstart_mktime = $so_event->maketime($event['start']);
$this->parse_value($ical_event,'dtstart',date('Ymd\THis\Z',$dtstart_mktime),'vevent'); $this->parse_value($ical_event,'dtstart',date('Ymd\THis\Z',$dtstart_mktime),'vevent');
$dtend_mktime = $so_event->maketime($event['end']) - $GLOBALS['phpgw']->datetime->tz_offset; $dtend_mktime = $so_event->maketime($event['end']);
$this->parse_value($ical_event,'dtend',date('Ymd\THis\Z',$dtend_mktime),'vevent'); $this->parse_value($ical_event,'dtend',date('Ymd\THis\Z',$dtend_mktime),'vevent');
$mod_mktime = $so_event->maketime($event['modtime']) - $GLOBALS['phpgw']->datetime->tz_offset; $mod_mktime = $so_event->maketime($event['modtime']);
$this->parse_value($ical_event,'last_modified',date('Ymd\THis\Z',$mod_mktime),'vevent'); $this->parse_value($ical_event,'last_modified',date('Ymd\THis\Z',$mod_mktime),'vevent');
@reset($string_array); @reset($string_array);
while(list($ical_value,$event_value) = each($string_array)) while(list($ical_value,$event_value) = each($string_array))
@ -3316,11 +3327,15 @@ class boicalendar
@reset($event['participants']); @reset($event['participants']);
while(list($part,$status) = each($event['participants'])) while(list($part,$status) = each($event['participants']))
{ {
$GLOBALS['phpgw']->accounts->get_account_name($accountid,$lid,$fname,$lname); $GLOBALS['phpgw']->accounts->get_account_name($part,$lid,$fname,$lname);
$name = $fname.' '.$lname; $name = $fname.' '.$lname;
$owner_status = $this->switch_partstat(intval($this->switch_phpgw_status($event['participants'][$part]))); $owner_status = $this->switch_partstat(intval($this->switch_phpgw_status($event['participants'][$part])));
$owner_mailto = 'mpeters@satx.rr.com';
$str = 'CN="'.$name.'";PARTSTAT='.$owner_status.':'.$owner_mailto; $mail_prefs = $GLOBALS['phpgw']->preferences->create_email_preferences($part);
$mailto = $mail_prefs['email']['address'];
$str = 'CN="'.$name.'";PARTSTAT='.$owner_status.':'.$mailto;
if($part == $event['owner']) if($part == $event['owner'])
{ {
$str = 'ROLE=CHAIR;'.$str; $str = 'ROLE=CHAIR;'.$str;
@ -3329,7 +3344,10 @@ class boicalendar
{ {
$str = 'ROLE=REQ-PARTICIPANT;'.$str; $str = 'ROLE=REQ-PARTICIPANT;'.$str;
} }
$this->parse_value($ical_event,'attendee',$str,'vevent'); if ($method != 'reply' || $part == $GLOBALS['phpgw_info']['user']['account_id'])
{
$this->parse_value($ical_event,'attendee',$str,'vevent');
}
if($part == $event['owner']) if($part == $event['owner'])
{ {
$this->parse_value($ical_event,'organizer',$str,'vevent'); $this->parse_value($ical_event,'organizer',$str,'vevent');

View File

@ -15,27 +15,43 @@
class holidaycalc { class holidaycalc {
function calculate_date($holiday, &$holidays, $year, $datetime, &$i) function calculate_date($holiday, &$holidays, $year, &$i)
{ {
static $cached_month;
static $cached_day;
static $cached_observance_rule;
if($holiday['day'] == 0 && $holiday['dow'] != 0 && $holiday['occurence'] != 0) if ($holiday['day'] == 0 && $holiday['dow'] != 0 && $holiday['occurence'] != 0)
{ {
// for Coming of Age Day and Health and Sports Day $dow = $GLOBALS['phpgw']->datetime->day_of_week($year, $holiday['month'], 1);
$dayshift = (($holiday['dow'] + 7) - $dow) % 7;
$day = ($holiday['occurence'] - 1) * 7 + $dayshift + 1;
// Happy monday law. // Happy monday law.
if ($year >= 2000) if ($holiday['month'] == 1)
{ {
$dow = $datetime->day_of_week($year, $holiday['month'], 1); if ($year < 2000)
$dayshift = (($holiday['dow'] + 7) - $dow) % 7;
$day = ($holiday['occurence'] - 1) * 7 + $dayshift + 1;
}
else
{
// non Happy monday law.
if ($holiday['month'] == 1)
{ {
$day = 15; $day = 15;
} }
elseif ($holiday['month'] == 10) }
elseif ($holiday['month'] == 7)
{
if ($year < 2003)
{
$day = 20;
}
}
elseif ($holiday['month'] == 9)
{
if ($year < 2003)
{
$day = 15;
}
}
elseif ($holiday['month'] == 10)
{
if ($year < 2000)
{ {
$day = 10; $day = 10;
} }
@ -79,21 +95,53 @@ class holidaycalc {
$day = $holiday['day']; $day = $holiday['day'];
} }
if($holiday['observance_rule'] == True) if ($year >= 1985 && $holiday['month'] == $cached_month && $day == $cached_day + 2 && $cached_observance_rule == True && $holiday['observance_rule'] == True)
{ {
$dow = $datetime->day_of_week($year,$holiday['month'],$day); $pdow = $GLOBALS['phpgw']->datetime->day_of_week($year,$holiday['month'],$day-1);
if ($pdow != 0)
{
$addcnt = count($holidays) + 1;
$holidays[$addcnt]['locale'] = $holiday['locale'];
if ($pdow == 1)
{
$holidays[$addcnt]['name'] = lang('overlap holiday');
}
else
{
$holidays[$addcnt]['name'] = lang('people holiday');
}
$holidays[$addcnt]['day'] = $day - 1;
$holidays[$addcnt]['month'] = $holiday['month'];
$holidays[$addcnt]['occurence'] = 0;
$holidays[$addcnt]['dow'] = 0;
$holidays[$addcnt]['date'] = mktime(0,0,0,$holiday['month'],$day-1,$year);
$holidays[$addcnt]['observance_rule'] = 0;
}
}
$cached_month = $holiday['month'];
$cached_day = $day;
$cached_observance_rule = $holiday['observance_rule'];
if ($year >= 1985 && $holiday['month'] == 5 && $day == 3)
{
;
}
elseif ($holiday['observance_rule'] == True)
{
$dow = $GLOBALS['phpgw']->datetime->day_of_week($year,$holiday['month'],$day);
// This now calulates Observed holidays and creates a new entry for them. // This now calulates Observed holidays and creates a new entry for them.
if($dow == 0) if($dow == 0)
{ {
$i++; $addcnt = count($holidays) + 1;
$holidays[$i]['locale'] = $holiday['locale'].' (Observed)'; $holidays[$addcnt]['locale'] = $holiday['locale'];
$holidays[$i]['name'] = lang('overlap holiday'); $holidays[$addcnt]['name'] = lang('overlap holiday');
$holidays[$i]['day'] = $holiday['day'] + 1; $holidays[$addcnt]['day'] = $day + 1;
$holidays[$i]['month'] = $holiday['month']; $holidays[$addcnt]['month'] = $holiday['month'];
$holidays[$i]['occurence'] = $holiday['occurence']; $holidays[$addcnt]['occurence'] = $holiday['occurence'];
$holidays[$i]['dow'] = $holiday['dow']; $holidays[$addcnt]['dow'] = $holiday['dow'];
$holidays[$i]['date'] = mktime(0,0,0,$holiday['month'],$day+1,$year); $holidays[$addcnt]['date'] = mktime(0,0,0,$holiday['month'],$day+1,$year);
$holidays[$i]['obervance_rule'] = 0; $holidays[$addcnt]['observance_rule'] = 0;
} }
} }

View File

@ -15,14 +15,14 @@
class holidaycalc { class holidaycalc {
function calculate_date($holiday, &$holidays, $year, $datetime, &$i) function calculate_date($holiday, &$holidays, $year, &$i)
{ {
// if($holiday['day'] == 0 && $holiday['dow'] != 0 && $holiday['occurence'] != 0) // if($holiday['day'] == 0 && $holiday['dow'] != 0 && $holiday['occurence'] != 0)
if($holiday['day'] == 0 && $holiday['occurence'] != 0) if($holiday['day'] == 0 && $holiday['occurence'] != 0)
{ {
if($holiday['occurence'] != 99) if($holiday['occurence'] != 99)
{ {
$dow = $datetime->day_of_week($year,$holiday['month'],1); $dow = $GLOBALS['phpgw']->datetime->day_of_week($year,$holiday['month'],1);
$day = (((7 * $holiday['occurence']) - 6) + ((($holiday['dow'] + 7) - $dow) % 7)); $day = (((7 * $holiday['occurence']) - 6) + ((($holiday['dow'] + 7) - $dow) % 7));
$day += ($day < 1 ? 7 : 0); $day += ($day < 1 ? 7 : 0);
// What is the point of this? // What is the point of this?
@ -31,7 +31,7 @@ class holidaycalc {
// Sometimes the 5th occurance of a weekday (ie the 5th monday) // Sometimes the 5th occurance of a weekday (ie the 5th monday)
// can spill over to the next month. This prevents that. // can spill over to the next month. This prevents that.
$ld = $datetime->days_in_month($holiday['month'],$year); $ld = $GLOBALS['phpgw']->datetime->days_in_month($holiday['month'],$year);
if ($day > $ld) if ($day > $ld)
{ {
return; return;
@ -39,8 +39,8 @@ class holidaycalc {
} }
else else
{ {
$ld = $datetime->days_in_month($holiday['month'],$year); $ld = $GLOBALS['phpgw']->datetime->days_in_month($holiday['month'],$year);
$dow = $datetime->day_of_week($year,$holiday['month'],$ld); $dow = $GLOBALS['phpgw']->datetime->day_of_week($year,$holiday['month'],$ld);
$day = $ld - (($dow + 7) - $holiday['dow']) % 7 ; $day = $ld - (($dow + 7) - $holiday['dow']) % 7 ;
} }
} }
@ -49,7 +49,7 @@ class holidaycalc {
$day = $holiday['day']; $day = $holiday['day'];
if($holiday['observance_rule'] == True) if($holiday['observance_rule'] == True)
{ {
$dow = $datetime->day_of_week($year,$holiday['month'],$day); $dow = $GLOBALS['phpgw']->datetime->day_of_week($year,$holiday['month'],$day);
// This now calulates Observed holidays and creates a new entry for them. // This now calulates Observed holidays and creates a new entry for them.
if($dow == 0) if($dow == 0)
{ {

View File

@ -1,9 +1,8 @@
<?php <?php
/**************************************************************************\ /**************************************************************************\
* phpGroupWare - InfoLog * * phpGroupWare - HTML creation class *
* http://www.phpgroupware.org * * http://www.phpgroupware.org *
* Written by Ralf Becker <RalfBecker@outdoor-training.de> * * Written by Ralf Becker <RalfBecker@outdoor-training.de> *
* originaly based on todo written by Joseph Engo <jengo@phpgroupware.org> *
* -------------------------------------------- * * -------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it * * 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 * * under the terms of the GNU General Public License as published by the *
@ -15,60 +14,169 @@
class html class html
{ {
var $user_agent,$ua_version; // 'mozilla','msie','konqueror'
var $prefered_img_title;
function html() function html()
{ { // should be Ok for all HTML 4 compatible browsers
if (!eregi('compatible; ([a-z_]+)[/ ]+([0-9.]+)',$_SERVER['HTTP_USER_AGENT'],$parts))
{
eregi('^([a-z_]+)/([0-9.]+)',$_SERVER['HTTP_USER_AGENT'],$parts);
}
list(,$this->user_agent,$this->ua_version) = $parts;
$this->user_agent = strtolower($this->user_agent);
$this->prefered_img_title = $this->user_agent == 'mozilla' && $this->ua_version < 5 ? 'ALT' : 'TITLE';
//echo "<p>HTTP_USER_AGENT='$GLOBALS[HTTP_USER_AGENT]', UserAgent: '$this->user_agent', Version: '$this->ua_version', img_title: '$this->prefered_img_title'</p>\n";
} }
function input_hidden($vars,$value='') /*
* Function: Allows to show and select one item from an array
* Parameters: $name string with name of the submitted var which holds the key of the selected item form array
* $key key(s) of already selected item(s) from $arr, eg. '1' or '1,2' or array with keys
* $arr array with items to select, eg. $arr = array ( 'y' => 'yes','n' => 'no','m' => 'maybe');
* $no_lang if !$no_lang send items through lang()
* $options additional options (e.g. 'multiple')
* On submit $XXX is the key of the selected item (XXX is the content of $name)
* Returns: string to set for a template or to echo into html page
*/
function select($name, $key, $arr=0,$no_lang=0,$options='',$multiple=0)
{
// should be in class common.sbox
if (!is_array($arr))
{
$arr = array('no','yes');
}
if (intval($multiple) > 0)
{
$options .= ' MULTIPLE SIZE="'.intval($multiple).'"';
if (substr($name,-2) != '[]')
{
$name .= '[]';
}
}
$out = "<select name=\"$name\" $options>\n";
if (is_array($key))
{
$key = implode(',',$key);
}
foreach($arr as $k => $text)
{
$out .= '<option value="'.htmlspecialchars($k).'"';
if("$k" == "$key" || strstr(",$key,",",$k,"))
{
$out .= " SELECTED";
}
$out .= ">" . ($no_lang || $text == '' ? $text : lang($text)) . "</option>\n";
}
$out .= "</select>\n";
return $out;
}
function div($content,$options='')
{
return "<DIV $options>\n$content</DIV>\n";
}
function input_hidden($vars,$value='',$ignore_empty=True)
{ {
if (!is_array($vars)) if (!is_array($vars))
{ {
$vars = array( $vars => $value ); $vars = array( $vars => $value );
} }
while (list($name,$value) = each($vars)) foreach($vars as $name => $value)
{ {
if ($value && !($name == 'filter' && $value == 'none')) // dont need to send all the empty vars if (is_array($value))
{ {
$html .= "<input type=hidden name=\"$name\" value=\"$value\">\n"; $value = serialize($value);
}
if (!$ignore_empty || $value && !($name == 'filter' && $value == 'none')) // dont need to send all the empty vars
{
$html .= "<INPUT TYPE=\"HIDDEN\" NAME=\"$name\" VALUE=\"".htmlspecialchars($value)."\">\n";
} }
} }
return $html; return $html;
} }
function textarea($name,$value='',$options='' )
{
return "<TEXTAREA name=\"$name\" $options>".htmlspecialchars($value)."</TEXTAREA>\n";
}
function input($name,$value='',$type='',$options='' ) function input($name,$value='',$type='',$options='' )
{ {
if ($type) $type = "type=$type"; if ($type)
{
return "<input $type name=\"$name\" value=\"$value\" $options>\n"; $type = 'TYPE="'.$type.'"';
}
return "<INPUT $type NAME=\"$name\" VALUE=\"".htmlspecialchars($value)."\" $options>\n";
} }
function submit_button($name,$lang,$onClick='') function submit_button($name,$lang,$onClick='',$no_lang=0,$options='',$image='',$app='')
{ {
return $this->input($name,lang($lang),'submit',$onClick ? "onClick=\"$onClick\"" : ''); if ($image != '')
{
if (strpos($image,'.'))
{
$image = substr($image,0,strpos($image,'.'));
}
if (!($path = $GLOBALS['phpgw']->common->image($app,$image)) &&
!($path = $GLOBALS['phpgw']->common->image('phpgwapi',$image)))
{
$path = $image; // name may already contain absolut path
}
$image = ' SRC="'.$path.'"';
}
if (!$no_lang)
{
$lang = lang($lang);
}
if (($accesskey = strstr($lang,'&')) && $accesskey[1] != ' ' &&
(($pos = strpos($accesskey,';')) === False || $pos > 5))
{
$lang_u = str_replace('&'.$accesskey[1],'<u>'.$accesskey[1].'</u>',$lang);
$lang = str_replace('&','',$lang);
$options = 'ACCESSKEY="'.$accesskey[1].'" '.$options;
}
else
{
$accesskey = '';
$lang_u = $lang;
}
if ($onClick) $options .= " onClick=\"$onClick\"";
// <button> is not working in all cases if ($this->user_agent == 'mozilla' && $this->ua_version < 5 || $image)
{
return $this->input($name,$lang,$image != '' ? 'IMAGE' : 'SUBMIT',$options.$image);
}
return '<button TYPE="submit" NAME="'.$name.'" VALUE="'.$lang.'" '.$options.'>'.
($image != '' ? "<img$image $this->prefered_img_title=\"$lang\"> " : '').
($image == '' || $accesskey ? $lang_u : '').'</button>';
} }
/* /*!
* create absolute link: $url: phpgw-relative link, may include query @function link
* $vars: query or array with query @abstract creates an absolut link + the query / get-variables
*/ @param $url phpgw-relative link, may include query / get-vars
@parm $vars query or array ('name' => 'value', ...) with query
@example link('/index.php?menuaction=infolog.uiinfolog.get_list',array('info_id' => 123))
@example = 'http://domain/phpgw-path/index.php?menuaction=infolog.uiinfolog.get_list&info_id=123'
@result absolut link already run through $phpgw->link
*/
function link($url,$vars='') function link($url,$vars='')
{ {
if (is_array( $vars )) if (!is_array($vars))
{ {
$v = array( ); $vars = explode('&',$vars);
while(list($name,$value) = each($vars))
{
if ($value && !($name == 'filter' && $value == 'none')) // dont need to send all the empty vars
{
$v[] = "$name=$value";
}
}
$vars = implode('&',$v);
} }
list($url,$v) = explode('?',$url); // url may contain additional vars list($url,$v) = explode('?',$url); // url may contain additional vars
if ($v) if ($v)
$vars .= ($vars ? '&' : '') . $v; {
$vars += explode('&',$v);
}
return $GLOBALS['phpgw']->link($url,$vars); return $GLOBALS['phpgw']->link($url,$vars);
} }
@ -77,49 +185,74 @@ class html
return "<input type=\"checkbox\" name=\"$name\" value=\"True\"" .($value ? ' checked' : '') . ">\n"; return "<input type=\"checkbox\" name=\"$name\" value=\"True\"" .($value ? ' checked' : '') . ">\n";
} }
function form($content,$hidden_vars,$url,$url_vars='',$method='POST') function form($content,$hidden_vars,$url,$url_vars='',$name='',$options='',$method='POST')
{ {
$html = "<form method=\"$method\" action=\"".$this->link($url,$url_vars)."\">\n"; $html = "<form method=\"$method\" ".($name != '' ? "name=\"$name\" " : '')."action=\"".$this->link($url,$url_vars)."\" $options>\n";
$html .= $this->input_hidden($hidden_vars); $html .= $this->input_hidden($hidden_vars);
if ($content) { if ($content)
{
$html .= $content; $html .= $content;
$html .= "</form>\n"; $html .= "</form>\n";
} }
return $html; return $html;
} }
function form_1button($name,$lang,$hidden_vars,$url,$url_vars='', function form_1button($name,$lang,$hidden_vars,$url,$url_vars='',$form_name='',$method='POST')
$method='POST')
{ {
return $this->form($this->submit_button($name,$lang), return $this->form($this->submit_button($name,$lang),
$hidden_vars,$url,$url_vars,$method); $hidden_vars,$url,$url_vars,$form_name,'',$method);
} }
/* /*!
* Example: $rows = array ( '1' => array( 1 => 'cell1', '.1' => 'colspan=3', @function table
* 2 => 'cell2', @abstracts creates table from array with rows
* 3 => '3,, '.3' => 'width="10%"' ), @discussion abstract the html stuff
* '.1' => 'bgcolor="#0000FF"' ); @param $rows array with rows, each row is an array of the cols
* table($rows,'width="100%"'); @param $options options for the table-tag
*/ @example $rows = array ( '1' => array( 1 => 'cell1', '.1' => 'colspan=3',
function table($rows,$params = '') @example 2 => 'cell2', 3 => 'cell3', '.3' => 'width="10%"' ),
@example '.1' => 'BGCOLOR="#0000FF"' );
@example table($rows,'WIDTH="100%"') = '<table WIDTH="100%"><tr><td colspan=3>cell1</td><td>cell2</td><td width="10%">cell3</td></tr></table>'
@result string with html-code of the table
*/
function table($rows,$options = '',$no_table_tr=False)
{ {
$html = "<table $params>\n"; $html = $no_table_tr ? '' : "<TABLE $options>\n";
while (list($key,$row) = each($rows)) { foreach($rows as $key => $row)
{
if (!is_array($row)) if (!is_array($row))
{
continue; // parameter continue; // parameter
$html .= "\t<tr ".$rows['.'.$key].">\n";
while (list($key,$cell) = each($row)) {
if ($key[0] == '.')
continue; // parameter
$html .= "\t\t<td ".$row['.'.$key].">$cell</td>\n";
} }
$html .= "\t</tr>\n"; $html .= $no_table_tr && $key == 1 ? '' : "\t<TR ".$rows['.'.$key].">\n";
foreach($row as $key => $cell)
{
if ($key[0] == '.')
{
continue; // parameter
}
$table_pos = strpos($cell,'<TABLE');
$td_pos = strpos($cell,'<TD');
if ($td_pos !== False && ($table_pos === False || $td_pos < $table_pos))
{
$html .= $cell;
}
else
{
$html .= "\t\t<TD ".$row['.'.$key].">$cell</TD>\n";
}
}
$html .= "\t</TR>\n";
}
$html .= "</TABLE>\n";
if ($no_table_tr)
{
$html = substr($html,0,-16);
} }
$html .= "</table>\n";
return $html; return $html;
} }
@ -134,28 +267,116 @@ class html
return $html; return $html;
} }
function image( $app,$name,$title='',$opts='' ) function image( $app,$name,$title='',$options='' )
{ {
$html = '<img src="'.$GLOBALS['phpgw']->common->image($app,$name).'"'; if (strstr($name,'.') === False)
{
$name .= '.gif';
}
if (!($path = $GLOBALS['phpgw']->common->image($app,$name)))
{
$path = $name; // name may already contain absolut path
}
if (!@is_readable($_SERVER['DOCUMENT_ROOT'] . $path))
{
return $title;
}
if ($title) if ($title)
{ {
$html .= " alt=\"$title\" title=\"$title\""; $options .= " $this->prefered_img_title=\"".htmlspecialchars($title).'"';
} }
if ($opts) return "<IMG SRC=\"$path\" $options>";
{
$html .= " $opts";
}
return $html . '>';
} }
function a_href( $content,$url,$vars='',$options='') function a_href( $content,$url,$vars='',$options='')
{ {
if (!strstr($url,'/') && count(explode('.',$url)) == 3)
{
$url = "/index.php?menuaction=$url";
}
if (is_array($url))
{
$vars = $url;
$url = '/index.php';
}
return '<a href="'.$this->link($url,$vars).'" '.$options.'>'.$content.'</a>'; return '<a href="'.$this->link($url,$vars).'" '.$options.'>'.$content.'</a>';
} }
function bold($content) function bold($content)
{ {
return '<b>'.$content.'</b>'; return '<b>'.$content.'</b>';
} }
function italic($content)
{
return '<i>'.$content.'</i>';
}
function hr($width,$options='')
{
if ($width)
$options .= " WIDTH=$width";
return "<hr $options>\n";
}
/*!
@function formatOptions
@abstract formats option-string for most of the above functions
@param $options String (or Array) with option-values eg. '100%,,1'
@param $names String (or Array) with the option-names eg. 'WIDTH,HEIGHT,BORDER'
@example formatOptions('100%,,1','WIDTH,HEIGHT,BORDER') = ' WIDTH="100%" BORDER="1"'
@result option string
*/
function formatOptions($options,$names)
{
if (!is_array($options)) $options = explode(',',$options);
if (!is_array($names)) $names = explode(',',$names);
while (list($n,$val) = each($options))
if ($val != '' && $names[$n] != '')
$html .= ' '.$names[$n].'="'.$val.'"';
return $html;
}
/*!
@function themeStyles
@abstract returns simple stylesheet (incl. <STYLE> tags) for nextmatch row-colors
@result the classes 'th' = nextmatch header, 'row_on'+'row_off' = alternating rows
*/
function themeStyles()
{
return $this->style($this->theme2css());
}
/*!
@function theme2css
@abstract returns simple stylesheet for nextmatch row-colors
@result the classes 'th' = nextmatch header, 'row_on'+'row_off' = alternating rows
*/
function theme2css()
{
return
".th { background: ".$GLOBALS['phpgw_info']['theme']['th_bg']."; font-weight: bold; }\n".
".row_on,.th_bright { background: ".$GLOBALS['phpgw_info']['theme']['row_on']."; }\n".
".row_off { background: ".$GLOBALS['phpgw_info']['theme']['row_off']."; }\n";
}
function style($styles)
{
return $styles ? "<STYLE type=\"text/css\">\n<!--\n$styles\n-->\n</STYLE>" : '';
}
function label($content,$id='',$accesskey='',$options='')
{
if ($id != '')
{
$id = " FOR=\"$id\"";
}
if ($accesskey != '')
{
$accesskey = " ACCESSKEY=\"$accesskey\"";
}
return "<LABEL$id$accesskey $options>$content</LABEL>";
}
} }

View File

@ -23,6 +23,7 @@
var $owner; var $owner;
var $g_owner; var $g_owner;
var $is_group = False; var $is_group = False;
var $datetime;
var $filter; var $filter;
var $cat_id; var $cat_id;
@ -133,43 +134,31 @@
return $this->get_event_ids(True,$sql); return $this->get_event_ids(True,$sql);
} }
function list_events_keyword($keywords) function list_events_keyword($keywords,$members='')
{ {
// $sql = 'AND (phpgw_cal_user.cal_login='.$this->owner.') '; if (!$members)
$o = $this->owner;
$type = $GLOBALS['phpgw']->accounts->get_type($o);
if($type == 'g')
{ {
$members = $GLOBALS['phpgw']->acl->get_ids_for_location($o, 1, 'phpgw_group'); $members[] = $this->owner;
}
else
{
$members[0] = $o;
} }
$sql = 'AND (phpgw_cal_user.cal_login IN ('.implode(',',$members).')) AND '.
'(phpgw_cal_user.cal_login='.intval($this->owner).' OR phpgw_cal.is_public=1) AND (';
$sql = 'AND (phpgw_cal_user.cal_login='.$members[0]; $words = split(' ',$keywords);
foreach($words as $i => $word)
for($i=1; $i<count($members); $i++)
{ {
$sql .= ' OR phpgw_cal_user.cal_login='.$members[$i]; $sql .= $i > 0 ? ' OR ' : '';
$sql .= "(UPPER(phpgw_cal.title) LIKE UPPER('%".addslashes($word)."%') OR "
. "UPPER(phpgw_cal.description) LIKE UPPER('%".addslashes($word)."%') OR "
. "UPPER(phpgw_cal.location) LIKE UPPER('%".addslashes($word)."%') OR "
. "UPPER(phpgw_cal_extra.cal_extra_value) LIKE UPPER('%".addslashes($word)."%'))";
} }
$sql .= ') '; $sql .= ') ';
$words = split(' ',$keywords);
for ($i=0;$i<count($words);$i++)
{
$sql .= ($i==0?' AND (':'');
$sql .= ($i>0?' OR ':'');
$sql .= "(UPPER(phpgw_cal.title) LIKE UPPER('%".$words[$i]."%') OR "
. "UPPER(phpgw_cal.description) LIKE UPPER('%".$words[$i]."%'))";
$sql .= ($i==count($words) - 1?') ':'');
}
$sql .= (strpos($this->filter,'private')?'AND phpgw_cal.is_public=0 ':''); $sql .= (strpos($this->filter,'private')?'AND phpgw_cal.is_public=0 ':'');
$sql .= ($this->cat_id?"AND phpgw_cal.category like '%".$this->cat_id."%' ":''); $sql .= ($this->cat_id? "AND (phpgw_cal.category='$this->cat_id' OR phpgw_cal.category like '%,".$this->cat_id.",%') ":'');
$sql .= 'ORDER BY phpgw_cal.datetime ASC, phpgw_cal.edatetime ASC, phpgw_cal.priority ASC'; $sql .= 'ORDER BY phpgw_cal.datetime DESC, phpgw_cal.edatetime DESC, phpgw_cal.priority ASC';
return $this->get_event_ids(False,$sql);
return $this->get_event_ids(False,$sql,True);
} }
function read_from_store($startYear,$startMonth,$startDay,$endYear='',$endMonth='',$endDay='') function read_from_store($startYear,$startMonth,$startDay,$endYear='',$endMonth='',$endDay='')
@ -183,9 +172,9 @@
return $events_cached; return $events_cached;
} }
function get_event_ids($include_repeats=False, $sql='') function get_event_ids($search_repeats=False, $sql='',$search_extra=False)
{ {
return $this->cal->get_event_ids($include_repeats,$sql); return $this->cal->get_event_ids($search_repeats,$sql,$search_extra);
} }
function find_uid($uid) function find_uid($uid)
@ -212,6 +201,16 @@
$this->cal->store_event($event); $this->cal->store_event($event);
} }
function save_alarm($cal_id,$alarm,$id=0)
{
$this->cal->save_alarm($cal_id,$alarm,$id);
}
function delete_alarm($id)
{
$this->cal->delete_alarm($id);
}
function delete_entry($id) function delete_entry($id)
{ {
$this->cal->delete_event($id); $this->cal->delete_event($id);
@ -237,6 +236,7 @@
{ {
$id = $this->cal->stream->f('cal_id'); $id = $this->cal->stream->f('cal_id');
$db2->query('SELECT count(*) FROM phpgw_cal_user WHERE cal_id='.$id.' AND cal_login='.$new_owner,__LINE__,__FILE__); $db2->query('SELECT count(*) FROM phpgw_cal_user WHERE cal_id='.$id.' AND cal_login='.$new_owner,__LINE__,__FILE__);
$db2->next_record();
if($db2->f(0) == 0) if($db2->f(0) == 0)
{ {
$db2->query('UPDATE phpgw_cal_user SET cal_login='.$new_owner.' WHERE cal_id='.$id.' AND cal_login='.$account_id,__LINE__,__FILE__); $db2->query('UPDATE phpgw_cal_user SET cal_login='.$new_owner.' WHERE cal_id='.$id.' AND cal_login='.$account_id,__LINE__,__FILE__);
@ -255,15 +255,31 @@
$this->cal->set_status($id,$this->owner,$status); $this->cal->set_status($id,$this->owner,$status);
} }
function get_alarm($id) function get_alarm($cal_id)
{ {
if($GLOBALS['phpgw_info']['server']['calendar_type'] == 'sql') if (!method_exists($this->cal,'get_alarm'))
{ {
return $this->cal->get_alarm($id); return False;
} }
else return $this->cal->get_alarm($cal_id);
}
function read_alarm($id)
{
if (!method_exists($this->cal,'read_alarm'))
{ {
return False;
} }
return $this->cal->read_alarm($id);
}
function read_alarms($cal_id)
{
if (!method_exists($this->cal,'read_alarms'))
{
return False;
}
return $this->cal->read_alarms($cal_id);
} }
function find_recur_exceptions($event_id) function find_recur_exceptions($event_id)

View File

@ -40,7 +40,7 @@ if(extension_loaded('mcal') == False)
define('MCAL_M_FRIDAY',32); define('MCAL_M_FRIDAY',32);
define('MCAL_M_SATURDAY',64); define('MCAL_M_SATURDAY',64);
define('MCAL_M_WEEKDAYS',63); define('MCAL_M_WEEKDAYS',62);
define('MCAL_M_WEEKEND',65); define('MCAL_M_WEEKEND',65);
define('MCAL_M_ALLDAYS',127); define('MCAL_M_ALLDAYS',127);
} }
@ -51,6 +51,7 @@ define('MSG_ADDED',2);
define('MSG_REJECTED',3); define('MSG_REJECTED',3);
define('MSG_TENTATIVE',4); define('MSG_TENTATIVE',4);
define('MSG_ACCEPTED',5); define('MSG_ACCEPTED',5);
define('MSG_ALARM',6);
define('REJECTED',0); define('REJECTED',0);
define('NO_RESPONSE',1); define('NO_RESPONSE',1);
@ -68,10 +69,6 @@ class socalendar__
function socalendar__() function socalendar__()
{ {
if(!is_object($GLOBALS['phpgw']->datetime))
{
$GLOBALS['phpgw']->datetime = createobject('phpgwapi.datetime');
}
} }
function maketime($time) function maketime($time)

View File

@ -31,6 +31,12 @@ class socalendar_ extends socalendar__
function socalendar_() function socalendar_()
{ {
$this->socalendar__(); $this->socalendar__();
if (!is_object($GLOBALS['phpgw']->asyncservice))
{
$GLOBALS['phpgw']->asyncservice = CreateObject('phpgwapi.asyncservice');
}
$this->async = &$GLOBALS['phpgw']->asyncservice;
} }
function open($calendar='',$user='',$passwd='',$options='') function open($calendar='',$user='',$passwd='',$options='')
@ -96,6 +102,111 @@ class socalendar_ extends socalendar__
return $calendar; return $calendar;
} }
/*!
@function read_alarms
@abstract read the alarms of a calendar-event specified by $cal_id
@returns array of alarms with alarm-id as key
@note the alarm-id is a string of 'cal:'.$cal_id.':'.$alarm_nr, it is used as the job-id too
*/
function read_alarms($cal_id)
{
$alarms = array();
if ($jobs = $this->async->read('cal:'.intval($cal_id).':%'))
{
foreach($jobs as $id => $job)
{
$alarm = $job['data']; // text, enabled
$alarm['id'] = $id;
$alarm['time'] = $job['next'];
$alarms[$id] = $alarm;
}
}
return $alarms;
}
/*!
@function read_alarm
@abstract read a single alarm specified by it's $id
@returns array with data of the alarm
@note the alarm-id is a string of 'cal:'.$cal_id.':'.$alarm_nr, it is used as the job-id too
*/
function read_alarm($id)
{
if (!($jobs = $this->async->read($id)))
{
return False;
}
list($id,$job) = each($jobs);
$alarm = $job['data']; // text, enabled
$alarm['id'] = $id;
$alarm['time'] = $job['next'];
//echo "<p>read_alarm('$id')="; print_r($alarm); echo "</p>\n";
return $alarm;
}
/*!
@function save_alarm
@abstract saves a new or updated alarm
@syntax save_alarm($cal_id,$alarm,$id=False)
@param $cal_id Id of the calendar-entry
@param $alarm array with fields: text, owner, enabled, ..
*/
function save_alarm($cal_id,$alarm)
{
//echo "<p>save_alarm(cal_id=$cal_id, alarm="; print_r($alarm); echo ")</p>\n";
if (!($id = $alarm['id']))
{
$alarms = $this->read_alarms($cal_id); // find a free alarm#
$n = count($alarms);
do
{
$id = 'cal:'.intval($cal_id).':'.$n;
++$n;
}
while (@isset($alarms[$id]));
}
else
{
$this->async->cancel_timer($id);
}
$alarm['cal_id'] = $cal_id; // we need the back-reference
if (!$this->async->set_timer($alarm['time'],$id,'calendar.bocalendar.send_alarm',$alarm))
{
return False;
}
return $id;
}
/*!
@function delete_alarms($cal_id)
@abstract delete all alarms of a calendar-entry
@returns the number of alarms deleted
*/
function delete_alarms($cal_id)
{
$alarms = $this->read_alarms($cal_id);
foreach($alarms as $id => $alarm)
{
$this->async->cancel_timer($id);
}
return count($alarms);
}
/*!
@function delete_alarm($id)
@abstract delete one alarms identified by its id
@returns the number of alarms deleted
*/
function delete_alarm($id)
{
return $this->async->cancel_timer($id);
}
function fetch_event($event_id,$options='') function fetch_event($event_id,$options='')
{ {
if(!isset($this->stream)) if(!isset($this->stream))
@ -103,7 +214,9 @@ class socalendar_ extends socalendar__
return False; return False;
} }
$this->stream->lock(array('phpgw_cal','phpgw_cal_user','phpgw_cal_repeats','phpgw_cal_alarm')); $event_id = intval($event_id);
$this->stream->lock(array('phpgw_cal','phpgw_cal_user','phpgw_cal_repeats','phpgw_cal_extra'/* OLD-ALARM,'phpgw_cal_alarm'*/));
$this->stream->query('SELECT * FROM phpgw_cal WHERE cal_id='.$event_id,__LINE__,__FILE__); $this->stream->query('SELECT * FROM phpgw_cal WHERE cal_id='.$event_id,__LINE__,__FILE__);
@ -210,8 +323,20 @@ class socalendar_ extends socalendar__
} }
} }
// Custom fields
$this->stream->query('SELECT * FROM phpgw_cal_extra WHERE cal_id='.$event_id,__LINE__,__FILE__);
if($this->stream->num_rows())
{
while($this->stream->next_record())
{
$this->add_attribute('#'.$this->stream->f('cal_extra_name'),$this->stream->f('cal_extra_value'));
}
}
/* OLD-ALARM
if($this->event['reference']) if($this->event['reference'])
{ {
// What is event['reference']???
$alarm_cal_id = $event_id.','.$this->event['reference']; $alarm_cal_id = $event_id.','.$this->event['reference'];
} }
else else
@ -219,7 +344,9 @@ class socalendar_ extends socalendar__
$alarm_cal_id = $event_id; $alarm_cal_id = $event_id;
} }
$this->stream->query('SELECT * FROM phpgw_cal_alarm WHERE cal_id in ('.$alarm_cal_id.') AND cal_owner='.$this->user,__LINE__,__FILE__); //echo '<!-- cal_id='.$alarm_cal_id.' -->'."\n";
//$this->stream->query('SELECT * FROM phpgw_cal_alarm WHERE cal_id in ('.$alarm_cal_id.') AND cal_owner='.$this->user,__LINE__,__FILE__);
$this->stream->query('SELECT * FROM phpgw_cal_alarm WHERE cal_id='.$event_id.' AND cal_owner='.$this->user,__LINE__,__FILE__);
if($this->stream->num_rows()) if($this->stream->num_rows())
{ {
while($this->stream->next_record()) while($this->stream->next_record())
@ -232,6 +359,7 @@ class socalendar_ extends socalendar__
); );
} }
} }
*/
} }
else else
{ {
@ -240,6 +368,15 @@ class socalendar_ extends socalendar__
$this->stream->unlock(); $this->stream->unlock();
if ($this->event)
{
$this->event['alarm'] = $this->read_alarms($event_id);
if($this->event['reference'])
{
$this->event['alarm'] += $this->read_alarms($event_id);
}
}
return $this->event; return $this->event;
} }
@ -340,7 +477,6 @@ class socalendar_ extends socalendar__
function expunge() function expunge()
{ {
reset($this->deleted_events);
if(count($this->deleted_events) <= 0) if(count($this->deleted_events) <= 0)
{ {
return 1; return 1;
@ -350,43 +486,51 @@ class socalendar_ extends socalendar__
'phpgw_cal', 'phpgw_cal',
'phpgw_cal_user', 'phpgw_cal_user',
'phpgw_cal_repeats', 'phpgw_cal_repeats',
'phpgw_cal_alarm' 'phpgw_cal_extra'
// OLD-ALARM 'phpgw_cal_alarm'
); );
$this->stream->lock($locks); $this->stream->lock($locks);
for($i=0;$i<count($this->deleted_events);$i++) foreach($this->deleted_events as $cal_id)
{ {
for($k=0;$k<count($locks);$k++) foreach ($locks as $table)
{ {
$this->stream->query('DELETE FROM '.$locks[$k].' WHERE cal_id='.$this->deleted_events[$i],__LINE__,__FILE__); $this->stream->query('DELETE FROM '.$table.' WHERE cal_id='.$cal_id,__LINE__,__FILE__);
} }
} }
$this->stream->unlock(); $this->stream->unlock();
foreach($this->deleted_events as $cal_id)
{
$this->delete_alarms($cal_id);
}
$this->deleted_events = array();
$this->event = $this_event; $this->event = $this_event;
return 1; return 1;
} }
/***************** Local functions for SQL based Calendar *****************/ /***************** Local functions for SQL based Calendar *****************/
function get_event_ids($search_repeats=False,$extra='') function get_event_ids($search_repeats=False,$extra='',$search_extra=False)
{ {
if($search_repeats == True) $from = $where = ' ';
if($search_repeats)
{ {
$repeats_from = ', phpgw_cal_repeats '; $from = ', phpgw_cal_repeats ';
$repeats_where = 'AND (phpgw_cal_repeats.cal_id = phpgw_cal.cal_id) '; $where = 'AND (phpgw_cal_repeats.cal_id = phpgw_cal.cal_id) ';
} }
else if($search_extra)
{ {
$repeats_from = ' '; $from .= 'LEFT JOIN phpgw_cal_extra ON phpgw_cal_extra.cal_id = phpgw_cal.cal_id ';
$repeats_where = '';
} }
$sql = 'SELECT DISTINCT phpgw_cal.cal_id,' $sql = 'SELECT DISTINCT phpgw_cal.cal_id,'
. 'phpgw_cal.datetime,phpgw_cal.edatetime,' . 'phpgw_cal.datetime,phpgw_cal.edatetime,'
. 'phpgw_cal.priority ' . 'phpgw_cal.priority '
. 'FROM phpgw_cal, phpgw_cal_user' . 'FROM phpgw_cal, phpgw_cal_user'
. $repeats_from . $from
. 'WHERE (phpgw_cal_user.cal_id = phpgw_cal.cal_id) ' . 'WHERE (phpgw_cal_user.cal_id = phpgw_cal.cal_id) '
. $repeats_where . $extra; . $where . $extra;
if($this->debug) if($this->debug)
{ {
@ -421,7 +565,9 @@ class socalendar_ extends socalendar__
$locks = Array( $locks = Array(
'phpgw_cal', 'phpgw_cal',
'phpgw_cal_user', 'phpgw_cal_user',
'phpgw_cal_repeats' 'phpgw_cal_repeats',
'phpgw_cal_extra'
// OLD-ALARM 'phpgw_cal_alarm'
); );
$this->stream->lock($locks); $this->stream->lock($locks);
if($event['id'] == 0) if($event['id'] == 0)
@ -451,14 +597,6 @@ class socalendar_ extends socalendar__
} }
$event['uid'] = $part[0].'-'.$part[1].'@'.$id_suffix; $event['uid'] = $part[0].'-'.$part[1].'@'.$id_suffix;
} }
/* makes problems if tempnam is to long for title column, see bug #3162
$temp_name = tempnam($GLOBALS['phpgw_info']['server']['temp_dir'],'cal');
$this->stream->query('INSERT INTO phpgw_cal(uid,title,owner,priority,is_public,category) '
. "values('".$event['uid']."','".$temp_name."',".$event['owner'].','.$event['priority'].','.$event['public'].",'".$event['category']."')");
$this->stream->query("SELECT cal_id FROM phpgw_cal WHERE title='".$temp_name."'");
$this->stream->next_record();
$event['id'] = $this->stream->f('cal_id');
*/
$this->stream->query('INSERT INTO phpgw_cal(uid,title,owner,priority,is_public,category) ' $this->stream->query('INSERT INTO phpgw_cal(uid,title,owner,priority,is_public,category) '
. "values('".$event['uid']."','".$this->stream->db_addslashes($event['title']) . "values('".$event['uid']."','".$this->stream->db_addslashes($event['title'])
. "',".$event['owner'].','.$event['priority'].','.$event['public'].",'" . "',".$event['owner'].','.$event['priority'].','.$event['public'].",'"
@ -490,7 +628,7 @@ class socalendar_ extends socalendar__
. 'is_public='.$event['public'].', ' . 'is_public='.$event['public'].', '
. "title='".$this->stream->db_addslashes($event['title'])."', " . "title='".$this->stream->db_addslashes($event['title'])."', "
. "description='".$this->stream->db_addslashes($event['description'])."', " . "description='".$this->stream->db_addslashes($event['description'])."', "
. "location='".$event['location']."', " . "location='".$this->stream->db_addslashes($event['location'])."', "
. ($event['groups']?"groups='".(count($event['groups'])>1?implode(',',$event['groups']):','.$event['groups'][0].',')."', ":'') . ($event['groups']?"groups='".(count($event['groups'])>1?implode(',',$event['groups']):','.$event['groups'][0].',')."', ":'')
. 'reference='.$event['reference'].' ' . 'reference='.$event['reference'].' '
. 'WHERE cal_id='.$event['id']; . 'WHERE cal_id='.$event['id'];
@ -502,7 +640,6 @@ class socalendar_ extends socalendar__
@reset($event['participants']); @reset($event['participants']);
while (list($key,$value) = @each($event['participants'])) while (list($key,$value) = @each($event['participants']))
{ {
// if(intval($key) == intval($this->user))
if(intval($key) == $event['owner']) if(intval($key) == $event['owner'])
{ {
$value = 'A'; $value = 'A';
@ -545,16 +682,59 @@ class socalendar_ extends socalendar__
{ {
$this->stream->query('DELETE FROM phpgw_cal_repeats WHERE cal_id='.$event['id'],__LINE__,__FILE__); $this->stream->query('DELETE FROM phpgw_cal_repeats WHERE cal_id='.$event['id'],__LINE__,__FILE__);
} }
// Custom fields
$this->stream->query('DELETE FROM phpgw_cal_extra WHERE cal_id='.$event['id'],__LINE__,__FILE__);
foreach($event as $name => $value)
{
if ($name[0] == '#' && strlen($value))
{
$this->stream->query('INSERT INTO phpgw_cal_extra (cal_id,cal_extra_name,cal_extra_value) '
. 'VALUES('.$event['id'].",'".addslashes(substr($name,1))."','".addslashes($value)."')",__LINE__,__FILE__);
}
}
/*
$alarmcount = count($event['alarm']);
if ($alarmcount > 1)
{
// this should never happen, $event['alarm'] should only be set
// if creating a new event and uicalendar only sets up 1 alarm
// the user must use "Alarm Management" to create/establish multiple
// alarms or to edit/change an alarm
echo '<!-- how did this happen, too many alarms -->'."\n";
$this->stream->unlock();
return True;
}
if ($alarmcount == 1)
{
list($key,$alarm) = @each($event['alarm']);
$this->stream->query('INSERT INTO phpgw_cal_alarm(cal_id,cal_owner,cal_time,cal_text,alarm_enabled) VALUES('.$event['id'].','.$event['owner'].','.$alarm['time'].",'".$alarm['text']."',".$alarm['enabled'].')',__LINE__,__FILE__);
$this->stream->query('SELECT LAST_INSERT_ID()');
$this->stream->next_record();
$alarm['id'] = $this->stream->f(0);
}
*/
print_debug('Event Saved: ID #',$event['id']); print_debug('Event Saved: ID #',$event['id']);
$this->stream->unlock(); $this->stream->unlock();
$GLOBALS['phpgw_info']['cal_new_event_id'] = $event['id'];
if (is_array($event['alarm']))
{
foreach ($event['alarm'] as $alarm) // this are all new alarms
{
$this->save_alarm($event['id'],$alarm);
}
}
$GLOBALS['phpgw_info']['cal_new_event_id'] = $event['id'];
return True; return True;
} }
function get_alarm($id) function get_alarm($cal_id)
{ {
/* OLD-ALARM
$this->stream->query('SELECT cal_time, cal_text FROM phpgw_cal_alarm WHERE cal_id='.$id.' AND cal_owner='.$this->user,__LINE__,__FILE__); $this->stream->query('SELECT cal_time, cal_text FROM phpgw_cal_alarm WHERE cal_id='.$id.' AND cal_owner='.$this->user,__LINE__,__FILE__);
if($this->stream->num_rows()) if($this->stream->num_rows())
{ {
@ -569,6 +749,18 @@ class socalendar_ extends socalendar__
{ {
return False; return False;
} }
*/
$alarms = $this->read_alarms($cal_id);
$ret = False;
foreach($alarms as $alarm)
{
if ($alarm['owner'] == $this->user || !$alarm['owner'])
{
$ret[$alarm['time']] = $alarm['text'];
}
}
return $ret;
} }
function set_status($id,$owner,$status) function set_status($id,$owner,$status)
@ -581,6 +773,12 @@ class socalendar_ extends socalendar__
); );
$this->stream->query("UPDATE phpgw_cal_user SET cal_status='".$status_code_short[$status]."' WHERE cal_id=".$id." AND cal_login=".$owner,__LINE__,__FILE__); $this->stream->query("UPDATE phpgw_cal_user SET cal_status='".$status_code_short[$status]."' WHERE cal_id=".$id." AND cal_login=".$owner,__LINE__,__FILE__);
/* OLD-ALARM
if ($status == 'R')
{
$this->stream->query('UPDATE phpgw_cal_alarm set alarm_enabled=0 where cal_id='.$id.' and cal_owner='.$owner,__LINE__,__FILE__);
}
*/
return True; return True;
} }
@ -619,4 +817,57 @@ class socalendar_ extends socalendar__
{ {
return $this->localdates(mktime(0,0,0,intval(substr($d,4,2)),intval(substr($d,6,2)),intval(substr($d,0,4)))); return $this->localdates(mktime(0,0,0,intval(substr($d,4,2)),intval(substr($d,6,2)),intval(substr($d,0,4))));
} }
function list_dirty_events($lastmod=-1,$repeats=false)
{
if(!isset($this->stream))
{
return False;
}
$lastmod = intval($lastmod);
$repeats = (bool) $repeats;
$user_where = " AND phpgw_cal_user.cal_login = $this->user";
$member_groups = $GLOBALS['phpgw']->accounts->membership($this->user);
@reset($member_groups);
while($member_groups != False && list($key,$group_info) = each($member_groups))
{
$member[] = $group_info['account_id'];
}
@reset($member);
// $user_where .= ','.implode(',',$member);
//$user_where .= ')) ';
if($this->debug)
{
echo '<!-- '.$user_where.' -->'."\n";
}
if($lastmod > 0)
{
$wheremod = "AND mdatetime = $lastmod";
}
$order_by = ' ORDER BY phpgw_cal.cal_id ASC';
if($this->debug)
{
echo "SQL : ".$user_where.$wheremod.$extra."<br>\n";
}
return $this->get_event_ids($repeats,$user_where.$wheremod.$extra.$order_by);
}
/* OLD-ALARM
function add_alarm($eventid,$alarm,$owner)
{
$this->stream->query('INSERT INTO phpgw_cal_alarm(cal_id,cal_owner,cal_time,cal_text,alarm_enabled) VALUES('.$eventid.','.$owner.','.$alarm['time'].",'".$alarm['text']."',1)",__LINE__,__FILE__);
$this->stream->query('SELECT LAST_INSERT_ID()');
$this->stream->next_record();
return($this->stream->f(0));
}
function delete_alarm($alarmid)
{
$this->stream->query('DELETE FROM phpgw_cal_alarm WHERE alarm_id='.$alarmid,__LINE__,__FILE__);
}
*/
} }

View File

@ -19,9 +19,7 @@
function soholiday() function soholiday()
{ {
global $phpgw; $this->db = $GLOBALS['phpgw']->db;
$this->db = $phpgw->db;
} }
/* Begin Holiday functions */ /* Begin Holiday functions */
@ -49,14 +47,12 @@
function store_to_array(&$holidays) function store_to_array(&$holidays)
{ {
global $phpgw;
while($this->db->next_record()) while($this->db->next_record())
{ {
$holidays[] = Array( $holidays[] = Array(
'index' => $this->db->f('hol_id'), 'index' => $this->db->f('hol_id'),
'locale' => $this->db->f('locale'), 'locale' => $this->db->f('locale'),
'name' => $phpgw->strip_html($this->db->f('name')), 'name' => $GLOBALS['phpgw']->strip_html($this->db->f('name')),
'day' => intval($this->db->f('mday')), 'day' => intval($this->db->f('mday')),
'month' => intval($this->db->f('month_num')), 'month' => intval($this->db->f('month_num')),
'occurence' => intval($this->db->f('occurence')), 'occurence' => intval($this->db->f('occurence')),
@ -65,15 +61,13 @@
); );
if($this->debug) if($this->debug)
{ {
echo "Holiday ID: ".$this->db->f("hol_id")."<br>\n"; echo 'Holiday ID: '.$this->db->f('hol_id').'<br>'."\n";
} }
} }
} }
function read_holidays($locales='',$query='',$order='',$year=0) function read_holidays($locales='',$query='',$order='',$year=0)
{ {
global $phpgw;
$holidays = Array(); $holidays = Array();
if($locales == '') if($locales == '')
@ -85,7 +79,7 @@
if($this->debug) if($this->debug)
{ {
echo "Read Holidays : ".$sql."<br>\n"; echo 'Read Holidays : '.$sql.'<br>'."\n";
} }
$this->db->query($sql,__LINE__,__FILE__); $this->db->query($sql,__LINE__,__FILE__);
@ -98,7 +92,7 @@
$holidays = Array(); $holidays = Array();
if($this->debug) if($this->debug)
{ {
echo "Reading Holiday ID : ".$id."<br>\n"; echo 'Reading Holiday ID : '.$id.'<br>'."\n";
} }
$this->db->query('SELECT * FROM phpgw_cal_holidays WHERE hol_id='.$id,__LINE__,__FILE__); $this->db->query('SELECT * FROM phpgw_cal_holidays WHERE hol_id='.$id,__LINE__,__FILE__);
$this->store_to_array($holidays); $this->store_to_array($holidays);
@ -186,7 +180,7 @@
if($this->debug) if($this->debug)
{ {
echo "HOLIDAY_TOTAL : ".$sql."<br>\n"; echo 'HOLIDAY_TOTAL : '.$sql.'<br>'."\n";
} }
$this->db->query($sql,__LINE__,__FILE__); $this->db->query($sql,__LINE__,__FILE__);

View File

@ -46,27 +46,25 @@
{ {
echo "BO Owner : ".$this->bo->owner."<br>\n"; echo "BO Owner : ".$this->bo->owner."<br>\n";
} }
$this->template_dir = $GLOBALS['phpgw']->common->get_tpl_dir('calendar'); $this->template_dir = $GLOBALS['phpgw']->common->get_tpl_dir('calendar');
$this->html = CreateObject('calendar.html');
} }
function prep_page() function prep_page()
{ {
$this->event = $this->bo->read_entry($this->bo->cal_id); $this->event = $this->bo->read_entry($this->bo->cal_id);
/*
$can_edit = $this->bo->cal->check_perms(PHPGW_ACL_EDIT,$this->event); $can_edit = $this->bo->bo->check_perms(PHPGW_ACL_EDIT,$this->event);
if(!$can_edit) if(!$can_edit)
{ {
Header('Location : '.$GLOBALS['phpgw']->link('/index.php', $GLOBALS['phpgw']->redirect_link('/index.php',Array(
Array( 'menuaction' => 'calendar.uicalendar.view',
'menuaction' => 'calendar.uicalendar.view', 'cal_id' => $this->bo->cal_id
'cal_id' => $this->bo->cal_id ));
)
)
);
} }
*/
unset($GLOBALS['phpgw_info']['flags']['noheader']); unset($GLOBALS['phpgw_info']['flags']['noheader']);
unset($GLOBALS['phpgw_info']['flags']['nonavbar']); unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
$GLOBALS['phpgw_info']['flags']['app_header'] = $GLOBALS['phpgw_info']['apps']['calendar']['title'].' - '.lang('Alarm Management'); $GLOBALS['phpgw_info']['flags']['app_header'] = $GLOBALS['phpgw_info']['apps']['calendar']['title'].' - '.lang('Alarm Management');
@ -74,7 +72,7 @@
$this->template = CreateObject('phpgwapi.Template',$this->template_dir); $this->template = CreateObject('phpgwapi.Template',$this->template_dir);
$this->template->set_unknowns('keep'); $this->template->set_unknowns('remove');
$this->template->set_file( $this->template->set_file(
Array( Array(
'alarm' => 'alarm.tpl' 'alarm' => 'alarm.tpl'
@ -84,10 +82,15 @@
$this->template->set_block('alarm','alarm_headers','alarm_headers'); $this->template->set_block('alarm','alarm_headers','alarm_headers');
$this->template->set_block('alarm','list','list'); $this->template->set_block('alarm','list','list');
$this->template->set_block('alarm','hr','hr'); $this->template->set_block('alarm','hr','hr');
$this->template->set_block('alarm','buttons','buttons');
} }
function output_template_array($row,$list,$var) function output_template_array($row,$list,$var)
{ {
if (!isset($var['tr_color']))
{
$var['tr_color'] = $GLOBALS['phpgw']->nextmatchs->alternate_row_color();
}
$this->template->set_var($var); $this->template->set_var($var);
$this->template->parse($row,$list,True); $this->template->parse($row,$list,True);
} }
@ -96,48 +99,106 @@
function manager() function manager()
{ {
$this->prep_page(); if ($_POST['delete'] && count($_POST['alarm']))
ExecMethod('calendar.uicalendar.view_event',$this->event);
echo "<br>\n";
$GLOBALS['phpgw']->template->set_var(array(
'hr_text' => lang('Alarms').':',
'button_left' => '',
'button_center' => '',
'button_right' => ''
));
$GLOBALS['phpgw']->template->fp('row','hr',True);
$GLOBALS['phpgw']->template->fp('phpgw_body','view_event');
$var = Array(
'action_url' => $GLOBALS['phpgw']->link('/index.php',Array('menuaction'=>'calendar.uialarm.form_handler')),
'time_lang' => lang('Time'),
'text_lang' => lang('Text'),
'enabled_pict' => $GLOBALS['phpgw']->common->image('calendar','enabled.gif'),
'disabled_pict' => $GLOBALS['phpgw']->common->image('calendar','disabled.gif')
);
$this->output_template_array('row','alarm_headers',$var);
if($this->event['alarm'])
{ {
@reset($this->event['alarm']); if ($this->bo->delete($_POST['alarm']) < 0)
while(list($key,$alarm) = each($this->event['alarm']))
{ {
$var = Array( echo '<center>'.lang('You do not have permission to delete this alarm !!!').'</center>';
'edit_box' => '<input type="checkbox" name="alarm[id]" value="'.$alarm['id'].'">', $GLOBALS['phpgw']->common->phpgw_exit(True);
'field' => $icon.$GLOBALS['phpgw']->common->show_date($alarm['time']), }
'data' => $alarm['text'], }
'alarm_enabled' => ($alarm['enabled']?'<img src="'.$GLOBALS['phpgw']->common->image('calendar','enabled.gif').'" width="13" height="13" alt="enabled">':'&nbsp;'), if (($_POST['enable'] || $_POST['disable']) && count($_POST['alarm']))
'alarm_disabled' => (!$alarm['enabled']?'<img src="'.$GLOBALS['phpgw']->common->image('calendar','disabled.gif').'" width="13" height="13" alt="disabled">':'&nbsp;') {
); if ($this->bo->enable($_POST['alarm'],$_POST['enable']) < 0)
$this->output_template_array('row','list',$var); {
echo '<center>'.lang('You do not have permission to enable/disable this alarm !!!').'</center>';
$GLOBALS['phpgw']->common->phpgw_exit(True);
} }
} }
$this->template->fp('phpgw_body','alarm_management');
}
function add_alarm()
{
$this->prep_page(); $this->prep_page();
if ($_POST['add'])
{
$time = intval($_POST['time']['days'])*24*3600 +
intval($_POST['time']['hours'])*3600 +
intval($_POST['time']['mins'])*60;
if ($time > 0 && !$this->bo->add($this->event,$time,$_POST['owner']))
{
echo '<center>'.lang('You do not have permission to add alarms to this event !!!').'</center>';
$GLOBALS['phpgw']->common->phpgw_exit(True);
}
}
if (!ExecMethod('calendar.uicalendar.view_event',$this->event))
{
echo '<center>'.lang('You do not have permission to read this record!').'</center>';
$GLOBALS['phpgw']->common->phpgw_exit(True);
}
echo "<br>\n";
$GLOBALS['phpgw']->template->set_var('th_bg',$this->theme['th_bg']);
$GLOBALS['phpgw']->template->set_var('hr_text',lang('Alarms').':');
$GLOBALS['phpgw']->template->fp('row','hr',True);
$GLOBALS['phpgw']->template->pfp('phpgw_body','view_event');
$var = Array(
'tr_color' => $this->theme['th_bg'],
'action_url' => $GLOBALS['phpgw']->link('/index.php',Array('menuaction'=>'calendar.uialarm.manager')),
'hidden_vars' => $this->html->input_hidden('cal_id',$this->bo->cal_id),
'lang_select' => lang('Select'),
'lang_time' => lang('Time'),
'lang_text' => lang('Text'),
'lang_owner' => lang('Owner'),
'lang_enabled' => lang('enabled'),
'lang_disabled' => lang('disabled'),
'lang_enabled' => lang('enabled'),
'lang_disabled' => lang('disabled')
);
if($this->event['alarm'])
{
$this->output_template_array('rows','alarm_headers',$var);
foreach($this->event['alarm'] as $key => $alarm)
{
if (!$this->bo->check_perms(PHPGW_ACL_READALARM,$alarm['owner']))
{
continue;
}
$var = Array(
'field' => $GLOBALS['phpgw']->common->show_date($alarm['time']),
//'data' => $alarm['text'],
'data' => 'Email Notification',
'owner' => $GLOBALS['phpgw']->common->grab_owner_name($alarm['owner']),
'enabled' => ($alarm['enabled']?'<img src="'.$GLOBALS['phpgw']->common->image('calendar','enabled.gif').'" width="13" height="13" title="'.lang('enabled').'">':
'<img src="'.$GLOBALS['phpgw']->common->image('calendar','disabled.gif').'" width="13" height="13" title="'.lang('disabled').'">'),
'select' => '<input type="checkbox" name="alarm['.$alarm['id'].']">'
);
if ($this->bo->check_perms(PHPGW_ACL_DELETEALARM,$alarm['owner']))
{
++$to_delete;
}
$this->output_template_array('rows','list',$var);
}
$this->template->set_var('enable_button',$this->html->submit_button('enable','Enable'));
$this->template->set_var('disable_button',$this->html->submit_button('disable','Disable'));
if ($to_delete)
{
$this->template->set_var('delete_button',$this->html->submit_button('delete','Delete',"return confirm('".lang("Are you sure\\nyou want to\\ndelete these alarms?")."')"));
}
$this->template->parse('rows','buttons',True);
}
if (isset($this->event['participants'][intval($GLOBALS['phpgw_info']['user']['account_id'])]))
{
$this->template->set_var(Array(
'input_text' => lang('Email reminder'),
'input_days' => $this->html->select('time[days]',$_POST['time']['days'],range(0,31),True).' '.lang('days'),
'input_hours' => $this->html->select('time[hours]',$_POST['time']['hours'],range(0,24),True).' '.lang('hours'),
'input_minutes' => $this->html->select('time[mins]',$_POST['time']['mins'],range(0,60),True).' '.lang('minutes').' '.lang('before the event'),
'input_owner' => $this->html->select('owner',$GLOBALS['phpgw_info']['user']['account_id'],$this->bo->participants($this->event,True),True),
'input_add' => $this->html->submit_button('add','Add Alarm')
));
}
//echo "<p>alarm_management='".htmlspecialchars($this->template->get_var('alarm_management'))."'</p>\n";
$this->template->pfp('out','alarm_management');
} }
} }
?>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,202 @@
<?php
/**************************************************************************\
* phpGroupWare - Calendar - Custom fields and sorting *
* http://www.phpgroupware.org *
* Written by Ralf Becker <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$ */
require_once(PHPGW_INCLUDE_ROOT.'/calendar/inc/class.bocustom_fields.inc.php');
$GLOBALS['phpgw_info']['flags']['included_classes']['bocustom_fields'] = True; // for 0.9.14
class uicustom_fields extends bocustom_fields
{
var $public_functions = array(
'index' => True,
'submited' => True
);
function uicustom_fields()
{
$this->bocustom_fields(); // call constructor of extended class
$this->tpl = $GLOBALS['phpgw']->template;
if (!is_object($GLOBALS['phpgw']->nextmatchs))
{
$GLOBALS['phpgw']->nextmatchs = CreateObject('phpgwapi.nextmatchs');
}
$this->html = CreateObject('calendar.html');
}
function index($error='')
{
unset($GLOBALS['phpgw_info']['flags']['noheader']);
unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
$GLOBALS['phpgw_info']['flags']['app_header'] = $GLOBALS['phpgw_info']['apps']['calendar']['title'].' - '.lang('Custom fields and sorting');
$GLOBALS['phpgw']->common->phpgw_header();
$this->tpl = $GLOBALS['phpgw']->template;
$this->tpl->set_unknowns('remove');
$this->tpl->set_file(array(
'custom_fields_tpl' => 'custom_fields.tpl'
));
$this->tpl->set_block('custom_fields_tpl','custom_fields','custom_fields');
$this->tpl->set_block('custom_fields_tpl','row','row');
$n = 0;
foreach($this->fields as $field => $data)
{
$data['order'] = ($n += 10);
if (isset($this->stock_fields[$field]))
{
$this->set_row($data,$field);
}
else
{
$this->set_row($data,$field,'delete','Delete');
}
}
$this->tpl->set_var(array(
'hidden_vars' => '',
'lang_error' => $error,
'lang_name' => lang('Name'),
'lang_length' => lang('Length<br>(<= 255)'),
'lang_shown' => lang('Length shown<br>(emtpy for full length)'),
'lang_order' => lang('Order'),
'lang_title' => lang('Title-row'),
'lang_disabled'=> lang('Disabled'),
'action_url' => $GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uicustom_fields.submited'),
'save_button' => $this->html->submit_button('save','Save'),
'cancel_button'=> $this->html->submit_button('cancel','Cancel'),
));
$this->set_row(array('order' => $n+10),'***new***','add','Add');
$this->tpl->pfp('out','custom_fields');
}
function set_row($values,$id='',$name='',$label='')
{
if ($id !== '')
{
$id = '['.htmlspecialchars($id).']';
}
$this->tpl->set_var(array(
'name' => $values['label'] ? lang($values['label']) : $this->html->input('name'.$id,$values['name'],'','SIZE="40" MAXLENGTH="40"'),
'length' => $values['label'] ? '&nbsp' : $this->html->input('length'.$id,$values['length'],'','SIZE="3"'),
'shown' => $values['label'] ? '&nbsp' : $this->html->input('shown'.$id,$values['shown'],'','SIZE="3"'),
'order' => $this->html->input('order'.$id,$values['order'],'','SIZE="3"'),
'title' => $this->html->checkbox('title'.$id,$values['title']),
'disabled'=> $this->html->checkbox('disabled'.$id,$values['disabled']),
'button' => $name ? $this->html->submit_button($name.$id,$label) : '&nbsp'
));
if ($name !== 'add')
{
$this->tpl->set_var('tr_color',$values['title'] ? $GLOBALS['phpgw_info']['theme']['th_bg'] : $GLOBALS['phpgw']->nextmatchs->alternate_row_color());
$this->tpl->parse('rows','row',True);
}
}
function submited()
{
if ($_POST['cancel'])
{
$GLOBALS['phpgw']->redirect_link('/admin/');
}
//echo "<pre>"; print_r($_POST); echo "</pre>";
foreach ($_POST['order'] as $field => $order)
{
if (isset($_POST['delete'][$field]) || $field == '***new***')
{
continue;
}
while(isset($ordered[$order]))
{
++$order;
}
$ordered[$order] = array(
'field' => $field,
'name' => stripslashes($_POST['name'][$field]),
'length' => intval($_POST['length'][$field]),
'shown' => intval($_POST['shown'][$field]),
'title' => !!$_POST['title'][$field],
'disabled' => !!$_POST['disabled'][$field]
);
if (isset($this->stock_fields[$field]))
{
$ordered[$order]['name'] = $this->fields[$field]['name'];
$ordered[$order]['label'] = $this->fields[$field]['label'];
}
}
if (isset($_POST['add']) || strlen($_POST['name']['***new***']))
{
$name = stripslashes($_POST['name']['***new***']);
if (!strlen($name) || array_search($name,$_POST['name']) != '***new***')
{
$error .= lang('New name must not exist and not be empty!!!');
}
else
{
$order = $_POST['order']['***new***'];
while(isset($_POST['order'][$order]))
{
++$order;
}
$ordered[$order] = array(
'field' => '#'.$name,
'name' => $name,
'length' => intval($_POST['length']['***new***']),
'shown' => intval($_POST['shown']['***new***']),
'title' => !!$_POST['title']['***new***'],
'disabled' => !!$_POST['disabled']['***new***']
);
}
}
//echo "<pre>"; print_r($ordered); echo "</pre>\n";
ksort($ordered,SORT_NUMERIC);
$this->fields = array();
foreach($ordered as $order => $data)
{
if ($data['length'] > 255)
{
$data['length'] = 255;
}
if ($data['length'] <= 0)
{
unset($data['length']);
}
if ($data['shown'] >= $data['length'] || $data['shown'] <= 0)
{
unset($data['shown']);
}
if (!$data['title'])
{
unset($data['title']);
}
if (!$data['disabled'])
{
unset($data['disabled']);
}
$field = $data['field'];
unset($data['field']);
$this->fields[$field] = $data;
}
if (!$error && isset($_POST['save']))
{
$this->save();
$GLOBALS['phpgw']->redirect_link('/admin/');
}
$this->index($error);
}
}
?>

View File

@ -81,7 +81,7 @@
@reset($locales); @reset($locales);
if (!$locales) if (!$locales)
{ {
$p->set_var('message',lang('No matches found.')); $p->set_var('message',lang('no matches found'));
$p->parse('rows','row_empty',True); $p->parse('rows','row_empty',True);
} }
else else
@ -118,6 +118,10 @@
function edit_locale($locale='') function edit_locale($locale='')
{ {
if ($locale === '')
{
$locale = $this->bo->locale;
}
if ($locale) if ($locale)
{ {
$this->bo->locales = array($locale); $this->bo->locales = array($locale);
@ -128,7 +132,7 @@
$link_params = Array( $link_params = Array(
'menuaction' => 'calendar.uiholiday.admin' 'menuaction' => 'calendar.uiholiday.admin'
); );
Header('Location: ' . $GLOBALS['phpgw']->link($this->base_url,$link_params)); $GLOBALS['phpgw']->redirect_link($this->base_url,$link_params);
} }
unset($GLOBALS['phpgw_info']['flags']['noheader']); unset($GLOBALS['phpgw_info']['flags']['noheader']);
unset($GLOBALS['phpgw_info']['flags']['nonavbar']); unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
@ -165,7 +169,7 @@
if (!count($holidays)) if (!count($holidays))
{ {
$p->set_var('message',lang('No matches found.')); $p->set_var('message',lang('no matches found'));
$p->parse('rows','row_empty',True); $p->parse('rows','row_empty',True);
} }
else else
@ -228,9 +232,9 @@
{ {
$holiday = $this->bo->read_entry($this->bo->id); $holiday = $this->bo->read_entry($this->bo->id);
} }
if ($GLOBALS['HTTP_GET_VARS']['locale']) if ($this->locale)
{ {
$holiday['locale'] = $GLOBALS['HTTP_GET_VARS']['locale']; $holiday['locale'] = $this->locale;
} }
unset($GLOBALS['phpgw_info']['flags']['noheader']); unset($GLOBALS['phpgw_info']['flags']['noheader']);
unset($GLOBALS['phpgw_info']['flags']['nonavbar']); unset($GLOBALS['phpgw_info']['flags']['nonavbar']);
@ -445,7 +449,7 @@
$this->bo->year = 0; // for a complete list with all years $this->bo->year = 0; // for a complete list with all years
$holidays = $this->bo->get_holiday_list(); $holidays = $this->bo->get_holiday_list();
if (isset($GLOBALS['HTTP_GET_VARS']['download'])) if (isset($_GET['download']))
{ {
$locale = $this->bo->locales[0]; $locale = $this->bo->locales[0];
$browser = CreateObject('phpgwapi.browser'); $browser = CreateObject('phpgwapi.browser');

View File

@ -87,7 +87,7 @@
echo "Start Time : ".$GLOBALS['phpgw']->common->show_date()."<br>\n"; echo "Start Time : ".$GLOBALS['phpgw']->common->show_date()."<br>\n";
@set_time_limit(0); @set_time_limit(0);
$icsfile=PHPGW_APP_INC.'/events.vcs'; $icsfile=PHPGW_APP_INC.'/events.ics';
$fp=fopen($icsfile,'rt'); $fp=fopen($icsfile,'rt');
$contents = explode("\n",fread($fp, filesize($icsfile))); $contents = explode("\n",fread($fp, filesize($icsfile)));
fclose($fp); fclose($fp);

View File

@ -9,18 +9,18 @@
* Free Software Foundation; either version 2 of the License, or (at your * * Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. * * option) any later version. *
\**************************************************************************/ \**************************************************************************/
/* $Id$ */ /* $Id$ */
{ {
// Only Modify the $file and $title variables..... // Only Modify the $file and $title variables.....
$title = $appname;
$file = Array $file = Array(
( 'Site Configuration' => $GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiconfig.index&appname=' . $appname),
'Site Configuration' => $GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiconfig.index&appname=' . $appname), 'Custom fields and sorting' => $GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uicustom_fields.index'),
'Calendar Holiday Management' => $GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uiholiday.admin'), 'Calendar Holiday Management' => $GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uiholiday.admin'),
'Global categories' => $GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicategories.index&appname=' . $appname . '&global_cats=True') 'Global Categories' => $GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicategories.index&appname=calendar')
); );
//Do not modify below this line //Do not modify below this line
$GLOBALS['phpgw']->common->display_mainscreen($appname,$file); display_section($appname,$title,$file);
} }
?> ?>

View File

@ -20,33 +20,35 @@
if($d1 == 'htt' || $d1 == 'ftp') if($d1 == 'htt' || $d1 == 'ftp')
{ {
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n"; echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True; $phpgw->common->phpgw_exit();
exit;
} }
unset($d1); unset($d1);
$GLOBALS['phpgw']->translation->add_app('calendar'); if ($calendar_id)
{
$GLOBALS['phpgw']->translation->add_app('calendar');
$cal = CreateObject('calendar.uicalendar'); $cal = CreateObject('calendar.uicalendar');
//echo "Event ID: $calendar_id<br>\n"; //echo "Event ID: $calendar_id<br>\n";
$event = $cal->bo->read_entry($calendar_id); if ($event = $cal->bo->read_entry($calendar_id))
{
echo $cal->timematrix(
Array(
'date' => $GLOBALS['phpgw']->datetime->localdates(mktime(0,0,0,$event['start']['month'],$event['start']['mday'],$event['start']['year']) - $phpgw->calendar->tz_offset),
'starttime' => $cal->bo->splittime('000000',False),
'endtime' => 0,
'participants' => $event['participants'])
) .
echo $cal->timematrix( '</td></tr><tr><td>' .
Array(
'date' => $GLOBALS['phpgw']->datetime->localdates(mktime(0,0,0,$event['start']['month'],$event['start']['mday'],$event['start']['year']) - $phpgw->calendar->tz_offset),
'starttime' => $cal->bo->splittime('000000',False),
'endtime' => 0,
'participants' => $event['participants'])
) .
'</td></tr><tr><td>' . $cal->view_event($event) .
$cal->view_event($event) . '</td></tr><tr><td align="center">' .
'</td></tr><tr><td align="center">' . $cal->get_response($calendar_id);
}
$cal->get_response($calendar_id); unset($cal); unset($event);
}
unset($cal); unset($event);
?> ?>

View File

@ -18,8 +18,7 @@
if($d1 == 'htt' || $d1 == 'ftp' ) if($d1 == 'htt' || $d1 == 'ftp' )
{ {
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n"; echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True; $GLOBALS['phpgw']->common->phpgw_exit();
exit;
} }
unset($d1); unset($d1);
@ -36,6 +35,8 @@
$GLOBALS['g_month'] = substr($GLOBALS['date'],4,2); $GLOBALS['g_month'] = substr($GLOBALS['date'],4,2);
$GLOBALS['g_day'] = substr($GLOBALS['date'],6,2); $GLOBALS['g_day'] = substr($GLOBALS['date'],6,2);
$GLOBALS['owner'] = $GLOBALS['phpgw_info']['user']['account_id']; $GLOBALS['owner'] = $GLOBALS['phpgw_info']['user']['account_id'];
$GLOBALS['css'] = "\n".'<STYLE type="text/css">'."\n".'<!--'."\n"
. ExecMethod('calendar.uicalendar.css').'-->'."\n".'</style>';
$page_ = explode('.',$GLOBALS['phpgw_info']['user']['preferences']['calendar']['defaultcalendar']); $page_ = explode('.',$GLOBALS['phpgw_info']['user']['preferences']['calendar']['defaultcalendar']);
$_page = substr($page_[0],0,7); // makes planner from planner_{user|category} $_page = substr($page_[0],0,7); // makes planner from planner_{user|category}
@ -52,11 +53,39 @@
} }
include(PHPGW_INCLUDE_ROOT.'/calendar/inc/hook_home_'.$_page.'.inc.php'); include(PHPGW_INCLUDE_ROOT.'/calendar/inc/hook_home_'.$_page.'.inc.php');
$title = '<font color="#FFFFFF">'.lang('Calendar').'</font>';
$portalbox = CreateObject('phpgwapi.listbox',
Array(
'title' => $title,
'primary' => $GLOBALS['phpgw_info']['theme']['navbar_bg'],
'secondary' => $GLOBALS['phpgw_info']['theme']['navbar_bg'],
'tertiary' => $GLOBALS['phpgw_info']['theme']['navbar_bg'],
'width' => '100%',
'outerborderwidth' => '0',
'header_background_image' => $GLOBALS['phpgw']->common->image('phpgwapi/templates/default','bg_filler')
)
);
$app_id = $GLOBALS['phpgw']->applications->name2id('calendar'); $app_id = $GLOBALS['phpgw']->applications->name2id('calendar');
$GLOBALS['portal_order'][] = $app_id; $GLOBALS['portal_order'][] = $app_id;
$var = Array(
'up' => Array('url' => '/set_box.php', 'app' => $app_id),
'down' => Array('url' => '/set_box.php', 'app' => $app_id),
'close' => Array('url' => '/set_box.php', 'app' => $app_id),
'question' => Array('url' => '/set_box.php', 'app' => $app_id),
'edit' => Array('url' => '/set_box.php', 'app' => $app_id)
);
$GLOBALS['phpgw']->portalbox->set_params(array('app_id' => $app_id, while(list($key,$value) = each($var))
'title' => lang('calendar'))); {
$GLOBALS['phpgw']->portalbox->draw($GLOBALS['extra_data']); $portalbox->set_controls($key,$value);
} }
$portalbox->data = Array();
echo "\n".'<!-- BEGIN Calendar info -->'."\n".$portalbox->draw($GLOBALS['extra_data'])."\n".'<!-- END Calendar info -->'."\n";
unset($cal);
}
flush();
?> ?>

View File

@ -18,12 +18,11 @@
if($d1 == 'htt' || $d1 == 'ftp' ) if($d1 == 'htt' || $d1 == 'ftp' )
{ {
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n"; echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True; $GLOBALS['phpgw']->common->phpgw_exit();
exit;
} }
unset($d1); unset($d1);
$GLOBALS['extra_data'] = '<td>'."\n".'<table border="0" cols="3"><tr><td align="center" width="35%" valign="top">' $GLOBALS['extra_data'] = $GLOBALS['css']."\n".'<td>'."\n".'<table border="0" cols="3"><tr><td align="center" width="35%" valign="top">'
. ExecMethod('calendar.uicalendar.mini_calendar', . ExecMethod('calendar.uicalendar.mini_calendar',
Array( Array(
'day' => $GLOBALS['g_day'], 'day' => $GLOBALS['g_day'],

View File

@ -18,12 +18,11 @@
if($d1 == 'htt' || $d1 == 'ftp' ) if($d1 == 'htt' || $d1 == 'ftp' )
{ {
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n"; echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True; $GLOBALS['phpgw']->common->phpgw_exit();
exit;
} }
unset($d1); unset($d1);
$GLOBALS['extra_data'] = '<td>'."\n".'<table border="0" cols="3"><tr><td align="center" width="100%" valign="top">' $GLOBALS['extra_data'] = $GLOBALS['css']."\n".'<td>'."\n".'<table border="0" cols="3"><tr><td align="center" width="100%" valign="top">'
. ExecMethod('calendar.uicalendar.get_month') . ExecMethod('calendar.uicalendar.get_month')
.'</td>'."\n".'</tr>'."\n".'</table>'."\n".'</td>'."\n"; .'</td>'."\n".'</tr>'."\n".'</table>'."\n".'</td>'."\n";
?> ?>

View File

@ -18,12 +18,11 @@
if($d1 == 'htt' || $d1 == 'ftp' ) if($d1 == 'htt' || $d1 == 'ftp' )
{ {
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n"; echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True; $GLOBALS['phpgw']->common->phpgw_exit();
exit;
} }
unset($d1); unset($d1);
$GLOBALS['extra_data'] = '<td>'."\n".'<table border="0" cols="3"><tr><td align="center" width="100%" valign="top">' $GLOBALS['extra_data'] = $GLOBALS['css']."\n".'<td>'."\n".'<table border="0" cols="3"><tr><td align="center" width="100%" valign="top">'
. ExecMethod('calendar.uicalendar.get_week') . ExecMethod('calendar.uicalendar.get_week')
.'</td>'."\n".'</tr>'."\n".'</table>'."\n".'</td>'."\n"; .'</td>'."\n".'</tr>'."\n".'</table>'."\n".'</td>'."\n";
?> ?>

View File

@ -18,12 +18,11 @@
if($d1 == 'htt' || $d1 == 'ftp' ) if($d1 == 'htt' || $d1 == 'ftp' )
{ {
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n"; echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True; $GLOBALS['phpgw']->common->phpgw_exit();
exit;
} }
unset($d1); unset($d1);
$GLOBALS['extra_data'] = '<td>'."\n".'<table border="0" cols="3"><tr><td align="center" width="100%" valign="top">' $GLOBALS['extra_data'] = $GLOBALS['css']."\n".'<td>'."\n".'<table border="0" cols="3"><tr><td align="center" width="100%" valign="top">'
. ExecMethod('calendar.uicalendar.get_year') . ExecMethod('calendar.uicalendar.get_year')
.'</td>'."\n".'</tr>'."\n".'</table>'."\n".'</td>'."\n"; .'</td>'."\n".'</tr>'."\n".'</table>'."\n".'</td>'."\n";
?> ?>

View File

@ -15,52 +15,103 @@
/* $Id$ */ /* $Id$ */
create_check_box('show default view on main screen','mainscreen_showevents'); ExecMethod('calendar.bocalendar.check_set_default_prefs');
create_select_box('weekday starts on','weekdaystarts',array( $default = array(
'day' => lang('Daily'),
'week' => lang('Weekly'),
'month' => lang('Monthly'),
'year' => lang('Yearly'),
'planner_cat' => lang('Planner by category'),
'planner_user' => lang('Planner by user'),
);
create_select_box('default calendar view','defaultcalendar',$default,
'Which of calendar view do you want to see, when you start calendar ?');
create_check_box('show default view on main screen','mainscreen_showevents',
'Displays your default calendar view on the startpage (page you get when you enter phpGroupWare or click on the homepage icon)?');
/*
$summary = array(
'no' => lang('Never'),
'daily' => lang('Daily'),
'weekly' => lang('Weekly')
);
create_select_box('Receive summary of appointments','summary',$summary,
'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.');
*/
$updates = array(
'no' => lang('Never'),
'add_cancel' => lang('on invitation / cancelation only'),
'time_change_4h' => lang('on time change of more than 4 hours too'),
'time_change' => lang('on any time change too'),
'modifications' => lang('on all modification, but responses'),
'responses' => lang('on participant responses too')
);
create_select_box('Receive email updates','receive_updates',$updates,
"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.");
$update_formats = array(
'none' => lang('None'),
'extended' => lang('Extended'),
'ical' => lang('iCal / rfc2445')
);
create_select_box('Format of event updates','update_format',$update_formats,
'Extended updates always include the complete event-details. iCal\'s can be imported by certain other calendar-applications.');
$event_details = array(
'to-fullname' => lang('Fullname of person to notify'),
'to-firstname'=> lang('Firstname of person to notify'),
'to-lastname' => lang('Lastname of person to notify'),
'title' => lang('Title of the event'),
'description' => lang('Description'),
'startdate' => lang('Start Date/Time'),
'enddate' => lang('End Date/Time'),
'olddate' => lang('Old Startdate'),
'category' => lang('Category'),
'location' => lang('Location'),
'priority' => lang('Priority'),
'participants'=> lang('Participants'),
'owner' => lang('Owner'),
'repetition' => lang('Repetitiondetails (or empty)'),
'action' => lang('Action that caused the notify: Added, Canceled, Accepted, Rejected, ...')
);
create_notify('Notification messages for added events ','notifyAdded',5,50,
'This message is sent to every participant of events you own, who has requested notifcations about new events.<br>You can use certain variables which get substituted with the data of the event. The first line is the subject of the email.',
'',$event_details);
create_notify('Notification messages for canceled events ','notifyCanceled',5,50,
'This message is sent for canceled or deleted events.','',$event_details,False);
create_notify('Notification messages for modified events ','notifyModified',5,50,
'This message is sent for modified or moved events.','',$event_details,False);
create_notify('Notification messages for your responses ','notifyResponse',5,50,
'This message is sent when you accept, tentative accept or reject an event.',
'',$event_details,False);
create_notify('Notification messages for your alarms','notifyAlarm',5,50,
'This message is sent when you set an Alarm for a certain event. Include all information you might need.',
'',$event_details,False);
create_check_box('Show invitations you rejected','show_rejected',
'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!');
create_check_box('Display status of events','display_status',
'Should the status of the event-participants (accept, reject, ...) be shown in brakets after each participants name ?');
$weekdaystarts = array(
'Monday' => lang('Monday'), 'Monday' => lang('Monday'),
'Sunday' => lang('Sunday'), 'Sunday' => lang('Sunday'),
'Saturday' => lang('Saturday') 'Saturday' => lang('Saturday')
)); );
create_select_box('weekday starts on','weekdaystarts',$weekdaystarts,
'This day is shown as first day in the week or month view.');
for ($i=0; $i < 24; ++$i) for ($i=0; $i < 24; ++$i)
{ {
$options[$i] = $GLOBALS['phpgw']->common->formattime($i,'00'); $options[$i] = $GLOBALS['phpgw']->common->formattime($i,'00');
} }
create_select_box('work day starts on','workdaystarts',$options); create_select_box('work day starts on','workdaystarts',$options,
create_select_box('work day ends on','workdayends',$options); 'This defines the start of your dayview. Events before this time, are shown above the dayview.<br>This time is also used as a default starttime for new events.');
unset($options); create_select_box('work day ends on','workdayends',$options,
'This defines the end of your dayview. Events after this time, are shown below the dayview.');
create_select_box('default calendar view','defaultcalendar',array( $intervals = array(
'planner_cat' => lang('Planner by category'),
'planner_user' => lang('Planner by user'),
'year' => lang('Yearly'),
'month' => lang('Monthly'),
'week' => lang('Weekly'),
'day' => lang('Daily')
));
$groups = $GLOBALS['phpgw']->accounts->membership($GLOBALS['phpgw_info']['user']['account_id']);
$options = array(-1 => lang('none'));
foreach($groups as $group)
{
$options[$group['account_id']] = $GLOBALS['phpgw']->common->grab_owner_name($group['account_id']);
}
create_select_box('Preselected group for entering the planner','planner_start_with_group',$options);
unset($groups);
unset($options);
unset($group);
create_select_box('Default calendar filter','defaultfilter',array(
'all' => lang('all'),
'private' => lang('private only'),
// 'public' => lang('global public only'),
// 'group' => lang('group public only'),
// 'private+public' => lang('private and global public'),
// 'private+group' => lang('private and group public'),
// 'public+group' => lang('global public and group public')
));
create_select_box('Display interval in Day View','interval',array(
5 => '5', 5 => '5',
10 => '10', 10 => '10',
15 => '15', 15 => '15',
@ -68,22 +119,50 @@
30 => '30', 30 => '30',
45 => '45', 45 => '45',
60 => '60' 60 => '60'
)); );
create_select_box('Intervals in day view','interval',$intervals,
'Defines the size in minutes of the lines in the day view.');
create_input_box('default appointment length (in minutes)','defaultlength',
'Default length of newly created events. The length is in minutes, eg. 60 for 1 hour.','',3);
$groups = $GLOBALS['phpgw']->accounts->membership($GLOBALS['phpgw_info']['user']['account_id']);
$options = array(-1 => lang('none'));
if (is_array($groups))
{
foreach($groups as $group)
{
$options[$group['account_id']] = $GLOBALS['phpgw']->common->grab_owner_name($group['account_id']);
}
}
create_select_box('Preselected group for entering the planner','planner_start_with_group',$options,
'This group that is preselected when you enter the planner. You can change it in the planner anytime you want.');
create_select_box('Number of Intervals per Day in Planner View','planner_intervals_per_day',array( $planner_intervals = array(
1 => '1', 1 => '1',
2 => '2', 2 => '2',
3 => '3', 3 => '3',
4 => '4', 4 => '4',
)); );
create_select_box('Intervals per day in planner view','planner_intervals_per_day',
$planner_intervals,'Specifies the the number of intervals shown in the planner view.');
create_check_box('Send/receive updates via email','send_updates'); $defaultfilter = array(
create_check_box('Receive extra information in event mails','send_extra'); 'all' => lang('all'),
'private' => lang('private only'),
// 'public' => lang('global public only'),
// 'group' => lang('group public only'),
// 'private+public' => lang('private and global public'),
// 'private+group' => lang('private and group public'),
// 'public+group' => lang('global public and group public')
);
create_select_box('Default calendar filter','defaultfilter',$defaultfilter,
'Which events do you want to see when you enter the calendar.');
create_check_box('Display status of events','display_status'); create_check_box('Set new events to private','default_private',
'Should new events created as private by default ?');
create_check_box('When creating new events default set to private','default_private'); create_check_box('Print the mini calendars','display_minicals',
'Should the mini calendars by printed / displayed in the printer friendly views ?');
create_check_box('Display mini calendars when printing','display_minicals'); 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)?');
create_check_box('Print calendars in black & white','print_black_white');

View File

@ -0,0 +1,64 @@
<?php
/**************************************************************************\
* phpGroupWare - Calendar's Sidebox-Menu for idots-template *
* http://www.phpgroupware.org *
* Written by Pim Snel <pim@lingewoud.nl> *
* -------------------------------------------- *
* 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$ */
{
/*
This hookfile is for generating an app-specific side menu used in the idots
template set.
$menu_title speaks for itself
$file is the array with link to app functions
display_sidebox can be called as much as you like
*/
$menu_title = $GLOBALS['phpgw_info']['apps'][$appname]['title'] . ' '. lang('Menu');
$file = Array(
'New Entry' => $GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uicalendar.add'),
'_NewLine_'=>'', // give a newline
'Today'=>$GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uicalendar.day'),
'This week'=>$GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uicalendar.week'),
'This month'=>$GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uicalendar.month'),
'This year'=>$GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uicalendar.year'),
'_NewLine_'=>'', // give a newline
'Group Planner'=>$GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uicalendar.planner'),
'Daily Matrix View'=>$GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uicalendar.matrixselect'),
'Import'=>$GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uiicalendar.import')
);
display_sidebox($appname,$menu_title,$file);
if ($GLOBALS['phpgw_info']['user']['apps']['preferences'])
{
$menu_title = lang('Preferences');
$file = Array(
'Calendar preferences'=>$GLOBALS['phpgw']->link('/preferences/preferences.php','appname=calendar'),
'Grant Access'=>$GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app=calendar'),
'Edit Categories' =>$GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uicategories.index&cats_app=calendar&cats_level=True&global_cats=True'),
);
display_sidebox($appname,$menu_title,$file);
}
if ($GLOBALS['phpgw_info']['user']['apps']['admin'])
{
$menu_title = lang('Administration');
$file = Array(
'Configuration'=>$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiconfig.index&appname=calendar'),
'Custom Fields'=>$GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uicustom_fields.index'),
'Holiday Management'=>$GLOBALS['phpgw']->link('/index.php','menuaction=calendar.uiholiday.admin'),
'Global Categories' =>$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicategories.index&appname=calendar'),
);
display_sidebox($appname,$menu_title,$file);
}
}
?>

View File

@ -35,8 +35,9 @@
'menuaction'=> 'calendar.uicalendar.index', 'menuaction'=> 'calendar.uicalendar.index',
'date' => date('Ymd',$GLOBALS['phpgw']->datetime->users_localtime) 'date' => date('Ymd',$GLOBALS['phpgw']->datetime->users_localtime)
); );
// echo 'Local DateTime: '.date('Ymd H:i:s',$GLOBALS['phpgw']->datetime->users_localtime).'<br>'."\n";
Header('Location: '.$GLOBALS['phpgw']->link('/index.php',$parms)); Header('Location: '.$GLOBALS['phpgw']->link('/index.php',$parms));
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True; $GLOBALS['phpgw']->common->phpgw_exit();
exit;
?> ?>

View File

@ -88,8 +88,7 @@
$phpgw->preferences->save_repository(True); $phpgw->preferences->save_repository(True);
Header('Location: '.$phpgw->link('/preferences/index.php')); Header('Location: '.$phpgw->link('/preferences/index.php'));
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True; $phpgw->common->phpgw_exit();
exit;
} }
function display_item($field,$data) function display_item($field,$data)
@ -107,6 +106,7 @@
} }
$phpgw->common->phpgw_header(); $phpgw->common->phpgw_header();
echo parse_navbar();
$p = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('calendar')); $p = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('calendar'));
$templates = Array( $templates = Array(
@ -235,4 +235,5 @@
display_item(lang('Print calendars in black & white'),$str); display_item(lang('Print calendars in black & white'),$str);
$p->pparse('out','pref'); $p->pparse('out','pref');
$phpgw->common->phpgw_footer();
?> ?>

99
calendar/setup/holidays.AU Executable file
View File

@ -0,0 +1,99 @@
National Fixed:
AU New Year's Day 1 1 0 0 1
AU Australia Day 26 1 0 0 1
AU ANZAC Day 25 4 0 0 1
AU Queen's Birthday (not WA) 0 6 2 1 0
AU Christmas Day 25 12 0 0 1
AU Boxing Day (not SA) 26 12 0 0 1
Regional:
AU ACT: Union Picnic Day 0 3 1 1 0
AU Tas: Royal Hobart Regatta 0 2 2 1 0
AU Tas: Launceston Cup 0 2 99 3 0
AU Vic: Labour Day 0 3 2 1 0
AU Tas: Eight Hours Day 0 3 2 1 0
AU ACT: Canberra Day 0 3 3 1 0
AU NT: May Day 0 5 1 1 0
AU Qld: Labour Day 0 5 1 1 0
AU SA: Adelaide Cup Day 0 5 3 1 0
AU WA: Foundation Day 0 6 1 1 0
AU ACT/NSW: Bank Holiday 0 8 1 1 0
AU NT: Picnic Day 0 8 1 1 0
AU Qld: Show Day 0 8 2 3 0
AU ACT/NSW/SA: Labour Day 0 10 1 1 0
AU Tas: Launceston Show 0 10 1 4 0
AU Tas: Hobart Show 0 10 3 4 0
AU WA: Queen's Birthday 0 10 5 1 0
AU Tas: Recreation Day 0 11 1 1 0
AU Vic: Melbourne Cup 0 11 1 2 0
AU SA: Proclamation Day 26 12 0 0 1
2002:
AU Good Friday 29 3 2002 0 0
AU Easter Sunday 1 4 2002 0 0
AU Easter Monday 2 4 2002 0 0
2003:
AU Good Friday 18 4 2003 0 0
AU Easter Sunday 20 4 2003 0 0
AU Easter Monday 21 4 2003 0 0
2004:
AU Good Friday 9 4 2004 0 0
AU Easter Sunday 11 4 2004 0 0
AU Easter Monday 12 4 2004 0 0
2005:
AU Good Friday 25 3 2005 0 0
AU Easter Sunday 27 3 2005 0 0
AU Easter Monday 28 3 2005 0 0
2006:
AU Good Friday 14 4 2006 0 0
AU Easter Sunday 16 4 2006 0 0
AU Easter Monday 17 4 2006 0 0
2007:
AU Good Friday 6 4 2007 0 0
AU Easter Sunday 8 4 2007 0 0
AU Easter Monday 9 4 2007 0 0
2008:
AU Good Friday 21 3 2008 0 0
AU Easter Sunday 23 3 2008 0 0
AU Easter Monday 24 3 2008 0 0
2009:
AU Good Friday 10 4 2009 0 0
AU Easter Sunday 12 4 2009 0 0
AU Easter Monday 13 4 2009 0 0
2010:
AU Good Friday 2 4 2010 0 0
AU Easter Sunday 4 4 2010 0 0
AU Easter Monday 5 4 2010 0 0
2011:
AU Good Friday 22 4 2011 0 0
AU Easter Sunday 24 4 2011 0 0
AU Easter Monday 25 4 2011 0 0
2012:
AU Good Friday 6 4 2012 0 0
AU Easter Sunday 8 4 2012 0 0
AU Easter Monday 9 4 2012 0 0
2013:
AU Good Friday 29 3 2013 0 0
AU Easter Sunday 31 3 2013 0 0
AU Easter Monday 1 4 2013 0 0
2014:
AU Good Friday 18 4 2014 0 0
AU Easter Sunday 20 4 2014 0 0
AU Easter Monday 21 4 2014 0 0
2015:
AU Good Friday 3 4 2015 0 0
AU Easter Sunday 5 4 2015 0 0
AU Easter Monday 6 4 2015 0 0

View File

@ -1,5 +1,25 @@
CA Quebec Civic Holiday 3 1 0 0 1 CA New Years 1 1 0 0 0
CA Civic Holiday (Quebec) 2 1 0 0 0
CA Valentines Day 14 2 0 0 0
CA St Patricks Day 17 3 0 0 0
CA Beginning of Spring 20 3 0 0 0
CA Good Friday 25 3 2005 0 0
CA Easter 27 3 2005 0 0
CA Easter Monday 28 3 2005 0 0
CA Good Friday 9 4 2004 0 0
CA Easter 11 4 2004 0 0
CA Easter Monday 12 4 2004 0 0
CA Good Friday 18 4 2003 5 0
CA Easter 20 4 2003 0 0
CA Easter Monday 21 4 2003 1 0
CA Victoria Day (Monday b4 M24) 0 5 3 1 0
CA Mothers Day 0 5 2 0 0
CA Fathers Day 0 6 3 0 0
CA St Jean Baptiste Day (Quebec) 24 6 0 0 0
CA Canada Day 1 7 0 0 0
CA Canadian Civic Holiday 0 8 1 1 0 CA Canadian Civic Holiday 0 8 1 1 0
CA Rememberence Day 11 11 0 0 1 CA Labour Day 0 9 1 1 0
CA Thanksgiving 25 10 2 1 0
CA Remembrance Day 11 11 0 0 0
CA Christmas Day 25 12 0 0 1 CA Christmas Day 25 12 0 0 1
CA Boxing Day 26 12 0 0 1 CA Boxing Day 26 12 0 0 0

256
calendar/setup/holidays.DE Normal file
View File

@ -0,0 +1,256 @@
Regelmässig:
DE Sylvester 31 12 0 0 0
DE Neujahr 1 1 0 0 0
DE Hl. Drei Könige (Bw,By,St) 6 1 0 0 0
DE Maifeiertag 1 5 0 0 0
DE Maria Himmelfahrt (Sl) 15 8 0 0 0
DE Tag d. Dt. Einheit 3 10 0 0 0
DE Reformationstag (Bb,Mv,Sn,St) 31 10 0 0 0
DE Allerheiligen (Bw,By,Nw,Rp,Sl) 1 11 0 0 0
DE Heiliger Abend 24 12 0 0 0
DE 1. Weihnachtstag 25 12 0 0 0
DE 2. Weihnachtstag 26 12 0 0 0
2002:
DE Gründonnerstag 28 3 2002 0 0
DE Karfreitag 29 3 2002 0 0
DE Ostersonntag 1 4 2002 0 0
DE Ostermontag 2 4 2002 0 0
DE Christi Himmelfahrt 9 5 2002 0 0
DE Pfingstsonntag 19 5 2002 0 0
DE Pfingstmontag 20 5 2002 0 0
DE Fronleichnam 30 5 2002 0 0
2003:
DE Rosenmontag 3 3 2003 0 0
DE Fastnacht 4 3 2003 0 0
DE Aschermittwoch 5 3 2003 0 0
DE Gründonnerstag 17 4 2003 0 0
DE Karfreitag 18 4 2003 0 0
DE Ostersonntag 20 4 2003 0 0
DE Ostermontag 21 4 2003 0 0
DE Christi Himmelfahrt 29 5 2003 0 0
DE Pfingstsonntag 8 6 2003 0 0
DE Pfingstmontag 9 6 2003 0 0
DE Fronleichnam 19 6 2003 0 0
DE Buß- und Bettag 19 11 2003 0 0
DE 1. Advent 30 11 2003 0 0
DE 2. Advent 7 12 2003 0 0
DE 3. Advent 14 12 2003 0 0
DE 4. Advent 21 12 2003 0 0
2004:
DE Rosenmontag 23 2 2004 0 0
DE Fastnacht 24 2 2004 0 0
DE Aschermittwoch 25 2 2004 0 0
DE Gründonnerstag 8 4 2004 0 0
DE Karfreitag 9 4 2004 0 0
DE Ostersonntag 11 4 2004 0 0
DE Ostermontag 12 4 2004 0 0
DE Christi Himmelfahrt 20 5 2004 0 0
DE Pfingstsonntag 30 5 2004 0 0
DE Pfingstmontag 31 5 2004 0 0
DE Fronleichnam 10 6 2004 0 0
DE Buß- und Bettag 17 11 2004 0 0
DE 1. Advent 28 11 2004 0 0
DE 2. Advent 5 12 2004 0 0
DE 3. Advent 12 12 2004 0 0
DE 4. Advent 19 12 2004 0 0
2005:
DE Rosenmontag 7 2 2005 0 0
DE Fastnacht 8 2 2005 0 0
DE Aschermittwoch 9 2 2005 0 0
DE Gründonnerstag 24 3 2005 0 0
DE Karfreitag 25 3 2005 0 0
DE Ostersonntag 27 3 2005 0 0
DE Ostermontag 28 3 2005 0 0
DE Christi Himmelfahrt 5 5 2005 0 0
DE Pfingstsonntag 15 5 2005 0 0
DE Pfingstmontag 16 5 2005 0 0
DE Fronleichnam 26 5 2005 0 0
DE Buß- und Bettag 16 11 2005 0 0
DE 1. Advent 27 11 2005 0 0
DE 2. Advent 4 12 2005 0 0
DE 3. Advent 11 12 2005 0 0
DE 4. Advent 18 12 2005 0 0
2006:
DE Rosenmontag 27 2 2006 0 0
DE Fastnacht 28 2 2006 0 0
DE Aschermittwoch 1 3 2006 0 0
DE Gründonnerstag 13 4 2006 0 0
DE Karfreitag 14 4 2006 0 0
DE Ostersonntag 16 4 2006 0 0
DE Ostermontag 17 4 2006 0 0
DE Christi Himmelfahrt 25 5 2006 0 0
DE Pfingstsonntag 4 6 2006 0 0
DE Pfingstmontag 5 6 2006 0 0
DE Fronleichnam 15 6 2006 0 0
DE Buß- und Bettag 22 11 2006 0 0
DE 1. Advent 3 12 2006 0 0
DE 2. Advent 10 12 2006 0 0
DE 3. Advent 17 12 2006 0 0
DE 4. Advent 24 12 2006 0 0
2007:
DE Rosenmontag 19 2 2007 0 0
DE Fastnacht 20 2 2007 0 0
DE Aschermittwoch 21 2 2007 0 0
DE Gründonnerstag 5 4 2007 0 0
DE Karfreitag 6 4 2007 0 0
DE Ostersonntag 8 4 2007 0 0
DE Ostermontag 9 4 2007 0 0
DE Christi Himmelfahrt 17 5 2007 0 0
DE Pfingstsonntag 27 5 2007 0 0
DE Pfingstmontag 28 5 2007 0 0
DE Fronleichnam 7 6 2007 0 0
DE Buß- und Bettag 21 11 2007 0 0
DE 1. Advent 2 12 2007 0 0
DE 2. Advent 9 12 2007 0 0
DE 3. Advent 16 12 2007 0 0
DE 4. Advent 23 12 2007 0 0
2008:
DE Rosenmontag 4 2 2008 0 0
DE Fastnacht 5 2 2008 0 0
DE Aschermittwoch 6 2 2008 0 0
DE Gründonnerstag 20 3 2008 0 0
DE Karfreitag 21 3 2008 0 0
DE Ostersonntag 23 3 2008 0 0
DE Ostermontag 24 3 2008 0 0
DE Christi Himmelfahrt 1 5 2008 0 0
DE Pfingstsonntag 11 5 2008 0 0
DE Pfingstmontag 12 5 2008 0 0
DE Fronleichnam 22 5 2008 0 0
DE Buß- und Bettag 19 11 2008 0 0
DE 1. Advent 30 11 2008 0 0
DE 2. Advent 7 12 2008 0 0
DE 3. Advent 14 12 2008 0 0
DE 4. Advent 21 12 2008 0 0
2009:
DE Rosenmontag 23 2 2009 0 0
DE Fastnacht 24 2 2009 0 0
DE Aschermittwoch 25 2 2009 0 0
DE Gründonnerstag 9 4 2009 0 0
DE Karfreitag 10 4 2009 0 0
DE Ostersonntag 12 4 2009 0 0
DE Ostermontag 13 4 2009 0 0
DE Christi Himmelfahrt 21 5 2009 0 0
DE Pfingstsonntag 31 5 2009 0 0
DE Pfingstmontag 1 6 2009 0 0
DE Fronleichnam 11 6 2009 0 0
DE Buß- und Bettag 18 11 2009 0 0
DE 1. Advent 29 11 2009 0 0
DE 2. Advent 6 12 2009 0 0
DE 3. Advent 13 12 2009 0 0
DE 4. Advent 20 12 2009 0 0
2010:
DE Rosenmontag 15 2 2010 0 0
DE Fastnacht 16 2 2010 0 0
DE Aschermittwoch 17 2 2010 0 0
DE Gründonnerstag 1 4 2010 0 0
DE Karfreitag 2 4 2010 0 0
DE Ostersonntag 4 4 2010 0 0
DE Ostermontag 5 4 2010 0 0
DE Christi Himmelfahrt 13 5 2010 0 0
DE Pfingstsonntag 23 5 2010 0 0
DE Pfingstmontag 24 5 2010 0 0
DE Fronleichnam 3 6 2010 0 0
DE Buß- und Bettag 17 11 2010 0 0
DE 1. Advent 28 11 2010 0 0
DE 2. Advent 5 12 2010 0 0
DE 3. Advent 12 12 2010 0 0
DE 4. Advent 19 12 2010 0 0
2011:
DE Rosenmontag 7 3 2011 0 0
DE Fastnacht 8 3 2011 0 0
DE Aschermittwoch 9 3 2011 0 0
DE Gründonnerstag 21 4 2011 0 0
DE Karfreitag 22 4 2011 0 0
DE Ostersonntag 24 4 2011 0 0
DE Ostermontag 25 4 2011 0 0
DE Christi Himmelfahrt 2 6 2011 0 0
DE Pfingstsonntag 12 6 2011 0 0
DE Pfingstmontag 13 6 2011 0 0
DE Fronleichnam 23 6 2011 0 0
DE Buß- und Bettag 16 11 2011 0 0
DE 1. Advent 27 11 2011 0 0
DE 2. Advent 4 12 2011 0 0
DE 3. Advent 11 12 2011 0 0
DE 4. Advent 18 12 2011 0 0
2012:
DE Rosenmontag 20 2 2012 0 0
DE Fastnacht 21 2 2012 0 0
DE Aschermittwoch 22 2 2012 0 0
DE Gründonnerstag 5 4 2012 0 0
DE Karfreitag 6 4 2012 0 0
DE Ostersonntag 8 4 2012 0 0
DE Ostermontag 9 4 2012 0 0
DE Christi Himmelfahrt 17 5 2012 0 0
DE Pfingstsonntag 27 5 2012 0 0
DE Pfingstmontag 28 5 2012 0 0
DE Fronleichnam 7 6 2012 0 0
DE Buß- und Bettag 21 11 2012 0 0
DE 1. Advent 2 12 2012 0 0
DE 2. Advent 9 12 2012 0 0
DE 3. Advent 16 12 2012 0 0
DE 4. Advent 23 12 2012 0 0
2013:
DE Rosenmontag 11 2 2013 0 0
DE Fastnacht 12 2 2013 0 0
DE Aschermittwoch 13 2 2013 0 0
DE Gründonnerstag 28 3 2013 0 0
DE Karfreitag 29 3 2013 0 0
DE Ostersonntag 31 3 2013 0 0
DE Ostermontag 1 4 2013 0 0
DE Christi Himmelfahrt 9 5 2013 0 0
DE Pfingstsonntag 19 5 2013 0 0
DE Pfingstmontag 20 5 2013 0 0
DE Fronleichnam 30 5 2013 0 0
DE Buß- und Bettag 20 11 2013 0 0
DE 1. Advent 1 12 2013 0 0
DE 2. Advent 8 12 2013 0 0
DE 3. Advent 15 12 2013 0 0
DE 4. Advent 22 12 2013 0 0
2014:
DE Rosenmontag 3 3 2014 0 0
DE Fastnacht 4 3 2014 0 0
DE Aschermittwoch 5 3 2014 0 0
DE Gründonnerstag 17 4 2014 0 0
DE Karfreitag 18 4 2014 0 0
DE Ostersonntag 20 4 2014 0 0
DE Ostermontag 21 4 2014 0 0
DE Christi Himmelfahrt 29 5 2014 0 0
DE Pfingstsonntag 8 6 2014 0 0
DE Pfingstmontag 9 6 2014 0 0
DE Fronleichnam 19 6 2014 0 0
DE Buß- und Bettag 19 11 2014 0 0
DE 1. Advent 30 11 2014 0 0
DE 2. Advent 7 12 2014 0 0
DE 3. Advent 14 12 2014 0 0
DE 4. Advent 21 12 2014 0 0
2015:
DE Rosenmontag 16 2 2015 0 0
DE Fastnacht 17 2 2015 0 0
DE Aschermittwoch 18 2 2015 0 0
DE Gründonnerstag 2 4 2015 0 0
DE Karfreitag 3 4 2015 0 0
DE Ostersonntag 5 4 2015 0 0
DE Ostermontag 6 4 2015 0 0
DE Christi Himmelfahrt 14 5 2015 0 0
DE Pfingstsonntag 24 5 2015 0 0
DE Pfingstmontag 25 5 2015 0 0
DE Fronleichnam 4 6 2015 0 0
DE Buß- und Bettag 18 11 2015 0 0
DE 1. Advent 29 11 2015 0 0
DE 2. Advent 6 12 2015 0 0
DE 3. Advent 13 12 2015 0 0
DE 4. Advent 20 12 2015 0 0

View File

@ -0,0 +1,26 @@
FR Jour de l'an 1 1 0 0 0
FR Lundi de Pâques 24 3 2008 0 0
FR Lundi de Pâques 28 3 2005 0 0
FR Lundi de Pâques 9 4 2007 0 0
FR Lundi de Pâques 12 4 2004 0 0
FR Lundi de Pâques 17 4 2006 0 0
FR Lundi de Pâques 21 4 2003 0 0
FR Fête du travail 1 5 0 0 0
FR Ascension 1 5 2008 0 0
FR Ascension 5 5 2005 0 0
FR Fête de la libération 8 5 0 0 0
FR Lundi de Pentecôte 12 5 2008 0 0
FR Lundi de Pentecôte 16 5 2005 0 0
FR Ascension 17 5 2007 0 0
FR Ascension 20 5 2004 0 0
FR Ascension 25 5 2006 0 0
FR Lundi de Pentecôte 28 5 2007 0 0
FR Ascension 29 5 2003 0 0
FR Lundi de Pentecôte 31 5 2004 0 0
FR Lundi de Pentecôte 5 6 2006 0 0
FR Lundi de Pentecôte 9 6 2003 0 0
FR Fête nationale 14 7 0 0 0
FR Assomption 15 8 0 0 0
FR Toussaint 1 11 0 0 0
FR Armistice 11 11 0 0 0
FR Noël 25 12 0 0 0

View File

@ -4,10 +4,9 @@ JP
JP 春分の日 0 3 0 0 1 JP 春分の日 0 3 0 0 1
JP みどりの日 29 4 0 0 1 JP みどりの日 29 4 0 0 1
JP 憲法記念日 3 5 0 0 1 JP 憲法記念日 3 5 0 0 1
JP 国民の祝日 4 5 0 0 1
JP こどもの日 5 5 0 0 1 JP こどもの日 5 5 0 0 1
JP 海の日 20 7 0 0 1 JP 海の日 0 7 3 1 1
JP 敬老の日 15 9 0 0 1 JP 敬老の日 0 9 3 1 1
JP 秋分の日 0 9 0 0 1 JP 秋分の日 0 9 0 0 1
JP 体育の日 0 10 2 1 1 JP 体育の日 0 10 2 1 1
JP 文化の日 3 11 0 0 1 JP 文化の日 3 11 0 0 1

View File

@ -8,20 +8,28 @@
a calendar de a a calendar de a
accept calendar de Zusagen accept calendar de Zusagen
accepted calendar de Zugesagt accepted calendar de Zugesagt
action that caused the notify: added, canceled, accepted, rejected, ... calendar de Aktion die die Benachrichtigung verursacht hat: Zugefügt, Storniert, Zugesagt, Abgesagt
add a single entry by passing the fields. calendar de Einen einzelnen neuen Eintrag über seine Felder erzeugen. 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 alarm calendar de Alarm zufügen
add contact calendar de Kontakt zufügen
added calendar de Neuer Termin added calendar de Neuer Termin
address book calendar de Adressbuch
alarm calendar de Alarm alarm calendar de Alarm
alarm for %1 at %2 in %3 calendar de Alarm für %1 am %2 in %3
alarm management calendar de Alarm Management alarm management calendar de Alarm Management
alarm-management calendar de Alarm Management
alarms calendar de Alarme alarms calendar de Alarme
all day calendar de ganztägig all day calendar de ganztägig
are you sure you want to delete this country ? calendar de Sind Sie sicher, dass Sie dieses Land löschen wollen ? are you sure you want to delete this country ? calendar de Sind Sie sicher, dass Sie dieses Land löschen wollen ?
are you sure you want to delete this holiday ? calendar de Sind Sie sicher, dass Sie diesen Feiertag löschen wollen ? are you sure you want to delete this holiday ? calendar de Sind Sie sicher, dass Sie diesen Feiertag löschen wollen ?
are you sure\nyou want to\ndelete these alarms? calendar de Sind Sie sicher,\ndass Sie diese\nAlarme löschen wollen ?
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 ? 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 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 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.
back calendar de zurück back calendar de zurück
before the event calendar de vor dem Termin
brief description calendar de Kurzbeschreibung brief description calendar de Kurzbeschreibung
business calendar de geschäftlich
calendar common de Kalender calendar common de Kalender
calendar - [iv]cal importer calendar de Kalendar - [iv]Cal Importieren calendar - [iv]cal importer calendar de Kalendar - [iv]Cal Importieren
calendar - add calendar de Kalendereintrag hinzufügen calendar - add calendar de Kalendereintrag hinzufügen
@ -31,21 +39,32 @@ calendar holiday management admin de Feiertage verwalten
calendar preferences calendar de Kalender Einstellungen calendar preferences calendar de Kalender Einstellungen
calendar settings admin de Kalender Einstellungen calendar settings admin de Kalender Einstellungen
calendar-fieldname calendar de Kalender Feldname calendar-fieldname calendar de Kalender Feldname
canceled calendar de Abgesagt
change all events for $params['old_owner'] to $params['new_owner']. calendar de Ändere alle Termine für $params['old_owner'] auf $params['new_owner']. change all events for $params['old_owner'] to $params['new_owner']. calendar de Ändere alle Termine für $params['old_owner'] auf $params['new_owner'].
change status calendar de Zusage ändern change status calendar de Zusage ändern
choose the category calendar de Kategorie auswählen choose the category calendar de Kategorie auswählen
click %1here%2 to return to the calendar. calendar de %1Hier%2 klicken um zum Kalender zurück zu kehren.
configuration calendar de Konfiguration
countries calendar de Länder countries calendar de Länder
country calendar de Land country calendar de Land
csv-fieldname calendar de CSV-Feldname csv-fieldname calendar de CSV-Feldname
csv-filename calendar de CSV-Dateiname csv-filename calendar de CSV-Dateiname
custom fields calendar de Benutzerdefinierte Felder
custom fields and sorting common de Benutzerdefinierte Felder und Sortierung
daily calendar de Täglich daily calendar de Täglich
daily matrix view calendar de Matrix-Ansicht des Tages daily matrix view calendar de Matrix-Ansicht
days calendar de Tage
days repeated calendar de wiederholte Tage days repeated calendar de wiederholte Tage
dayview calendar de Tagesansicht dayview calendar de Tagesansicht
default appointment length (in minutes) calendar de Standardlänge eines neuen Kalendareintrags (in Minuten)
default calendar filter calendar de Standard-Filter des Kalenders default calendar filter calendar de Standard-Filter des Kalenders
default calendar view calendar de Standard-Ansicht des Kalenders default calendar view calendar de Standard-Ansicht des Kalenders
default length of newly created events. the length is in minutes, eg. 60 for 1 hour. calendar de Vorgabe für die Länge von neuen Kalendareinträgen. Die Länge ist in Minuten, zb. 60 für 1 Stunde.
default view of appointments calendar de Standard-Ansicht der Termine
defines the size in minutes of the lines in the day view. calendar de Bestimmt die Zeitskala in Minuten der Tagesansicht des Kalendars.
delete a single entry by passing the id. calendar de Lösche einen einzelnen Eintrag über seine Id. delete a single entry by passing the id. calendar de Lösche einen einzelnen Eintrag über seine Id.
delete an entire users calendar. calendar de Lösche den kompletten Kalender eines Benutzers. delete an entire users calendar. calendar de Lösche den kompletten Kalender eines Benutzers.
delete selected contacts calendar de Löscht die ausgewählten Kontakte.
delete series calendar de Serie löschen delete series calendar de Serie löschen
delete single calendar de Einzelevent löschen delete single calendar de Einzelevent löschen
deleted calendar de Abgesagt deleted calendar de Abgesagt
@ -53,44 +72,68 @@ description calendar de Beschreibung
display interval in day view calendar de Intervall der Tagesansicht display interval in day view calendar de Intervall der Tagesansicht
display mini calendars when printing calendar de zeige einen kleinen Kalender beim drucken display mini calendars when printing calendar de zeige einen kleinen Kalender beim drucken
display status of events calendar de Status von Terminen anzeigen 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)?
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
do you want to receive a regulary summary of your appointsments via email?<br>the summary is send to your standard email-address in the morning of that day or on monday for weekly summarys.<br>it is only send when you have any appointments on that day or week. calendar de
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 de Möchten Sie eine regelmäßige Zusammenfassung Ihrer Termine via E-Mail erhalten?<br>Die Zusammenfassung wird täglich (jeden Morgen), oder für eine wöchentliche Zusammenfassung Montags an Ihre standard E-Mail Adresse gesendet.<br> Die Benachrichtigung wird nur versendet wenn Sie am nächsten Tag oder in der nächsten Woche auch einen Termin haben.
do you wish to autoload calendar holidays files dynamically? admin de Sollen die Feiertage automatisch geladen werden? do you wish to autoload calendar holidays files dynamically? admin de Sollen die Feiertage automatisch geladen werden?
download calendar de Herunterladen download calendar de Herunterladen
duration calendar de Dauer duration calendar de Dauer
edit series calendar de Serie bearbeiten edit series calendar de Serie bearbeiten
edit single calendar de Einzel bearbeiten edit single calendar de Einzel bearbeiten
end date/time calendar de Enddatum/-zeit end date/time calendar de Enddatum/-zeit
enddate calendar de Enddatum
ends calendar de endet ends calendar de endet
enter output filename: ( .vcs appended ) calendar de Namen der Ausgabedatei (.vcs angehangen) enter output filename: ( .vcs appended ) calendar de Namen der Ausgabedatei (.vcs angehangen)
event details follow calendar de Details zum Termin folgen event details follow calendar de Details zum Termin folgen
exceptions calendar de Ausnahmen exceptions calendar de Ausnahmen
export calendar de Exportieren export calendar de Exportieren
export a list of entries in ical format. calendar de Eine Liste von Einträgen im iCal Format exportieren. export a list of entries in ical format. calendar de Eine Liste von Einträgen im iCal Format exportieren.
extended calendar de Erweitert
extended updates always include the complete event-details. ical's can be imported by certain other calendar-applications. calendar de Erweiterte Benachrichtigungen enthälten immer die kompletten Termindetails. iCal's können von vielen anderen Kalendarprogrammen importiert werden.
external participants calendar de Externe Teilnehmer
failed sending message to '%1' #%2 subject='%3', sender='%4' !!! calendar de Fehler beim Senden einer Email an '%1' #%2 Betreff='%3', Absender='%4' !!!
fieldseparator calendar de Feldtrenner fieldseparator calendar de Feldtrenner
firstname of person to notify calendar de Vorname der zu benachrichtigenden Person
format of event updates calendar de Format der Benachrichtigungen
fr calendar de Fr fr calendar de Fr
free/busy calendar de frei/belegt free/busy calendar de frei/belegt
frequency calendar de Häufigkeit frequency calendar de Häufigkeit
fri calendar de Fr fri calendar de Fr
full description calendar de vollständige Beschreibung 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 generate printer-friendly version calendar de Drucker-freundliche Version erzeugen
global public and group public calendar de Global &Ouml;ffentlich und Gruppen-&Ouml;ffentlich global categories calendar de Globale Kategorien
global public only calendar de nur Global &Ouml;ffentlich global public and group public calendar de Global öffentlich und Gruppen-öffentlich
global public only calendar de nur Global öffentlich
go! calendar de Go! go! calendar de Go!
grant calendar access common de Berechtigungen f&uuml;r Kalenderzugriffe grant calendar access common de Berechtigungen für Kalenderzugriffe
group planner calendar de Gruppenplaner
group public only calendar de Gruppen-Öffentlich group public only calendar de Gruppen-Öffentlich
has been canceled calendar de wurde abgesagt here is your requested alarm. calendar de Hier ist ihr bestellter Alarm.
has been rescheduled to calendar de wurde verschoben auf
high calendar de hoch high calendar de hoch
high priority calendar de Hohe Priorität high priority calendar de Hohe Priorität
holiday calendar de Feiertag holiday calendar de Feiertag
holiday management calendar de Feitertagsverwaltung
holiday-management calendar de Feitertagsverwaltung
holidays calendar de Feiertage holidays calendar de Feiertage
hours calendar de Stunden
i participate calendar de Ich nehme teil 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 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.
ignore conflict calendar de Konflikt ignorieren ignore conflict calendar de Konflikt ignorieren
import calendar de Importieren import calendar de Importieren
import csv-file into calendar calendar de CSV-Datei in den Kalender importieren import csv-file into calendar calendar de CSV-Datei in den Kalender importieren
interval calendar de Interval interval calendar de Interval
intervals in day view calendar de Zeitintervalle in der Tagesansicht
intervals per day in planner view calendar de Zeitintervalle pro Tag in der Planeransicht
invalid entry id. calendar de ungültige Id des Eintrags. invalid entry id. calendar de ungültige Id des Eintrags.
last calendar de letzte 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)
load [iv]cal calendar de [iv]Cal Laden load [iv]cal calendar de [iv]Cal Laden
location calendar de Ort location calendar de Ort
location to autoload from admin de Von wo sollen sie geladen werden location to autoload from admin de Von wo sollen sie geladen werden
@ -99,6 +142,7 @@ matrixview calendar de Matrixansicht
minutes calendar de Minuten minutes calendar de Minuten
mo calendar de Mo mo calendar de Mo
modified calendar de Geändert modified calendar de Geändert
modify list of external participants calendar de Liste der externen Teilnehmer änderen
mon calendar de Mo mon calendar de Mo
month calendar de Monat month calendar de Monat
monthly calendar de Monatlich monthly calendar de Monatlich
@ -106,16 +150,38 @@ monthly (by date) calendar de Monatlich (nach Datum)
monthly (by day) calendar de Monatlich (nach Wochentag) monthly (by day) calendar de Monatlich (nach Wochentag)
monthview calendar de Monatsansicht monthview calendar de Monatsansicht
new entry calendar de Neuer Eintrag new entry calendar de Neuer Eintrag
new name must not exist and not be empty!!! calendar de Neuer Name darf nicht exisitieren und nicht leer sein!!!
no matches found calendar de Keine Treffer gefunden
no matches found. calendar de Keine Treffer gefunden. no matches found. calendar de Keine Treffer gefunden.
no response calendar de Keine Antwort no response calendar de Keine Antwort
normal calendar de normal normal calendar de normal
notification message for updates you send calendar de Mitteilungs Text für updates welche Sie versenden
notification messages for added events calendar de Benachrichtigungstext für neue Termine
notification messages for canceled events calendar de Benachrichtigungstext für stornierte Termine
notification messages for modified events calendar de Benachrichtigungstext für geänderte Termine
notification messages for your alarms calendar de Benachrichtigungstext für ihre Alarem
notification messages for your responses calendar de Benachrichtigungstext für ihre Antworten
number of intervals per day in planner view calendar de Anzahl Intervale pro Tag im Planer number of intervals per day in planner view calendar de Anzahl Intervale pro Tag im Planer
number of months calendar de Anzahl Monate number of months calendar de Anzahl Monate
number of records to read (<=200) calendar de Anzeil Datensätze zu lesen (<= 200) number of records to read (<=200) calendar de Anzeil Datensätze zu lesen (<= 200)
observance rule calendar de Observance Rule observance rule calendar de Observance Rule
occurence calendar de Wiederholung occurence calendar de Wiederholung
old startdate calendar de Altes Startdatum
olddate calendar de AltesDatum
on %1 %2 %3 your meeting request for %4 calendar de Am %1 hat %2 Ihre Einladung für den %4 %3 on %1 %2 %3 your meeting request for %4 calendar de Am %1 hat %2 Ihre Einladung für den %4 %3
overlap holiday calendar de überlappender Urlaub on all changes calendar de bei allen Veränderungen
on all changes too calendar de
on all modification, but responses calendar de bei allen Änderungen, außer Antworten
on any time change (and above options) calendar de bei allen zeitliche Änderunge (und obige optionen)
on any time change too calendar de auch jede zeitliche Veränderung
on every time-change too calendar de
on invitation / cancelation only calendar de nur bei Einladungen/Absagen
on participant responses too calendar de auch bei Antworten der Teilnehmer
on time change of more than 4 hours too calendar de bei zeitlichen Änderungen größer als 4 Stunden
on time change of time of more than 4 hours (and above options) calendar de wenn der Termin sich um mehr als 4 Stunde verschiebt (und obige Optionen)
on time-changes >= 4 hours too calendar de
order calendar de Reihenfolge
overlap holiday calendar de überlappender Feiertag
participant calendar de Teilnehmer participant calendar de Teilnehmer
participants calendar de Teilnehmer participants calendar de Teilnehmer
participates calendar de nimmt teil participates calendar de nimmt teil
@ -124,21 +190,26 @@ permission denied calendar de Zugriff verweigert
planner calendar de Planer planner calendar de Planer
planner by category calendar de Planer nach Kategorien planner by category calendar de Planer nach Kategorien
planner by user calendar de Planer nach Benutzern planner by user calendar de Planer nach Benutzern
please confirm,accept,reject or examine changes in the corresponding entry in your calendar calendar de Bitte den entsprechenden Eintrag im Ihrem Kalendar bestätigen, zusagen, absagen oder die Änderungen beachten please confirm,accept,reject or examine changes in the corresponding entry in your calendar calendar de Bitte den entsprechenden Eintrag im Ihrem Kalendar bestätigen, Zusagen, Absagen oder die Änderungen beachten
preselected group for entering the planner calendar de vorausgewählte Gruppe beim Planeraufruf preselected group for entering the planner calendar de vorausgewählte Gruppe beim Planeraufruf
print calendars in black & white calendar de Kalender in Schwarz und Weiß drucken print calendars in black & white calendar de Kalender in schwarz und weiß drucken
print the mini calendars calendar de Mini- Kalender drucken
printer friendly calendar de Drucker-freundlich printer friendly calendar de Drucker-freundlich
privat calendar de Privat privat calendar de Privat
private and global public calendar de Privat und Global Öffentlich private and global public calendar de Privat und Global öffentlich
private and group public calendar de Privat und Gruppen Öffentlich private and group public calendar de Privat und Gruppen öffentlich
private only calendar de nur private private only calendar de nur private
re-edit event calendar de Event erneut bearbeiten re-edit event calendar de Event erneut bearbeiten
read a list of entries. calendar de Eine Liste von Einträgen lesen. read a list of entries. calendar de Eine Liste von Einträgen lesen.
read a single entry by passing the id and fieldlist. calendar de Einen einzelnen Eintrag über seine Id und eine Feldliste lesen. read a single entry by passing the id and fieldlist. calendar de Einen einzelnen Eintrag über seine Id und eine Feldliste lesen.
read this list of methods. calendar de Diese Liste der Methoden lesen. read this list of methods. calendar de Diese Liste der Methoden lesen.
receive email updates calendar de Empfange E-Mail updates
receive email updates when: calendar de Empfange E-Mail updates wenn:
receive extra information in event mails calendar de Zusätzliche Informationen bei EMail-Benachrichtigung receive extra information in event mails calendar de Zusätzliche Informationen bei EMail-Benachrichtigung
recurring event calendar de Wiederholender Termin event receive summary of appointments calendar de Zusammenfassung der Termine erhalten
recurring event calendar de Wiederholender Termin
refresh calendar de Aktualisieren refresh calendar de Aktualisieren
regular summary of your appointments calendar de
reinstate calendar de Wiedereinsetzen reinstate calendar de Wiedereinsetzen
reject calendar de Absagen reject calendar de Absagen
rejected calendar de Abgesagt rejected calendar de Abgesagt
@ -147,26 +218,40 @@ repeat end date calendar de Enddatum
repeat type calendar de Wiederholungstyp repeat type calendar de Wiederholungstyp
repeating event information calendar de Informationen zu sich wiederholenden Ereignissen repeating event information calendar de Informationen zu sich wiederholenden Ereignissen
repetition calendar de Wiederholung repetition calendar de Wiederholung
repetitiondetails (or empty) calendar de Details der Wiederholung (oder leer)
reset calendar de Zurücksetzen reset calendar de Zurücksetzen
rule calendar de Regel rule calendar de Regel
sa calendar de Sa sa calendar de Sa
sat calendar de Sa sat calendar de Sa
scheduling conflict calendar de Terminüberschneidung scheduling conflict calendar de Terminüberschneidung
search results calendar de Suchergebnisse search results calendar de Suchergebnisse
send updates via email common de Updates via EMail senden selected contacts (%1) calendar de Ausgewählte Kontakte (%1)
send updates via email common de Updates via E-Mail senden
send/receive updates via email calendar de Senden/Empfangen von Aktualisierungen via EMail send/receive updates via email calendar de Senden/Empfangen von Aktualisierungen via EMail
send_extra calendar de set a year only for one-time / non-regular holidays. calendar de Nur für einmalige/unregelmäßige Feiertage das Jahr angeben.
set a year only for one-time / non-regular holidays. calendar de Nur für einmalige / unregelmäßige Feiertage das Jahr angeben. set new events to private calendar de Neue Termine als private Termine eintragen
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 de Sollen Einladungen welche von Ihnen abgelehnt wurden in Ihrem Kalender angezeigt werden?<br> Sie können diese Einladungen dann später akzeptieren (z. B. wenn Sie eine Terminkolission gelöst haben), wenn Sie in Ihrem Kalender noch vorhanden sind!
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 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
should the status of the event-participants (accept, reject, ...) be shown in brakets after each participants name ? calendar de Soll der Status (Zugesagt,Abgesagt ...)der Termin- Teilnehmer in Klammern hinter jeden Teilnehmer angezeigt werden?
show day view on main screen calendar de Tagesansicht auf Startseite anzeigen 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 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 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
single event calendar de Einzelner Termin 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, 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 sorry, this event does not exist calendar de Dieser Termin existiert nicht
sorry, this event does not have exceptions defined calendar de Dieser Termin hat keine Ausnahmen definiert sorry, this event does not have exceptions defined calendar de Dieser Termin hat keine Ausnahmen definiert
sort by calendar de Sortieren nach sort by calendar de Sortieren nach
specifies the granularity of the planner view. calendar de
specifies the the number of intervals shown in the planner view. calendar de Legt die Anzahl der Zeitintervalle fest welche in der Kalenderplanung angezeigt werden.
start date/time calendar de Startdatum/-zeit start date/time calendar de Startdatum/-zeit
start- and enddates calendar de Start- und Enddatum/-zeit start- and enddates calendar de Start- und Enddatum/-zeit
startdate calendar de Startdatum
startrecord calendar de Startdatensatz startrecord calendar de Startdatensatz
su calendar de So su calendar de So
submit to repository calendar de Übertragen zu phpGroupWare.org submit to repository calendar de Übertragen zu phpGroupWare.org
@ -178,17 +263,39 @@ 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 following conflicts with the suggested time:<ul>%1</ul> calendar de Im gewählten Zeitraum gibt es einen Konflikt:<ul>%1</ul>
the user %1 is not participating in this event! calendar de Der Benutzer %1 nimmt nicht an diesem Event teil! 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. 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
this defines the end of your dayview. events after that time, are shown below the dayview. calendar de
this defines the end of your dayview. events after this time, are shown below the dayview. calendar de Diese Zeit definiert das Ende des Arbeitstags in der Tagesansicht. Alle späteren Einträge werden darunter dargestellt.
this defines the start of your dayview. events before that time, are shown above the dayview. calendar de
this defines the start of your dayview. events before this time, are shown above the dayview. calendar de Diese Zeit definiert das Start des Arbeitstags in der Tageseinsicht. Alle späteren Einträge werden darüber dargestellt.
this defines the start of your dayview. events before this time, are shown above the dayview.<br>this time is also used as a default starttime for new events. calendar de Diese Zeit definiert den Anfang des Arbeitstags in der Tagesansicht. Alle früheren Einträge werden darüber dargestellt.
this group got preselected when you enter the planner. you can change it in the planner anytime you want. calendar de
this group that is preselected when you enter the planner. you can change it in the planner anytime you want. calendar de Diese Gruppe wird als vorauswahl ausgewählt wenn Sie den Planer öffnen. Sie können die Gruppe jederzeit wechseln wenn Sie möchten.
this is mostly caused by a not or wrongly configured smtp server. notify your administrator. calendar de Das wird meistens durch einen nicht oder falsch konfigurierten SMTP Server verursacht. Benachrichtigen sie ihren Administrator.
this message is send to every participant of events you own, who requested notifcations.<br>you can use certain variables which get substituted with the data of the event. the first line is the subject of the email. calendar de
this message is sent for canceled or deleted events. calendar de Diese Benachrichtigung wird für stornierte oder gelöschte Termine versandt.
this message is sent for modified or moved events. calendar de Diese Benachrichtigung wird für geänderte Termine versandt.
this message is sent to every participant of events you own, who has requested notifcations about new events.<br>you can use certain variables which get substituted with the data of the event. the first line is the subject of the email. calendar de Diese Nachricht wird an alle Teilnehmer der Termine die Sie anlegen versandt, die Benachrichtigungen wünschen.<br>Sie können verschiedene Variablen verwenden, welche durch die Daten des Termins ersetzt werden. Die erste Zeite ist der Betreff der E-Mail.
this message is sent to every participant of events you own, who has requested notifcations.<br>you can use certain variables which get substituted with the data of the event. the first line is the subject of the email. calendar de Mit dieser Nachricht laden Sie Teilnehmer zu einem Termin ein, welche eine automatische Benachrichtigung aktiviert haben.<br> Sie können verschiedene Variablen benutzen welche durch die Daten des Meetings ersetzt werden. Die erste Zeile ist der Betreff der E-Mail
this message is sent when you accept, tentative accept or reject an event. calendar de Diese Nachricht wird gesendet wenn Sie einen Termin zusagen, vorläufig zusagen oder absagen.
this message is sent when you set an alarm for a certain event. include all information you might need. calendar de Diese Meldung wird ihnen gesandt, wenn sie einen Alarm für einen Termin setzen. Nehmen sie alle Information darin auf, die sie benötigen.
this month calendar de Dieser Monat this month calendar de Dieser Monat
this week calendar de Diese Woche this week calendar de Diese Woche
this year calendar de Dieses Jahr this year calendar de Dieses Jahr
thu calendar de Do thu calendar de Do
title calendar de TITEL title calendar de Titel
title of the event calendar de Titel des Termin
title-row calendar de Titelzeile
to-firstname calendar de An-Vorname
to-fullname calendar de An-Name
to-lastname calendar de An-Nachname
today calendar de Heute today calendar de Heute
translation calendar de Übersetzung translation calendar de Übersetzung
tu calendar de Di tu calendar de Di
tue calendar de Di tue calendar de Di
update a single entry by passing the fields. calendar de Einen einzelnen Termin über seine Felder updaten. update a single entry by passing the fields. calendar de Einen einzelnen Termin über seine Felder updaten.
updated calendar de Aktualisiert updated calendar de Aktualisiert
updates of your appointments via email calendar de
use end date calendar de Enddatum benutzen use end date calendar de Enddatum benutzen
view this entry calendar de Diesen Eintrag anzeigen view this entry calendar de Diesen Eintrag anzeigen
we calendar de Mi we calendar de Mi
@ -198,27 +305,34 @@ weekday starts on calendar de Arbeitswoche beginnt am
weekly calendar de Wöchentlich weekly calendar de Wöchentlich
weekview calendar de Wochenansicht weekview calendar de Wochenansicht
when creating new events default set to private calendar de neue Termine sind privat when creating new events default set to private calendar de neue Termine sind privat
which events do you want to see when you enter the calendar. calendar de Welche Termine möchten Sie angezeigt bekommen wenn Sie den Kalender öffnen?
which of calendar view do you want to see, when you start calendar ? calendar de Welche der möglichen Ansichten des Kalenders möchten Sie als Standard sehen wenn der Kalender geöffnet wird?
which of the calendar-views do you want to see, when you enter the calendar ? calendar de
work day ends on calendar de Arbeitstag endet um work day ends on calendar de Arbeitstag endet um
work day starts on calendar de Arbeitstag beginnt um work day starts on calendar de Arbeitstag beginnt um
workdayends calendar de Arbeitstag endet um workdayends calendar de Arbeitstag endet
year calendar de Jahr year calendar de Jahr
yearly calendar de Jährlich yearly calendar de Jährlich
yearview calendar de yearview calendar de Jährliche Ansicht
you can either set a year or a occurence, not both !!! calendar de Sie können nur entweder das Jahr oder die Wiederholung angeben, nicht beides !!! you can either set a year or a occurence, not both !!! calendar de Sie können nur entweder das Jahr oder die Wiederholung angeben, nicht beides!
you can only set a year or a occurence !!! calendar de Sie können nur ein Jahr oder eine Wiederholung angeben !!! you can only set a year or a occurence !!! calendar de Sie können nur ein Jahr oder eine Wiederholung angeben !
you do not have permission to add alarms to this event !!! calendar de Sie haben keine Berechtigung Alarme zu diesem Termin zuzufügen !!!
you do not have permission to delete this alarm !!! calendar de Sie haben keine Berechtigung diesen Alarm zu löschen !!!
you do not have permission to enable/disable this alarm !!! calendar de Sie haben keine Berechtigung diesen Alarm ein- oder auszuschalten !!!
you do not have permission to read this record! calendar de Sie haben keine Berechtigung diesen Eintrag zu lesen! you do not have permission to read this record! calendar de Sie haben keine Berechtigung diesen Eintrag zu lesen!
you have %1 high priority events on your calendar today. common de Sie haben heute %1 Einträge mit hoher Priorität auf Ihrer Liste!
you have 1 high priority event on your calendar today. common de Sie haben heute einen Eintrag mit hoher Priorität auf Ihrer Liste! you have 1 high priority event on your calendar today. common de Sie haben heute einen Eintrag mit hoher Priorität auf Ihrer Liste!
you have a meeting scheduled for calendar de Sie haben einen Termin am you have a meeting scheduled for %1 calendar de Sie haben einen Termin am %1.
you have not entered a title calendar de Sie haben keinen Titel angegeben you have not entered a title calendar de Sie haben keinen Titel angegeben
you have not entered a valid date calendar de Sie haben kein gültiges Datum angegeben you have not entered a valid date calendar de Sie haben kein gültiges Datum angegeben
you have not entered a valid time of day calendar de Sie haben keine gültige Uhrzeit angegeben you have not entered a valid time of day calendar de Sie haben keine gültige Uhrzeit angegeben
you have not entered a\nbrief description calendar de Sie haben keine a\nKurzbeschreibung eingegeben you have not entered a\nbrief description calendar de Sie haben keine a\nKurzbeschreibung eingegeben
you have not entered a\nvalid time of day calendar de Sie haben keine a\ngültige Tageszeit eingegeben. you have not entered a\nvalid time of day calendar de Sie haben keine a\ngültige Tageszeit eingegeben.
you have not entered participants calendar de Sie haben keine Teilnehmer angegeben you have not entered participants calendar de Sie haben keine Teilnehmer angegeben
you have %1 high priority events on your calendar today. common de Sie haben heute %1 Einträge mit hoher Priorität auf Ihrer Liste!
you must enter one or more search keywords calendar de Sie müssen einen oder mehrere Suchbegriffe angeben you must enter one or more search keywords calendar de Sie müssen einen oder mehrere Suchbegriffe angeben
you must enter one or more search keywords. calendar de Sie müssen einen oder mehrere Suchbegriffe angeben.
you must select a [iv]cal. (*.[iv]cs) calendar de Sie müssen einen [iv]Cal (*.[iv]cs) auswählen. you must select a [iv]cal. (*.[iv]cs) calendar de Sie müssen einen [iv]Cal (*.[iv]cs) auswählen.
you need to set either a day or a occurence !!! calendar de Sie müssen entweder einen Tag oder eine Wiederholung angeben !!! you need to set either a day or a occurence !!! calendar de Sie müssen entweder einen Tag oder eine Wiederholung angeben !!!
your meeting scheduled for calendar de Ihr Termin am your meeting scheduled for %1 has been canceled calendar de Ihr Termin am %1 wurde abgesagt.
your meeting that had been scheduled for calendar de Ihr Termin am your meeting that had been scheduled for %1 has been rescheduled to %2 calendar de Ihr Termin am %1 wurde auf %2 verschoben.
your suggested time of <b> %1 - %2 </b> conflicts with the following existing calendar entries: calendar de Der von Ihnen gewählte Zeitraum <B> %1 - %2 </B> führt zu Konflikten mit folgenden bereits existierenden Kalendereinträgen: your suggested time of <b> %1 - %2 </b> conflicts with the following existing calendar entries: calendar de Der von Ihnen gewählte Zeitraum <B> %1 - %2 </B> führt zu Konflikten mit folgenden bereits existierenden Kalendereinträgen:

View File

@ -8,44 +8,60 @@
a calendar en a a calendar en a
accept calendar en Accept accept calendar en Accept
accepted calendar en Accepted accepted calendar en Accepted
action that caused the notify: added, canceled, accepted, rejected, ... calendar en Action that caused the notify: Added, Canceled, Accepted, Rejected, ...
add a single entry by passing the fields. calendar en Add a single entry by passing the fields. 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 alarm calendar en Add Alarm
add contact calendar en Add Contact
added calendar en Added added calendar en Added
address book calendar en Address Book
alarm calendar en alarm alarm calendar en alarm
alarm for %1 at %2 in %3 calendar en Alarm for %1 at %2 in %3
alarm management calendar en Alarm Management alarm management calendar en Alarm Management
alarm-management calendar en Alarm-Management alarm-management calendar en Alarm-Management
alarms calendar en Alarms alarms calendar en Alarms
all day calendar en All Day all day calendar en All Day
are you sure you want to delete this country ? calendar en Are you sure you want to delete this Country ? are you sure you want to delete this country ? calendar en Are you sure you want to delete this Country ?
are you sure you want to delete this holiday ? calendar en Are you sure you want to delete this holiday ? are you sure you want to delete this holiday ? calendar en Are you sure you want to delete this holiday ?
are you sure\nyou want to\ndelete these alarms? calendar en Are you sure\nyou want to\ndelete these alarms?
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 ? 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 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 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.
before the event calendar en before the event
brief description calendar en Brief Description brief description calendar en Brief Description
business calendar en Business
calendar common en Calendar calendar common en Calendar
calendar - [iv]cal importer calendar en Calendar - [iv]Cal Importer
calendar - add calendar en Calendar - Add calendar - add calendar en Calendar - Add
calendar - edit calendar en Calendar - Edit calendar - edit calendar en Calendar - Edit
calendar - [iv]cal importer calendar en Calendar - [iv]Cal Importer
calendar event calendar en Calendar Event calendar event calendar en Calendar Event
calendar holiday management admin en Calendar Holiday Management calendar holiday management admin en Calendar Holiday Management
calendar preferences calendar en Calendar Preferences calendar preferences calendar en Calendar Preferences
calendar settings admin en Calendar Settings calendar settings admin en Calendar Settings
calendar-fieldname calendar en Calendar-Fieldname calendar-fieldname calendar en Calendar-Fieldname
canceled calendar en Canceled
change all events for $params['old_owner'] to $params['new_owner']. calendar en Change all events for $params['old_owner'] to $params['new_owner']. change all events for $params['old_owner'] to $params['new_owner']. calendar en Change all events for $params['old_owner'] to $params['new_owner'].
change status calendar en Change Status change status calendar en Change Status
click %1here%2 to return to the calendar. calendar en Click %1here%2 to return to the calendar.
configuration calendar en Configuration configuration calendar en Configuration
countries calendar en Countries countries calendar en Countries
country calendar en Country country calendar en Country
csv-fieldname calendar en CSV-Fieldname csv-fieldname calendar en CSV-Fieldname
csv-filename calendar en CSV-Filename csv-filename calendar en CSV-Filename
custom fields calendar en Custom Fields
custom fields and sorting common en Custom fields and sorting
daily calendar en Daily daily calendar en Daily
daily matrix view calendar en Daily Matrix View daily matrix view calendar en Daily Matrix View
days calendar en days
days repeated calendar en days repeated days repeated calendar en days repeated
dayview calendar en Dayview dayview calendar en Dayview
default appointment length (in minutes) calendar en default appointment length (in minutes)
default calendar filter calendar en Default calendar filter default calendar filter calendar en Default calendar filter
default calendar view calendar en Default calendar view default calendar view calendar en Default calendar view
default length of newly created events. the length is in minutes, eg. 60 for 1 hour. calendar en Default length of newly created events. The length is in minutes, eg. 60 for 1 hour.
defines the size in minutes of the lines in the day view. calendar en Defines the size in minutes of the lines in the day view.
delete a single entry by passing the id. calendar en Delete a single entry by passing the id. delete a single entry by passing the id. calendar en Delete a single entry by passing the id.
delete an entire users calendar. calendar en Delete an entire users calendar. delete an entire users calendar. calendar en Delete an entire users calendar.
delete selected contacts calendar en Delete selected contacts
delete series calendar en Delete Series delete series calendar en Delete Series
delete single calendar en Delete Single delete single calendar en Delete Single
deleted calendar en Deleted deleted calendar en Deleted
@ -53,47 +69,64 @@ description calendar en DESCRIPTION
display interval in day view calendar en Display interval in Day View 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 mini calendars when printing calendar en Display mini calendars when printing
display status of events calendar en Display Status of Events display status of events calendar en Display Status of Events
Display week days only in Month/Week View calendar en Display week days only in Month/Week View 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 phpGroupWare 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? do you wish to autoload calendar holidays files dynamically? admin en Do you wish to autoload calendar holidays files dynamically?
download calendar en Download download calendar en Download
duration calendar en Duration duration calendar en Duration
edit series calendar en Edit Series edit series calendar en Edit Series
edit single calendar en Edit Single edit single calendar en Edit Single
end date/time calendar en End Date/Time end date/time calendar en End Date/Time
enddate calendar en Enddate
ends calendar en ends ends calendar en ends
enter output filename: ( .vcs appended ) calendar en Enter Output Filename: ( .vcs appended ) enter output filename: ( .vcs appended ) calendar en Enter Output Filename: ( .vcs appended )
event details follow calendar en Event Details Follow event details follow calendar en Event Details Follow
exceptions calendar en Exceptions exceptions calendar en Exceptions
export calendar en Export export calendar en Export
export a list of entries in ical format. calendar en Export a list of entries in iCal format. export a list of entries in ical format. calendar en Export a list of entries in iCal format.
extended calendar en Extended
extended updates always include the complete event-details. ical's can be imported by certain other calendar-applications. calendar en Extended updates always include the complete event-details. iCal's can be imported by certain other calendar-applications.
external participants calendar en External Participants
failed sending message to '%1' #%2 subject='%3', sender='%4' !!! calendar en Failed sending message to '%1' #%2 subject='%3', sender='%4' !!!
fieldseparator calendar en Fieldseparator fieldseparator calendar en Fieldseparator
firstname of person to notify calendar en Firstname of person to notify
format of event updates calendar en Format of event updates
fr calendar en F fr calendar en F
free/busy calendar en Free/Busy free/busy calendar en Free/Busy
frequency calendar en Frequency frequency calendar en Frequency
fri calendar en Fri fri calendar en Fri
full description calendar en Full Description 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 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 and group public calendar en Global Public and group public
global public only calendar en Global Public Only global public only calendar en Global Public Only
go! calendar en Go! go! calendar en Go!
grant calendar access common en Grant Calendar Access grant calendar access common en Grant Calendar Access
group planner calendar en Group Planner group planner calendar en Group Planner
group public only calendar en Group Public Only group public only calendar en Group Public Only
has been canceled calendar en has been canceled here is your requested alarm. calendar en Here is your requested alarm.
has been rescheduled to calendar en has been rescheduled to
high priority calendar en high priority high priority calendar en high priority
holiday calendar en Holiday holiday calendar en Holiday
holiday management calendar en Holiday Management holiday management calendar en Holiday Management
holiday-management calendar en Holiday-Management holiday-management calendar en Holiday-Management
holidays calendar en Holidays holidays calendar en Holidays
hours calendar en hours
i participate calendar en I Participate 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 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.
ignore conflict calendar en Ignore Conflict ignore conflict calendar en Ignore Conflict
import calendar en Import import calendar en Import
import csv-file into calendar calendar en Import CSV-File into Calendar import csv-file into calendar calendar en Import CSV-File into Calendar
interval calendar en Interval interval calendar en Interval
intervals in day view calendar en Intervals in day view
intervals per day in planner view calendar en Intervals per day in planner view
invalid entry id. calendar en Invalid entry id. invalid entry id. calendar en Invalid entry id.
last calendar en last 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)
load [iv]cal calendar en Load [iv]Cal load [iv]cal calendar en Load [iv]Cal
location calendar en Location location calendar en Location
location to autoload from admin en Location to autoload from location to autoload from admin en Location to autoload from
@ -101,6 +134,7 @@ matrixview calendar en Matrixview
minutes calendar en minutes minutes calendar en minutes
mo calendar en M mo calendar en M
modified calendar en Modified modified calendar en Modified
modify list of external participants calendar en Modify List of External Participants
mon calendar en Mon mon calendar en Mon
month calendar en Month month calendar en Month
monthly calendar en Monthly monthly calendar en Monthly
@ -108,14 +142,29 @@ monthly (by date) calendar en Monthly (by date)
monthly (by day) calendar en Monthly (by day) monthly (by day) calendar en Monthly (by day)
monthview calendar en Monthview monthview calendar en Monthview
new entry calendar en New Entry new entry calendar en New Entry
no matches found. calendar en No matches found. new name must not exist and not be empty!!! calendar en New name must not exist and not be empty!!!
no matches found calendar en No matches found
no response calendar en No Response no response calendar en No Response
notification messages for added events calendar en Notification messages for added events
notification messages for canceled events calendar en Notification messages for canceled events
notification messages for modified events calendar en Notification messages for modified events
notification messages for your alarms calendar en Notification messages for your alarms
notification messages for your responses calendar en Notification messages for your responses
number of intervals per day in planner view calendar en Number of Intervals per Day in Planner View number of intervals per day in planner view calendar en Number of Intervals per Day in Planner View
number of months calendar en Number of months number of months calendar en Number of months
number of records to read (<=200) calendar en Number of records to read (<=200) number of records to read (<=200) calendar en Number of records to read (<=200)
observance rule calendar en Observance Rule observance rule calendar en Observance Rule
occurence calendar en Occurence occurence calendar en Occurence
old startdate calendar en Old Startdate
olddate calendar en OldDate
on %1 %2 %3 your meeting request for %4 calendar en On %1 %2 %3 your meeting request for %4 on %1 %2 %3 your meeting request for %4 calendar en On %1 %2 %3 your meeting request for %4
on all changes calendar en on all changes
on all modification, but responses calendar en on all modification, but responses
on any time change too calendar en on any time change too
on invitation / cancelation only calendar en on invitation / cancelation only
on participant responses too calendar en on participant responses too
on time change of more than 4 hours too calendar en on time change of more than 4 hours too
order calendar en Order
overlap holiday calendar en overlap holiday overlap holiday calendar en overlap holiday
participant calendar en Participant participant calendar en Participant
participants calendar en Participants participants calendar en Participants
@ -125,10 +174,10 @@ permission denied calendar en Permission denied
planner calendar en Planner planner calendar en Planner
planner by category calendar en Planner by category planner by category calendar en Planner by category
planner by user calendar en Planner by user planner by user calendar en Planner by user
planner_user calendar en planner_user
please confirm,accept,reject or examine changes in the corresponding entry in your calendar calendar en Please confirm, accept, reject or examine changes in the corresponding entry in your calendar please confirm,accept,reject or examine changes in the corresponding entry in your calendar calendar en Please confirm, accept, reject or examine changes in the corresponding entry in your calendar
preselected group for entering the planner calendar en Preselected group for entering the planner preselected group for entering the planner calendar en Preselected group for entering the planner
print calendars in black & white calendar en Print calendars in black & white print calendars in black & white calendar en Print calendars in black & white
print the mini calendars calendar en Print the mini calendars
printer friendly calendar en Printer Friendly printer friendly calendar en Printer Friendly
privat calendar en Privat privat calendar en Privat
private and global public calendar en Private and Global Public private and global public calendar en Private and Global Public
@ -138,7 +187,9 @@ re-edit event calendar en Re-Edit Event
read a list of entries. calendar en Read a list of entries. read a list of entries. calendar en Read a list of entries.
read a single entry by passing the id and fieldlist. calendar en Read a single entry by passing the id and fieldlist. read a single entry by passing the id and fieldlist. calendar en Read a single entry by passing the id and fieldlist.
read this list of methods. calendar en Read this list of methods. read this list of methods. calendar en Read this list of methods.
receive email updates calendar en Receive email updates
receive extra information in event mails calendar en Receive extra information in event mails receive extra information in event mails calendar en Receive extra information in event mails
receive summary of appointments calendar en Receive summary of appointments
recurring event calendar en recurring event recurring event calendar en recurring event
refresh calendar en Refresh refresh calendar en Refresh
reinstate calendar en Reinstate reinstate calendar en Reinstate
@ -148,26 +199,36 @@ repeat end date calendar en Repeat End date
repeat type calendar en Repeat type repeat type calendar en Repeat type
repeating event information calendar en Repeating Event Information repeating event information calendar en Repeating Event Information
repetition calendar en Repetition repetition calendar en Repetition
repetitiondetails (or empty) calendar en Repetitiondetails (or empty)
reset calendar en Reset reset calendar en Reset
rule calendar en Rule rule calendar en Rule
sa calendar en Sa sa calendar en Sa
sat calendar en Sat sat calendar en Sat
scheduling conflict calendar en Scheduling Conflict scheduling conflict calendar en Scheduling Conflict
search results calendar en Search Results search results calendar en Search Results
selected contacts (%1) calendar en Selected contacts (%1)
send updates via email common en Send updates via EMail send updates via email common en Send updates via EMail
send/receive updates via email calendar en Send/Receive updates via EMail send/receive updates via email calendar en Send/Receive updates via EMail
send_extra calendar en send_extra
set a year only for one-time / non-regular holidays. calendar en Set a Year only for one-time / non-regular holidays. set a year only for one-time / non-regular holidays. calendar en Set a Year only for one-time / non-regular holidays.
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 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 ?
show day view on main screen calendar en show day view on main screen show day view on main screen calendar en show day view on main screen
show default view on main screen calendar en Show default view on main screen show default view on main screen calendar en Show default view on main screen
show high priority events on main screen calendar en Show high priority events on main screen show high priority events on main screen calendar en Show high priority events on main screen
show invitations you rejected calendar en Show invitations you rejected
single event calendar en single event single event calendar en single event
sorry, the owner has just deleted this event calendar en Sorry, the owner has just deleted this event sorry, the owner has just deleted this event calendar en Sorry, the owner has just deleted this event
sorry, this event does not exist calendar en Sorry, this event does not exist sorry, this event does not exist calendar en Sorry, this event does not exist
sorry, this event does not have exceptions defined calendar en Sorry, this event does not have exceptions defined sorry, this event does not have exceptions defined calendar en Sorry, this event does not have exceptions defined
sort by calendar en Sort by sort by calendar en Sort by
specifies the the number of intervals shown in the planner view. calendar en Specifies the the number of intervals shown in the planner view.
start date/time calendar en Start Date/Time start date/time calendar en Start Date/Time
start- and enddates calendar en Start- and Enddates start- and enddates calendar en Start- and Enddates
startdate calendar en Startdate
startrecord calendar en Startrecord startrecord calendar en Startrecord
su calendar en Su su calendar en Su
submit to repository calendar en Submit to Repository submit to repository calendar en Submit to Repository
@ -179,11 +240,26 @@ 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 following conflicts with the suggested time:<ul>%1</ul> calendar en The following conflicts with the suggested time:<ul>%1</ul>
the user %1 is not participating in this event! calendar en The user %1 is not participating in this event! 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. 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.
this defines the end of your dayview. events after this time, are shown below the dayview. calendar en This defines the end of your dayview. Events after this time, are shown below the dayview.
this defines the start of your dayview. events before this time, are shown above the dayview.<br>this time is also used as a default starttime for new events. calendar en This defines the start of your dayview. Events before this time, are shown above the dayview.<br>This time is also used as a default starttime for new events.
this group that is preselected when you enter the planner. you can change it in the planner anytime you want. calendar en This group that is preselected when you enter the planner. You can change it in the planner anytime you want.
this is mostly caused by a not or wrongly configured smtp server. notify your administrator. calendar en This is mostly caused by a not or wrongly configured SMTP server. Notify your administrator.
this message is sent for canceled or deleted events. calendar en This message is sent for canceled or deleted events.
this message is sent for modified or moved events. calendar en This message is sent for modified or moved events.
this message is sent to every participant of events you own, who has requested notifcations about new events.<br>you can use certain variables which get substituted with the data of the event. the first line is the subject of the email. calendar en This message is sent to every participant of events you own, who has requested notifcations about new events.<br>You can use certain variables which get substituted with the data of the event. The first line is the subject of the email.
this message is sent when you accept, tentative accept or reject an event. calendar en This message is sent when you accept, tentative accept or reject an event.
this message is sent when you set an alarm for a certain event. include all information you might need. calendar en This message is sent when you set an Alarm for a certain event. Include all information you might need.
this month calendar en This month this month calendar en This month
this week calendar en This week this week calendar en This week
this year calendar en This year this year calendar en This year
thu calendar en Thu thu calendar en Thu
title calendar en TITLE title calendar en TITLE
title of the event calendar en Title of the event
title-row calendar en Title-row
to-firstname calendar en To-Firstname
to-fullname calendar en To-Fullname
to-lastname calendar en To-Lastname
today calendar en Today today calendar en Today
translation calendar en Translation translation calendar en Translation
tu calendar en T tu calendar en T
@ -199,6 +275,8 @@ weekday starts on calendar en Weekday starts on
weekly calendar en Weekly weekly calendar en Weekly
weekview calendar en Weekview weekview calendar en Weekview
when creating new events default set to private calendar en When creating new events default set to private when creating new events default set to private calendar en When creating new events default set to private
which events do you want to see when you enter the calendar. calendar en Which events do you want to see when you enter the calendar.
which of calendar view do you want to see, when you start calendar ? calendar en Which of calendar view do you want to see, when you start calendar ?
work day ends on calendar en Work day ends on work day ends on calendar en Work day ends on
work day starts on calendar en Work day starts on work day starts on calendar en Work day starts on
workdayends calendar en workdayends workdayends calendar en workdayends
@ -206,10 +284,13 @@ yearly calendar en Yearly
yearview calendar en Yearview yearview calendar en Yearview
you can either set a year or a occurence, not both !!! calendar en You can either set a Year or a Occurence, not both !!! you can either set a year or a occurence, not both !!! calendar en You can either set a Year or a Occurence, not both !!!
you can only set a year or a occurence !!! calendar en You can only set a year or a occurence !!! you can only set a year or a occurence !!! calendar en You can only set a year or a occurence !!!
you do not have permission to add alarms to this event !!! calendar en You do not have permission to add alarms to this event !!!
you do not have permission to delete this alarm !!! calendar en You do not have permission to delete this alarm !!!
you do not have permission to enable/disable this alarm !!! calendar en You do not have permission to enable/disable this alarm !!!
you do not have permission to read this record! calendar en You do not have permission to read this record! you do not have permission to read this record! calendar en You do not have permission to read this record!
you have %1 high priority events on your calendar today. common en You have %1 high priority events on your calendar today. you have %1 high priority events on your calendar today. common en You have %1 high priority events on your calendar today.
you have 1 high priority event on your calendar today. common en You have 1 high priority event on your calendar today. you have 1 high priority event on your calendar today. common en You have 1 high priority event on your calendar today.
you have a meeting scheduled for calendar en You have a meeting scheduled for you have a meeting scheduled for %1 calendar en You have a meeting scheduled for %1
you have not entered a title calendar en You have not entered a title you have not entered a title calendar en You have not entered a title
you have not entered a valid date calendar en You have not entered a valid date you have not entered a valid date calendar en You have not entered a valid date
you have not entered a valid time of day calendar en You have not entered a valid time of day you have not entered a valid time of day calendar en You have not entered a valid time of day
@ -217,6 +298,6 @@ you have not entered participants calendar en You have not entered participants
you must enter one or more search keywords calendar en You must enter one or more search keywords you must enter one or more search keywords calendar en You must enter one or more search keywords
you must select a [iv]cal. (*.[iv]cs) calendar en You must select a [iv]Cal. (*.[iv]cs) you must select a [iv]cal. (*.[iv]cs) calendar en You must select a [iv]Cal. (*.[iv]cs)
you need to set either a day or a occurence !!! calendar en You need to set either a day or a occurence !!! you need to set either a day or a occurence !!! calendar en You need to set either a day or a occurence !!!
your meeting scheduled for calendar en Your meeting scheduled for your meeting scheduled for %1 has been canceled calendar en Your meeting scheduled for %1 has been canceled
your meeting that had been scheduled for calendar en Your meeting that had been scheduled for your meeting that had been scheduled for %1 has been rescheduled to %2 calendar en Your meeting that had been scheduled for %1 has been rescheduled to %2
your suggested time of <b> %1 - %2 </b> conflicts with the following existing calendar entries: calendar en Your suggested time of <B> %1 - %2 </B> conflicts with the following existing calendar entries: your suggested time of <b> %1 - %2 </b> conflicts with the following existing calendar entries: calendar en Your suggested time of <B> %1 - %2 </B> conflicts with the following existing calendar entries:

View File

@ -8,29 +8,37 @@
a calendar fr un a calendar fr un
accept calendar fr Accepte accept calendar fr Accepte
accepted calendar fr Accepté accepted calendar fr Accepté
action that caused the notify: added, canceled, accepted, rejected, ... calendar fr L'action qui a causé la notification: Ajouté, Annulé, Accepté, Rejeté, ...
add a single entry by passing the fields. calendar fr Ajouter une unique entrée en passant les champs. add a single entry by passing the fields. calendar fr Ajouter une unique entrée en passant les champs.
add alarm calendar fr Ajouter une alarme add alarm calendar fr Ajouter une alarme
add contact calendar fr Ajouter un contact
added calendar fr Ajouté added calendar fr Ajouté
address book calendar fr Carnet d'adresses
alarm calendar fr Alarme alarm calendar fr Alarme
alarm for %1 at %2 in %3 calendar fr Alarme pour %1 à %2 dans %3
alarm management calendar fr Gestion des alarmes alarm management calendar fr Gestion des alarmes
alarm-management calendar fr Gestion des alarmes alarm-management calendar fr Gestion des alarmes
alarms calendar fr Alarmes alarms calendar fr Alarmes
all day calendar fr Journée entière all day calendar fr Journée entière
are you sure you want to delete this country ? calendar fr Etes-vous sûr de vouloir effacer ce pays ? are you sure you want to delete this country ? calendar fr Etes-vous sûr de vouloir effacer ce pays ?
are you sure you want to delete this holiday ? calendar fr Etes-vous sûr de vouloir effacer ces vacances ? are you sure you want to delete this holiday ? calendar fr Etes-vous sûr de vouloir effacer ces vacances ?
are you sure\nyou want to\ndelete these alarms? calendar fr Etes-vous sûr\nde vouloir\neffacer ces alarmes?
are you sure\nyou want to\ndelete this entry ? calendar fr Etes-vous sûr\nde vouloir\neffacer cette entrée ? are you sure\nyou want to\ndelete this entry ? calendar fr Etes-vous sûr\nde vouloir\neffacer cette entrée ?
Are you sure\nyou want to\ndelete this entry ?\n\nThis will delete\nthis entry for all users. calendar fr Etes-vous sûr\nde vouloir\neffacer cette entrée ?\n\nCeci va effacer\ncette entrée pour tous les utilisateurs. Are you sure\nyou want to\ndelete this entry ?\n\nThis will delete\nthis entry for all users. calendar fr Etes-vous sûr\nde vouloir\neffacer cette entrée ?\n\nCeci va effacer\ncette entrée pour tous les utilisateurs.
Are you sure\nyou want to\ndelete this single occurence ?\n\nThis will delete\nthis entry for all users. calendar fr Etes-vous sûr\nde vouloir\neffacer cette unique occurence ?\n\nCeci va effacer\ncette entrée pour tous les utilisateurs. Are you sure\nyou want to\ndelete this single occurence ?\n\nThis will delete\nthis entry for all users. calendar fr Etes-vous sûr\nde vouloir\neffacer cette unique occurence ?\n\nCeci va effacer\ncette entrée pour tous les utilisateurs.
before the event calendar fr avant l'évènement
brief description calendar fr Description brève brief description calendar fr Description brève
business calendar fr Travail
calendar common fr Calendrier calendar common fr Calendrier
calendar - [iv]cal importer calendar fr Calendrier - Importateur [iv]Cal
calendar - add calendar fr Calendrier - Ajouter calendar - add calendar fr Calendrier - Ajouter
calendar - edit calendar fr Calendrier - Modifier calendar - edit calendar fr Calendrier - Modifier
calendar - [iv]cal importer calendar fr Calendrier - Importateur [iv]Cal
calendar event calendar fr Evénement de calendrier calendar event calendar fr Evénement de calendrier
calendar holiday management admin fr Gestion du calendrier des vacances calendar holiday management admin fr Gestion du calendrier des vacances
calendar preferences calendar fr Préférences du calendrier calendar preferences calendar fr Préférences du calendrier
calendar settings admin fr Réglages calendrier calendar settings admin fr Réglages calendrier
calendar-fieldname calendar fr Calendrier-nom des champs calendar-fieldname calendar fr Calendrier-nom des champs
canceled calendar fr Annulé
change all events for $params['old_owner'] to $params['new_owner']. calendar fr Changer tous les évènements pour $params['old_owner'] vers $params['new_owner']. change all events for $params['old_owner'] to $params['new_owner']. calendar fr Changer tous les évènements pour $params['old_owner'] vers $params['new_owner'].
change status calendar fr Modifier le statut change status calendar fr Modifier le statut
configuration calendar fr Configuration configuration calendar fr Configuration
@ -38,14 +46,21 @@ countries calendar fr Pays
country calendar fr Pays country calendar fr Pays
csv-fieldname calendar fr CSV-nom des champs csv-fieldname calendar fr CSV-nom des champs
csv-filename calendar fr CSV-nom du fichier csv-filename calendar fr CSV-nom du fichier
custom fields calendar fr Champs personnalisés
custom fields and sorting common fr Champs personnalisés et tri
daily calendar fr Journalier daily calendar fr Journalier
daily matrix view calendar fr Vue journalière de la matrice daily matrix view calendar fr Vue journalière de la matrice
days calendar fr Jours
days repeated calendar fr Jours répétés days repeated calendar fr Jours répétés
dayview calendar fr Vue journalière dayview calendar fr Vue journalière
default appointment length (in minutes) calendar fr Durée du rendez-vous par défaut (en minutes)
default calendar filter calendar fr Filtre de calendrier par défaut default calendar filter calendar fr Filtre de calendrier par défaut
default calendar view calendar fr Vue du calendrier par défaut default calendar view calendar fr Vue du calendrier par défaut
default length of newly created events. the length is in minutes, eg. 60 for 1 hour. calendar fr Durée par défaut des évènements nouvellement crées. La durée est en minutes, p.e. 60 pour 1 heure.
defines the size in minutes of the lines in the day view. calendar fr Définit la taille en minutes des lignes dans la vue journalière.
delete a single entry by passing the id. calendar fr Effacer une unique entrée en passant l'ID. delete a single entry by passing the id. calendar fr Effacer une unique entrée en passant l'ID.
delete an entire users calendar. calendar fr Efface l'ensemble du calendrier de l'utilisateur. delete an entire users calendar. calendar fr Efface l'ensemble du calendrier de l'utilisateur.
delete selected contacts calendar fr Effacer les contacts sélectionnés
delete series calendar fr Effacer les séries delete series calendar fr Effacer les séries
delete single calendar fr Effacer un unique delete single calendar fr Effacer un unique
deleted calendar fr Effacé deleted calendar fr Effacé
@ -53,47 +68,64 @@ description calendar fr Description
display interval in day view calendar fr Afficher l'intervalle dans la vue journalière display interval in day view calendar fr Afficher l'intervalle dans la vue journalière
display mini calendars when printing calendar fr Afficher mini calendriers à l'impression display mini calendars when printing calendar fr Afficher mini calendriers à l'impression
display status of events calendar fr Afficher le statut des événements display status of events calendar fr Afficher le statut des événements
Display week days only in Month/Week View calendar fr Afficher les jours ouvrés seulement dans la vue Mois/Semaine displays your default calendar view on the startpage (page you get when you enter phpgroupware or click on the homepage icon)? calendar fr Afficher votre vue de calendrier par défaut sur la page de démarrage (page que vous obtenez quand vous entrez dans phpGroupWare ou cliquez sur l'icône page maison (homepage))?
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 fr Voulez-vous être prévenu des rendez-vous nouveaux ou modifiés? Vous serez prévenu des modifications que vous faites vous-même.<br>Vous pouvez limiter les notifications à certains changements seulement. Chaque objet inclut toutes les notifications listées au-dessus de lui. Toutes les modifications inclut les modifications de titre, description, participants, mais pas les réponses des participants. Si le propriétaire d'un évènement a demandé aucune notification, il aura toujours les réponses des participants comme les acceptations et les rejets aussi.
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 fr Voulez-vous recevoir un résumé régulier de vos rendez-vous par EMail?<br>Le résumé est envoyé à votre adresse EMail standard le matin de ce jour ou le lundi pour les résumés hebdomadaires.<br>Il est envoyé seulement quand vous avez des rendez-vous ce jour-là ou cette semaine-là.
do you wish to autoload calendar holidays files dynamically? admin fr Voulez-vous auto-charger les fichiers de vacances calendrier dynamiquement? do you wish to autoload calendar holidays files dynamically? admin fr Voulez-vous auto-charger les fichiers de vacances calendrier dynamiquement?
download calendar fr Downloader download calendar fr Downloader
duration calendar fr Durée duration calendar fr Durée
edit series calendar fr Modifier toutes les occurrences edit series calendar fr Modifier toutes les occurrences
edit single calendar fr Modifier cette occurrence edit single calendar fr Modifier cette occurrence
email reminder calendar fr EMail de rappel
end date/time calendar fr Date/Heure de fin end date/time calendar fr Date/Heure de fin
enddate calendar fr Date de fin
ends calendar fr Finit ends calendar fr Finit
enter output filename: ( .vcs appended ) calendar fr Entrer le nom du fichier de sortie: ( .vcs ajouté ) enter output filename: ( .vcs appended ) calendar fr Entrer le nom du fichier de sortie: ( .vcs ajouté )
event details follow calendar fr Les détails de l'évènement suivent event details follow calendar fr Les détails de l'évènement suivent
exceptions calendar fr Exceptions exceptions calendar fr Exceptions
export calendar fr Export export calendar fr Export
export a list of entries in ical format. calendar fr Exporter une liste d'entrées dans le format iCal. export a list of entries in ical format. calendar fr Exporter une liste d'entrées dans le format iCal.
extended calendar fr Etendu
extended updates always include the complete event-details. ical's can be imported by certain other calendar-applications. calendar fr Les mises à jour étendues incluent toujours les détails complets de l'évènement. Les iCals peuvent être importés par certaines autres applications de calendrier.
external participants calendar fr Participants extérieurs
fieldseparator calendar fr Séparateur de champs fieldseparator calendar fr Séparateur de champs
firstname of person to notify calendar fr Prénom de la personne à prévenir
format of event updates calendar fr Format des mises à jour d'évènement
fr calendar fr F fr calendar fr F
free/busy calendar fr Libre/occupé free/busy calendar fr Libre/occupé
frequency calendar fr Fréquence frequency calendar fr Fréquence
fri calendar fr Ven fri calendar fr Ven
full description calendar fr Description complète full description calendar fr Description complète
fullname of person to notify calendar fr Nom complet de la personne à prévenir
generate printer-friendly version calendar fr Générer une version imprimable generate printer-friendly version calendar fr Générer une version imprimable
global categories calendar fr Catégories globales
global public and group public calendar fr Public global et groupe public global public and group public calendar fr Public global et groupe public
global public only calendar fr Public global seulement global public only calendar fr Public global seulement
go! calendar fr Go! go! calendar fr Go!
grant calendar access common fr Régler les autorisations d'accès au calendrier grant calendar access common fr Régler les autorisations d'accès au calendrier
group planner calendar fr Planificateur de groupe group planner calendar fr Planificateur de groupe
group public only calendar fr Groupe public seulement group public only calendar fr Groupe public seulement
has been canceled calendar fr a été annulé here is your requested alarm. calendar fr Voici votre alarme demandée.
has been rescheduled to calendar fr a été replanifié le
high priority calendar fr Priorité haute high priority calendar fr Priorité haute
holiday calendar fr Vacance holiday calendar fr Vacance
holiday management calendar fr Gestion des vacances holiday management calendar fr Gestion des vacances
holiday-management calendar fr Gestion des vacances holiday-management calendar fr Gestion des vacances
holidays calendar fr Vacances holidays calendar fr Vacances
hours calendar fr Heures
i participate calendar fr Je participe i participate calendar fr Je participe
ical / rfc2445 calendar fr iCal / rfc2445
if checked holidays falling on a weekend, are taken on the monday after. calendar fr Si activé les vacances tombant sur un Week-End, sont prises sur le lundi d'après. if checked holidays falling on a weekend, are taken on the monday after. calendar fr Si activé les vacances tombant sur un Week-End, sont prises sur le lundi d'après.
ignore conflict calendar fr Ignorer le conflit ignore conflict calendar fr Ignorer le conflit
import calendar fr Import import calendar fr Import
import csv-file into calendar calendar fr Importer un fichier CSV dans le calendrier import csv-file into calendar calendar fr Importer un fichier CSV dans le calendrier
interval calendar fr Intervalle interval calendar fr Intervalle
intervals in day view calendar fr Intervalles dans la vue journalière
intervals per day in planner view calendar fr Intervalles par jour dans la vue planning
invalid entry id. calendar fr ID d'entrée invalide. invalid entry id. calendar fr ID d'entrée invalide.
last calendar fr Dernier last calendar fr Dernier
lastname of person to notify calendar fr Nom de famille de la personne à prévenir
length shown<br>(emtpy for full length) calendar fr Longueur montrée<br>(vide pour longueur complète)
length<br>(<= 255) calendar fr Longueur<br>(<= 255)
load [iv]cal calendar fr Charger [iv]Cal load [iv]cal calendar fr Charger [iv]Cal
location calendar fr Emplacement location calendar fr Emplacement
location to autoload from admin fr Emplacement depuis lequel auto-charger location to autoload from admin fr Emplacement depuis lequel auto-charger
@ -101,6 +133,7 @@ matrixview calendar fr Vue matricielle
minutes calendar fr minutes minutes calendar fr minutes
mo calendar fr L mo calendar fr L
modified calendar fr Modifié modified calendar fr Modifié
modify list of external participants calendar fr Modifier la liste des participants extérieurs
mon calendar fr Lun mon calendar fr Lun
month calendar fr Mois month calendar fr Mois
monthly calendar fr Mensuel monthly calendar fr Mensuel
@ -108,14 +141,29 @@ monthly (by date) calendar fr Mensuel (par date)
monthly (by day) calendar fr Mensuel (par jour) monthly (by day) calendar fr Mensuel (par jour)
monthview calendar fr Vue mensuelle monthview calendar fr Vue mensuelle
new entry calendar fr Nouvelle entrée new entry calendar fr Nouvelle entrée
no matches found. calendar fr Pas d'occurences trouvées. new name must not exist and not be empty!!! calendar fr Le nouveau nom ne doit pas exister et ne doit pas être vide!!!
no matches found calendar fr Pas d'occurences trouvées
no response calendar fr Pas de réponse no response calendar fr Pas de réponse
notification messages for added events calendar fr Messages de notification pour les évènements ajoutés
notification messages for canceled events calendar fr Messages de notification pour les évènements annulés
notification messages for modified events calendar fr Messages de notification pour les évènements modifiés
notification messages for your alarms calendar fr Messages de notification pour vos alarmes
notification messages for your responses calendar fr Messages de notification pour vos réponses
number of intervals per day in planner view calendar fr Nombre d'intervalles par jour dans la vue planificateur number of intervals per day in planner view calendar fr Nombre d'intervalles par jour dans la vue planificateur
number of months calendar fr Nombre de mois number of months calendar fr Nombre de mois
number of records to read (<=200) calendar fr Nombre d'enregistrements à lire (<=200) number of records to read (<=200) calendar fr Nombre d'enregistrements à lire (<=200)
observance rule calendar fr Règle d'observation observance rule calendar fr Règle d'observation
occurence calendar fr Occurence occurence calendar fr Occurence
old startdate calendar fr Ancienne date de début
olddate calendar fr Ancienne date
on %1 %2 %3 your meeting request for %4 calendar fr Le %1 %2 %3 votre demande de réunion pour %4 on %1 %2 %3 your meeting request for %4 calendar fr Le %1 %2 %3 votre demande de réunion pour %4
on all changes calendar fr Sur tous les changements
on all modification, but responses calendar fr Sur toutes les modifications, sauf les réponses
on any time change too calendar fr Sur n'importe quel changement de temps aussi
on invitation / cancelation only calendar fr sur invitation / annulation seulement
on participant responses too calendar fr Sur les réponses des participants aussi
on time change of more than 4 hours too calendar fr sur le changement de temps de plus de 4 heures aussi
order calendar fr Ordre
overlap holiday calendar fr Vacances recouvrantes overlap holiday calendar fr Vacances recouvrantes
participant calendar fr Participant participant calendar fr Participant
participants calendar fr Participants participants calendar fr Participants
@ -125,10 +173,10 @@ permission denied calendar fr Permission refus
planner calendar fr Planificateur planner calendar fr Planificateur
planner by category calendar fr Planificateur par catégrie planner by category calendar fr Planificateur par catégrie
planner by user calendar fr Planificateur par utilisateur planner by user calendar fr Planificateur par utilisateur
planner_user calendar fr Utilisateur planificateur
please confirm,accept,reject or examine changes in the corresponding entry in your calendar calendar fr SVP confirmez, acceptez, rejetez ou examinez les modifications dans l'entrée correspondante de votre calendrier please confirm,accept,reject or examine changes in the corresponding entry in your calendar calendar fr SVP confirmez, acceptez, rejetez ou examinez les modifications dans l'entrée correspondante de votre calendrier
preselected group for entering the planner calendar fr Groupe présélectionné pour entrer le planificateur preselected group for entering the planner calendar fr Groupe présélectionné pour entrer le planificateur
print calendars in black & white calendar fr Imprimer les calendriers en noir & blanc print calendars in black & white calendar fr Imprimer les calendriers en noir & blanc
print the mini calendars calendar fr Imprimer les mini-calendriers
printer friendly calendar fr Imprimable printer friendly calendar fr Imprimable
privat calendar fr Privée privat calendar fr Privée
private and global public calendar fr Public privé et global private and global public calendar fr Public privé et global
@ -138,7 +186,9 @@ re-edit event calendar fr Remodifier l'
read a list of entries. calendar fr Lire une liste d'entrées. read a list of entries. calendar fr Lire une liste d'entrées.
read a single entry by passing the id and fieldlist. calendar fr Lire une unique entrée en passant l'ID et la liste des champs. read a single entry by passing the id and fieldlist. calendar fr Lire une unique entrée en passant l'ID et la liste des champs.
read this list of methods. calendar fr Lire cette liste de méthodes. read this list of methods. calendar fr Lire cette liste de méthodes.
receive email updates calendar fr Recevoir les mises à jour par EMail
receive extra information in event mails calendar fr Recevoir des informations supplémentaires dans les EMails d'évènements receive extra information in event mails calendar fr Recevoir des informations supplémentaires dans les EMails d'évènements
receive summary of appointments calendar fr Recevoir le résumé des rendez-vous
recurring event calendar fr Evènement récurrent recurring event calendar fr Evènement récurrent
refresh calendar fr Rafraîchir refresh calendar fr Rafraîchir
reinstate calendar fr Réinstaller reinstate calendar fr Réinstaller
@ -148,26 +198,36 @@ repeat end date calendar fr Date de fin de r
repeat type calendar fr Type de répétition repeat type calendar fr Type de répétition
repeating event information calendar fr Informations d'événement répétitif repeating event information calendar fr Informations d'événement répétitif
repetition calendar fr Répétition repetition calendar fr Répétition
repetitiondetails (or empty) calendar fr Détails de répétition (ou vide)
reset calendar fr Réinitialiser reset calendar fr Réinitialiser
rule calendar fr Règle rule calendar fr Règle
sa calendar fr Sa sa calendar fr Sa
sat calendar fr Sam sat calendar fr Sam
scheduling conflict calendar fr Conflit de planification scheduling conflict calendar fr Conflit de planification
search results calendar fr Résultats de recherche search results calendar fr Résultats de recherche
selected contacts (%1) calendar fr Contacts choisis (%1)
send updates via email common fr Envoyer les mises à jour par EMail send updates via email common fr Envoyer les mises à jour par EMail
send/receive updates via email calendar fr Envoyer/recevoir les mises à jour par EMail send/receive updates via email calendar fr Envoyer/recevoir les mises à jour par EMail
send_extra calendar fr Envoyer extra
set a year only for one-time / non-regular holidays. calendar fr Régler sur une année seulement pour les vacances uniques / non-régulières. set a year only for one-time / non-regular holidays. calendar fr Régler sur une année seulement pour les vacances uniques / non-régulières.
set new events to private calendar fr Régler les nouveaux évènements comme privés
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 fr Les invitations que vous avez rejeté doivent-elles être encore montrées dans votre calendrier ?<br>Vous ne pourrez les accepter plus tard (p.e. quand le conflit de rendez-vous est supprimé), que si elles sont encore montrées dans votre calendrier!
should new events created as private by default ? calendar fr Les nouveaux évènements doivent-ils être crées comme privés par défaut ?
should the mini calendars by printed / displayed in the printer friendly views ? calendar fr Les mini-calendriers doivent-ils être imprimés / affichés dans les vues compatibles imprimante ?
should the printer friendly view be in black & white or in color (as in normal view)? calendar fr La vue compatible imprimante doit-elle être en noir & blanc ou en couleur (comme dans la vue normale)?
should the status of the event-participants (accept, reject, ...) be shown in brakets after each participants name ? calendar fr Le statut de chaque participant à l'évènement (accepté, rejeté, ...) doit-il être montré entre crochets après le nom de chaque participant ?
show day view on main screen calendar fr Montrer la vue du jour sur l'écran principal show day view on main screen calendar fr Montrer la vue du jour sur l'écran principal
show default view on main screen calendar fr Montrer la vue par défaut sur l'écran principal show default view on main screen calendar fr Montrer la vue par défaut sur l'écran principal
show high priority events on main screen calendar fr Montrer les événements prioritaires sur la page principale show high priority events on main screen calendar fr Montrer les événements prioritaires sur la page principale
show invitations you rejected calendar fr Montrer les invitations que vous avez rejeté
single event calendar fr Evènement unique single event calendar fr Evènement unique
sorry, the owner has just deleted this event calendar fr Désolé, le propriétaire vient juste d'effacer cet événement sorry, the owner has just deleted this event calendar fr Désolé, le propriétaire vient juste d'effacer cet événement
sorry, this event does not exist calendar fr Désolé, cet évènement n'existe pas sorry, this event does not exist calendar fr Désolé, cet évènement n'existe pas
sorry, this event does not have exceptions defined calendar fr Désolé, cet évènement n'a pas d'exceptions définies sorry, this event does not have exceptions defined calendar fr Désolé, cet évènement n'a pas d'exceptions définies
sort by calendar fr Sort by sort by calendar fr Sort by
specifies the the number of intervals shown in the planner view. calendar fr Spécifie le nombre d'intervalles montrés dans la vue planning.
start date/time calendar fr Date/heure de début start date/time calendar fr Date/heure de début
start- and enddates calendar fr Dates de début et de fin start- and enddates calendar fr Dates de début et de fin
startdate calendar fr Date de début
startrecord calendar fr Enregistrement de début startrecord calendar fr Enregistrement de début
su calendar fr Di su calendar fr Di
submit to repository calendar fr Soumettre au dépôt submit to repository calendar fr Soumettre au dépôt
@ -179,11 +239,25 @@ th calendar fr J
the following conflicts with the suggested time:<ul>%1</ul> calendar fr L'élément suivant entre en conflit avec l'heure suggérée:<ul>%1</ul> the following conflicts with the suggested time:<ul>%1</ul> calendar fr L'élément suivant entre en conflit avec l'heure suggérée:<ul>%1</ul>
the user %1 is not participating in this event! calendar fr L'utilisateur %1 ne participe pas à cet évènement! the user %1 is not participating in this event! calendar fr L'utilisateur %1 ne participe pas à cet évènement!
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 fr Il y a eu une erreur en essayant de se connecter à votre serveur de News.<br>SVP, contactez votre administrateur pour vérifier le nom du serveur de News, votre nom ou mot de passe. 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 fr Il y a eu une erreur en essayant de se connecter à votre serveur de News.<br>SVP, contactez votre administrateur pour vérifier le nom du serveur de News, votre nom ou mot de passe.
this day is shown as first day in the week or month view. calendar fr Ce jour est montré comme le premier jour dans la vue hebdomadaire ou mensuelle.
this defines the end of your dayview. events after this time, are shown below the dayview. calendar fr Ceci définit la fin de votre vue journalière. Les évènements après cette heure sont montrés sous la vue journalière.
this defines the start of your dayview. events before this time, are shown above the dayview.<br>this time is also used as a default starttime for new events. calendar fr Ceci définit le début de votre vue journalière. Les évènements avant cette heuresont montrés au-dessus de la vue journalière.<br>Cette heure est aussi utilisée comme l'heure de début par défaut pour les nouveaux évènements.
this group that is preselected when you enter the planner. you can change it in the planner anytime you want. calendar fr Ce groupe qui est présélectionné quand vous entrez dans le planning. Vous pouvez le changer dans le planning chaque fois que vous le voulez.
this message is sent for canceled or deleted events. calendar fr Ce message est envoyé pour les évènements annulés ou effacés.
this message is sent for modified or moved events. calendar fr Ce message est envoyé pour les évènements modifiés ou déplacés.
this message is sent to every participant of events you own, who has requested notifcations about new events.<br>you can use certain variables which get substituted with the data of the event. the first line is the subject of the email. calendar fr Ce message est envoyé à tous les participants des évènements vous appartenant qui ont demandé des notifications à propos des nouveaux évènements.<br>Vous pouvez utiliser certaines variables qui seront remplacées par les données de l'évènement. La première ligne est le sujet de l'EMail.
this message is sent when you accept, tentative accept or reject an event. calendar fr Ce message est envoyé quand vous acceptez, essayez d'accepter ou rejetez un évènement.
this message is sent when you set an alarm for a certain event. include all information you might need. calendar fr Ce message est envoyé quand vous réglez une Alarme pour un évènement précis. Incluez toutes les informations dont vous pourriez avoir besoin.
this month calendar fr Ce mois this month calendar fr Ce mois
this week calendar fr Cette semaine this week calendar fr Cette semaine
this year calendar fr Cette année this year calendar fr Cette année
thu calendar fr Jeu thu calendar fr Jeu
title calendar fr Titre title calendar fr Titre
title of the event calendar fr Titre de l'évènement
title-row calendar fr Titre de ligne
to-firstname calendar fr A-prénom
to-fullname calendar fr A-Nom complet
to-lastname calendar fr A-Nom de famille
today calendar fr Aujourd'hui today calendar fr Aujourd'hui
translation calendar fr Traduction translation calendar fr Traduction
tu calendar fr M tu calendar fr M
@ -199,6 +273,8 @@ weekday starts on calendar fr La semaine d
weekly calendar fr Hebdomadaire weekly calendar fr Hebdomadaire
weekview calendar fr Vue hebdomadaire weekview calendar fr Vue hebdomadaire
when creating new events default set to private calendar fr A la création de nouveaux événements mettre par défaut en privé when creating new events default set to private calendar fr A la création de nouveaux événements mettre par défaut en privé
which events do you want to see when you enter the calendar. calendar fr Quels évènements voulez-vous voir quand vous entrez dans le calendrier.
which of calendar view do you want to see, when you start calendar ? calendar fr Laquelle des vues du calendrier vous voulez voir, quand vous entrez dans le calendrier ?
work day ends on calendar fr Jour de travail finit à work day ends on calendar fr Jour de travail finit à
work day starts on calendar fr Jour de travail démarre à work day starts on calendar fr Jour de travail démarre à
workdayends calendar fr Le jour de travail finit workdayends calendar fr Le jour de travail finit
@ -206,10 +282,13 @@ yearly calendar fr Annuel
yearview calendar fr Vue annuelle yearview calendar fr Vue annuelle
you can either set a year or a occurence, not both !!! calendar fr Vous pouvez soit régler une année ou une Occurence, pas les deux !!! you can either set a year or a occurence, not both !!! calendar fr Vous pouvez soit régler une année ou une Occurence, pas les deux !!!
you can only set a year or a occurence !!! calendar fr Vous pouvez uniquement régler une année ou une occurrence !!! you can only set a year or a occurence !!! calendar fr Vous pouvez uniquement régler une année ou une occurrence !!!
you do not have permission to add alarms to this event !!! calendar fr Vous n'avez pas les droits pour ajouter des alarmes à cet évènement !!!
you do not have permission to delete this alarm !!! calendar fr Vous n'avez pas les droits pour effacer cette alarme !!!
you do not have permission to enable/disable this alarm !!! calendar fr Vous n'avez pas les droits pour activer/désactiver cette alarme !!!
you do not have permission to read this record! calendar fr Vous n'avez pas les droits pour lire cet enregistrement! you do not have permission to read this record! calendar fr Vous n'avez pas les droits pour lire cet enregistrement!
you have %1 high priority events on your calendar today. common fr Vous avez %1 événements de haute priorité dans votre calendrier aujourd'hui. you have %1 high priority events on your calendar today. common fr Vous avez %1 événements de haute priorité dans votre calendrier aujourd'hui.
you have 1 high priority event on your calendar today. common fr Vous avez 1 événement de haute priorité dans votre calendrier aujourd'hui. you have 1 high priority event on your calendar today. common fr Vous avez 1 événement de haute priorité dans votre calendrier aujourd'hui.
you have a meeting scheduled for calendar fr Vous avez une réunion planifiée le you have a meeting scheduled for %1 calendar fr Vous avez une réunion planifiée pour %1
you have not entered a title calendar fr Vous n'avez pas entré de titre you have not entered a title calendar fr Vous n'avez pas entré de titre
you have not entered a valid date calendar fr Vous n'avez pas entré une date correcte you have not entered a valid date calendar fr Vous n'avez pas entré une date correcte
you have not entered a valid time of day calendar fr Vous n'avez pas entré une heure de la journée correcte you have not entered a valid time of day calendar fr Vous n'avez pas entré une heure de la journée correcte
@ -217,6 +296,6 @@ you have not entered participants calendar fr Vous n'avez pas s
you must enter one or more search keywords calendar fr Vous devez entrer un ou plusieurs mots clés de recherche you must enter one or more search keywords calendar fr Vous devez entrer un ou plusieurs mots clés de recherche
you must select a [iv]cal. (*.[iv]cs) calendar fr Vous devez choisir un [iv]Cal. (*.[iv]cs) you must select a [iv]cal. (*.[iv]cs) calendar fr Vous devez choisir un [iv]Cal. (*.[iv]cs)
you need to set either a day or a occurence !!! calendar fr Vous devez régler soit un jour soit une occurrence !!! you need to set either a day or a occurence !!! calendar fr Vous devez régler soit un jour soit une occurrence !!!
your meeting scheduled for calendar fr Votre réunion planifiée le your meeting scheduled for %1 has been canceled calendar fr Votre réunion planifiée pour %1 a été annulée
your meeting that had been scheduled for calendar fr Votre réunion qui a été planifiée le your meeting that had been scheduled for %1 has been rescheduled to %2 calendar fr Votre réunion qui avait été planifiée pour %1 a été replanifiée pour %2
your suggested time of <b> %1 - %2 </b> conflicts with the following existing calendar entries: calendar fr L'heure que vous avez suggéré <B> %1 - %2 </B> entre en conflit avec les entrés suivantes du calendrier: your suggested time of <b> %1 - %2 </b> conflicts with the following existing calendar entries: calendar fr L'heure que vous avez suggéré <B> %1 - %2 </B> entre en conflit avec les entrés suivantes du calendrier:

View File

@ -6,9 +6,11 @@ alarms calendar ja
alarm management calendar ja アラーム管理 alarm management calendar ja アラーム管理
all day calendar ja 全ての日 all day calendar ja 全ての日
am calendar ja 午前 am calendar ja 午前
are you sure you want to delete this country ? calendar ja この国の休日を削除してもよろしいですか。
are you sure\nyou want to\ndelete this entry ? calendar ja この項目を\n削除してもよろしいですか。 are you sure\nyou want to\ndelete this entry ? calendar ja この項目を\n削除してもよろしいですか。
are you sure\nyou want to\ndelete this entry ?\n\nthis will delete\nthis entry for all users. calendar ja 削除してもよろしいですか。\n全てのユーザに影響します are you sure\nyou want to\ndelete this entry ?\n\nthis will delete\nthis entry for all users. calendar ja 削除してもよろしいですか。\n全てのユーザに影響します
Are you sure\nyou want to\ndelete this single occurence ?\n\nThis will delete\nthis entry for all users. calendar ja 削除してもよろしいですか。\n全てのユーザに影響します Are you sure\nyou want to\ndelete this single occurence ?\n\nThis will delete\nthis entry for all users. calendar ja 削除してもよろしいですか。\n全てのユーザに影響します
back calendar ja 戻る
brief description calendar ja 件名 brief description calendar ja 件名
calendar common ja カレンダー calendar common ja カレンダー
calendar preferences common ja カレンダーユーザ設定 calendar preferences common ja カレンダーユーザ設定
@ -17,6 +19,7 @@ calendar - add calendar ja
calendar - edit calendar ja カレンダー - 訂正 calendar - edit calendar ja カレンダー - 訂正
calendar holiday management admin ja 休日設定 calendar holiday management admin ja 休日設定
countries calendar ja 国一覧 countries calendar ja 国一覧
country calendar ja 国
daily calendar ja 日単位 daily calendar ja 日単位
daily matrix view calendar ja 日程表示 daily matrix view calendar ja 日程表示
days repeated calendar ja 曜日 days repeated calendar ja 曜日
@ -24,6 +27,7 @@ delete series calendar ja Ϣ³
delete single calendar ja 単独削除 delete single calendar ja 単独削除
default calendar filter calendar ja カレンダーの初期選択 default calendar filter calendar ja カレンダーの初期選択
default calendar view calendar ja カレンダーの初期表示 default calendar view calendar ja カレンダーの初期表示
display interval in day View calendar ja 日表示時の時間間隔
display mini calendars when printing calendar ja 印刷用の時、小カレンダを表示 display mini calendars when printing calendar ja 印刷用の時、小カレンダを表示
display status of events calendar ja イベント状況表示 display status of events calendar ja イベント状況表示
do you wish to autoload calendar holidays files dynamically? admin ja 休日ファイルを自動ロードする do you wish to autoload calendar holidays files dynamically? admin ja 休日ファイルを自動ロードする
@ -66,12 +70,15 @@ no matches found. calendar ja
no matchs found calendar ja 見つかりません。 no matchs found calendar ja 見つかりません。
no response calendar ja 返答なし no response calendar ja 返答なし
observance rule calendar ja 休日のルールを適用 observance rule calendar ja 休日のルールを適用
overlap holiday calendar ja 振替休日
occurence calendar ja 曜日指定 occurence calendar ja 曜日指定
participant calendar ja 参加者 participant calendar ja 参加者
participates calendar ja も参加 participates calendar ja も参加
participants calendar ja 参加者 participants calendar ja 参加者
people holiday calendar ja 国民の休日
planner calendar ja プランナー planner calendar ja プランナー
pm calendar ja 午後 pm calendar ja 午後
print calendars in black & white calendar ja 印刷用の時、白黒表示にする
printer friendly calendar ja 印刷用へ printer friendly calendar ja 印刷用へ
private and global public calendar ja プライベートと共有 private and global public calendar ja プライベートと共有
private and group public calendar ja プライベートと所属グループ private and group public calendar ja プライベートと所属グループ
@ -94,6 +101,7 @@ search results calendar ja
select country for including holidays calendar ja 休日データ選択 select country for including holidays calendar ja 休日データ選択
send/receive updates via email calendar ja 更新情報を電子メールで受取る send/receive updates via email calendar ja 更新情報を電子メールで受取る
show day view on main screen calendar ja 今日の予定をメイン画面に表示 show day view on main screen calendar ja 今日の予定をメイン画面に表示
show default view on main screen calendar ja 初期表示をメイン画面に表示
show high priority events on main screen calendar ja 優先度が高いイベントをメイン画面に表示 show high priority events on main screen calendar ja 優先度が高いイベントをメイン画面に表示
start date/time calendar ja 開始日時 start date/time calendar ja 開始日時
su calendar ja 日 su calendar ja 日

View File

@ -2,12 +2,9 @@
1 match found calendar sv 1 träff hittad 1 match found calendar sv 1 träff hittad
a calendar sv a a calendar sv a
all calendar sv Alla all calendar sv Alla
are you sure\\\\nyou want to\\\\ndelete this entry ? calendar sv Är du säker på attndu villnta bort denna? are you sure\nyou want to\ndelete this entry ? calendar sv Är du säker på att\ndu vill\nta bort denna?
are you sure\\\\nyou want to\\\\ndelete this entry ?\\\\n\\\\nthis will delete\\\\nthis entry for all users. calendar sv Är du säker på attndu villnta bort denna entry ?nnDetta vill ta bortndenna entry för alla användare. are you sure\nyou want to\ndelete this entry ?\n\nthis will delete\nthis entry for all users. calendar sv Är du säker på attndu villnta bort denna entry ?\n\nDetta vill ta bortndenna entry för alla användare.
are you sure\\nyou want to\\ndelete this entry ? calendar sv Är du säker\\natt du vill\\ntabort denna post? are you sure\nyou want to\ndelete this entry ?\n\nthis will delete\nthis entry for all users. calendar sv Är du säker\natt du vill\ntabort denna post?\n\nDetta tar bort den\nför alla användare.
are you sure\\nyou want to\\ndelete this entry ?\\n\\nthis will delete\\nthis entry for all users. calendar sv Är du säker\\natt du vill\\ntabort denna post?\\n\\nDetta tar bort den\\nför alla användare.
are you sure\nyou want to\ndelete this entry ? calendar sv Är du säker\natt du vill\\nradera denna post?
are you sure\nyou want to\ndelete this entry ?\n\nthis will delete\nthis entry for all users. calendar sv Är du säker\\natt du vill\\nradera denna post?\\n\\nDetta tar bort\\ndenna post för alla\\nanvändare.
brief description calendar sv Kort beskrivning brief description calendar sv Kort beskrivning
calendar common sv kalender calendar common sv kalender
calendar preferences common sv Kalender inställningar calendar preferences common sv Kalender inställningar
@ -80,11 +77,11 @@ year calendar sv
yearly calendar sv Årligen yearly calendar sv Årligen
you have 1 high priority event on your calendar today. common sv Du har 1 högprioritets händelse i din kalender i dag. you have 1 high priority event on your calendar today. common sv Du har 1 högprioritets händelse i din kalender i dag.
you have %1 high priority events on your calendar today. common sv Du har %1 högprioritets händelse i din kalender i dag. you have %1 high priority events on your calendar today. common sv Du har %1 högprioritets händelse i din kalender i dag.
you have not entered a\\\\nbrief description calendar sv Du har inte skrivit in ennkort beskrivning you have not entered a\nbrief description calendar sv Du har inte skrivit in ennkort beskrivning
you have not entered a\\\\nvalid time of day. calendar sv Du har inte skrivit in enngiltig tid. you have not entered a\nvalid time of day. calendar sv Du har inte skrivit in enngiltig tid.
you have not entered a\\nbrief description calendar sv Du har inte gett\\nnågon beskrivning you have not entered a\nbrief description calendar sv Du har inte gett\nnågon beskrivning
you have not entered a\\nvalid time of day. calendar sv Du har inte angett\\nnågon giltig tid på dagen. you have not entered a\nvalid time of day. calendar sv Du har inte angett\nnågon giltig tid på dagen.
you have not entered a\nbrief description calendar sv Du har inte skrivit\\nen beskrivning. you have not entered a\nbrief description calendar sv Du har inte skrivit\nen beskrivning.
you have not entered a\nvalid time of day. calendar sv Du har inte angivit\\nen giltig tid. you have not entered a\nvalid time of day. calendar sv Du har inte angivit\nen giltig tid.
you must enter one or more search keywords calendar sv Du måste skriva in ett eller flera sökord you must enter one or more search keywords calendar sv Du måste skriva in ett eller flera sökord
your suggested time of <b> %1 - %2 </b> conflicts with the following existing calendar entries: calendar sv Din föreslagna tid av <B> %1 - %2 </B> är i konflikt med de följande kalender entries: your suggested time of <b> %1 - %2 </b> conflicts with the following existing calendar entries: calendar sv Din föreslagna tid av <B> %1 - %2 </B> är i konflikt med de följande kalender entries:

View File

@ -12,58 +12,50 @@
/* $Id$ */ /* $Id$ */
$setup_info['calendar']['name'] = 'calendar'; $setup_info['calendar']['name'] = 'calendar';
$setup_info['calendar']['version'] = '0.9.13.007'; $setup_info['calendar']['version'] = '0.9.16.001';
$setup_info['calendar']['app_order'] = 3; $setup_info['calendar']['app_order'] = 3;
$setup_info['calendar']['enable'] = 1; $setup_info['calendar']['enable'] = 1;
$setup_info['calendar']['author'] = array $setup_info['calendar']['author'] = 'Mark Peters';
(
'name' => 'Mark Peters',
'email' => 'skeeter@phpgroupware.org'
);
$setup_info['calendar']['license'] = 'GPL'; $setup_info['calendar']['license'] = 'GPL';
$setup_info['calendar']['description'] =
$setup_info['calendar']['description'] = 'Powerful calendar with meeting request system and ACL security.'; 'Powerful calendar with meeting request system and ACL security.';
$setup_info['calendar']['note'] =
'Bassed on Webcalendar by <a href="http://www.radix.net/~cknudsen" target="_blank">Craig Knudsen</a>.<p>
<b>More information</b> about the calendar and the current development-status can be found on the
<a href="http://www.phpgroupware.org/wiki/calendar" target="_blank">Calendar page in our Wiki</a> or
<a href="http://www.phpgroupware.org/wiki/calendarFAQs" target="_blank">Calendar FAQs</a>.';
$setup_info['calendar']['maintainer'] = array( $setup_info['calendar']['maintainer'] = array(
'name' => 'Ralf Becker', 'name' => 'Ralf Becker',
'email' => 'ralfbecker@outdoor-training.de' 'email' => 'RalfBecker@outdoor-training.de'
);
$setup_info['calendar']['based_on'] = array
(
'info' => 'Webcalendar by Craig Knudsen',
'email' => 'cknudsen@radix.net',
'url' => 'http://www.radix.net/~cknudsen'
); );
$setup_info['calendar']['tables'][] = 'phpgw_cal'; $setup_info['calendar']['tables'][] = 'phpgw_cal';
$setup_info['calendar']['tables'][] = 'phpgw_cal_holidays'; $setup_info['calendar']['tables'][] = 'phpgw_cal_holidays';
$setup_info['calendar']['tables'][] = 'phpgw_cal_repeats'; $setup_info['calendar']['tables'][] = 'phpgw_cal_repeats';
$setup_info['calendar']['tables'][] = 'phpgw_cal_user'; $setup_info['calendar']['tables'][] = 'phpgw_cal_user';
$setup_info['calendar']['tables'][] = 'phpgw_cal_alarm'; $setup_info['calendar']['tables'][] = 'phpgw_cal_extra';
/* The hooks this app includes, needed for hooks registration */ /* The hooks this app includes, needed for hooks registration */
$setup_info['calendar']['hooks'] = array $setup_info['calendar']['hooks'][] = 'add_def_prefs';
( $setup_info['calendar']['hooks'][] = 'admin';
'add_def_prefs', $setup_info['calendar']['hooks'][] = 'deleteaccount';
'admin', $setup_info['calendar']['hooks'][] = 'email';
'deleteaccount', $setup_info['calendar']['hooks'][] = 'home';
'email', $setup_info['calendar']['hooks'][] = 'home_day';
'home', $setup_info['calendar']['hooks'][] = 'home_month';
'home_day', $setup_info['calendar']['hooks'][] = 'home_week';
'home_month', $setup_info['calendar']['hooks'][] = 'home_year';
'home_week', $setup_info['calendar']['hooks'][] = 'manual';
'home_year', $setup_info['calendar']['hooks'][] = 'preferences';
'manual', $setup_info['calendar']['hooks'][] = 'settings';
'preferences', $setup_info['calendar']['hooks'][] = 'sidebox_menu';
'settings'
);
/* Dependencies for this app to work */ /* Dependencies for this app to work */
$setup_info['calendar']['depends'][] = array( $setup_info['calendar']['depends'][] = array(
'appname' => 'phpgwapi', 'appname' => 'phpgwapi',
'versions' => Array('0.9.13', '0.9.14','0.9.15') 'versions' => Array('0.9.14','0.9.15','0.9.16')
); );
?>

View File

@ -15,20 +15,20 @@
'phpgw_cal' => array( 'phpgw_cal' => array(
'fd' => array( 'fd' => array(
'cal_id' => array('type' => 'auto','nullable' => False), 'cal_id' => array('type' => 'auto','nullable' => False),
'uid' => array('type' => 'varchar', 'precision' => 255,'nullable' => False), 'uid' => array('type' => 'varchar','precision' => '255','nullable' => False),
'owner' => array('type' => 'int', 'precision' => 8,'nullable' => False), 'owner' => array('type' => 'int','precision' => '8','nullable' => False),
'category' => array('type' => 'varchar', 'precision' => 30,'nullable' => True), 'category' => array('type' => 'varchar','precision' => '30','nullable' => True),
'groups' => array('type' => 'varchar', 'precision' => 255,'nullable' => True), 'groups' => array('type' => 'varchar','precision' => '255','nullable' => True),
'datetime' => array('type' => 'int', 'precision' => 8,'nullable' => True), 'datetime' => array('type' => 'int','precision' => '8','nullable' => True),
'mdatetime' => array('type' => 'int', 'precision' => 8,'nullable' => True), 'mdatetime' => array('type' => 'int','precision' => '8','nullable' => True),
'edatetime' => array('type' => 'int', 'precision' => 8,'nullable' => True), 'edatetime' => array('type' => 'int','precision' => '8','nullable' => True),
'priority' => array('type' => 'int', 'precision' => 8,'nullable' => False,'default' => 2), 'priority' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '2'),
'cal_type' => array('type' => 'varchar', 'precision' => 10,'nullable' => True), 'cal_type' => array('type' => 'varchar','precision' => '10','nullable' => True),
'is_public' => array('type' => 'int', 'precision' => 8,'nullable' => False,'default' => 1), 'is_public' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '1'),
'title' => array('type' => 'varchar', 'precision' => 80,'nullable' => False,'default' => '1'), 'title' => array('type' => 'varchar','precision' => '80','nullable' => False,'default' => '1'),
'description' => array('type' => 'text','nullable' => True), 'description' => array('type' => 'text','nullable' => True),
'location' => array('type' => 'varchar', 'precision' => 255,'nullable' => True), 'location' => array('type' => 'varchar','precision' => '255','nullable' => True),
'reference' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => 0) 'reference' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0')
), ),
'pk' => array('cal_id'), 'pk' => array('cal_id'),
'fk' => array(), 'fk' => array(),
@ -38,13 +38,13 @@
'phpgw_cal_holidays' => array( 'phpgw_cal_holidays' => array(
'fd' => array( 'fd' => array(
'hol_id' => array('type' => 'auto','nullable' => False), 'hol_id' => array('type' => 'auto','nullable' => False),
'locale' => array('type' => 'char', 'precision' => 2, 'nullable' => False), 'locale' => array('type' => 'char','precision' => '2','nullable' => False),
'name' => array('type' => 'varchar', 'precision' => 50, 'nullable' => False), 'name' => array('type' => 'varchar','precision' => '50','nullable' => False),
'mday' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => 0), 'mday' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'),
'month_num' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => 0), 'month_num' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'),
'occurence' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => 0), 'occurence' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'),
'dow' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => 0), 'dow' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'),
'observance_rule' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => 0) 'observance_rule' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0')
), ),
'pk' => array('hol_id'), 'pk' => array('hol_id'),
'fk' => array(), 'fk' => array(),
@ -53,13 +53,13 @@
), ),
'phpgw_cal_repeats' => array( 'phpgw_cal_repeats' => array(
'fd' => array( 'fd' => array(
'cal_id' => array('type' => 'int', 'precision' => 8, 'nullable' => False), 'cal_id' => array('type' => 'int','precision' => '8','nullable' => False),
'recur_type' => array('type' => 'int', 'precision' => 8, 'nullable' => False), 'recur_type' => array('type' => 'int','precision' => '8','nullable' => False),
'recur_use_end' => array('type' => 'int', 'precision' => 8, 'nullable' => True, 'default' => 0), 'recur_use_end' => array('type' => 'int','precision' => '8','nullable' => True,'default' => '0'),
'recur_enddate' => array('type' => 'int', 'precision' => 8, 'nullable' => True), 'recur_enddate' => array('type' => 'int','precision' => '8','nullable' => True),
'recur_interval' => array('type' => 'int', 'precision' => 8, 'nullable' => True, 'default' => 1), 'recur_interval' => array('type' => 'int','precision' => '8','nullable' => True,'default' => '1'),
'recur_data' => array('type' => 'int', 'precision' => 8, 'nullable' => True, 'default' => 1), 'recur_data' => array('type' => 'int','precision' => '8','nullable' => True,'default' => '1'),
'recur_exception' => array('type' => 'varchar', 'precision' => 255, 'nullable' => True, 'default' => '') 'recur_exception' => array('type' => 'varchar','precision' => '255','nullable' => True,'default' => '')
), ),
'pk' => array(), 'pk' => array(),
'fk' => array(), 'fk' => array(),
@ -68,25 +68,23 @@
), ),
'phpgw_cal_user' => array( 'phpgw_cal_user' => array(
'fd' => array( 'fd' => array(
'cal_id' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => 0), 'cal_id' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'),
'cal_login' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => 0), 'cal_login' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'),
'cal_status' => array('type' => 'char', 'precision' => 1, 'nullable' => True, 'default' => 'A') 'cal_status' => array('type' => 'char','precision' => '1','nullable' => True,'default' => 'A'),
'cal_type' => array('type' => 'varchar','precision' => '1','nullable' => False,'default' => '')
), ),
'pk' => array('cal_id','cal_login'), 'pk' => array('cal_id','cal_login'),
'fk' => array(), 'fk' => array(),
'ix' => array(), 'ix' => array(),
'uc' => array() 'uc' => array()
), ),
'phpgw_cal_alarm' => array( 'phpgw_cal_extra' => array(
'fd' => array( 'fd' => array(
'alarm_id' => array('type' => 'auto','nullable' => False), 'cal_id' => array('type' => 'int','precision' => '4','nullable' => False),
'cal_id' => array('type' => 'int', 'precision' => 8, 'nullable' => False), 'cal_extra_name' => array('type' => 'varchar','precision' => '40','nullable' => False),
'cal_owner' => array('type' => 'int', 'precision' => 8, 'nullable' => False), 'cal_extra_value' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '')
'cal_time' => array('type' => 'int', 'precision' => 8, 'nullable' => False),
'cal_text' => array('type' => 'varchar', 'precision' => 50, 'nullable' => False),
'alarm_enabled' => array('type' => 'int', 'precision' => 4, 'nullable' => False, 'default' => '1')
), ),
'pk' => array('alarm_id'), 'pk' => array('cal_id','cal_extra_name'),
'fk' => array(), 'fk' => array(),
'ix' => array(), 'ix' => array(),
'uc' => array() 'uc' => array()

View File

@ -827,6 +827,12 @@
$GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.001'; $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.001';
return $GLOBALS['setup_info']['calendar']['currentver']; return $GLOBALS['setup_info']['calendar']['currentver'];
} }
$test[] = '0.9.12';
function calendar_upgrade0_9_12()
{
$GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.001';
return $GLOBALS['setup_info']['calendar']['currentver'];
}
$test[] = '0.9.13.001'; $test[] = '0.9.13.001';
function calendar_upgrade0_9_13_001() function calendar_upgrade0_9_13_001()
{ {
@ -907,4 +913,33 @@
$GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.007'; $GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.007';
return $GLOBALS['setup_info']['calendar']['currentver']; return $GLOBALS['setup_info']['calendar']['currentver'];
} }
$test[] = '0.9.13.007';
function calendar_upgrade0_9_13_007()
{
$GLOBALS['phpgw_setup']->oProc->AddColumn('phpgw_cal_user','cal_type',array(
'type' => 'varchar',
'precision' => '1',
'nullable' => False,
'default' => ''
));
$GLOBALS['phpgw_setup']->oProc->CreateTable('phpgw_cal_extra',array(
'fd' => array(
'cal_id' => array('type' => 'int','precision' => '4','nullable' => False),
'cal_extra_name' => array('type' => 'varchar','precision' => '40','nullable' => False),
'cal_extra_value' => array('type' => 'varchar','precision' => '255','nullable' => False,'default' => '')
),
'pk' => array('cal_id','cal_extra_name'),
'fk' => array(),
'ix' => array(),
'uc' => array()
));
$GLOBALS['phpgw_setup']->oProc->DropTable('phpgw_cal_alarm');
$GLOBALS['setup_info']['calendar']['currentver'] = '0.9.16.001';
return $GLOBALS['setup_info']['calendar']['currentver'];
}
?> ?>

View File

@ -1,33 +1,48 @@
<!-- $Id$ --> <!-- $Id$ -->
<!-- BEGIN alarm_management --> <!-- BEGIN alarm_management -->
<form action="{action_url}" method="post" name="alarmform"> <form action="{action_url}" method="post" name="alarmform">
{hidden_vars}
<center> <center>
<table border="0" width="90%"> <table border="0" width="90%">
{row} {rows}
</table> </table>
</center> </center>
<p>
<center>
<b>{input_text}</b><p>
{input_days}&nbsp;{input_hours}&nbsp;{input_minutes}&nbsp;{input_owner}
<p>
{input_add}
</center>
</form> </form>
<!-- END alarm_management --> <!-- END alarm_management -->
<!-- BEGIN alarm_headers --> <!-- BEGIN alarm_headers -->
<tr class="th"> <tr bgcolor="{tr_color}">
<th valign="top" align="left" width="4%">&nbsp;</b></th> <th align="left" width="25%">{lang_time}</th>
<th valign="top" align="left" width="30%">&nbsp;<b>{time_lang}</b></th> <th align="left" width="30%">{lang_text}</th>
<th valign="top" align="left" width="54%">&nbsp;{text_lang}</th> <th align="left" width="25%">{lang_owner}</th>
<th valign="top" align="center" width="6%"><img src="{enabled_pict}" width="13" height="13" alt="enabled"></th> <th width="10%">{lang_enabled}</th>
<th valign="top" align="center" width="6%"><img src="{disabled_pict}" width="13" height="13" alt="disabled"></th> <th width="10%">{lang_select}</th>
</tr> </tr>
<!-- END alarm_headers --> <!-- END alarm_headers -->
<!-- BEGIN list --> <!-- BEGIN list -->
<tr class="{tr_color}"> <tr bgcolor="{tr_color}">
<td valign="top" align="left" width="4%">{edit_box}</td> <td><b>{field}:</b></td>
<td valign="top" align="left" width="30%"><b>{field}:</b></td> <td>{data}</td>
<td valign="top" align="left" width="54%">{data}</td> <td>{owner}</td>
<td valign="top" align="left" width="6%">{alarm_enabled}</td> <td align="center">{enabled}</td>
<td valign="top" align="left" width="6%">{alarm_disabled}</td> <td align="center">{select}</td>
</tr> </tr>
<!-- END list --> <!-- END list -->
<!-- BEGIN hr --> <!-- BEGIN hr -->
<tr class="th"> <tr bgcolor="{th_bg}">
<td colspan="5" align="center"><b>{hr_text}</b></td> <td colspan="5" align="center"><b>{hr_text}</b></td>
</tr> </tr>
<!-- END hr --> <!-- END hr -->
<!-- BEGIN buttons -->
<tr>
<td colspan="6" align="right">
{enable_button}&nbsp;{disable_button}&nbsp;{delete_button}
</td>
</tr>
<!-- END buttons -->

View File

@ -1,20 +1,20 @@
<!-- BEGIN header --> <!-- BEGIN header -->
<form method="POST" action="{action_url}"> <form method="POST" action="{action_url}">
<table border="0" align="center"> <table border="0" align="center">
<tr class="th"> <tr bgcolor="{th_bg}">
<td colspan="2"><font color="{th_text}">&nbsp;<b>{title}</b></font></td> <td colspan="2"><font color="{th_text}">&nbsp;<b>{title}</b></font></td>
</tr> </tr>
<!-- END header --> <!-- END header -->
<!-- BEGIN body --> <!-- BEGIN body -->
<tr class="row_on"> <tr bgcolor="{row_on}">
<td colspan="2">&nbsp;</td> <td colspan="2">&nbsp;</td>
</tr> </tr>
<tr class="row_off"> <tr bgcolor="{row_off}">
<td colspan="2"><b>{lang_Calendar_settings}</b></td> <td colspan="2"><b>{lang_Calendar_settings}</b></td>
</tr> </tr>
<tr class="row_on"> <tr bgcolor="{row_on}">
<td>{lang_Do_you_wish_to_autoload_calendar_holidays_files_dynamically?}</td> <td>{lang_Do_you_wish_to_autoload_calendar_holidays_files_dynamically?}</td>
<td> <td>
<select name="newsettings[auto_load_holidays]"> <select name="newsettings[auto_load_holidays]">
@ -23,7 +23,7 @@
</select> </select>
</td> </td>
</tr> </tr>
<tr class="row_off"> <tr bgcolor="{row_off}">
<td>{lang_Location_to_autoload_from}:</td> <td>{lang_Location_to_autoload_from}:</td>
<td> <td>
<select name="newsettings[holidays_url_path]"> <select name="newsettings[holidays_url_path]">
@ -35,7 +35,7 @@
<!-- END body --> <!-- END body -->
<!-- BEGIN footer --> <!-- BEGIN footer -->
<tr class="th"> <tr bgcolor="{th_bg}">
<td colspan="2"> <td colspan="2">
&nbsp; &nbsp;
</td> </td>

View File

@ -0,0 +1,46 @@
<!-- $Id$ -->
<!-- BEGIN custom_fields -->
{lang_error}<br>
<form action="{action_url}" method="post">
{hidden_vars}
<center>
<table border="0" width="90%">
<tr class="th">
<th align="left" width="30%">{lang_name}</th>
<th>{lang_length}</th>
<th>{lang_shown}</th>
<th>{lang_order}</th>
<th>{lang_title}</th>
<th>{lang_disabled}</th>
<th>&nbsp;</th>
</tr>
{rows}
<tr class="th">
<td>{name}</td>
<td align="center">{length}</td>
<td align="center">{shown}</td>
<td align="center">{order}</td>
<td align="center">{title}</td>
<td align="center">{disabled}</td>
<td align="center">{button}</td>
</tr>
<tr>
<td>{save_button} &nbsp; {cancel_button}</td>
</tr>
</table>
</center>
</form>
<br>
<!-- END custom_fields -->
<!-- BEGIN row -->
<tr bgcolor="{tr_color}">
<td>{name}</td>
<td align="center">{length}</td>
<td align="center">{shown}</td>
<td align="center">{order}</td>
<td align="center">{title}</td>
<td align="center">{disabled}</td>
<td align="center">{button}</td>
</tr>
<!-- END row -->

View File

@ -14,7 +14,7 @@
</td> </td>
</tr> </tr>
</table> </table>
<table border="0" width="100%" cellspacing="0" cellpadding="0" class="bg_text"> <table border="0" width="100%" cellspacing="0" cellpadding="0" bgcolor="{bg_text}">
{day_events} {day_events}
</table> </table>
</td> </td>

View File

@ -9,15 +9,15 @@
</tr> </tr>
<!-- END day_row --> <!-- END day_row -->
<!-- BEGIN day_event_on --> <!-- BEGIN day_event_on -->
<td class="row_on"{extras}>{event}</td> <td class="event-on"{extras}>{event}</td>
<!-- END day_event_on --> <!-- END day_event_on -->
<!-- BEGIN day_event_off --> <!-- BEGIN day_event_off -->
<td class="row_off"{extras}>{event}</td> <td class="event-off"{extras}>{event}</td>
<!-- END day_event_off --> <!-- END day_event_off -->
<!-- BEGIN day_event_holiday --> <!-- BEGIN day_event_holiday -->
<td class="cal_holiday"{extras}>{event}</td> <td class="event-holiday"{extras}>{event}</td>
<!-- END day_event_holiday --> <!-- END day_event_holiday -->
<!-- BEGIN day_time --> <!-- BEGIN day_time -->
<td class="th" nowrap width="10%">{open_link}{time}{close_link}</td> <td class="time" nowrap>{open_link}{time}{close_link}</td>
<!-- END day_time --> <!-- END day_time -->

View File

@ -1,9 +1,16 @@
<!-- $Id$ --> <!-- $Id$ -->
<!-- BEGIN edit_entry --> <!-- BEGIN edit_entry -->
<script language="JavaScript">
self.name="first_Window";
function accounts_popup()
{
Window1=window.open('{accounts_link}',"Search","width=800,height=600,toolbar=no,scrollbars=yes,resizable=yes");
}
</script>
<center> <center>
<font color="#000000" face="{font}"> <font color="#000000" face="{font}">
<form action="{action_url}" method="post" name="addform"> <form action="{action_url}" method="post" name="app_form">
{common_hidden} {common_hidden}
<table border="0" width="90%"> <table border="0" width="90%">
<tr> <tr>
@ -14,7 +21,7 @@
{row} {row}
<tr> <tr>
<td> <td>
<table><tr valign="top"> <table><tr>
<td><input type="submit" value="{submit_button}">&nbsp;</form></td> <td><input type="submit" value="{submit_button}">&nbsp;</form></td>
<td>{cancel_button}</td> <td>{cancel_button}</td>
</tr></table> </tr></table>
@ -26,13 +33,13 @@
</center> </center>
<!-- END edit_entry --> <!-- END edit_entry -->
<!-- BEGIN list --> <!-- BEGIN list -->
<tr class="{tr_color}"> <tr bgcolor="{tr_color}">
<td valign="top" width="35%">&nbsp;<b>{field}:</b></td> <td valign="top" width="35%">&nbsp;<b>{field}:</b></td>
<td valign="top" width="65%">{data}</td> <td valign="top" width="65%">{data}</td>
</tr> </tr>
<!-- END list --> <!-- END list -->
<!-- BEGIN hr --> <!-- BEGIN hr -->
<tr class="{tr_color}"> <tr bgcolor="{tr_color}">
<td colspan="2"> <td colspan="2">
{hr_text} {hr_text}
</td> </td>

View File

@ -22,7 +22,7 @@
return '<a href="'.$link.'"><img src="'.$GLOBALS['phpgw']->common->image('calendar',$image).'" alt="'.$alt.'" title="'.$alt.'" border="0"></a>'; return '<a href="'.$link.'"><img src="'.$GLOBALS['phpgw']->common->image('calendar',$image).'" alt="'.$alt.'" title="'.$alt.'" border="0"></a>';
} }
$refer = explode('.',MENUACTION); $refer = explode('.',$GLOBALS['HTTP_GET_VARS']['menuaction']);
$referrer = $refer[2]; $referrer = $refer[2];
$templates = Array( $templates = Array(
@ -30,7 +30,6 @@
'form_button_dropdown' => 'form_button_dropdown.tpl', 'form_button_dropdown' => 'form_button_dropdown.tpl',
'form_button_script' => 'form_button_script.tpl' 'form_button_script' => 'form_button_script.tpl'
); );
$tpl = &$GLOBALS['phpgw']->template;
$tpl->set_file($templates); $tpl->set_file($templates);
$tpl->set_block('head_tpl','head','head'); $tpl->set_block('head_tpl','head','head');
$tpl->set_block('head_tpl','head_table','head_table'); $tpl->set_block('head_tpl','head_table','head_table');
@ -70,7 +69,7 @@
add_col($tpl,' <td width="'.(100 - $col_width).'%" align="left"'.(floor(phpversion()) < 4?' colspan="2"':'').'>&nbsp;</td>'); add_col($tpl,' <td width="'.(100 - $col_width).'%" align="left"'.(floor(phpversion()) < 4?' colspan="2"':'').'>&nbsp;</td>');
$tpl->parse('phpgw_body','head_table',True); $tpl->parse('row','head_table',True);
$tpl->set_var('header_column',''); $tpl->set_var('header_column','');
$tpl->set_var('cols',$cols); $tpl->set_var('cols',$cols);
@ -78,38 +77,37 @@
if($referrer!='view') if($referrer!='view')
{ {
$remainder = 72; $remainder = 72;
$cal_id = get_var('cal_id',Array('GET','DEFAULT'),0);
$keywords = get_var('keywords',Array('POST','DEFAULT'),''); $date = (isset($GLOBALS['date'])?$GLOBALS['date']:'');
$matrixtype = get_var('matrixtype',Array('POST','DEFAULT'),''); $date = (isset($GLOBALS['HTTP_GET_VARS']['date'])?$GLOBALS['HTTP_GET_VARS']['date']:$date);
$participants = get_var('participants',Array('POST')); $date = ($date=='' && isset($GLOBALS['HTTP_POST_VARS']['date'])?$GLOBALS['HTTP_POST_VARS']['date']:$date);
$date = get_var('date',Array('GET','POST'));
$year = $this->bo->year;
$month = $this->bo->month;
$day = $this->bo->day;
$var_list = Array(
'cal_id',
'keywords',
'matrixtype',
'date',
'year',
'month',
'day'
);
$base_hidden_vars = '<input type="hidden" name="from" value="'.MENUACTION.'">'."\n"; $base_hidden_vars = '<input type="hidden" name="from" value="'.$GLOBALS['HTTP_GET_VARS']['menuaction'].'">'."\n";
for($i=0;$i<count($var_list);$i++) if(isset($GLOBALS['HTTP_GET_VARS']['cal_id']) && $GLOBALS['HTTP_GET_VARS']['cal_id'] != 0)
{ {
if($$var_list[$i]) $base_hidden_vars .= ' <input type="hidden" name="cal_id" value="'.$GLOBALS['HTTP_GET_VARS']['cal_id'].'">'."\n";
{
$base_hidden_vars .= ' <input type="hidden" name="'.$var_list[$i].'" value="'.$$var_list[$i].'">'."\n";
}
} }
$hidden_vars = ''; if(isset($GLOBALS['HTTP_POST_VARS']['keywords']) && $GLOBALS['HTTP_POST_VARS']['keywords'])
if($participants)
{ {
for ($i=0;$i<count($participants);$i++) $base_hidden_vars .= ' <input type="hidden" name="keywords" value="'.$GLOBALS['HTTP_POST_VARS']['keywords'].'">'."\n";
}
if(isset($GLOBALS['HTTP_POST_VARS']['matrixtype']) && $GLOBALS['HTTP_POST_VARS']['matrixtype'])
{
$base_hidden_vars .= ' <input type="hidden" name="matrixtype" value="'.$GLOBALS['HTTP_POST_VARS']['matrixtype'].'">'."\n";
}
if($date)
{
$base_hidden_vars .= ' <input type="hidden" name="date" value="'.$date.'">'."\n";
}
$base_hidden_vars .= ' <input type="hidden" name="month" value="'.$this->bo->month.'">'."\n";
$base_hidden_vars .= ' <input type="hidden" name="day" value="'.$this->bo->day.'">'."\n";
$base_hidden_vars .= ' <input type="hidden" name="year" value="'.$this->bo->year.'">'."\n";
if(isset($GLOBALS['HTTP_POST_VARS']['participants']) && $GLOBALS['HTTP_POST_VARS']['participants'])
{
for ($i=0;$i<count($GLOBALS['HTTP_POST_VARS']['participants']);$i++)
{ {
$hidden_vars .= ' <input type="hidden" name="participants[]" value="'.$participants[$i].'">'."\n"; $base_hidden_vars .= ' <input type="hidden" name="participants[]" value="'.$GLOBALS['HTTP_POST_VARS']['participants'][$i].'">'."\n";
} }
} }
@ -118,15 +116,15 @@
'form_link' => $this->page($referrer), 'form_link' => $this->page($referrer),
'form_name' => 'cat_id', 'form_name' => 'cat_id',
'title' => lang('Category'), 'title' => lang('Category'),
'hidden_vars' => $base_hidden_vars.$hidden_vars, 'hidden_vars' => $base_hidden_vars,
'form_options' => '<option value="0">All</option>'.$this->cat->formatted_list('select','all',$this->bo->cat_id,'True'), 'form_options' => '<option value="0">All</option>'.$this->cat->formated_list('select','all',$this->bo->cat_id,'True'),
'button_value' => lang('Go!') 'button_value' => lang('Go!')
); );
$tpl->set_var($var); $tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown')); $tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True); $tpl->parse('header_column','head_col',True);
if(MENUACTION == 'calendar.uicalendar.planner') if($GLOBALS['HTTP_GET_VARS']['menuaction'] == 'calendar.uicalendar.planner')
{ {
$remainder -= 28; $remainder -= 28;
print_debug('Sort By',$this->bo->sortby); print_debug('Sort By',$this->bo->sortby);
@ -151,23 +149,15 @@
if($this->bo->check_perms(PHPGW_ACL_PRIVATE)) if($this->bo->check_perms(PHPGW_ACL_PRIVATE))
{ {
$remainder -= 28; $remainder -= 28;
$hidden_vars = '';
if($participants)
{
for ($i=0;$i<count($participants);$i++)
{
$hidden_vars .= ' <input type="hidden" name="participants[]" value="'.$participants[$i].'">'."\n";
}
}
$form_options = '<option value=" all "'.($this->bo->filter==' all '?' selected':'').'>'.lang('All').'</option>'."\n"; $form_options = '<option value=" all "'.($this->bo->filter==' all '?' selected':'').'>'.lang('All').'</option>'."\n";
$form_options .= ' <option value=" private "'.((!isset($this->bo->filter) || !$this->bo->filter) || $this->bo->filter==' private '?' selected':'').'>'.lang('Private Only').'</option>'."\n"; $form_options .= ' <option value=" private "'.((!isset($this->bo->filter) || !$this->bo->filter) || $this->bo->filter==' private '?' selected':'').'>'.lang('Private Only').'</option>'."\n";
$var = Array( $var = Array(
'form_width' => '28', 'form_width' => '28',
'form_link' => $this->page($referrer), 'form_link' => $this->page($referrer),
'form_name' => 'filter', 'form_name' => 'filter',
'title' => lang('Filter'), 'title' => lang('Filter'),
'hidden_vars' => $base_hidden_vars.$hidden_vars, 'hidden_vars' => $base_hidden_vars,
'form_options' => $form_options, 'form_options' => $form_options,
'button_value' => lang('Go!') 'button_value' => lang('Go!')
); );
@ -179,46 +169,12 @@
if((!isset($GLOBALS['phpgw_info']['server']['deny_user_grants_access']) || !$GLOBALS['phpgw_info']['server']['deny_user_grants_access']) && count($this->bo->grants) > 0) if((!isset($GLOBALS['phpgw_info']['server']['deny_user_grants_access']) || !$GLOBALS['phpgw_info']['server']['deny_user_grants_access']) && count($this->bo->grants) > 0)
{ {
$form_options = ''; $form_options = '';
reset($this->bo->grants); $drop_down = $this->bo->list_cals();
while(list($grantor,$temp_rights) = each($this->bo->grants)) foreach($drop_down as $key => $grant)
{
$GLOBALS['phpgw']->accounts->get_account_name($grantor,$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $grantor,
'value' => ($GLOBALS['phpgw']->accounts->get_type($grantor)=='g'?'g_':'').$grantor,
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
}
$memberships = $GLOBALS['phpgw']->accounts->membership($GLOBALS['phpgw_info']['user']['account_id']);
while($memberships != False && list($key,$group_info) = each($memberships))
{
$GLOBALS['phpgw']->accounts->get_account_name($group_info['account_id'],$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $group_info['account_id'],
'value' => ($GLOBALS['phpgw']->accounts->get_type($group_info['account_id'])=='g'?'g_':'').$group_info['account_id'],
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
$account_perms = $GLOBALS['phpgw']->acl->get_ids_for_location($group_info['account_id'],PHPGW_ACL_READ,'calendar');
while($account_perms && list($key,$group_id) = each($account_perms))
{
$GLOBALS['phpgw']->accounts->get_account_name($group_id,$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $group_id,
'value' => ($GLOBALS['phpgw']->accounts->get_type($group_id)=='g'?'g_':'').$group_id,
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
}
}
@reset($drop_down);
@ksort($drop_down);
while(list($key,$grant) = each($drop_down))
{ {
$form_options .= ' <option value="'.$grant['value'].'"'.($grant['grantor']==$this->bo->owner?' selected':'').'>'.$grant['name'].'</option>'."\n"; $form_options .= ' <option value="'.$grant['value'].'"'.($grant['grantor']==$this->bo->owner?' selected':'').'>'.$grant['name'].'</option>'."\n";
} }
reset($this->bo->grants);
$var = Array( $var = Array(
'form_width' => $remainder, 'form_width' => $remainder,
'form_link' => $this->page($referrer), 'form_link' => $this->page($referrer),
@ -234,11 +190,10 @@
} }
} }
$hidden_vars = ' <input type="hidden" name="from" value="'.MENUACTION.'">'."\n"; $hidden_vars = ' <input type="hidden" name="from" value="'.$GLOBALS['HTTP_GET_VARS']['menuaction'].'">'."\n";
$date = get_var('date',Array('GET')); if(isset($GLOBALS['HTTP_GET_VARS']['date']) && $GLOBALS['HTTP_GET_VARS']['date'])
if($date)
{ {
$hidden_vars .= ' <input type="hidden" name="date" value="'.$date.'">'."\n"; $hidden_vars .= ' <input type="hidden" name="date" value="'.$GLOBALS['HTTP_GET_VARS']['date'].'">'."\n";
} }
$hidden_vars .= ' <input type="hidden" name="month" value="'.$this->bo->month.'">'."\n"; $hidden_vars .= ' <input type="hidden" name="month" value="'.$this->bo->month.'">'."\n";
$hidden_vars .= ' <input type="hidden" name="day" value="'.$this->bo->day.'">'."\n"; $hidden_vars .= ' <input type="hidden" name="day" value="'.$this->bo->day.'">'."\n";
@ -255,7 +210,7 @@
{ {
$hidden_vars .= ' <input type="hidden" name="num_months" value="'.$this->bo->num_months.'">'."\n"; $hidden_vars .= ' <input type="hidden" name="num_months" value="'.$this->bo->num_months.'">'."\n";
} }
$hidden_vars .= ' <input name="keywords"'.($keywords?' value="'.$keywords.'"':'').'>'; $hidden_vars .= ' <input name="keywords"'.($GLOBALS['HTTP_POST_VARS']['keywords']?' value="'.$GLOBALS['HTTP_POST_VARS']['keywords'].'"':'').'>';
$var = Array( $var = Array(
'action_url_button' => $this->page('search'), 'action_url_button' => $this->page('search'),
@ -267,5 +222,5 @@
$button = $tpl->fp('out','form_button'); $button = $tpl->fp('out','form_button');
$tpl->set_var('str','<td align="right" valign="bottom">'.$button.'</td>'); $tpl->set_var('str','<td align="right" valign="bottom">'.$button.'</td>');
$tpl->parse('header_column','head_col',True); $tpl->parse('header_column','head_col',True);
$tpl->parse('phpgw_body','head_table',True); $tpl->parse('row','head_table',True);
?> ?>

View File

@ -9,7 +9,7 @@
<tr> <tr>
<td colspan="2"> <td colspan="2">
<table width="100%" border="0" cellspacing="5"> <table width="100%" border="0" cellspacing="5">
<tr valign="top"> <tr>
<td> <td>
<input type="submit" name="submit" value="{lang_add}"></form> <input type="submit" name="submit" value="{lang_add}"></form>
</td> </td>
@ -27,7 +27,7 @@
</center> </center>
<!-- END form --> <!-- END form -->
<!-- BEGIN list --> <!-- BEGIN list -->
<tr class="{tr_color}"> <tr bgcolor="{tr_color}">
<td valign="top" width="35%"><b>{field}:</b></td> <td valign="top" width="35%"><b>{field}:</b></td>
<td valign="top" width="65%">{data}</td> <td valign="top" width="65%">{data}</td>
</tr> </tr>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 B

After

Width:  |  Height:  |  Size: 175 B

View File

@ -9,8 +9,8 @@
</table> </table>
<table border="0" width="70%" align="center"> <table border="0" width="70%" align="center">
<tr class="th"> <tr bgcolor="{th_bg}">
<td>{sort_name}</td> <td>&nbsp;{sort_name}</td>
{header_rule} {header_rule}
<td>{header_edit}</td> <td>{header_edit}</td>
<td>{header_delete}</td> <td>{header_delete}</td>
@ -38,7 +38,7 @@
</table> </table>
<!-- END list --> <!-- END list -->
<!-- BEGIN row --> <!-- BEGIN row -->
<tr class="{tr_color}"> <tr bgcolor="{tr_color}">
<td>&nbsp;{group_name}</td> <td>&nbsp;{group_name}</td>
{rule} {rule}
<td width="5%">{edit_link}</td> <td width="5%">{edit_link}</td>

View File

@ -1,15 +1,15 @@
<!-- $Id$ --> <!-- $Id$ -->
<!-- BEGIN matrix_query --> <!-- BEGIN matrix_query -->
<center> <center>
<form target="viewmatrix" action="{action_url}" method="post" name="matrixform"> <form action="{action_url}" method="post" name="matrixform">
<table border="0" width="90%"> <table border="0" width="90%">
<tr class="th"> <tr bgcolor="{th_bg}">
<td colspan="2" align="center"><b>{title}</b></td> <td colspan="2" align="center"><b>{title}</b></td>
</tr> </tr>
{rows} {rows}
<tr> <tr>
<td> <td>
<table cellspacing="5"><tr valign="top"> <table cellspacing="5"><tr>
<td><input type="submit" value="{submit_button}"></form></td> <td><input type="submit" value="{submit_button}"></form></td>
<td>{cancel_button}</td> <td>{cancel_button}</td>
</tr></table> </tr></table>
@ -19,7 +19,7 @@
</center> </center>
<!-- END matrix_query --> <!-- END matrix_query -->
<!-- BEGIN list --> <!-- BEGIN list -->
<tr class="{tr_color}"> <tr bgcolor="{tr_color}">
<td valign="top" width="35%"><b>&nbsp;{field}:</b></td> <td valign="top" width="35%"><b>&nbsp;{field}:</b></td>
<td valign="top" width="65%">{data}</td> <td valign="top" width="65%">{data}</td>
</tr> </tr>

View File

@ -4,7 +4,7 @@
{column_header}</tr> {column_header}</tr>
<!-- END monthly_header --> <!-- END monthly_header -->
<!-- BEGIN column_title --> <!-- BEGIN column_title -->
<th width="11%" class="{class}"><font color="{font_color}">{col_title}</font></th> <th width="11%" bgcolor="{bgcolor}"><font color="{font_color}">{col_title}</font></th>
<!-- END column_title --> <!-- END column_title -->
<!-- BEGIN month_column --> <!-- BEGIN month_column -->
<td valign="top" height="75" colspan="1" width="{col_width}%"{extra}> <td valign="top" height="75" colspan="1" width="{col_width}%"{extra}>

View File

@ -1,3 +1,4 @@
<!-- BEGIN pref -->
<p><b>{title}:</b><hr><p> <p><b>{title}:</b><hr><p>
<form action="{action_url}" method="POST"> <form action="{action_url}" method="POST">
<table border="0" align="center" width="90%"> <table border="0" align="center" width="90%">
@ -5,3 +6,17 @@
</table> </table>
<center><input type="submit" name="submit" value="{submit_lang}"></center> <center><input type="submit" name="submit" value="{submit_lang}"></center>
</form> </form>
<!-- END pref -->
<!-- BEGIN pref_colspan -->
<tr bgcolor="{bg_color}">
<td colspan="2">{text}</td>
</tr>
<!-- END pref_colspan -->
<!-- BEGIN pref_list -->
<tr bgcolor="{bg_color}">
<td align="right">{field}</td>
<td align="center">{data}</td>
</tr>
<!-- END pref_list -->

View File

@ -1,4 +0,0 @@
<tr class="{bg_color}">
<td colspan="2">{text}</td>
</tr>

View File

@ -1,5 +0,0 @@
<tr class="{bg_color}">
<td align="right">{field}</td>
<td align="center">{data}</td>
</tr>

View File

@ -1,5 +1,5 @@
<!-- $Id$ --> <!-- $Id$ -->
<tr class="{row_color}"> <tr bgcolor="{row_color}">
<td>{user}</td> <td>{user}</td>
<td align="center"><input type="checkbox" name="{read}" value="Y"{read_selected}></td> <td align="center"><input type="checkbox" name="{read}" value="Y"{read_selected}></td>
<td align="center"><input type="checkbox" name="{add}" value="Y"{add_selected}></td> <td align="center"><input type="checkbox" name="{add}" value="Y"{add_selected}></td>

View File

@ -1,8 +1,8 @@
<tr class="th"> <tr bgcolor="{bg_color}">
<td>{string}</td> <td>{string}</td>
<td align="center">{read_lang}</td> <td align="center">{lang_read}</td>
<td align="center">{add_lang}</td> <td align="center">{lang_add}</td>
<td align="center">{edit_lang}</td> <td align="center">{lang_edit}</td>
<td align="center">{delete_lang}</td> <td align="center">{lang_delete}</td>
<td align="center">{private_lang}</td> <td align="center">{lang_private}</td>
</tr> </tr>

View File

@ -1,7 +1,7 @@
<!-- $Id$ --> <!-- $Id$ -->
<!-- BEGIN search --> <!-- BEGIN search -->
<table width="90%"> <table width="90%">
<tr><td colspan="2" align="center" class="th"><b>{quantity}</b></td></tr> <tr><td colspan="2" align="center" bgcolor="{th_bg}"><b>{quantity}</b></td></tr>
{rows} {rows}
</table> </table>
<!-- END search --> <!-- END search -->
@ -9,7 +9,7 @@
<!-- END search_list_header --> <!-- END search_list_header -->
<!-- BEGIN search_list --> <!-- BEGIN search_list -->
<tr class="{tr_color}"> <tr bgcolor="{tr_color}">
<td width="20%">&nbsp;{date}</td> <td width="20%">&nbsp;{date}</td>
<td>{link}</td> <td>{link}</td>
</tr> </tr>

View File

@ -12,14 +12,14 @@
</center> </center>
<!-- END view_event --> <!-- END view_event -->
<!-- BEGIN list --> <!-- BEGIN list -->
<tr class="{tr_color}"> <tr bgcolor="{tr_color}">
<td valign="top" width="30%">&nbsp;<b>{field}:</b></td> <td valign="top" width="30%">&nbsp;<b>{field}:</b></td>
<td colspan="2" valign="top" width="70%">{data}</td> <td colspan="2" valign="top" width="70%">{data}</td>
</tr> </tr>
<!-- END list --> <!-- END list -->
<!-- BEGIN hr --> <!-- BEGIN hr -->
<tr> <tr>
<td colspan="3" class="th" align="center"> <td colspan="3" bgcolor="{th_bg}" align="center">
<b>{hr_text}</b> <b>{hr_text}</b>
</td> </td>
</tr> </tr>

View File

@ -0,0 +1,38 @@
<!-- $Id$ -->
<!-- BEGIN day -->
{printer_friendly}
<table border="0" width="100%">
<tr>
<td valign="top" width="70%">
<tr>
<td>
<table border="0" width=100%>
<tr>
<td align="middle">
<font size="+2" color="{bg_text}"><b>{date}</b></font><br>
<font size="+1" color="{bg_text}">{username}</font>
</td>
</tr>
</table>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<!-- <table border="0" width="100%" cellspacing="0" cellpadding="0" bgcolor="{bg_text}">-->
{day_events}
</table
</td>
<td valign="top" align="right">
{small_calendar}
</td>
</tr>
</td>
</tr>
</table>
{print}
<!-- END day -->
<!-- BEGIN day_event -->
<tr>
<td>
{daily_events}
</td>
</tr>
<!-- END day_event -->

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 703 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 769 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 695 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 466 B

View File

@ -1,270 +0,0 @@
<?php
/**************************************************************************\
* phpGroupWare *
* http://www.phpgroupware.org *
* -------------------------------------------- *
* 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$ */
function add_col(&$tpl,$str)
{
$tpl->set_var('str',$str);
$tpl->parse('header_column','head_col',True);
}
function add_image_ahref($link,$image,$alt)
{
return '<a href="'.$link.'"><img src="'.$GLOBALS['phpgw']->common->image('calendar',$image).'" alt="'.$alt.'" title="'.$alt.'" border="0"></a>';
}
$refer = explode('.',MENUACTION);
$referrer = $refer[2];
$templates = Array(
'head_tpl' => 'head.tpl',
'form_button_dropdown' => 'form_button_dropdown.tpl',
'form_button_script' => 'form_button_script.tpl'
);
$tpl->set_file($templates);
$tpl->set_block('head_tpl','head','head');
$tpl->set_block('head_tpl','head_table','head_table');
$tpl->set_block('head_tpl','head_col','head_col');
$tpl->set_block('form_button_script','form_button');
if(floor(phpversion()) >= 4)
{
$tpl->set_var('cols',8);
}
else
{
$tpl->set_var('cols',7);
}
$today = date('Ymd',$GLOBALS['phpgw']->datetime->users_localtime);
$col_width = 12;
add_col($tpl,' <td width="2%">&nbsp;</td>');
add_col($tpl,' <td width="2%">'.add_image_ahref($this->page('day','&date='.$today),'today',lang('Today')).'</td>');
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('week','&date='.$today),'week',lang('This week')).'</td>');
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('month','&date='.$today),'month',lang('This month')).'</td>');
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('year','&date='.$today),'year',lang('This Year')).'</td>');
if(floor(phpversion()) >= 4)
{
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('planner','&date='.$today),'planner',lang('Planner')).'</td>');
$col_width += 2;
}
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('matrixselect'),'view',lang('Daily Matrix View')).'</td>');
add_col($tpl,' <td width="'.(100 - $col_width).'%" align="left"'.(floor(phpversion()) < 4?' colspan="2"':'').'>&nbsp;</td>');
$tpl->parse('row','head_table',True);
$tpl->set_var('header_column','');
$tpl->set_var('cols',$cols);
if($referrer!='view')
{
$remainder = 72;
$cal_id = get_var('cal_id',Array('GET','DEFAULT'),0);
$keywords = get_var('keywords',Array('POST','DEFAULT'),'');
$matrixtype = get_var('matrixtype',Array('POST','DEFAULT'),'');
$participants = get_var('participants',Array('POST'));
$date = get_var('date',Array('GET','POST'));
$year = $this->bo->year;
$month = $this->bo-month;
$day = $this->bo->day;
$var_list = Array(
'cal_id',
'keywords',
'matrixtype',
'date',
'year',
'month',
'day'
);
$base_hidden_vars = '<input type="hidden" name="from" value="'.MENUACTION.'">'."\n";
for($i=0;$i<count($var_list);$i++)
{
if($($var_list[$i]))
{
$base_hidden_vars .= ' <input type="hidden" name="'.$var_list[$i].'" value="'.$($var_list[$i]).'">'."\n";
}
}
$hidden_vars = '';
if($participants)
{
for ($i=0;$i<count($participants);$i++)
{
$hidden_vars .= ' <input type="hidden" name="participants[]" value="'.$participants[$i].'">'."\n";
}
}
$var = Array(
'form_width' => '28',
'form_link' => $this->page($referrer),
'form_name' => 'cat_id',
'title' => lang('Category'),
'hidden_vars' => $base_hidden_vars.$hidden_vars,
'form_options' => '<option value="0">All</option>'.$this->cat->formated_list('select','all',$this->bo->cat_id,'True'),
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
if(MENUACTION == 'calendar.uicalendar.planner')
{
$remainder -= 28;
print_debug('Sort By',$this->bo->sortby);
$form_options = '<option value="user"'.($this->bo->sortby=='user'?' selected':'').'>'.lang('User').'</option>'."\n";
$form_options .= ' <option value="category"'.((!isset($this->bo->sortby) || !$this->bo->sortby) || $this->bo->sortby=='category'?' selected':'').'>'.lang('Category').'</option>'."\n";
$var = Array(
'form_width' => '28',
'form_link' => $this->page($referrer),
'form_name' => 'sortby',
'title' => lang('Sort By'),
'hidden_vars' => $base_hidden_vars,
'form_options' => $form_options,
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
}
if($this->bo->check_perms(PHPGW_ACL_PRIVATE))
{
$remainder -= 28;
$hidden_vars = '';
if($participants)
{
for ($i=0;$i<count($participants);$i++)
{
$hidden_vars .= ' <input type="hidden" name="participants[]" value="'.$participants[$i].'">'."\n";
}
}
$form_options = '<option value=" all "'.($this->bo->filter==' all '?' selected':'').'>'.lang('All').'</option>'."\n";
$form_options .= ' <option value=" private "'.((!isset($this->bo->filter) || !$this->bo->filter) || $this->bo->filter==' private '?' selected':'').'>'.lang('Private Only').'</option>'."\n";
$var = Array(
'form_width' => '28',
'form_link' => $this->page($referrer),
'form_name' => 'filter',
'title' => lang('Filter'),
'hidden_vars' => $base_hidden_vars.$hidden_vars,
'form_options' => $form_options,
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
}
if((!isset($GLOBALS['phpgw_info']['server']['deny_user_grants_access']) || !$GLOBALS['phpgw_info']['server']['deny_user_grants_access']) && count($this->bo->grants) > 0)
{
$form_options = '';
reset($this->bo->grants);
while(list($grantor,$temp_rights) = each($this->bo->grants))
{
$GLOBALS['phpgw']->accounts->get_account_name($grantor,$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $grantor,
'value' => ($GLOBALS['phpgw']->accounts->get_type($grantor)=='g'?'g_':'').$grantor,
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
}
$memberships = $GLOBALS['phpgw']->accounts->membership($GLOBALS['phpgw_info']['user']['account_id']);
while($memberships != False && list($key,$group_info) = each($memberships))
{
$GLOBALS['phpgw']->accounts->get_account_name($group_info['account_id'],$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $group_info['account_id'],
'value' => ($GLOBALS['phpgw']->accounts->get_type($group_info['account_id'])=='g'?'g_':'').$group_info['account_id'],
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
$account_perms = $GLOBALS['phpgw']->acl->get_ids_for_location($group_info['account_id'],PHPGW_ACL_READ,'calendar');
while($account_perms && list($key,$group_id) = each($account_perms))
{
$GLOBALS['phpgw']->accounts->get_account_name($group_id,$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $group_id,
'value' => ($GLOBALS['phpgw']->accounts->get_type($group_id)=='g'?'g_':'').$group_id,
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
}
}
@reset($drop_down);
@ksort($drop_down);
while(list($key,$grant) = each($drop_down))
{
$form_options .= ' <option value="'.$grant['value'].'"'.($grant['grantor']==$this->bo->owner?' selected':'').'>'.$grant['name'].'</option>'."\n";
}
reset($this->bo->grants);
$var = Array(
'form_width' => $remainder,
'form_link' => $this->page($referrer),
'form_name' => 'owner',
'title' => lang('User'),
'hidden_vars' => $base_hidden_vars,
'form_options' => $form_options,
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
}
}
$hidden_vars = ' <input type="hidden" name="from" value="'.MENUACTION.'">'."\n";
$date = get_var('date',Array('GET'));
if($date)
{
$hidden_vars .= ' <input type="hidden" name="date" value="'.$date.'">'."\n";
}
$hidden_vars .= ' <input type="hidden" name="month" value="'.$this->bo->month.'">'."\n";
$hidden_vars .= ' <input type="hidden" name="day" value="'.$this->bo->day.'">'."\n";
$hidden_vars .= ' <input type="hidden" name="year" value="'.$this->bo->year.'">'."\n";
if(isset($this->bo->filter) && $this->bo->filter)
{
$hidden_vars .= ' <input type="hidden" name="filter" value="'.$this->bo->filter.'">'."\n";
}
if(isset($this->bo->sortby) && $this->bo->sortby)
{
$hidden_vars .= ' <input type="hidden" name="sortby" value="'.$this->bo->sortby.'">'."\n";
}
if(isset($this->bo->num_months) && $this->bo->num_months)
{
$hidden_vars .= ' <input type="hidden" name="num_months" value="'.$this->bo->num_months.'">'."\n";
}
$hidden_vars .= ' <input name="keywords"'.($keywords?' value="'.$keywords.'"':'').'>';
$var = Array(
'action_url_button' => $this->page('search'),
'action_text_button' => lang('Search'),
'action_confirm_button' => '',
'action_extra_field' => $hidden_vars
);
$tpl->set_var($var);
$button = $tpl->fp('out','form_button');
$tpl->set_var('str','<td align="right" valign="bottom">'.$button.'</td>');
$tpl->parse('header_column','head_col',True);
$tpl->parse('row','head_table',True);
?>

View File

@ -1,270 +0,0 @@
<?php
/**************************************************************************\
* phpGroupWare *
* http://www.phpgroupware.org *
* -------------------------------------------- *
* 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$ */
function add_col(&$tpl,$str)
{
$tpl->set_var('str',$str);
$tpl->parse('header_column','head_col',True);
}
function add_image_ahref($link,$image,$alt)
{
return '<a href="'.$link.'"><img src="'.$GLOBALS['phpgw']->common->image('calendar',$image).'" alt="'.$alt.'" title="'.$alt.'" border="0"></a>';
}
$refer = explode('.',MENUACTION);
$referrer = $refer[2];
$templates = Array(
'head_tpl' => 'head.tpl',
'form_button_dropdown' => 'form_button_dropdown.tpl',
'form_button_script' => 'form_button_script.tpl'
);
$tpl->set_file($templates);
$tpl->set_block('head_tpl','head','head');
$tpl->set_block('head_tpl','head_table','head_table');
$tpl->set_block('head_tpl','head_col','head_col');
$tpl->set_block('form_button_script','form_button');
if(floor(phpversion()) >= 4)
{
$tpl->set_var('cols',8);
}
else
{
$tpl->set_var('cols',7);
}
$today = date('Ymd',$GLOBALS['phpgw']->datetime->users_localtime);
$col_width = 12;
add_col($tpl,' <td width="2%">&nbsp;</td>');
add_col($tpl,' <td width="2%">'.add_image_ahref($this->page('day','&date='.$today),'today',lang('Today')).'</td>');
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('week','&date='.$today),'week',lang('This week')).'</td>');
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('month','&date='.$today),'month',lang('This month')).'</td>');
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('year','&date='.$today),'year',lang('This Year')).'</td>');
if(floor(phpversion()) >= 4)
{
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('planner','&date='.$today),'planner',lang('Planner')).'</td>');
$col_width += 2;
}
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('matrixselect'),'view',lang('Daily Matrix View')).'</td>');
add_col($tpl,' <td width="'.(100 - $col_width).'%" align="left"'.(floor(phpversion()) < 4?' colspan="2"':'').'>&nbsp;</td>');
$tpl->parse('row','head_table',True);
$tpl->set_var('header_column','');
$tpl->set_var('cols',$cols);
if($referrer!='view')
{
$remainder = 72;
$cal_id = get_var('cal_id',Array('GET','DEFAULT'),0);
$keywords = get_var('keywords',Array('POST','DEFAULT'),'');
$matrixtype = get_var('matrixtype',Array('POST','DEFAULT'),'');
$participants = get_var('participants',Array('POST'));
$date = get_var('date',Array('GET','POST'));
$year = $this->bo->year;
$month = $this->bo-month;
$day = $this->bo->day;
$var_list = Array(
'cal_id',
'keywords',
'matrixtype',
'date',
'year',
'month',
'day'
);
$base_hidden_vars = '<input type="hidden" name="from" value="'.MENUACTION.'">'."\n";
for($i=0;$i<count($var_list);$i++)
{
if($($var_list[$i]))
{
$base_hidden_vars .= ' <input type="hidden" name="'.$var_list[$i].'" value="'.$($var_list[$i]).'">'."\n";
}
}
$hidden_vars = '';
if($participants)
{
for ($i=0;$i<count($participants);$i++)
{
$hidden_vars .= ' <input type="hidden" name="participants[]" value="'.$participants[$i].'">'."\n";
}
}
$var = Array(
'form_width' => '28',
'form_link' => $this->page($referrer),
'form_name' => 'cat_id',
'title' => lang('Category'),
'hidden_vars' => $base_hidden_vars.$hidden_vars,
'form_options' => '<option value="0">All</option>'.$this->cat->formated_list('select','all',$this->bo->cat_id,'True'),
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
if(MENUACTION == 'calendar.uicalendar.planner')
{
$remainder -= 28;
print_debug('Sort By',$this->bo->sortby);
$form_options = '<option value="user"'.($this->bo->sortby=='user'?' selected':'').'>'.lang('User').'</option>'."\n";
$form_options .= ' <option value="category"'.((!isset($this->bo->sortby) || !$this->bo->sortby) || $this->bo->sortby=='category'?' selected':'').'>'.lang('Category').'</option>'."\n";
$var = Array(
'form_width' => '28',
'form_link' => $this->page($referrer),
'form_name' => 'sortby',
'title' => lang('Sort By'),
'hidden_vars' => $base_hidden_vars,
'form_options' => $form_options,
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
}
if($this->bo->check_perms(PHPGW_ACL_PRIVATE))
{
$remainder -= 28;
$hidden_vars = '';
if($participants)
{
for ($i=0;$i<count($participants);$i++)
{
$hidden_vars .= ' <input type="hidden" name="participants[]" value="'.$participants[$i].'">'."\n";
}
}
$form_options = '<option value=" all "'.($this->bo->filter==' all '?' selected':'').'>'.lang('All').'</option>'."\n";
$form_options .= ' <option value=" private "'.((!isset($this->bo->filter) || !$this->bo->filter) || $this->bo->filter==' private '?' selected':'').'>'.lang('Private Only').'</option>'."\n";
$var = Array(
'form_width' => '28',
'form_link' => $this->page($referrer),
'form_name' => 'filter',
'title' => lang('Filter'),
'hidden_vars' => $base_hidden_vars.$hidden_vars,
'form_options' => $form_options,
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
}
if((!isset($GLOBALS['phpgw_info']['server']['deny_user_grants_access']) || !$GLOBALS['phpgw_info']['server']['deny_user_grants_access']) && count($this->bo->grants) > 0)
{
$form_options = '';
reset($this->bo->grants);
while(list($grantor,$temp_rights) = each($this->bo->grants))
{
$GLOBALS['phpgw']->accounts->get_account_name($grantor,$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $grantor,
'value' => ($GLOBALS['phpgw']->accounts->get_type($grantor)=='g'?'g_':'').$grantor,
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
}
$memberships = $GLOBALS['phpgw']->accounts->membership($GLOBALS['phpgw_info']['user']['account_id']);
while($memberships != False && list($key,$group_info) = each($memberships))
{
$GLOBALS['phpgw']->accounts->get_account_name($group_info['account_id'],$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $group_info['account_id'],
'value' => ($GLOBALS['phpgw']->accounts->get_type($group_info['account_id'])=='g'?'g_':'').$group_info['account_id'],
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
$account_perms = $GLOBALS['phpgw']->acl->get_ids_for_location($group_info['account_id'],PHPGW_ACL_READ,'calendar');
while($account_perms && list($key,$group_id) = each($account_perms))
{
$GLOBALS['phpgw']->accounts->get_account_name($group_id,$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $group_id,
'value' => ($GLOBALS['phpgw']->accounts->get_type($group_id)=='g'?'g_':'').$group_id,
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
}
}
@reset($drop_down);
@ksort($drop_down);
while(list($key,$grant) = each($drop_down))
{
$form_options .= ' <option value="'.$grant['value'].'"'.($grant['grantor']==$this->bo->owner?' selected':'').'>'.$grant['name'].'</option>'."\n";
}
reset($this->bo->grants);
$var = Array(
'form_width' => $remainder,
'form_link' => $this->page($referrer),
'form_name' => 'owner',
'title' => lang('User'),
'hidden_vars' => $base_hidden_vars,
'form_options' => $form_options,
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
}
}
$hidden_vars = ' <input type="hidden" name="from" value="'.MENUACTION.'">'."\n";
$date = get_var('date',Array('GET'));
if($date)
{
$hidden_vars .= ' <input type="hidden" name="date" value="'.$date.'">'."\n";
}
$hidden_vars .= ' <input type="hidden" name="month" value="'.$this->bo->month.'">'."\n";
$hidden_vars .= ' <input type="hidden" name="day" value="'.$this->bo->day.'">'."\n";
$hidden_vars .= ' <input type="hidden" name="year" value="'.$this->bo->year.'">'."\n";
if(isset($this->bo->filter) && $this->bo->filter)
{
$hidden_vars .= ' <input type="hidden" name="filter" value="'.$this->bo->filter.'">'."\n";
}
if(isset($this->bo->sortby) && $this->bo->sortby)
{
$hidden_vars .= ' <input type="hidden" name="sortby" value="'.$this->bo->sortby.'">'."\n";
}
if(isset($this->bo->num_months) && $this->bo->num_months)
{
$hidden_vars .= ' <input type="hidden" name="num_months" value="'.$this->bo->num_months.'">'."\n";
}
$hidden_vars .= ' <input name="keywords"'.($keywords?' value="'.$keywords.'"':'').'>';
$var = Array(
'action_url_button' => $this->page('search'),
'action_text_button' => lang('Search'),
'action_confirm_button' => '',
'action_extra_field' => $hidden_vars
);
$tpl->set_var($var);
$button = $tpl->fp('out','form_button');
$tpl->set_var('str','<td align="right" valign="bottom">'.$button.'</td>');
$tpl->parse('header_column','head_col',True);
$tpl->parse('row','head_table',True);
?>

View File

@ -1,270 +0,0 @@
<?php
/**************************************************************************\
* phpGroupWare *
* http://www.phpgroupware.org *
* -------------------------------------------- *
* 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$ */
function add_col(&$tpl,$str)
{
$tpl->set_var('str',$str);
$tpl->parse('header_column','head_col',True);
}
function add_image_ahref($link,$image,$alt)
{
return '<a href="'.$link.'"><img src="'.$GLOBALS['phpgw']->common->image('calendar',$image).'" alt="'.$alt.'" title="'.$alt.'" border="0"></a>';
}
$refer = explode('.',MENUACTION);
$referrer = $refer[2];
$templates = Array(
'head_tpl' => 'head.tpl',
'form_button_dropdown' => 'form_button_dropdown.tpl',
'form_button_script' => 'form_button_script.tpl'
);
$tpl->set_file($templates);
$tpl->set_block('head_tpl','head','head');
$tpl->set_block('head_tpl','head_table','head_table');
$tpl->set_block('head_tpl','head_col','head_col');
$tpl->set_block('form_button_script','form_button');
if(floor(phpversion()) >= 4)
{
$tpl->set_var('cols',8);
}
else
{
$tpl->set_var('cols',7);
}
$today = date('Ymd',$GLOBALS['phpgw']->datetime->users_localtime);
$col_width = 12;
add_col($tpl,' <td width="2%">&nbsp;</td>');
add_col($tpl,' <td width="2%">'.add_image_ahref($this->page('day','&date='.$today),'today',lang('Today')).'</td>');
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('week','&date='.$today),'week',lang('This week')).'</td>');
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('month','&date='.$today),'month',lang('This month')).'</td>');
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('year','&date='.$today),'year',lang('This Year')).'</td>');
if(floor(phpversion()) >= 4)
{
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('planner','&date='.$today),'planner',lang('Planner')).'</td>');
$col_width += 2;
}
add_col($tpl,' <td width="2%" align="left">'.add_image_ahref($this->page('matrixselect'),'view',lang('Daily Matrix View')).'</td>');
add_col($tpl,' <td width="'.(100 - $col_width).'%" align="left"'.(floor(phpversion()) < 4?' colspan="2"':'').'>&nbsp;</td>');
$tpl->parse('row','head_table',True);
$tpl->set_var('header_column','');
$tpl->set_var('cols',$cols);
if($referrer!='view')
{
$remainder = 72;
$cal_id = get_var('cal_id',Array('GET','DEFAULT'),0);
$keywords = get_var('keywords',Array('POST','DEFAULT'),'');
$matrixtype = get_var('matrixtype',Array('POST','DEFAULT'),'');
$participants = get_var('participants',Array('POST'));
$date = get_var('date',Array('GET','POST'));
$year = $this->bo->year;
$month = $this->bo-month;
$day = $this->bo->day;
$var_list = Array(
'cal_id',
'keywords',
'matrixtype',
'date',
'year',
'month',
'day'
);
$base_hidden_vars = '<input type="hidden" name="from" value="'.MENUACTION.'">'."\n";
for($i=0;$i<count($var_list);$i++)
{
if($($var_list[$i]))
{
$base_hidden_vars .= ' <input type="hidden" name="'.$var_list[$i].'" value="'.$($var_list[$i]).'">'."\n";
}
}
$hidden_vars = '';
if($participants)
{
for ($i=0;$i<count($participants);$i++)
{
$hidden_vars .= ' <input type="hidden" name="participants[]" value="'.$participants[$i].'">'."\n";
}
}
$var = Array(
'form_width' => '28',
'form_link' => $this->page($referrer),
'form_name' => 'cat_id',
'title' => lang('Category'),
'hidden_vars' => $base_hidden_vars.$hidden_vars,
'form_options' => '<option value="0">All</option>'.$this->cat->formated_list('select','all',$this->bo->cat_id,'True'),
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
if(MENUACTION == 'calendar.uicalendar.planner')
{
$remainder -= 28;
print_debug('Sort By',$this->bo->sortby);
$form_options = '<option value="user"'.($this->bo->sortby=='user'?' selected':'').'>'.lang('User').'</option>'."\n";
$form_options .= ' <option value="category"'.((!isset($this->bo->sortby) || !$this->bo->sortby) || $this->bo->sortby=='category'?' selected':'').'>'.lang('Category').'</option>'."\n";
$var = Array(
'form_width' => '28',
'form_link' => $this->page($referrer),
'form_name' => 'sortby',
'title' => lang('Sort By'),
'hidden_vars' => $base_hidden_vars,
'form_options' => $form_options,
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
}
if($this->bo->check_perms(PHPGW_ACL_PRIVATE))
{
$remainder -= 28;
$hidden_vars = '';
if($participants)
{
for ($i=0;$i<count($participants);$i++)
{
$hidden_vars .= ' <input type="hidden" name="participants[]" value="'.$participants[$i].'">'."\n";
}
}
$form_options = '<option value=" all "'.($this->bo->filter==' all '?' selected':'').'>'.lang('All').'</option>'."\n";
$form_options .= ' <option value=" private "'.((!isset($this->bo->filter) || !$this->bo->filter) || $this->bo->filter==' private '?' selected':'').'>'.lang('Private Only').'</option>'."\n";
$var = Array(
'form_width' => '28',
'form_link' => $this->page($referrer),
'form_name' => 'filter',
'title' => lang('Filter'),
'hidden_vars' => $base_hidden_vars.$hidden_vars,
'form_options' => $form_options,
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
}
if((!isset($GLOBALS['phpgw_info']['server']['deny_user_grants_access']) || !$GLOBALS['phpgw_info']['server']['deny_user_grants_access']) && count($this->bo->grants) > 0)
{
$form_options = '';
reset($this->bo->grants);
while(list($grantor,$temp_rights) = each($this->bo->grants))
{
$GLOBALS['phpgw']->accounts->get_account_name($grantor,$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $grantor,
'value' => ($GLOBALS['phpgw']->accounts->get_type($grantor)=='g'?'g_':'').$grantor,
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
}
$memberships = $GLOBALS['phpgw']->accounts->membership($GLOBALS['phpgw_info']['user']['account_id']);
while($memberships != False && list($key,$group_info) = each($memberships))
{
$GLOBALS['phpgw']->accounts->get_account_name($group_info['account_id'],$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $group_info['account_id'],
'value' => ($GLOBALS['phpgw']->accounts->get_type($group_info['account_id'])=='g'?'g_':'').$group_info['account_id'],
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
$account_perms = $GLOBALS['phpgw']->acl->get_ids_for_location($group_info['account_id'],PHPGW_ACL_READ,'calendar');
while($account_perms && list($key,$group_id) = each($account_perms))
{
$GLOBALS['phpgw']->accounts->get_account_name($group_id,$lid,$fname,$lname);
$drop_down[$lname.' '.$fname] = Array(
'grantor' => $group_id,
'value' => ($GLOBALS['phpgw']->accounts->get_type($group_id)=='g'?'g_':'').$group_id,
'name' => $GLOBALS['phpgw']->common->display_fullname($lid,$fname,$lname)
);
}
}
@reset($drop_down);
@ksort($drop_down);
while(list($key,$grant) = each($drop_down))
{
$form_options .= ' <option value="'.$grant['value'].'"'.($grant['grantor']==$this->bo->owner?' selected':'').'>'.$grant['name'].'</option>'."\n";
}
reset($this->bo->grants);
$var = Array(
'form_width' => $remainder,
'form_link' => $this->page($referrer),
'form_name' => 'owner',
'title' => lang('User'),
'hidden_vars' => $base_hidden_vars,
'form_options' => $form_options,
'button_value' => lang('Go!')
);
$tpl->set_var($var);
$tpl->set_var('str',$tpl->fp('out','form_button_dropdown'));
$tpl->parse('header_column','head_col',True);
}
}
$hidden_vars = ' <input type="hidden" name="from" value="'.MENUACTION.'">'."\n";
$date = get_var('date',Array('GET'));
if($date)
{
$hidden_vars .= ' <input type="hidden" name="date" value="'.$date.'">'."\n";
}
$hidden_vars .= ' <input type="hidden" name="month" value="'.$this->bo->month.'">'."\n";
$hidden_vars .= ' <input type="hidden" name="day" value="'.$this->bo->day.'">'."\n";
$hidden_vars .= ' <input type="hidden" name="year" value="'.$this->bo->year.'">'."\n";
if(isset($this->bo->filter) && $this->bo->filter)
{
$hidden_vars .= ' <input type="hidden" name="filter" value="'.$this->bo->filter.'">'."\n";
}
if(isset($this->bo->sortby) && $this->bo->sortby)
{
$hidden_vars .= ' <input type="hidden" name="sortby" value="'.$this->bo->sortby.'">'."\n";
}
if(isset($this->bo->num_months) && $this->bo->num_months)
{
$hidden_vars .= ' <input type="hidden" name="num_months" value="'.$this->bo->num_months.'">'."\n";
}
$hidden_vars .= ' <input name="keywords"'.($keywords?' value="'.$keywords.'"':'').'>';
$var = Array(
'action_url_button' => $this->page('search'),
'action_text_button' => lang('Search'),
'action_confirm_button' => '',
'action_extra_field' => $hidden_vars
);
$tpl->set_var($var);
$button = $tpl->fp('out','form_button');
$tpl->set_var('str','<td align="right" valign="bottom">'.$button.'</td>');
$tpl->parse('header_column','head_col',True);
$tpl->parse('row','head_table',True);
?>

6
debian/changelog vendored
View File

@ -1,6 +0,0 @@
phpgroupware-phpgroupware (0.9.14-0.RC3.3) unstable; urgency=low
* New release.
- Source is now splitted into modules.
-- Luca - De Whiskey's - De Vitis <luca@debian.org> Mon, 21 May 2001 15:00:56 +0200

37
debian/control vendored
View File

@ -1,37 +0,0 @@
Source: phpgroupware-phpgroupware
Section: web
Priority: optional
Maintainer: Luca - De Whiskey's - De Vitis <luca@debian.org>
Build-Depends: debhelper (>> 3.0.0)
Standards-Version: 3.5.2
Package: phpgroupware-core
Section: web
Architecture: all
Depends: phpgroupware (>= ${Source-Version}), php3-pgsql | php3-cgi-pgsql | php4-pgsql | php3-mysql | php3-cgi-mysql | php4-mysql
Provides: phpgroupware-core-doc
Conflicts: phpgroupware-core-doc
Description: The phpGroupWare core module
This is the phpGroupWare core module. It provides the XMLRPC server, the SOAP
server, the wrapper for anonymous login and other core files.
Package: phpgroupware
Architecture: all
Section: web
Depends: apache | httpd, php3-imap | php3-cgi-imap | php4-imap, phpgroupware-core (>= ${Source-Version}), phpgroupware-api (>= ${Source-Version}), phpgroupware-setup (>= ${Source-Version}), phpgroupware-admin (>= ${Source-Version}), phpgroupware-preferences (>= ${Source-Version}), debconf, wwwconfig-common
Recommends: php3-ldap | php3-cgi-ldap | php4-ldap
Suggests: slapd | ldap-server, postgresql | mysql-server, courier-imap | imap-server, libdbi-perl, phpgroupware-manual, phpgroupware-todo, phpgroupware-notes, phpgroupware-email, phpgroupware-nntp, phpgroupware-calendar, phpgroupware-addressbook
Conflicts: phpgroupware-doc, phpgroupware-unstable-apps, phpgroupware-transy
Description: Web based GroupWare system written in PHP
phpGroupWare is a web based GroupWare system. It comes with several core
apps for email, calendar, todo list, address book, file manager, and a
notepad. It also provides a framework for add-on modules to integrate
seamlessly in phpGroupWare. Some samples are a bookmark manager, a trouble
ticket system, a weather reporter, a phone log, a chat program, and a forum
system. There are many more in development, and you can develop your own as
well.
.
You should use it if you would like a powerful groupware system that can be
access from anywhere on the Internet, and allows for custom add-ons. For
companies with a distributed user base, it's an ideal solution. Oh, and did I
mention that its FREE?

15
debian/copyright vendored
View File

@ -1,15 +0,0 @@
This package was debianized by Luca - De Whiskey's - De Vitis <luca@debian.org> on
Sat, 29 Jun 2002 17:13:40 +0200
It was downloaded from the CVS repository at subversion.gnu.org. Try:
prompt$ CVSROOT=:pserver:anoncvs@subversions.gnu.org:/cvsroot/phpgroupware
prompt$ CVS_RSH=ssh
prompt$ cvs login
prompt$ cvs get all packages
Upstream Author(s):
Please, see credits.txt, the README file or visit http://apps.phpgroupware.org/
Copyright:
A copy of the GNU General Public License, version 2, can be found in
/usr/share/common-licenses/GPL .

78
debian/rules vendored
View File

@ -1,78 +0,0 @@
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 by Joey Hess.
#
# This version is for a hypothetical package that builds an
# architecture-dependant package, as well as an architecture-independent
# package.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This is the debhelper compatability version to use.
export DH_COMPAT=3
APP = core
PACKAGE = debian/phpgroupware-$(APP)/usr/share/phpgroupware/
PACKAGEDOC = debian/phpgroupware-$(APP)/usr/share/doc/phpgroupware-$(APP)
COPYRIGHT = -iname copyright\* -or -iname license
CHANGELOG = -iname change\*
INSTALL = -iname install
FINDOPT = -type f -not \( -path \*CVS\* -or -path \*debian\* -or -name .cvsignore \)
SPECIAL = -size 0 -or $(INSTALL) -or $(CHANGELOG) -or $(COPYRIGHT) -or -name \*.sgml
STAMPS = -name configure-stamp -or -name build-stamp
APPFILES = -not \( -path \*doc\* -or -path \. -or -name '*.pl' -or -name '*.py' -or $(STAMPS) \)
DOCFILES = -not \( $(SPECIAL) \)
configure: configure-stamp
configure-stamp:
dh_testdir
# No configuration needed.
touch configure-stamp
build: configure-stamp build-stamp
build-stamp:
dh_testdir
# Here should go the commands necessary to build the sgml documentation...
touch build-stamp
clean:
dh_testdir
rm -f build-stamp configure-stamp
rm -f debian/.builded
rm -f debian/files
# Here should go the commands to clean the builded sgml documents.
dh_clean
install: build
dh_installdirs
dh_testdir
# Install $(APP) files in $(PACKAGE)
find $(FINDOPT) $(APPFILES) \
-exec install -D --mode=644 {} $(PACKAGE)/{} \;
# Install $(APP) doc files in $(PACKAGEDOC)
cd doc ;\
find $(FINDOPT) $(DOCFILES) \
-exec install -D --mode=644 {} ../$(PACKAGEDOC)/{} \;
install --mode=644 debian/etc/apache.conf \
debian/phpgroupware/etc/phpgroupware
binary-indep: build install
dh_testdir
dh_testroot
dh_installdocs
dh_installchangelogs doc/CHANGELOG
dh_compress
dh_fixperms
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb | tee debian/.builded
binary: binary-indep
.PHONY: build clean binary-indep binary-arch binary install configure

View File

@ -28,76 +28,65 @@
// Modules you want to checkout, do NOT add the phpgroupware module // Modules you want to checkout, do NOT add the phpgroupware module
$co_modules[] = array $co_modules[] = 'addressbook';
( $co_modules[] = 'admin';
'addbook', $co_modules[] = 'backup';
'addressbook', $co_modules[] = 'bookkeeping';
'admin', $co_modules[] = 'bookmarks';
'backup', $co_modules[] = 'brewer';
'bookkeeping', $co_modules[] = 'calendar';
'bookmarks', $co_modules[] = 'cart';
'brewer', $co_modules[] = 'ccs';
'calendar', $co_modules[] = 'cdb';
'cart', $co_modules[] = 'chat';
'ccs', $co_modules[] = 'chora';
'cdb', $co_modules[] = 'comic';
'chat', $co_modules[] = 'cron';
'chora', $co_modules[] = 'developer_tools';
'comic', $co_modules[] = 'dj';
'cron', $co_modules[] = 'eldaptir';
'developer_tools', $co_modules[] = 'email';
'dj', $co_modules[] = 'filemanager';
'eldaptir', $co_modules[] = 'forum';
'email', $co_modules[] = 'ftp';
'etemplate', $co_modules[] = 'headlines';
'felamimail' $co_modules[] = 'hr';
'filemanager', $co_modules[] = 'infolog';
'forum'; $co_modules[] = 'inv';
'ftp', $co_modules[] = 'manual';
'headlines', $co_modules[] = 'mediadb';
'hr', $co_modules[] = 'meerkat';
'img', $co_modules[] = 'messenger';
'infolog', $co_modules[] = 'napster';
'inv', $co_modules[] = 'netsaint';
'manual', $co_modules[] = 'news_admin';
'mediadb', $co_modules[] = 'nntp';
'meerkat', $co_modules[] = 'notes';
'messenger', $co_modules[] = 'phonelog';
'napster', $co_modules[] = 'phpGWShell_Win32_VB';
'netsaint', $co_modules[] = 'phpgwapi';
'news_admin', $co_modules[] = 'phpgwnetsaint';
'nntp', $co_modules[] = 'phpsysinfo';
'notes', $co_modules[] = 'phpwebhosting';
'packages', $co_modules[] = 'polls';
'phonelog', $co_modules[] = 'preferences';
'phpGWShell_Win32_VB', $co_modules[] = 'projects';
'phpgwapi', $co_modules[] = 'qmailldap';
'phpgwnetsaint', $co_modules[] = 'rbs';
'phpsysinfo', $co_modules[] = 'setup';
'polls', $co_modules[] = 'skel';
'preferences', $co_modules[] = 'soap';
'projects', $co_modules[] = 'squirrelmail';
'property' $co_modules[] = 'stocks';
'qmailldap', $co_modules[] = 'syncml-server';
'rbs', $co_modules[] = 'timetrack';
'registration', $co_modules[] = 'todo';
'setup', $co_modules[] = 'transy';
'sitemgr' $co_modules[] = 'tts';
'skel', $co_modules[] = 'wap';
'soap', $co_modules[] = 'wcm';
'squirrelmail', $co_modules[] = 'weather';
'stocks', $co_modules[] = 'xmlrpc';
'syncml-server',
'timetrack',
'todo',
'transy',
'tts',
'vmailmgr',
'wap',
'wcm',
'weather',
'xmlrpc'
);
// -- End config section // -- End config section

View File

@ -65,6 +65,7 @@
'phpgwapi', 'phpgwapi',
'phpgwnetsaint', 'phpgwnetsaint',
'phpsysinfo', 'phpsysinfo',
'phpwebhosting',
'polls', 'polls',
'preferences', 'preferences',
'projects', 'projects',

Some files were not shown because too many files have changed in this diff Show More