mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-01 02:49:37 +00:00
This commit is contained in:
@@ -125,6 +125,7 @@
|
||||
if(!$is_berechtigt)
|
||||
die('Sie haben keine Berechtigung fuer diesen Bereich');
|
||||
|
||||
echo '<span class="error">ACHTUNG: Der Studentenupload steht nur noch bis zum Ende des Wintersemesters 2008 zur Verfügung</span><br><br>';
|
||||
echo "<form method=\"POST\" action=\"lector_choice.php?lvid=$lvid\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmDir(this);\">";
|
||||
|
||||
if(isset($delete_dir))
|
||||
|
||||
@@ -145,6 +145,7 @@ if(isset($_POST['neu']))
|
||||
$mdl_course->mdl_shortname = $shortname;
|
||||
$mdl_course->insertamum = date('Y-m-d H:i:s');
|
||||
$mdl_course->insertvon = $user;
|
||||
$mdl_course->gruppen = isset($_POST['gruppen']);
|
||||
|
||||
//Moodlekurs anlegen
|
||||
if($mdl_course->create_moodle())
|
||||
@@ -217,6 +218,67 @@ if(isset($_POST['neu']))
|
||||
die('art ist unbekannt');
|
||||
}
|
||||
}
|
||||
//Gruppen Syncro ein/aus schalten
|
||||
if(isset($_POST['changegruppe']))
|
||||
{
|
||||
if(isset($_POST['moodle_id']) && is_numeric($_POST['moodle_id']))
|
||||
{
|
||||
$mcourse = new moodle_course($conn, $conn_moodle);
|
||||
if($mcourse->updateGruppenSync($_POST['moodle_id'], isset($_POST['gruppen'])))
|
||||
echo '<b>Daten wurden aktualisiert</b><br>';
|
||||
else
|
||||
echo '<span class="error">Fehler beim Aktualiseren der Daten</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Es wurde keine oder eine ungueltige ID übergeben</span>';
|
||||
}
|
||||
}
|
||||
|
||||
//Anlegen eines Testkurses
|
||||
if(isset($_GET['action']) && $_GET['action']=='createtestkurs')
|
||||
{
|
||||
$mdl_course = new moodle_course($conn, $conn_moodle);
|
||||
if(!$mdl_course->loadTestkurs($lvid, $stsem))
|
||||
{
|
||||
$lehrveranstaltung = new lehrveranstaltung($conn);
|
||||
$lehrveranstaltung->load($lvid);
|
||||
$studiengang = new studiengang($conn);
|
||||
$studiengang->load($lehrveranstaltung->studiengang_kz);
|
||||
|
||||
//Kurzbezeichnung generieren Format: STSEM-STG-SEM-LV/LEID/LEID/LEID...
|
||||
$shortname = $stsem.'-'.$studiengang->kuerzel.'-'.$lehrveranstaltung->semester.'-'.$lehrveranstaltung->kurzbz;
|
||||
|
||||
$mdl_course->lehrveranstaltung_id = $lvid;
|
||||
$mdl_course->studiensemester_kurzbz = $stsem;
|
||||
$mdl_course->mdl_fullname = $lehrveranstaltung->bezeichnung;
|
||||
$mdl_course->mdl_shortname = $shortname;
|
||||
|
||||
//TestKurs erstellen
|
||||
if($mdl_course->createTestkurs($lvid, $stsem))
|
||||
{
|
||||
$id=$mdl_course->mdl_course_id;
|
||||
$errormsg='';
|
||||
|
||||
$mdl_user = new moodle_user($conn, $conn_moodle);
|
||||
//Lektoren zuweisen
|
||||
if(!$mdl_user->sync_lektoren($id, $lvid, $stsem))
|
||||
$errormsg.='Fehler bei der Lektorenzuordnung:'.$mdl_user->errormsg.'<br>';
|
||||
//Teststudenten zuweisen
|
||||
if(!$mdl_user->createTestStudentenZuordnung($id))
|
||||
$errormsg.='Fehler bei der Studentenzuordnung:'.$mdl_user->errormsg.'<br>';
|
||||
|
||||
if($errormsg!='')
|
||||
echo $errormsg;
|
||||
else
|
||||
echo '<b>Der Testkurs wurde erfolgreich angelegt</b><br>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span class="error">Es existiert bereits ein Testkurs</span><br>';
|
||||
}
|
||||
}
|
||||
|
||||
$mdl_course = new moodle_course($conn, $conn_moodle);
|
||||
if($mdl_course->course_exists_for_lv($lvid, $stsem) || $mdl_course->course_exists_for_allLE($lvid, $stsem))
|
||||
@@ -242,7 +304,7 @@ else
|
||||
$art='le';
|
||||
}
|
||||
|
||||
echo 'Moodle Kurs anlegen: <br><br>
|
||||
echo '<b>Moodle Kurs anlegen: </b><br><br>
|
||||
<form action="'.$_SERVER['PHP_SELF'].'?lvid='.$lvid.'&stsem='.$stsem.'" method="POST">
|
||||
<input type="radio" '.$disable_lv.' name="art" value="lv" onclick="togglediv()" '.($art=='lv'?'checked':'').'>einen Moodle Kurs für die gesamte LV anlegen<br>
|
||||
<input type="radio" id="radiole" name="art" value="le" onclick="togglediv()" '.($art=='le'?'checked':'').'>einen Moodle Kurs für einzelne Lehreinheiten anlegen
|
||||
@@ -286,8 +348,9 @@ else
|
||||
}
|
||||
echo '</div>';
|
||||
|
||||
echo '<br>Kursbezeichnung: <input type="text" name="bezeichnung" maxlength="254" size="40" value="'.$lv->bezeichnung.'"><br><br>';
|
||||
echo '<input type="submit" name="neu" value="Kurs anlegen">
|
||||
echo '<br>Kursbezeichnung: <input type="text" name="bezeichnung" maxlength="254" size="40" value="'.$lv->bezeichnung.'">';
|
||||
echo '<br>Gruppen übernehmen: <input type="checkbox" name="gruppen" checked>';
|
||||
echo '<br><br><input type="submit" name="neu" value="Kurs anlegen">
|
||||
</form>';
|
||||
}
|
||||
echo '</td>';
|
||||
@@ -296,15 +359,27 @@ echo '<td valign="top">';
|
||||
echo '<b>Vorhandene Moodle Kurse für diese LV</b>';
|
||||
if(!$mdl_course->getAll($lvid, $stsem))
|
||||
echo $mdl_course->errormsg;
|
||||
echo '<br>';
|
||||
echo '<table>';
|
||||
foreach ($mdl_course->result as $course)
|
||||
{
|
||||
echo '<br><a href="'.MOODLE_PATH.'course/view.php?id='.$course->mdl_course_id.'" class="Item" target="_blank">'.$course->mdl_fullname.'</a>';
|
||||
echo '<tr>';
|
||||
echo '<td><a href="'.MOODLE_PATH.'course/view.php?id='.$course->mdl_course_id.'" class="Item" target="_blank">'.$course->mdl_fullname.'</a></td>';
|
||||
echo "<td nowrap><form action='".$_SERVER['PHP_SELF']."?lvid=$lvid&stsem=$stsem' method='POST' style='margin:0px'><input type='hidden' name='moodle_id' value='$course->moodle_id'><input type='checkbox' name='gruppen' ".($course->gruppen?'checked':'').">Gruppen übernehmen <input type='submit' value='ok' name='changegruppe'></td>";
|
||||
}
|
||||
echo '</table>';
|
||||
echo '</td></tr></table>';
|
||||
|
||||
|
||||
|
||||
echo '<br><br><br>';
|
||||
echo '<b>Testkurse</b><br><br>';
|
||||
$mdlcourse = new moodle_course($conn, $conn_moodle);
|
||||
if($mdlcourse->loadTestkurs($lvid, $stsem))
|
||||
{
|
||||
echo '<a href="'.MOODLE_PATH.'course/view.php?id='.$mdlcourse->mdl_course_id.'" class="Item" target="_blank">'.$mdlcourse->mdl_fullname.'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<a href='".$_SERVER['PHP_SELF']."?lvid=$lvid&stsem=$stsem&action=createtestkurs' class='Item'>klicken Sie hier um einen Testkurs zu erstellen</a>";
|
||||
}
|
||||
echo '</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -52,6 +52,8 @@
|
||||
<br>
|
||||
<a href="http://www.kup.at/cd-buch/index.html" class="Item" target="_blank">Datenbanken und Zeitschriften mit medizinischem Schwerpunkt</a><br>
|
||||
<br>
|
||||
<a href="http://de.wikibooks.org/wiki/Hauptseite" class="Item" target="_blank">Wikibooks</a><br>
|
||||
<br>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@@ -37,6 +37,7 @@ class moodle_course
|
||||
var $studiensemester_kurzbz;
|
||||
var $insertamum;
|
||||
var $insertvon;
|
||||
var $gruppen;
|
||||
|
||||
//Moodle Attribute
|
||||
var $mdl_fullname;
|
||||
@@ -124,6 +125,7 @@ class moodle_course
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->gruppen = ($row->gruppen=='t'?true:false);
|
||||
|
||||
$qry_mdl = "SELECT * FROM public.mdl_course WHERE id='".addslashes($row->mdl_course_id)."'";
|
||||
if($result_mdl = pg_query($this->conn_moodle, $qry_mdl))
|
||||
@@ -244,14 +246,15 @@ class moodle_course
|
||||
}
|
||||
|
||||
$qry = 'BEGIN; INSERT INTO lehre.tbl_moodle(mdl_course_id, lehreinheit_id, lehrveranstaltung_id,
|
||||
studiensemester_kurzbz, insertamum, insertvon)
|
||||
studiensemester_kurzbz, insertamum, insertvon, gruppen)
|
||||
VALUES('.
|
||||
$this->addslashes($this->mdl_course_id).','.
|
||||
$this->addslashes($this->lehreinheit_id).','.
|
||||
$this->addslashes($this->lehrveranstaltung_id).','.
|
||||
$this->addslashes($this->studiensemester_kurzbz).','.
|
||||
$this->addslashes($this->insertamum).','.
|
||||
$this->addslashes($this->insertvon).');';
|
||||
$this->addslashes($this->insertvon).','.
|
||||
($this->gruppen?'true':'false').');';
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
@@ -725,4 +728,252 @@ class moodle_course
|
||||
}
|
||||
return $courses;
|
||||
}
|
||||
|
||||
// ***************************************************
|
||||
// * Aktualisiert die Spalte gruppen in der tbl_moodle
|
||||
// * @param moodle_id ID der MoodleZuteilung
|
||||
// * gruppen boolean true wenn syncronisiert
|
||||
// * werden soll, false wenn nicht
|
||||
// * @return true wenn ok, false im Fehlerfall
|
||||
// ***************************************************
|
||||
function updateGruppenSync($moodle_id, $gruppen)
|
||||
{
|
||||
if(!is_numeric($moodle_id))
|
||||
{
|
||||
$this->errormsg = 'Moodle_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "UPDATE lehre.tbl_moodle SET gruppen=".($gruppen?'true':'false')." WHERE moodle_id='".addslashes($moodle_id)."'";
|
||||
|
||||
if(pg_query($this->conn, $qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Update';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ********************************
|
||||
// * Legt einen Testkurs an
|
||||
// ********************************
|
||||
function createTestkurs($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
pg_query($this->conn_moodle, 'BEGIN;');
|
||||
|
||||
//CourseCategorie ermitteln
|
||||
|
||||
//Studiengang und Semester holen
|
||||
$qry = "SELECT tbl_lehrveranstaltung.semester, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg FROM lehre.tbl_lehrveranstaltung JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE lehrveranstaltung_id='$lehrveranstaltung_id'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$semester = $row->semester;
|
||||
$stg = $row->stg;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle, 'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Ermitteln von Studiengang und Semester';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle, 'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Ermitteln von Studiengang und Semester';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Testkurs Categorie holen
|
||||
if(!$id_testkurs = $this->getCategorie('Testkurse', '0'))
|
||||
{
|
||||
if(!$id_testkurs = $this->createCategorie('Testkurse', '0'))
|
||||
echo "<br>Fehler beim Anlegen der Testkurskategorie";
|
||||
}
|
||||
//StSem Categorie holen
|
||||
if(!$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs))
|
||||
{
|
||||
if(!$id_stsem = $this->createCategorie($studiensemester_kurzbz, $id_testkurs))
|
||||
echo "<br>$this->errormsg";
|
||||
}
|
||||
|
||||
//CourseCategorie Context holen
|
||||
$this->getContext(40, $id_stsem);
|
||||
|
||||
//Eintrag in tbl_mdl_course
|
||||
$qry = "INSERT INTO public.mdl_course(category, sortorder, fullname, shortname, format, showgrades, newsitems, enrollable)
|
||||
VALUES (".$this->addslashes($id_stsem).", (SELECT max(sortorder)+1 FROM public.mdl_course), ".$this->addslashes($this->mdl_fullname).", ".
|
||||
$this->addslashes($this->mdl_shortname).",'topics', 1, 5, 0);";
|
||||
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
$qry = "SELECT currval('mdl_course_id_seq') as id";
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->mdl_course_id = $row->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle, 'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle, 'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle, 'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim INSERT';
|
||||
return false;
|
||||
}
|
||||
|
||||
//zum vorherigen Pfad die aktuelle id hinzufuegen
|
||||
$path = "(SELECT '$this->mdl_context_path' || '/' || currval('mdl_context_id_seq'))";
|
||||
//vorherige tiefe um 1 erhoehen
|
||||
$depth = $this->mdl_context_depth+1;
|
||||
|
||||
//Context eintragen
|
||||
$qry = "INSERT INTO public.mdl_context(contextlevel, instanceid, path, depth) VALUES('50', ".
|
||||
$this->addslashes($this->mdl_course_id).",".$path.",".$this->addslashes($depth).");";
|
||||
|
||||
if(pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
$qry = "SELECT currval('mdl_context_id_seq') as id";
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->mdl_context_id = $row->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle, 'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle, 'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle, 'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim INSERT';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Bloecke hinzufuegen
|
||||
$qry =
|
||||
"INSERT INTO public.mdl_block_instance(blockid, pageid, pagetype, position, weight, visible) VALUES(20, $this->mdl_course_id, 'course-view', 'l', 0, 1);". //Teilnehmer
|
||||
"INSERT INTO public.mdl_block_instance(blockid, pageid, pagetype, position, weight, visible) VALUES(1, $this->mdl_course_id, 'course-view', 'l', 1, 1);". //Aktivitäten
|
||||
"INSERT INTO public.mdl_block_instance(blockid, pageid, pagetype, position, weight, visible) VALUES(25, $this->mdl_course_id, 'course-view', 'l', 2, 1);". //Forumssuche
|
||||
"INSERT INTO public.mdl_block_instance(blockid, pageid, pagetype, position, weight, visible) VALUES(2, $this->mdl_course_id, 'course-view', 'l', 3, 1);". //Admin
|
||||
"INSERT INTO public.mdl_block_instance(blockid, pageid, pagetype, position, weight, visible) VALUES(9, $this->mdl_course_id, 'course-view', 'l', 4, 1);". //Kursliste
|
||||
"INSERT INTO public.mdl_block_instance(blockid, pageid, pagetype, position, weight, visible) VALUES(18, $this->mdl_course_id, 'course-view', 'r', 0, 1);". //Neueste Nachrichten
|
||||
"INSERT INTO public.mdl_block_instance(blockid, pageid, pagetype, position, weight, visible) VALUES(8, $this->mdl_course_id, 'course-view', 'r', 1, 1);". //Kalender / Bald aktuell...
|
||||
"INSERT INTO public.mdl_block_instance(blockid, pageid, pagetype, position, weight, visible) VALUES(22, $this->mdl_course_id, 'course-view', 'r', 2, 1);"; //Neueste Aktivitäten
|
||||
|
||||
if(!pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
pg_query($this->conn_moodle, 'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim INSERT der Bloecke';
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle, 'COMMIT');
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
// ******************************************************
|
||||
// * Laedt den Testkurs zu dieser Lehrveranstaltung
|
||||
// * @param lehrveranstaltung_id
|
||||
// * studiensemester_kurzbz
|
||||
// * @return ID wenn gefunden, false wenn nicht vorhanden
|
||||
// ******************************************************
|
||||
function loadTestkurs($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kuerzel,
|
||||
tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.kurzbz
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
WHERE
|
||||
lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."'";
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$shortname = strtoupper($studiensemester_kurzbz.'-'.$row->kuerzel.'-'.$row->semester.'-'.$row->kurzbz);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Testkurses';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Testkurses';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Testkurs Categorie holen
|
||||
if(!$id_testkurs = $this->getCategorie('Testkurse', '0'))
|
||||
{
|
||||
$this->errormsg = 'Categorie nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
|
||||
//StSem Categorie holen
|
||||
if(!$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs))
|
||||
{
|
||||
$this->errormsg = 'Categorie nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT id, fullname, shortname FROM public.mdl_course WHERE shortname='".addslashes($shortname)."' AND category='$id_stsem' LIMIT 1";
|
||||
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->mdl_fullname = $row->fullname;
|
||||
$this->mdl_shortname = $row->shortname;
|
||||
$this->mdl_course_id = $row->id;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es wurde kein Testkurs gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Abfragen der Kurse';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
+111
-38
@@ -112,30 +112,45 @@ class moodle_user
|
||||
return $mitarbeiter;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************
|
||||
// * Synchronisiert die Lektoren der Lehreinheiten
|
||||
// * mit denen des Moodle Kurses
|
||||
// * @param $mdl_course_id ID des MoodleKurses
|
||||
// * lehrveranstaltung_id wird nur angegeben beim Syncro von Testkursen
|
||||
// * studiensemester_kurzbz wird nur angegeben beim Syncro von Testkursen
|
||||
// * @return true wenn ok, false wenn Fehler
|
||||
// ************************************************
|
||||
function sync_lektoren($mdl_course_id)
|
||||
function sync_lektoren($mdl_course_id, $lehrveranstaltung_id=null, $studiensemester_kurzbz=null)
|
||||
{
|
||||
//Mitarbeiter laden die zu diesem Kurs zugeteilt sind
|
||||
$qry = "SELECT
|
||||
mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_moodle USING(lehreinheit_id)
|
||||
WHERE
|
||||
mdl_course_id='".addslashes($mdl_course_id)."'
|
||||
UNION
|
||||
SELECT
|
||||
mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_moodle USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz
|
||||
AND mdl_course_id='".addslashes($mdl_course_id)."'";
|
||||
if(!is_null($lehrveranstaltung_id) && !is_null($studiensemester_kurzbz))
|
||||
{
|
||||
//Bei Testkursen werden alle Lektoren einer Lehrveranstaltung zugeteilt
|
||||
//da hier kein Eintrag in der tbl_moodle vorhanden ist, werden die Lektoren direkt aus
|
||||
//der tbl_lehreinheitmitarbeiter geholt.
|
||||
$qry = "SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."'
|
||||
AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT
|
||||
mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_moodle USING(lehreinheit_id)
|
||||
WHERE
|
||||
mdl_course_id='".addslashes($mdl_course_id)."'
|
||||
UNION
|
||||
SELECT
|
||||
mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_moodle USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz
|
||||
AND mdl_course_id='".addslashes($mdl_course_id)."'";
|
||||
}
|
||||
$mitarbeiter='';
|
||||
if($result_ma = pg_query($this->conn, $qry))
|
||||
{
|
||||
@@ -234,14 +249,14 @@ class moodle_user
|
||||
{
|
||||
//Studentengruppen laden die zu diesem Kurs zugeteilt sind
|
||||
$qry = "SELECT
|
||||
studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, tbl_moodle.studiensemester_kurzbz
|
||||
studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, tbl_moodle.studiensemester_kurzbz, tbl_moodle.gruppen
|
||||
FROM
|
||||
lehre.tbl_lehreinheitgruppe JOIN lehre.tbl_moodle USING(lehreinheit_id)
|
||||
WHERE
|
||||
mdl_course_id='".addslashes($mdl_course_id)."'
|
||||
UNION
|
||||
SELECT
|
||||
studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, tbl_moodle.studiensemester_kurzbz
|
||||
studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, tbl_moodle.studiensemester_kurzbz, tbl_moodle.gruppen
|
||||
FROM
|
||||
lehre.tbl_lehreinheitgruppe JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_moodle USING(lehrveranstaltung_id)
|
||||
@@ -261,6 +276,9 @@ class moodle_user
|
||||
|
||||
while($row_std = pg_fetch_object($result_std))
|
||||
{
|
||||
//Schauen ob fuer diesen Kurs die Gruppen mitgesynct werden sollen
|
||||
$gruppensync = $row_std->gruppen=='t'?true:false;
|
||||
|
||||
//Studenten dieser Gruppe holen
|
||||
|
||||
if($row_std->gruppe_kurzbz=='') //LVB Gruppe
|
||||
@@ -348,27 +366,29 @@ class moodle_user
|
||||
}
|
||||
|
||||
//Gruppenzuteilung
|
||||
//Schauen ob die Gruppe vorhanden ist
|
||||
if(!$groupid = $this->getGroup($mdl_course_id, $gruppenbezeichnung))
|
||||
if($gruppensync)
|
||||
{
|
||||
//wenn nicht dann anlegen
|
||||
if(!$groupid = $this->createGroup($mdl_course_id, $gruppenbezeichnung))
|
||||
continue;
|
||||
$this->group_update++;
|
||||
$this->log.="\nes wurde eine neue Gruppe angelgt: $gruppenbezeichnung";
|
||||
$this->log_public.="\nes wurde eine neue Gruppe angelgt: $gruppenbezeichnung";
|
||||
}
|
||||
|
||||
//Schauen ob eine Zuteilung zu dieser Gruppe vorhanden ist
|
||||
if(!$this->getGroupMember($groupid, $this->mdl_user_id))
|
||||
{
|
||||
//wenn nicht dann zuteilen
|
||||
$this->createGroupMember($groupid, $this->mdl_user_id);
|
||||
$this->group_update++;
|
||||
$this->log.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde der Gruppe $gruppenbezeichnung zugeordnet";
|
||||
$this->log_public.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde der Gruppe $gruppenbezeichnung zugeordnet";
|
||||
}
|
||||
|
||||
//Schauen ob die Gruppe vorhanden ist
|
||||
if(!$groupid = $this->getGroup($mdl_course_id, $gruppenbezeichnung))
|
||||
{
|
||||
//wenn nicht dann anlegen
|
||||
if(!$groupid = $this->createGroup($mdl_course_id, $gruppenbezeichnung))
|
||||
continue;
|
||||
$this->group_update++;
|
||||
$this->log.="\nes wurde eine neue Gruppe angelgt: $gruppenbezeichnung";
|
||||
$this->log_public.="\nes wurde eine neue Gruppe angelgt: $gruppenbezeichnung";
|
||||
}
|
||||
|
||||
//Schauen ob eine Zuteilung zu dieser Gruppe vorhanden ist
|
||||
if(!$this->getGroupMember($groupid, $this->mdl_user_id))
|
||||
{
|
||||
//wenn nicht dann zuteilen
|
||||
$this->createGroupMember($groupid, $this->mdl_user_id);
|
||||
$this->group_update++;
|
||||
$this->log.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde der Gruppe $gruppenbezeichnung zugeordnet";
|
||||
$this->log_public.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde der Gruppe $gruppenbezeichnung zugeordnet";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -668,4 +688,57 @@ class moodle_user
|
||||
}
|
||||
}
|
||||
|
||||
// *******************************************************
|
||||
// * Teilt die TestStudenten zu einem Testkurs zu
|
||||
// * @param mdl_course_id ID des Moodle Kurses
|
||||
// *******************************************************
|
||||
function createTestStudentenZuordnung($mdl_course_id)
|
||||
{
|
||||
//Context des Kurses holen
|
||||
$mdlcourse = new moodle_course($this->conn, $this->conn_moodle);
|
||||
if(!$mdlcourse->getContext(50, $mdl_course_id))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Contexts';
|
||||
return false;
|
||||
}
|
||||
|
||||
$users = array('student1', 'student2', 'student3');
|
||||
foreach ($users as $row_user)
|
||||
{
|
||||
//MoodleID des Users holen
|
||||
if(!$this->loaduser($row_user))
|
||||
{
|
||||
$this->errormsg = "Fehler beim Laden des Users $row_user: $this->errormsg";
|
||||
return false;
|
||||
}
|
||||
|
||||
//Nachschauen ob dieser Student bereits zugeteilt ist
|
||||
$qry = "SELECT 1 FROM public.mdl_role_assignments
|
||||
WHERE
|
||||
userid='".addslashes($this->mdl_user_id)."' AND
|
||||
contextid='".addslashes($mdlcourse->mdl_context_id)."'";
|
||||
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
if(pg_num_rows($result)==0)
|
||||
{
|
||||
//Student ist noch nicht zugeteilt.
|
||||
if($this->createZuteilung($this->mdl_user_id, $mdlcourse->mdl_context_id, 5))
|
||||
{
|
||||
$this->log.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nder Student $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
else
|
||||
$this->log.="\nFehler beim Anlegen der Studenten-Zuteilung: $this->errormsg";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Rollen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -480,8 +480,8 @@
|
||||
|
||||
<?php
|
||||
//Studentenupload
|
||||
//Sichtbar nur fuer MUT(332)
|
||||
if($course_id==332)
|
||||
//Sichtbar nur fuer MUT(332) und MBE (228)
|
||||
if($course_id==332 || $course_id==228)
|
||||
{
|
||||
if($is_lector)
|
||||
echo '</tr><tr>';
|
||||
|
||||
Reference in New Issue
Block a user