diff --git a/include/benutzer.class.php b/include/benutzer.class.php index d5a6a6b65..4c68dada9 100644 --- a/include/benutzer.class.php +++ b/include/benutzer.class.php @@ -259,10 +259,15 @@ class benutzer extends person } } - public function search($searchItems) + /** + * Sucht nach Benutzern. Limit optional. + * + * @param $limit (optional) + */ + public function search($searchItems, $limit=null) { $qry = "SELECT * FROM (SELECT - distinct on (uid) vorname, nachname, uid, titelpre, titelpost,alias, + distinct on (uid) vorname, nachname, uid, mitarbeiter_uid, titelpre, titelpost,alias, (SELECT UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) FROM public.tbl_student JOIN public.tbl_studiengang USING(studiengang_kz) WHERE student_uid=tbl_benutzer.uid) as studiengang, @@ -281,6 +286,7 @@ class benutzer extends person FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) + LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) WHERE tbl_benutzer.aktiv AND ("; @@ -288,6 +294,7 @@ class benutzer extends person $qry.=" lower(vorname || ' ' || nachname) like lower('%".addslashes(implode(' ',$searchItems))."%')"; $qry.=" OR lower(nachname || ' ' || vorname) like lower('%".addslashes(implode(' ',$searchItems))."%')"; $qry.=" OR lower(uid) like lower('%".addslashes(implode(' ',$searchItems))."%')"; + $qry.=" OR lower(telefonklappe) like lower('%".addslashes(implode(' ',$searchItems))."%')"; foreach($searchItems as $value) { @@ -295,6 +302,9 @@ class benutzer extends person } $qry.=")) a ORDER BY nachname, vorname"; + if(!is_null($limit) && is_numeric($limit)) + $qry.=" LIMIT ".$limit; + if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) @@ -306,6 +316,7 @@ class benutzer extends person $obj->nachname = $row->nachname; $obj->titelpost = $row->titelpost; $obj->uid = $row->uid; + $obj->mitarbeiter_uid = $row->mitarbeiter_uid; $obj->studiengang = $row->studiengang; $obj->studiengang_kz = $row->studiengang_kz; $obj->telefonklappe = $row->klappe; diff --git a/include/content.class.php b/include/content.class.php index 9fedd6a87..da195686e 100644 --- a/include/content.class.php +++ b/include/content.class.php @@ -779,7 +779,7 @@ class content extends basis_db } /** - * Laedt alle Content Eintraege die keine Childs von anderen Contenteintraegen sind + * Laedt alle aktuellen News, die aelter als zwei Monate sind * @return boolean */ public function getNews() @@ -1264,11 +1264,12 @@ class content extends basis_db } /** - * Durchsucht den Content + * Durchsucht den Content. Limit optional. * * @param array $searchItems + * @param $limit (optional) */ - public function search($searchItems) + public function search($searchItems, $limit=null) { $qry = "SELECT distinct on(content_id) * @@ -1284,6 +1285,9 @@ class content extends basis_db OR lower(content::text) like lower('%".$this->db_escape(htmlentities($value,ENT_NOQUOTES,'UTF-8'))."%'))"; $qry.=" ORDER BY content_id DESC"; + if(!is_null($limit) && is_numeric($limit)) + $qry.=" LIMIT ".$limit; + if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) diff --git a/include/dms.class.php b/include/dms.class.php index e7ce66940..15ed1d68a 100644 --- a/include/dms.class.php +++ b/include/dms.class.php @@ -667,6 +667,55 @@ class dms extends basis_db } } +/** + * Sucht nach Dokumenten (nur Spalte Beschreibung) mit der aktuellsten Version. + * Optional kann die Anzahl an Suchergebnissen übergeben werden. + * + * @param suchstring + * @param limit (optional) + */ + public function searchLastVersion($suchstring, $limit=null) + { + $qry = "SELECT * FROM campus.tbl_dms JOIN campus.tbl_dms_version USING(dms_id) + WHERE 1=1 "; + foreach($suchstring as $value) + $qry.=" AND (lower(beschreibung::text) like lower('%".$this->db_escape($value)."%') + OR lower (beschreibung::text) like lower ('%".$this->db_escape(htmlentities($value,ENT_NOQUOTES,'UTF-8'))."%'))"; + $qry.= "AND version=(SELECT MAX(version) FROM campus.tbl_dms_version where dms_id=tbl_dms.dms_id)"; + + if(!is_null($limit) && is_numeric($limit)) + $qry.=" LIMIT ".$limit; + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new dms(); + + $obj->dms_id = $row->dms_id; + $obj->version = $row->version; + $obj->oe_kurzbz = $row->oe_kurzbz; + $obj->dokument_kurzbz = $row->dokument_kurzbz; + $obj->kategorie_kurzbz = $row->kategorie_kurzbz; + $obj->filename = $row->filename; + $obj->mimetype = $row->mimetype; + $obj->name = $row->name; + $obj->beschreibung = $row->beschreibung; + $obj->letzterzugriff = $row->letzterzugriff; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->updateamum = $row->updateamum; + + $this->result[] = $obj; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } + /** * * lädt alle Versionen zu einer übergebenen ID diff --git a/include/js/flexcroll.js b/include/js/flexcroll.js new file mode 100644 index 000000000..4e7e7a8c4 --- /dev/null +++ b/include/js/flexcroll.js @@ -0,0 +1,22 @@ +/* +This license text has to stay intact at all times: +fleXcroll Public License Version +Cross Browser Custom Scroll Bar Script by Hesido. +Public version - Free for non-commercial uses. + +This script cannot be used in any commercially built +web sites, or in sites that relates to commercial +activities. This script is not for re-distribution. +For licensing options: +Contact Emrah BASKAYA @ www.hesido.com + +Derivative works are only allowed for personal uses, +and they cannot be redistributed. + +FleXcroll Public Key Code: 20050907122003339 +MD5 hash for this license: 9ada3be4d7496200ab2665160807745d + +End of license text--- +*/ +//fleXcroll v2.0.0 +eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('B F={2W:[],4F:8(){5(Y.1t){Y.5U(\'<11 57="5C/6p">.1R-5G-4T {3B: 2m !6a;}\')};M.V(16,\'5m\',M.5E)},3O:8(g){B h=Y,J=16,23=6F;5(!h.1t||!h.4M)C;5(33(g)==\'3I\')g=Y.1t(g);5(g==Z||23.3b.2B(\'62\')!=-1||((23.3b.2B(\'6U\')!=-1||23.3b.2B(\'7d\')!=-1)&&!(33(5e)!="6x"&&5e.74))||23.7k==\'6h\'||(23.79.2B(\'7o\')!=-1&&23.3b.2B(\'70\')!=-1)){5(g!=Z)2b(g,\'1R-7g\',\'1R-5G-4T\');5(16.50)16.50(g);C};5(g.14){g.14.1G();C};5(F.5u(g))C;5(!g.1M||g.1M==\'\'){B k="6M",c=1;1B(Y.1t(k+c)!=Z){c++};g.1M=k+c}g.4I=2q 5q();g.14=2q 5q();B l=g.1M,4=g.4I,I=g.14;4.27={5Y:[\'-1s\',0],6Y:[0,\'-1s\'],6t:[\'1s\',0],7s:[0,\'1s\'],7f:[0,\'-1p\'],6e:[0,\'1p\'],7u:[0,\'-4W\'],77:[0,\'+4W\']};4.3R=["-2s","2s"];4.41=["-2s","2s"];4.1V=[[A,A],[A,A]];B m=T(\'6I\',E),H=T(\'7m\',E),G=T(\'66\',E),1l=T(\'72\',E);B o=T(\'7q\',E),1x=T(\'6B\',E),37=A;1l.D.1K=\'4P 5i 7i\';1l.2e();g.11.3B=\'2m\';1x.D.6l="7b";1x.D.1Z="53";1x.D.13="53";1x.D.1O="3h";1x.D.21="-6Q";1x.2e();B p=g.15,5y=g.1q;2u(g,1l,\'1g\',[\'1K-1b-13\',\'1K-25-13\',\'1K-1e-13\',\'1K-2g-13\']);B q=g.15,5k=g.1q,3D=5y-5k,43=p-q;B s=(g.2c)?g.2c:0,59=(g.2i)?g.2i:0;B t=Y.2Y.1f,3Q=/#([^#.]*)$/;B u=[\'5W\',\'6r\',\'6S\'];4.O=[];4.29=[];4.6c=4.U=[];4.6H=4.1I=[];4.1Q=[A,A];4.2D=A;4.2G=A;4.17=[];4.1T=[0,0];4.1v=[];4.3K=[];4.19=[];4.2o=[A,A];4.2x=[0,0];1B(g.4N){m.1a(g.4N)};m.1a(o);g.1a(H);g.1a(1l);B w=P(g,\'1O\');5(w!=\'3h\'&&w!=\'5g\'){g.11.1O=w="35"};5(w==\'5g\')g.11.1O="3h";B x=P(g,\'5C-64\');g.11.5s=\'1b\';H.D.13="52";H.D.1Z="52";H.D.1e="1g";H.D.1b="1g";2u(g,1l,"1g",[\'N-1b\',\'N-1e\',\'N-25\',\'N-2g\']);B y=g.1q,5w=g.15,48;48=H.15;H.D.6j="6O 5i 6z";5(H.15>48)37=E;H.D.6W="1g";2u(1l,g,A,[\'N-1b\',\'N-1e\',\'N-25\',\'N-2g\']);1N(H);1N(g);4.19[0]=H.1D-g.1D;4.19[2]=H.1F-g.1F;g.11.5o=P(g,"N-2g");g.11.5A=P(g,"N-25");1N(H);1N(g);4.19[1]=H.1D-g.1D;4.19[3]=H.1F-g.1F;g.11.5o=P(1l,"N-1e");g.11.5A=P(1l,"N-1b");B z=4.19[2]+4.19[3],3G=4.19[0]+4.19[1];g.11.1O=w;H.11.5s=x;2u(g,H,A,[\'N-1b\',\'N-25\',\'N-1e\',\'N-2g\']);G.D.13=g.1q+\'K\';G.D.1Z=g.15+\'K\';H.D.13=y+\'K\';H.D.1Z=5w+\'K\';G.D.1O=\'3h\';G.D.1e=\'1g\';G.D.1b=\'1g\';4.31=G.D.21;H.1a(m);g.1a(G);G.1a(1x);m.D.1O=\'35\';H.D.1O=\'35\';m.D.1e="0";m.D.13="46%";H.D.3B=\'2m\';H.D.1b="-"+4.19[2]+"K";H.D.1e="-"+4.19[0]+"K";4.4h=1x.15;4.3l=8(){B a=m.60,3p=6v=0;1n(B i=0;i4.2J[1])?1:0;4.4E=(42<4.2J[2]||42>4.2J[3])?1:0;4.4s=a-4.5n;4.4C=4i-4.5J;4.3q=(4.4s>40)?1:(4.4s<-40)?-1:0;4.3i=(4.4C>40)?1:(4.4C<-40)?-1:0;5((4.3q!=0||4.3i!=0)&&!4.2j)4.2j=J.2R(8(){5(4.3q==0&&4.3i==0){J.2n(4.2j);4.2j=A;C};34();5(4.4D==1||4.4E==1)I.1h((4.3q*4.4D)+"s",(4.3i*4.4E)+"s",E)},45)};8 2C(){F.1H(h,\'2M\',3J);5(4.2j)J.2n(4.2j);4.2j=A;5(4.3V)J.51(4.3V);5(4.4b)J.2n(4.4b)};8 3x(a){5(4.2G){16.2n(4.2G);4.2G=A}5(!a)G.D.21=4.31};8 34(){4.4B=(J.5v)?J.5v:(h.2t&&h.2t.2i)?h.2t.2i:0;4.4z=(J.5f)?J.5f:(h.2t&&h.2t.2c)?h.2t.2c:0};I.4o=8(){1n(B j=0,3F;3F=u[j];j++){B a=g.30(3F);1n(B i=0,2r;2r=a[i];i++){5(!2r.4J){F.V(2r,\'5Z\',8(){g.2X=E});F.V(2r,\'6J\',6R=8(){g.2X=A});2r.4J=E}}}};g.6u=I.1G=8(a){5(G.W[1]()===0||G.W[0]()===0)C;m.D.N=\'4P\';B b=4.17[0],5b=4.17[1],47=G.2U,2F=G.3n,3e,3u,2T=[];G.D.13=g.1q-3D+\'K\';G.D.1Z=g.15-43+\'K\';2T[0]=4.U[0];2T[1]=4.U[1];4.17[0]=4.3l()>4.U[0];4.17[1]=4.3f()>4.U[1];B c=(b!=4.17[0]||5b!=4.17[1]||2T[0]!=4.U[0]||2T[1]!=4.U[1])?E:A;47.1k.3S(4.17[1]);2F.1k.3S(4.17[0]);3e=(4.17[1]||4.29[1]);3u=(4.17[0]||4.29[0]);4.3l();4.3f();4.4l();4.4d();5(!4.17[0]||!4.17[1]||4.1v[0]||4.1v[1])2F.2I.2e();1i 2F.2I.38();5(3e)3y(47,(3u&&!4.1v[0])?4.1T[1]:0);1i m.D.1e="0";5(3u)3y(2F,(3e&&!4.1v[1])?4.1T[0]:0);1i m.D.1b="0";5(c&&!a)I.1G(E);m.D.N=\'1g\';4.1Q[0]=4.1Q[1]=A};g.6f=I.1h=8(a,b,c,d){B e;5((a||a===0)&&4.O[0]){a=4u(a,0);e=G.3n.7;e.1c=(c)?R.28(R.1X(e.1J,e.1c-a),0):-a;e.3m()}5((b||b===0)&&4.O[1]){b=4u(b,1);e=G.2U.7;e.1c=(c)?R.28(R.1X(e.1J,e.1c-b),0):-b;e.3m()}5(!c)4.1Q[0]=4.1Q[1]=A;5(g.3z&&!d)g.3z();C 4.1V};I.4m=8(a,b){C I.1h(a,b,E)};I.3A=8(a){5(a==Z||!4X(a))C;B b=4Q(a);I.1h(b[0]+4.19[2],b[1]+4.19[0],A);I.1h(0,0,E)};2u(1l,g,\'1g\',[\'1K-1b-13\',\'1K-25-13\',\'1K-1e-13\',\'1K-2g-13\']);M.4f(1l,G);g.2c=0;g.2i=0;I.4o();M.2W[M.2W.2y]=g;2b(g,\'67\',A);I.1G();I.1h(59,s,E);5(t.X(3Q)){I.3A(h.1t(t.X(3Q)[1]))};4.7c=J.2R(8(){B n=1x.15;5(n!=4.4h){I.1G();4.4h=n}},6V);8 4u(v,i){B a=v.7j();v=6C(a);C 1j((a.X(/p$/))?v*4.U[i]*0.9:(a.X(/s$/))?v*4.U[i]*0.1:v)};8 P(a,b){C F.P(a,b)};8 2u(a,b,c,d){B e=2q 4j();1n(B i=0;i0&&4.1V[i][1]==4.1V[i][0])||(4.12[i]<0&&4.1V[i][0]==0))4.2D=A};5(!4.O[i]&&4.12[1-i]!==0&&R.3W(4.12[i]/4.12[1-i])>1.1)4.2D=A};5(4.2D){e.1u();G.D.21=\'7l\'}1i{G.D.21=4.31}};8 4c(e){5(!e)e=J.1m;e.1u();5(e.2d.2y>0)C A;F.1H(g,\'5h\',3L);F.1H(g,\'5K\',4c);5((4.O[0]&&R.3W(4.12[0])>6)||(4.O[1]&&R.3W(4.12[1])>6)){B a=0;3x(E);4.2G=16.2R(8(){I.4m(4p(4.12[0],0,10,a,0.3),4p(4.12[1],0,10,a,0.3));a++;5(a>10)3x()},46)}};8 2A(e){5(!e)e=J.1m;5(!M.14)C;B a=M,36,4A,1U=A,1A=0,22;I.24();4w=(e.18)?e.18:(e.1C)?e.1C:M;5(4w.1M&&4w.1M.X(/6P/))1U=E;5(e.4L)1A=-e.4L;5(e.5R)1A=e.5R;1A=(1A<0)?-1:+1;22=(1A<0)?0:1;4.1Q[1-22]=A;5((4.1Q[22]&&!1U)||(!4.O[0]&&!4.O[1]))C;5(4.O[1]&&!1U)1Y=I.1h(A,4.3R[22],E);36=!4.O[1]||1U||(4.O[1]&&((1Y[1][0]==1Y[1][1]&&1A>0)||(1Y[1][0]==0&&1A<0)));5(4.O[0]&&(!4.O[1]||1U))1Y=I.1h(4.3R[22],A,E);4A=!4.O[0]||(4.O[0]&&4.O[1]&&36&&!1U)||(4.O[0]&&((1Y[0][0]==1Y[0][1]&&1A>0)||(1Y[0][0]==0&&1A<0)));5(36&&4A&&!1U)4.1Q[22]=E;1i 4.1Q[22]=A;5(e.1u)e.1u();C A};8 4X(a){1B(a.1d){a=a.1d;5(a==g)C E}C A};8 1N(a){B b=a,2a=2h=0;5(b.32){1B(b){2a+=b.5I;2h+=b.5d;b=b.32}}1i 5(b.x){2a+=b.x;2h+=b.y};a.1F=2a;a.1D=2h};8 4Q(a){B b=a;2a=2h=0;1B(!b.15&&b.1d&&b!=m&&P(b,\'2K\')=="61"){b=b.1d};5(b.32){1B(b!=m){2a+=b.5I;2h+=b.5d;b=b.32}};C[2a,2h]};8 2b(a,b,c){F.2b(a,b,c)};8 4p(a,b,c,d,e){c=R.1X(c,1);B f=b-a,3o=a+(R.71(((1/c)*d),e)*f);C(3o>0)?R.6w(3o):R.7r(3o)}},5E:8(){5(F.3w)16.2n(F.3w);F.3H();F.3U();5(16.4Z)16.4Z()},2b:8(a,b,c){5(!a.1r)a.1r=\'\';B d=a.1r;5(b&&!d.X(3c("(^|\\\\s)"+b+"($|\\\\s)")))d=d.4n(/(\\S$)/,\'$1 \')+b;5(c)d=d.4n(3c("((^|\\\\s)+"+c+")+($|\\\\s)","g"),\'$2\').4n(/\\s$/,\'\');a.1r=d},3H:8(){B d=/#([^#.]*)$/,2H=/(.*)#.*$/,5N=/(^|\\s)1R-7h-6L-7B($|\\s)/,7x,49,i,1o,5t=Y.30("a"),2p=Y.2Y.1f;5(2p.X(2H))2p=2p.X(2H)[1];1n(i=0;1o=5t[i];i++){49=(1o.1r)?1o.1r:\'\';5(1o.1f&&!1o.3g&&1o.1f.X(d)&&((1o.1f.X(2H)&&2p===1o.1f.X(2H)[1])||49.X(5N))){1o.3g=E;F.V(1o,\'69\',8(e){5(!e)e=16.1m;B a=(e.1C)?e.1C:M;1B(!a.3g&&a.1d){a=a.1d};5(!a.3g)C;B b=Y.1t(a.1f.X(d)[1]),3a=A;5(b==Z)b=(b=Y.7D(a.1f.X(d)[1])[0])?b:Z;5(b!=Z){B c=b;1B(c.1d){c=c.1d;5(c.14){c.14.3A(b);3a=c}};5(3a){5(e.1u)e.1u();Y.2Y.1f=2p+"#"+a.1f.X(d)[1];3a.14.24();C A}}})}}},3U:8(a){F.7a=E;B b=F.3X(Y.30("7J")[0],"4q",(a)?a:\'1R\');1n(B i=0,3s;3s=b[i];i++)5(!3s.14)F.3O(3s)},7H:8(a,b){5(33(a)==\'3I\')a=Y.1t(a);5(a==Z)C A;B c=a;1B(c.1d){c=c.1d;5(c.14){5(b){Y.2Y.1f="#"+b};c.14.3A(a);c.14.24();C E}};C A},1G:8(a,b){1n(B i=0,3k;3k=F.2W[i];i++){3k.14.1G();5(b)3k.14.4o()};5(a)F.3H()},4e:8(a){B a=a.6E(\'-\'),3N=a[0],i;1n(i=1;4g=a[i];i++){3N+=4g.7v(0).7G()+4g.7I(1)};C 3N},3X:8(a,b,c){5(33(a)==\'3I\')a=Y.1t(a);5(a==Z)C A;B d=2q 3c("(^|\\\\s)"+c+"($|\\\\s)"),7K,3Z=[],4v=0;B e=a.30(b);1n(B i=0,2P;2P=e[i];i++){5(2P.1r&&2P.1r.X(d)){3Z[4v]=2P;4v++}}C 3Z},5u:8(a){5(a==Z)C E;B b;1B(a.1d){b=F.P(a,\'2K\');5(b==\'3T\')C E;a=a.1d};C A},P:8(a,b){5(16.4S)C 16.4S(a,Z).6o(b);5(a.5l)C a.5l[F.4e(b)];C A},3w:16.2R(8(){B a=Y.1t(\'1R-7n\');5(a!=Z){F.3U();16.2n(F.3w)}},46),4f:8(a,b){a.1d.7F(a);a.11.2K="3T";b.1a(a)},V:8(a,b,c){5(!F.1z(a,b,c)&&a.56){a.56(\'5L\'+b,c)}},1z:8(a,b,c){5(a.4r){a.4r(b,c,A);F.4O=E;16.4r("6T",8(){F.1H(a,b,c)},A);C E}1i C A},1H:8(a,b,c){5(!F.5B(a,b,c)&&a.5P)a.5P(\'5L\'+b,c)},5B:8(a,b,c){5(a.5T){a.5T(b,c,A);C E}1i C A}};8 7z(a){F.3O(a)};F.4F();',62,481,'||||sC|if||sBr|function||||||||||||||||||||||||||||false|var|return|sY|true|fleXenv|tDv|mDv|sfU|wD|px|movBr|this|padding|scroller|getStyle|curPos|Math||createDiv|cntRSize|addTrggr|getSize|match|document|null||style|moveDelta|width|fleXcroll|offsetHeight|window|reqS|target|paddings|appendChild|left|trgtScrll|parentNode|top|href|0px|setScrollPos|else|parseInt|sDv|pDv|event|for|anchoR||offsetWidth|className||getElementById|preventDefault|forcedHide|targetSkew|fDv|setPos|addChckTrggr|delta|while|srcElement|yPos|sSBr|xPos|updateScrollBars|remTrggr|cntSize|mxScroll|border|goScroll|id|findPos|position|retFalse|edge|flexcroll|_|barSpace|hoverH|scrollPosition|sSDv|max|scrollState|height|sFBr|zIndex|iNDx|nV|mDPosFix|right|maxPos|keyAct|min|forcedBar|curleft|classChange|scrollTop|targetTouches|fHide|clientX|bottom|curtop|scrollLeft|tSelectFunc|mV|clientY|hidden|clearInterval|externaL|urlBase|new|formItem||documentElement|copyStyles|sFDv|indx|touchPos|length|moved|mWheelProc|indexOf|intClear|touchPrevent|minPos|hBr|touchFlick|urlExt|jBox|mTBox|display|barZ|mousemove|setSize|createScrollBars|pusher|mMouseUp|setInterval|barPadding|cPSize|vrt|visibility|fleXlist|focusProtect|location|ofstParent|getElementsByTagName|tDivZ|offsetParent|typeof|pageScrolled|relative|vEdge|stdMode|fShow|vertical|eScroll|userAgent|RegExp|sRange|vUpReq|getContentHeight|fleXanchor|absolute|sYdir|scrollBoth|fleXdiv|getContentWidth|realScrollPos|hrz|stepp|maxCWidth|sXdir|mMoveBar|tgDiv|clicked|hUpReq|mouseup|catchFastInit|flickClear|updateScroll|onfleXcroll|scrollToElement|overflow|handleTouch|brdWidthLoss|doBarPos|inputName|padHeightComp|prepAnchors|string|tSelectMouse|forcedPos|handleTouchMove|prepareScroll|reT|fleXcrollMain|handleTextSelect|uReg|wheelAct|setVisibility|none|initByClass|barClickRetard|abs|getByClassName|selectstart|retArray||baseAct|mdY|brdHeightLoss|baseProp||100|vBr|mHeight|claSS|onmousedown|barClickScroll|handleTouchEnd|setWidth|camelConv|putAway|parT|zTHeight|mY|Array|padLoss|setHeight|scrollContent|replace|formUpdate|easeInOut|div|addEventListener|xAw|refreshTimeout|calcCScrollVal|key|hElem|mdX|maxx|yScrld|hEdge|xScrld|yAw|mOnXEdge|mOnYEdge|fleXcrollInit|touchstart|scrlTrgt|fleXdata|fleXprocess|fixIEDispBug|wheelDelta|createElement|firstChild|w3events|1px|findRCpos|vBar|getComputedStyle|default|mousedown|setTimeout|100p|isddvChild|mousewheel|onfleXcrollRun|onfleXcrollFail|clearTimeout|100px|1em|basebeg|opera|attachEvent|type|keyCode|oScrollX|index|reqV|DOMMouseScroll|offsetTop|HTMLElement|pageYOffset|fixed|touchmove|solid|getPos|intlWidth|currentStyle|load|inMposX|paddingTop|aSize|Object|barbeg|textAlign|anchorList|checkHidden|pageXOffset|postHeight|pointerOffsetY|brdWidth|baseend|paddingLeft|remChckTrggr|text|pkeY|globalInit|flexinactive|hide|barend|offsetLeft|inMposY|touchend|on|80|regExer|inCurPos|detachEvent|touchBar|detail|pointerOffsetX|removeEventListener|write|onmousewheel|textarea|auto|_37|focus|childNodes|inline|OmniWeb|keypress|align|yScroll|scrollwrapper|flexcrollactive|hscroller|click|important|setAttribute|containerSize|425|_34|contentScroll|block|KDE|bscrollgeneric|borderBottom|vh|fontSize|visible|scrollerjogbox|getPropertyValue|css|keydown|input|onmouseover|_39|scrollUpdate|compPad|floor|undefined|keyup|black|touchLink|zoomdetectdiv|parseFloat|hBar|split|navigator|tabIndex|contentSize|contentwrapper|blur|vscroller|page|flex__|scrollbar|2px|_hscroller|999|onblur|select|unload|AppleWebKit|2500|borderBottomWidth|normal|_38|base|MSIE|pow|copyholder|scrollgeneric|prototype||button|_35|bar|platform|initialized|12px|sizeChangeDetect|Safari|onmouseclick|_33|failed|in|blue|toString|vendor|9999|mcontentwrapper|init|Mac|dblclick|domfixdiv|ceil|_40|nodeType|_36|charAt|xScroll|matcH|scrollerba|CSBfleXcroll|ondblclick|link|rs|getElementsByName|resize|removeChild|toUpperCase|scrollTo|substr|body|clsnm'.split('|'),0,{})) diff --git a/include/news.class.php b/include/news.class.php index e0789e54a..3c68186b9 100644 --- a/include/news.class.php +++ b/include/news.class.php @@ -81,7 +81,7 @@ class news extends basis_db $qry.=" AND fachbereich_kurzbz='".addslashes(trim($fachbereich_kurzbz))."'"; } - if(trim($studiengang_kz)=='0' || trim($studiengang_kz)=='10006') + if(trim($studiengang_kz)=='0') $qry.=" AND studiengang_kz='".$studiengang_kz."' ".(trim($semester)!=''?(trim($semester)=='0'?' AND semester=0':''):' AND semester is null'); elseif(trim($studiengang_kz)=='') $qry.=''; diff --git a/include/ort.class.php b/include/ort.class.php index 9c6420f84..7b95c2de2 100644 --- a/include/ort.class.php +++ b/include/ort.class.php @@ -373,20 +373,27 @@ class ort extends basis_db } /** - * Sucht nach einem Ort + * Sucht nach einem Ort. Wenn aktiv-parameter true, dann nur aktive. Wenn lehre-parameter true, dann nur lehre * @return true wenn ok, false im Fehlerfall + * + * @param aktiv (optional) + * @param lehre (optional) */ - public function filter($filter) + public function filter($filter, $aktiv=false, $lehre=false) { $qry = " SELECT * FROM public.tbl_ort - WHERE + WHERE ( lower(ort_kurzbz) like '%".$this->db_escape(mb_strtolower($filter))."%' - OR lower(bezeichnung) like '%".$this->db_escape(mb_strtolower($filter))."%' - ORDER BY ort_kurzbz;"; + OR lower(bezeichnung) like '%".$this->db_escape(mb_strtolower($filter))."%')"; + if ($aktiv==true) + $qry.= " AND aktiv=true"; + if ($lehre==true) + $qry.= " AND lehre=true"; + $qry.= " ORDER BY ort_kurzbz;"; if(!$this->db_query($qry)) { @@ -412,7 +419,7 @@ class ort extends basis_db $ort_obj->stockwerk = $row->stockwerk; $ort_obj->standort_id = $row->standort_id; $ort_obj->telefonklappe = $row->telefonklappe; - $ort_obj->content_id = $row->content_id; + //$ort_obj->content_id = $row->content_id; $this->result[] = $ort_obj; } diff --git a/include/service.class.php b/include/service.class.php index 061c6fb18..54ee61692 100755 --- a/include/service.class.php +++ b/include/service.class.php @@ -119,6 +119,42 @@ class service extends basis_db } } + /** + * Sucht ein Service + * + * @param $suchstring + */ + public function search($suchstring) + { + $qry = "SELECT * FROM public.tbl_service WHERE 1=1 "; + foreach($suchstring as $value) + $qry.="AND (lower(beschreibung::text) like lower('%".$this->db_escape($value)."%') + OR lower(beschreibung::text) like lower('%".$this->db_escape(htmlentities($value,ENT_NOQUOTES,'UTF-8'))."%'))"; + $qry.=" ORDER BY oe_kurzbz, bezeichnung"; + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $obj = new service(); + + $obj->service_id = $row->service_id; + $obj->bezeichnung = $row->bezeichnung; + $obj->beschreibung = $row->beschreibung; + $obj->ext_id = $row->ext_id; + $obj->oe_kurzbz = $row->oe_kurzbz; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg='Fehler beim Laden der Daten'; + return false; + } + } + public function getServicesOrganisationseinheit($oe_kurzbz) { $qry = 'SELECT diff --git a/include/studiensemester.class.php b/include/studiensemester.class.php index 2bfd99b35..20794ad38 100644 --- a/include/studiensemester.class.php +++ b/include/studiensemester.class.php @@ -623,9 +623,39 @@ class studiensemester extends basis_db return false; } } - + /** + * Liefert den UNIX Timestamp (Beginn,Ende) eines Studiensemesters + * + * @param $studiensemester_kurzbz + * @return Beginn und Ende eines Studiensemesters als Timestamp + */ + public function getTimestamp($studiensemester_kurzbz) + { + $qry = "SELECT start,ende,studiensemester_kurzbz FROM public.tbl_studiensemester + WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz).""; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->begin->start=mktime(0,0,0,mb_substr($row->start,5,2),mb_substr($row->start,8,2),mb_substr($row->start,0,4)); + $this->ende->ende=mktime(0,0,0,mb_substr($row->ende,5,2),mb_substr($row->ende,8,2),mb_substr($row->ende,0,4)); + return true; + } + else + { + $this->errormsg = 'Es wurde kein Studiensemester gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Ermitteln des Studiensemesters'; + return false; + } + } /** - * untersucht das übergebene datum in welchem semester es sich befindet + * untersucht das �bergebene datum in welchem semester es sich befindet * @param type $datum * @return boolean */ @@ -633,7 +663,7 @@ class studiensemester extends basis_db { if($datum == '') { - $this->errormsg = "Ungueltiges Datum übergeben"; + $this->errormsg = "Ungueltiges Datum �bergeben"; return false; } $qry = "SELECT * FROM public.tbl_studiensemester WHERE start <=".$this->db_add_param($datum, FHC_STRING)." AND ende >= ".$this->db_add_param($datum).';'; diff --git a/include/tw/cis_menu_global.inc.php b/include/tw/cis_menu_global.inc.php index b3ea5ffdb..274b1082d 100644 --- a/include/tw/cis_menu_global.inc.php +++ b/include/tw/cis_menu_global.inc.php @@ -29,14 +29,15 @@ require_once ('../include/functions.inc.php'); $sprache = getSprache(); $p = new phrasen($sprache); ?> - \ No newline at end of file + +      diff --git a/include/tw/cis_menu_lv.inc.php b/include/tw/cis_menu_lv.inc.php index a41838783..823a54d1e 100644 --- a/include/tw/cis_menu_lv.inc.php +++ b/include/tw/cis_menu_lv.inc.php @@ -31,7 +31,7 @@
".$p->t('lehre/lehrveranstaltungsinformation')."
"; + echo "
".$p->t('lehre/lehrveranstaltungsinformation')."

"; $qry = "SELECT * FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='".addslashes($lvid)."' AND genehmigt=true AND sprache='German' AND aktiv=true"; $need_br=false; @@ -62,7 +62,7 @@ } ?> -

 

+ path.'/" target="_blank">'; - echo '
'; + echo '
'; echo ''.$p->t('lehre/semesterplan').''; echo ''; } else { - echo '
'; + echo '
'; echo ''.$p->t('lehre/semesterplan').''; } @@ -149,7 +149,7 @@ ?> -

 

+ path.'/" target="_blank" class="Item">'; - echo '
'; + echo '
'; echo ''.$p->t('lehre/download').''; echo ''; } else { - echo '
'; + echo '
'; echo ''.$p->t('lehre/download').''; } @@ -224,7 +224,7 @@ echo $p->t('lehre/ziparchiv'); } ?> -

 

+ @@ -234,7 +234,7 @@
'; + echo '
'; if($is_lector) { //Anwesenheitsliste @@ -296,7 +296,7 @@ } ?> -

 

+ kurzbzlang).'.'.$semester.'sem.'.mb_strtolower($short_short_name).'" class="Item"> -
+
'.$p->t('lehre/newsgroups').' '; } ?> -

 

+
'.$p->t('lehre/feedback').''; + echo '
'.$p->t('lehre/feedback').'
'; ?> -

 

+ @@ -368,7 +368,7 @@ $studiensem = ''; echo ' -
+
'.$p->t('lehre/kreuzerltool').'

'.$p->t('lehre/benotungstoolHandbuch').' [PDF]'; } @@ -380,7 +380,7 @@ $studiensem = ''; echo ' -
+
'.$p->t('lehre/kreuzerltool').'
'; } @@ -390,14 +390,14 @@ if($is_lector) { echo ' -
+
'.$p->t('lehre/kreuzerltool').'

'.$p->t('lehre/benotungstoolHandbuch').' [PDF]'; } } echo' -

 

+ '; @@ -458,29 +458,28 @@ else $link = "moodle_choice.php?lvid=$lvid&stsem=$angezeigtes_stsem"; } - echo ' -
+ echo '
+
'.$p->t('lehre/moodle').'

'; } else { - echo '
+ echo '
'.$p->t('lehre/moodle').'
'; } if($is_lector) - echo ''.$p->t('lehre/moodleWartung').' -
'.$p->t('lehre/moodleHandbuch').' [PDF]'; - } + echo ' '.$p->t('lehre/moodleWartung').' +
'.$p->t('lehre/moodleHandbuch').' [PDF]'; else { if($is_lector) - echo ' -
+ echo '
+
'.$p->t('lehre/moodle').'

'; } echo ' -

 

+ '; //Gesamtnote @@ -488,9 +487,9 @@ { echo ''; echo ' -
+
'.$p->t('lehre/gesamtnote').'

'; - echo '

 

+ echo ' '; } @@ -556,14 +555,14 @@ if($islector == true) { echo ""; - echo "
+ echo "
".$p->t('lehre/studentenAbgabe')."
"; } else { echo ""; - echo "
+ echo "
".$p->t('lehre/studentenAbgabe')."
"; } @@ -581,19 +580,20 @@ if($islector == true) { - echo "
+ echo "
".$p->t('lehre/studentenAbgabe').""; } else { echo ""; - echo "
+ echo "
".$p->t('lehre/studentenAbgabe')."
"; } } - echo '

 

- '; + echo ''; + + // Email an Studierende $mailto='mailto:'; $qry = 'SELECT @@ -632,9 +632,11 @@ echo ''; } echo ''; - echo '
'.$p->t('lehre/mail').'
'; + echo '
'.$p->t('lehre/mail').'
'; echo ''; + //Anzeigen von zus�tzlichen Lehre-Tools + $lehretools = new lehre_tools(); if($lehretools->getTools($lvid, $angezeigtes_stsem)) { @@ -647,7 +649,7 @@ echo ''; echo ''; if($row->logo_dms_id!='') - echo '
'; + echo '
'; echo ' '.$row->bezeichnung[$sprache].''; diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php index fd459339a..8e67424cf 100644 --- a/include/wochenplan.class.php +++ b/include/wochenplan.class.php @@ -38,7 +38,7 @@ require_once(dirname(__FILE__).'/datum.class.php'); require_once(dirname(__FILE__).'/zeitsperre.class.php'); require_once(dirname(__FILE__).'/phrasen.class.php'); require_once(dirname(__FILE__).'/globals.inc.php'); -require_once(dirname(__FILE__).'/sprache.class.php'); +require_once(dirname(__FILE__).'/sprache.class.php'); class wochenplan extends basis_db { @@ -407,9 +407,11 @@ class wochenplan extends basis_db $sprache = getSprache(); $p=new phrasen($sprache); - echo ''.$this->crlf; + //$datum=mktime(); + + echo '
'.$this->crlf; echo ' '.$this->crlf; - echo ' '.$this->crlf; // Kalenderjump - echo ' '.$this->crlf; + //echo ' '.$this->crlf; echo ' '.$this->crlf; - echo '
'.$this->crlf; + echo ' '.$this->crlf; echo '

'; if ($this->type=='student' || $this->type=='lektor') echo 'Person: '.$this->pers_titelpre.' '.$this->pers_vorname.' '.$this->pers_nachname.' '.$this->pers_titelpost.' - '.$this->pers_uid.'
'; @@ -424,9 +426,11 @@ class wochenplan extends basis_db $this->link.='&stg_kz='.$this->stg_kz.'&sem='.$this->sem.'&ver='.$this->ver.'&grp='.$this->grp; } if ($this->type=='ort') - echo ''.$p->t('lvplan/raum').': '.(1==1 || is_file(RAUMINFO_PATH.trim($this->ort_kurzbz).'.html')?''.$this->ort_kurzbz.'':$this->ort_kurzbz).' - '.$this->ort_bezeichnung.' - '.($this->ort_max_person!=''?'( '.$this->ort_max_person.' Personen )':'').'
'.$this->ort_ausstattung.'
'; + echo ''.$p->t('lvplan/raum').': '.(1==1 || is_file(RAUMINFO_PATH.trim($this->ort_kurzbz).'.html')?''.$this->ort_kurzbz.'':$this->ort_kurzbz).' - '.$this->ort_bezeichnung.' - '.($this->ort_max_person!=''?'( '.$this->ort_max_person.' Personen )':'').'
'.$this->ort_ausstattung; echo '

'.$this->crlf; - echo '
'.$this->crlf; + echo ' '; + //echo ' '; + echo '
'.$p->t('lvplan/semesterplaene').'
'.$this->crlf; //Kalender $this->kal_link.='&pers_uid='.$this->pers_uid.'&ort_kurzbz='.$this->ort_kurzbz.'&stg_kz='.$this->stg_kz.'&sem='.$this->sem.'&ver='.$this->ver.'&grp='.$this->grp.'&gruppe_kurzbz='.$this->gruppe_kurzbz; @@ -435,27 +439,30 @@ class wochenplan extends basis_db $kal_link_ss=$this->kal_link.'&begin='.$this->studiensemester_next->start.'&ende='.$this->studiensemester_next->ende; //echo '        '.$p->t('global/kalender').':   '.$this->crlf; echo $this->crlf; - echo ' '.$p->t('lvplan/uebersicht').': '.$this->studiensemester_now->name.' '.$this->crlf; - echo ' HTML'.$this->crlf; - echo ' CSV'.$this->crlf; - echo ' CSV-Outlook'.$this->crlf; - echo ' vCal Version 1.0'.$this->crlf; - echo ' vCal Version 2.0'.$this->crlf; - echo '     '.$p->t('lvplan/uebersicht').': '.$this->studiensemester_next->name.' '.$this->crlf; - echo ' HTML'.$this->crlf; - echo ' CSV'.$this->crlf; - echo ' CSV-Outlook'.$this->crlf; - echo ' iCal Version 1.0'.$this->crlf; - echo ' iCal Version 2.0'.$this->crlf; - echo ' '.$this->crlf; + //echo ' '.$p->t('lvplan/uebersicht').': '.$this->studiensemester_now->name.' '.$this->crlf; + echo $this->studiensemester_now->name.'
'.$this->crlf; + echo ' HTML'.$this->crlf; + echo ' CSV'.$this->crlf; + echo ' CSV-Outlook'.$this->crlf; + echo ' vCal Version 1.0'.$this->crlf; + echo ' vCal Version 2.0'.$this->crlf; + echo '
'.$p->t('lvplan/semesterplaene').''; + //echo '     '.$p->t('lvplan/uebersicht').': '.$this->studiensemester_next->name.' '.$this->crlf; + echo ' '.$this->studiensemester_next->name.'
'.$this->crlf; + echo ' HTML'.$this->crlf; + echo ' CSV'.$this->crlf; + echo ' CSV-Outlook'.$this->crlf; + echo ' iCal Version 1.0'.$this->crlf; + echo ' iCal Version 2.0'.$this->crlf; + echo '
'.$this->crlf; echo '
'.$this->crlf; - jahreskalenderjump($this->link); - echo ' '.$this->crlf; + //jahreskalenderjump($this->link); + //echo '

'.$this->crlf.$this->crlf; + echo ''.$this->crlf.$this->crlf; // Jump Wochenweise if ($this->type=='verband') @@ -494,8 +501,8 @@ class wochenplan extends basis_db //$datum=mktime($this->datum[hours], $this->datum[minutes], $this->datum[seconds], $this->datum[mon], $this->datum[mday], $this->datum[year]); if (isset($prev_ort)) { - echo '
'.$this->crlf; - echo ' '.$this->crlf; + echo ' '.$this->crlf; + echo '     '.$this->crlf; echo ' '.$this->crlf; } echo " '.$this->crlf; if (isset($next_ort)) { - echo ' '.$this->crlf; - echo ' '.$this->crlf; + echo ' '.$this->crlf; + echo '     '.$this->crlf; echo ' '.$this->crlf; } echo '

'; $link_parameter='&ort_kurzbz='.$this->ort_kurzbz; } - echo '

'; + echo '

'; // 4 Wochen zurueck - echo ' '.$this->crlf; - echo ' '.$this->crlf; - echo ' '; + echo ''.$this->crlf; + echo ''.$this->crlf; + echo ''; // 1 Woche zurueck - echo ' KW '.$this->kalenderwoche; + echo '">    '; + // Aktuelle KW + echo ''.$p->t('eventkalender/kw').' '.$this->kalenderwoche; + echo ''; // 1 Woche nach vor - echo ''; + echo '">    '; // 4 Wochen nach vor - echo ''; + echo '">'; echo '

'; + //Kalenderjump mit Hoverbox + jahreskalenderjump_hoverbox($this->link); return true; } - + /** * Zeichnen der Stundenplanwoche in HTML */ @@ -565,7 +581,7 @@ class wochenplan extends basis_db echo '
'.$this->crlf; //Tabelle zeichnen - echo ' '.$this->crlf; + echo '
'.$this->crlf; // Kopfzeile darstellen echo ''.$this->crlf; echo ' '.$this->crlf; @@ -737,7 +753,7 @@ class wochenplan extends basis_db } else { - echo '
'.$p->t('global/stunde').' 
'.$p->t('global/beginn').' 
'.$p->t('global/ende').' 

'; + echo '
'; $datum_res_lektor_start_m = date('Y-m-d', $datum_res_lektor_start); $datum_res_lektor_ende_m = date('Y-m-d', $datum_res_lektor_ende); $datum_m = date('Y-m-d',$datum); @@ -752,7 +768,7 @@ class wochenplan extends basis_db echo '
'.$this->crlf; if ($raumres && $this->type=='ort' && ($datum>=$datum_now && $datum>=$datum_res_lektor_start && $datum_mon<=$datum_res_lektor_ende)) { - echo ''; + echo '

'; echo ' '.$this->crlf; echo ' '.$this->crlf; @@ -2253,28 +2269,34 @@ class wochenplan extends basis_db } } -function jahreskalenderjump($link) +function jahreskalenderjump_hoverbox($link) //Mit Hoverbox Effekt { $sprache = getSprache(); $p=new phrasen($sprache); - $crlf=crlf(); $datum=mktime(); $woche=kalenderwoche($datum); - $datum=montag($datum); - echo '
'.$p->t('lvplan/springeZuKw').'
'.$crlf; - for ($anz=1;$anz<26;$anz++) + $wochenmontag=montag($datum); + + echo '
'.$p->t('global/titel').':'.$p->t('global/beschreibung').':
+
+
+ +
+ '.$crlf; + for ($anz=1;$anz<25;$anz++) { $linknew=$link.'&datum='.$datum; if ($woche==53) $woche=1; - echo ' '.$woche.''.$crlf; - if ($anz%5==0) - echo '
'.$crlf; + echo ' '.$crlf; + if ($anz%8==0) + echo ' '.$crlf; $datum+=60*60*24*7; $woche++; + $wochenmontag+=60*60*24*7; } - echo ' '.$crlf; + echo '
KW '.$woche.'
'.date('d.m', $wochenmontag).'
'.$crlf; } - + ?>