diff --git a/cis/public/freebusy.php b/cis/public/freebusy.php
new file mode 100755
index 000000000..e559009a4
--- /dev/null
+++ b/cis/public/freebusy.php
@@ -0,0 +1,77 @@
+
+ */
+/**
+ * Dieses Script liefert die FreeBusy Informationen
+ *
+ * Aufruf: http://www.example.com/cis/public/freebusy.php/[uid]
+ * zB
+ * http://www.example.com/cis/public/freebusy.php/oesi
+ */
+require_once('../../config/cis.config.inc.php');
+require_once('../../include/freebusy.class.php');
+require_once('../../include/benutzer.class.php');
+require_once('../../include/ical.class.php');
+
+$uid = mb_substr($_SERVER['PATH_INFO'],1);
+
+$bn = new benutzer();
+if(!$bn->load($uid))
+ die('User invalid');
+
+$freebusy = new freebusy();
+$freebusy->getFreeBusy($uid);
+header("Content-Type: text/calendar; charset=UTF-8");
+
+echo "BEGIN:VCALENDAR\n";
+echo "VERSION:2.0\n";
+echo "PRODID:-//FH TECHNIKUM WIEN//EN\n";
+echo "METHOD:PUBLISH\n";
+echo 'ORGANIZER;CN=',$bn->vorname,' ',$bn->nachname,':mailto:',$uid,'@',DOMAIN,"\n";
+echo 'DTSTAMP:',date('Ymd', mktime(date('H'),date('i'),date('s'),date('m'),date('d')-5,date('Y'))),'T',date('Hms'),"Z\n";
+echo 'DTSTART:',date('Ymd', mktime(0,0,0,date('m'),date('d')-5,date('Y'))),"T000000Z\n";
+echo 'DTEND:',date('Ymd', mktime(0,0,0,date('m'),date('d')+30,date('Y'))),"T000000Z\n";
+echo 'URL:',APP_ROOT,'cis/public/freebusy.php/',$uid,"\n";
+
+$ical = new ical();
+
+foreach($freebusy->result as $row)
+{
+
+ $fp = fopen($row->url,'r');
+ if (!$fp)
+ {
+ echo "$errstr ($errno)
\n";
+ }
+ else
+ {
+ $doc = '';
+ while (!feof($fp))
+ {
+ $line = fgets($fp);
+ $doc.=$line;
+ }
+ fclose($fp);
+
+ $ical->importFreeBusy($doc, $row->freebusytyp_kurzbz);
+ }
+}
+echo $ical->getFreeBusy();
+echo "\nEND:VCALENDAR";
+?>
\ No newline at end of file
diff --git a/include/freebusy.class.php b/include/freebusy.class.php
new file mode 100755
index 000000000..27e5146d0
--- /dev/null
+++ b/include/freebusy.class.php
@@ -0,0 +1,167 @@
+ and
+ */
+/**
+ * Klasse FreeBusy
+ * @create 27-01-2012
+ */
+require_once(dirname(__FILE__).'/basis_db.class.php');
+
+class freebusy extends basis_db
+{
+ public $new;
+ public $result = array();
+
+ public $freebusy_id;
+ public $uid;
+ public $freebusytyp_kurzbz;
+ public $url;
+ public $aktiv;
+ public $bezeichnung;
+ public $insertamum;
+ public $insertvon;
+ public $updateamum;
+ public $updatevon;
+
+ public $beschreibung;
+
+ /**
+ * Konstruktor
+ * @param $freebusy_id ID der FreeBusy Eintrags der geladen werden soll (Default=null)
+ */
+ public function __construct($freebusy_id=null)
+ {
+ parent::__construct();
+
+ if(!is_null($freebusy_id))
+ $this->load($freebusy_id);
+ }
+
+ /**
+ * Laedt einen FreeBusy Eintrag mit der ID $freebusy_id
+ * @param freebusy_id
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function load($freebusy_id)
+ {
+ //Pruefen ob id eine gueltige Zahl ist
+ if(!is_numeric($freebusy_id) || $freebusy_id == '')
+ {
+ $this->errormsg = 'id muss eine Zahl sein';
+ return false;
+ }
+
+ //Daten aus der Datenbank lesen
+ $qry = "SELECT * FROM campus.tbl_freebusy WHERE freebusy_id='".addslashes($freebusy_id)."'";
+
+ if(!$this->db_query($qry))
+ {
+ $this->errormsg = 'Fehler bei einer Datenbankabfrage';
+ return false;
+ }
+
+ if($row = $this->db_fetch_object())
+ {
+ $this->freebusy_id = $row->freebusy_id;
+ $this->uid = $row->uid;
+ $this->freebusytyp_kurzbz = $row->freebusytyp_kurzbz;
+ $this->url = $row->url;
+ $this->aktiv = ($row->aktiv=='t'?true:false);
+ $this->bezeichnung = $row->bezeichnung;
+ $this->insertamum = $row->insertamum;
+ $this->insertvon = $row->insertvon;
+ $this->updateamum = $row->updateamum;
+ $this->updatevon = $row->updatevon;
+ }
+ else
+ {
+ $this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Liefert die FreeBusy Eintraege eines Benutzers
+ *
+ * @param $uid
+ */
+ public function getFreeBusy($uid)
+ {
+ $qry = "SELECT * FROM campus.tbl_freebusy WHERE uid='".addslashes($uid)."' ORDER BY freebusy_id";
+
+ if($result = $this->db_query($qry))
+ {
+ while($row = $this->db_fetch_object($result))
+ {
+ $obj = new freebusy();
+
+ $obj->freebusy_id = $row->freebusy_id;
+ $obj->uid = $row->uid;
+ $obj->freebusytyp_kurzbz = $row->freebusytyp_kurzbz;
+ $obj->url = $row->url;
+ $obj->aktiv = ($row->aktiv=='t'?true:false);
+ $obj->bezeichnung = $row->bezeichnung;
+ $obj->insertamum = $row->insertamum;
+ $obj->insertvon = $row->insertvon;
+ $obj->updateamum = $row->updateamum;
+ $obj->updatevon = $row->updatevon;
+
+ $this->result[] = $obj;
+ }
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+ }
+
+ /**
+ * Laedt die FreeBusyTypen
+ *
+ */
+ public function getTyp()
+ {
+ $qry = "SELECT * FROM campus.tbl_freebusytyp ORDER BY bezeichnung";
+
+ if($result = $this->db_query($qry))
+ {
+ while($row = $this->db_fetch_object($result))
+ {
+ $obj = new freebusy();
+
+ $obj->freebusytyp_kurbz = $row->freebusytyp_kurzbz;
+ $obj->bezeichnung = $row->bezeichnung;
+ $obj->beschreibung = $row->beschreibung;
+
+ $this->result[] = $obj;
+ }
+ return false;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+ }
+}
+?>
\ No newline at end of file
diff --git a/include/ical.class.php b/include/ical.class.php
new file mode 100755
index 000000000..b7750464a
--- /dev/null
+++ b/include/ical.class.php
@@ -0,0 +1,99 @@
+ and
+ */
+/**
+ * Klasse ical
+ * @create 27-01-2012
+ */
+require_once(dirname(__FILE__).'/basis_db.class.php');
+
+class ical extends basis_db
+{
+ public $new;
+ public $result = array();
+
+
+ /**
+ * Konstruktor
+ */
+ public function __construct()
+ {
+ parent::__construct();
+ }
+
+ /**
+ * Importiert ein FreeBusy File
+ *
+ * @param $ical
+ * @param $typ
+ */
+ public function importFreeBusy($ical, $typ)
+ {
+ $rows = explode("\n",$ical);
+
+ $idx = count($result);
+ $status=0;
+ $dtstart='';
+ $dtend='';
+ foreach($rows as $row)
+ {
+ if(mb_strstr($row,'BEGIN:VFREEBUSY'))
+ {
+ $status=1;
+ if(!isset($this->result[$idx]))
+ $this->result[$idx]='';
+ $this->result[$idx].=$row."\n";
+ }
+ elseif(mb_strstr($row,'END:VFREEBUSY'))
+ {
+ $status=0;
+ $this->result[$idx].=$row."\n";
+ $idx++;
+ }
+ elseif($status==1)
+ {
+ if($typ=='Google')
+ {
+ if(mb_strstr($row,'DTSTART:'))
+ {
+ $dtstart = mb_substr($row,8,-1);
+ }
+ elseif(mb_strstr($row,'DTEND:'))
+ {
+ $dtend = mb_substr($row,6,-1);
+ $this->result[$idx].='FREEBUSY:'.$dtstart.'/'.$dtend."\n";
+ $dtstart='';
+ $dtend='';
+ }
+ }
+ elseif(mb_strstr($row,'FREEBUSY:'))
+ $this->result[$idx].=$row."\n";
+ }
+ }
+ }
+
+ /**
+ * Liefert die FreeBusy Eintraege
+ */
+ public function getFreeBusy()
+ {
+ return implode($this->result);
+ }
+}
+?>
\ No newline at end of file
diff --git a/system/FH-Complete.txp b/system/FH-Complete.txp
index 580704a11..0c84c4c9f 100644
--- a/system/FH-Complete.txp
+++ b/system/FH-Complete.txp
@@ -3267,6 +3267,7 @@
{92C7C73F-6DA9-46EB-867D-1F942EDBD429}
{F1011062-F507-4859-9C8E-0EA6DF214535}
{FE526FF6-5293-4905-A790-F5E3196D20C0}
+ {14D3777D-B05B-466E-9C6E-0AF8E54755A2}
0
0
@@ -8760,6 +8761,81 @@
0
1
+
+ {48F9560B-233A-4ACD-9110-B2CECE88874D}
+ tbl_freebusy
+ 0
+ {5E078E32-2D2F-4FEA-8903-2EC95C58307E}
+ 0
+ {D170DA60-1197-4C97-B562-B1F8EDC96F5F}
+ 1
+ 0
+ 15780518
+ 238
+ 0
+ Arial
+ 0
+ 0
+ -28
+ 1383
+ 4690
+ 0
+ 335
+ 200
+ 0
+ 1
+ 1
+ 1
+ 0
+
+ {543DA197-301D-4617-9819-59540A5CC91D}
+ {14D3777D-B05B-466E-9C6E-0AF8E54755A2}
+
+ 0
+ 0
+ 2
+ 0
+ 0
+ 0
+ 1
+
+
+ {022D83A7-13CC-47F9-AC0D-43A350D12677}
+ tbl_freebusytyp
+ 0
+ {5F1E3141-7D7B-4DE2-B49F-1E7BCE928DEC}
+ 0
+ {B7D26DFE-3DF5-4EC9-8C53-CC6BD60F51A2}
+ 1
+ 0
+ 15780518
+ 238
+ 0
+ Arial
+ 0
+ 0
+ -28
+ 1695
+ 4549
+ 0
+ 448
+ 200
+ 0
+ 1
+ 1
+ 1
+ 0
+
+ {543DA197-301D-4617-9819-59540A5CC91D}
+
+ 0
+ 0
+ 2
+ 0
+ 0
+ 0
+ 1
+
@@ -8785,15 +8861,15 @@
{AE958387-4CAC-43B9-8DB6-46E368970923}
3068
- 2018
+ 2020
2023
- 1914
+ 1917
2054
- 1914
+ 1917
4082
@@ -9520,11 +9596,11 @@
2023
- 1792
+ 1791
2054
- 1792
+ 1791
6362
@@ -9774,15 +9850,15 @@
{3FBDF806-A6E0-418B-A632-9E02C6784B78}
3578
- 2233
+ 2234
2023
- 1937
+ 1938
2054
- 1937
+ 1938
5102
@@ -9817,15 +9893,15 @@
{2A9923DB-E256-4D6E-B571-DF1E915D3735}
4037
- 1969
+ 1972
2023
- 1881
+ 1886
2054
- 1881
+ 1886
6020
@@ -9860,15 +9936,15 @@
{8CD50CD1-71FB-4FAC-8C97-E7FB4ACCA17A}
5802
- 2231
+ 2233
2023
- 1892
+ 1896
2054
- 1892
+ 1896
9551
@@ -9946,15 +10022,15 @@
{8CB6E293-D364-4635-99BB-B716BD683617}
6554
- 1172
+ 1171
2023
- 1814
+ 1812
2054
- 1814
+ 1812
11055
@@ -10032,15 +10108,15 @@
{FDA5C62A-FB2F-4276-A629-056A13FE389C}
4414
- 2123
+ 2125
2023
- 1903
+ 1907
2054
- 1903
+ 1907
6775
@@ -10075,15 +10151,15 @@
{6361673E-711F-44A1-B2A2-567CEFE5EACD}
6838
- 1419
+ 1422
2023
- 1848
+ 1854
2054
- 1848
+ 1854
11623
@@ -15376,15 +15452,15 @@
{DA94A477-BEF7-46E1-B584-D5D3B9ACA955}
2495
- 1874
+ 1877
2023
- 1859
+ 1865
2054
- 1859
+ 1865
2936
@@ -15462,7 +15538,7 @@
{50F56A06-2253-4C1B-B89F-1C7F3210F086}
6246
- 1307
+ 1306
10469
@@ -15474,11 +15550,11 @@
2054
- 1826
+ 1823
2023
- 1826
+ 1823
@@ -22108,15 +22184,15 @@
{5237A702-978B-4895-A700-E85AB4FAD842}
3790
- 1599
+ 1603
2023
- 1837
+ 1844
2054
- 1837
+ 1844
5727
@@ -22408,16 +22484,16 @@
{3BE3FDB1-C3BD-49BF-8EEE-E16D4E577FE1}
- 2652
+ 2651
2040
2023
- 1948
+ 1949
2054
- 1948
+ 1949
3449
@@ -23582,15 +23658,15 @@
{98394113-7DC4-4BFF-BA0E-95FC67C24A1E}
4840
- 2410
+ 2411
2023
- 1926
+ 1928
2054
- 1926
+ 1928
7826
@@ -23625,15 +23701,15 @@
{015B4BEF-0757-4CFB-BAEE-D97CBCEDCE2F}
4057
- 980
+ 979
2023
- 1803
+ 1802
2054
- 1803
+ 1802
6260
@@ -25197,15 +25273,15 @@
{B9DEDF57-70C8-449B-A293-70B3FD6E5423}
6036
- 1948
+ 1951
2023
- 1870
+ 1875
2054
- 1870
+ 1875
10218
@@ -25432,6 +25508,92 @@
+
+ {543DA197-301D-4617-9819-59540A5CC91D}
+ fk_freebusytyp_freebusy
+ 0
+ {DEA58A9B-D585-4152-81CF-3A2971805B34}
+ 0
+ {84B4E7FB-894E-465C-AF85-0B31678B753C}
+ 1
+ 0
+ 15780518
+ 238
+ 0
+ Arial
+ 0
+ 0
+ -28
+
+ {022D83A7-13CC-47F9-AC0D-43A350D12677}
+
+
+ {48F9560B-233A-4ACD-9110-B2CECE88874D}
+
+ 4715
+ 1579
+
+
+ 4773
+ 1695
+
+
+ 4773
+ 1664
+
+
+ 4858
+ 1614
+
+
+ 4858
+ 1583
+
+
+
+
+ {14D3777D-B05B-466E-9C6E-0AF8E54755A2}
+ fk_benutzer_freebusy
+ 0
+ {B9B69478-83FA-43A9-8DC5-EA0759416FB3}
+ 0
+ {831A43F4-EF1A-4384-9423-DAAB71BE3ED0}
+ 1
+ 0
+ 15780518
+ 238
+ 0
+ Arial
+ 0
+ 0
+ -28
+
+ {50F56A06-2253-4C1B-B89F-1C7F3210F086}
+
+
+ {48F9560B-233A-4ACD-9110-B2CECE88874D}
+
+ 3256
+ 1598
+
+
+ 2023
+ 1833
+
+
+ 2054
+ 1833
+
+
+ 4659
+ 1483
+
+
+ 4690
+ 1483
+
+
+
@@ -35302,8 +35464,8 @@
0
0
-28
- 1708
- 4103
+ 1964
+ 4124
0
1038
200
@@ -35493,8 +35655,8 @@
0
0
-28
- 1269
- 4139
+ 1037
+ 5233
0
861
356
@@ -35992,8 +36154,8 @@
0
0
-28
- 63
- 4212
+ 25
+ 4206
0
867
395
@@ -36027,8 +36189,8 @@
0
0
-28
- 588
- 4247
+ 453
+ 4192
0
894
551
@@ -36100,8 +36262,8 @@
0
0
-28
- 1160
- 5230
+ 1416
+ 5246
0
830
239
@@ -36137,8 +36299,8 @@
0
0
-28
- 528
- 5319
+ 411
+ 5250
0
860
590
@@ -36257,8 +36419,8 @@
0
0
-28
- 1562
- 6278
+ 1525
+ 6395
0
781
200
@@ -36484,8 +36646,8 @@
0
0
-28
- 1477
- 5234
+ 1760
+ 6238
0
764
200
@@ -36521,8 +36683,8 @@
0
0
-28
- 1766
- 5198
+ 1706
+ 5191
0
901
434
@@ -36559,8 +36721,8 @@
0
0
-28
- 1592
- 7228
+ 1346
+ 7270
0
815
200
@@ -36581,6 +36743,80 @@
1
1
+
+ {218B3815-BF6A-490B-B8CF-BB9BC3CBB4BC}
+ tbl_freebusy
+ 0
+ {051FACC8-6100-4808-8A4C-2D5475D75BC2}
+ 0
+ {D170DA60-1197-4C97-B562-B1F8EDC96F5F}
+ 1
+ 0
+ 12639424
+ 238
+ 0
+ Arial
+ 0
+ 0
+ -28
+ 1187
+ 4175
+ 0
+ 888
+ 239
+ 0
+ 1
+ 1
+ 1
+ 1
+
+ {8D2C9011-5355-426F-A113-4A649EE9EDAC}
+
+ 1
+ 1
+ 5
+ 1
+ 0
+ 1
+ 1
+
+
+ {0C200322-31E1-49D8-BED2-438D386F4175}
+ tbl_freebusytyp
+ 0
+ {FAEFACDE-55B7-4E28-BDDD-97C55E2B92CA}
+ 0
+ {B7D26DFE-3DF5-4EC9-8C53-CC6BD60F51A2}
+ 1
+ 0
+ 12639424
+ 238
+ 0
+ Arial
+ 0
+ 0
+ -28
+ 1589
+ 4179
+ 0
+ 867
+ 200
+ 0
+ 1
+ 1
+ 1
+ 1
+
+ {8D2C9011-5355-426F-A113-4A649EE9EDAC}
+
+ 1
+ 1
+ 5
+ 1
+ 0
+ 1
+ 1
+
@@ -36691,16 +36927,16 @@
{83601A3C-3C62-4DD2-8F11-A9493F5997E4}
- 4600
- 2019
+ 4611
+ 2147
- 4622
- 1908
+ 4643
+ 2164
- 4622
- 1939
+ 4643
+ 2195
4618
@@ -37434,16 +37670,16 @@
{E1C9E6E3-90B8-49A2-85A0-2C382A2DEEB0}
- 6062
- 1204
+ 6070
+ 1332
- 6060
- 1280
+ 6076
+ 1536
- 6091
- 1280
+ 6107
+ 1536
6260
@@ -37477,8 +37713,8 @@
{EA51A6CA-3B44-4BC2-A8BE-355113344D54}
- 6126
- 886
+ 6091
+ 827
6291
@@ -37489,12 +37725,12 @@
1096
- 6210
- 823
+ 6141
+ 706
- 6179
- 823
+ 6110
+ 706
@@ -37520,8 +37756,8 @@
{A98D91E4-4C4C-49F6-BBB7-DFB162F4DFA2}
- 6570
- 1418
+ 6629
+ 1399
6696
@@ -37532,12 +37768,12 @@
1452
- 6668
- 1531
+ 6786
+ 1494
- 6668
- 1562
+ 6786
+ 1525
@@ -37563,8 +37799,8 @@
{A98D91E4-4C4C-49F6-BBB7-DFB162F4DFA2}
- 6438
- 1818
+ 6497
+ 1799
6432
@@ -37575,12 +37811,12 @@
1990
- 6668
- 1793
+ 6786
+ 1756
- 6668
- 1762
+ 6786
+ 1725
@@ -37606,8 +37842,8 @@
{EA51A6CA-3B44-4BC2-A8BE-355113344D54}
- 5477
- 356
+ 5443
+ 297
5550
@@ -37618,12 +37854,12 @@
363
- 5606
- 497
+ 5537
+ 380
- 5606
- 528
+ 5537
+ 411
@@ -37704,16 +37940,16 @@
{A35383EA-0703-4EBA-AB5F-A68F8E6BD16B}
- 5853
- 301
+ 5818
+ 242
- 5892
- 528
+ 5823
+ 411
- 5892
- 497
+ 5823
+ 380
6014
@@ -37876,24 +38112,24 @@
{9592E5CD-A497-41B0-A32F-BEFD756A0A6A}
- 5493
- 1667
+ 6026
+ 1872
- 5616
- 1677
+ 6238
+ 1860
- 5616
- 1708
+ 6207
+ 1860
- 5648
- 1735
+ 6123
+ 1995
- 5648
- 1766
+ 6092
+ 1995
@@ -37919,8 +38155,8 @@
{9592E5CD-A497-41B0-A32F-BEFD756A0A6A}
- 6021
- 1488
+ 6018
+ 1423
6291
@@ -37931,12 +38167,12 @@
1312
- 6130
- 1983
+ 6123
+ 1851
- 6099
- 1983
+ 6092
+ 1851
@@ -37962,8 +38198,8 @@
{83C7C783-DDFF-4FB1-956A-06F3B409AB8E}
- 7365
- 1458
+ 7387
+ 1334
7795
@@ -37974,12 +38210,12 @@
1274
- 7636
- 1561
+ 7678
+ 1315
- 7636
- 1592
+ 7678
+ 1346
@@ -38005,8 +38241,8 @@
{83C7C783-DDFF-4FB1-956A-06F3B409AB8E}
- 6865
- 1781
+ 6886
+ 1658
6733
@@ -38017,12 +38253,55 @@
1990
- 7197
- 1692
+ 7239
+ 1446
- 7228
- 1692
+ 7270
+ 1446
+
+
+
+
+ {8D2C9011-5355-426F-A113-4A649EE9EDAC}
+ fk_freebusytyp_freebusy
+ 0
+ {7D5BDAA6-52A4-4862-BF7D-78F354C6EBCE}
+ 0
+ {84B4E7FB-894E-465C-AF85-0B31678B753C}
+ 1
+ 0
+ 15780518
+ 238
+ 0
+ Arial
+ 0
+ 0
+ -28
+
+ {0C200322-31E1-49D8-BED2-438D386F4175}
+
+
+ {218B3815-BF6A-490B-B8CF-BB9BC3CBB4BC}
+
+ 4515
+ 1448
+
+
+ 4612
+ 1589
+
+
+ 4612
+ 1558
+
+
+ 4619
+ 1457
+
+
+ 4619
+ 1426
@@ -45596,6 +45875,7 @@
{980B0C1C-28D6-4B4E-84FB-BCB4F33A3490}
{BABA7152-7013-4B27-8327-CE022E2A5297}
{3F70B3B5-44FA-4C8D-B707-79E3DB8CA863}
+ {0ACFAC11-8904-49DF-98DC-E5FC891CD673}
1
1
@@ -45955,6 +46235,81 @@
1
1
+
+ {4497CF6D-F4D0-488D-AFB2-C0638A89F4B1}
+ tbl_freebusy
+ 0
+ {433FE605-E148-43F6-8FCF-7920A36B2009}
+ 0
+ {D170DA60-1197-4C97-B562-B1F8EDC96F5F}
+ 1
+ 0
+ 15780518
+ 238
+ 0
+ Arial
+ 0
+ 0
+ -28
+ 1383
+ 4690
+ 0
+ 200
+ 300
+ 0
+ 1
+ 1
+ 1
+ 0
+
+ {1B9FF8D3-AF9F-4DCF-96BB-13E1098E58E0}
+ {0ACFAC11-8904-49DF-98DC-E5FC891CD673}
+
+ 1
+ 1
+ 5
+ 1
+ 0
+ 1
+ 1
+
+
+ {977B7BD8-513F-4ECE-9BF8-F9DEDFF6CB4D}
+ tbl_freebusytyp
+ 0
+ {664BE803-48FD-4F8F-8BCF-8B3ED2E84B16}
+ 0
+ {B7D26DFE-3DF5-4EC9-8C53-CC6BD60F51A2}
+ 1
+ 0
+ 15780518
+ 238
+ 0
+ Arial
+ 0
+ 0
+ -28
+ 1695
+ 4549
+ 0
+ 200
+ 300
+ 0
+ 1
+ 1
+ 1
+ 0
+
+ {1B9FF8D3-AF9F-4DCF-96BB-13E1098E58E0}
+
+ 1
+ 1
+ 5
+ 1
+ 0
+ 1
+ 1
+
@@ -46511,6 +46866,58 @@
0
+
+ {1B9FF8D3-AF9F-4DCF-96BB-13E1098E58E0}
+ fk_freebusytyp_freebusy
+ 0
+ {E136ABBF-9A08-4CC0-A3E6-31B7AC2608FE}
+ 0
+ {84B4E7FB-894E-465C-AF85-0B31678B753C}
+ 1
+ 0
+ 15780518
+ 238
+ 0
+ Arial
+ 0
+ 0
+ -28
+
+ {977B7BD8-513F-4ECE-9BF8-F9DEDFF6CB4D}
+
+
+ {4497CF6D-F4D0-488D-AFB2-C0638A89F4B1}
+
+ 0
+ 0
+
+
+
+ {0ACFAC11-8904-49DF-98DC-E5FC891CD673}
+ fk_benutzer_freebusy
+ 0
+ {97E6A286-B92F-4877-94FB-7AF235650ED5}
+ 0
+ {831A43F4-EF1A-4384-9423-DAAB71BE3ED0}
+ 1
+ 0
+ 15780518
+ 238
+ 0
+ Arial
+ 0
+ 0
+ -28
+
+ {950941FE-7219-4043-82FD-8E6AE76BD8A7}
+
+
+ {4497CF6D-F4D0-488D-AFB2-C0638A89F4B1}
+
+ 0
+ 0
+
+
@@ -46649,7 +47056,7 @@
Technikum Wien
2.0
2009-04-17T10:15:21.000+01:00
- 2012-01-19T11:37:20.793+01:00
+ 2012-01-27T09:08:34.319+01:00
FH-Complete 2.0
<?xml-stylesheet type="text/xsl" href="FHCompleteTDM3PG83.xsl"?>
@@ -46980,6 +47387,8 @@
{CB59DC4F-DFEC-41DE-B3A6-ABA59BF5ADF7}
{52C9E7E9-9A19-4074-B84B-5B8E70CDACFB}
{4A6BD37B-0955-4086-A84C-B275D73784EB}
+ {D170DA60-1197-4C97-B562-B1F8EDC96F5F}
+ {B7D26DFE-3DF5-4EC9-8C53-CC6BD60F51A2}
0
0
@@ -86490,6 +86899,7 @@ Studiengang>0 und Semester>0 -> News fuer bestimmtes Semester im Studie
{C46E22BE-5FD0-4630-BD19-988C9AFDCF28}
{3D35A973-7B7D-4DD5-9870-9F5F562D8130}
{F644BCC8-498F-484C-AF4A-F34DECA37F2C}
+ {831A43F4-EF1A-4384-9423-DAAB71BE3ED0}
@@ -86547,6 +86957,7 @@ Studiengang>0 und Semester>0 -> News fuer bestimmtes Semester im Studie
{06829AC1-DD34-4898-BA1B-F43A476D7BB4}
{F6581D94-8798-4820-B6B8-030D7E887D9B}
{B024C552-940F-4557-A6E9-ADE710D423E9}
+ {D4D2B31B-D505-4995-BE3B-A7EB8A6C34F1}
@@ -87036,6 +87447,7 @@ Studiengang>0 und Semester>0 -> News fuer bestimmtes Semester im Studie
{06829AC1-DD34-4898-BA1B-F43A476D7BB4}
{F6581D94-8798-4820-B6B8-030D7E887D9B}
{B024C552-940F-4557-A6E9-ADE710D423E9}
+ {D4D2B31B-D505-4995-BE3B-A7EB8A6C34F1}
@@ -87066,6 +87478,7 @@ Studiengang>0 und Semester>0 -> News fuer bestimmtes Semester im Studie
{C46E22BE-5FD0-4630-BD19-988C9AFDCF28}
{3D35A973-7B7D-4DD5-9870-9F5F562D8130}
{F644BCC8-498F-484C-AF4A-F34DECA37F2C}
+ {831A43F4-EF1A-4384-9423-DAAB71BE3ED0}
@@ -144322,6 +144735,515 @@ Wenn FALSE haengt die Anzahl der Fragen pro Level von der Gesamtzahl pro Level a
+
+ {D170DA60-1197-4C97-B562-B1F8EDC96F5F}
+ tbl_freebusy
+ 0
+ {35DF8149-3CA0-4BC7-A4EB-9CAA1F77629E}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+ tbl_freebusy
+ 0
+
+ {84B4E7FB-894E-465C-AF85-0B31678B753C}
+ {831A43F4-EF1A-4384-9423-DAAB71BE3ED0}
+
+
+
+ {DBC4FC63-CE8F-4205-9111-DA866AC1E43E}
+ freebusy_id
+ 1
+ {8062C75D-A93F-467A-86D6-E6B6F1A0A5B9}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+
+
+ 0
+
+ 1
+ 0
+ freebusy_id
+ 0
+
+
+
+
+ {616D885D-A37C-4B44-8437-63F5E579CDE1}
+
+
+
+
+
+
+ {5F0FB0CB-62A1-4BDC-A4DA-882CACFC296A}
+
+
+
+
+
+
+
+ 0
+
+
+ {A2912A7D-3ED3-47F6-9647-B5C054AC200A}
+ uid
+ 2
+ {1CF1137F-FC74-4C5C-8747-4115A9314152}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+ 32
+
+ 0
+
+ 1
+ 1
+ uid
+ 0
+
+
+
+
+
+
+ {D4D2B31B-D505-4995-BE3B-A7EB8A6C34F1}
+
+
+
+
+ {ECB8F02F-B683-4252-8508-ED9D064C9AF3}
+
+
+
+
+
+
+
+ 0
+
+
+ {5FF5C99A-B03B-4FB6-BA91-FFA530301C64}
+ freebusytyp_kurzbz
+ 3
+ {494359FB-AA15-4409-B67C-A975642B3191}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+ 32
+
+ 0
+
+ 0
+ 1
+ freebusytyp_kurzbz
+ 0
+
+
+
+
+
+
+ {6773CA57-6B9B-472D-A3B5-1D663752FB42}
+
+
+
+
+ {ECB8F02F-B683-4252-8508-ED9D064C9AF3}
+
+
+
+
+
+
+
+ 0
+
+
+ {C8CC31C1-A497-4AC4-B164-5BC66CF71B4C}
+ url
+ 4
+ {74A9A57E-A26D-44F9-9D07-D6F39090D697}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+ 1024
+
+ 0
+
+ 1
+ 0
+ url
+ 0
+
+
+
+
+
+
+
+
+
+ {ECB8F02F-B683-4252-8508-ED9D064C9AF3}
+
+
+
+
+
+
+
+ 0
+
+
+ {F5348B90-5A4D-4B97-8EBB-29484EC38EFE}
+ aktiv
+ 5
+ {1955564C-8F7C-4A24-992A-A8E2AB9A9021}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+
+
+ 0
+
+ 1
+ 0
+ aktiv
+ 0
+
+
+
+
+
+
+
+
+
+ {D64069A5-B04A-490B-B0A2-5144DEA81A2E}
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ {5C04C7A5-5D56-4B03-986E-C519C9644E77}
+ Key48
+ 0
+ {F78B3987-ADBC-4E81-BB5F-A7F2B87F9F22}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+ Key48
+
+
+ {616D885D-A37C-4B44-8437-63F5E579CDE1}
+ freebusy_id
+ 0
+ {B042833C-D1C5-46D8-8D1C-80AA630AA863}
+ 0
+ 1
+
+
+
+
+ 0
+
+ {DBC4FC63-CE8F-4205-9111-DA866AC1E43E}
+
+
+
+
+
+
+
+
+
+
+
+ {5C04C7A5-5D56-4B03-986E-C519C9644E77}
+
+
+
+
+
+
+
+
+ {A0178E89-8366-4582-834F-E124208C684D}
+
+
+ 0
+
+ 0
+
+
+
+
+
+
+ {B7D26DFE-3DF5-4EC9-8C53-CC6BD60F51A2}
+ tbl_freebusytyp
+ 0
+ {8DC16EE7-E7E0-453F-BAF2-9AD2338A1763}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+ tbl_freebusytyp
+ 0
+
+ {84B4E7FB-894E-465C-AF85-0B31678B753C}
+
+
+
+ {ED1157D9-5AA6-48B3-9329-93FFC64B522F}
+ freebusytyp_kurzbz
+ 0
+ {AC50CF58-1544-4233-93D1-11D8798CBB43}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+ 32
+
+ 0
+
+ 1
+ 0
+ freebusytyp_kurzbz
+ 0
+
+
+
+
+ {540162AA-15C7-4D2F-B3DC-76235F70C396}
+
+
+ {6773CA57-6B9B-472D-A3B5-1D663752FB42}
+
+
+
+
+
+ {ECB8F02F-B683-4252-8508-ED9D064C9AF3}
+
+
+
+
+
+
+
+ 0
+
+
+ {FE5C9568-141F-4CFA-8323-1F5FB2B7331D}
+ bezeichnung
+ 0
+ {72D562E9-5DC8-4303-BDB9-6558A6285A3B}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+ 256
+
+ 0
+
+ 0
+ 0
+ bezeichnung
+ 0
+
+
+
+
+
+
+
+
+
+ {ECB8F02F-B683-4252-8508-ED9D064C9AF3}
+
+
+
+
+
+
+
+ 0
+
+
+ {92E5DA94-550E-44E2-BC60-17A64951373C}
+ beschreibung
+ 0
+ {B0708A60-4EFB-413B-9A02-1E6D89AE9EB8}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+
+
+ 0
+
+ 0
+ 0
+ beschreibung
+ 0
+
+
+
+
+
+
+
+
+
+ {8D91E2A4-12F5-40E3-BAC2-BFCF7BE1C8B7}
+
+
+
+
+
+
+
+ 0
+
+
+
+
+ {D5EDB1EA-12BA-4C5A-A0CE-0266583EBD63}
+ Key49
+ 0
+ {72A91D12-E535-4C11-B2E4-C1D9D7413684}
+ 0
+ 0
+ 0
+ 0
+ 1
+
+
+
+
+ Key49
+
+
+ {540162AA-15C7-4D2F-B3DC-76235F70C396}
+ freebusytyp_kurzbz
+ 0
+ {6BD92C59-3341-4BF1-9BE7-F59E0D82B86B}
+ 0
+ 1
+
+
+
+
+ 0
+
+ {ED1157D9-5AA6-48B3-9329-93FFC64B522F}
+
+
+ {6773CA57-6B9B-472D-A3B5-1D663752FB42}
+
+
+
+
+ {84B4E7FB-894E-465C-AF85-0B31678B753C}
+
+
+
+
+
+
+
+ {D5EDB1EA-12BA-4C5A-A0CE-0266583EBD63}
+
+
+
+
+
+
+
+
+ {A0178E89-8366-4582-834F-E124208C684D}
+
+
+ 0
+
+ 0
+
+
+
+
+
@@ -167185,6 +168107,122 @@ Wenn FALSE haengt die Anzahl der Fragen pro Level von der Gesamtzahl pro Level a
SIMPLE
1
+
+ {84B4E7FB-894E-465C-AF85-0B31678B753C}
+ fk_freebusytyp_freebusy
+ 0
+ {763BFB38-9D88-44BF-969C-3453D247B736}
+ 0
+
+ {B7D26DFE-3DF5-4EC9-8C53-CC6BD60F51A2}
+
+
+ {D170DA60-1197-4C97-B562-B1F8EDC96F5F}
+
+ 1
+
+
+ 0
+ 0
+ 0
+ -1
+
+ fk_freebusytyp_freebusy
+
+ 0
+ 0
+ 0
+ 0
+
+ {D5EDB1EA-12BA-4C5A-A0CE-0266583EBD63}
+
+
+
+ {6773CA57-6B9B-472D-A3B5-1D663752FB42}
+ FK freebusytyp_kurzbz - freebusytyp_kurzbz
+ 0
+ {986DC86D-8C85-4F8D-88B6-8CEB7DEE20CD}
+ 0
+ 1
+
+
+
+
+
+ {ED1157D9-5AA6-48B3-9329-93FFC64B522F}
+
+
+ {5FF5C99A-B03B-4FB6-BA91-FFA530301C64}
+
+
+ {540162AA-15C7-4D2F-B3DC-76235F70C396}
+
+
+
+
+ 0
+ 0
+ SIMPLE
+ 1
+
+
+ {831A43F4-EF1A-4384-9423-DAAB71BE3ED0}
+ fk_benutzer_freebusy
+ 0
+ {17752ED9-2192-4392-B073-6C2928CFE981}
+ 0
+
+ {20863D57-4A76-4276-B1E9-1FF7E0B4C0BB}
+
+
+ {D170DA60-1197-4C97-B562-B1F8EDC96F5F}
+
+ 1
+
+
+ 0
+ 0
+ 0
+ -1
+
+ fk_benutzer_freebusy
+
+ 0
+ 0
+ 0
+ 0
+
+ {70EE0BEF-C69B-4791-AEBC-2767B8F1CFB3}
+
+
+
+ {D4D2B31B-D505-4995-BE3B-A7EB8A6C34F1}
+ FK uid - uid
+ 0
+ {F5479316-B382-468F-B216-0A06B682DE49}
+ 0
+ 1
+
+
+
+
+
+ {FB409F67-7476-4E1F-88C7-F3E6BC9BE1C3}
+
+
+ {A2912A7D-3ED3-47F6-9647-B5C054AC200A}
+
+
+ {AA8ACCF4-983D-47F3-B631-844DA7380947}
+
+
+
+
+ 0
+ 0
+ SIMPLE
+ 1
+
@@ -200255,6 +201293,8 @@ SELECT tbl_pruefling.prestudent_id, tbl_pruefling.pruefling_id, tbl_pruefling.st
{CB59DC4F-DFEC-41DE-B3A6-ABA59BF5ADF7}
{52C9E7E9-9A19-4074-B84B-5B8E70CDACFB}
{4A6BD37B-0955-4086-A84C-B275D73784EB}
+ {D170DA60-1197-4C97-B562-B1F8EDC96F5F}
+ {B7D26DFE-3DF5-4EC9-8C53-CC6BD60F51A2}
diff --git a/system/checksystem.php b/system/checksystem.php
index 333755f70..fea1228d2 100644
--- a/system/checksystem.php
+++ b/system/checksystem.php
@@ -3205,6 +3205,62 @@ if(!$result = @$db->db_query('SELECT 1 FROM campus.tbl_dms_kategorie_gruppe LIMI
else
echo 'Tabelle campus.tbl_dms_kategorie_gruppe hinzugefuegt!
';
}
+
+
+// Tabelle fuer FreeBusy
+if(!@$db->db_query("SELECT 1 FROM campus.tbl_freebusy LIMIT 1"))
+{
+ $qry = "
+ CREATE TABLE campus.tbl_freebusy
+ (
+ freebusy_id integer NOT NULL,
+ uid varchar(32) NOT NULL,
+ freebusytyp_kurzbz varchar(32) NOT NULL,
+ url varchar(1024) NOT NULL,
+ aktiv boolean NOT NULL,
+ bezeichnung varchar(256),
+ insertamum timestamp,
+ insertvon varchar(32),
+ updateamum timestamp,
+ updatevon varchar(32)
+ );
+
+ CREATE TABLE campus.tbl_freebusytyp
+ (
+ freebusytyp_kurzbz varchar(32) NOT NULL,
+ bezeichnung varchar(256),
+ beschreibung text
+ );
+
+ CREATE SEQUENCE campus.seq_freebusy_freebusy_id
+ INCREMENT BY 1
+ NO MAXVALUE
+ NO MINVALUE
+ CACHE 1;
+
+ ALTER TABLE campus.tbl_freebusy ALTER COLUMN freebusy_id SET DEFAULT nextval('campus.seq_freebusy_freebusy_id');
+
+ ALTER TABLE campus.tbl_freebusy ADD CONSTRAINT pk_freebusy PRIMARY KEY (freebusy_id);
+ ALTER TABLE campus.tbl_freebusytyp ADD CONSTRAINT pk_freebusytyp PRIMARY KEY (freebusytyp_kurzbz);
+
+ ALTER TABLE campus.tbl_freebusy ADD CONSTRAINT fk_freebusytyp_freebusy FOREIGN KEY(freebusytyp_kurzbz) REFERENCES campus.tbl_freebusytyp(freebusytyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
+ ALTER TABLE campus.tbl_freebusy ADD CONSTRAINT fk_benutzer_freebusy FOREIGN KEY(uid) REFERENCES public.tbl_benutzer(uid) ON DELETE CASCADE ON UPDATE CASCADE;
+
+ GRANT SELECT, INSERT, UPDATE, DELETE ON campus.tbl_freebusy TO admin;
+ GRANT SELECT, INSERT, UPDATE, DELETE ON campus.tbl_freebusytyp TO admin;
+ GRANT SELECT, INSERT, UPDATE, DELETE ON campus.tbl_freebusy TO web;
+ GRANT SELECT, INSERT, UPDATE, DELETE ON campus.tbl_freebusytyp TO web;
+
+ GRANT SELECT, UPDATE ON campus.seq_freebusy_freebusy_id TO admin;
+ GRANT SELECT, UPDATE ON campus.seq_freebusy_freebusy_id TO web;
+ ";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_freebusy: '.$db->db_last_error().'
';
+ else
+ echo 'Tabelle campus.tbl_freebusy, campus.tbl_freebusytyp hinzugefuegt!
';
+}
+
echo '
';
$tabellen=array(
@@ -3243,8 +3299,10 @@ $tabellen=array(
"campus.tbl_dms_version" => array("dms_id","version","filename","mimetype","name","beschreibung","letzterzugriff","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_erreichbarkeit" => array("erreichbarkeit_kurzbz","beschreibung","farbe"),
"campus.tbl_feedback" => array("feedback_id","betreff","text","datum","uid","lehrveranstaltung_id","updateamum","updatevon","insertamum","insertvon"),
+ "campus.tbl_freebusy" => array("freebusy_id","uid","freebusytyp_kurzbz","url","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon"),
+ "campus.tbl_freebusytyp" => array("freebusytyp_kurzbz","bezeichnung","beschreibung"),
"campus.tbl_infoscreen" => array("infoscreen_id","bezeichnung","beschreibung","ipadresse"),
- "campus.tbl_infoscreen_content" => array("infoscreen_content_id","infoscreen_id","content_id","gueltigvon","gueltigbis","insertamum","insertvon","updateamum","updatevon"),
+ "campus.tbl_infoscreen_content" => array("infoscreen_content_id","infoscreen_id","content_id","gueltigvon","gueltigbis","insertamum","insertvon","updateamum","updatevon","refreshzeit"),
"campus.tbl_legesamtnote" => array("student_uid","lehreinheit_id","note","benotungsdatum","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_lvgesamtnote" => array("lehrveranstaltung_id","studiensemester_kurzbz","student_uid","note","mitarbeiter_uid","benotungsdatum","freigabedatum","freigabevon_uid","bemerkung","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_lvinfo" => array("lehrveranstaltung_id","sprache","titel","lehrziele","lehrinhalte","methodik","voraussetzungen","unterlagen","pruefungsordnung","anmerkung","kurzbeschreibung","genehmigt","aktiv","updateamum","updatevon","insertamum","insertvon"),