make the phpgw Version-0_9_16-branch HEAD
@ -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
|
@ -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.
|
||||
|
@ -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 .
|
@ -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
@ -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/> Ein durchsuchbares tägliches, wöchentliches, monatliches
|
||||
und jährliches Kalender/Planer-Programm mit Alarm für wichtige Ereignisse.<br/>
|
||||
<ul>
|
||||
<li><b>Einen Eintrag hinzufügen:</b> <img src="<?php echo $phpgw->common->image('calendar','new.gif'); ?>"><br/>
|
||||
Um eine Eintragung für sich selber oder für ihre Gruppe hinzuzufügen
|
||||
klicken Sie auf das kleine Symbol (+) wie das oben. Eine Formularseite wird
|
||||
angezeigt, auf der Sie die wichtigen Felder ausfüllen können.</li>
|
||||
<p/>
|
||||
<table width="80%">
|
||||
<td bgcolor="#ccddeb" width="50%" valign="top"> <font face="<?php echo $font ?>" size="2">
|
||||
Titel:<br/>
|
||||
Vollständige Beschreibung:<br/>
|
||||
Datum:<br/>
|
||||
Zeit:<br/>
|
||||
Dauer:<br/>
|
||||
Prioritä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; ?>"> </font>:</td>
|
||||
</table>
|
||||
Fü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/> </font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
73
calendar/help/DE/calendar.php
Normal 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/> Ein durchsuchbares
|
||||
tägliches, wöchentliches, monatliches und jährliches Kalender/Planer-Programm
|
||||
mit Alarm für wichtige Ereignisse.<br/>
|
||||
Um entweder den Stündlich/Täglichen, wö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ündliche Blö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/>
|
||||
<li><b>Eine Eintragung hinzufü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üllen können.
|
||||
<table width="80%">
|
||||
<td bgcolor="#ccddeb" width="50%" valign="top">
|
||||
<font face="<?php echo $font; ?>" size="2">
|
||||
Titel:<br/>
|
||||
Vollständige Beschreibung:<br/>
|
||||
Datum:<br/>
|
||||
Zeit:<br/>
|
||||
Dauer:<br/>
|
||||
Prioritä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ü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/>
|
||||
<li><b>Bearbeiten:Löschen</b>  <img src="<?php echo $phpgw->common->image('calendar','circle.gif'); ?>"><br/>
|
||||
Um eine Eintragung zu bearbeiten oder zu löschen, klicken Sie auf das kleine Symbol wie oben gezeigt.
|
||||
Wählen Sie bearbeiten oder löschen aus.<br/>
|
||||
Wenn Sie Bearbeiten wä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/> </ul></font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
30
calendar/help/DE/edit_delete.php
Normal 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/> Ein
|
||||
durchsuchbares tägliches, wöchentliches, monatliches und jährliches
|
||||
Kalender/Planer-Programm mit Alarm für wichtige Ereignisse.<br/>
|
||||
<ul><li><b>Bearbeiten:Löschen</b>  <img src="<?php echo $phpgw->common->image('calendar','circle.gif'); ?>"><br/>
|
||||
Um eine Eintragung zu bearbeiten oder zu löschen, klicken Sie auf das kleine Symbol wie oben gezeigt.
|
||||
Wählen Sie bearbeiten oder löschen aus.<br/>
|
||||
Wenn Sie Bearbeiten wählen wird ihnen eine Formular seite angezeigt,
|
||||
worauf Sie die gewünschten Felder bearbeiten können. </li><p/>
|
||||
<b>Wichtig:</b>Sie können nur Eintragungen die Sie selber gemacht haben bearbeiten oder löschen.<p/> </ul></font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
45
calendar/help/DE/view.php
Normal 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/> Ein durchsuchbares tägliches, wöchentliches, monatliches
|
||||
und jährliches Kalender/Planer-Programm mit Alarm für wichtige Ereignisse.<br/>
|
||||
Um entweder den Stündlich/Täglichen, wö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/> <i>Tag:</i><br/>
|
||||
Der heutige Tag wird angezeigt, aufgeteilt in stündliche Blöcke.
|
||||
Anfangs und End-Zeit des Tages können in den Prefrences (Einstellungen,
|
||||
Optionen) eingestellt werden.
|
||||
<p/> <i>Woche:</i><br/>
|
||||
Die aktuelle Woche wird angezeigt. Der Wochenanfangstag kann in den Prefrences
|
||||
(Optionen) eingestellt werden.
|
||||
<p/> <i>Monat:</i><br/>
|
||||
Der vor eingestellter Eintrag ist der aktuelle Monat. Der vorherige oder künftige
|
||||
<br>
|
||||
Monat sind leicht erreichbar mit nur einem klick.
|
||||
<p/> </li>
|
||||
</ul>
|
||||
</font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
@ -43,3 +43,4 @@ Frequency:</td></table>
|
||||
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
|
||||
Readable.<p/></font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -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.
|
||||
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>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -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.
|
||||
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>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -31,3 +31,4 @@ Current week is displayed. Start day of week can be set in preferences.<p/>
|
||||
<i>Month:</i><br/>
|
||||
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>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -46,3 +46,4 @@ T
|
||||
<b>Huomaa:</b>
|
||||
Kuten muidenkin sovellusten kohdalla, voit antaa tiedon
|
||||
käyttöoikeudeksi Yksityinen, Oma ryhmä tai Kaikki.<p/></font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -66,3 +66,4 @@ Muokataksesi tapahtumaa napsauta t
|
||||
Näytölle avautuu muokkauslomake.
|
||||
Valitse muokkaa tai poista sivun alareunasta.<br/>
|
||||
<b>Huomaa:</b>Voit muokata ja poistaa vain itse luomiasi tapahtumia.</li><p/></ul></font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -26,3 +26,4 @@ Muokataksesi tapahtumaa napsauta t
|
||||
Näytölle avautuu muokkauslomake.
|
||||
Valitse muokkaa tai poista sivun alareunasta.</li><p/>
|
||||
<b>Huomaa:</b>Voit muokata ja poistaa vain itse luomiasi tapahtumia.<p/></ul></font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -34,3 +34,4 @@ asetuksista.<br/>
|
||||
<i>Kuukausi:</i><br/>
|
||||
Valittu kuukausi sekä edellinen ja seuraava kuukausi mini-kalentereina.
|
||||
Voit siirtyä päivänäkymään haluamaasi päivää napsauttamalla.<p/></li></ul></font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -9,7 +9,7 @@
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id: add.php,v 1.1 2001/05/11 02:50:44 skeeter Exp $ */
|
||||
/* $Id$ */
|
||||
$phpgw_flags = Array(
|
||||
'currentapp' => 'manual'
|
||||
);
|
||||
@ -42,3 +42,4 @@
|
||||
頻度:</td></table>
|
||||
などの項目を入力し、実行ボタンをクリックします。<br/>
|
||||
<b>備考:</b> 他のアプリケーションで備えているアクセス権(プライベート、グループ、グローバル)も、このアプリケーションで備えています。</li></ul><p/></font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -9,7 +9,7 @@
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id: calendar.php,v 1.1 2001/05/11 02:50:44 skeeter Exp $ */
|
||||
/* $Id$ */
|
||||
|
||||
$phpgw_flags = Array(
|
||||
'currentapp' => 'manual'
|
||||
@ -57,3 +57,4 @@
|
||||
予定を訂正するために、このアイコンをクリックします。
|
||||
訂正する予定が表示され、訂正か削除を選択するボタンが表示されます。<br/>
|
||||
<b>備考:</b>訂正や削除は、自分で作成したものに限ります。</li><p/></ul></font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -9,7 +9,7 @@
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id: edit_delete.php,v 1.1 2001/05/11 02:50:44 skeeter Exp $ */
|
||||
/* $Id$ */
|
||||
|
||||
$phpgw_flags = Array(
|
||||
'currentapp' => 'manual'
|
||||
@ -24,3 +24,4 @@
|
||||
予定を訂正するために、このアイコンをクリックします。
|
||||
訂正する予定が表示され、訂正か削除を選択するボタンが表示されます。<br/>
|
||||
<b>備考:</b>訂正や削除は、自分で作成したものに限ります。</li><p/></ul></font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -9,7 +9,7 @@
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id: view.php,v 1.2 2001/05/11 03:00:00 skeeter Exp $ */
|
||||
/* $Id$ */
|
||||
|
||||
$phpgw_flags = Array(
|
||||
'currentapp' => 'manual'
|
||||
@ -30,3 +30,4 @@
|
||||
月単位で予定を表示します。月の表示はデフォルト設定となっています。先月や翌月にワンクリックでアクセスすることができます。<br/>
|
||||
<i>今年:</i><br/>
|
||||
年単位で予定を表示します。小さい月単位のカレンダーを一年分表示します。<p/></li></ul></font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -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/>
|
||||
Transformed by <a href="<?php echo $phpgw->link('/email/compose.php','to=skeeter@phpgroupware.org'); ?>" target="_new">Mark A Peters (Skeeter)</a><br/>
|
||||
</font>
|
||||
<?php $phpgw->common->phpgw_footer(); ?>
|
||||
|
@ -14,6 +14,10 @@
|
||||
|
||||
/* $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
|
||||
{
|
||||
var $so;
|
||||
@ -26,46 +30,180 @@
|
||||
// var $debug = True;
|
||||
|
||||
var $public_functions = array(
|
||||
'add' => True,
|
||||
'delete' => True
|
||||
);
|
||||
|
||||
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)
|
||||
{
|
||||
$this->cal_id = $cal_id;
|
||||
}
|
||||
$this->cal = CreateObject('calendar.bocalendar',1);
|
||||
$this->tz_offset = $this->cal->datetime->tz_offset;
|
||||
$this->bo = CreateObject('calendar.bocalendar',1);
|
||||
$this->so = CreateObject('calendar.socalendar',1);
|
||||
$this->tz_offset = $this->bo->datetime->tz_offset;
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function save_sessiondata()
|
||||
{
|
||||
$data = array(
|
||||
'filter' => $this->cal->filter,
|
||||
'cat_id' => $this->cal->cat_id,
|
||||
'owner' => $this->cal->owner,
|
||||
'year' => $this->cal->year,
|
||||
'month' => $this->cal->month,
|
||||
'day' => $this->cal->day
|
||||
'filter' => $this->bo->filter,
|
||||
'cat_id' => $this->bo->cat_id,
|
||||
'owner' => $this->bo->owner,
|
||||
'year' => $this->bo->year,
|
||||
'month' => $this->bo->month,
|
||||
'day' => $this->bo->day
|
||||
);
|
||||
$this->cal->save_sessiondata($data);
|
||||
$this->bo->save_sessiondata($data);
|
||||
}
|
||||
|
||||
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 */
|
||||
}
|
||||
?>
|
||||
|
97
calendar/inc/class.bocustom_fields.inc.php
Normal 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();
|
||||
}
|
||||
}
|
@ -48,8 +48,6 @@
|
||||
{
|
||||
$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['query'])) { $this->query = $GLOBALS['query']; }
|
||||
@ -58,9 +56,13 @@
|
||||
|
||||
if(isset($GLOBALS['order'])) { $this->order = $GLOBALS['order']; }
|
||||
|
||||
if(isset($GLOBALS['id'])) { $this->id = $GLOBALS['id']; }
|
||||
|
||||
if(isset($GLOBALS['year'])) { $this->year = $GLOBALS['year']; } else { $this->year = date('Y'); }
|
||||
$this->id = get_var('id',array('POST','GET'));
|
||||
$this->year = get_var('year',array('POST','GET'),date('Y'));
|
||||
$this->locale = get_var('locale',array('POST','GET'));
|
||||
if ($this->locale)
|
||||
{
|
||||
$this->locales[] = $this->locale;
|
||||
}
|
||||
|
||||
if($this->debug)
|
||||
{
|
||||
@ -176,8 +178,7 @@
|
||||
|
||||
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() - $datetime->tz_offset,'Y'));
|
||||
$this->year = (isset($year) && $year > 0?$year:$GLOBALS['phpgw']->common->show_date(time() - $GLOBALS['phpgw']->datetime->tz_offset,'Y'));
|
||||
$this->owner = ($owner?$owner:$GLOBALS['phpgw_info']['user']['account_id']);
|
||||
|
||||
if($this->debug)
|
||||
@ -393,7 +394,6 @@
|
||||
}
|
||||
|
||||
$temp_locale = $GLOBALS['phpgw_info']['user']['preferences']['common']['country'];
|
||||
$datetime = CreateObject('phpgwapi.datetime');
|
||||
for($i=0;$i<count($holidays);$i++)
|
||||
{
|
||||
$c = $i;
|
||||
@ -406,14 +406,13 @@
|
||||
$GLOBALS['phpgw_info']['user']['preferences']['common']['country'] = $holidays[$i]['locale'];
|
||||
$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)
|
||||
{
|
||||
$i = $c;
|
||||
}
|
||||
}
|
||||
unset($holidaycalc);
|
||||
unset($datetime);
|
||||
$this->holidays = $this->sort_holidays_by_date($holidays);
|
||||
$this->cached_holidays = $this->set_holidays_to_date($this->holidays);
|
||||
$GLOBALS['phpgw_info']['user']['preferences']['common']['country'] = $temp_locale;
|
||||
|
@ -97,6 +97,7 @@ class boicalendar
|
||||
var $parameter = Array();
|
||||
var $debug_str = False;
|
||||
var $api = True;
|
||||
var $chunk_split = True;
|
||||
|
||||
/*
|
||||
* Base Functions
|
||||
@ -1253,7 +1254,7 @@ class boicalendar
|
||||
);
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
return str_replace('\"','',$str);
|
||||
return str_replace('"','',$str);
|
||||
}
|
||||
|
||||
function from_text($str)
|
||||
@ -1563,7 +1564,7 @@ class boicalendar
|
||||
$quote = '';
|
||||
if($seperator == '=')
|
||||
{
|
||||
$quote = '\"';
|
||||
$quote = '"';
|
||||
}
|
||||
|
||||
$return_value = $this->fold('X-'.$x_type['name'].$seperator.$quote.$x_type['value'].$quote);
|
||||
@ -1612,7 +1613,7 @@ class boicalendar
|
||||
$include_datetime = True;
|
||||
continue;
|
||||
}
|
||||
$quote = (@$this->parameter[$key]['quoted']?'\"':'');
|
||||
$quote = (@$this->parameter[$key]['quoted']?'"':'');
|
||||
if(isset($event[$key]) && @$this->parameter[$key]['properties'][$property])
|
||||
{
|
||||
$change_text = @$this->parameter[$key]['to_text'];
|
||||
@ -1792,7 +1793,7 @@ class boicalendar
|
||||
case 'function':
|
||||
$str .= ';'.str_replace('_','-',strtoupper($value)).'=';
|
||||
$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;
|
||||
case 'float':
|
||||
if(!empty($event[$value]))
|
||||
@ -2274,28 +2275,28 @@ class boicalendar
|
||||
switch($var)
|
||||
{
|
||||
case 'NEEDS-ACTION':
|
||||
return NEEDS_ACTION;
|
||||
return 0; // NEEDS_ACTION;
|
||||
break;
|
||||
case 'ACCEPTED':
|
||||
return ACCEPTED;
|
||||
return 1; // ACCEPTED;
|
||||
break;
|
||||
case 'DECLINED':
|
||||
return DECLINED;
|
||||
return 2; // DECLINED;
|
||||
break;
|
||||
case 'TENTATIVE':
|
||||
return TENTATIVE;
|
||||
return 3; // TENTATIVE;
|
||||
break;
|
||||
case 'DELEGATED':
|
||||
return DELEGATED;
|
||||
return 4; // DELEGATED;
|
||||
break;
|
||||
case 'COMPLETED':
|
||||
return COMPLETED;
|
||||
return 5; // COMPLETED;
|
||||
break;
|
||||
case 'IN-PROCESS':
|
||||
return IN_PROCESS;
|
||||
return 6; // IN_PROCESS;
|
||||
break;
|
||||
default:
|
||||
return OTHER;
|
||||
return 99; // OTHER;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2303,25 +2304,25 @@ class boicalendar
|
||||
{
|
||||
switch(intval($var))
|
||||
{
|
||||
case NEEDS_ACTION:
|
||||
case 0: // NEEDS_ACTION:
|
||||
return 'NEEDS-ACTION';
|
||||
break;
|
||||
case ACCEPTED:
|
||||
case 1: // ACCEPTED:
|
||||
return 'ACCEPTED';
|
||||
break;
|
||||
case DECLINED:
|
||||
case 2: // DECLINED:
|
||||
return 'DECLINED';
|
||||
break;
|
||||
case TENTATIVE:
|
||||
case 3: // TENTATIVE:
|
||||
return 'TENTATIVE';
|
||||
break;
|
||||
case DELEGATED:
|
||||
case 4: // DELEGATED:
|
||||
return 'DELEGATED';
|
||||
break;
|
||||
case COMPLETED:
|
||||
case 5: // COMPLETED:
|
||||
return 'COMPLETED';
|
||||
break;
|
||||
case IN_PROCESS:
|
||||
case 6: // IN_PROCESS:
|
||||
return 'IN-PROCESS';
|
||||
break;
|
||||
default:
|
||||
@ -2903,8 +2904,7 @@ class boicalendar
|
||||
)
|
||||
)
|
||||
);
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
$GLOBALS['phpwg']->common->phpgw_exit();
|
||||
}
|
||||
$uploaddir = $GLOBALS['phpgw_info']['server']['temp_dir'] . SEP;
|
||||
|
||||
@ -2941,8 +2941,7 @@ class boicalendar
|
||||
)
|
||||
)
|
||||
);
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
$GLOBALS['phpwg']->common->phpgw_exit();
|
||||
}
|
||||
|
||||
if(!is_object($GLOBALS['uicalendar']))
|
||||
@ -3204,13 +3203,14 @@ class boicalendar
|
||||
)
|
||||
)
|
||||
);
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
$GLOBALS['phpgw']->common->phpgw_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(
|
||||
'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['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'])
|
||||
{
|
||||
@ -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['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');
|
||||
$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');
|
||||
$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');
|
||||
@reset($string_array);
|
||||
while(list($ical_value,$event_value) = each($string_array))
|
||||
@ -3316,11 +3327,15 @@ class boicalendar
|
||||
@reset($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;
|
||||
|
||||
$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'])
|
||||
{
|
||||
$str = 'ROLE=CHAIR;'.$str;
|
||||
@ -3329,7 +3344,10 @@ class boicalendar
|
||||
{
|
||||
$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'])
|
||||
{
|
||||
$this->parse_value($ical_event,'organizer',$str,'vevent');
|
||||
|
@ -15,27 +15,43 @@
|
||||
|
||||
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.
|
||||
if ($year >= 2000)
|
||||
if ($holiday['month'] == 1)
|
||||
{
|
||||
$dow = $datetime->day_of_week($year, $holiday['month'], 1);
|
||||
$dayshift = (($holiday['dow'] + 7) - $dow) % 7;
|
||||
$day = ($holiday['occurence'] - 1) * 7 + $dayshift + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// non Happy monday law.
|
||||
if ($holiday['month'] == 1)
|
||||
if ($year < 2000)
|
||||
{
|
||||
$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;
|
||||
}
|
||||
@ -79,21 +95,53 @@ class holidaycalc {
|
||||
$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.
|
||||
if($dow == 0)
|
||||
{
|
||||
$i++;
|
||||
$holidays[$i]['locale'] = $holiday['locale'].' (Observed)';
|
||||
$holidays[$i]['name'] = lang('overlap holiday');
|
||||
$holidays[$i]['day'] = $holiday['day'] + 1;
|
||||
$holidays[$i]['month'] = $holiday['month'];
|
||||
$holidays[$i]['occurence'] = $holiday['occurence'];
|
||||
$holidays[$i]['dow'] = $holiday['dow'];
|
||||
$holidays[$i]['date'] = mktime(0,0,0,$holiday['month'],$day+1,$year);
|
||||
$holidays[$i]['obervance_rule'] = 0;
|
||||
$addcnt = count($holidays) + 1;
|
||||
$holidays[$addcnt]['locale'] = $holiday['locale'];
|
||||
$holidays[$addcnt]['name'] = lang('overlap holiday');
|
||||
$holidays[$addcnt]['day'] = $day + 1;
|
||||
$holidays[$addcnt]['month'] = $holiday['month'];
|
||||
$holidays[$addcnt]['occurence'] = $holiday['occurence'];
|
||||
$holidays[$addcnt]['dow'] = $holiday['dow'];
|
||||
$holidays[$addcnt]['date'] = mktime(0,0,0,$holiday['month'],$day+1,$year);
|
||||
$holidays[$addcnt]['observance_rule'] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -15,14 +15,14 @@
|
||||
|
||||
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['occurence'] != 0)
|
||||
{
|
||||
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 += ($day < 1 ? 7 : 0);
|
||||
// What is the point of this?
|
||||
@ -31,7 +31,7 @@ class holidaycalc {
|
||||
|
||||
// Sometimes the 5th occurance of a weekday (ie the 5th monday)
|
||||
// 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)
|
||||
{
|
||||
return;
|
||||
@ -39,8 +39,8 @@ class holidaycalc {
|
||||
}
|
||||
else
|
||||
{
|
||||
$ld = $datetime->days_in_month($holiday['month'],$year);
|
||||
$dow = $datetime->day_of_week($year,$holiday['month'],$ld);
|
||||
$ld = $GLOBALS['phpgw']->datetime->days_in_month($holiday['month'],$year);
|
||||
$dow = $GLOBALS['phpgw']->datetime->day_of_week($year,$holiday['month'],$ld);
|
||||
$day = $ld - (($dow + 7) - $holiday['dow']) % 7 ;
|
||||
}
|
||||
}
|
||||
@ -49,7 +49,7 @@ class holidaycalc {
|
||||
$day = $holiday['day'];
|
||||
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.
|
||||
if($dow == 0)
|
||||
{
|
||||
|
@ -1,9 +1,8 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* phpGroupWare - InfoLog *
|
||||
* phpGroupWare - HTML creation class *
|
||||
* http://www.phpgroupware.org *
|
||||
* 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 *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
@ -15,60 +14,169 @@
|
||||
|
||||
class html
|
||||
{
|
||||
var $user_agent,$ua_version; // 'mozilla','msie','konqueror'
|
||||
var $prefered_img_title;
|
||||
|
||||
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))
|
||||
{
|
||||
$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;
|
||||
}
|
||||
|
||||
function textarea($name,$value='',$options='' )
|
||||
{
|
||||
return "<TEXTAREA name=\"$name\" $options>".htmlspecialchars($value)."</TEXTAREA>\n";
|
||||
}
|
||||
|
||||
function input($name,$value='',$type='',$options='' )
|
||||
{
|
||||
if ($type) $type = "type=$type";
|
||||
|
||||
return "<input $type name=\"$name\" value=\"$value\" $options>\n";
|
||||
if ($type)
|
||||
{
|
||||
$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
|
||||
* $vars: query or array with query
|
||||
*/
|
||||
/*!
|
||||
@function link
|
||||
@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='')
|
||||
{
|
||||
if (is_array( $vars ))
|
||||
if (!is_array($vars))
|
||||
{
|
||||
$v = array( );
|
||||
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);
|
||||
$vars = explode('&',$vars);
|
||||
}
|
||||
list($url,$v) = explode('?',$url); // url may contain additional vars
|
||||
if ($v)
|
||||
$vars .= ($vars ? '&' : '') . $v;
|
||||
|
||||
{
|
||||
$vars += explode('&',$v);
|
||||
}
|
||||
return $GLOBALS['phpgw']->link($url,$vars);
|
||||
}
|
||||
|
||||
@ -77,49 +185,74 @@ class html
|
||||
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);
|
||||
|
||||
if ($content) {
|
||||
if ($content)
|
||||
{
|
||||
$html .= $content;
|
||||
$html .= "</form>\n";
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
function form_1button($name,$lang,$hidden_vars,$url,$url_vars='',
|
||||
$method='POST')
|
||||
function form_1button($name,$lang,$hidden_vars,$url,$url_vars='',$form_name='',$method='POST')
|
||||
{
|
||||
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',
|
||||
* 2 => 'cell2',
|
||||
* 3 => '3,, '.3' => 'width="10%"' ),
|
||||
* '.1' => 'bgcolor="#0000FF"' );
|
||||
* table($rows,'width="100%"');
|
||||
*/
|
||||
function table($rows,$params = '')
|
||||
/*!
|
||||
@function table
|
||||
@abstracts creates table from array with rows
|
||||
@discussion abstract the html stuff
|
||||
@param $rows array with rows, each row is an array of the cols
|
||||
@param $options options for the table-tag
|
||||
@example $rows = array ( '1' => array( 1 => 'cell1', '.1' => 'colspan=3',
|
||||
@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))
|
||||
{
|
||||
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 .= "</table>\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);
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
@ -134,23 +267,38 @@ class 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)
|
||||
{
|
||||
$html .= " alt=\"$title\" title=\"$title\"";
|
||||
$options .= " $this->prefered_img_title=\"".htmlspecialchars($title).'"';
|
||||
}
|
||||
if ($opts)
|
||||
{
|
||||
$html .= " $opts";
|
||||
}
|
||||
return $html . '>';
|
||||
return "<IMG SRC=\"$path\" $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>';
|
||||
}
|
||||
|
||||
@ -158,4 +306,77 @@ class html
|
||||
{
|
||||
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>";
|
||||
}
|
||||
}
|
||||
|
@ -23,6 +23,7 @@
|
||||
var $owner;
|
||||
var $g_owner;
|
||||
var $is_group = False;
|
||||
var $datetime;
|
||||
var $filter;
|
||||
var $cat_id;
|
||||
|
||||
@ -133,43 +134,31 @@
|
||||
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.') ';
|
||||
$o = $this->owner;
|
||||
$type = $GLOBALS['phpgw']->accounts->get_type($o);
|
||||
|
||||
if($type == 'g')
|
||||
if (!$members)
|
||||
{
|
||||
$members = $GLOBALS['phpgw']->acl->get_ids_for_location($o, 1, 'phpgw_group');
|
||||
}
|
||||
else
|
||||
{
|
||||
$members[0] = $o;
|
||||
$members[] = $this->owner;
|
||||
}
|
||||
$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];
|
||||
|
||||
for($i=1; $i<count($members); $i++)
|
||||
$words = split(' ',$keywords);
|
||||
foreach($words as $i => $word)
|
||||
{
|
||||
$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 .= ') ';
|
||||
|
||||
$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 .= ($this->cat_id?"AND phpgw_cal.category like '%".$this->cat_id."%' ":'');
|
||||
$sql .= 'ORDER BY phpgw_cal.datetime ASC, phpgw_cal.edatetime ASC, phpgw_cal.priority ASC';
|
||||
return $this->get_event_ids(False,$sql);
|
||||
$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 DESC, phpgw_cal.edatetime DESC, phpgw_cal.priority ASC';
|
||||
|
||||
return $this->get_event_ids(False,$sql,True);
|
||||
}
|
||||
|
||||
function read_from_store($startYear,$startMonth,$startDay,$endYear='',$endMonth='',$endDay='')
|
||||
@ -183,9 +172,9 @@
|
||||
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)
|
||||
@ -212,6 +201,16 @@
|
||||
$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)
|
||||
{
|
||||
$this->cal->delete_event($id);
|
||||
@ -237,6 +236,7 @@
|
||||
{
|
||||
$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->next_record();
|
||||
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__);
|
||||
@ -255,15 +255,31 @@
|
||||
$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)
|
||||
|
@ -40,7 +40,7 @@ if(extension_loaded('mcal') == False)
|
||||
define('MCAL_M_FRIDAY',32);
|
||||
define('MCAL_M_SATURDAY',64);
|
||||
|
||||
define('MCAL_M_WEEKDAYS',63);
|
||||
define('MCAL_M_WEEKDAYS',62);
|
||||
define('MCAL_M_WEEKEND',65);
|
||||
define('MCAL_M_ALLDAYS',127);
|
||||
}
|
||||
@ -51,6 +51,7 @@ define('MSG_ADDED',2);
|
||||
define('MSG_REJECTED',3);
|
||||
define('MSG_TENTATIVE',4);
|
||||
define('MSG_ACCEPTED',5);
|
||||
define('MSG_ALARM',6);
|
||||
|
||||
define('REJECTED',0);
|
||||
define('NO_RESPONSE',1);
|
||||
@ -68,10 +69,6 @@ class socalendar__
|
||||
|
||||
function socalendar__()
|
||||
{
|
||||
if(!is_object($GLOBALS['phpgw']->datetime))
|
||||
{
|
||||
$GLOBALS['phpgw']->datetime = createobject('phpgwapi.datetime');
|
||||
}
|
||||
}
|
||||
|
||||
function maketime($time)
|
||||
|
@ -31,6 +31,12 @@ class socalendar_ extends socalendar__
|
||||
function 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='')
|
||||
@ -96,6 +102,111 @@ class socalendar_ extends socalendar__
|
||||
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='')
|
||||
{
|
||||
if(!isset($this->stream))
|
||||
@ -103,7 +214,9 @@ class socalendar_ extends socalendar__
|
||||
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__);
|
||||
|
||||
@ -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'])
|
||||
{
|
||||
// What is event['reference']???
|
||||
$alarm_cal_id = $event_id.','.$this->event['reference'];
|
||||
}
|
||||
else
|
||||
@ -219,7 +344,9 @@ class socalendar_ extends socalendar__
|
||||
$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())
|
||||
{
|
||||
while($this->stream->next_record())
|
||||
@ -232,6 +359,7 @@ class socalendar_ extends socalendar__
|
||||
);
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -240,6 +368,15 @@ class socalendar_ extends socalendar__
|
||||
|
||||
$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;
|
||||
}
|
||||
|
||||
@ -340,7 +477,6 @@ class socalendar_ extends socalendar__
|
||||
|
||||
function expunge()
|
||||
{
|
||||
reset($this->deleted_events);
|
||||
if(count($this->deleted_events) <= 0)
|
||||
{
|
||||
return 1;
|
||||
@ -350,43 +486,51 @@ class socalendar_ extends socalendar__
|
||||
'phpgw_cal',
|
||||
'phpgw_cal_user',
|
||||
'phpgw_cal_repeats',
|
||||
'phpgw_cal_alarm'
|
||||
'phpgw_cal_extra'
|
||||
// OLD-ALARM 'phpgw_cal_alarm'
|
||||
);
|
||||
$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();
|
||||
|
||||
foreach($this->deleted_events as $cal_id)
|
||||
{
|
||||
$this->delete_alarms($cal_id);
|
||||
}
|
||||
$this->deleted_events = array();
|
||||
|
||||
$this->event = $this_event;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/***************** 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 ';
|
||||
$repeats_where = 'AND (phpgw_cal_repeats.cal_id = phpgw_cal.cal_id) ';
|
||||
$from = ', phpgw_cal_repeats ';
|
||||
$where = 'AND (phpgw_cal_repeats.cal_id = phpgw_cal.cal_id) ';
|
||||
}
|
||||
else
|
||||
if($search_extra)
|
||||
{
|
||||
$repeats_from = ' ';
|
||||
$repeats_where = '';
|
||||
$from .= 'LEFT JOIN phpgw_cal_extra ON phpgw_cal_extra.cal_id = phpgw_cal.cal_id ';
|
||||
}
|
||||
|
||||
$sql = 'SELECT DISTINCT phpgw_cal.cal_id,'
|
||||
. 'phpgw_cal.datetime,phpgw_cal.edatetime,'
|
||||
. 'phpgw_cal.priority '
|
||||
. 'FROM phpgw_cal, phpgw_cal_user'
|
||||
. $repeats_from
|
||||
. $from
|
||||
. 'WHERE (phpgw_cal_user.cal_id = phpgw_cal.cal_id) '
|
||||
. $repeats_where . $extra;
|
||||
. $where . $extra;
|
||||
|
||||
if($this->debug)
|
||||
{
|
||||
@ -421,7 +565,9 @@ class socalendar_ extends socalendar__
|
||||
$locks = Array(
|
||||
'phpgw_cal',
|
||||
'phpgw_cal_user',
|
||||
'phpgw_cal_repeats'
|
||||
'phpgw_cal_repeats',
|
||||
'phpgw_cal_extra'
|
||||
// OLD-ALARM 'phpgw_cal_alarm'
|
||||
);
|
||||
$this->stream->lock($locks);
|
||||
if($event['id'] == 0)
|
||||
@ -451,14 +597,6 @@ class socalendar_ extends socalendar__
|
||||
}
|
||||
$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) '
|
||||
. "values('".$event['uid']."','".$this->stream->db_addslashes($event['title'])
|
||||
. "',".$event['owner'].','.$event['priority'].','.$event['public'].",'"
|
||||
@ -490,7 +628,7 @@ class socalendar_ extends socalendar__
|
||||
. 'is_public='.$event['public'].', '
|
||||
. "title='".$this->stream->db_addslashes($event['title'])."', "
|
||||
. "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].',')."', ":'')
|
||||
. 'reference='.$event['reference'].' '
|
||||
. 'WHERE cal_id='.$event['id'];
|
||||
@ -502,7 +640,6 @@ class socalendar_ extends socalendar__
|
||||
@reset($event['participants']);
|
||||
while (list($key,$value) = @each($event['participants']))
|
||||
{
|
||||
// if(intval($key) == intval($this->user))
|
||||
if(intval($key) == $event['owner'])
|
||||
{
|
||||
$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__);
|
||||
}
|
||||
// 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']);
|
||||
|
||||
$this->stream->unlock();
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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__);
|
||||
if($this->stream->num_rows())
|
||||
{
|
||||
@ -569,6 +749,18 @@ class socalendar_ extends socalendar__
|
||||
{
|
||||
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)
|
||||
@ -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__);
|
||||
/* 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;
|
||||
}
|
||||
|
||||
@ -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))));
|
||||
}
|
||||
|
||||
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__);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
@ -19,9 +19,7 @@
|
||||
|
||||
function soholiday()
|
||||
{
|
||||
global $phpgw;
|
||||
|
||||
$this->db = $phpgw->db;
|
||||
$this->db = $GLOBALS['phpgw']->db;
|
||||
}
|
||||
|
||||
/* Begin Holiday functions */
|
||||
@ -49,14 +47,12 @@
|
||||
|
||||
function store_to_array(&$holidays)
|
||||
{
|
||||
global $phpgw;
|
||||
|
||||
while($this->db->next_record())
|
||||
{
|
||||
$holidays[] = Array(
|
||||
'index' => $this->db->f('hol_id'),
|
||||
'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')),
|
||||
'month' => intval($this->db->f('month_num')),
|
||||
'occurence' => intval($this->db->f('occurence')),
|
||||
@ -65,15 +61,13 @@
|
||||
);
|
||||
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)
|
||||
{
|
||||
global $phpgw;
|
||||
|
||||
$holidays = Array();
|
||||
|
||||
if($locales == '')
|
||||
@ -85,7 +79,7 @@
|
||||
|
||||
if($this->debug)
|
||||
{
|
||||
echo "Read Holidays : ".$sql."<br>\n";
|
||||
echo 'Read Holidays : '.$sql.'<br>'."\n";
|
||||
}
|
||||
|
||||
$this->db->query($sql,__LINE__,__FILE__);
|
||||
@ -98,7 +92,7 @@
|
||||
$holidays = Array();
|
||||
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->store_to_array($holidays);
|
||||
@ -186,7 +180,7 @@
|
||||
|
||||
if($this->debug)
|
||||
{
|
||||
echo "HOLIDAY_TOTAL : ".$sql."<br>\n";
|
||||
echo 'HOLIDAY_TOTAL : '.$sql.'<br>'."\n";
|
||||
}
|
||||
|
||||
$this->db->query($sql,__LINE__,__FILE__);
|
||||
|
@ -46,27 +46,25 @@
|
||||
{
|
||||
echo "BO Owner : ".$this->bo->owner."<br>\n";
|
||||
}
|
||||
|
||||
$this->template_dir = $GLOBALS['phpgw']->common->get_tpl_dir('calendar');
|
||||
|
||||
$this->html = CreateObject('calendar.html');
|
||||
}
|
||||
|
||||
function prep_page()
|
||||
{
|
||||
$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)
|
||||
{
|
||||
Header('Location : '.$GLOBALS['phpgw']->link('/index.php',
|
||||
Array(
|
||||
'menuaction' => 'calendar.uicalendar.view',
|
||||
'cal_id' => $this->bo->cal_id
|
||||
)
|
||||
)
|
||||
);
|
||||
$GLOBALS['phpgw']->redirect_link('/index.php',Array(
|
||||
'menuaction' => 'calendar.uicalendar.view',
|
||||
'cal_id' => $this->bo->cal_id
|
||||
));
|
||||
}
|
||||
|
||||
*/
|
||||
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('Alarm Management');
|
||||
@ -74,7 +72,7 @@
|
||||
|
||||
$this->template = CreateObject('phpgwapi.Template',$this->template_dir);
|
||||
|
||||
$this->template->set_unknowns('keep');
|
||||
$this->template->set_unknowns('remove');
|
||||
$this->template->set_file(
|
||||
Array(
|
||||
'alarm' => 'alarm.tpl'
|
||||
@ -84,10 +82,15 @@
|
||||
$this->template->set_block('alarm','alarm_headers','alarm_headers');
|
||||
$this->template->set_block('alarm','list','list');
|
||||
$this->template->set_block('alarm','hr','hr');
|
||||
$this->template->set_block('alarm','buttons','buttons');
|
||||
}
|
||||
|
||||
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->parse($row,$list,True);
|
||||
}
|
||||
@ -96,48 +99,106 @@
|
||||
|
||||
function manager()
|
||||
{
|
||||
$this->prep_page();
|
||||
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'])
|
||||
if ($_POST['delete'] && count($_POST['alarm']))
|
||||
{
|
||||
@reset($this->event['alarm']);
|
||||
while(list($key,$alarm) = each($this->event['alarm']))
|
||||
if ($this->bo->delete($_POST['alarm']) < 0)
|
||||
{
|
||||
$var = Array(
|
||||
'edit_box' => '<input type="checkbox" name="alarm[id]" value="'.$alarm['id'].'">',
|
||||
'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">':' '),
|
||||
'alarm_disabled' => (!$alarm['enabled']?'<img src="'.$GLOBALS['phpgw']->common->image('calendar','disabled.gif').'" width="13" height="13" alt="disabled">':' ')
|
||||
);
|
||||
$this->output_template_array('row','list',$var);
|
||||
echo '<center>'.lang('You do not have permission to delete this alarm !!!').'</center>';
|
||||
$GLOBALS['phpgw']->common->phpgw_exit(True);
|
||||
}
|
||||
}
|
||||
if (($_POST['enable'] || $_POST['disable']) && count($_POST['alarm']))
|
||||
{
|
||||
if ($this->bo->enable($_POST['alarm'],$_POST['enable']) < 0)
|
||||
{
|
||||
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();
|
||||
|
||||
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');
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
202
calendar/inc/class.uicustom_fields.inc.php
Normal 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'] ? ' ' : $this->html->input('length'.$id,$values['length'],'','SIZE="3"'),
|
||||
'shown' => $values['label'] ? ' ' : $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) : ' '
|
||||
));
|
||||
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);
|
||||
}
|
||||
}
|
||||
?>
|
@ -81,7 +81,7 @@
|
||||
@reset($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);
|
||||
}
|
||||
else
|
||||
@ -118,6 +118,10 @@
|
||||
|
||||
function edit_locale($locale='')
|
||||
{
|
||||
if ($locale === '')
|
||||
{
|
||||
$locale = $this->bo->locale;
|
||||
}
|
||||
if ($locale)
|
||||
{
|
||||
$this->bo->locales = array($locale);
|
||||
@ -128,7 +132,7 @@
|
||||
$link_params = Array(
|
||||
'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']['nonavbar']);
|
||||
@ -165,7 +169,7 @@
|
||||
|
||||
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);
|
||||
}
|
||||
else
|
||||
@ -228,9 +232,9 @@
|
||||
{
|
||||
$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']['nonavbar']);
|
||||
@ -445,7 +449,7 @@
|
||||
$this->bo->year = 0; // for a complete list with all years
|
||||
$holidays = $this->bo->get_holiday_list();
|
||||
|
||||
if (isset($GLOBALS['HTTP_GET_VARS']['download']))
|
||||
if (isset($_GET['download']))
|
||||
{
|
||||
$locale = $this->bo->locales[0];
|
||||
$browser = CreateObject('phpgwapi.browser');
|
||||
|
@ -87,7 +87,7 @@
|
||||
echo "Start Time : ".$GLOBALS['phpgw']->common->show_date()."<br>\n";
|
||||
@set_time_limit(0);
|
||||
|
||||
$icsfile=PHPGW_APP_INC.'/events.vcs';
|
||||
$icsfile=PHPGW_APP_INC.'/events.ics';
|
||||
$fp=fopen($icsfile,'rt');
|
||||
$contents = explode("\n",fread($fp, filesize($icsfile)));
|
||||
fclose($fp);
|
||||
|
@ -9,18 +9,18 @@
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
{
|
||||
|
||||
{
|
||||
// Only Modify the $file and $title variables.....
|
||||
|
||||
$file = Array
|
||||
(
|
||||
'Site Configuration' => $GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiconfig.index&appname=' . $appname),
|
||||
'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')
|
||||
);
|
||||
$title = $appname;
|
||||
$file = Array(
|
||||
'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'),
|
||||
'Global Categories' => $GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicategories.index&appname=calendar')
|
||||
);
|
||||
//Do not modify below this line
|
||||
$GLOBALS['phpgw']->common->display_mainscreen($appname,$file);
|
||||
}
|
||||
display_section($appname,$title,$file);
|
||||
}
|
||||
?>
|
||||
|
@ -20,33 +20,35 @@
|
||||
if($d1 == 'htt' || $d1 == 'ftp')
|
||||
{
|
||||
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
$phpgw->common->phpgw_exit();
|
||||
}
|
||||
unset($d1);
|
||||
|
||||
$GLOBALS['phpgw']->translation->add_app('calendar');
|
||||
if ($calendar_id)
|
||||
{
|
||||
$GLOBALS['phpgw']->translation->add_app('calendar');
|
||||
|
||||
$cal = CreateObject('calendar.uicalendar');
|
||||
//echo "Event ID: $calendar_id<br>\n";
|
||||
$cal = CreateObject('calendar.uicalendar');
|
||||
//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(
|
||||
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>' .
|
||||
|
||||
'</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);
|
||||
|
||||
unset($cal); unset($event);
|
||||
$cal->get_response($calendar_id);
|
||||
}
|
||||
unset($cal); unset($event);
|
||||
}
|
||||
?>
|
||||
|
@ -18,8 +18,7 @@
|
||||
if($d1 == 'htt' || $d1 == 'ftp' )
|
||||
{
|
||||
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||
}
|
||||
unset($d1);
|
||||
|
||||
@ -36,6 +35,8 @@
|
||||
$GLOBALS['g_month'] = substr($GLOBALS['date'],4,2);
|
||||
$GLOBALS['g_day'] = substr($GLOBALS['date'],6,2);
|
||||
$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 = 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');
|
||||
|
||||
$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');
|
||||
$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,
|
||||
'title' => lang('calendar')));
|
||||
$GLOBALS['phpgw']->portalbox->draw($GLOBALS['extra_data']);
|
||||
while(list($key,$value) = each($var))
|
||||
{
|
||||
$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();
|
||||
?>
|
||||
|
@ -18,12 +18,11 @@
|
||||
if($d1 == 'htt' || $d1 == 'ftp' )
|
||||
{
|
||||
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||
}
|
||||
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',
|
||||
Array(
|
||||
'day' => $GLOBALS['g_day'],
|
||||
|
@ -18,12 +18,11 @@
|
||||
if($d1 == 'htt' || $d1 == 'ftp' )
|
||||
{
|
||||
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||
}
|
||||
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')
|
||||
.'</td>'."\n".'</tr>'."\n".'</table>'."\n".'</td>'."\n";
|
||||
?>
|
||||
|
@ -18,12 +18,11 @@
|
||||
if($d1 == 'htt' || $d1 == 'ftp' )
|
||||
{
|
||||
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||
}
|
||||
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')
|
||||
.'</td>'."\n".'</tr>'."\n".'</table>'."\n".'</td>'."\n";
|
||||
?>
|
||||
|
@ -18,12 +18,11 @@
|
||||
if($d1 == 'htt' || $d1 == 'ftp' )
|
||||
{
|
||||
echo 'Failed attempt to break in via an old Security Hole!<br>'."\n";
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||
}
|
||||
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')
|
||||
.'</td>'."\n".'</tr>'."\n".'</table>'."\n".'</td>'."\n";
|
||||
?>
|
||||
|
@ -15,52 +15,103 @@
|
||||
|
||||
/* $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'),
|
||||
'Sunday' => lang('Sunday'),
|
||||
'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)
|
||||
{
|
||||
$options[$i] = $GLOBALS['phpgw']->common->formattime($i,'00');
|
||||
}
|
||||
create_select_box('work day starts on','workdaystarts',$options);
|
||||
create_select_box('work day ends on','workdayends',$options);
|
||||
unset($options);
|
||||
|
||||
create_select_box('default calendar view','defaultcalendar',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(
|
||||
create_select_box('work day starts on','workdaystarts',$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.');
|
||||
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.');
|
||||
$intervals = array(
|
||||
5 => '5',
|
||||
10 => '10',
|
||||
15 => '15',
|
||||
@ -68,22 +119,50 @@
|
||||
30 => '30',
|
||||
45 => '45',
|
||||
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);
|
||||
|
||||
create_select_box('Number of Intervals per Day in Planner View','planner_intervals_per_day',array(
|
||||
$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.');
|
||||
|
||||
$planner_intervals = array(
|
||||
1 => '1',
|
||||
2 => '2',
|
||||
3 => '3',
|
||||
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');
|
||||
create_check_box('Receive extra information in event mails','send_extra');
|
||||
$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('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');
|
||||
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)?');
|
||||
|
64
calendar/inc/hook_sidebox_menu.inc.php
Normal 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);
|
||||
}
|
||||
}
|
||||
?>
|
@ -36,7 +36,8 @@
|
||||
'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));
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||
?>
|
||||
|
@ -88,8 +88,7 @@
|
||||
$phpgw->preferences->save_repository(True);
|
||||
|
||||
Header('Location: '.$phpgw->link('/preferences/index.php'));
|
||||
$GLOBALS['phpgw_info']['flags']['nodisplay'] = True;
|
||||
exit;
|
||||
$phpgw->common->phpgw_exit();
|
||||
}
|
||||
|
||||
function display_item($field,$data)
|
||||
@ -107,6 +106,7 @@
|
||||
}
|
||||
|
||||
$phpgw->common->phpgw_header();
|
||||
echo parse_navbar();
|
||||
|
||||
$p = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('calendar'));
|
||||
$templates = Array(
|
||||
@ -235,4 +235,5 @@
|
||||
display_item(lang('Print calendars in black & white'),$str);
|
||||
|
||||
$p->pparse('out','pref');
|
||||
$phpgw->common->phpgw_footer();
|
||||
?>
|
||||
|
99
calendar/setup/holidays.AU
Executable 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
|
@ -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 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 Boxing Day 26 12 0 0 1
|
||||
CA Boxing Day 26 12 0 0 0
|
||||
|
256
calendar/setup/holidays.DE
Normal 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
|
26
calendar/setup/holidays.FR
Normal 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
|
@ -4,10 +4,9 @@ JP
|
||||
JP 春分の日 0 3 0 0 1
|
||||
JP みどりの日 29 4 0 0 1
|
||||
JP 憲法記念日 3 5 0 0 1
|
||||
JP 国民の祝日 4 5 0 0 1
|
||||
JP こどもの日 5 5 0 0 1
|
||||
JP 海の日 20 7 0 0 1
|
||||
JP 敬老の日 15 9 0 0 1
|
||||
JP 海の日 0 7 3 1 1
|
||||
JP 敬老の日 0 9 3 1 1
|
||||
JP 秋分の日 0 9 0 0 1
|
||||
JP 体育の日 0 10 2 1 1
|
||||
JP 文化の日 3 11 0 0 1
|
||||
|
@ -8,20 +8,28 @@
|
||||
a calendar de a
|
||||
accept calendar de Zusagen
|
||||
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 alarm calendar de Alarm zufügen
|
||||
add contact calendar de Kontakt zufügen
|
||||
added calendar de Neuer Termin
|
||||
address book calendar de Adressbuch
|
||||
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
|
||||
alarms calendar de Alarme
|
||||
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 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 ?\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.
|
||||
back calendar de zurück
|
||||
before the event calendar de vor dem Termin
|
||||
brief description calendar de Kurzbeschreibung
|
||||
business calendar de geschäftlich
|
||||
calendar common de Kalender
|
||||
calendar - [iv]cal importer calendar de Kalendar - [iv]Cal Importieren
|
||||
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 settings admin de Kalender Einstellungen
|
||||
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 status calendar de Zusage ändern
|
||||
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
|
||||
country calendar de Land
|
||||
csv-fieldname calendar de CSV-Feldname
|
||||
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 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
|
||||
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 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 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 single calendar de Einzelevent löschen
|
||||
deleted calendar de Abgesagt
|
||||
@ -53,44 +72,68 @@ description calendar de Beschreibung
|
||||
display interval in day view calendar de Intervall der Tagesansicht
|
||||
display mini calendars when printing calendar de zeige einen kleinen Kalender beim drucken
|
||||
display status of events calendar de Status von Terminen anzeigen
|
||||
displays your default calendar view on the startpage (page you get when you enter phpgroupware or click on the homepage icon)? calendar de Soll Ihr Kalender auf der phpGroupWare Startseite angezeigt werden (die Seite welche sich nach dem Login öffnet oder wenn Sie auch Home klicken)?
|
||||
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?
|
||||
download calendar de Herunterladen
|
||||
duration calendar de Dauer
|
||||
edit series calendar de Serie bearbeiten
|
||||
edit single calendar de Einzel bearbeiten
|
||||
end date/time calendar de Enddatum/-zeit
|
||||
enddate calendar de Enddatum
|
||||
ends calendar de endet
|
||||
enter output filename: ( .vcs appended ) calendar de Namen der Ausgabedatei (.vcs angehangen)
|
||||
event details follow calendar de Details zum Termin folgen
|
||||
exceptions calendar de Ausnahmen
|
||||
export calendar de 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
|
||||
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
|
||||
free/busy calendar de frei/belegt
|
||||
frequency calendar de Häufigkeit
|
||||
fri calendar de Fr
|
||||
full description calendar de vollständige Beschreibung
|
||||
fullname of person to notify calendar de Name der zu benachrichtigenden Person
|
||||
generate printer-friendly version calendar de Drucker-freundliche Version erzeugen
|
||||
global public and group public calendar de Global Öffentlich und Gruppen-Öffentlich
|
||||
global public only calendar de nur Global Öffentlich
|
||||
global categories calendar de Globale Kategorien
|
||||
global public and group public calendar de Global öffentlich und Gruppen-öffentlich
|
||||
global public only calendar de nur Global öffentlich
|
||||
go! calendar de Go!
|
||||
grant calendar access common de Berechtigungen für Kalenderzugriffe
|
||||
grant calendar access common de Berechtigungen für Kalenderzugriffe
|
||||
group planner calendar de Gruppenplaner
|
||||
group public only calendar de Gruppen-Öffentlich
|
||||
has been canceled calendar de wurde abgesagt
|
||||
has been rescheduled to calendar de wurde verschoben auf
|
||||
here is your requested alarm. calendar de Hier ist ihr bestellter Alarm.
|
||||
high calendar de hoch
|
||||
high priority calendar de Hohe Priorität
|
||||
holiday calendar de Feiertag
|
||||
holiday management calendar de Feitertagsverwaltung
|
||||
holiday-management calendar de Feitertagsverwaltung
|
||||
holidays calendar de Feiertage
|
||||
hours calendar de Stunden
|
||||
i participate calendar de Ich nehme teil
|
||||
ical / rfc2445 calendar de iCal / RFC2445
|
||||
if checked holidays falling on a weekend, are taken on the monday after. calendar de Wenn ausgewählt werden Feiertage die auf ein Wochenende fallen, am drauffolgenden Montag nachgeholt.
|
||||
ignore conflict calendar de Konflikt ignorieren
|
||||
import calendar de Importieren
|
||||
import csv-file into calendar calendar de CSV-Datei in den Kalender importieren
|
||||
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.
|
||||
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
|
||||
location calendar de Ort
|
||||
location to autoload from admin de Von wo sollen sie geladen werden
|
||||
@ -99,6 +142,7 @@ matrixview calendar de Matrixansicht
|
||||
minutes calendar de Minuten
|
||||
mo calendar de Mo
|
||||
modified calendar de Geändert
|
||||
modify list of external participants calendar de Liste der externen Teilnehmer änderen
|
||||
mon calendar de Mo
|
||||
month calendar de Monat
|
||||
monthly calendar de Monatlich
|
||||
@ -106,16 +150,38 @@ monthly (by date) calendar de Monatlich (nach Datum)
|
||||
monthly (by day) calendar de Monatlich (nach Wochentag)
|
||||
monthview calendar de Monatsansicht
|
||||
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 response calendar de Keine Antwort
|
||||
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 months calendar de Anzahl Monate
|
||||
number of records to read (<=200) calendar de Anzeil Datensätze zu lesen (<= 200)
|
||||
observance rule calendar de Observance Rule
|
||||
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
|
||||
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
|
||||
participants calendar de Teilnehmer
|
||||
participates calendar de nimmt teil
|
||||
@ -124,21 +190,26 @@ permission denied calendar de Zugriff verweigert
|
||||
planner calendar de Planer
|
||||
planner by category calendar de Planer nach Kategorien
|
||||
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
|
||||
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
|
||||
privat calendar de Privat
|
||||
private and global public calendar de Privat und Global Öffentlich
|
||||
private and group public calendar de Privat und Gruppen Öffentlich
|
||||
private and global public calendar de Privat und Global öffentlich
|
||||
private and group public calendar de Privat und Gruppen öffentlich
|
||||
private only calendar de nur private
|
||||
re-edit event calendar de Event erneut bearbeiten
|
||||
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 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
|
||||
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
|
||||
regular summary of your appointments calendar de
|
||||
reinstate calendar de Wiedereinsetzen
|
||||
reject calendar de Absagen
|
||||
rejected calendar de Abgesagt
|
||||
@ -147,26 +218,40 @@ repeat end date calendar de Enddatum
|
||||
repeat type calendar de Wiederholungstyp
|
||||
repeating event information calendar de Informationen zu sich wiederholenden Ereignissen
|
||||
repetition calendar de Wiederholung
|
||||
repetitiondetails (or empty) calendar de Details der Wiederholung (oder leer)
|
||||
reset calendar de Zurücksetzen
|
||||
rule calendar de Regel
|
||||
sa calendar de Sa
|
||||
sat calendar de Sa
|
||||
scheduling conflict calendar de Terminüberschneidung
|
||||
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_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 default view on main screen calendar de Standardansicht auf der Startseite anzeigen
|
||||
show high priority events on main screen calendar de Termine mit hoher Priorität auf der Startseite anzeigen
|
||||
show invitations you rejected calendar de Zeige Einladungen welche abgelehnt wurden an
|
||||
single event calendar de Einzelner Termin
|
||||
sorry, the owner has just deleted this event calendar de Der Eigentümer hat diesen Termin gerade gelöscht
|
||||
sorry, this event does not exist calendar de Dieser Termin existiert nicht
|
||||
sorry, this event does not have exceptions defined calendar de Dieser Termin hat keine Ausnahmen definiert
|
||||
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- and enddates calendar de Start- und Enddatum/-zeit
|
||||
startdate calendar de Startdatum
|
||||
startrecord calendar de Startdatensatz
|
||||
su calendar de So
|
||||
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 user %1 is not participating in this event! calendar de Der Benutzer %1 nimmt nicht an diesem Event teil!
|
||||
there was an error trying to connect to your news server.<br>please contact your admin to check the news servername, username or password. calendar de Fehler beim Kontaktieren Ihres News-Servers.<br>Bitte benachrichtigen Sie ihren Administrator um Servername, Username und Passwort für News zu überprüfen.
|
||||
this day is shown as first day in the week or month view. calendar de Dieser Tag wird als erster in der Wochen- oder Monatsansicht angezeigt
|
||||
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 week calendar de Diese Woche
|
||||
this year calendar de Dieses Jahr
|
||||
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
|
||||
translation calendar de Übersetzung
|
||||
tu calendar de Di
|
||||
tue calendar de Di
|
||||
update a single entry by passing the fields. calendar de Einen einzelnen Termin über seine Felder updaten.
|
||||
updated calendar de Aktualisiert
|
||||
updates of your appointments via email calendar de
|
||||
use end date calendar de Enddatum benutzen
|
||||
view this entry calendar de Diesen Eintrag anzeigen
|
||||
we calendar de Mi
|
||||
@ -198,27 +305,34 @@ weekday starts on calendar de Arbeitswoche beginnt am
|
||||
weekly calendar de Wöchentlich
|
||||
weekview calendar de Wochenansicht
|
||||
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 starts on calendar de Arbeitstag beginnt um
|
||||
workdayends calendar de Arbeitstag endet um
|
||||
workdayends calendar de Arbeitstag endet
|
||||
year calendar de Jahr
|
||||
yearly calendar de Jährlich
|
||||
yearview calendar de
|
||||
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 !!!
|
||||
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 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 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 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 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\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 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 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 !!!
|
||||
your meeting scheduled for calendar de Ihr Termin am
|
||||
your meeting that had been 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 %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:
|
||||
|
@ -8,44 +8,60 @@
|
||||
a calendar en a
|
||||
accept calendar en Accept
|
||||
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 alarm calendar en Add Alarm
|
||||
add contact calendar en Add Contact
|
||||
added calendar en Added
|
||||
address book calendar en Address Book
|
||||
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
|
||||
alarms calendar en Alarms
|
||||
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 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 ?\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.
|
||||
before the event calendar en before the event
|
||||
brief description calendar en Brief Description
|
||||
business calendar en Business
|
||||
calendar common en Calendar
|
||||
calendar - [iv]cal importer calendar en Calendar - [iv]Cal Importer
|
||||
calendar - add calendar en Calendar - Add
|
||||
calendar - edit calendar en Calendar - Edit
|
||||
calendar - [iv]cal importer calendar en Calendar - [iv]Cal Importer
|
||||
calendar event calendar en Calendar Event
|
||||
calendar holiday management admin en Calendar Holiday Management
|
||||
calendar preferences calendar en Calendar Preferences
|
||||
calendar settings admin en Calendar Settings
|
||||
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 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
|
||||
countries calendar en Countries
|
||||
country calendar en Country
|
||||
csv-fieldname calendar en CSV-Fieldname
|
||||
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 matrix view calendar en Daily Matrix View
|
||||
days calendar en days
|
||||
days repeated calendar en days repeated
|
||||
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 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 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 single calendar en Delete Single
|
||||
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 mini calendars when printing calendar en Display mini calendars when printing
|
||||
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?
|
||||
download calendar en Download
|
||||
duration calendar en Duration
|
||||
edit series calendar en Edit Series
|
||||
edit single calendar en Edit Single
|
||||
end date/time calendar en End Date/Time
|
||||
enddate calendar en Enddate
|
||||
ends calendar en ends
|
||||
enter output filename: ( .vcs appended ) calendar en Enter Output Filename: ( .vcs appended )
|
||||
event details follow calendar en Event Details Follow
|
||||
exceptions calendar en Exceptions
|
||||
export calendar en Export
|
||||
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
|
||||
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
|
||||
free/busy calendar en Free/Busy
|
||||
frequency calendar en Frequency
|
||||
fri calendar en Fri
|
||||
full description calendar en Full Description
|
||||
fullname of person to notify calendar en Fullname of person to notify
|
||||
generate printer-friendly version calendar en Generate printer-friendly version
|
||||
global categories calendar en Global Categories
|
||||
global public and group public calendar en Global Public and group public
|
||||
global public only calendar en Global Public Only
|
||||
go! calendar en Go!
|
||||
grant calendar access common en Grant Calendar Access
|
||||
group planner calendar en Group Planner
|
||||
group public only calendar en Group Public Only
|
||||
has been canceled calendar en has been canceled
|
||||
has been rescheduled to calendar en has been rescheduled to
|
||||
here is your requested alarm. calendar en Here is your requested alarm.
|
||||
high priority calendar en high priority
|
||||
holiday calendar en Holiday
|
||||
holiday management calendar en Holiday Management
|
||||
holiday-management calendar en Holiday-Management
|
||||
holidays calendar en Holidays
|
||||
hours calendar en hours
|
||||
i participate calendar en I Participate
|
||||
ical / rfc2445 calendar en iCal / rfc2445
|
||||
if checked holidays falling on a weekend, are taken on the monday after. calendar en If checked holidays falling on a weekend, are taken on the monday after.
|
||||
ignore conflict calendar en Ignore Conflict
|
||||
import calendar en Import
|
||||
import csv-file into calendar calendar en Import CSV-File into Calendar
|
||||
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.
|
||||
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
|
||||
location calendar en Location
|
||||
location to autoload from admin en Location to autoload from
|
||||
@ -101,6 +134,7 @@ matrixview calendar en Matrixview
|
||||
minutes calendar en minutes
|
||||
mo calendar en M
|
||||
modified calendar en Modified
|
||||
modify list of external participants calendar en Modify List of External Participants
|
||||
mon calendar en Mon
|
||||
month calendar en Month
|
||||
monthly calendar en Monthly
|
||||
@ -108,14 +142,29 @@ monthly (by date) calendar en Monthly (by date)
|
||||
monthly (by day) calendar en Monthly (by day)
|
||||
monthview calendar en Monthview
|
||||
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
|
||||
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 months calendar en Number of months
|
||||
number of records to read (<=200) calendar en Number of records to read (<=200)
|
||||
observance rule calendar en Observance Rule
|
||||
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 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
|
||||
participant calendar en Participant
|
||||
participants calendar en Participants
|
||||
@ -125,10 +174,10 @@ permission denied calendar en Permission denied
|
||||
planner calendar en Planner
|
||||
planner by category calendar en Planner by category
|
||||
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
|
||||
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 the mini calendars calendar en Print the mini calendars
|
||||
printer friendly calendar en Printer Friendly
|
||||
privat calendar en Privat
|
||||
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 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.
|
||||
receive email updates calendar en Receive email updates
|
||||
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
|
||||
refresh calendar en Refresh
|
||||
reinstate calendar en Reinstate
|
||||
@ -148,26 +199,36 @@ repeat end date calendar en Repeat End date
|
||||
repeat type calendar en Repeat type
|
||||
repeating event information calendar en Repeating Event Information
|
||||
repetition calendar en Repetition
|
||||
repetitiondetails (or empty) calendar en Repetitiondetails (or empty)
|
||||
reset calendar en Reset
|
||||
rule calendar en Rule
|
||||
sa calendar en Sa
|
||||
sat calendar en Sat
|
||||
scheduling conflict calendar en Scheduling Conflict
|
||||
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/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 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 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 invitations you rejected calendar en Show invitations you rejected
|
||||
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, 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
|
||||
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- and enddates calendar en Start- and Enddates
|
||||
startdate calendar en Startdate
|
||||
startrecord calendar en Startrecord
|
||||
su calendar en Su
|
||||
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 user %1 is not participating in this event! calendar en The user %1 is not participating in this event!
|
||||
there was an error trying to connect to your news server.<br>please contact your admin to check the news servername, username or password. calendar en There was an error trying to connect to your news server.<br>Please contact your admin to check the news servername, username or password.
|
||||
this day is shown as first day in the week or month view. calendar en This day is shown as first day in the week or month view.
|
||||
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 week calendar en This week
|
||||
this year calendar en This year
|
||||
thu calendar en Thu
|
||||
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
|
||||
translation calendar en Translation
|
||||
tu calendar en T
|
||||
@ -199,6 +275,8 @@ weekday starts on calendar en Weekday starts on
|
||||
weekly calendar en Weekly
|
||||
weekview calendar en Weekview
|
||||
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 starts on calendar en Work day starts on
|
||||
workdayends calendar en workdayends
|
||||
@ -206,10 +284,13 @@ yearly calendar en Yearly
|
||||
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 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 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 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 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
|
||||
@ -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 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 !!!
|
||||
your meeting scheduled for calendar en Your meeting scheduled for
|
||||
your meeting that had been scheduled for calendar en Your meeting that had been 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 %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:
|
||||
|
@ -8,29 +8,37 @@
|
||||
a calendar fr un
|
||||
accept calendar fr Accepte
|
||||
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 alarm calendar fr Ajouter une alarme
|
||||
add contact calendar fr Ajouter un contact
|
||||
added calendar fr Ajouté
|
||||
address book calendar fr Carnet d'adresses
|
||||
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
|
||||
alarms calendar fr Alarmes
|
||||
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 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 ?\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.
|
||||
before the event calendar fr avant l'évènement
|
||||
brief description calendar fr Description brève
|
||||
business calendar fr Travail
|
||||
calendar common fr Calendrier
|
||||
calendar - [iv]cal importer calendar fr Calendrier - Importateur [iv]Cal
|
||||
calendar - add calendar fr Calendrier - Ajouter
|
||||
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 holiday management admin fr Gestion du calendrier des vacances
|
||||
calendar preferences calendar fr Préférences du calendrier
|
||||
calendar settings admin fr Réglages calendrier
|
||||
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 status calendar fr Modifier le statut
|
||||
configuration calendar fr Configuration
|
||||
@ -38,14 +46,21 @@ countries calendar fr Pays
|
||||
country calendar fr Pays
|
||||
csv-fieldname calendar fr CSV-nom des champs
|
||||
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 matrix view calendar fr Vue journalière de la matrice
|
||||
days calendar fr Jours
|
||||
days repeated calendar fr Jours répétés
|
||||
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 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 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 single calendar fr Effacer un unique
|
||||
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 mini calendars when printing calendar fr Afficher mini calendriers à l'impression
|
||||
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?
|
||||
download calendar fr Downloader
|
||||
duration calendar fr Durée
|
||||
edit series calendar fr Modifier toutes les occurrences
|
||||
edit single calendar fr Modifier cette occurrence
|
||||
email reminder calendar fr EMail de rappel
|
||||
end date/time calendar fr Date/Heure de fin
|
||||
enddate calendar fr Date de fin
|
||||
ends calendar fr Finit
|
||||
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
|
||||
exceptions calendar fr Exceptions
|
||||
export calendar fr Export
|
||||
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
|
||||
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
|
||||
free/busy calendar fr Libre/occupé
|
||||
frequency calendar fr Fréquence
|
||||
fri calendar fr Ven
|
||||
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
|
||||
global categories calendar fr Catégories globales
|
||||
global public and group public calendar fr Public global et groupe public
|
||||
global public only calendar fr Public global seulement
|
||||
go! calendar fr Go!
|
||||
grant calendar access common fr Régler les autorisations d'accès au calendrier
|
||||
group planner calendar fr Planificateur de groupe
|
||||
group public only calendar fr Groupe public seulement
|
||||
has been canceled calendar fr a été annulé
|
||||
has been rescheduled to calendar fr a été replanifié le
|
||||
here is your requested alarm. calendar fr Voici votre alarme demandée.
|
||||
high priority calendar fr Priorité haute
|
||||
holiday calendar fr Vacance
|
||||
holiday management calendar fr Gestion des vacances
|
||||
holiday-management calendar fr Gestion des vacances
|
||||
holidays calendar fr Vacances
|
||||
hours calendar fr Heures
|
||||
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.
|
||||
ignore conflict calendar fr Ignorer le conflit
|
||||
import calendar fr Import
|
||||
import csv-file into calendar calendar fr Importer un fichier CSV dans le calendrier
|
||||
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.
|
||||
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
|
||||
location calendar fr Emplacement
|
||||
location to autoload from admin fr Emplacement depuis lequel auto-charger
|
||||
@ -101,6 +133,7 @@ matrixview calendar fr Vue matricielle
|
||||
minutes calendar fr minutes
|
||||
mo calendar fr L
|
||||
modified calendar fr Modifié
|
||||
modify list of external participants calendar fr Modifier la liste des participants extérieurs
|
||||
mon calendar fr Lun
|
||||
month calendar fr Mois
|
||||
monthly calendar fr Mensuel
|
||||
@ -108,14 +141,29 @@ monthly (by date) calendar fr Mensuel (par date)
|
||||
monthly (by day) calendar fr Mensuel (par jour)
|
||||
monthview calendar fr Vue mensuelle
|
||||
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
|
||||
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 months calendar fr Nombre de mois
|
||||
number of records to read (<=200) calendar fr Nombre d'enregistrements à lire (<=200)
|
||||
observance rule calendar fr Règle d'observation
|
||||
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 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
|
||||
participant calendar fr Participant
|
||||
participants calendar fr Participants
|
||||
@ -125,10 +173,10 @@ permission denied calendar fr Permission refus
|
||||
planner calendar fr Planificateur
|
||||
planner by category calendar fr Planificateur par catégrie
|
||||
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
|
||||
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 the mini calendars calendar fr Imprimer les mini-calendriers
|
||||
printer friendly calendar fr Imprimable
|
||||
privat calendar fr Privée
|
||||
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 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.
|
||||
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 summary of appointments calendar fr Recevoir le résumé des rendez-vous
|
||||
recurring event calendar fr Evènement récurrent
|
||||
refresh calendar fr Rafraîchir
|
||||
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
|
||||
repeating event information calendar fr Informations d'événement répétitif
|
||||
repetition calendar fr Répétition
|
||||
repetitiondetails (or empty) calendar fr Détails de répétition (ou vide)
|
||||
reset calendar fr Réinitialiser
|
||||
rule calendar fr Règle
|
||||
sa calendar fr Sa
|
||||
sat calendar fr Sam
|
||||
scheduling conflict calendar fr Conflit de planification
|
||||
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/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 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 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 invitations you rejected calendar fr Montrer les invitations que vous avez rejeté
|
||||
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, 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
|
||||
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- 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
|
||||
su calendar fr Di
|
||||
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 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.
|
||||
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 week calendar fr Cette semaine
|
||||
this year calendar fr Cette année
|
||||
thu calendar fr Jeu
|
||||
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
|
||||
translation calendar fr Traduction
|
||||
tu calendar fr M
|
||||
@ -199,6 +273,8 @@ weekday starts on calendar fr La semaine d
|
||||
weekly calendar fr 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é
|
||||
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 starts on calendar fr Jour de travail démarre à
|
||||
workdayends calendar fr Le jour de travail finit
|
||||
@ -206,10 +282,13 @@ yearly calendar fr Annuel
|
||||
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 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 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 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 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
|
||||
@ -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 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 !!!
|
||||
your meeting scheduled for calendar fr Votre réunion planifiée le
|
||||
your meeting that had been scheduled for calendar fr Votre réunion qui a été 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 %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:
|
||||
|
@ -6,9 +6,11 @@ alarms calendar ja
|
||||
alarm management calendar ja アラーム管理
|
||||
all day 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 ?\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 件名
|
||||
calendar common ja カレンダー
|
||||
calendar preferences common ja カレンダーユーザ設定
|
||||
@ -17,6 +19,7 @@ calendar - add calendar ja
|
||||
calendar - edit calendar ja カレンダー - 訂正
|
||||
calendar holiday management admin ja 休日設定
|
||||
countries calendar ja 国一覧
|
||||
country calendar ja 国
|
||||
daily calendar ja 日単位
|
||||
daily matrix view calendar ja 日程表示
|
||||
days repeated calendar ja 曜日
|
||||
@ -24,6 +27,7 @@ delete series calendar ja Ϣ³
|
||||
delete single calendar ja 単独削除
|
||||
default calendar filter calendar ja カレンダーの初期選択
|
||||
default calendar view calendar ja カレンダーの初期表示
|
||||
display interval in day View calendar ja 日表示時の時間間隔
|
||||
display mini calendars when printing calendar ja 印刷用の時、小カレンダを表示
|
||||
display status of events calendar 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 response calendar ja 返答なし
|
||||
observance rule calendar ja 休日のルールを適用
|
||||
overlap holiday calendar ja 振替休日
|
||||
occurence calendar ja 曜日指定
|
||||
participant calendar ja 参加者
|
||||
participates calendar ja も参加
|
||||
participants calendar ja 参加者
|
||||
people holiday calendar ja 国民の休日
|
||||
planner calendar ja プランナー
|
||||
pm calendar ja 午後
|
||||
print calendars in black & white calendar ja 印刷用の時、白黒表示にする
|
||||
printer friendly calendar ja 印刷用へ
|
||||
private and global public calendar ja プライベートと共有
|
||||
private and group public calendar ja プライベートと所属グループ
|
||||
@ -94,6 +101,7 @@ search results calendar ja
|
||||
select country for including holidays calendar ja 休日データ選択
|
||||
send/receive updates via email 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 優先度が高いイベントをメイン画面に表示
|
||||
start date/time calendar ja 開始日時
|
||||
su calendar ja 日
|
||||
|
@ -2,12 +2,9 @@
|
||||
1 match found calendar sv 1 träff hittad
|
||||
a calendar sv a
|
||||
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 ?\\\\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 ? 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 ? 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.
|
||||
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 ?\n\nDetta 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\natt du vill\ntabort denna post?\n\nDetta tar bort den\nför alla användare.
|
||||
brief description calendar sv Kort beskrivning
|
||||
calendar common sv kalender
|
||||
calendar preferences common sv Kalender inställningar
|
||||
@ -80,11 +77,11 @@ year calendar sv
|
||||
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 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\\\\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\\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\nvalid time of day. calendar sv Du har inte angivit\\nen giltig tid.
|
||||
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\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\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 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:
|
||||
|
@ -12,58 +12,50 @@
|
||||
/* $Id$ */
|
||||
|
||||
$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']['enable'] = 1;
|
||||
|
||||
$setup_info['calendar']['author'] = array
|
||||
(
|
||||
'name' => 'Mark Peters',
|
||||
'email' => 'skeeter@phpgroupware.org'
|
||||
);
|
||||
|
||||
$setup_info['calendar']['author'] = 'Mark Peters';
|
||||
$setup_info['calendar']['license'] = 'GPL';
|
||||
|
||||
$setup_info['calendar']['description'] = 'Powerful calendar with meeting request system and ACL security.';
|
||||
|
||||
$setup_info['calendar']['description'] =
|
||||
'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(
|
||||
'name' => 'Ralf Becker',
|
||||
'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'
|
||||
'email' => 'RalfBecker@outdoor-training.de'
|
||||
);
|
||||
|
||||
$setup_info['calendar']['tables'][] = 'phpgw_cal';
|
||||
$setup_info['calendar']['tables'][] = 'phpgw_cal_holidays';
|
||||
$setup_info['calendar']['tables'][] = 'phpgw_cal_repeats';
|
||||
$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 */
|
||||
$setup_info['calendar']['hooks'] = array
|
||||
(
|
||||
'add_def_prefs',
|
||||
'admin',
|
||||
'deleteaccount',
|
||||
'email',
|
||||
'home',
|
||||
'home_day',
|
||||
'home_month',
|
||||
'home_week',
|
||||
'home_year',
|
||||
'manual',
|
||||
'preferences',
|
||||
'settings'
|
||||
);
|
||||
$setup_info['calendar']['hooks'][] = 'add_def_prefs';
|
||||
$setup_info['calendar']['hooks'][] = 'admin';
|
||||
$setup_info['calendar']['hooks'][] = 'deleteaccount';
|
||||
$setup_info['calendar']['hooks'][] = 'email';
|
||||
$setup_info['calendar']['hooks'][] = 'home';
|
||||
$setup_info['calendar']['hooks'][] = 'home_day';
|
||||
$setup_info['calendar']['hooks'][] = 'home_month';
|
||||
$setup_info['calendar']['hooks'][] = 'home_week';
|
||||
$setup_info['calendar']['hooks'][] = 'home_year';
|
||||
$setup_info['calendar']['hooks'][] = 'manual';
|
||||
$setup_info['calendar']['hooks'][] = 'preferences';
|
||||
$setup_info['calendar']['hooks'][] = 'settings';
|
||||
$setup_info['calendar']['hooks'][] = 'sidebox_menu';
|
||||
|
||||
/* Dependencies for this app to work */
|
||||
$setup_info['calendar']['depends'][] = array(
|
||||
'appname' => 'phpgwapi',
|
||||
'versions' => Array('0.9.13', '0.9.14','0.9.15')
|
||||
'versions' => Array('0.9.14','0.9.15','0.9.16')
|
||||
);
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
@ -15,20 +15,20 @@
|
||||
'phpgw_cal' => array(
|
||||
'fd' => array(
|
||||
'cal_id' => array('type' => 'auto','nullable' => False),
|
||||
'uid' => array('type' => 'varchar', 'precision' => 255,'nullable' => False),
|
||||
'owner' => array('type' => 'int', 'precision' => 8,'nullable' => False),
|
||||
'category' => array('type' => 'varchar', 'precision' => 30,'nullable' => True),
|
||||
'groups' => array('type' => 'varchar', 'precision' => 255,'nullable' => True),
|
||||
'datetime' => array('type' => 'int', 'precision' => 8,'nullable' => True),
|
||||
'mdatetime' => 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),
|
||||
'cal_type' => array('type' => 'varchar', 'precision' => 10,'nullable' => True),
|
||||
'is_public' => array('type' => 'int', 'precision' => 8,'nullable' => False,'default' => 1),
|
||||
'title' => array('type' => 'varchar', 'precision' => 80,'nullable' => False,'default' => '1'),
|
||||
'uid' => array('type' => 'varchar','precision' => '255','nullable' => False),
|
||||
'owner' => array('type' => 'int','precision' => '8','nullable' => False),
|
||||
'category' => array('type' => 'varchar','precision' => '30','nullable' => True),
|
||||
'groups' => array('type' => 'varchar','precision' => '255','nullable' => True),
|
||||
'datetime' => array('type' => 'int','precision' => '8','nullable' => True),
|
||||
'mdatetime' => 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'),
|
||||
'cal_type' => array('type' => 'varchar','precision' => '10','nullable' => True),
|
||||
'is_public' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '1'),
|
||||
'title' => array('type' => 'varchar','precision' => '80','nullable' => False,'default' => '1'),
|
||||
'description' => array('type' => 'text','nullable' => True),
|
||||
'location' => array('type' => 'varchar', 'precision' => 255,'nullable' => True),
|
||||
'reference' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => 0)
|
||||
'location' => array('type' => 'varchar','precision' => '255','nullable' => True),
|
||||
'reference' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0')
|
||||
),
|
||||
'pk' => array('cal_id'),
|
||||
'fk' => array(),
|
||||
@ -38,13 +38,13 @@
|
||||
'phpgw_cal_holidays' => array(
|
||||
'fd' => array(
|
||||
'hol_id' => array('type' => 'auto','nullable' => False),
|
||||
'locale' => array('type' => 'char', 'precision' => 2, 'nullable' => False),
|
||||
'name' => array('type' => 'varchar', 'precision' => 50, 'nullable' => False),
|
||||
'mday' => 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),
|
||||
'dow' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => 0),
|
||||
'observance_rule' => array('type' => 'int', 'precision' => 8, 'nullable' => False, 'default' => 0)
|
||||
'locale' => array('type' => 'char','precision' => '2','nullable' => False),
|
||||
'name' => array('type' => 'varchar','precision' => '50','nullable' => False),
|
||||
'mday' => 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'),
|
||||
'dow' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0'),
|
||||
'observance_rule' => array('type' => 'int','precision' => '8','nullable' => False,'default' => '0')
|
||||
),
|
||||
'pk' => array('hol_id'),
|
||||
'fk' => array(),
|
||||
@ -53,13 +53,13 @@
|
||||
),
|
||||
'phpgw_cal_repeats' => array(
|
||||
'fd' => array(
|
||||
'cal_id' => 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_enddate' => array('type' => 'int', 'precision' => 8, 'nullable' => True),
|
||||
'recur_interval' => 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' => '')
|
||||
'cal_id' => 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_enddate' => array('type' => 'int','precision' => '8','nullable' => True),
|
||||
'recur_interval' => 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' => '')
|
||||
),
|
||||
'pk' => array(),
|
||||
'fk' => array(),
|
||||
@ -68,25 +68,23 @@
|
||||
),
|
||||
'phpgw_cal_user' => array(
|
||||
'fd' => array(
|
||||
'cal_id' => 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_id' => 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_type' => array('type' => 'varchar','precision' => '1','nullable' => False,'default' => '')
|
||||
),
|
||||
'pk' => array('cal_id','cal_login'),
|
||||
'fk' => array(),
|
||||
'ix' => array(),
|
||||
'uc' => array()
|
||||
),
|
||||
'phpgw_cal_alarm' => array(
|
||||
'phpgw_cal_extra' => array(
|
||||
'fd' => array(
|
||||
'alarm_id' => array('type' => 'auto','nullable' => False),
|
||||
'cal_id' => array('type' => 'int', 'precision' => 8, 'nullable' => False),
|
||||
'cal_owner' => array('type' => 'int', 'precision' => 8, 'nullable' => False),
|
||||
'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')
|
||||
'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('alarm_id'),
|
||||
'pk' => array('cal_id','cal_extra_name'),
|
||||
'fk' => array(),
|
||||
'ix' => array(),
|
||||
'uc' => array()
|
||||
|
@ -827,6 +827,12 @@
|
||||
$GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.001';
|
||||
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';
|
||||
function calendar_upgrade0_9_13_001()
|
||||
{
|
||||
@ -907,4 +913,33 @@
|
||||
$GLOBALS['setup_info']['calendar']['currentver'] = '0.9.13.007';
|
||||
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'];
|
||||
}
|
||||
?>
|
||||
|
@ -1,33 +1,48 @@
|
||||
<!-- $Id$ -->
|
||||
<!-- BEGIN alarm_management -->
|
||||
<form action="{action_url}" method="post" name="alarmform">
|
||||
{hidden_vars}
|
||||
<center>
|
||||
<table border="0" width="90%">
|
||||
{row}
|
||||
{rows}
|
||||
</table>
|
||||
</center>
|
||||
<p>
|
||||
<center>
|
||||
<b>{input_text}</b><p>
|
||||
{input_days} {input_hours} {input_minutes} {input_owner}
|
||||
<p>
|
||||
{input_add}
|
||||
</center>
|
||||
</form>
|
||||
<!-- END alarm_management -->
|
||||
<!-- BEGIN alarm_headers -->
|
||||
<tr class="th">
|
||||
<th valign="top" align="left" width="4%"> </b></th>
|
||||
<th valign="top" align="left" width="30%"> <b>{time_lang}</b></th>
|
||||
<th valign="top" align="left" width="54%"> {text_lang}</th>
|
||||
<th valign="top" align="center" width="6%"><img src="{enabled_pict}" width="13" height="13" alt="enabled"></th>
|
||||
<th valign="top" align="center" width="6%"><img src="{disabled_pict}" width="13" height="13" alt="disabled"></th>
|
||||
<tr bgcolor="{tr_color}">
|
||||
<th align="left" width="25%">{lang_time}</th>
|
||||
<th align="left" width="30%">{lang_text}</th>
|
||||
<th align="left" width="25%">{lang_owner}</th>
|
||||
<th width="10%">{lang_enabled}</th>
|
||||
<th width="10%">{lang_select}</th>
|
||||
</tr>
|
||||
<!-- END alarm_headers -->
|
||||
<!-- BEGIN list -->
|
||||
<tr class="{tr_color}">
|
||||
<td valign="top" align="left" width="4%">{edit_box}</td>
|
||||
<td valign="top" align="left" width="30%"><b>{field}:</b></td>
|
||||
<td valign="top" align="left" width="54%">{data}</td>
|
||||
<td valign="top" align="left" width="6%">{alarm_enabled}</td>
|
||||
<td valign="top" align="left" width="6%">{alarm_disabled}</td>
|
||||
<tr bgcolor="{tr_color}">
|
||||
<td><b>{field}:</b></td>
|
||||
<td>{data}</td>
|
||||
<td>{owner}</td>
|
||||
<td align="center">{enabled}</td>
|
||||
<td align="center">{select}</td>
|
||||
</tr>
|
||||
<!-- END list -->
|
||||
<!-- BEGIN hr -->
|
||||
<tr class="th">
|
||||
<tr bgcolor="{th_bg}">
|
||||
<td colspan="5" align="center"><b>{hr_text}</b></td>
|
||||
</tr>
|
||||
<!-- END hr -->
|
||||
<!-- BEGIN buttons -->
|
||||
<tr>
|
||||
<td colspan="6" align="right">
|
||||
{enable_button} {disable_button} {delete_button}
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END buttons -->
|
||||
|
@ -1,20 +1,20 @@
|
||||
<!-- BEGIN header -->
|
||||
<form method="POST" action="{action_url}">
|
||||
<table border="0" align="center">
|
||||
<tr class="th">
|
||||
<tr bgcolor="{th_bg}">
|
||||
<td colspan="2"><font color="{th_text}"> <b>{title}</b></font></td>
|
||||
</tr>
|
||||
<!-- END header -->
|
||||
|
||||
<!-- BEGIN body -->
|
||||
<tr class="row_on">
|
||||
<tr bgcolor="{row_on}">
|
||||
<td colspan="2"> </td>
|
||||
</tr>
|
||||
|
||||
<tr class="row_off">
|
||||
<tr bgcolor="{row_off}">
|
||||
<td colspan="2"><b>{lang_Calendar_settings}</b></td>
|
||||
</tr>
|
||||
<tr class="row_on">
|
||||
<tr bgcolor="{row_on}">
|
||||
<td>{lang_Do_you_wish_to_autoload_calendar_holidays_files_dynamically?}</td>
|
||||
<td>
|
||||
<select name="newsettings[auto_load_holidays]">
|
||||
@ -23,7 +23,7 @@
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row_off">
|
||||
<tr bgcolor="{row_off}">
|
||||
<td>{lang_Location_to_autoload_from}:</td>
|
||||
<td>
|
||||
<select name="newsettings[holidays_url_path]">
|
||||
@ -35,7 +35,7 @@
|
||||
<!-- END body -->
|
||||
|
||||
<!-- BEGIN footer -->
|
||||
<tr class="th">
|
||||
<tr bgcolor="{th_bg}">
|
||||
<td colspan="2">
|
||||
|
||||
</td>
|
||||
|
46
calendar/templates/default/custom_fields.tpl
Normal 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> </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} {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 -->
|
@ -14,7 +14,7 @@
|
||||
</td>
|
||||
</tr>
|
||||
</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}
|
||||
</table>
|
||||
</td>
|
||||
|
@ -9,15 +9,15 @@
|
||||
</tr>
|
||||
<!-- END day_row -->
|
||||
<!-- BEGIN day_event_on -->
|
||||
<td class="row_on"{extras}>{event}</td>
|
||||
<td class="event-on"{extras}>{event}</td>
|
||||
<!-- END day_event_on -->
|
||||
<!-- BEGIN day_event_off -->
|
||||
<td class="row_off"{extras}>{event}</td>
|
||||
<td class="event-off"{extras}>{event}</td>
|
||||
<!-- END day_event_off -->
|
||||
<!-- BEGIN day_event_holiday -->
|
||||
<td class="cal_holiday"{extras}>{event}</td>
|
||||
<td class="event-holiday"{extras}>{event}</td>
|
||||
<!-- END day_event_holiday -->
|
||||
<!-- 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 -->
|
||||
|
||||
|
@ -1,9 +1,16 @@
|
||||
<!-- $Id$ -->
|
||||
<!-- 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>
|
||||
<font color="#000000" face="{font}">
|
||||
|
||||
<form action="{action_url}" method="post" name="addform">
|
||||
<form action="{action_url}" method="post" name="app_form">
|
||||
{common_hidden}
|
||||
<table border="0" width="90%">
|
||||
<tr>
|
||||
@ -14,7 +21,7 @@
|
||||
{row}
|
||||
<tr>
|
||||
<td>
|
||||
<table><tr valign="top">
|
||||
<table><tr>
|
||||
<td><input type="submit" value="{submit_button}"> </form></td>
|
||||
<td>{cancel_button}</td>
|
||||
</tr></table>
|
||||
@ -26,13 +33,13 @@
|
||||
</center>
|
||||
<!-- END edit_entry -->
|
||||
<!-- BEGIN list -->
|
||||
<tr class="{tr_color}">
|
||||
<tr bgcolor="{tr_color}">
|
||||
<td valign="top" width="35%"> <b>{field}:</b></td>
|
||||
<td valign="top" width="65%">{data}</td>
|
||||
</tr>
|
||||
<!-- END list -->
|
||||
<!-- BEGIN hr -->
|
||||
<tr class="{tr_color}">
|
||||
<tr bgcolor="{tr_color}">
|
||||
<td colspan="2">
|
||||
{hr_text}
|
||||
</td>
|
||||
|
@ -22,7 +22,7 @@
|
||||
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];
|
||||
|
||||
$templates = Array(
|
||||
@ -30,7 +30,6 @@
|
||||
'form_button_dropdown' => 'form_button_dropdown.tpl',
|
||||
'form_button_script' => 'form_button_script.tpl'
|
||||
);
|
||||
$tpl = &$GLOBALS['phpgw']->template;
|
||||
$tpl->set_file($templates);
|
||||
$tpl->set_block('head_tpl','head','head');
|
||||
$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"':'').'> </td>');
|
||||
|
||||
$tpl->parse('phpgw_body','head_table',True);
|
||||
$tpl->parse('row','head_table',True);
|
||||
|
||||
$tpl->set_var('header_column','');
|
||||
$tpl->set_var('cols',$cols);
|
||||
@ -78,38 +77,37 @@
|
||||
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++)
|
||||
$date = (isset($GLOBALS['date'])?$GLOBALS['date']:'');
|
||||
$date = (isset($GLOBALS['HTTP_GET_VARS']['date'])?$GLOBALS['HTTP_GET_VARS']['date']:$date);
|
||||
$date = ($date=='' && isset($GLOBALS['HTTP_POST_VARS']['date'])?$GLOBALS['HTTP_POST_VARS']['date']:$date);
|
||||
|
||||
$base_hidden_vars = '<input type="hidden" name="from" value="'.$GLOBALS['HTTP_GET_VARS']['menuaction'].'">'."\n";
|
||||
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="'.$var_list[$i].'" value="'.$$var_list[$i].'">'."\n";
|
||||
}
|
||||
$base_hidden_vars .= ' <input type="hidden" name="cal_id" value="'.$GLOBALS['HTTP_GET_VARS']['cal_id'].'">'."\n";
|
||||
}
|
||||
$hidden_vars = '';
|
||||
if($participants)
|
||||
if(isset($GLOBALS['HTTP_POST_VARS']['keywords']) && $GLOBALS['HTTP_POST_VARS']['keywords'])
|
||||
{
|
||||
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_name' => 'cat_id',
|
||||
'title' => lang('Category'),
|
||||
'hidden_vars' => $base_hidden_vars.$hidden_vars,
|
||||
'form_options' => '<option value="0">All</option>'.$this->cat->formatted_list('select','all',$this->bo->cat_id,'True'),
|
||||
'hidden_vars' => $base_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')
|
||||
if($GLOBALS['HTTP_GET_VARS']['menuaction'] == 'calendar.uicalendar.planner')
|
||||
{
|
||||
$remainder -= 28;
|
||||
print_debug('Sort By',$this->bo->sortby);
|
||||
@ -151,14 +149,6 @@
|
||||
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";
|
||||
|
||||
@ -167,7 +157,7 @@
|
||||
'form_link' => $this->page($referrer),
|
||||
'form_name' => 'filter',
|
||||
'title' => lang('Filter'),
|
||||
'hidden_vars' => $base_hidden_vars.$hidden_vars,
|
||||
'hidden_vars' => $base_hidden_vars,
|
||||
'form_options' => $form_options,
|
||||
'button_value' => lang('Go!')
|
||||
);
|
||||
@ -179,45 +169,11 @@
|
||||
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))
|
||||
$drop_down = $this->bo->list_cals();
|
||||
foreach($drop_down as $key => $grant)
|
||||
{
|
||||
$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,
|
||||
@ -234,11 +190,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
$hidden_vars = ' <input type="hidden" name="from" value="'.MENUACTION.'">'."\n";
|
||||
$date = get_var('date',Array('GET'));
|
||||
if($date)
|
||||
$hidden_vars = ' <input type="hidden" name="from" value="'.$GLOBALS['HTTP_GET_VARS']['menuaction'].'">'."\n";
|
||||
if(isset($GLOBALS['HTTP_GET_VARS']['date']) && $GLOBALS['HTTP_GET_VARS']['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="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 name="keywords"'.($keywords?' value="'.$keywords.'"':'').'>';
|
||||
$hidden_vars .= ' <input name="keywords"'.($GLOBALS['HTTP_POST_VARS']['keywords']?' value="'.$GLOBALS['HTTP_POST_VARS']['keywords'].'"':'').'>';
|
||||
|
||||
$var = Array(
|
||||
'action_url_button' => $this->page('search'),
|
||||
@ -267,5 +222,5 @@
|
||||
$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('phpgw_body','head_table',True);
|
||||
$tpl->parse('row','head_table',True);
|
||||
?>
|
||||
|
@ -9,7 +9,7 @@
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<table width="100%" border="0" cellspacing="5">
|
||||
<tr valign="top">
|
||||
<tr>
|
||||
<td>
|
||||
<input type="submit" name="submit" value="{lang_add}"></form>
|
||||
</td>
|
||||
@ -27,7 +27,7 @@
|
||||
</center>
|
||||
<!-- END form -->
|
||||
<!-- BEGIN list -->
|
||||
<tr class="{tr_color}">
|
||||
<tr bgcolor="{tr_color}">
|
||||
<td valign="top" width="35%"><b>{field}:</b></td>
|
||||
<td valign="top" width="65%">{data}</td>
|
||||
</tr>
|
||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 225 B After Width: | Height: | Size: 175 B |
@ -9,8 +9,8 @@
|
||||
</table>
|
||||
|
||||
<table border="0" width="70%" align="center">
|
||||
<tr class="th">
|
||||
<td>{sort_name}</td>
|
||||
<tr bgcolor="{th_bg}">
|
||||
<td> {sort_name}</td>
|
||||
{header_rule}
|
||||
<td>{header_edit}</td>
|
||||
<td>{header_delete}</td>
|
||||
@ -38,7 +38,7 @@
|
||||
</table>
|
||||
<!-- END list -->
|
||||
<!-- BEGIN row -->
|
||||
<tr class="{tr_color}">
|
||||
<tr bgcolor="{tr_color}">
|
||||
<td> {group_name}</td>
|
||||
{rule}
|
||||
<td width="5%">{edit_link}</td>
|
||||
|
@ -1,15 +1,15 @@
|
||||
<!-- $Id$ -->
|
||||
<!-- BEGIN matrix_query -->
|
||||
<center>
|
||||
<form target="viewmatrix" action="{action_url}" method="post" name="matrixform">
|
||||
<form action="{action_url}" method="post" name="matrixform">
|
||||
<table border="0" width="90%">
|
||||
<tr class="th">
|
||||
<tr bgcolor="{th_bg}">
|
||||
<td colspan="2" align="center"><b>{title}</b></td>
|
||||
</tr>
|
||||
{rows}
|
||||
<tr>
|
||||
<td>
|
||||
<table cellspacing="5"><tr valign="top">
|
||||
<table cellspacing="5"><tr>
|
||||
<td><input type="submit" value="{submit_button}"></form></td>
|
||||
<td>{cancel_button}</td>
|
||||
</tr></table>
|
||||
@ -19,7 +19,7 @@
|
||||
</center>
|
||||
<!-- END matrix_query -->
|
||||
<!-- BEGIN list -->
|
||||
<tr class="{tr_color}">
|
||||
<tr bgcolor="{tr_color}">
|
||||
<td valign="top" width="35%"><b> {field}:</b></td>
|
||||
<td valign="top" width="65%">{data}</td>
|
||||
</tr>
|
||||
|
@ -4,7 +4,7 @@
|
||||
{column_header}</tr>
|
||||
<!-- END monthly_header -->
|
||||
<!-- 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 -->
|
||||
<!-- BEGIN month_column -->
|
||||
<td valign="top" height="75" colspan="1" width="{col_width}%"{extra}>
|
||||
|
@ -1,3 +1,4 @@
|
||||
<!-- BEGIN pref -->
|
||||
<p><b>{title}:</b><hr><p>
|
||||
<form action="{action_url}" method="POST">
|
||||
<table border="0" align="center" width="90%">
|
||||
@ -5,3 +6,17 @@
|
||||
</table>
|
||||
<center><input type="submit" name="submit" value="{submit_lang}"></center>
|
||||
</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 -->
|
||||
|
@ -1,4 +0,0 @@
|
||||
<tr class="{bg_color}">
|
||||
<td colspan="2">{text}</td>
|
||||
</tr>
|
||||
|
@ -1,5 +0,0 @@
|
||||
<tr class="{bg_color}">
|
||||
<td align="right">{field}</td>
|
||||
<td align="center">{data}</td>
|
||||
</tr>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<!-- $Id$ -->
|
||||
<tr class="{row_color}">
|
||||
<tr bgcolor="{row_color}">
|
||||
<td>{user}</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>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<tr class="th">
|
||||
<tr bgcolor="{bg_color}">
|
||||
<td>{string}</td>
|
||||
<td align="center">{read_lang}</td>
|
||||
<td align="center">{add_lang}</td>
|
||||
<td align="center">{edit_lang}</td>
|
||||
<td align="center">{delete_lang}</td>
|
||||
<td align="center">{private_lang}</td>
|
||||
<td align="center">{lang_read}</td>
|
||||
<td align="center">{lang_add}</td>
|
||||
<td align="center">{lang_edit}</td>
|
||||
<td align="center">{lang_delete}</td>
|
||||
<td align="center">{lang_private}</td>
|
||||
</tr>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!-- $Id$ -->
|
||||
<!-- BEGIN search -->
|
||||
<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}
|
||||
</table>
|
||||
<!-- END search -->
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
<!-- END search_list_header -->
|
||||
<!-- BEGIN search_list -->
|
||||
<tr class="{tr_color}">
|
||||
<tr bgcolor="{tr_color}">
|
||||
<td width="20%"> {date}</td>
|
||||
<td>{link}</td>
|
||||
</tr>
|
||||
|
@ -12,14 +12,14 @@
|
||||
</center>
|
||||
<!-- END view_event -->
|
||||
<!-- BEGIN list -->
|
||||
<tr class="{tr_color}">
|
||||
<tr bgcolor="{tr_color}">
|
||||
<td valign="top" width="30%"> <b>{field}:</b></td>
|
||||
<td colspan="2" valign="top" width="70%">{data}</td>
|
||||
</tr>
|
||||
<!-- END list -->
|
||||
<!-- BEGIN hr -->
|
||||
<tr>
|
||||
<td colspan="3" class="th" align="center">
|
||||
<td colspan="3" bgcolor="{th_bg}" align="center">
|
||||
<b>{hr_text}</b>
|
||||
</td>
|
||||
</tr>
|
||||
|
38
calendar/templates/idots/day.tpl
Executable 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 -->
|
||||
|
BIN
calendar/templates/idots/images/month.png
Normal file
After Width: | Height: | Size: 433 B |
BIN
calendar/templates/idots/images/navbar.png
Executable file
After Width: | Height: | Size: 2.8 KiB |
BIN
calendar/templates/idots/images/planner.png
Normal file
After Width: | Height: | Size: 703 B |
BIN
calendar/templates/idots/images/today.png
Normal file
After Width: | Height: | Size: 769 B |
BIN
calendar/templates/idots/images/view.png
Normal file
After Width: | Height: | Size: 636 B |
BIN
calendar/templates/idots/images/week.png
Normal file
After Width: | Height: | Size: 695 B |
BIN
calendar/templates/idots/images/year.png
Normal file
After Width: | Height: | Size: 466 B |
@ -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%"> </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"':'').'> </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);
|
||||
?>
|
@ -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%"> </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"':'').'> </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);
|
||||
?>
|
@ -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%"> </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"':'').'> </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
@ -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
@ -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
@ -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
@ -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
|
@ -28,76 +28,65 @@
|
||||
|
||||
|
||||
// Modules you want to checkout, do NOT add the phpgroupware module
|
||||
$co_modules[] = array
|
||||
(
|
||||
'addbook',
|
||||
'addressbook',
|
||||
'admin',
|
||||
'backup',
|
||||
'bookkeeping',
|
||||
'bookmarks',
|
||||
'brewer',
|
||||
'calendar',
|
||||
'cart',
|
||||
'ccs',
|
||||
'cdb',
|
||||
'chat',
|
||||
'chora',
|
||||
'comic',
|
||||
'cron',
|
||||
'developer_tools',
|
||||
'dj',
|
||||
'eldaptir',
|
||||
'email',
|
||||
'etemplate',
|
||||
'felamimail'
|
||||
'filemanager',
|
||||
'forum';
|
||||
'ftp',
|
||||
'headlines',
|
||||
'hr',
|
||||
'img',
|
||||
'infolog',
|
||||
'inv',
|
||||
'manual',
|
||||
'mediadb',
|
||||
'meerkat',
|
||||
'messenger',
|
||||
'napster',
|
||||
'netsaint',
|
||||
'news_admin',
|
||||
'nntp',
|
||||
'notes',
|
||||
'packages',
|
||||
'phonelog',
|
||||
'phpGWShell_Win32_VB',
|
||||
'phpgwapi',
|
||||
'phpgwnetsaint',
|
||||
'phpsysinfo',
|
||||
'polls',
|
||||
'preferences',
|
||||
'projects',
|
||||
'property'
|
||||
'qmailldap',
|
||||
'rbs',
|
||||
'registration',
|
||||
'setup',
|
||||
'sitemgr'
|
||||
'skel',
|
||||
'soap',
|
||||
'squirrelmail',
|
||||
'stocks',
|
||||
'syncml-server',
|
||||
'timetrack',
|
||||
'todo',
|
||||
'transy',
|
||||
'tts',
|
||||
'vmailmgr',
|
||||
'wap',
|
||||
'wcm',
|
||||
'weather',
|
||||
'xmlrpc'
|
||||
);
|
||||
$co_modules[] = 'addressbook';
|
||||
$co_modules[] = 'admin';
|
||||
$co_modules[] = 'backup';
|
||||
$co_modules[] = 'bookkeeping';
|
||||
$co_modules[] = 'bookmarks';
|
||||
$co_modules[] = 'brewer';
|
||||
$co_modules[] = 'calendar';
|
||||
$co_modules[] = 'cart';
|
||||
$co_modules[] = 'ccs';
|
||||
$co_modules[] = 'cdb';
|
||||
$co_modules[] = 'chat';
|
||||
$co_modules[] = 'chora';
|
||||
$co_modules[] = 'comic';
|
||||
$co_modules[] = 'cron';
|
||||
$co_modules[] = 'developer_tools';
|
||||
$co_modules[] = 'dj';
|
||||
$co_modules[] = 'eldaptir';
|
||||
$co_modules[] = 'email';
|
||||
$co_modules[] = 'filemanager';
|
||||
$co_modules[] = 'forum';
|
||||
$co_modules[] = 'ftp';
|
||||
$co_modules[] = 'headlines';
|
||||
$co_modules[] = 'hr';
|
||||
$co_modules[] = 'infolog';
|
||||
$co_modules[] = 'inv';
|
||||
$co_modules[] = 'manual';
|
||||
$co_modules[] = 'mediadb';
|
||||
$co_modules[] = 'meerkat';
|
||||
$co_modules[] = 'messenger';
|
||||
$co_modules[] = 'napster';
|
||||
$co_modules[] = 'netsaint';
|
||||
$co_modules[] = 'news_admin';
|
||||
$co_modules[] = 'nntp';
|
||||
$co_modules[] = 'notes';
|
||||
$co_modules[] = 'phonelog';
|
||||
$co_modules[] = 'phpGWShell_Win32_VB';
|
||||
$co_modules[] = 'phpgwapi';
|
||||
$co_modules[] = 'phpgwnetsaint';
|
||||
$co_modules[] = 'phpsysinfo';
|
||||
$co_modules[] = 'phpwebhosting';
|
||||
$co_modules[] = 'polls';
|
||||
$co_modules[] = 'preferences';
|
||||
$co_modules[] = 'projects';
|
||||
$co_modules[] = 'qmailldap';
|
||||
$co_modules[] = 'rbs';
|
||||
$co_modules[] = 'setup';
|
||||
$co_modules[] = 'skel';
|
||||
$co_modules[] = 'soap';
|
||||
$co_modules[] = 'squirrelmail';
|
||||
$co_modules[] = 'stocks';
|
||||
$co_modules[] = 'syncml-server';
|
||||
$co_modules[] = 'timetrack';
|
||||
$co_modules[] = 'todo';
|
||||
$co_modules[] = 'transy';
|
||||
$co_modules[] = 'tts';
|
||||
$co_modules[] = 'wap';
|
||||
$co_modules[] = 'wcm';
|
||||
$co_modules[] = 'weather';
|
||||
$co_modules[] = 'xmlrpc';
|
||||
|
||||
// -- End config section
|
||||
|
||||
|
@ -65,6 +65,7 @@
|
||||
'phpgwapi',
|
||||
'phpgwnetsaint',
|
||||
'phpsysinfo',
|
||||
'phpwebhosting',
|
||||
'polls',
|
||||
'preferences',
|
||||
'projects',
|
||||
|