mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
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:
@@ -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>
|
||||
|
||||
@@ -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> '.$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> ';
|
||||
}
|
||||
}
|
||||
echo '</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
@@ -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>';
|
||||
|
||||
@@ -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
|
||||
*
|
||||
|
||||
@@ -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
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
Reference in New Issue
Block a user