mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-27 08:59:28 +00:00
This commit is contained in:
@@ -49,7 +49,7 @@ if(isset($_GET['stsem']))
|
||||
else
|
||||
die('Es wurde kein Studiensemester uebergeben');
|
||||
|
||||
$art = (isset($_POST['art'])?$_POST['art']:'le');
|
||||
$art = (isset($_POST['art'])?$_POST['art']:'lv');
|
||||
|
||||
$berechtigt = false;
|
||||
|
||||
@@ -234,8 +234,14 @@ else
|
||||
$disable_lv='';
|
||||
if($result = pg_query($conn, $qry))
|
||||
if(pg_num_rows($result)>0)
|
||||
{
|
||||
$disable_lv='disabled="true"';
|
||||
|
||||
//wenn schon ein Moodle Kurs zu einer Lehreinheit angelegt wurde,
|
||||
//dann ist standardmaessig die Lehreinheit markiert
|
||||
if($art=='lv')
|
||||
$art='le';
|
||||
}
|
||||
|
||||
echo 'Moodle Kurs anlegen: <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>
|
||||
|
||||
@@ -320,7 +320,8 @@ class moodle_course
|
||||
//Studiensemester Categorie holen
|
||||
if(!$id_stsem = $this->getCategorie($this->studiensemester_kurzbz, '0'))
|
||||
{
|
||||
$id_stsem = $this->createCategorie($this->studiensemester_kurzbz, '0');
|
||||
if(!$id_stsem = $this->createCategorie($this->studiensemester_kurzbz, '0'))
|
||||
echo "<br>Fehler beim Anlegen des Studiensemesters";
|
||||
}
|
||||
//Studiengang Categorie holen
|
||||
if(!$id_stg = $this->getCategorie($stg, $id_stsem))
|
||||
@@ -487,18 +488,26 @@ class moodle_course
|
||||
}
|
||||
if($parent=='')
|
||||
{
|
||||
$this->errormsg = 'createCategorie: parent wurde nicht uebergeben';
|
||||
$this->errormsg = 'createCategorie: parent wurde nicht uebergeben: '.$bezeichnung.' '.$parent;
|
||||
return false;
|
||||
}
|
||||
//Parent laden
|
||||
$qry = "SELECT * FROM public.mdl_course_categories WHERE id='".addslashes($parent)."'";
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
if($parent!='0')
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
//Parent laden
|
||||
$qry = "SELECT * FROM public.mdl_course_categories WHERE id='".addslashes($parent)."'";
|
||||
//echo $qry;
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
$depth = $row->depth;
|
||||
$path = $row->path;
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$depth = $row->depth;
|
||||
$path = $row->path;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der KursKategorie';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -508,8 +517,8 @@ class moodle_course
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der KursKategorie';
|
||||
return false;
|
||||
$depth=0;
|
||||
$path='';
|
||||
}
|
||||
|
||||
//KursKategorie anlegen
|
||||
@@ -657,11 +666,11 @@ class moodle_course
|
||||
function getCourse($lehrveranstaltung_id, $studiensemester_kurzbz, $student_uid)
|
||||
{
|
||||
//alle betreffenden Kurse holen
|
||||
$qry = "SELECT tbl_moodle.lehreinheit_id, mdl_course_id FROM lehre.tbl_moodle JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id, studiensemester_kurzbz)
|
||||
$qry = "SELECT tbl_lehreinheit.lehreinheit_id, mdl_course_id FROM lehre.tbl_moodle JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id, studiensemester_kurzbz)
|
||||
WHERE tbl_moodle.lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."'
|
||||
AND tbl_moodle.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'
|
||||
UNION
|
||||
SELECT lehreinheit_id, mdl_course_id FROM lehre.tbl_moodle JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
SELECT tbl_lehreinheit.lehreinheit_id, mdl_course_id FROM lehre.tbl_moodle JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE tbl_lehreinheit.lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'";
|
||||
|
||||
@@ -673,6 +682,7 @@ class moodle_course
|
||||
//schauen in welchen der Student ist
|
||||
$qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung
|
||||
WHERE uid='".addslashes($student_uid)."' AND lehreinheit_id='".addslashes($row->lehreinheit_id)."'";
|
||||
|
||||
if($result_vw = pg_query($this->conn, $qry))
|
||||
{
|
||||
if(pg_num_rows($result_vw)>0)
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
/*
|
||||
* requires moodle_course.class.php
|
||||
* studiengang.class.php
|
||||
*/
|
||||
class moodle_user
|
||||
{
|
||||
@@ -241,6 +242,9 @@ class moodle_user
|
||||
$qry.=" AND gruppe = '$row_std->gruppe'";
|
||||
}
|
||||
}
|
||||
$studiengang_obj = new studiengang($this->conn);
|
||||
$studiengang_obj->load($row_std->studiengang_kz);
|
||||
$gruppenbezeichnung = $studiengang_obj->kuerzel.'-'.trim($row_std->semester).trim($row_std->verband).trim($row_std->gruppe);
|
||||
}
|
||||
else //Spezialgruppe
|
||||
{
|
||||
@@ -252,6 +256,7 @@ class moodle_user
|
||||
gruppe_kurzbz='$row_std->gruppe_kurzbz' AND
|
||||
studiensemester_kurzbz='$row_std->studiensemester_kurzbz'
|
||||
";
|
||||
$gruppenbezeichnung = $row_std->gruppe_kurzbz;
|
||||
}
|
||||
|
||||
if($result_user = pg_query($this->conn, $qry))
|
||||
@@ -301,6 +306,23 @@ class moodle_user
|
||||
$this->errormsg = 'Fehler beim Auslesen der Rollen';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Gruppenzuteilung
|
||||
//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;
|
||||
}
|
||||
|
||||
//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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -334,6 +356,146 @@ class moodle_user
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************
|
||||
// * Schaut ob eine Zuteilung von Person zu Gruppe
|
||||
// * existiert
|
||||
// * @param grouid ID der Gruppe
|
||||
// * userid ID des Users
|
||||
// * @return ID der Zuteilung
|
||||
// ************************************************
|
||||
function getGroupMember($groupid, $userid)
|
||||
{
|
||||
$qry = "SELECT id FROM public.mdl_groups_members WHERE groupid='".addslashes($groupid)."' AND userid='".addslashes($userid)."'";
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
return $row->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Gruppe';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ***************************************************
|
||||
// * Legt eine Zuteilung eines Users zu
|
||||
// * einer Gruppe an
|
||||
// * @param groupid ID der Gruppe
|
||||
// * userid ID des Users
|
||||
// * @return ID der Zuteilung oder false im Fehlerfall
|
||||
// ***************************************************
|
||||
function createGroupMember($groupid, $userid)
|
||||
{
|
||||
$qry = 'BEGIN; INSERT INTO public.mdl_groups_members(groupid, userid) VALUES('.
|
||||
$this->addslashes($groupid).','.$this->addslashes($userid).');';
|
||||
if(pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
$qry = "SELECT currval('mdl_groups_members_id_seq') as id";
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
pg_query($this->conn_moodle, 'COMMIT;');
|
||||
return $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
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Anlegen der Zuteilung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// ************************************************
|
||||
// * Holt die ID einer MoodleGruppe
|
||||
// * @param $mdl_course_id ID des Kurses
|
||||
// * $gruppenbezeichnung Name der Gruppe
|
||||
// * @return GruppenID wenn ok, false im Fehlerfall
|
||||
// ************************************************
|
||||
function getGroup($mdl_course_id, $gruppenbezeichnung)
|
||||
{
|
||||
$qry = "SELECT id FROM public.mdl_groups WHERE courseid='".addslashes($mdl_course_id)."' AND name='".addslashes($gruppenbezeichnung)."'";
|
||||
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
return $row->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Gruppe wurde nciht gefunden $gruppenbezeichnung";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden einer Gruppe';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// ****************************************************
|
||||
// * Legt eine MoodleGruppe zu einem Kurs an
|
||||
// * @param mdl_course_id ID des MoodleKuses
|
||||
// * gruppenbezeichnung Bezeichnung der Gruppe
|
||||
// * @return ID der Gruppe wenn ok, false im Fehlerfall
|
||||
// ****************************************************
|
||||
function createGroup($mdl_course_id, $gruppenbezeichnung)
|
||||
{
|
||||
$qry = 'BEGIN;INSERT INTO public.mdl_groups(courseid, name, description) VALUES('.
|
||||
$this->addslashes($mdl_course_id).','.
|
||||
$this->addslashes($gruppenbezeichnung).','.
|
||||
$this->addslashes($gruppenbezeichnung).');';
|
||||
if(pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
$qry = "SELECT currval('mdl_groups_id_seq') as id";
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
pg_query($this->conn_moodle, 'COMMIT;');
|
||||
return $row->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle, 'ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Auslesen der GruppenSequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle, 'ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Auslesen der GruppenSequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsgr ='Fehler beim Anlegen der Gruppe';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// ************************************************
|
||||
// * wenn $var '' ist wird "null" zurueckgegeben
|
||||
// * wenn $var !='' ist werden datenbankkritische
|
||||
|
||||
@@ -27,6 +27,7 @@ require_once('../vilesci/config.inc.php');
|
||||
require_once('../include/moodle_course.class.php');
|
||||
require_once('../include/moodle_user.class.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
|
||||
if(!$conn = pg_pconnect(CONN_STRING))
|
||||
die('Fehler beim Connecten zur DB');
|
||||
|
||||
Reference in New Issue
Block a user