From 8298342967ddd540ff3a6fd9d48bb308587fce3b Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Tue, 30 Apr 2013 10:19:01 +0000 Subject: [PATCH] =?UTF-8?q?Vilesci=20Redesign=20lehrveranstaltung.php:=20B?= =?UTF-8?q?utton=20zum=20Anlegen=20von=20Lehrf=C3=A4chern=20lehrfach.php:?= =?UTF-8?q?=20Neuer=20Tablesorter=20reservierung=5Finsert.php:=20Ort=20mit?= =?UTF-8?q?=20Autocomplete=20und=20Datum=20mit=20Datepicker?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lvplan/stpl_week_anzahl_studenten.php | 6 +- include/tw/vilesci_menu_main.inc.php | 27 +- skin/images/square_blue.png | Bin 0 -> 196 bytes skin/images/vilesci_addons.png | Bin 0 -> 1584 bytes skin/images/vilesci_admin.png | Bin 0 -> 1460 bytes skin/images/vilesci_farbverlauf.png | Bin 0 -> 5371 bytes skin/images/vilesci_inventar.png | Bin 0 -> 1907 bytes skin/images/vilesci_lehre.png | Bin 0 -> 1421 bytes skin/images/vilesci_lvplan.png | Bin 0 -> 1848 bytes skin/images/vilesci_personen.png | Bin 0 -> 1777 bytes skin/images/vilesci_sdtools.png | Bin 0 -> 2332 bytes skin/images/vilesci_stammdaten.png | Bin 0 -> 1995 bytes skin/images/vilesci_statistik.png | Bin 0 -> 1258 bytes skin/images/vilesci_wartung.png | Bin 0 -> 1699 bytes skin/vilesci.css | 140 ++++---- vilesci/index.php | 21 +- vilesci/left.php | 2 +- vilesci/lehre/lehrfach.php | 83 +++-- vilesci/lehre/lehrveranstaltung.php | 27 +- vilesci/lehre/reservierung_autocomplete.php | 49 +++ vilesci/lehre/reservierung_insert.php | 318 ++++++++++-------- vilesci/top.php | 4 +- 22 files changed, 414 insertions(+), 263 deletions(-) create mode 100644 skin/images/square_blue.png create mode 100644 skin/images/vilesci_addons.png create mode 100644 skin/images/vilesci_admin.png create mode 100644 skin/images/vilesci_farbverlauf.png create mode 100644 skin/images/vilesci_inventar.png create mode 100644 skin/images/vilesci_lehre.png create mode 100644 skin/images/vilesci_lvplan.png create mode 100644 skin/images/vilesci_personen.png create mode 100644 skin/images/vilesci_sdtools.png create mode 100644 skin/images/vilesci_stammdaten.png create mode 100644 skin/images/vilesci_statistik.png create mode 100644 skin/images/vilesci_wartung.png create mode 100644 vilesci/lehre/reservierung_autocomplete.php diff --git a/cis/private/lvplan/stpl_week_anzahl_studenten.php b/cis/private/lvplan/stpl_week_anzahl_studenten.php index ac5fa0820..e5020cabf 100644 --- a/cis/private/lvplan/stpl_week_anzahl_studenten.php +++ b/cis/private/lvplan/stpl_week_anzahl_studenten.php @@ -48,7 +48,7 @@ - + Anzahl Studenten Lehrveranstaltungsplan FH Technikum-Wien @@ -136,8 +136,7 @@ }); }); - - +
schliessen  
@@ -150,7 +149,6 @@ }); }); -
diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index 1f0bd1795..09e4fa781 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -28,7 +28,7 @@ $menu=array //'Admin'=> array('name'=>'Admin', 'link'=>'admin/menu.html', 'target'=>'main'), 'LVPlan'=> array ( - 'name'=>'LV-Plan', 'opener'=>'true', 'hide'=>'false', 'permissions'=>array('admin','lv-plan'), 'image'=>'lvplan.png', + 'name'=>'LV-Plan', 'opener'=>'true', 'hide'=>'false', 'permissions'=>array('admin','lv-plan'), 'image'=>'vilesci_lvplan.png', 'link'=>'left.php?categorie=LVPlan', 'target'=>'nav', 'Gruppenverwaltung'=>array('name'=>'Gruppenverwaltung', 'permissions'=>array('admin','lv-plan','support'), 'link'=>'stammdaten/lvbgruppenverwaltung.php', 'target'=>'main'), 'Lehrveranstaltung'=>array('name'=>'Lehrveranstaltung', 'link'=>'lehre/lehrveranstaltung_frameset.html', 'target'=>'main'), @@ -58,10 +58,17 @@ $menu=array 'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main'), ), + 'Vorrueckung'=> array + ( + 'name'=>'Vorrueckung', 'permissions'=>array('admin','lv-plan','support'), + 'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main'), + 'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main') + ), + ), 'Lehre'=> array ( - 'name'=>'Lehre', 'opener'=>'true', 'hide'=>'false', 'permissions'=>array('admin','lv-plan','support', 'lehre'), 'image'=>'x-office-presentation.png', + 'name'=>'Lehre', 'opener'=>'true', 'hide'=>'false', 'permissions'=>array('admin','lv-plan','support', 'lehre'), 'image'=>'vilesci_lehre.png', 'link'=>'left.php?categorie=Lehre', 'target'=>'nav', 'Gruppenverwaltung'=>array('name'=>'Gruppen', 'permissions'=>array('admin','lv-plan','support'), 'link'=>'stammdaten/lvbgruppenverwaltung.php', 'target'=>'main'), 'Lehrveranstaltung'=>array('name'=>'Lehrveranstaltung', 'link'=>'lehre/lehrveranstaltung_frameset.html', 'target'=>'main'), @@ -106,7 +113,7 @@ $menu=array ), 'Personen'=> array ( - 'name'=>'Personen', 'opener'=>'true', 'hide'=>'true', 'image'=>'system-users.png', 'permissions'=>array('admin','lv-plan','support','mitarbeiter','basis/person'), + 'name'=>'Personen', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_personen.png', 'permissions'=>array('admin','lv-plan','support','mitarbeiter','basis/person'), 'link'=>'left.php?categorie=Personen', 'target'=>'nav', 'Suche'=>array('name'=>'Suche', 'link'=>'personen/suche.php', 'target'=>'main','permissions'=>array('admin','lv-plan','support','basis/person')), 'Zusammenlegen'=>array('name'=>'Zusammenlegen', 'link'=>'stammdaten/personen_wartung.php', 'target'=>'main', 'permissions'=>array('admin','lv-plan','support')), @@ -145,7 +152,7 @@ $menu=array ), 'Stammdaten'=> array ( - 'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/berechtigung','basis/variable','basis/studiengang','basis/ort','basis/firma','basis/fhausweis'), 'image'=>'folder.png', + 'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/berechtigung','basis/variable','basis/studiengang','basis/ort','basis/firma','basis/fhausweis'), 'image'=>'vilesci_stammdaten.png', 'link'=>'left.php?categorie=Stammdaten', 'target'=>'nav', 'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')), 'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('admin','assistenz')), @@ -186,7 +193,7 @@ $menu=array ), 'Wartung'=> array ( - 'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/firma'), 'image'=>'edit-clear.png', + 'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','basis/firma'), 'image'=>'vilesci_wartung.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav', 'Vorrueckung'=> array ( @@ -207,7 +214,7 @@ $menu=array ), 'Auswertung'=> array ( - 'name'=>'Auswertung', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','assistenz','wawi/inventar','basis/statistik'), 'image'=>'statistic.png', + 'name'=>'Auswertung', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support','assistenz','wawi/inventar','basis/statistik'), 'image'=>'vilesci_statistik.png', 'link'=>'left.php?categorie=Auswertung', 'target'=>'nav', /* 'Raumauslastung'=>array('name'=>'Raumauslastung...', 'link'=>'lehre/raumauslastung.php', 'target'=>'main'), @@ -229,7 +236,7 @@ $menu=array ), 'Inventar'=> array ( - 'name'=>'Inventar', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','wawi','support','wawi/inventar'), 'image'=>'edit-paste.png', + 'name'=>'Inventar', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','wawi','support','wawi/inventar'), 'image'=>'vilesci_inventar.png', 'link'=>'left.php?categorie=Inventar', 'target'=>'nav', 'Inventar'=> array ( @@ -243,7 +250,7 @@ $menu=array ), 'Admin'=> array ( - 'name'=>'Admin', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'), 'image'=>'emblem-system.png', + 'name'=>'Admin', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'), 'image'=>'vilesci_admin.png', 'link'=>'left.php?categorie=Admin', 'target'=>'nav', 'Tools'=> array ( @@ -264,7 +271,7 @@ $menu=array ), 'SD-Tools'=> array ( - 'name'=>'SD-Tools', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'), 'image'=>'network-workgroup.png', + 'name'=>'SD-Tools', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'), 'image'=>'vilesci_sdtools.png', 'link'=>'https://sdtools.technikum-wien.at', 'target'=>'_blank', ) @@ -284,7 +291,7 @@ if($addon_obj->loadAddons()) { $menu['Addons']=array ( - 'name'=>'Addons', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('basis/addon'), 'image'=>'statistic.png', + 'name'=>'Addons', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('basis/addon'), 'image'=>'vilesci_addons.png', 'link'=>'left.php?categorie=Addons', 'target'=>'nav' ); diff --git a/skin/images/square_blue.png b/skin/images/square_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..af8b7a8c57cc6b39d2cd2a0ab1cd1b2bc6a1f9d7 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^tU%1p!3HD`EN_1Yq}Y|gW!U_%O?XxI14-? ziy0WWg+Z8+Vb&Z8ke(7xUsv|KjPkrZLJYgo?14ghnIRD+&iT2ysd*(pE(3#eQEFmI zYKlTqrGjr_URn{5>7ALElA}(BEUc?}E` d7)7{*_!$Bnn4(oeO7%d7dAjF**PM literal 0 HcmV?d00001 diff --git a/skin/images/vilesci_addons.png b/skin/images/vilesci_addons.png new file mode 100644 index 0000000000000000000000000000000000000000..8b680a7472dd89bece34039266f82f455a7b6271 GIT binary patch literal 1584 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 Z=RbC!j2Z1(3g-X-002ovPDHLkV1g3?Z%hCH literal 0 HcmV?d00001 diff --git a/skin/images/vilesci_inventar.png b/skin/images/vilesci_inventar.png new file mode 100644 index 0000000000000000000000000000000000000000..ced67ac8a904f6d6a5f1a46b1fd4cac3af8f9e22 GIT binary patch literal 1907 zcmV-(2aNcMP)WFTUBAWdOzW^!d@AWLa(WNaXJX>@2HM@dakVIipd z000KYNkl)M6~{mKzBl9XjPZ;;;9nRUFt~s*ID|q1N@=U6Kla^ZQKgZh zHd6n9?z-r<>q?cXW|3B1Aazlsw5l2@sam3-G=Z98AP@&?oAHdtp0UUC>&?CQbnzZz z8*D;a+9N%^_h#-p=iKxCo*!3LYqetv^(Kn5C_wms$$b%dO|4Zb9|O;AGOeDi9ff*S zqacDPprA^nvK7#cW|KzHLMgRz0ZJ5ZwEh5qg0_B{v7oj!A2F%|13z^ISN`Z)=6etved$>PDY#2BNh(km$)-o~ibz-r2 z_>Br9p*@ACW31O|N<>h(d_hEndNT+Wws)>6EZ!v58KYJ!v3Kt=oO6J~Ifru=k*)Xe zS#ZwMYBg9X6?ox=??w^OXcg+!N|9eGA|m+Cg&rfqqhMK6rKjg8#su8Eca>x^jn-bM zEV?VD@jMTuJYumJT6>hsi=@+i1QDd$$wRxoH5Mllg?D3dtyU(LOaV}@ud;vt)Kl|Q zYfZIUX5Yw(?P;l?Wef;tV=cy-$Fi@y@)_CeK8y+Qy!ejBoih}R|DswgAtIDY56EN& z30f_>yZ3BkTp~uzQ2(rB4`XsDGG&I`uh()rl?X`rc_!$DUC5rl+vuM zED!{BmY3(~OlDbKEs##{!SlSfapxShdIMv^P5ahZ>?018OY>y2g8QR5A6ShU6 z@EJi+r>iT=$jBt1$mMR6%?^{z4!3o*T1{4#XPKY7hSolw-$9}yh3E{P*AYSh_{JEl z2qN+J$BlZCfxaUwFVEB4JIvZzfpU2f&-3Z)J4h^+_*@>uVjcAM4%6Ga5!IQSSGoMb zC0=>u2N-KX1m9STbJFI3F-_vJFl2?oEU8q6?(RK|>_Di`lV-EVjhTP2kXvT|=mB2; z{%cg5V2wo(d>c7{gf1)>XW2V2LcLx=#NqpKJTH!jLn-}~W`&iN1=iO~80&HH-~^|h z>)x8;c9R3vg=rYlx`yv}kjvfS=+O&^I4YGQ4<6h`!~u$Uypv3(pLjgEMQIS!Sz5Y> zh>gNOyoK1gnlO|KH({&=A_zhU!rbpl?ZP?3+FAjnj-!-EI^9n?-M=NQ<#L`Nr~|^< zT7gz8ARg~zaBv*0z4qGWh9g&XR9fNlP%6IRK$`FYbteqUJ7SeIsCU}&R|8R1IaP^=4sDMiEZNR1;L0}!L<$3zDLs1>?r&3vpuyefqhhMW= z(Zu6jOioO2_|RCpxNMf6epu(LdwupKG$J5MqIp0eNV}LSr7$LJT-sWTHHMEqzCklk z{Bvf8!qOV={`ESwdINyD2NgcNI?v@RxA?`IzvIV0`5AZa-h0e}Ps%n-XSH>*QJb!4 zS6FMX*5DgsvDQ#5maw+Tz5Dr)blu6wTg@A<|A@KyS*}fA=kDx0x%@ii)ynn>C|kS6 zKvHp}N3$9T)5|tWQrZ!SAh3Mv<(K)@TNl}#%}`vakzZFP?iA#l!x1Bu;cAQ>7O;L_WF zq`18D)W$sphcg~$`u(=?>o=}4J#(K67rxUr9yUD_)&Xm6n~|I4)Ty&H8k5Z2zQN6# zf8xyZ6P%o!MC+Z$vbVmm0b!$2<(>B~Gd1-hqurTDP6`_l@U00Q*zQD>NFS~GiuUunp{ys0gc!nciI=rPD{`uX%apJ^T28Vlgs1p)#z(f&n4r`q}?Z}%>_i*mq z1zN3uPd~lI&wu$_`m!FLm!f5a^XI>b*7^x)sv-y6LkNts*6Q41p0NY_ALGJ~g!6pH z$B#2Uetg@R|4C=X++q%6jEIQxjWN@$mYKS7^Onrqx~2Z-r(*@-F+`Nsy6z_ui8oqi t{r9b))xXmz=2?q~DBt&2l8MeA{u^l-+TF3qWi$W)002ovPDHLkV1kK|sJj3F literal 0 HcmV?d00001 diff --git a/skin/images/vilesci_lehre.png b/skin/images/vilesci_lehre.png new file mode 100644 index 0000000000000000000000000000000000000000..15a4c4d0c89ae3f16fa89278fe1979f43839debc GIT binary patch literal 1421 zcmV;81#WFTUBAWdOzW^!d@AWLa(WNaXJX>@2HM@dakVIipd z000EwNklujrYB26R$8aZBqY= zUNpV%O0IeV|A4mD3lkGsO`4DtDs4b35Ea3$D6%Zy%kI8&=Jeuy*@^UREy&t~5@n05?DF@UmOZA4XD%*^cUpTOZV)8_TsF_>p}R8&y|JT;S(Q=(vV z`8>Hoh%u(r0b>n@vN3D0<-d)=8ld=HS{LnMu+|pmFa~jsgQM|2M~3<0(&xCO zTQ%5gjgc{i+NxSI^BGi?J!UW6-*@4h07?*w!+RwN0#p^Z!%c)~pO^ng@b%_EegCs4@EllO7=uUO>aN^;L;SCZ2p$nf2pt-S`>$k7N zG~gm(0}v-DN+2-+v;<*3oTu%Nwx~Q8)6&qysdrD&o$6+2a)|1nn)9EX=kndl%;smQ z3@T~A*-lGy3nzDHYo$dN1||k5xB~s-{fuNrs0nK5?(3lk>_>0fvxibSWObxv^N ziU(5B>or`>o=#*Kn;YlI#wLyqo?!FPR%~cjw+}ccI44*qQe@<-HuavtBe(c9xWQ~V z!^a%w(5)kEO4VTf%0NT}5h3v6BFQbYpGXH(Pj6oKr}?@W+?JJ<&nG;&##!#X-OK&a z`|Q{KoXmg1&|f1AHQXiKo?Ak65kb|*RS>IEQHtj_@o8{k8F8-8{Q@fhsIIQ!(9NUI z&|Jyoa=iEE9(K*V!{F#W{@L{a>dLCX`=|Mt;*te^)8Ci7X$vH$l1qlh ztH;RNENof6e3VDAN5C7fVY-Tpn-Zvy?gOrv0vD%XeGn{0T4XT=-Xr4m^*_m0m*EJ2Urd4XB4Qsu8DsD6UF*OF!{aB9 zan7l#n!q{N7l!V`zxxOD&cJ}-|F=)1`f9AT3qeIi#n+*myAl?{?Pi@`MyhIpAjoX0 bsQl_*6{Z-Ki+l1<00000NkvXXu0mjff%};c literal 0 HcmV?d00001 diff --git a/skin/images/vilesci_lvplan.png b/skin/images/vilesci_lvplan.png new file mode 100644 index 0000000000000000000000000000000000000000..d8c6d71c28a483200b15d1e4000b416d6c2726d5 GIT binary patch literal 1848 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 literal 0 HcmV?d00001 diff --git a/skin/images/vilesci_stammdaten.png b/skin/images/vilesci_stammdaten.png new file mode 100644 index 0000000000000000000000000000000000000000..2aa085fd0621b808fc757b4f4c3e74b938bdcbc4 GIT binary patch literal 1995 zcmV;+2Q>JJP)WFTUBAWdOzW^!d@AWLa(WNaXJX>@2HM@dakVIipd z000LbNklU>|l?{|4i^#_A93iT%xFQWkA|21xi$Zu4q+x-YQKVw?`ckL+DgKrc>5C!b2R;%p= zbUGT5jx&@}_dbBq3dPKvR_NLPN}&}n{e5p;{tkuKdio5d@Xj$zQvsB9A!reibUaoe z$aE1}=U9jWCHJ6_d}`)=`TEI8?>~S->)CnGMqzYBZ!l0If_2UzB1$A*^i90J1yrR7 z*_gD~M%yI?PzQp2-f>{pdglouh)9mWVZur)vUGqOk0_Mq7JJz%HEfs zQm8IcSw6oVG(cJn1rQp`5?~|o{ zRyLn!as6p*Qf4&HXzzE(vJ7opzC~^8H zzozl^Wg6Enu(WxWL9>n@r>s5uGIu_EpRJ4Uv2g4e`i(kU!vTYC7gL(2Kj?!9+C=Cm zBB?Io{fq-X+{^qO_DUYp=XXlX$yCe);cgoc}S!xg`e89lUcC z=N5SCm7meNb(LPT&f0UYf{D0!`9lI48z&U!m$6BixL6^n)N%@#P>?&2*V^jxlaw~U zgEkgzGzvx9ZE*9$xB2q@zfi2!SU>wi8ee^eHhJFr@rWl*ooDs=A24X`Kyi+=w~scK zY|te+vc&Q;-^IoykbqJ=5CcBXUmGVBN>z}68>b9gJMsO2MV<{j=%Z~(oTc!?o9}u_RTBUq|A}klW1e`&LNOj zLLYn%e`A}@oohsKf&j)^w9*(85f>|*c=hL$mev^!2Lu)2MbYc*qmK;m*_guo3dQ*q zwm*H3xs7L;Uq3~$_5|bpKHd7)_-xFeRj0DFhVvc~K|AkpE+7)gp!dqbG@y3We$-X=jg+jX`NDE5`}JlXlxk@Dz?Lp^T+={0ybqD&4y` z3BgTzK%Q*^Qv`AfCJ}j13kL1Gq`ekVsfvWa>e<%_Zj81TQ%DdId^SQWO?lxc#rb8F zF$C`@Ev#XaG9h@XD;vbcDudR}l%_o0zC!S;yFvCs9-Z5y_ncsL8r8U9%DThTt?d2qxR%!#JlO~555IZ#(+|k7uQh6GV1T=P8~ddV9%^m0B+KbwVyyC zBKN5tWh1nW?w_9#_S!^f6Jz5--bW^BCL)hjR%#{)?NpG=+Si8S{3^@@&4bc5E>$ND z%u}o`kc|dp;}jdkhmv*9-{+!XDf%jnEa^1-Z002ovPDHLkV1j?^z}Wx* literal 0 HcmV?d00001 diff --git a/skin/images/vilesci_statistik.png b/skin/images/vilesci_statistik.png new file mode 100644 index 0000000000000000000000000000000000000000..9939714bc49a40a10794db2011ef533397bb4b04 GIT binary patch literal 1258 zcmVWFTUBAWdOzW^!d@AWLa(WNaXJX>@2HM@dakVIipd z000C%NkllxXk7w=OCA&eJrKOSVnV$Zty1wtL9;s)uj|KS=;U)qE zmo*+n#FsLjOl|?6twGDh;s|nl#UO$Z;IZuQA6S4kiv`WHMMRD+KvWO}5k;i@S7c+J z3ef-V?(1p|K~?)_h+sK0Z<+w4%I+Ew(JYtZ9;gTbh<1Rkhy+5AL?I}#ALZBWS;=%W z0YP>BK4=n>4w%kn5)o86XCgu($|Q4VcYmJeqO@CYIT5rGh@l&IE#%!Q;%L>EzE zN0~3rzaJvd<_rNM)ms3YKc!G#FO*?^#GE#n?XTmAxvh~Vzb=1t)M zloHq_1Rx^hY>exg{r!Vd0w^l52qK0r3>aXsSa2{NGnv+;l*ncf(Q&}z+zuQR8Kur# zioulM>#Imd(wsB%#gfCrF>TI$K$eXlsH_X1C)7DIYMKS($+TC_YSEXj?(p)}tEejO z&a!Q(XEW+~b7Fn7wE)bE4A1g(D4Fl>A8`B5J+!3l>E?BfJni6fBad%Qm zsOqU8Dkoh%07oDKv#uNFY?$S~A?4ii^yw2uqtS+Bh}h`sXPN)O!pR;R;9Dx}41`$U zf!t+&q*Fn4Gc$KTcgL#~9?gvJ?$kV-I;nfjfontIo10hJ(ar}VsN8ZFz(t(^p>Bg) zyP1avb`*EO_Lh)6if@<^;hhRPSGqX=hk*jxk)b;Z4bw3dxR(+XSGwF$T7a)OkT3Cb zpwubnqNK{qdPe>)J7Bp4aM@dsb6U{wNl%shIb%j(-HPVup02mH16dfJrD zdqTt!gqh>+sO9WtCXfF5n~3sdv^Cs9HIdTMH5d$0QQVEB%5XSDyB^Tb84f@M4QD`r z1eG|IIEu5KN~!<&^AS1cFf-)a?|=BUZS$w15+X=MXT7I1kd(A!;*PnW^nca<(=MNK z$P$67KbM54>bx3_Mqjsi`cu1X-+WdZ4N9kcW?kK|W3G6j4HtB&s%me0bmgmm0DI^F U_=?PcK>z>%07*qoM6N<$f@I`JbN~PV literal 0 HcmV?d00001 diff --git a/skin/images/vilesci_wartung.png b/skin/images/vilesci_wartung.png new file mode 100644 index 0000000000000000000000000000000000000000..f3079770f770425b323f4117fffaab768aaabdb5 GIT binary patch literal 1699 zcmV;U23+}xP)dgQE04`}% zSad^gZEa<4bN~PV002XBWnpw>WFTUBAWdOzW^!d@AWLa(WNaXJX>@2HM@dakVIipd z000H{Nkl@E!L*&P-kHvwxgY23wU-a) z&Ye5GGm~k9?Bpc(?z6N1YyH<+|Fw=;sMq%z%ug|V0Rt!>*ZM$JpD}Z_+9>e3E@<=7 z;uy@0H!7;A0Vd7N%&aKbW~)Ur%`nC+J%F(WL)V@)*zW(vU=7guy>u?W!(grLyu%p8 zdm7EA0>=3etg31=O-%^eIfS)27iz%h5;dA{b@|tRk$bw_0fV*O`(PtOWMk&*b)%{{ z?>(w&RP#gKd{wJe&cFROeSH<~*?%v^LZJ)z)|M(*V`$^zLI|j8{-z5&%TiAM>X#G? z1(GD;+}IdLpMHiUNj{RySj4sB1@9#{qHA5be3`yVnH@W}Ge1AiKz~1HM@Mf+t|j_! zDlH9U-s8Psy$D`>PxY0{6;zec(NSh+XYk%LHg=W}!cq(tnSrN{1gi@;DO{Qw$Cc zl4ThHXGTunGPw7`%=J0OCnnn=@L2DC9s=!^z)D{q4<9^8tyaTY%goFSAAa}&lamuP zum6$Rt1qt$7@*Z^F;%THeXR<{;6>U7h#+28Rp4E_Kf{hYcA~1JX@eb~e3!=f*9kMn z@%2;7%IgOGYkTdfE!3Hqnr42X-Z4nL;6-pELI~P>L)ZGs;lnIk|2uc@{5`|l=O`5o zs>om()sMlF&G<)tB5fsf0kf1Au03b+8YxWl$`O+!+O0{+k zD`zim=8f}@AlV3Mn)2wOLpiW2X{$xE)uLW+;6unIz3urTju!zG=Q{?h?EOM*j4=Bm z8wQ#HT)JFgxQFTGAHewM<9Z(&TdDsU$R zKGz;6UXT#bH3k7!xRcjU-;Z++Yc2oz_g{J7p3{8w{^^bY^;a?q*-Ok!{FBO-7cjQ4 zW_5VU)i)1;1rxwjmM$3*P|@{ zCSvz4m9F^&S#pd`w_U-^9;G$+r=B@N+Kk&EKBs=2!>E`~_w2>lNwVZ=6pJ@|usTT; z&e2M~$3UN@oIOu{;`>N8u}p|WeBO+5DPEriV)t`nsu*U8vOgp4FybD;+xv**P2%)b zn#uDd#oHMwy~f;spFIh$u*pUMY`BDv9>&RE@H&BakKr0W zpk8_v;R;FNt{Xy@GY~@P8c1&9i^vuCvml3vT0bX^j}iNmWXVy2*@A1mLh7DkHvI-c z3&iF9M3L($#jY~+?GWfqO*ihg=cra2MA;w6e2cK~YwF2QsAk8(lqnBAg^LGP6tz4D za$F}NAQJRuN87lt6|?nc%+%h*Mo(bleH7wh%7dR>*MuaJi<}ehgNWFx;}hJu^Nw}r z0)TbfC~e%fY}Q}Tx8l|Dt9b8KRgLrBzm;YF-t!kO>N^)Nn*aOPv4LFm)mUpAu2?Ld t$o%~8vNYRbjN#*0s%o5b)pD_P{C_h>n-=uhdQSiV002ovPDHLkV1l&AJV^im literal 0 HcmV?d00001 diff --git a/skin/vilesci.css b/skin/vilesci.css index b549ac11a..ee9db8cd6 100644 --- a/skin/vilesci.css +++ b/skin/vilesci.css @@ -134,38 +134,43 @@ a.MenuItem2:hover text-decoration:underline; } -img -{ - border:0; -} - h1, h1 td -{ - font-size: 150%; - font-style: normal; - line-height: normal; - font-weight: normal; - font-variant: normal; - color: #ffffff; - background-color: - #009e84; - text-decoration: none; -} -h2 { font-size: 140%; font-style: normal; line-height: normal; font-weight: normal; font-variant: normal; color: #ffffff; background-color: #00a4d2; text-decoration: none;} -h3 { font-size: 130%; font-style: normal; line-height: normal; font-weight: bold; font-variant: normal; text-transform: none; color: #008E74; cursor: pointer; text-decoration: none; } -h4 { - font-size: 120%; - font-style: normal; - line-height: normal; - font-weight: bold; - font-variant: normal; - text-transform: none; - color: #008E74; - cursor: pointer; - text-decoration: none; + color: black; + padding: 0px; + padding-bottom: 20px; + margin:0px; + white-space:nowrap; + font-size: 20px; + font-weight:normal; +} +h2 +{ + color: black; + padding-top: 2px; + padding-bottom: 1px; + white-space:nowrap; + padding-left: 10px; + font-size: 120%; + border-bottom:solid 1px #0086CC; + font-weight:normal; +} +h3 +{ + margin: 0px; + padding-top: 20px; + padding-bottom: 2px; + font-weight: bold; + font-size:13px; +} +h4 +{ + margin: 0px; + padding: 0px; + text-decoration: underline; + font-weight: normal; + font-size:13px; } - p.littleblack { font-size: x-small; color: #000000;} @@ -215,16 +220,6 @@ h1 a:hover text-decoration:none; } -h2 -{ - color: #ffffff; - background-color: #00a4d2; -} -h2 td -{ - color: #ffffff; - background-color: #00a4d2; -} h2 a { color: #dddddd; @@ -235,13 +230,6 @@ h2 a:hover text-decoration:none; } -h3 -{ - font-size: smaller; - font-weight: bold; - color: #008E74; -} - #bgcolor0 { background-color: #FF0000; @@ -278,16 +266,21 @@ td font-size: smaller; /*0.8em;*/ } -img { border: none; } +img +{ + border: none; +} div.logo { - background-color: #CECF9C; - margin: 0px; - padding: 0px; + /* background-color: #006095; */ + background-image: url(images/vilesci_farbverlauf.png); + background-repeat: repeat-x; + margin: 0; + padding: 0; font-size: smaller; /* 1em; */ border: none; - border-bottom: 2px solid #000000; + /* border-bottom: 2px solid #000000; */ margin-bottom: 2px; } @@ -301,24 +294,6 @@ p.comment font-style: italic; } -h2 -{ - color: #666633; - font-size: medium; /*1.3em;*/ - font-weight: bold; - border: 2px solid #E6E6CC; - background-color: #F3F3E9; - padding: 2px 1em; - margin: 0 0 1ex 0; -} - -h3 -{ - color: #666633; - font-size: small; - font-weight: bold; -} - table.error { background-color: #E6E6CC; @@ -332,6 +307,10 @@ table.navbar { background-color: #E6E6CC; } +table.logo +{ + padding: 3px 0 3px 0; +} table.navbar td { @@ -443,13 +422,13 @@ a:active a,a:link { - color: #336699; + color: #0086cc; text-decoration: none; } a:visited { - color: #336699; + color: #0086cc; text-decoration: none; } @@ -458,29 +437,38 @@ a:hover color: #cc0000; text-decoration: none; } - -a.navlink:link, a.toplink:link +a.toplink, a.toplink:visited, a.toplink:active +{ + color: #006095; + text-decoration: none; +} +a.toplink:hover +{ + color: #cc0000; + text-decoration: none; +} +a.navlink:link { color: #336699; font-weight: bold; text-decoration: none; } -a.navlink:visited, a.toplink:visited +a.navlink:visited { color: #336699; font-weight: bold; text-decoration: none; } -a.navlink:hover, a.toplink:hover +a.navlink:hover { color: #cc0000; font-weight: bold; text-decoration: none; } -a.navlink:active, a.toplink:active +a.navlink:active { color: #cc0000; font-weight: bold; diff --git a/vilesci/index.php b/vilesci/index.php index dc19d18ce..56dfa0bec 100644 --- a/vilesci/index.php +++ b/vilesci/index.php @@ -6,11 +6,24 @@ - + + + + + + <body bgcolor="#FFFFFF"> diff --git a/vilesci/left.php b/vilesci/left.php index 6cc3e0ea3..28fd2a4b2 100644 --- a/vilesci/left.php +++ b/vilesci/left.php @@ -158,7 +158,7 @@ if(isset($_GET['categorie'])) if (isset($m2['target'])) echo 'target="'.$m2['target'].'" '; if (isset($m2['link'])) - echo '><img title="'.$m2['name'].'" src="../skin/images/bullet_go.png" alt="page go" border="0">&nbsp;'; + echo '><img title="'.$m2['name'].'" src="../skin/images/square_blue.png" alt="page go" border="0">&nbsp;'; if (isset($m2['name'])) echo $m2['name']; if (isset($m2['link'])) diff --git a/vilesci/lehre/lehrfach.php b/vilesci/lehre/lehrfach.php index e46f04a3d..593e24e6a 100644 --- a/vilesci/lehre/lehrfach.php +++ b/vilesci/lehre/lehrfach.php @@ -100,7 +100,35 @@ if (isset($_POST['neu'])) echo "<br>$lf->errormsg<br>"; } } +if (isset($_GET['neu'])) +{ + $stg_obj = new studiengang(); + if(!$stg_obj->load($_GET['stg_kz'])) + die('Studiengang wurde nicht gefunden'); + + if(!$rechte->isBerechtigt('lehre/lehrfach', $stg_obj->oe_kurzbz, 'sui')) + die('Sie haben keine Berechtigung fuer diese Aktion'); + $lf = new lehrfach(); + $lf->new=true; + $lf->studiengang_kz=$_GET['stg_kz']; + $lf->fachbereich_kurzbz=$_GET['fachbereich_kurzbz']; + $lf->kurzbz=$_GET['kurzbz']; + $lf->bezeichnung = $_GET['bezeichnung']; + $lf->farbe = $_GET['farbe']; + $lf->aktiv = true; + $lf->semester = $_GET['semester']; + $lf->sprache = $_GET['sprache']; + $lf->updateamum = date('Y-m-d H:i:s'); + $lf->updatevon = $user; + $lf->insertamum = date('Y-m-d H:i:s'); + $lf->insertvon = $user; + + if(!$lf->save()) + { + echo "<br>$lf->errormsg<br>"; + } +} if (isset($_POST['type']) && $_POST['type']=='editsave') { $stg_obj = new studiengang(); @@ -210,8 +238,19 @@ echo ' <title>Lehrfach Verwaltung</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../skin/vilesci.css" type="text/css"> - <link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css"> - <script src="../../include/js/tablesort/table.js" type="text/javascript"></script> + <link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/> + <link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/> + <script type="text/javascript" src="../../include/js/jquery.js"></script> + <script type="text/javascript"> + $(document).ready(function() + { + $("#t1").tablesorter( + { + sortList: [[2,0],[4,0],[0,0]], + widgets: ["zebra"] + }); + }); + </script> </head> <body> <H2>Lehrfach Verwaltung ('.$s[$filter_stg_kz]->kurzbz.' '.$filter_semester.' '.$filter_fachbereich_kurzbz.')</H2> @@ -288,7 +327,7 @@ if (isset($_GET['type']) && $_GET['type']=='edit') } echo "</SELECT></td></tr>"; echo ' - <tr><td><i>Institut</i></td><td><SELECT name="fachbereich_kurzbz" onchange="document.getElementById(\'farbe\').value=this.options[this.selectedIndex].getAttribute(\'farbe\')"> + <tr><td>Institut</td><td><SELECT name="fachbereich_kurzbz" onchange="document.getElementById(\'farbe\').value=this.options[this.selectedIndex].getAttribute(\'farbe\')"> <option value="-1">- ausw&auml;hlen -</option>'; foreach($fachbereiche as $fb) { @@ -310,10 +349,10 @@ if (isset($_GET['type']) && $_GET['type']=='edit') echo '</SELECT></td></tr>'; - echo '<tr><td><i>Name</i></td><td><input type="text" name="bezeichnung" size="70" maxlength="250" value="'.$lf->bezeichnung.'"></td></tr>'; - echo '<tr><td><i>Kurzbezeichnung</i></td><td>'; + echo '<tr><td>Name</td><td><input type="text" name="bezeichnung" size="70" maxlength="250" value="'.$lf->bezeichnung.'"></td></tr>'; + echo '<tr><td>Kurzbezeichnung</td><td>'; echo '<input type="text" name="kurzbz" size="15" maxlength="12" value="'.$lf->kurzbz.'"></td></tr>'; - echo '<tr><td><i>Farbe</i></td><td>'; + echo '<tr><td>Farbe</td><td>'; echo '<input type="text" name="farbe" id="farbe" size="15" maxlength="7" value="'.$lf->farbe.'"></td></tr>'; echo '<tr><td>Aktiv</td><td><input type="checkbox" name="aktiv" value="1" '.($lf->aktiv?'checked':'').' />'; @@ -375,7 +414,7 @@ else } echo "</SELECT></td></tr>"; echo ' - <tr><td><i>Institut</i></td><td><SELECT name="fachbereich_kurzbz" onchange="document.getElementById(\'farbe\').value=this.options[this.selectedIndex].getAttribute(\'farbe\')"> + <tr><td>Institut</td><td><SELECT name="fachbereich_kurzbz" onchange="document.getElementById(\'farbe\').value=this.options[this.selectedIndex].getAttribute(\'farbe\')"> <option value="-1">- ausw&auml;hlen -</option>'; foreach($fachbereiche as $fb) @@ -394,10 +433,10 @@ else echo '</SELECT></td></tr>'; - echo '<tr><td><i>Name</i></td><td><input type="text" name="bezeichnung" size="70" maxlength="250" value=""></td></tr>'; - echo '<tr><td><i>Kurzbezeichnung</i></td><td>'; + echo '<tr><td>Name</td><td><input type="text" name="bezeichnung" size="70" maxlength="250" value=""></td></tr>'; + echo '<tr><td>Kurzbezeichnung</td><td>'; echo '<input type="text" name="kurzbz" size="15" maxlength="12" value=""></td></tr>'; - echo '<tr><td><i>Farbe</i></td><td>'; + echo '<tr><td>Farbe</td><td>'; echo '<input type="text" name="farbe" id="farbe" size="15" maxlength="7" value=""></td></tr>'; echo '<tr><td>Sprache</td><td><select name="sprache">'; @@ -451,21 +490,21 @@ if(!isset($_GET['type'])) { echo ' <h3>&Uuml;bersicht - '.$db->db_num_rows($result_lehrfach).' Einträge</h3> - <table class="liste table-autosort:2 table-stripeclass:alternate table-autostripe"> + <table class="tablesorter" id="t1"> <thead>'; echo " - <tr class='liste'> - <th class='table-sortable:default'>ID</th> - <th class='table-sortable:default'>Stg</th> - <th class='table-sortable:default'>Sem</th> - <th class='table-sortable:default'>Kurzbz</th> - <th class='table-sortable:default'>Bezeichnung</th> - <th class='table-sortable:default'>Farbe</th> - <th class='table-sortable:default'>Aktiv</th> - <th class='table-sortable:default'>Institut</th> - <th class='table-sortable:default'>Sprache</th> - <th class='table-sortable:default'>&nbsp;</th> + <tr> + <th>ID</th> + <th>Stg</th> + <th>Sem</th> + <th>Kurzbz</th> + <th>Bezeichnung</th> + <th>Farbe</th> + <th>Aktiv</th> + <th>Institut</th> + <th>Sprache</th> + <th>&nbsp;</th> </tr> </thead> <tbody>"; diff --git a/vilesci/lehre/lehrveranstaltung.php b/vilesci/lehre/lehrveranstaltung.php index 64b63ba01..9362fba1d 100644 --- a/vilesci/lehre/lehrveranstaltung.php +++ b/vilesci/lehre/lehrveranstaltung.php @@ -692,7 +692,8 @@ if ($result_lv!=0) <th>Zeugnis</th> <th title='Soll diese Lehrveranstaltung bei Diplom-/Bachelorarbeit ausgewaehlt werden koennen?'>BA/DA</th> <th>Koordinator</th> - <th>LV-Info</th>\n"; + <th>LV-Info</th> + <th>Lehrfach</th>\n"; echo "</tr></thead>"; echo "<tbody>"; for($i=0;$i<$num_rows;$i++) @@ -746,7 +747,7 @@ if ($result_lv!=0) <div style="display: none">'.$db->convert_html_chars($row->lehre).'</div> <a href="Lehre" onclick="changeboolean(\''.$row->lehrveranstaltung_id.'\',\'lehre\'); return false"> <input type="hidden" id="lehre'.$row->lehrveranstaltung_id.'" value="'.($row->lehre=='t'?'true':'false').'"> - <img id="lehreimg'.$row->lehrveranstaltung_id.'" src="../../skin/images/'.($row->lehre=='t'?'true.png':'false.png').'" height="20"> + <img id="lehreimg'.$row->lehrveranstaltung_id.'" title="Lehre" src="../../skin/images/'.($row->lehre=='t'?'true.png':'false.png').'" height="20"> </a></td>'; //LehreVz echo '<td style="white-space:nowrap;">'; @@ -766,7 +767,7 @@ if ($result_lv!=0) echo '<div style="display: none">'.$db->convert_html_chars($row->aktiv).'</div>'; echo '<a href="Aktiv" onclick="changeboolean(\''.$row->lehrveranstaltung_id.'\',\'aktiv\'); return false"> <input type="hidden" id="aktiv'.$row->lehrveranstaltung_id.'" value="'.($row->aktiv=='t'?'true':'false').'"> - <img id="aktivimg'.$row->lehrveranstaltung_id.'" src="../../skin/images/'.($row->aktiv=='t'?'true.png':'false.png').'" height="20"> + <img id="aktivimg'.$row->lehrveranstaltung_id.'" title="Aktiv" src="../../skin/images/'.($row->aktiv=='t'?'true.png':'false.png').'" height="20"> </a> '; } @@ -790,7 +791,7 @@ if ($result_lv!=0) <div style="display: none">'.$db->convert_html_chars($row->zeugnis).'</div> <a href="Zeugnis" onclick="changeboolean(\''.$row->lehrveranstaltung_id.'\',\'zeugnis\'); return false"> <input type="hidden" id="zeugnis'.$row->lehrveranstaltung_id.'" value="'.($row->zeugnis=='t'?'true':'false').'"> - <img id="zeugnisimg'.$row->lehrveranstaltung_id.'" src="../../skin/images/'.($row->zeugnis=='t'?'true.png':'false.png').'" height="20"> + <img id="zeugnisimg'.$row->lehrveranstaltung_id.'" title="Zeugnis" src="../../skin/images/'.($row->zeugnis=='t'?'true.png':'false.png').'" height="20"> </a> </td>'; //Projektarbeit @@ -798,7 +799,7 @@ if ($result_lv!=0) <div style="display: none">'.$db->convert_html_chars($row->projektarbeit).'</div> <a href="Projektarbeit" onclick="changeboolean(\''.$row->lehrveranstaltung_id.'\',\'projektarbeit\'); return false"> <input type="hidden" id="projektarbeit'.$row->lehrveranstaltung_id.'" value="'.($row->projektarbeit=='t'?'true':'false').'"> - <img id="projektarbeitimg'.$row->lehrveranstaltung_id.'" src="../../skin/images/'.($row->projektarbeit=='t'?'true.png':'false.png').'" height="20"> + <img id="projektarbeitimg'.$row->lehrveranstaltung_id.'" title="Projektarbeit" src="../../skin/images/'.($row->projektarbeit=='t'?'true.png':'false.png').'" height="20"> </a> </td>'; //FBK @@ -828,6 +829,22 @@ if ($result_lv!=0) else echo 'vorhanden'; echo '</td>'; + //Lehrfach anlegen + echo "<td nowrap>"; + if($write_admin) + echo '<a href="lehrfach.php?neu + &filter_stg_kz='.$db->convert_html_chars($row->studiengang_kz).' + &filter_semester='.$db->convert_html_chars($row->semester).' + &filter_fachbereich_kurzbz=&filter_aktiv= + &stg_kz='.$row->studiengang_kz.' + &kurzbz='.$db->convert_html_chars($row->kurzbz).' + &bezeichnung='.$db->convert_html_chars($row->bezeichnung).' + &semester='.$db->convert_html_chars($row->semester).' + &farbe=&fachbereich_kurzbz=Dummy + &sprache='.$db->convert_html_chars($row->sprache).'" target="_parent" method="post">LF Neu</a>'; + else + echo $db->convert_html_chars($row->lehrveranstaltung_id); + echo '</td>'; echo "</tr>\n"; } } diff --git a/vilesci/lehre/reservierung_autocomplete.php b/vilesci/lehre/reservierung_autocomplete.php new file mode 100644 index 000000000..def495657 --- /dev/null +++ b/vilesci/lehre/reservierung_autocomplete.php @@ -0,0 +1,49 @@ +<?php +/* Copyright (C) 2010 Technikum-Wien + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + * + * Authors: Manfred Kindl <kindlm@technikum-wien.at> + */ + +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/basis_db.class.php'); +require_once('../../include/ort.class.php'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +if(isset($_REQUEST['autocomplete']) && $_REQUEST['autocomplete']=='ort') +{ + $search=trim((isset($_REQUEST['term']) ? $_REQUEST['term']:'')); + if (is_null($search) ||$search=='') + exit(); + + $ort_auswahl = new ort(); + + if($ort_auswahl->filter($search)) + { + $result_obj = array(); + foreach($ort_auswahl->result as $row) + { + $item['ort_kurzbz']=html_entity_decode($row->ort_kurzbz); + $item['planbezeichnung']=html_entity_decode($row->planbezeichnung); + $result_obj[]=$item; + } + echo json_encode($result_obj); + } + exit; +} +?> diff --git a/vilesci/lehre/reservierung_insert.php b/vilesci/lehre/reservierung_insert.php index fd8ad429f..4cade78d4 100644 --- a/vilesci/lehre/reservierung_insert.php +++ b/vilesci/lehre/reservierung_insert.php @@ -29,10 +29,14 @@ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/basis_db.class.php'); require_once('../../include/functions.inc.php'); + require_once('../../include/datum.class.php'); + require_once('../../include/benutzerberechtigung.class.php'); + if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); $uid=get_uid(); + $datum_obj = new datum(); $sql_query="SELECT studiengang_kz, UPPER(oe_kurzbz) AS oe_kurzbz, bezeichnung FROM public.tbl_studiengang WHERE studiengang_kz>=0 ORDER BY oe_kurzbz"; //echo $sql_query."<br>"; @@ -54,33 +58,60 @@ $result_ort=$db->db_query($sql_query); if(!$result_ort) die("ort not found! ".$db->db_last_error()); - - + $stgid=(isset($_REQUEST['stgid'])?$_REQUEST['stgid']:0); - $lektorid=(isset($_REQUEST['lektorid'])?$_REQUEST['lektorid']:1); + $lektorid=(isset($_REQUEST['lektorid'])?$_REQUEST['lektorid']:$uid); + $ortid=(isset($_REQUEST['ortid'])?$_REQUEST['ortid']:''); $semester=(isset($_REQUEST['semester'])?$_REQUEST['semester']:''); - $verband=(isset($_REQUEST['verband'])?$_REQUEST['verband']:0); - $gruppe=(isset($_REQUEST['gruppe'])?$_REQUEST['gruppe']:0); - $gruppe_kurzbz=(isset($_REQUEST['gruppe_kurzbz'])?$_REQUEST['gruppe_kurzbz']:''); - $tag=(isset($_REQUEST['tag'])?$_REQUEST['tag']:date('d')); - $monat=(isset($_REQUEST['monat'])?$_REQUEST['monat']:date('m')); - $jahr=(isset($_REQUEST['jahr'])?$_REQUEST['jahr']:date('Y')); + $verband=(isset($_REQUEST['verband'])?$_REQUEST['verband']:''); + $gruppe=(isset($_REQUEST['gruppe'])?$_REQUEST['gruppe']:''); + $gruppe_kurzbz=(isset($_REQUEST['gruppe_kurzbz'])?$_REQUEST['gruppe_kurzbz']:''); + $datum=(isset($_REQUEST['datum'])?$_REQUEST['datum']:date('d.m.Y')); $titel=(isset($_REQUEST['titel'])?$_REQUEST['titel']:''); $beschreibung=(isset($_REQUEST['beschreibung'])?$_REQUEST['beschreibung']:''); $type=(isset($_REQUEST['type'])?$_REQUEST['type']:''); - $stdbegin=(isset($_REQUEST['stdbegin'])?$_REQUEST['stdbegin']:1); $stdblock=(isset($_REQUEST['stdblock'])?$_REQUEST['stdblock']:2); - //$stdsemester=(isset($_REQUEST['stdsemester'])?$_REQUEST['stdsemester']:$stdblock); - + + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($uid); + ?> - +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Insert Reservierungen</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" href="../../skin/vilesci.css" type="text/css"> +<link href="../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css"> +<script src="../../include/js/jquery1.9.min.js" type="text/javascript"></script> +<script type="text/javascript"> +$(document).ready(function() + { + $( "#datepicker_datum" ).datepicker($.datepicker.regional['de']); + + $("#ort").autocomplete({ + source: "reservierung_autocomplete.php?autocomplete=ort", + minLength:2, + response: function(event, ui) + { + //Value und Label fuer die Anzeige setzen + for(i in ui.content) + { + ui.content[i].value=ui.content[i].ort_kurzbz; + ui.content[i].label=ui.content[i].ort_kurzbz; + } + }, + select: function(event, ui) + { + //Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren + $("#ort_kurzbz").val(ui.item.uid); + } + }); + }); +</script> </head> <body> <H2>Reservierungen einfügen</H2> @@ -109,7 +140,7 @@ <?php for ($i=1;$i<9;$i++) { - if (isset($_POST['semester']) && $_POST['semester']==$i) + if ($semester==$i) echo "<option value=\"$i\" selected>$i</option>"; else echo "<option value=\"$i\">$i</option>"; @@ -122,7 +153,7 @@ <?php $verbaende=array("'A'","'B'","'C'","'D'","'F'","'V'"); foreach ($verbaende as $i) { - if (isset($_POST['verband']) && $_POST['verband']==$i) + if ($verband==$i) echo "<option value=\"$i\" selected>$i</option>"; else echo "<option value=\"$i\">$i</option>"; @@ -135,7 +166,7 @@ <?php for ($i=1;$i<3;$i++) { - if (isset($_POST['gruppe']) && $_POST['gruppe']==$i) + if ($gruppe==$i) echo "<option value=\"$i\" selected>$i</option>"; else echo "<option value=\"$i\">$i</option>"; @@ -173,12 +204,13 @@ <SELECT name="lektorid"> <?php $num_rows=$db->db_num_rows($result_lektor); - if ($_POST['lektorid']==$row->uid) - $_POST['lektorid']=$uid; + $row=$db->db_fetch_object ($result_lektor); + if ($lektorid==$row->uid) + $lektorid=$uid; for ($i=0;$i<$num_rows;$i++) { $row=$db->db_fetch_object ($result_lektor, $i); - if ($_POST['lektorid']==$row->uid) + if ($lektorid==$row->uid) echo "<option value=\"$row->uid\" selected>$row->kurzbz</option>"; else echo "<option value=\"$row->uid\">$row->kurzbz</option>"; @@ -189,27 +221,36 @@ </p> <p> Ort - <select name="ortid"> - <?php + <!--<select name="ortid"> + <?php/* $num_rows=$db->db_num_rows($result_ort); for ($i=0;$i<$num_rows;$i++) { $row=$db->db_fetch_object ($result_ort, $i); - if ($_POST['ortid']==$row->ort_kurzbz) + if ($ortid==$row->ort_kurzbz) echo "<option value=\"$row->ort_kurzbz\" selected>$row->ort_kurzbz</option>"; else echo "<option value=\"$row->ort_kurzbz\">$row->ort_kurzbz</option>"; - } + }*/ ?> - </select> + </select>--> + <?php + $row=$db->db_fetch_object ($result_ort); + if ($ortid!='') + echo '<input type="text" size="25" maxlength="40" name="ortid" id="ort" value="'.$ortid.'"/><input type="hidden" value="'.$row->ort_kurzbz.'" id="ort_kurzbz" name="ort_kurzbz" />'; + else + echo '<input type="text" size="25" maxlength="40" name="ortid" id="ort" value=""/><input type="hidden" value="'.$row->ort_kurzbz.'" id="ort_kurzbz" name="ort_kurzbz" />'; + ?> + - - Tag + Datum + <input type="text" id="datepicker_datum" size="12" name="datum" value="<?php echo $datum; ?>"> + <!--Tag <input type="text" name="tag" size="2" maxlength="2" value="<?php echo $tag; ?>"> Monat <input type="text" name="monat" size="2" maxlength="2" value="<?php echo $monat; ?>"> Jahr - <input type="text" name="jahr" size="4" maxlength="4" value="<?php echo $jahr; ?>"> + <input type="text" name="jahr" size="4" maxlength="4" value="<?php echo $jahr; ?>">--> </p> <p> Einheit Beginn @@ -229,134 +270,133 @@ <hr> </form> <?php -if ($type=="save") + +if($rechte->isBerechtigt('admin')) { - $error=false; - $stunde=$stdbegin; - echo "Auftrag wird ausgefuehrt!<br>"; -// echo "Kontrolle auf Doppelbelegungen! ... "; - -/* // checken auf Ort - $date[mday]=$_POST['tag']; $date[mon]=$_POST['monat']; $date[year]=$_POST['jahr']; - $datum=$tag.".".$monat.".".$jahr; - for ($i=0; ($i<$stdsemester)&&!$error; $i++) + if ($type=="save") { - $std=$stunde+($i % $stdblock); - if ( ($std==$stunde) && (($i>0)||($stdblock==1)) ) + $error=false; + $stunde=$stdbegin; + echo "Auftrag wird ausgefuehrt!<br>"; + // echo "Kontrolle auf Doppelbelegungen! ... "; + + /* // checken auf Ort + $date[mday]=$_POST['tag']; $date[mon]=$_POST['monat']; $date[year]=$_POST['jahr']; + $datum=$tag.".".$monat.".".$jahr; + for ($i=0; ($i<$stdsemester)&&!$error; $i++) { - $time=mktime(0, 0, 0, $date[mon], $date[mday], $date[year]); - $date=getdate($time+(604800*$_POST['rythmus'])); - $datum=$date[year]."-".$date[mon]."-".$date[mday]; - } - - $sql_query="SELECT stundenplandev_id FROM tbl_stundenplandev WHERE datum='$datum' AND stunde='$std' AND ort_kurzbz='".$_POST['ortid']."'"; - if ($_POST['unr']=='') - $sql_query.=" AND unr IS NOT NULL"; - else - $sql_query.=" AND unr!=".$_POST['unr']; - echo $sql_query; - $result=$db->db_query($sql_query); - if($result && ($db->db_num_rows($result)>0)) - { - echo "error!<br>Doppelbelegung gefunden auf Ort=".$_POST['ortid']." Datum=$datum Stunde=$stunde!<br>"; - $error=true; - } - } - - // checken auf Lektor im Stundenplan - $date[mday]=$_POST['tag']; $date[mon]=$_POST['monat']; $date[year]=$_POST['jahr']; - $datum=$tag.".".$monat.".".$jahr; - for ($i=0; ($i<$stdsemester)&&!$error; $i++) - { - $std=$stunde+($i % $stdblock); - if ( ($std==$stunde) && (($i>0)||($stdblock==1)) ) - { - $time=mktime(0, 0, 0, $date[mon], $date[mday], $date[year]); - $date=getdate($time+(604800*$_POST['rythmus'])); - $datum=$date[year]."-".$date[mon]."-".$date[mday]; - } - $sql_query="SELECT stundenplandev_id FROM tbl_stundenplandev WHERE datum='$datum' AND stunde='$std' AND uid='".$_POST['$lektorid']."'"; - $result=$db->db_query($sql_query); - if($result && ($db->db_num_rows($result)>0)) - { - echo "error!<br>Doppelbelegung gefunden auf Lektor=".$_POST['$lektorid']." Datum=$datum Stunde=$stunde!<br>"; - $error=true; - } - } - - // checken auf Verband - $date[mday]=$_POST['tag']; $date[mon]=$_POST['monat']; $date[year]=$_POST['jahr']; - $datum=$tag.".".$monat.".".$jahr; - for ($i=0; ($i<$stdsemester)&&!$error; $i++) - { - $std=$stunde+($i % $stdblock); - if ( ($std==$stunde) && (($i>0)||($stdblock==1)) ) - { - $time=mktime(0, 0, 0, $date[mon], $date[mday], $date[year]); - $date=getdate($time+(604800*$_POST['rythmus'])); - $datum=$date[year]."-".$date[mon]."-".$date[mday]; - } - $sql_query="SELECT semester, verband, gruppe, tbl_stundenplandev.studiengang_kz,tbl_studiengang.kurzbz FROM tbl_stundenplandev JOIN tbl_studiengang using(studiengang_kz) WHERE datum='$datum' AND stunde='$std' AND studiengang_kz='".$_POST['stgid']."' AND semester='$semester' AND (verband='".$_POST['verband']."' OR verband=NULL) AND (gruppe='".$_POST['gruppe']."' OR gruppe=NULL)"; - $result=$db->db_query($sql_query); - if($result && ($db->db_num_rows($result)>0)) - { - $row=$db->db_fetch_object($result,0); - echo "error!<br>Doppelbelegung gefunden auf Datum=$datum - Stunde=$stunde - Studiengang=$row->kurzbz - Semester=$row->semester Verband=$row->verband Gruppe=$row->gruppe!<br>"; - $error=true; - } - } -*/ - //Einfuegen in die Datenbank - if (!$error) - { - echo "OK!<br><br>"; - $date['mday']=$_POST['tag']; $date['mon']=$_POST['monat']; $date['year']=$_POST['jahr']; - $datum=$jahr."-".$monat."-".$tag; - for ($i=0; ($i<$stdblock)&&!$error; $i++) - { - $std=$stdbegin+($i % $stdblock); - if ( ($std==$stdbegin) && (($i>0)||($stdblock==0)) ) + $std=$stunde+($i % $stdblock); + if ( ($std==$stunde) && (($i>0)||($stdblock==1)) ) { $time=mktime(0, 0, 0, $date[mon], $date[mday], $date[year]); $date=getdate($time+(604800*$_POST['rythmus'])); $datum=$date[year]."-".$date[mon]."-".$date[mday]; } - $sql_query="INSERT INTO campus.tbl_reservierung(ort_kurzbz,studiengang_kz,uid,stunde,datum,titel,beschreibung,semester,verband,gruppe,gruppe_kurzbz,insertamum,insertvon) ". - "VALUES ( - '".$_POST['ortid']."', - '".$_POST['stgid']."', - '".$_POST['lektorid']."', - $std, - '$datum', - '".$_POST['titel']."', - '".$_POST['beschreibung']."', - ".$_POST['semester'].", - ".$_POST['verband'].", - ".$_POST['gruppe']."," ; - if ($_POST['gruppe_kurzbz']=='') - $sql_query.= 'NULL,'; - else - $sql_query.= "'".$_POST['gruppe_kurzbz']."',"; - - $sql_query.= 'now(),'. - "'".$uid."')"; - //echo $sql_query; + + $sql_query="SELECT stundenplandev_id FROM tbl_stundenplandev WHERE datum='$datum' AND stunde='$std' AND ort_kurzbz='".$_POST['ortid']."'"; + if ($_POST['unr']=='') + $sql_query.=" AND unr IS NOT NULL"; + else + $sql_query.=" AND unr!=".$_POST['unr']; + echo $sql_query; $result=$db->db_query($sql_query); - if(!$result) + if($result && ($db->db_num_rows($result)>0)) { - echo $db->db_last_error()."<br>"; + echo "error!<br>Doppelbelegung gefunden auf Ort=".$_POST['ortid']." Datum=$datum Stunde=$stunde!<br>"; $error=true; } - else - echo "<strong>Ort:</strong> ".$_POST['ortid']." - <strong>Studiengang_Kz:</strong> ".$_POST['stgid']." - <strong>Semester:</strong> ".$_POST['semester']." - <strong>Verband:</strong> ".$_POST['verband']." - <strong>Gruppe:</strong> ".$_POST['gruppe']." - <strong>Spezialgruppe:</strong> ".$_POST['gruppe_kurzbz']." - <strong>Lektor:</strong> ".$_POST['lektorid']." - <strong>Titel:</strong> ".$_POST['titel']." - <strong>Beschreibung:</strong> ".$_POST['beschreibung']." - <strong>Datum:</strong> $datum - <strong>Stunde:</strong> $std -- <strong>Eingefügt!</strong><br>"; - } + + // checken auf Lektor im Stundenplan + $date[mday]=$_POST['tag']; $date[mon]=$_POST['monat']; $date[year]=$_POST['jahr']; + $datum=$tag.".".$monat.".".$jahr; + for ($i=0; ($i<$stdsemester)&&!$error; $i++) + { + $std=$stunde+($i % $stdblock); + if ( ($std==$stunde) && (($i>0)||($stdblock==1)) ) + { + $time=mktime(0, 0, 0, $date[mon], $date[mday], $date[year]); + $date=getdate($time+(604800*$_POST['rythmus'])); + $datum=$date[year]."-".$date[mon]."-".$date[mday]; + } + $sql_query="SELECT stundenplandev_id FROM tbl_stundenplandev WHERE datum='$datum' AND stunde='$std' AND uid='".$_POST['$lektorid']."'"; + $result=$db->db_query($sql_query); + if($result && ($db->db_num_rows($result)>0)) + { + echo "error!<br>Doppelbelegung gefunden auf Lektor=".$_POST['$lektorid']." Datum=$datum Stunde=$stunde!<br>"; + $error=true; + } + } + + // checken auf Verband + $date[mday]=$_POST['tag']; $date[mon]=$_POST['monat']; $date[year]=$_POST['jahr']; + $datum=$tag.".".$monat.".".$jahr; + for ($i=0; ($i<$stdsemester)&&!$error; $i++) + { + $std=$stunde+($i % $stdblock); + if ( ($std==$stunde) && (($i>0)||($stdblock==1)) ) + { + $time=mktime(0, 0, 0, $date[mon], $date[mday], $date[year]); + $date=getdate($time+(604800*$_POST['rythmus'])); + $datum=$date[year]."-".$date[mon]."-".$date[mday]; + } + $sql_query="SELECT semester, verband, gruppe, tbl_stundenplandev.studiengang_kz,tbl_studiengang.kurzbz FROM tbl_stundenplandev JOIN tbl_studiengang using(studiengang_kz) WHERE datum='$datum' AND stunde='$std' AND studiengang_kz='".$_POST['stgid']."' AND semester='$semester' AND (verband='".$_POST['verband']."' OR verband=NULL) AND (gruppe='".$_POST['gruppe']."' OR gruppe=NULL)"; + $result=$db->db_query($sql_query); + if($result && ($db->db_num_rows($result)>0)) + { + $row=$db->db_fetch_object($result,0); + echo "error!<br>Doppelbelegung gefunden auf Datum=$datum - Stunde=$stunde - Studiengang=$row->kurzbz - Semester=$row->semester Verband=$row->verband Gruppe=$row->gruppe!<br>"; + $error=true; + } + } + */ + //Einfuegen in die Datenbank if (!$error) - echo "<br><font style='color:green'><strong>Einfügen erfolgreich abgeschlossen!</strong></font><br>"; - else - echo "<br><font style='color:red'><strong>Es ist ein Fehler aufgetreten!</strong></font><br>"; + { + echo "OK!<br><br>"; + $insert_datum=$datum_obj->formatDatum($datum,'Y-m-d'); + for ($i=0; ($i<$stdblock)&&!$error; $i++) + { + $std=$stdbegin+($i % $stdblock); + $sql_query="INSERT INTO campus.tbl_reservierung(ort_kurzbz,studiengang_kz,uid,stunde,datum,titel,beschreibung,semester,verband,gruppe,gruppe_kurzbz,insertamum,insertvon) ". + "VALUES ( + '".$_POST['ortid']."', + '".$_POST['stgid']."', + '".$_POST['lektorid']."', + $std, + '$insert_datum', + '".$_POST['titel']."', + '".$_POST['beschreibung']."', + ".$_POST['semester'].", + ".$_POST['verband'].", + ".$_POST['gruppe']."," ; + if ($_POST['gruppe_kurzbz']=='') + $sql_query.= 'NULL,'; + else + $sql_query.= "'".$_POST['gruppe_kurzbz']."',"; + + $sql_query.= 'now(),'. + "'".$uid."')"; + //echo $sql_query; + $result=$db->db_query($sql_query); + if(!$result) + { + echo $db->db_last_error()."<br>"; + $error=true; + } + else + echo "<div style='font-size:small;'><strong>Ort:</strong> ".$_POST['ortid']." - <strong>Studiengang_Kz:</strong> ".$_POST['stgid']." - <strong>Semester:</strong> ".$_POST['semester']." - <strong>Verband:</strong> ".$_POST['verband']." - <strong>Gruppe:</strong> ".$_POST['gruppe']." - <strong>Spezialgruppe:</strong> ".$_POST['gruppe_kurzbz']." - <strong>Lektor:</strong> ".$_POST['lektorid']." - <strong>Titel:</strong> ".$_POST['titel']." - <strong>Beschreibung:</strong> ".$_POST['beschreibung']." - <strong>Datum:</strong> $datum - <strong>Stunde:</strong> $std -- <strong>Eingefügt!</strong></div>"; + + } + if (!$error) + echo "<br><font style='color:green'><strong>Einfügen erfolgreich abgeschlossen!</strong></font><br>"; + else + echo "<br><font style='color:red'><strong>Es ist ein Fehler aufgetreten!</strong></font><br>"; + } } } +else + echo "<div style='color:red;'><strong>Für diese Aktion haben Sie nicht die nötigen Rechte</strong></div>"; ?> </body> </html> diff --git a/vilesci/top.php b/vilesci/top.php index 5ee0da6a6..7434dc9e7 100644 --- a/vilesci/top.php +++ b/vilesci/top.php @@ -62,7 +62,7 @@ <body style="background-color:#eeeeee; margin:0; padding:0;"> <div class="logo"> -<table> +<table class="logo"> <tr> <?php function checkpermission($permissions) @@ -100,7 +100,7 @@ foreach($menu AS $m) if($firstcat=='' && isset($m['link']) && $m['target']=='nav') $firstcat=$m['link']; if (isset($m['link'])) - echo '<a href="'.$m['link'].'" '; + echo '<a class="toplink" href="'.$m['link'].'" '; if (isset($m['target'])) echo 'target="'.$m['target'].'" '; if (isset($m['link']))