-# @file Makefile\r
-# Makefile for installing, creating documentation etc.\r
-# @author: Roland Hieber (roland.hieber@wilhelm-gym.net)\r
-# @date: 12.11.2007\r
-# \r
-# Copyright © 2007 Roland Hieber\r
-# \r
-# Permission is hereby granted, free of charge, to any person obtaining\r
-# copy of this software and associated documentation files (the "Software"),\r
-# to deal in the Software without restriction, including without limitation\r
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
-# and/or sell copies of the Software, and to permit persons to whom the\r
-# Software is furnished to do so, subject to the following conditions:\r
-# \r
-# The above copyright notice and this permission notice shall be included in\r
-# all copies or substantial portions of the Software.\r
-# \r
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
-# THE SOFTWARE.\r
-#\r
-\r
-DESTDIR?=\r
-LN=ln -f\r
-RM=rm -rf\r
-MKDIR=mkdir -p\r
-\r
-# hardlink the files to their destinations\r
-links: sourcedoc\r
- # documentation\r
- $(MKDIR) $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation/source/\r
- if [ ! -d $(DESTDIR)/usr/share/doc/iserv/mod/ ]; then $(MKDIR) $(DESTDIR)/usr/share/doc/iserv/mod/; fi\r
- $(LN) doc/{TODO,changelog.old.html} $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation/\r
- $(LN) doc/source/* $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation/source/\r
- $(RM) $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation\r
- $(LN) -s ../../iserv-mod-room-reservation $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation\r
- \r
- # images\r
- if [ ! -d $(DESTDIR)/usr/share/iserv/www/img/default/16/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/img/default/16/; fi\r
- $(LN) img/16/*.png $(DESTDIR)/usr/share/iserv/www/img/default/16/\r
- if [ ! -d $(DESTDIR)/usr/share/iserv/www/img/default/24/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/img/default/24/; fi\r
- $(LN) img/24/*.png $(DESTDIR)/usr/share/iserv/www/img/default/24/\r
- if [ ! -d $(DESTDIR)/usr/share/iserv/www/img/default/32/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/img/default/32/; fi\r
- $(LN) img/32/*.png $(DESTDIR)/usr/share/iserv/www/img/default/32/\r
- \r
- # includes\r
- $(MKDIR) $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation\r
- $(LN) inc/*.inc $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/\r
- if [ ! -e $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc ] ; then touch $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc; fi\r
-ifeq ($(USER),root)\r
- chmod u+rw $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc\r
- chown www-data $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc\r
-endif\r
- \r
- # i18n\r
- if [ ! -d $(DESTDIR)/usr/share/iserv/locale/de/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/locale/de/; fi\r
- $(LN) lang/*.po $(DESTDIR)/usr/share/iserv/locale/de/\r
- \r
- # navigation\r
- if [ ! -d $(DESTDIR)/usr/share/iserv/www/nav/admin ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/nav/admin; fi\r
- $(LN) nav/*.mod $(DESTDIR)/usr/share/iserv/www/nav/\r
- $(LN) nav/admin/*.mod $(DESTDIR)/usr/share/iserv/www/nav/admin/\r
- \r
- # privileges\r
- if [ ! -d $(DESTDIR)/usr/share/iserv/priv/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/priv/; fi\r
- $(LN) priv/* $(DESTDIR)/usr/share/iserv/priv/\r
- \r
- # SQL tables\r
- if [ ! -d $(DESTDIR)/usr/share/iserv/db/log_module ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/db/log_module; fi\r
- $(LN) sql/*.sql $(DESTDIR)/usr/share/iserv/db/\r
- $(LN) sql/log_module/* $(DESTDIR)/usr/share/iserv/db/log_module\r
- \r
- # web pages\r
- $(MKDIR) $(DESTDIR)/usr/share/iserv/www/mod_room-reservation\r
- $(LN) src/{config,index}.php $(DESTDIR)/usr/share/iserv/www/mod_room-reservation/\r
- \r
- # additional files\r
- $(MKDIR) $(DESTDIR)/usr/share/iserv/modules/room-reservation\r
- $(LN) maint/update-iserv1-iserv2.pl $(DESTDIR)/usr/share/iserv/modules/room-reservation\r
- chmod +x $(DESTDIR)/usr/share/iserv/modules/room-reservation/update-iserv1-iserv2.pl\r
-\r
-# build doxygen documentation from source\r
-sourcedoc:\r
- doxygen\r
- mv doc/source/html/* doc/source/ && rm -rf doc/source/html\r
-\r
-# install everything\r
-install: links\r
-ifeq ($(USER),root)\r
- chkdb -r\r
- chkpriv\r
- chklocale\r
-endif\r
-\r
-# uninstalling\r
-uninstall:\r
- $(RM) $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation\r
- $(RM) $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation\r
- $(RM) $(DESTDIR)/usr/share/iserv/locale/de/mod_room-reservation.po\r
- $(RM) $(DESTDIR)/usr/share/iserv/db/mod_room-reservation.sql\r
- $(RM) $(DESTDIR)/usr/share/iserv/db/log_module/mod_room-reservation\r
- $(RM) $(DESTDIR)/usr/share/iserv/www/nav/79mod_room-reservation.mod\r
- $(RM) $(DESTDIR)/usr/share/iserv/priv/mod_room-reservation\r
- $(RM) $(DESTDIR)/usr/share/iserv/www/nav/admin/99mod_room-reservation.mod\r
- $(RM) $(DESTDIR)/usr/share/iserv/www/img/default/{16,24,32}/mod_room-reservation_{timeslice,index,config}.png\r
- $(RM) $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation\r
- $(RM) $(DESTDIR)/usr/share/iserv/www/mod_room-reservation\r
- $(RM) $(DESTDIR)/usr/share/iserv/modules/room-reservation\r
- \r
- psql -c "DELETE FROM log_module WHERE module='Room Reservation Schedule';"\r
- chklocale\r
- \r
- @echo\r
- @echo If you do not need the SQL tables anymore, remove them by running\r
- @echo ' psql -c "DROP TABLE mod_roomreservation_bookings;"'\r
- @echo After that, all bookings are unrecoverably deleted!\r
- @echo\r
-\r
-# clean up\r
-clean: distclean\r
-\r
-distclean:\r
- $(RM) doc/source\r
-\r
-.PHONY: clean distclean install\r
+# @file Makefile
+# Makefile for installing, creating documentation etc.
+# @author: Roland Hieber (roland.hieber@wilhelm-gym.net)
+# @date: 12.11.2007
+#
+# Copyright © 2007 Roland Hieber
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+
+DESTDIR?=
+LN=ln -f
+RM=rm -rf
+MKDIR=mkdir -p
+
+# hardlink the files to their destinations
+links: sourcedoc
+ # documentation
+ $(MKDIR) $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation/source/
+ if [ ! -d $(DESTDIR)/usr/share/doc/iserv/mod/ ]; then $(MKDIR) $(DESTDIR)/usr/share/doc/iserv/mod/; fi
+ $(LN) doc/{TODO,changelog.old.html} $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation/
+ $(LN) doc/source/* $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation/source/
+ $(RM) $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation
+ $(LN) -s ../../iserv-mod-room-reservation $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation
+
+ # images
+ if [ ! -d $(DESTDIR)/usr/share/iserv/www/img/default/16/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/img/default/16/; fi
+ $(LN) img/16/*.png $(DESTDIR)/usr/share/iserv/www/img/default/16/
+ if [ ! -d $(DESTDIR)/usr/share/iserv/www/img/default/24/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/img/default/24/; fi
+ $(LN) img/24/*.png $(DESTDIR)/usr/share/iserv/www/img/default/24/
+ if [ ! -d $(DESTDIR)/usr/share/iserv/www/img/default/32/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/img/default/32/; fi
+ $(LN) img/32/*.png $(DESTDIR)/usr/share/iserv/www/img/default/32/
+
+ # includes
+ $(MKDIR) $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation
+ $(LN) inc/*.inc $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/
+ if [ ! -e $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc ] ; then touch $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc; fi
+ifeq ($(USER),root)
+ chmod u+rw $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc
+ chown www-data $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation/config.inc
+endif
+
+ # i18n
+ if [ ! -d $(DESTDIR)/usr/share/iserv/locale/de/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/locale/de/; fi
+ $(LN) lang/*.po $(DESTDIR)/usr/share/iserv/locale/de/
+
+ # navigation
+ if [ ! -d $(DESTDIR)/usr/share/iserv/www/nav/admin ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/www/nav/admin; fi
+ $(LN) nav/*.mod $(DESTDIR)/usr/share/iserv/www/nav/
+ $(LN) nav/admin/*.mod $(DESTDIR)/usr/share/iserv/www/nav/admin/
+
+ # privileges
+ if [ ! -d $(DESTDIR)/usr/share/iserv/priv/ ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/priv/; fi
+ $(LN) priv/* $(DESTDIR)/usr/share/iserv/priv/
+
+ # SQL tables
+ if [ ! -d $(DESTDIR)/usr/share/iserv/db/log_module ]; then $(MKDIR) $(DESTDIR)/usr/share/iserv/db/log_module; fi
+ $(LN) sql/*.sql $(DESTDIR)/usr/share/iserv/db/
+ $(LN) sql/log_module/* $(DESTDIR)/usr/share/iserv/db/log_module
+
+ # web pages
+ $(MKDIR) $(DESTDIR)/usr/share/iserv/www/mod_room-reservation
+ $(LN) src/{config,index}.php $(DESTDIR)/usr/share/iserv/www/mod_room-reservation/
+
+ # additional files
+ $(MKDIR) $(DESTDIR)/usr/share/iserv/modules/room-reservation
+ $(LN) maint/update-iserv1-iserv2.pl $(DESTDIR)/usr/share/iserv/modules/room-reservation
+ chmod +x $(DESTDIR)/usr/share/iserv/modules/room-reservation/update-iserv1-iserv2.pl
+
+# build doxygen documentation from source
+sourcedoc:
+ doxygen
+ mv doc/source/html/* doc/source/ && rm -rf doc/source/html
+
+# install everything
+install: links
+ifeq ($(USER),root)
+ chkdb -r
+ chkpriv
+ chklocale
+endif
+
+# uninstalling
+uninstall:
+ $(RM) $(DESTDIR)/usr/share/doc/iserv/mod/room-reservation
+ $(RM) $(DESTDIR)/usr/share/doc/iserv-mod-room-reservation
+ $(RM) $(DESTDIR)/usr/share/iserv/locale/de/mod_room-reservation.po
+ $(RM) $(DESTDIR)/usr/share/iserv/db/mod_room-reservation.sql
+ $(RM) $(DESTDIR)/usr/share/iserv/db/log_module/mod_room-reservation
+ $(RM) $(DESTDIR)/usr/share/iserv/www/nav/79mod_room-reservation.mod
+ $(RM) $(DESTDIR)/usr/share/iserv/priv/mod_room-reservation
+ $(RM) $(DESTDIR)/usr/share/iserv/www/nav/admin/99mod_room-reservation.mod
+ $(RM) $(DESTDIR)/usr/share/iserv/www/img/default/{16,24,32}/mod_room-reservation_{timeslice,index,config}.png
+ $(RM) $(DESTDIR)/usr/share/iserv/www/inc/mod_room-reservation
+ $(RM) $(DESTDIR)/usr/share/iserv/www/mod_room-reservation
+ $(RM) $(DESTDIR)/usr/share/iserv/modules/room-reservation
+
+ psql -c "DELETE FROM log_module WHERE module='Room Reservation Schedule';"
+ chklocale
+
+ @echo
+ @echo If you do not need the SQL tables anymore, remove them by running
+ @echo ' psql -c "DROP TABLE mod_roomreservation_bookings;"'
+ @echo After that, all bookings are unrecoverably deleted!
+ @echo
+
+# clean up
+clean: distclean
+
+distclean:
+ $(RM) doc/source
+
+.PHONY: clean distclean install
-== License ==\r
-\r
-The module has been released under the terms of the MIT License, as printed \r
-following in its original version. Some images which have been used have been\r
-released under the terms of the GNU Lesser General Public License (see\r
-http://www.fsf.org/licensing/licenses/lgpl.html). These are in particular:\r
- * /usr/share/iserv/www/img/default/16/mod_room-reservation_config.png\r
- * /usr/share/iserv/www/img/default/16/mod_room-reservation_index.png\r
- * /usr/share/iserv/www/img/default/24/mod_room-reservation_timeslice.png\r
- * /usr/share/iserv/www/img/default/32/mod_room-reservation_config.png\r
- * /usr/share/iserv/www/img/default/32/mod_room-reservation_index.png\r
-\r
-If you enjoy this software, you are free to support his author with a small\r
-donation:\r
-\r
- Roland Hieber\r
- IBAN: DE98 250 500 000 150 2141 79\r
- BIC: NOLADE2HXXX (Braunschweigische Landessparkasse)\r
-\r
-You can also send material donations to\r
- Roland Hieber\r
- 21944471\r
- Packstation 103\r
- 38106 Braunschweig\r
- GERMANY\r
-\r
-\r
-=== License terms ===\r
-Copyright (c) 2007 Roland Hieber\r
-\r
-Permission is hereby granted, free of charge, to any person obtaining\r
-a copy of this software and associated documentation files (the "Software"),\r
-to deal in the Software without restriction, including without limitation\r
-the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
-and/or sell copies of the Software, and to permit persons to whom the\r
-Software is furnished to do so, subject to the following conditions:\r
-\r
-The above copyright notice and this permission notice shall be included in\r
-all copies or substantial portions of the Software.\r
-\r
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
-THE SOFTWARE.\r
+== License ==
+
+The module has been released under the terms of the MIT License, as printed
+following in its original version. Some images which have been used have been
+released under the terms of the GNU Lesser General Public License (see
+http://www.fsf.org/licensing/licenses/lgpl.html). These are in particular:
+ * /usr/share/iserv/www/img/default/16/mod_room-reservation_config.png
+ * /usr/share/iserv/www/img/default/16/mod_room-reservation_index.png
+ * /usr/share/iserv/www/img/default/24/mod_room-reservation_timeslice.png
+ * /usr/share/iserv/www/img/default/32/mod_room-reservation_config.png
+ * /usr/share/iserv/www/img/default/32/mod_room-reservation_index.png
+
+If you enjoy this software, you are free to support his author with a small
+donation:
+
+ Roland Hieber
+ IBAN: DE98 250 500 000 150 2141 79
+ BIC: NOLADE2HXXX (Braunschweigische Landessparkasse)
+
+You can also send material donations to
+ Roland Hieber
+ 21944471
+ Packstation 103
+ 38106 Braunschweig
+ GERMANY
+
+
+=== License terms ===
+Copyright (c) 2007 Roland Hieber
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
-== TO DO ==\r
-\r
-=== Bugs: ===\r
-- Wenn eine einmalige Buchung erstellt wird, kann an diesem Termin keine feste Buchung mehr erstellt werden.\r
- Feste Buchungen sind aber vorrangig!\r
- => am besten bei fester Buchung Abfrage, ob der Benutzer mit lockerer Buchung per Mail benachrichtigt werden soll\r
-\r
-=== Features ===\r
-- ordentliche Statistik?\r
-- bei sich wiederholenden Buchungen einzelne Buchungen ausblenden, für entfallene Lehrer\r
- => eigene SQL-Tabelle mit solchen buchungen\r
-\r
-== Erstmal unwichtig ==\r
-- Ferientermine mit einbauen => keine Buchungen dann möglich bzw. Warnung\r
- Vielleicht als ICS-Import oder gleich aus dem Kalender übernehmen?\r
+== TO DO ==
+
+=== Bugs: ===
+- Wenn eine einmalige Buchung erstellt wird, kann an diesem Termin keine feste Buchung mehr erstellt werden.
+ Feste Buchungen sind aber vorrangig!
+ => am besten bei fester Buchung Abfrage, ob der Benutzer mit lockerer Buchung per Mail benachrichtigt werden soll
+
+=== Features ===
+- ordentliche Statistik?
+- bei sich wiederholenden Buchungen einzelne Buchungen ausblenden, für entfallene Lehrer
+ => eigene SQL-Tabelle mit solchen buchungen
+
+== Erstmal unwichtig ==
+- Ferientermine mit einbauen => keine Buchungen dann möglich bzw. Warnung
+ Vielleicht als ICS-Import oder gleich aus dem Kalender übernehmen?
- Dokumentation der SQL-Tabelle und der Konfigurationsoptionen
\ No newline at end of file
-<html>\r
-<head>\r
- <title>IServ – Raumbelegungsplan – Changelog</title>\r
- <link rel='stylesheet' type='text/css' href='../../format.css'>\r
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">\r
-</head>\r
-\r
-<body>\r
+<html>
+<head>
+ <title>IServ – Raumbelegungsplan – Changelog</title>
+ <link rel='stylesheet' type='text/css' href='../../format.css'>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+</head>
+
+<body>
<h1>Changelog</h1>
<p>Änderungen für neuere Versionen befinden sich im <a href='/doc/iserv-mod-room-reservation/changelog.Debian.gz'>Debian-Changelog</a>.</p>
<h2>iserv-room-reservation-3.0</h2>
<li>Räume können auch „+” enthalten</li>
</ul></li>
</ul>
-\r
-<h2>iserv-rooms-2.3</h2>\r
-<i>Release: 2. Juni 2007</i>\r
-<ul>\r
-<li>Wiederkehrende und einmalige Buchungen werden farblich unterschieden</li>\r
-<li>Löschen von Buchungen möglich<ul>\r
- <li>Benutzer können selbst vorgenommene Buchungen löschen</li>\r
- <li>Raumbelegunsplan-Admins können alle Buchungen löschen</li>\r
- <li>Raumbelegunsplan-Admins können in der Konfiguration festgelegt werden</li>\r
-</ul></li>\r
-<li>Reparierte Fehler:<ul>\r
- <li><a href="http://wiki.mzbs.eu/w/index.php?title=Raumbelegungsplan/Probleme#Fehler_beim_L.C3.B6schen_eines_Benutzers">Fehler beim Löschen eines Benutzers</a></li>\r
- <li><a href="http://wiki.mzbs.eu/w/index.php?title=Raumbelegungsplan/Probleme#Nachtr.C3.A4gliches_.C3.84ndern_von_Buchungszeiten">Fehler nach frischer Installation</a></li>\r
-</ul></li>\r
-</ul> \r
-\r
-<h2>iserv-rooms-2.2</h2>\r
-<i>Release: 1. Mai 2007</i>\r
-<ul>\r
-<li>Konfiguration: Fehlerüberprüfung für Zeitangaben hinzugefügt</li>\r
-<li>Konfiguration: Zeitangaben auch in der Form 7.45 statt 7:45 möglich</li>\r
-<li>Statistik nur für Mitglieder der erlaubten Gruppen sichtbar machen</li>\r
-<li>Lizenz: Notiz, dass manche Symbole unter der <a href="http://www.fsf.org/licensing/licenses/lgpl.html">GNU LGPL</a> stehen</li>\r
-<li>Reparierte Fehler:<ul>\r
- <li>Code gegen unerwünschtes HTML, <a href="http://de.wikipedia.org/wiki/Cross-Site_Scripting">Cross-Site Scripting</a> und <a href="http://de.wikipedia.org/wiki/SQL-Injektion">SQL-Injections</a> abgesichert</li>\r
- <li>Fehler bei Neuinstallation als RPM und anschließender Konfiguration lieferte <i>Warning: implode(): Bad arguments. in /opt/iserv/idesk/rooms/admin/config.php on line 168</i></li></ul>\r
-</ul>\r
-\r
-<h2>iserv-rooms-2.1</h2>\r
-<i>Release: 25. Februar 2007</i>\r
-<ul>\r
-<li>Reparierte Fehler:<ul>\r
-<li><a href="http://wiki.mzbs.eu/w/index.php?title=Raumbelegungsplan/Probleme#.E2.80.9EAb_hier_Buchen.E2.80.9C-Bug" target="_blank"> „Ab hier Buchen“-Bug</a></li>\r
-<li><a href="http://wiki.mzbs.eu/w/index.php?title=Raumbelegungsplan/Probleme#iservchk_meldet_.E2.80.9EGot_token_.27.2C.27_but_expected_.27to.27.E2.80.9C" target="_blank">iservchk meldet „Got token ',' but expected 'to'“</a></li>\r
-<li><a href="http://wiki.mzbs.eu/w/index.php?title=Raumbelegungsplan/Probleme#Query_failed:_ERROR:_rooms_archive:_Permission_denied" target="_blank">Query failed: ERROR: rooms_archive: Permission denied</a></li>\r
-<li>Das Modul gibt sich bei einer Neukonfiguration im Log als Fehlermeldungmodul aus, bei Buchungen wurden falsche Räume angezeigt</li></ul></li>\r
-<li>Lizenztext auf Deutsch</li>\r
-<li>Kosmetik</li>\r
-</ul>\r
-\r
-<h2>iserv-rooms-2.0-2</h2>\r
-<i>Release: 28. August 2006</i>\r
-<ul>\r
-<li>RPM repariert, die SQL-Tabellen wurden bei einem Update erst angelegt und dann wieder gelöscht</li>\r
-<li>Admin-Bereich: Wochentage werden wieder angezeigt</li>\r
-</ul>\r
-\r
-<h2>iserv-rooms-2.0-1</h2>\r
-<i>Release: 28. August 2006</i>\r
-<ul>\r
-<li>Statistik hinzugefügt und damit Option „Abgelaufene Buchungen löschen“ repariert</li>\r
-<li>SQL-Tabelle wird bei der Installation erstellt, nicht vom Konfigurations-Skript, dadurch Zugriffsprobleme beseitigt.</li>\r
-<li>Modul ist nur von bestimmten Gruppen nutzbar, in Konfiguration einstellbar</li>\r
-<li>Stundenplanansicht im Benutzerbereich</li>\r
-<li>Lizenz: Donationware</li>\r
-<li>Konfiguration wird bei Update nicht mehr überschrieben</li>\r
-<li>Wochenende optional anschaltbar</li>\r
-</ul>\r
-\r
-</body>\r
-</html>\r
+
+<h2>iserv-rooms-2.3</h2>
+<i>Release: 2. Juni 2007</i>
+<ul>
+<li>Wiederkehrende und einmalige Buchungen werden farblich unterschieden</li>
+<li>Löschen von Buchungen möglich<ul>
+ <li>Benutzer können selbst vorgenommene Buchungen löschen</li>
+ <li>Raumbelegunsplan-Admins können alle Buchungen löschen</li>
+ <li>Raumbelegunsplan-Admins können in der Konfiguration festgelegt werden</li>
+</ul></li>
+<li>Reparierte Fehler:<ul>
+ <li><a href="http://wiki.mzbs.eu/w/index.php?title=Raumbelegungsplan/Probleme#Fehler_beim_L.C3.B6schen_eines_Benutzers">Fehler beim Löschen eines Benutzers</a></li>
+ <li><a href="http://wiki.mzbs.eu/w/index.php?title=Raumbelegungsplan/Probleme#Nachtr.C3.A4gliches_.C3.84ndern_von_Buchungszeiten">Fehler nach frischer Installation</a></li>
+</ul></li>
+</ul>
+
+<h2>iserv-rooms-2.2</h2>
+<i>Release: 1. Mai 2007</i>
+<ul>
+<li>Konfiguration: Fehlerüberprüfung für Zeitangaben hinzugefügt</li>
+<li>Konfiguration: Zeitangaben auch in der Form 7.45 statt 7:45 möglich</li>
+<li>Statistik nur für Mitglieder der erlaubten Gruppen sichtbar machen</li>
+<li>Lizenz: Notiz, dass manche Symbole unter der <a href="http://www.fsf.org/licensing/licenses/lgpl.html">GNU LGPL</a> stehen</li>
+<li>Reparierte Fehler:<ul>
+ <li>Code gegen unerwünschtes HTML, <a href="http://de.wikipedia.org/wiki/Cross-Site_Scripting">Cross-Site Scripting</a> und <a href="http://de.wikipedia.org/wiki/SQL-Injektion">SQL-Injections</a> abgesichert</li>
+ <li>Fehler bei Neuinstallation als RPM und anschließender Konfiguration lieferte <i>Warning: implode(): Bad arguments. in /opt/iserv/idesk/rooms/admin/config.php on line 168</i></li></ul>
+</ul>
+
+<h2>iserv-rooms-2.1</h2>
+<i>Release: 25. Februar 2007</i>
+<ul>
+<li>Reparierte Fehler:<ul>
+<li><a href="http://wiki.mzbs.eu/w/index.php?title=Raumbelegungsplan/Probleme#.E2.80.9EAb_hier_Buchen.E2.80.9C-Bug" target="_blank"> „Ab hier Buchen“-Bug</a></li>
+<li><a href="http://wiki.mzbs.eu/w/index.php?title=Raumbelegungsplan/Probleme#iservchk_meldet_.E2.80.9EGot_token_.27.2C.27_but_expected_.27to.27.E2.80.9C" target="_blank">iservchk meldet „Got token ',' but expected 'to'“</a></li>
+<li><a href="http://wiki.mzbs.eu/w/index.php?title=Raumbelegungsplan/Probleme#Query_failed:_ERROR:_rooms_archive:_Permission_denied" target="_blank">Query failed: ERROR: rooms_archive: Permission denied</a></li>
+<li>Das Modul gibt sich bei einer Neukonfiguration im Log als Fehlermeldungmodul aus, bei Buchungen wurden falsche Räume angezeigt</li></ul></li>
+<li>Lizenztext auf Deutsch</li>
+<li>Kosmetik</li>
+</ul>
+
+<h2>iserv-rooms-2.0-2</h2>
+<i>Release: 28. August 2006</i>
+<ul>
+<li>RPM repariert, die SQL-Tabellen wurden bei einem Update erst angelegt und dann wieder gelöscht</li>
+<li>Admin-Bereich: Wochentage werden wieder angezeigt</li>
+</ul>
+
+<h2>iserv-rooms-2.0-1</h2>
+<i>Release: 28. August 2006</i>
+<ul>
+<li>Statistik hinzugefügt und damit Option „Abgelaufene Buchungen löschen“ repariert</li>
+<li>SQL-Tabelle wird bei der Installation erstellt, nicht vom Konfigurations-Skript, dadurch Zugriffsprobleme beseitigt.</li>
+<li>Modul ist nur von bestimmten Gruppen nutzbar, in Konfiguration einstellbar</li>
+<li>Stundenplanansicht im Benutzerbereich</li>
+<li>Lizenz: Donationware</li>
+<li>Konfiguration wird bei Update nicht mehr überschrieben</li>
+<li>Wochenende optional anschaltbar</li>
+</ul>
+
+</body>
+</html>
<?php
-/**\r
+/**
* @file exceptions.inc
- * Some custom exceptions\r
- * @author Roland Hieber (roland.hieber@wilhelm-gym.net)\r
- * @date 27.05.2008\r
- * \r
- * Copyright © 2007 Roland Hieber\r
- *\r
- * Permission is hereby granted, free of charge, to any person obtaining\r
- * copy of this software and associated documentation files (the "Software"),\r
- * to deal in the Software without restriction, including without limitation\r
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
- * and/or sell copies of the Software, and to permit persons to whom the\r
- * Software is furnished to do so, subject to the following conditions:\r
- * \r
- * The above copyright notice and this permission notice shall be included in\r
- * all copies or substantial portions of the Software.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
- * THE SOFTWARE.\r
- */\r
+ * Some custom exceptions
+ * @author Roland Hieber (roland.hieber@wilhelm-gym.net)
+ * @date 27.05.2008
+ *
+ * Copyright © 2007 Roland Hieber
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
/**
* An exception while trying to do a SQL query.
<?php
-/**\r
- * @file mod_roomReservationConfigPage.inc\r
- * The configuration page\r
- * @author Roland Hieber (roland.hieber@wilhelm-gym.net)\r
- * @date 24.06.2008\r
- * \r
- * Copyright © 2007 Roland Hieber\r
- *\r
- * Permission is hereby granted, free of charge, to any person obtaining\r
- * copy of this software and associated documentation files (the "Software"),\r
- * to deal in the Software without restriction, including without limitation\r
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
- * and/or sell copies of the Software, and to permit persons to whom the\r
- * Software is furnished to do so, subject to the following conditions:\r
- * \r
- * The above copyright notice and this permission notice shall be included in\r
- * all copies or substantial portions of the Software.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
- * THE SOFTWARE.\r
- */\r
-\r
+/**
+ * @file mod_roomReservationConfigPage.inc
+ * The configuration page
+ * @author Roland Hieber (roland.hieber@wilhelm-gym.net)
+ * @date 24.06.2008
+ *
+ * Copyright © 2007 Roland Hieber
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
require_once("ctrl.inc");
require_once("mod_room-reservation/mod_roomReservationPage.inc");
require_once("mod_room-reservation/mod_roomReservationTimesliceListBox.inc");
<?php
-/**\r
- * @file mod_roomReservationControl.inc\r
- * Class that represents an abstract control\r
- * @author Roland Hieber (roland.hieber@wilhelm-gym.net)\r
- * @date 25.07.2008\r
- * \r
- * Copyright © 2007 Roland Hieber\r
- *\r
- * Permission is hereby granted, free of charge, to any person obtaining\r
- * copy of this software and associated documentation files (the "Software"),\r
- * to deal in the Software without restriction, including without limitation\r
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
- * and/or sell copies of the Software, and to permit persons to whom the\r
- * Software is furnished to do so, subject to the following conditions:\r
- * \r
- * The above copyright notice and this permission notice shall be included in\r
- * all copies or substantial portions of the Software.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
- * THE SOFTWARE.\r
- */\r
+/**
+ * @file mod_roomReservationControl.inc
+ * Class that represents an abstract control
+ * @author Roland Hieber (roland.hieber@wilhelm-gym.net)
+ * @date 25.07.2008
+ *
+ * Copyright © 2007 Roland Hieber
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
require_once("quote.inc");
require_once("functions.inc");
-\r
+
/** @todo document */
abstract class mod_roomReservationControl {
/** (array of strings) Errors that occur while processing the form */
<?php
-/**\r
- * @file mod_roomReservationPage.inc\r
- * A generic page class\r
- * @author Roland Hieber (roland.hieber@wilhelm-gym.net)\r
- * @date 24.06.2008\r
- * \r
- * Copyright © 2007 Roland Hieber\r
- *\r
- * Permission is hereby granted, free of charge, to any person obtaining\r
- * copy of this software and associated documentation files (the "Software"),\r
- * to deal in the Software without restriction, including without limitation\r
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
- * and/or sell copies of the Software, and to permit persons to whom the\r
- * Software is furnished to do so, subject to the following conditions:\r
- * \r
- * The above copyright notice and this permission notice shall be included in\r
- * all copies or substantial portions of the Software.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
- * THE SOFTWARE.\r
- */\r
-\r
+/**
+ * @file mod_roomReservationPage.inc
+ * A generic page class
+ * @author Roland Hieber (roland.hieber@wilhelm-gym.net)
+ * @date 24.06.2008
+ *
+ * Copyright © 2007 Roland Hieber
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
require_once("mod_room-reservation/mod_roomReservationConfig.inc");
/** @todo document */
<?php
-/**\r
- * @file mod_roomReservationRoomWhitelistListBox.inc\r
- * List box that shows the rooms who can be booked\r
- * @author Roland Hieber (roland.hieber@wilhelm-gym.net)\r
- * @date 24.07.2008\r
- * \r
- * Copyright © 2007 Roland Hieber\r
- *\r
- * Permission is hereby granted, free of charge, to any person obtaining\r
- * copy of this software and associated documentation files (the "Software"),\r
- * to deal in the Software without restriction, including without limitation\r
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
- * and/or sell copies of the Software, and to permit persons to whom the\r
- * Software is furnished to do so, subject to the following conditions:\r
- * \r
- * The above copyright notice and this permission notice shall be included in\r
- * all copies or substantial portions of the Software.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
- * THE SOFTWARE.\r
- */\r
+/**
+ * @file mod_roomReservationRoomWhitelistListBox.inc
+ * List box that shows the rooms who can be booked
+ * @author Roland Hieber (roland.hieber@wilhelm-gym.net)
+ * @date 24.07.2008
+ *
+ * Copyright © 2007 Roland Hieber
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
require_once("mod_roomReservationControl.inc");
require_once("mod_roomReservationRoomsManager.inc");
/** Process the deletion form */
define("MOD_ROOM_RESERVATION_RWLB_ACTION_SUBMITDELETE", 4);
/** @} */
-\r
+
/** @todo document */
class mod_roomReservationRoomWhitelistListBox
extends mod_roomReservationControl {
<?php
-/**\r
- * @file mod_roomReservationTimesliceListBox.inc\r
- * A list box that allows the user to add and delete timeslices\r
- * @author Roland Hieber (roland.hieber@wilhelm-gym.net)\r
- * @date 23.06.2008\r
- * \r
- * Copyright © 2007 Roland Hieber\r
- *\r
- * Permission is hereby granted, free of charge, to any person obtaining\r
- * copy of this software and associated documentation files (the "Software"),\r
- * to deal in the Software without restriction, including without limitation\r
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
- * and/or sell copies of the Software, and to permit persons to whom the\r
- * Software is furnished to do so, subject to the following conditions:\r
- * \r
- * The above copyright notice and this permission notice shall be included in\r
- * all copies or substantial portions of the Software.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
- * THE SOFTWARE.\r
- */\r
+/**
+ * @file mod_roomReservationTimesliceListBox.inc
+ * A list box that allows the user to add and delete timeslices
+ * @author Roland Hieber (roland.hieber@wilhelm-gym.net)
+ * @date 23.06.2008
+ *
+ * Copyright © 2007 Roland Hieber
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
require_once("ctrl.inc");
require_once("mod_room-reservation/mod_roomReservationControl.inc");
/** Delete a timeslice */
define("MOD_ROOM_RESERVATION_TLB_ACTION_DELETE", 2);
/** @} */
-\r
+
/** @todo document, add a delete confirmation */
class mod_roomReservationTimesliceListBox extends mod_roomReservationControl {
-<?\r
-require("mod_room-reservation/globals.inc");\r
-if($g_rrCfg->userCanView()) {\r
+<?
+require("mod_room-reservation/globals.inc");
+if($g_rrCfg->userCanView()) {
TreeNode(_c("room-reservation:Book rooms"), "/idesk/mod_room-reservation/",
"mod_room-reservation_index");
-}\r
-?>\r
+}
+?>
<?
TreeNode(_("Room Reservation Schedule"),
"mod_room-reservation/config.php", "mod_room-reservation_index");
-?>\r
+?>
---\r
--- Table with rooms allowed for booking\r
--- \r
-CREATE TABLE mod_roomreservation_roomswhitelist (\r
- rrr_name TEXT UNIQUE REFERENCES rooms(name)\r
- ON DELETE CASCADE\r
- ON UPDATE CASCADE\r
-);\r
-\r
---\r
--- Table with bookings\r
---\r
-CREATE TABLE mod_roomreservation_bookings (\r
- rrb_uid SERIAL NOT NULL PRIMARY KEY, -- Unique ID \r
- rrb_room TEXT NOT NULL -- Name of the room\r
- REFERENCES rooms(name)\r
- ON DELETE CASCADE\r
- ON UPDATE CASCADE,\r
- rrb_date DATE NOT NULL, -- Date of the booking\r
- rrb_tsfirst SMALLINT NOT NULL, -- Number of the first timeslice\r
- rrb_tslast SMALLINT NOT NULL -- Number of the last timeslice\r
- CHECK(rrb_tsfirst <= rrb_tslast),\r
- rrb_act TEXT NOT NULL -- Owner of the booking\r
- REFERENCES users(Act)\r
- ON DELETE CASCADE\r
- ON UPDATE CASCADE,\r
- rrb_reason TEXT NOT NULL, -- Reason\r
- rrb_interval SMALLINT NOT NULL -- Interval in weeks for recurring bookings\r
- DEFAULT 0\r
-);\r
-\r
---\r
--- Permissions\r
---\r
-GRANT SELECT, INSERT, UPDATE, DELETE ON mod_roomreservation_bookings, mod_roomreservation_bookings_rrb_uid_seq TO webusr;\r
-GRANT SELECT, INSERT, UPDATE, DELETE ON mod_roomreservation_bookings, mod_roomreservation_bookings_rrb_uid_seq TO webadm;\r
-GRANT SELECT ON mod_roomreservation_roomswhitelist TO webusr;\r
-GRANT SELECT, INSERT, UPDATE, DELETE ON mod_roomreservation_roomswhitelist TO webadm;\r
+--
+-- Table with rooms allowed for booking
+--
+CREATE TABLE mod_roomreservation_roomswhitelist (
+ rrr_name TEXT UNIQUE REFERENCES rooms(name)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE
+);
+
+--
+-- Table with bookings
+--
+CREATE TABLE mod_roomreservation_bookings (
+ rrb_uid SERIAL NOT NULL PRIMARY KEY, -- Unique ID
+ rrb_room TEXT NOT NULL -- Name of the room
+ REFERENCES rooms(name)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ rrb_date DATE NOT NULL, -- Date of the booking
+ rrb_tsfirst SMALLINT NOT NULL, -- Number of the first timeslice
+ rrb_tslast SMALLINT NOT NULL -- Number of the last timeslice
+ CHECK(rrb_tsfirst <= rrb_tslast),
+ rrb_act TEXT NOT NULL -- Owner of the booking
+ REFERENCES users(Act)
+ ON DELETE CASCADE
+ ON UPDATE CASCADE,
+ rrb_reason TEXT NOT NULL, -- Reason
+ rrb_interval SMALLINT NOT NULL -- Interval in weeks for recurring bookings
+ DEFAULT 0
+);
+
+--
+-- Permissions
+--
+GRANT SELECT, INSERT, UPDATE, DELETE ON mod_roomreservation_bookings, mod_roomreservation_bookings_rrb_uid_seq TO webusr;
+GRANT SELECT, INSERT, UPDATE, DELETE ON mod_roomreservation_bookings, mod_roomreservation_bookings_rrb_uid_seq TO webadm;
+GRANT SELECT ON mod_roomreservation_roomswhitelist TO webusr;
+GRANT SELECT, INSERT, UPDATE, DELETE ON mod_roomreservation_roomswhitelist TO webadm;
<?php
-/**\r
+/**
* @file config.php
- * Configuration page\r
- * @author Roland Hieber (roland.hieber@wilhelm-gym.net)\r
- * @date 20.05.2008\r
- * \r
- * Copyright © 2007 Roland Hieber\r
- *\r
- * Permission is hereby granted, free of charge, to any person obtaining\r
- * copy of this software and associated documentation files (the "Software"),\r
- * to deal in the Software without restriction, including without limitation\r
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
- * and/or sell copies of the Software, and to permit persons to whom the\r
- * Software is furnished to do so, subject to the following conditions:\r
- * \r
- * The above copyright notice and this permission notice shall be included in\r
- * all copies or substantial portions of the Software.\r
- *\r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
- * THE SOFTWARE.\r
- */\r
-\r
-/** @todo document */\r
+ * Configuration page
+ * @author Roland Hieber (roland.hieber@wilhelm-gym.net)
+ * @date 20.05.2008
+ *
+ * Copyright © 2007 Roland Hieber
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+/** @todo document */
require_once("sec/admsecure.inc");
-require_once("mod_room-reservation/globals.inc");\r
+require_once("mod_room-reservation/globals.inc");
require_once("mod_room-reservation/mod_roomReservationConfigPage.inc");
$page = new mod_roomReservationConfigPage($g_rrCfg);
$page->show();
-?>\r
+?>
-<?php\r
-/**\r
+<?php
+/**
* @file index.php
- * Main page\r
- * @author Roland Hieber (roland.hieber@wilhelm-gym.net)\r
- * @date 25.02.2008\r
- * \r
- * Copyright © 2007 Roland Hieber\r
- * \r
- * Permission is hereby granted, free of charge, to any person obtaining\r
- * copy of this software and associated documentation files (the "Software"),\r
- * to deal in the Software without restriction, including without limitation\r
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
- * and/or sell copies of the Software, and to permit persons to whom the\r
- * Software is furnished to do so, subject to the following conditions:\r
- * \r
- * The above copyright notice and this permission notice shall be included in\r
- * all copies or substantial portions of the Software.\r
- * \r
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
- * THE SOFTWARE.\r
- */\r
-
-require_once("mod_room-reservation/globals.inc");\r
+ * Main page
+ * @author Roland Hieber (roland.hieber@wilhelm-gym.net)
+ * @date 25.02.2008
+ *
+ * Copyright © 2007 Roland Hieber
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+require_once("mod_room-reservation/globals.inc");
require_once("mod_room-reservation/mod_roomReservationBookingPage.inc");
$page = new mod_roomReservationBookingPage($g_rrCfg, $g_rrRm, $g_rrBm);
$page->setTitle(_c("room-reservation:Schedule of room bookings"));
$page->show();
-/**\r
-require_once("sec/secure.inc");\r
-require_once("mod_rooms.inc");\r
-TestConfig();\r
-\r
-// Ist der User berechtigt?\r
-$bAllowAccess = false;\r
-foreach($user[groups] as $group)\r
-{\r
- foreach($cfgRooms["AllowedGroups"] as $allowed)\r
- {\r
- $bAllowAccess |= (($group == $allowed) == true);\r
- }\r
-}\r
-if(!$bAllowAccess and $cfgRooms["RestrictAccess"] == true)\r
- die_nice("Fehler: Sie sind nicht berechtigt, diese Seite zu benutzen. Wenden Sie sich an einen Administrator.");\r
-\r
-$bookings = new AllBookings(false);\r
-\r
-// Zeitstunden in Schulstunden umrechnen\r
-$lessons_begin = array_flip($cfgRooms["TimeslicesBegin"]);\r
-$lessons_end = array_flip($cfgRooms["TimeslicesEnd"]);\r
-\r
-$action = $_GET["action"];\r
-$room = isset($_GET["room"]) ? $_GET["room"] : $cfgRooms["Rooms"][0];\r
-$start = isset($_GET["start"]) ? $_GET["start"] : Monday();\r
-$act = $user[act];\r
-$id = isset($_POST["id"]) ? $_POST["id"] : $_GET["id"];\r
-$class = isset($_POST["class"]) ? $_POST["class"] : $_GET["class"];\r
-$room_form = isset($_POST["room_form"]) ? $_POST["room_form"] : $_GET["room"];\r
-$date = isset($_POST["date"]) ? $_POST["date"] : $_GET["date"];\r
-$timebegin = isset($_POST["timebegin"]) ? $_POST["timebegin"] : $_GET["timebegin"];\r
-$timeend = isset($_POST["timeend"]) ? $_POST["timeend"] : (isset($_GET["timeend"]) ? $_GET["timeend"] : $cfgRooms["TimeslicesEnd"][$lessons_begin[$timebegin]]); // Standardmäßig auf einen Zeitraum später als Anfangszeit\r
-$reason = isset($_POST["reason"]) ? $_POST["reason"] : $_GET["reason"];\r
-$submit = $_POST["submit"];\r
-$cancel = $_POST["cancel"];\r
-\r
-PageBlue("Raumbelegungsplan", "rooms_index");\r
-\r
-// Formular anzeigen\r
-function ShowForm()\r
-{\r
- global $cfgRooms;\r
- global $act, $class, $room_form, $date, $timebegin, $timeend, $reason, $user;\r
-\r
- Title("Einen Raum buchen");\r
- $form = "<p>Füllen Sie das Formular aus und klicken Sie dann auf die Schaltfläche „Raum buchen“.</p>\r
-<form action='?action=insert' method='post'>\r
-<input type='hidden' name='id' value='$id' />\r
-<table><tr>\r
- <td>Ihr Name:</td><td colspan='4'>{$user[name]}</td>\r
-</tr>";\r
-\r
- // Klasse nur anzeigen, wenn angeschaltet\r
- if($cfgRooms["ShowClassEdit"])\r
- $form .= "<tr>\n <td>".q(stripslashes($cfgRooms["ClassEditText"])).":</td><td colspan='4'><input type='edit' style='width:100%' name='class' value='".q(stripslashes($class))."' /></td>\n</tr>";\r
-\r
- $form .= "<tr>\n <td>Raum:</td><td colspan='4'><select style='width:100%' name='room_form'>";\r
- foreach($cfgRooms["Rooms"] as $rm)\r
- {\r
- if($rm == $room_form)\r
- $form .= "<option selected='selected'>".q(stripslashes($rm))."</option>";\r
- else\r
- $form .= "<option>".q(stripslashes($rm))."</option>";\r
- }\r
- $form .= "</select></td>\n</tr><tr>\n";\r
- $form .= " <td>Datum:</td><td colspan='4'><input type='text' style='width:100%' name='date' value='".q(stripslashes($date))."' /></td>\n</tr><tr>\n";\r
- $form .= " <td>Zeit:</td><td>von</td><td><select style='width:60pt' name='timebegin'>";\r
- foreach($cfgRooms["TimeslicesBegin"] as $time)\r
- {\r
- if($time == $timebegin)\r
- $form .= "<option selected='selected'>".q(stripslashes($time))."</option>";\r
- else\r
- $form .= "<option>".q(stripslashes($time))."</option>";\r
- }\r
- $form .= "</select></td><td>bis</td><td><select style='width:60pt' name='timeend'>";\r
- foreach($cfgRooms["TimeslicesEnd"] as $time)\r
- {\r
- if($time == $timeend)\r
- $form .= "<option selected='selected'>".q(stripslashes($time))."</option>";\r
- else\r
- $form .= "<option>".q(stripslashes($time))."</option>";\r
- }\r
- $form .= "</select></td>\n</tr><tr>\n";\r
- $form .= " <td>Grund für die Belegung:</td><td colspan='4'><input type='text' style='width:100%' name='reason' value='".q(stripslashes($reason))."' /></td>\n</tr><tr>\n";\r
- $form .= " <td><input type='submit' class='stdbtn submit' name='submit' value='Raum buchen' /> <input type='submit' class='stdbtn submit' name='cancel' value='Abbrechen' /></td>\n</tr></table></form>";\r
-\r
- echo $form;\r
-}\r
-\r
-\r
-if($action == "book")\r
-{\r
- ShowForm();\r
-}\r
-// ...oder Buchung löschen?\r
-else if($action == "delete")\r
-{\r
- // Rausfinden, wo unsere gewünschte ID im Array steht\r
- for($n = 0; isset($bookings->objBookings[$n]->sqlData->id) and ($id != $bookings->objBookings[$n]->sqlData->id); $n++);\r
-\r
- // Auf Besitz oder Admin prüfen\r
- $bAdminMode = FALSE;\r
- $bAdminMode |= ($bookings->objBookings[$n]->UserIsOwner() and !$bookings->objBookings[$n]->rawData->fixed); // Benutzer dürfen keine festen Buchungen löschen\r
- $bAdminMode |= $bookings->UserIsAdmin();\r
- \r
- if(!$bAdminMode)\r
- echo "<div class='err'>Sie sind nicht berechtigt, diese Buchung zu löschen!</div>\n";\r
- else\r
- {\r
- if($_POST["surely_delete"] == "Löschen" && $_POST["surely_delete_fixed"] == "true")\r
- {\r
- $bookings->Delete($id);\r
- echo "<div class='err'>Ihre Buchung wurde gelöscht.</div>\n";\r
- }\r
- else\r
- {\r
- echo "<h1>Eine Buchung löschen</h1>\n";\r
- if($bookings->objBookings[$n]->rawData->fixed and $_POST["surely_delete_fixed"] == "false")\r
- echo "<p class='err'>Sie müssen bestätigen, dass Sie die Warnung über das Löschen von festen Buchungen zur Kenntnis genommen haben.</p>\n";\r
- // Formular zur Bestätigung anzeigen\r
- echo "<p>Wollen Sie diese Buchung löschen?<p>\n";\r
- $bookings->PrintBooking($id);\r
- echo "<br />\n";\r
- echo "<form action='?action=delete&id=$id' method='post'>\n";\r
- if($bookings->objBookings[$n]->rawData->fixed)\r
- // Bestätigungsfeld für feste Buchungen\r
- echo "<p>".icona("dlg-warn", 16)."<b>Achtung:</b> Diese Buchung ist eine feste Buchung. Wenn sie gelöscht wird, wird der Zeitraum nicht in dieser Woche, sondern in <b>allen Wochen</b> wieder freigegeben.</p>\n<p><input type='hidden' name='surely_delete_fixed' value='false' /><$smlchk name='surely_delete_fixed' value='true' /><label for='surely_delete_fixed'>Ich habe diese Warnung zur Kenntnis genommen.</label></p>\n";\r
- else\r
- echo "<input type='hidden' name='surely_delete_fixed' value='true' />\n";\r
- echo "<$stdbtn name='surely_delete' value='Löschen' /></form>\n";\r
- }\r
- }\r
-\r
- // Zurück-Link anzeigen\r
- Option(_("Back"), "", "href='?room=$room&start=$start'", "back");\r
-}\r
-\r
-// ... oder alle Buchungen anzeigen / Buchung eintragen?\r
-else\r
-{\r
- if($action == "insert" and $submit == "Raum buchen")\r
- {\r
- $err = $bookings->Insert(null, $room_form, $date, $timebegin, $timeend, $act, $class, $reason, false);\r
- if(!$err)\r
- {\r
- switch($bookings->lastError)\r
- {\r
- case ALLBOOKINGS_SQL_ERROR:\r
- ReportError("\$booking->Insert", $booking->lastError, __FILE__, __LINE__);\r
- default:\r
- }\r
- ShowForm();\r
- die_nice();\r
- }\r
- else\r
- {\r
- // Log-Eintrag, wenn erwünscht\r
- if($cfgRooms["LogOnInsert"])\r
- InsertLog("Raum $room_form am $date von $timebegin bis $timeend gebucht. Begründung: $reason");\r
-\r
- // Passenderweise gleich die Woche mit der eingetragenen Buchung anzeigen\r
- $tmp = explode(".", $date);\r
- $start = Monday(strtotime($tmp[2]."-".$tmp[1]."-".$tmp[0]));\r
- $room = $room_form;\r
- Title("Raumbelegungen für den Raum $room in Woche ".date("W", $start));\r
- echo "<p class='err'>".icona("dlg-info", 16, "bl")."Ihre Buchung wurde eingetragen.</p>\n";\r
- }\r
- }\r
- else\r
- {\r
- Title("Raumbelegungen für den Raum $room in Woche ".date("W", $start));\r
- }\r
-\r
- $nPrevWeek = strtotime("last monday", Monday($start)); // der Montag vor dem Montag in der Startwoche\r
- $nFirstWeek = Monday(); // der Montag in der aktuellen Woche\r
- $nLastWeek = strtotime("last monday", Monday($bookings->GetLastBookingDate()));\r
- $nNextWeek = strtotime("next monday", Monday($start)); // der Montag nach dem Montag der Startwoche\r
-\r
- echo "<form action=''>\r
-Raum: <select onchange='window.location.href=\"{$_SERVER["PHP_SELF"]}?start=$start&room=\" + this.options[this.options.selectedIndex].text;' width='250'>\n";\r
- foreach($cfgRooms["Rooms"] as $opt)\r
- {\r
- echo " <option";\r
- if($opt == $room)\r
- echo " selected='selected'";\r
- echo ">".q(stripslashes($opt))."</option>\n";\r
- }\r
- echo "</select></form></p>";\r
-\r
- // Navigation für die Wochen ausgeben\r
- echo "<p><a href='?start=$nPrevWeek&room=".qu(stripslashes($room))."' title='Zur vorherigen Woche blättern'>Vorherige Woche</a> | <a href='?start=$nFirstWeek&room=".qu(stripslashes($room))."' title='Zur aktuellen Woche blättern'>Aktuelle Woche</a> | ";\r
- // Fünf Wochen zur direkten Anwahl anbieten\r
- for($i = 1; $i <= 5; $i++)\r
- {\r
- $nCurWeek = Monday(strtotime("$i week", $start));\r
- echo "<a href='?start=$nCurWeek&room=".qu(stripslashes($room))."' title='Zu Woche ".date("W", $nCurWeek)." blättern'>Woche ".date("W", $nCurWeek)."</a> | ";\r
- }\r
- echo "<a href='?start=$nLastWeek&room=".qu(stripslashes($room))."' title='Zur Woche mit der letzen Buchung blättern'>Letzte Buchung</a> | <a href='?start=$nNextWeek&room=".qu(stripslashes($room))."' title='Zur nächsten Woche blättern'>Nächste Woche</a></p>";\r
- echo "<p><ul>\r
- <li>Um eine Buchung vorzunehmen dort auf „Ab hier buchen“ klicken, wo die Buchung beginnen soll.</li>\r
- <li><b>Neu:</b> Eigene Buchungen (außer den wiederkehrenden Buchungen in dunkelblau) können gelöscht werden, indem auf den Link „Buchung löschen“ geklickt wird.</li>\r
- <li>Mit Klick auf den Benutzernamen kann eine E-Mail an den Benutzer geschrieben werden.</li>\r
-</ul></p>\n";\r
-\r
- $bookings->PrintTimeTable($start, $room);\r
-\r
- echo "<br />";\r
-}\r
-\r
-_PageBlue();\r
-*/\r
-?>\r
+/**
+require_once("sec/secure.inc");
+require_once("mod_rooms.inc");
+TestConfig();
+
+// Ist der User berechtigt?
+$bAllowAccess = false;
+foreach($user[groups] as $group)
+{
+ foreach($cfgRooms["AllowedGroups"] as $allowed)
+ {
+ $bAllowAccess |= (($group == $allowed) == true);
+ }
+}
+if(!$bAllowAccess and $cfgRooms["RestrictAccess"] == true)
+ die_nice("Fehler: Sie sind nicht berechtigt, diese Seite zu benutzen. Wenden Sie sich an einen Administrator.");
+
+$bookings = new AllBookings(false);
+
+// Zeitstunden in Schulstunden umrechnen
+$lessons_begin = array_flip($cfgRooms["TimeslicesBegin"]);
+$lessons_end = array_flip($cfgRooms["TimeslicesEnd"]);
+
+$action = $_GET["action"];
+$room = isset($_GET["room"]) ? $_GET["room"] : $cfgRooms["Rooms"][0];
+$start = isset($_GET["start"]) ? $_GET["start"] : Monday();
+$act = $user[act];
+$id = isset($_POST["id"]) ? $_POST["id"] : $_GET["id"];
+$class = isset($_POST["class"]) ? $_POST["class"] : $_GET["class"];
+$room_form = isset($_POST["room_form"]) ? $_POST["room_form"] : $_GET["room"];
+$date = isset($_POST["date"]) ? $_POST["date"] : $_GET["date"];
+$timebegin = isset($_POST["timebegin"]) ? $_POST["timebegin"] : $_GET["timebegin"];
+$timeend = isset($_POST["timeend"]) ? $_POST["timeend"] : (isset($_GET["timeend"]) ? $_GET["timeend"] : $cfgRooms["TimeslicesEnd"][$lessons_begin[$timebegin]]); // Standardmäßig auf einen Zeitraum später als Anfangszeit
+$reason = isset($_POST["reason"]) ? $_POST["reason"] : $_GET["reason"];
+$submit = $_POST["submit"];
+$cancel = $_POST["cancel"];
+
+PageBlue("Raumbelegungsplan", "rooms_index");
+
+// Formular anzeigen
+function ShowForm()
+{
+ global $cfgRooms;
+ global $act, $class, $room_form, $date, $timebegin, $timeend, $reason, $user;
+
+ Title("Einen Raum buchen");
+ $form = "<p>Füllen Sie das Formular aus und klicken Sie dann auf die Schaltfläche „Raum buchen“.</p>
+<form action='?action=insert' method='post'>
+<input type='hidden' name='id' value='$id' />
+<table><tr>
+ <td>Ihr Name:</td><td colspan='4'>{$user[name]}</td>
+</tr>";
+
+ // Klasse nur anzeigen, wenn angeschaltet
+ if($cfgRooms["ShowClassEdit"])
+ $form .= "<tr>\n <td>".q(stripslashes($cfgRooms["ClassEditText"])).":</td><td colspan='4'><input type='edit' style='width:100%' name='class' value='".q(stripslashes($class))."' /></td>\n</tr>";
+
+ $form .= "<tr>\n <td>Raum:</td><td colspan='4'><select style='width:100%' name='room_form'>";
+ foreach($cfgRooms["Rooms"] as $rm)
+ {
+ if($rm == $room_form)
+ $form .= "<option selected='selected'>".q(stripslashes($rm))."</option>";
+ else
+ $form .= "<option>".q(stripslashes($rm))."</option>";
+ }
+ $form .= "</select></td>\n</tr><tr>\n";
+ $form .= " <td>Datum:</td><td colspan='4'><input type='text' style='width:100%' name='date' value='".q(stripslashes($date))."' /></td>\n</tr><tr>\n";
+ $form .= " <td>Zeit:</td><td>von</td><td><select style='width:60pt' name='timebegin'>";
+ foreach($cfgRooms["TimeslicesBegin"] as $time)
+ {
+ if($time == $timebegin)
+ $form .= "<option selected='selected'>".q(stripslashes($time))."</option>";
+ else
+ $form .= "<option>".q(stripslashes($time))."</option>";
+ }
+ $form .= "</select></td><td>bis</td><td><select style='width:60pt' name='timeend'>";
+ foreach($cfgRooms["TimeslicesEnd"] as $time)
+ {
+ if($time == $timeend)
+ $form .= "<option selected='selected'>".q(stripslashes($time))."</option>";
+ else
+ $form .= "<option>".q(stripslashes($time))."</option>";
+ }
+ $form .= "</select></td>\n</tr><tr>\n";
+ $form .= " <td>Grund für die Belegung:</td><td colspan='4'><input type='text' style='width:100%' name='reason' value='".q(stripslashes($reason))."' /></td>\n</tr><tr>\n";
+ $form .= " <td><input type='submit' class='stdbtn submit' name='submit' value='Raum buchen' /> <input type='submit' class='stdbtn submit' name='cancel' value='Abbrechen' /></td>\n</tr></table></form>";
+
+ echo $form;
+}
+
+
+if($action == "book")
+{
+ ShowForm();
+}
+// ...oder Buchung löschen?
+else if($action == "delete")
+{
+ // Rausfinden, wo unsere gewünschte ID im Array steht
+ for($n = 0; isset($bookings->objBookings[$n]->sqlData->id) and ($id != $bookings->objBookings[$n]->sqlData->id); $n++);
+
+ // Auf Besitz oder Admin prüfen
+ $bAdminMode = FALSE;
+ $bAdminMode |= ($bookings->objBookings[$n]->UserIsOwner() and !$bookings->objBookings[$n]->rawData->fixed); // Benutzer dürfen keine festen Buchungen löschen
+ $bAdminMode |= $bookings->UserIsAdmin();
+
+ if(!$bAdminMode)
+ echo "<div class='err'>Sie sind nicht berechtigt, diese Buchung zu löschen!</div>\n";
+ else
+ {
+ if($_POST["surely_delete"] == "Löschen" && $_POST["surely_delete_fixed"] == "true")
+ {
+ $bookings->Delete($id);
+ echo "<div class='err'>Ihre Buchung wurde gelöscht.</div>\n";
+ }
+ else
+ {
+ echo "<h1>Eine Buchung löschen</h1>\n";
+ if($bookings->objBookings[$n]->rawData->fixed and $_POST["surely_delete_fixed"] == "false")
+ echo "<p class='err'>Sie müssen bestätigen, dass Sie die Warnung über das Löschen von festen Buchungen zur Kenntnis genommen haben.</p>\n";
+ // Formular zur Bestätigung anzeigen
+ echo "<p>Wollen Sie diese Buchung löschen?<p>\n";
+ $bookings->PrintBooking($id);
+ echo "<br />\n";
+ echo "<form action='?action=delete&id=$id' method='post'>\n";
+ if($bookings->objBookings[$n]->rawData->fixed)
+ // Bestätigungsfeld für feste Buchungen
+ echo "<p>".icona("dlg-warn", 16)."<b>Achtung:</b> Diese Buchung ist eine feste Buchung. Wenn sie gelöscht wird, wird der Zeitraum nicht in dieser Woche, sondern in <b>allen Wochen</b> wieder freigegeben.</p>\n<p><input type='hidden' name='surely_delete_fixed' value='false' /><$smlchk name='surely_delete_fixed' value='true' /><label for='surely_delete_fixed'>Ich habe diese Warnung zur Kenntnis genommen.</label></p>\n";
+ else
+ echo "<input type='hidden' name='surely_delete_fixed' value='true' />\n";
+ echo "<$stdbtn name='surely_delete' value='Löschen' /></form>\n";
+ }
+ }
+
+ // Zurück-Link anzeigen
+ Option(_("Back"), "", "href='?room=$room&start=$start'", "back");
+}
+
+// ... oder alle Buchungen anzeigen / Buchung eintragen?
+else
+{
+ if($action == "insert" and $submit == "Raum buchen")
+ {
+ $err = $bookings->Insert(null, $room_form, $date, $timebegin, $timeend, $act, $class, $reason, false);
+ if(!$err)
+ {
+ switch($bookings->lastError)
+ {
+ case ALLBOOKINGS_SQL_ERROR:
+ ReportError("\$booking->Insert", $booking->lastError, __FILE__, __LINE__);
+ default:
+ }
+ ShowForm();
+ die_nice();
+ }
+ else
+ {
+ // Log-Eintrag, wenn erwünscht
+ if($cfgRooms["LogOnInsert"])
+ InsertLog("Raum $room_form am $date von $timebegin bis $timeend gebucht. Begründung: $reason");
+
+ // Passenderweise gleich die Woche mit der eingetragenen Buchung anzeigen
+ $tmp = explode(".", $date);
+ $start = Monday(strtotime($tmp[2]."-".$tmp[1]."-".$tmp[0]));
+ $room = $room_form;
+ Title("Raumbelegungen für den Raum $room in Woche ".date("W", $start));
+ echo "<p class='err'>".icona("dlg-info", 16, "bl")."Ihre Buchung wurde eingetragen.</p>\n";
+ }
+ }
+ else
+ {
+ Title("Raumbelegungen für den Raum $room in Woche ".date("W", $start));
+ }
+
+ $nPrevWeek = strtotime("last monday", Monday($start)); // der Montag vor dem Montag in der Startwoche
+ $nFirstWeek = Monday(); // der Montag in der aktuellen Woche
+ $nLastWeek = strtotime("last monday", Monday($bookings->GetLastBookingDate()));
+ $nNextWeek = strtotime("next monday", Monday($start)); // der Montag nach dem Montag der Startwoche
+
+ echo "<form action=''>
+Raum: <select onchange='window.location.href=\"{$_SERVER["PHP_SELF"]}?start=$start&room=\" + this.options[this.options.selectedIndex].text;' width='250'>\n";
+ foreach($cfgRooms["Rooms"] as $opt)
+ {
+ echo " <option";
+ if($opt == $room)
+ echo " selected='selected'";
+ echo ">".q(stripslashes($opt))."</option>\n";
+ }
+ echo "</select></form></p>";
+
+ // Navigation für die Wochen ausgeben
+ echo "<p><a href='?start=$nPrevWeek&room=".qu(stripslashes($room))."' title='Zur vorherigen Woche blättern'>Vorherige Woche</a> | <a href='?start=$nFirstWeek&room=".qu(stripslashes($room))."' title='Zur aktuellen Woche blättern'>Aktuelle Woche</a> | ";
+ // Fünf Wochen zur direkten Anwahl anbieten
+ for($i = 1; $i <= 5; $i++)
+ {
+ $nCurWeek = Monday(strtotime("$i week", $start));
+ echo "<a href='?start=$nCurWeek&room=".qu(stripslashes($room))."' title='Zu Woche ".date("W", $nCurWeek)." blättern'>Woche ".date("W", $nCurWeek)."</a> | ";
+ }
+ echo "<a href='?start=$nLastWeek&room=".qu(stripslashes($room))."' title='Zur Woche mit der letzen Buchung blättern'>Letzte Buchung</a> | <a href='?start=$nNextWeek&room=".qu(stripslashes($room))."' title='Zur nächsten Woche blättern'>Nächste Woche</a></p>";
+ echo "<p><ul>
+ <li>Um eine Buchung vorzunehmen dort auf „Ab hier buchen“ klicken, wo die Buchung beginnen soll.</li>
+ <li><b>Neu:</b> Eigene Buchungen (außer den wiederkehrenden Buchungen in dunkelblau) können gelöscht werden, indem auf den Link „Buchung löschen“ geklickt wird.</li>
+ <li>Mit Klick auf den Benutzernamen kann eine E-Mail an den Benutzer geschrieben werden.</li>
+</ul></p>\n";
+
+ $bookings->PrintTimeTable($start, $room);
+
+ echo "<br />";
+}
+
+_PageBlue();
+*/
+?>