From 3d627a4e9075e2e0fad109623e7929bc7d90ed5a Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Fri, 14 Feb 2014 17:08:07 +0000 Subject: [PATCH] =?UTF-8?q?index.php,=20wochenplan.class.php:=20Wenn=20die?= =?UTF-8?q?=20Sprache=20auf=20Englisch=20gesetzt=20ist,=20werden=20in=20de?= =?UTF-8?q?n=20Studiengangs-DropDowns=20auch=20die=20englischen=20Bezeichn?= =?UTF-8?q?ungen=20angezeigt.=20zeitsperre.php,=20zeitsperre.class.php:=20?= =?UTF-8?q?In=20der=20=C3=9Cbersicht=20wird=20nun=20auch=20die=20eingetrag?= =?UTF-8?q?ene=20Vertretung=20angezeigt.=20mlists=5Fgenerate.php:=20Neue?= =?UTF-8?q?=20Verteiler=20f=C3=BCr=20alle=20m=C3=A4nnlichen=20und=20alle?= =?UTF-8?q?=20weiblichen=20Studierenden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lvplan/index.php | 8 +-- cis/private/profile/zeitsperre.php | 28 +++++++-- include/wochenplan.class.php | 7 ++- include/zeitsperre.class.php | 25 +++++++- locale/de-AT/incoming.php | 2 +- locale/en-US/passwort.php | 32 +++++------ system/mlists/mlists_generate.php | 92 ++++++++++++++++++++++++++++++ 7 files changed, 163 insertions(+), 31 deletions(-) diff --git a/cis/private/lvplan/index.php b/cis/private/lvplan/index.php index a44fab22a..e13ee8223 100644 --- a/cis/private/lvplan/index.php +++ b/cis/private/lvplan/index.php @@ -85,7 +85,7 @@ else $nachname=$db->db_result($result,0,'"nachname"'); $vornamen=$db->db_result($result,0,'"vorname"'); } -$sql_query="SELECT studiengang_kz, kurzbz, kurzbzlang, bezeichnung, typ FROM public.tbl_studiengang WHERE aktiv ORDER BY typ, kurzbz"; +$sql_query="SELECT studiengang_kz, kurzbz, kurzbzlang, bezeichnung, typ, english FROM public.tbl_studiengang WHERE aktiv ORDER BY typ, kurzbz"; $result_stg=$db->db_query($sql_query); if(!$result_stg) die ("Studiengang not found!"); @@ -271,14 +271,14 @@ $(document).ready(function() for ($i=0;$i<$num_rows;$i++) { $row=$db->db_fetch_object ($result_stg, $i); - echo '"; + echo ''; } ?> diff --git a/cis/private/profile/zeitsperre.php b/cis/private/profile/zeitsperre.php index dd38936eb..9b7397306 100644 --- a/cis/private/profile/zeitsperre.php +++ b/cis/private/profile/zeitsperre.php @@ -35,6 +35,7 @@ require_once('../../../include/fachbereich.class.php'); require_once('../../../include/organisationseinheit.class.php'); require_once('../../../include/phrasen.class.php'); require_once('../../../include/sprache.class.php'); +require_once('../../../include/ferien.class.php'); $sprache = getSprache(); $p = new phrasen($sprache); @@ -171,12 +172,17 @@ echo ' echo ""; } } - echo ''; - echo '
'.$p->t('zeitsperre/anzahlTage').'
'; + echo ' '.$p->t('zeitsperre/anzahlTage').''; echo '
'; } + if($lektor) + echo '
'.$p->t('zeitsperre/anzahlTage').'
'; + elseif($fix) + echo '
'.$p->t('zeitsperre/anzahlTage').'
'; + elseif(isset($_GET['funktion']) && isset($_GET['stg_kz'])) + echo '
'.$p->t('zeitsperre/anzahlTage').'
'; echo ' - Excel + Icon Excel Excel Export
'; @@ -211,13 +217,27 @@ echo ' $tag=date('d',$ts); $monat=date('M',$ts); $wt=date('N',$ts); + if ($wt==7 || $wt==6) $class=' class="feiertag" '; else $class=''; $grund=$zs->getTyp($ts); $erbk=$zs->getErreichbarkeit($ts); - echo ''; + $vertretung=$zs->getVertretung($ts); + echo ''; } echo ''; } diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php index 0b7185ba4..5ffd28bef 100644 --- a/include/wochenplan.class.php +++ b/include/wochenplan.class.php @@ -281,7 +281,7 @@ class wochenplan extends basis_db // Studiengangsdaten ermitteln if ($this->type=='student' || $this->type=='verband') { - $sql_query="SELECT bezeichnung, kurzbz, kurzbzlang, typ, UPPER(typ||kurzbz) AS kuerzel FROM public.tbl_studiengang WHERE studiengang_kz=".$this->db_add_param($this->stg_kz); + $sql_query="SELECT bezeichnung, kurzbz, kurzbzlang, typ, UPPER(typ||kurzbz) AS kuerzel, english FROM public.tbl_studiengang WHERE studiengang_kz=".$this->db_add_param($this->stg_kz); //echo $sql_query; if(!($this->db_query($sql_query))) die($this->db_last_error()); @@ -291,6 +291,7 @@ class wochenplan extends basis_db $this->stg_kurzbz = $row->typ.$row->kurzbz; $this->stg_kurzbzlang = $row->kurzbzlang; $this->stg_kuerzel = $row->kuerzel; + $this->stg_english = $row->english; } } @@ -427,10 +428,10 @@ class wochenplan extends basis_db echo '
'.$grund.'
'.$erbk.'
'.($grund!=''?''.substr($p->t('zeitsperre/grund'),0,1).': ':'').$grund; + echo '
'.($erbk!=''?''.substr($p->t('urlaubstool/erreichbarkeit'),0,1).': ':'').$erbk; + echo '
'.($erbk!=''?''.substr($p->t('urlaubstool/vertretung'),0,1).': ':''); + foreach ($vertretung as $vt) + { + if ($vt!='') + { + $ma_kurzbz = new mitarbeiter(); + $ma_kurzbz->load($vt); + echo ''.$ma_kurzbz->kurzbz.' '; + } + } + 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.'
'; + echo ''.$p->t('global/person').': '.$this->pers_titelpre.' '.$this->pers_vorname.' '.$this->pers_nachname.' '.$this->pers_titelpost.' - '.$this->pers_uid.'
'; if ($this->type=='student' || $this->type=='verband') { - echo ''.$p->t('global/studiengang').': '.$this->stg_kuerzel.' - '.$this->stg_bez.'
'; + echo ''.$p->t('global/studiengang').': '.$this->stg_kuerzel.' - '.($sprache=='English' && $this->stg_english!=''?$this->stg_english:$this->stg_bez).'
'; echo $p->t('global/semester').': '.$this->sem.'
'; if ($this->ver!='0' && $this->ver!='' && $this->ver!=null) echo $p->t('global/verband').': '.$this->ver.'
'; diff --git a/include/zeitsperre.class.php b/include/zeitsperre.class.php index 0f79d6b81..6e4a05f9f 100644 --- a/include/zeitsperre.class.php +++ b/include/zeitsperre.class.php @@ -68,7 +68,7 @@ class zeitsperre extends basis_db { unset($this->result); $this->result=array(); - $qry = "SELECT tbl_zeitsperre.*, tbl_zeitsperretyp.*, tbl_erreichbarkeit.farbe AS erreichbarkeit_farbe + $qry = "SELECT tbl_zeitsperre.*, tbl_zeitsperretyp.*, tbl_erreichbarkeit.farbe AS erreichbarkeit_farbe, tbl_erreichbarkeit.beschreibung AS erreichbarkeit_beschreibung FROM (campus.tbl_zeitsperre JOIN campus.tbl_zeitsperretyp USING (zeitsperretyp_kurzbz)) LEFT JOIN campus.tbl_erreichbarkeit USING (erreichbarkeit_kurzbz) WHERE mitarbeiter_uid=".$this->db_add_param($uid); @@ -105,6 +105,7 @@ class zeitsperre extends basis_db $obj->erreichbarkeit = $row->erreichbarkeit_kurzbz; $obj->erreichbarkeit_farbe = $row->erreichbarkeit_farbe; $obj->erreichbarkeit_kurzbz = $row->erreichbarkeit_kurzbz; + $obj->erreichbarkeit_beschreibung = $row->erreichbarkeit_beschreibung; $obj->vertretung_uid = $row->vertretung_uid; $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; @@ -321,7 +322,7 @@ class zeitsperre extends basis_db $ende=$datum_obj->mktime_fromdate($zs->bisdatum); if ($datum>=$beginn && ((int)($datum/60/60/24)<=(int)($ende/60/60/24) || date('Y-m-d', $datum)==date('Y-m-d', $ende))) - $typ.=$zs->zeitsperretyp_kurzbz; + $typ.=$zs->zeitsperretyp_kurzbz.'  '; } return $typ; } @@ -339,11 +340,29 @@ class zeitsperre extends basis_db $beginn=$datum_obj->mktime_fromdate($zs->vondatum); $ende=$datum_obj->mktime_fromdate($zs->bisdatum); if ($datum>=$beginn && ((int)($datum/60/60/24)<=(int)($ende/60/60/24) || date('Y-m-d', $datum)==date('Y-m-d', $ende))) - $erbk.=$zs->erreichbarkeit; + $erbk.=$zs->erreichbarkeit.'  '; } return $erbk; } + /** + * Liefert die Vertretung der Zeitsperre + * @return array wenn ok, false im Fehlerfall + */ + public function getVertretung($datum) + { + $datum_obj=new datum(); + $vertretung[]=''; + foreach ($this->result as $zs) + { + $beginn=$datum_obj->mktime_fromdate($zs->vondatum); + $ende=$datum_obj->mktime_fromdate($zs->bisdatum); + if ($datum>=$beginn && ((int)($datum/60/60/24)<=(int)($ende/60/60/24) || date('Y-m-d', $datum)==date('Y-m-d', $ende))) + $vertretung[]=$zs->vertretung_uid; + } + return array_unique($vertretung); + } + /** * Liefert die Zeitsperren eines Users zu einem bestimmten Datum und Stunde * diff --git a/locale/de-AT/incoming.php b/locale/de-AT/incoming.php index 7895e4f92..16972ab97 100755 --- a/locale/de-AT/incoming.php +++ b/locale/de-AT/incoming.php @@ -105,7 +105,7 @@ $this->phrasen['incoming/uebersichtLv']='Übersicht Lehrveranstaltungen'; $this->phrasen['incoming/verwaltungVonDateien']='Verwaltung von Dateien'; $this->phrasen['incoming/dateiname']='Dateiname'; $this->phrasen['incoming/loeschen']='löschen'; -$this->phrasen['incoming/outgoingRegistration']='Outgoing-Vewaltung'; +$this->phrasen['incoming/outgoingRegistration']='Outgoing-Verwaltung'; $this->phrasen['incoming/summerschool']='Summerschool'; $this->phrasen['incoming/anmerkungen']='Anmerkungen'; $this->phrasen['incoming/wochenstunden']='Wochenstunden'; diff --git a/locale/en-US/passwort.php b/locale/en-US/passwort.php index 8e3de0224..94fa2a69a 100644 --- a/locale/en-US/passwort.php +++ b/locale/en-US/passwort.php @@ -1,21 +1,21 @@ phrasen['passwort/Title']='Password Change'; -$this->phrasen['passwort/PasswortAenderFuer']='Password Change for User %s %s ( %s )'; -$this->phrasen['passwort/InfotextPolicy']='Das Passwort muss zumindest 8 Zeichen enthalten, davon mindestens 1 Großbuchstabe, -1 Kleinbuchstabe und eine Ziffer!

-Das Passwort darf keine Leerzeichen und Umlaute enthalten!
-Erlaubte Sonderzeichen sind: -$#[]{}!().,*:;_'; +$this->phrasen['passwort/Title']='Changing password'; +$this->phrasen['passwort/PasswortAenderFuer']='Changing password for User %s %s ( %s )'; +$this->phrasen['passwort/InfotextPolicy']='The password must contain at least 8 characters, +of which 1 must be upper case, 1 lower case and 1 a numeral.

+The password may not include spaces or umlauts.
+The following special characters are allowed: -$#[]{}!().,*:;_'; -$this->phrasen['passwort/AltesPasswort']='old Password'; -$this->phrasen['passwort/NeuesPasswort']='new Password'; -$this->phrasen['passwort/PasswortWiederholung']='new Password'; -$this->phrasen['passwort/PasswortAendern']='change Password'; -$this->phrasen['passwort/MinLaenge']='Das neue Passwort muss mindestens 8 Zeichen lang sein.'; -$this->phrasen['passwort/Grossbuchstabe']='Das neue Passwort muss mindestens einen Grossbuchstaben enthalten.'; -$this->phrasen['passwort/Kleinbuchstabe']='Das neue Passwort muss mindestens einen Kleinbuchstaben enthalten.'; -$this->phrasen['passwort/Ziffer']='Es muss mindestens eine Ziffer vorhanden sein.'; -$this->phrasen['passwort/Leerzeichen']='Es darf kein Leerzeichen im Passwort vorkommen.'; -$this->phrasen['passwort/Umlaute']='Es dürfen keine Umlaute verwendet werden.'; +$this->phrasen['passwort/AltesPasswort']='Old password'; +$this->phrasen['passwort/NeuesPasswort']='New password'; +$this->phrasen['passwort/PasswortWiederholung']='Repeat new password'; +$this->phrasen['passwort/PasswortAendern']='Change password'; +$this->phrasen['passwort/MinLaenge']='The new password must contain at least 8 characters.'; +$this->phrasen['passwort/Grossbuchstabe']='The new password must contain at least 1 upper case character.'; +$this->phrasen['passwort/Kleinbuchstabe']='The new password must contain at least 1 lower case character.'; +$this->phrasen['passwort/Ziffer']='The new password must contain at least 1 numeral character.'; +$this->phrasen['passwort/Leerzeichen']='The password may not include spaces.'; +$this->phrasen['passwort/Umlaute']='The password may not include umlauts.'; $this->phrasen['passwort/Sonderzeichen']='Bitte verwenden Sie nur erlaubte Sonderzeichen'; $this->phrasen['passwort/AenderungOK']='Das Passwort wurde erfolgreich geaendert'; $this->phrasen['passwort/AenderungFehler']='Passwort Änderung fehlgeschlagen:%s'; diff --git a/system/mlists/mlists_generate.php b/system/mlists/mlists_generate.php index 46c0898da..b5e53b3ac 100644 --- a/system/mlists/mlists_generate.php +++ b/system/mlists/mlists_generate.php @@ -525,6 +525,98 @@ WHERE $error_msg.=$db->db_last_error(); + // *************************** + // TW_STD_M abgleichen. Alle maennlichen Studenten + flush(); + setGeneriert('TW_STD_M'); + echo 'TW_STD_M wird abgeglichen!
'; + + //Abbrecher bleiben noch 3 Wochen im Verteiler + //andere inaktive noch fuer 20 Wochen + //damit im CIS die Menuepunkte fuer Studierende richtig angezeigt werden + $sql_query="DELETE FROM public.tbl_benutzergruppe + WHERE UPPER(gruppe_kurzbz)='TW_STD_M' + AND uid not in + (SELECT uid FROM campus.vw_student WHERE aktiv AND geschlecht='m' + UNION + SELECT uid FROM campus.vw_student WHERE aktiv=false AND geschlecht='m' AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval + UNION + SELECT uid FROM campus.vw_student WHERE aktiv=false AND geschlecht='m' AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval + )"; + if($result = $db->db_query($sql_query)) + { + echo $db->db_affected_rows($result).' Eintraege entfernt
'; + } + else + { + $error_msg.=$db->db_last_error(); + } + + // Studenten holen die nicht im Verteiler sind + $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) + SELECT uid,'TW_STD_M',now(),'mlists_generate' + FROM campus.vw_student + WHERE (aktiv AND geschlecht='m' + OR + (aktiv=false AND geschlecht='m' AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval) + OR + (aktiv=false AND geschlecht='m' AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval)) + AND uid NOT in(SELECT uid FROM public.tbl_benutzergruppe + WHERE UPPER(gruppe_kurzbz)='TW_STD_M')"; + if($result = $db->db_query($sql_query)) + { + echo $db->db_affected_rows($result).' Eintraege hinzugefuegt
'; + } + else + $error_msg.=$db->db_last_error(); + + + // *************************** + // TW_STD_W abgleichen. Alle weiblichen Studentinnen + flush(); + setGeneriert('TW_STD_W'); + echo 'TW_STD_W wird abgeglichen!
'; + + //Abbrecher bleiben noch 3 Wochen im Verteiler + //andere inaktive noch fuer 20 Wochen + //damit im CIS die Menuepunkte fuer Studierende richtig angezeigt werden + $sql_query="DELETE FROM public.tbl_benutzergruppe + WHERE UPPER(gruppe_kurzbz)='TW_STD_W' + AND uid not in + (SELECT uid FROM campus.vw_student WHERE aktiv AND geschlecht='w' + UNION + SELECT uid FROM campus.vw_student WHERE aktiv=false AND geschlecht='w' AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval + UNION + SELECT uid FROM campus.vw_student WHERE aktiv=false AND geschlecht='w' AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval + )"; + if($result = $db->db_query($sql_query)) + { + echo $db->db_affected_rows($result).' Eintraege entfernt
'; + } + else + { + $error_msg.=$db->db_last_error(); + } + + // Studenten holen die nicht im Verteiler sind + $sql_query="INSERT INTO public.tbl_benutzergruppe (uid, gruppe_kurzbz, insertamum, insertvon) + SELECT uid,'TW_STD_W',now(),'mlists_generate' + FROM campus.vw_student + WHERE (aktiv AND geschlecht='w' + OR + (aktiv=false AND geschlecht='w' AND get_rolle_prestudent(vw_student.prestudent_id, null)='Abbrecher' AND updateaktivam>now()-'3 weeks'::interval) + OR + (aktiv=false AND geschlecht='w' AND get_rolle_prestudent(vw_student.prestudent_id, null)!='Abbrecher' AND updateaktivam>now()-'20 weeks'::interval)) + AND uid NOT in(SELECT uid FROM public.tbl_benutzergruppe + WHERE UPPER(gruppe_kurzbz)='TW_STD_W')"; + if($result = $db->db_query($sql_query)) + { + echo $db->db_affected_rows($result).' Eintraege hinzugefuegt
'; + } + else + $error_msg.=$db->db_last_error(); + + // ************************************************************** // Moodle - LektorenVerteiler abgleichen $mlist_name='moodle_lkt';