This commit is contained in:
Andreas Österreicher
2008-09-12 11:59:35 +00:00
parent 2190806c6e
commit 546eb7b30e
5 changed files with 154 additions and 30 deletions
+31 -1
View File
@@ -61,6 +61,36 @@ class moodle_course
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
pg_query($this->conn_moodle, $qry);
}
// **********************************************
// * Laedt einen MoodleKurs
// * @param mdl_course_id ID des Moodle Kurses
// * @return true wenn ok, false im Fehlerfall
// **********************************************
function load($mdl_course_id)
{
$qry = "SELECT * FROM public.mdl_course WHERE id='".addslashes($mdl_course_id)."'";
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 = 'Kurs wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden des Kurses';
return false;
}
}
// **********************************************
// * Laedt alle MoodleKurse die zu einer LV/Stsem
@@ -342,7 +372,7 @@ class moodle_course
//Eintrag in tbl_mdl_course
$qry = "INSERT INTO public.mdl_course(category, sortorder, fullname, shortname, format, showgrades, newsitems, enrollable)
VALUES (".$this->addslashes($id_sem).", (SELECT max(sortorder)+1 FROM public.mdl_course), ".$this->addslashes($this->mdl_fullname).", ".
$this->addslashes($this->mdl_shortname).",'weeks', 1, 5, 0);";
$this->addslashes($this->mdl_shortname).",'topics', 1, 5, 0);";
if($result = pg_query($this->conn_moodle, $qry))
{
+50 -4
View File
@@ -28,11 +28,15 @@ class moodle_user
var $conn;
var $conn_moodle;
var $errormsg;
var $log=''; //log message fuer Syncro
var $sync_create=0; //anzahl der durchgefuehrten zuteilungen beim syncro
var $log=''; //log message fuer Syncro
var $log_public=''; //log message fuer Syncro
var $sync_create=0; //anzahl der durchgefuehrten zuteilungen beim syncro
var $group_update=0; //anzahl der updates an gruppen
var $mdl_user_id;
var $mdl_user_username;
var $mdl_user_firstname;
var $mdl_user_lastname;
// **********************************************
@@ -59,6 +63,8 @@ class moodle_user
{
$this->mdl_user_id = $row->id;
$this->mdl_user_username = $row->username;
$this->mdl_user_firstname = $row->firstname;
$this->mdl_user_lastname = $row->lastname;
return true;
}
else
@@ -74,6 +80,38 @@ class moodle_user
}
}
// ***********************************************
// * Liefert ein Array mit allen Lektoren die
// * zu dem Moodle Kurs zugeteilt sind
// ***********************************************
function getMitarbeiter($mdl_course_id)
{
//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)."'";
$mitarbeiter=array();
if($result_ma = pg_query($this->conn, $qry))
{
while($row_ma = pg_fetch_object($result_ma))
{
$mitarbeiter[] = $row_ma->mitarbeiter_uid;
}
return $mitarbeiter;
}
}
// ************************************************
// * Synchronisiert die Lektoren der Lehreinheiten
// * mit denen des Moodle Kurses
@@ -141,7 +179,8 @@ class moodle_user
if($this->createZuteilung($this->mdl_user_id, $mdlcourse->mdl_context_id, 3))
{
$this->log.="\nerzeuge Lektoren-Zuteilung für User $this->mdl_user_id zum Context $mdlcourse->mdl_context_id";
$this->log.="\nder Lektor $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->log_public.="\nder Lektor $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->sync_create++;
}
else
@@ -294,7 +333,8 @@ class moodle_user
if($this->createZuteilung($this->mdl_user_id, $mdlcourse->mdl_context_id, 5))
{
$this->log.="\nerzeuge Studenten-Zuteilung für User $this->mdl_user_id zum Context $mdlcourse->mdl_context_id";
$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
@@ -314,6 +354,9 @@ class moodle_user
//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
@@ -321,6 +364,9 @@ class moodle_user
{
//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";
}
}
+4
View File
@@ -158,6 +158,10 @@
<td class="tdwrap"><a target="content" href="private/info/weiterbildung/archiv/archiv.html" class="MenuItem" onClick="js_toggle_container('WeiterbildungArchiv');" style="font-weight: normal;"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;Archiv</a>
<table class="tabcontent" id="WeiterbildungArchiv" style="display: none;">
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
<td class="tdwrap"><a class="Item" href="private/info/weiterbildung/archiv/archiv_08-09.html" target="content"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;2008/09</a></td>
</tr>
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
<td class="tdwrap"><a class="Item" href="private/info/weiterbildung/archiv/archiv_07-08.html" target="content"><img src="../skin/images/menu_item.gif" width="7" height="9">&nbsp;2007/08</a></td>