index.php, wochenplan.class.php: Wenn die Sprache auf Englisch gesetzt ist, werden in den Studiengangs-DropDowns auch die englischen Bezeichnungen angezeigt.

zeitsperre.php, zeitsperre.class.php: In der Übersicht wird nun auch die eingetragene Vertretung angezeigt.
mlists_generate.php: Neue Verteiler für alle männlichen und alle weiblichen Studierenden
This commit is contained in:
Manfred Kindl
2014-02-14 17:08:07 +00:00
parent c8b8fe4ae1
commit 3d627a4e90
7 changed files with 163 additions and 31 deletions
+4 -4
View File
@@ -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 '<option value="'.$row->studiengang_kz.'">'.strtoupper($row->typ.$row->kurzbz)." ( $row->kurzbzlang - $row->bezeichnung )</option>";
echo '<option value="'.$row->studiengang_kz.'">'.strtoupper($row->typ.$row->kurzbz).' ('.($sprache=='English' && $row->english!=''?$row->english:$row->bezeichnung).')</option>';
}
?>
</select>
</td>
<td valign="middle">
<select name="sem">
<option value="01"><?php echo $p->t('lvplan/sem');?></option>
<option value="0"><?php echo $p->t('lvplan/sem');?></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
@@ -334,7 +334,7 @@ $(document).ready(function()
for ($i=0;$i<$num_rows;$i++)
{
$row=$db->db_fetch_object ($result_stg, $i);
echo '<option value="'.$row->studiengang_kz.'">'.strtoupper($row->typ.$row->kurzbz)." ( $row->kurzbzlang - $row->bezeichnung )</option>";
echo '<option value="'.$row->studiengang_kz.'">'.strtoupper($row->typ.$row->kurzbz).' ('.($sprache=='English' && $row->english!=''?$row->english:$row->bezeichnung).')</option>';
}
?>
</select>
+24 -4
View File
@@ -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 "<option value='$oe->oe_kurzbz' $selected>$oe->organisationseinheittyp_kurzbz $oe->bezeichnung</option>";
}
}
echo '</SELECT><input style="display:none;" type="Text" name="days" value="'.$days.'"><input type="submit" value="'.$p->t('global/anzeigen').'"></FORM>';
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">'.$p->t('zeitsperre/anzahlTage').' <input type="text" name="days" size="2" maxlength="2" value="'.$days.'"><input type="hidden" name="organisationseinheit" value="'.$organisationseinheit.'"><input type="submit" value="Go"></form>';
echo '</SELECT>&nbsp;'.$p->t('zeitsperre/anzahlTage').'<input type="Text" name="days" size="2" maxlength="2" value="'.$days.'"><input type="submit" value="'.$p->t('global/anzeigen').'"></FORM>';
echo '<br>';
}
if($lektor)
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">'.$p->t('zeitsperre/anzahlTage').' <input type="text" name="days" size="2" maxlength="2" value="'.$days.'"><input type="hidden" name="lektor" value="true"><input type="submit" value="Go"></form>';
elseif($fix)
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">'.$p->t('zeitsperre/anzahlTage').' <input type="text" name="days" size="2" maxlength="2" value="'.$days.'"><input type="hidden" name="fix" value="true"><input type="submit" value="Go"></form>';
elseif(isset($_GET['funktion']) && isset($_GET['stg_kz']))
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">'.$p->t('zeitsperre/anzahlTage').' <input type="text" name="days" size="2" maxlength="2" value="'.$days.'"><input type="hidden" name="funktion" value="'.$funktion.'"><input type="hidden" name="stg_kz" value="'.$stg_kz.'"><input type="submit" value="Go"></form>';
echo '
<a class="Item" href="'.$export_link.'">Excel</a>
<a class="Item" href="'.$export_link.'"><img src="../../../skin/images/xls_icon.png" alt="Icon Excel"> Excel Export</a><br>
<TABLE id="zeitsperren">
<TR>';
@@ -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 '<td '.$class.' style="white-space: nowrap;">'.$grund.'<br>'.$erbk.'</td>';
$vertretung=$zs->getVertretung($ts);
echo '<td '.$class.' style="white-space: nowrap;">'.($grund!=''?'<span title="'.$p->t('zeitsperre/grund').'">'.substr($p->t('zeitsperre/grund'),0,1).'</span>: ':'').$grund;
echo '<br>'.($erbk!=''?'<span title="'.$p->t('urlaubstool/erreichbarkeit').'">'.substr($p->t('urlaubstool/erreichbarkeit'),0,1).': ':'').$erbk;
echo '<br>'.($erbk!=''?'<span title="'.$p->t('urlaubstool/vertretung').'">'.substr($p->t('urlaubstool/vertretung'),0,1).': ':'');
foreach ($vertretung as $vt)
{
if ($vt!='')
{
$ma_kurzbz = new mitarbeiter();
$ma_kurzbz->load($vt);
echo '<a href="index.php?uid='.$ma_kurzbz->uid.'">'.$ma_kurzbz->kurzbz.'</a>&nbsp;';
}
}
echo '</td>';
}
echo '</tr>';
}
+4 -3
View File
@@ -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 ' <TD style="padding-bottom: 5px;" valign="top">'.$this->crlf;
echo ' <P valign="top">';
if ($this->type=='student' || $this->type=='lektor')
echo '<strong>Person: </strong>'.$this->pers_titelpre.' '.$this->pers_vorname.' '.$this->pers_nachname.' '.$this->pers_titelpost.' - '.$this->pers_uid.'<br>';
echo '<strong>'.$p->t('global/person').': </strong>'.$this->pers_titelpre.' '.$this->pers_vorname.' '.$this->pers_nachname.' '.$this->pers_titelpost.' - '.$this->pers_uid.'<br>';
if ($this->type=='student' || $this->type=='verband')
{
echo '<strong>'.$p->t('global/studiengang').': </strong>'.$this->stg_kuerzel.' - '.$this->stg_bez.'<br>';
echo '<strong>'.$p->t('global/studiengang').': </strong>'.$this->stg_kuerzel.' - '.($sprache=='English' && $this->stg_english!=''?$this->stg_english:$this->stg_bez).'<br>';
echo $p->t('global/semester').': '.$this->sem.'<br>';
if ($this->ver!='0' && $this->ver!='' && $this->ver!=null)
echo $p->t('global/verband').': '.$this->ver.'<br>';
+22 -3
View File
@@ -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.'&nbsp;&nbsp;';
}
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.'&nbsp;&nbsp;';
}
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
*
+1 -1
View File
@@ -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';
+16 -16
View File
@@ -1,21 +1,21 @@
<?php
$this->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!<br><br>
Das Passwort darf keine Leerzeichen und Umlaute enthalten!<br>
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.<br><br>
The password may not include spaces or umlauts.<br>
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';
+92
View File
@@ -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!<br>';
//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<br>';
}
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<br>';
}
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!<br>';
//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<br>';
}
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<br>';
}
else
$error_msg.=$db->db_last_error();
// **************************************************************
// Moodle - LektorenVerteiler abgleichen
$mlist_name='moodle_lkt';