mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 17:02:19 +00:00
Anpassungen Moodle2.4
This commit is contained in:
@@ -38,7 +38,7 @@ require_once('../../../../include/pruefung.class.php');
|
||||
require_once('../../../../include/person.class.php');
|
||||
require_once('../../../../include/benutzer.class.php');
|
||||
require_once('../../../../include/mitarbeiter.class.php');
|
||||
require_once('../../../../include/moodle_course.class.php');
|
||||
require_once('../../../../include/moodle19_course.class.php');
|
||||
require_once('../../../../include/mail.class.php');
|
||||
require_once('../../../../include/phrasen.class.php');
|
||||
|
||||
@@ -839,7 +839,7 @@ echo '<table>';
|
||||
{
|
||||
//Noten aus Moodle
|
||||
if (!isset($moodle_course))
|
||||
$moodle_course = new moodle_course();
|
||||
$moodle_course = new moodle19_course();
|
||||
|
||||
if (!$mdldaten = $moodle_course->loadNoten($lvid, $stsem, '', true,$debg))
|
||||
$mdldaten='';
|
||||
|
||||
@@ -26,7 +26,7 @@ require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/studiensemester.class.php');
|
||||
require_once('../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/moodle_course.class.php');
|
||||
require_once('../../../include/moodle.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/lehre_tools.class.php');
|
||||
|
||||
|
||||
@@ -25,14 +25,15 @@ require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/basis_db.class.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/moodle2_4_course.class.php');
|
||||
require_once('../../../include/moodle2_4_user.class.php');
|
||||
require_once('../../../include/moodle24_course.class.php');
|
||||
require_once('../../../include/moodle24_user.class.php');
|
||||
require_once('../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../include/lehreinheit.class.php');
|
||||
require_once('../../../include/lehreinheitgruppe.class.php');
|
||||
require_once('../../../include/lehreinheitmitarbeiter.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/moodle.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
@@ -94,10 +95,16 @@ function togglediv()
|
||||
</head>
|
||||
<body onload="togglediv()">
|
||||
<h1>'.$db->convert_html_chars($lv->bezeichnung).' ('.$db->convert_html_chars($stsem).')</h1>
|
||||
<br />
|
||||
<table>
|
||||
<span style="color: red; font-weight: bold">
|
||||
MOODLE 2.4 - TESTBETRIEB<br>
|
||||
Alle Einstellungen auf dieser Seite betreffen Moodle 2.4<br>
|
||||
Zur Verwaltung der aktuellen Moodlekurse verwenden Sie <a href="moodle_wartung.php?lvid='.$lvid.'&stsem='.$stsem.'">diese Seite</a>
|
||||
</span>
|
||||
<br><br>
|
||||
<hr>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>';
|
||||
<td valign="top">';
|
||||
|
||||
if(isset($_POST['neu']))
|
||||
{
|
||||
@@ -121,7 +128,7 @@ if(isset($_POST['neu']))
|
||||
//Gesamte LV zu einem Moodle Kurs zusammenlegen
|
||||
if($art=='lv')
|
||||
{
|
||||
$mdl_course = new moodle_course();
|
||||
$mdl_course = new moodle24_course();
|
||||
|
||||
$mdl_course->lehrveranstaltung_id = $lvid;
|
||||
$mdl_course->studiensemester_kurzbz = $stsem;
|
||||
@@ -137,12 +144,12 @@ if(isset($_POST['neu']))
|
||||
//Eintrag in der Vilesci DB
|
||||
$mdl_course->create_vilesci();
|
||||
|
||||
$mdl_user = new moodle_user();
|
||||
$mdl_user = new moodle24_user();
|
||||
//Lektoren Synchronisieren
|
||||
if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id))
|
||||
echo $mdl_user->errormsg;
|
||||
|
||||
$mdl_user = new moodle_user();
|
||||
$mdl_user = new moodle24_user();
|
||||
//Studenten Synchronisieren
|
||||
if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id))
|
||||
echo $mdl_user->errormsg;
|
||||
@@ -167,7 +174,7 @@ if(isset($_POST['neu']))
|
||||
|
||||
if(count($lehreinheiten)>0)
|
||||
{
|
||||
$mdl_course = new moodle_course();
|
||||
$mdl_course = new moodle24_course();
|
||||
|
||||
$mdl_course->mdl_fullname = $_POST['bezeichnung'];
|
||||
$mdl_course->mdl_shortname = $shortname;
|
||||
@@ -188,12 +195,12 @@ if(isset($_POST['neu']))
|
||||
echo '<br>'.$p->t('moodle/fehlerBeimAnlegenAufgetreten').':'.$mdl_course->errormsg;
|
||||
}
|
||||
|
||||
$mdl_user = new moodle_user();
|
||||
$mdl_user = new moodle24_user();
|
||||
//Lektoren Synchronisieren
|
||||
if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id))
|
||||
echo $mdl_user->errormsg;
|
||||
|
||||
$mdl_user = new moodle_user();
|
||||
$mdl_user = new moodle24_user();
|
||||
//Studenten Synchronisieren
|
||||
if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id))
|
||||
echo $mdl_user->errormsg;
|
||||
@@ -213,7 +220,7 @@ if(isset($_POST['changegruppe']))
|
||||
{
|
||||
if(isset($_POST['moodle_id']) && is_numeric($_POST['moodle_id']))
|
||||
{
|
||||
$mcourse = new moodle_course();
|
||||
$mcourse = new moodle24_course();
|
||||
if($mcourse->updateGruppenSync($_POST['moodle_id'], isset($_POST['gruppen'])))
|
||||
echo '<b>'.$p->t('moodle/datenWurdenAktualisiert').'</b><br>';
|
||||
else
|
||||
@@ -228,7 +235,7 @@ if(isset($_POST['changegruppe']))
|
||||
//Anlegen eines Testkurses
|
||||
if(isset($_GET['action']) && $_GET['action']=='createtestkurs')
|
||||
{
|
||||
$mdl_course = new moodle_course();
|
||||
$mdl_course = new moodle24_course();
|
||||
if(!$mdl_course->loadTestkurs($lvid, $stsem))
|
||||
{
|
||||
$lehrveranstaltung = new lehrveranstaltung();
|
||||
@@ -252,7 +259,7 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs')
|
||||
$id=$mdl_course->mdl_course_id;
|
||||
$errormsg='';
|
||||
|
||||
$mdl_user = new moodle_user();
|
||||
$mdl_user = new moodle24_user();
|
||||
//Lektoren zuweisen
|
||||
if(!$mdl_user->sync_lektoren($id, $lvid, $stsem))
|
||||
$errormsg.=$p->t('moodle/fehlerBeiDerLektorenZuordnung').':'.$mdl_user->errormsg.'<br>';
|
||||
@@ -272,8 +279,8 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs')
|
||||
}
|
||||
}
|
||||
|
||||
$mdl_course = new moodle_course();
|
||||
if($mdl_course->course_exists_for_lv($lvid, $stsem) || $mdl_course->course_exists_for_allLE($lvid, $stsem))
|
||||
$moodle = new moodle();
|
||||
if($moodle->course_exists_for_lv($lvid, $stsem) || $moodle->course_exists_for_allLE($lvid, $stsem))
|
||||
{
|
||||
echo $p->t('moodle/esIstBereitsEinMoodleKursVorhanden');
|
||||
}
|
||||
@@ -330,7 +337,7 @@ else
|
||||
$lektoren.= ' '.$ma->mitarbeiter_uid;
|
||||
}
|
||||
|
||||
if($mdl_course->course_exists_for_le($row->lehreinheit_id))
|
||||
if($moodle->course_exists_for_le($row->lehreinheit_id))
|
||||
$disabled='disabled';
|
||||
else
|
||||
$disabled='';
|
||||
@@ -354,24 +361,35 @@ echo '</td>';
|
||||
|
||||
echo '<td valign="top">';
|
||||
echo '<b>'.$p->t('moodle/vorhandeneMoodleKurse').'</b>';
|
||||
if(!$mdl_course->getAll($lvid, $stsem))
|
||||
echo $mdl_course->errormsg;
|
||||
if(!$moodle->getAll($lvid, $stsem))
|
||||
echo $moodle->errormsg;
|
||||
echo '<table>';
|
||||
foreach ($mdl_course->result as $course)
|
||||
foreach ($moodle->result as $course)
|
||||
{
|
||||
echo '<tr>';
|
||||
echo '<td><a href="'.MOODLE_PATH24.'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='".$p->t('global/ok')."' name='changegruppe'></form></td>";
|
||||
|
||||
switch($course->moodle_version)
|
||||
{
|
||||
case '2.4':
|
||||
$mdlcourse = new moodle24_course();
|
||||
$mdlcourse->load($course->mdl_course_id);
|
||||
echo '<tr>';
|
||||
echo '<td><a href="'.$moodle->getPfad($course->moodle_version).'course/view.php?id='.$course->mdl_course_id.'" class="Item" target="_blank">'.$mdlcourse->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='".$p->t('global/ok')."' name='changegruppe'></form></td>";
|
||||
break;
|
||||
default:
|
||||
echo '<tr><td>Moodle v'.$course->moodle_version.' - '.$course->mdl_course_id.'</td></tr>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
echo '</table>';
|
||||
echo '</td></tr></table>';
|
||||
|
||||
echo '<br><br><br>';
|
||||
echo '<b>'.$p->t('moodle/testkurse').'</b><br><br>';
|
||||
$mdlcourse = new moodle_course();
|
||||
echo '<b>'.$p->t('moodle/testkurse24').'</b><br><br>';
|
||||
$mdlcourse = new moodle24_course();
|
||||
if($mdlcourse->loadTestkurs($lvid, $stsem))
|
||||
{
|
||||
echo '<a href="'.MOODLE_PATH24.'course/view.php?id='.$mdlcourse->mdl_course_id.'" class="Item" target="_blank">'.$db->convert_html_chars($mdlcourse->mdl_fullname).'</a>';
|
||||
echo '<a href="'.$moodle->getPfad('2.4').'course/view.php?id='.$mdlcourse->mdl_course_id.'" class="Item" target="_blank">'.$db->convert_html_chars($mdlcourse->mdl_fullname).'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -21,19 +21,20 @@
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
// ------------------------------------------------------------------------------------------
|
||||
// Datenbankanbindung
|
||||
// ------------------------------------------------------------------------------------------
|
||||
require_once('../../../include/basis_db.class.php');
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Herstellen der Datenbankverbindung');
|
||||
|
||||
require_once('../../../include/basis_db.class.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/moodle_course.class.php');
|
||||
require_once('../../../include/moodle_user.class.php');
|
||||
require_once('../../../include/moodle.class.php');
|
||||
require_once('../../../include/moodle19_course.class.php');
|
||||
require_once('../../../include/moodle24_course.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Herstellen der Datenbankverbindung');
|
||||
|
||||
$user = get_uid();
|
||||
|
||||
$p = new phrasen(getSprache());
|
||||
|
||||
if(isset($_GET['lvid']))
|
||||
$lvid=$_GET['lvid'];
|
||||
else
|
||||
@@ -51,37 +52,40 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
|
||||
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<body>
|
||||
<table class="tabcontent" height="100%" id="inhalt">
|
||||
<tr>
|
||||
<td class="tdwidth10"> </td>
|
||||
<td class="ContentHeader"><font class="ContentHeader">MOODLE Kurse</font></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdvertical"> </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdvertical"> </td>
|
||||
<td class="tdvertical">
|
||||
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>';
|
||||
<h1>'.$p->t('moodle/kursUebersicht').'</h1>
|
||||
|
||||
$mdlcourse = new moodle_course();
|
||||
$mdlcourse->getAll($lvid, $stsem);
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>';
|
||||
|
||||
foreach ($mdlcourse->result as $row)
|
||||
$moodle = new moodle();
|
||||
$moodle->getAll($lvid, $stsem);
|
||||
|
||||
foreach ($moodle->result as $row)
|
||||
{
|
||||
echo "<a href='".MOODLE_PATH."course/view.php?id=".$row->mdl_course_id."' class='Item'>$row->mdl_fullname</a><br>";
|
||||
switch($row->moodle_version)
|
||||
{
|
||||
case '1.9':
|
||||
$mdlcourse19=new moodle19_course();
|
||||
$mdlcourse19->load($row->mdl_course_id);
|
||||
echo "<a href='".$moodle->getPfad($row->moodle_version)."course/view.php?id=".$row->mdl_course_id."' class='Item'>$mdlcourse19->mdl_fullname</a><br>";
|
||||
break;
|
||||
|
||||
case '2.4':
|
||||
$mdlcourse24=new moodle24_course();
|
||||
$mdlcourse24->load($row->mdl_course_id);
|
||||
echo "<a href='".$moodle->getPfad($row->moodle_version)."course/view.php?id=".$row->mdl_course_id."' class='Item'>$mdlcourse24->mdl_fullname</a><br>";
|
||||
break;
|
||||
|
||||
default:
|
||||
echo $p->t('moodle/ungueltigeVersion',array($row->moodle_version)).'<br>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
echo ' </td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
echo ' </td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>';
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2008 Technikum-Wien
|
||||
/* Copyright (C) 2013 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
@@ -21,21 +21,23 @@
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
*/
|
||||
/*
|
||||
* Erstellt eine Liste mit den Noten des eingeloggten Studenten
|
||||
* das betreffende Studiensemester kann ausgewaehlt werden
|
||||
* Verwaltungsseite zum Anlegen von Moodle Kursen
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/basis_db.class.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/moodle_course.class.php');
|
||||
require_once('../../../include/moodle_user.class.php');
|
||||
require_once('../../../include/lehrveranstaltung.class.php');
|
||||
require_once('../../../include/lehreinheit.class.php');
|
||||
require_once('../../../include/lehreinheitgruppe.class.php');
|
||||
require_once('../../../include/lehreinheitmitarbeiter.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/moodle.class.php');
|
||||
require_once('../../../include/moodle19_course.class.php');
|
||||
require_once('../../../include/moodle19_user.class.php');
|
||||
require_once('../../../include/moodle24_course.class.php');
|
||||
require_once('../../../include/moodle24_user.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
@@ -102,22 +104,11 @@ function togglediv()
|
||||
</script>
|
||||
</head>
|
||||
<body onload="togglediv()">
|
||||
<table class="tabcontent" height="100%" id="inhalt">
|
||||
<h1>'.$lv->bezeichnung.' ('.$stsem.')</h1>
|
||||
<table width="100%" >
|
||||
<tr>
|
||||
<td class="tdwidth10"> </td>
|
||||
<td class="ContentHeader"><font class="ContentHeader">'.$lv->bezeichnung.' ('.$stsem.')</font></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdvertical"> </td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tdvertical"> </td>
|
||||
<td class="tdvertical">
|
||||
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>';
|
||||
<td valign="top">';
|
||||
|
||||
if(isset($_POST['neu']))
|
||||
{
|
||||
if($_POST['bezeichnung']=='')
|
||||
@@ -140,7 +131,7 @@ if(isset($_POST['neu']))
|
||||
//Gesamte LV zu einem Moodle Kurs zusammenlegen
|
||||
if($art=='lv')
|
||||
{
|
||||
$mdl_course = new moodle_course();
|
||||
$mdl_course = new moodle19_course();
|
||||
|
||||
$mdl_course->lehrveranstaltung_id = $lvid;
|
||||
$mdl_course->studiensemester_kurzbz = $stsem;
|
||||
@@ -156,12 +147,12 @@ if(isset($_POST['neu']))
|
||||
//Eintrag in der Vilesci DB
|
||||
$mdl_course->create_vilesci();
|
||||
|
||||
$mdl_user = new moodle_user();
|
||||
$mdl_user = new moodle19_user();
|
||||
//Lektoren Synchronisieren
|
||||
if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id))
|
||||
echo $mdl_user->errormsg;
|
||||
|
||||
$mdl_user = new moodle_user();
|
||||
$mdl_user = new moodle19_user();
|
||||
//Studenten Synchronisieren
|
||||
if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id))
|
||||
echo $mdl_user->errormsg;
|
||||
@@ -186,7 +177,7 @@ if(isset($_POST['neu']))
|
||||
|
||||
if(count($lehreinheiten)>0)
|
||||
{
|
||||
$mdl_course = new moodle_course();
|
||||
$mdl_course = new moodle19_course();
|
||||
|
||||
$mdl_course->mdl_fullname = $_POST['bezeichnung'];
|
||||
$mdl_course->mdl_shortname = $shortname;
|
||||
@@ -194,7 +185,8 @@ if(isset($_POST['neu']))
|
||||
$mdl_course->insertamum = date('Y-m-d H:i:s');
|
||||
$mdl_course->insertvon = $user;
|
||||
$mdl_course->lehreinheit_id=$lehreinheiten[0];
|
||||
|
||||
$mdl_course->gruppen = isset($_POST['gruppen']);
|
||||
|
||||
//Kurs im Moodle anlegen
|
||||
if($mdl_course->create_moodle())
|
||||
{
|
||||
@@ -206,12 +198,12 @@ if(isset($_POST['neu']))
|
||||
echo '<br>'.$p->t('moodle/fehlerBeimAnlegenAufgetreten').':'.$mdl_course->errormsg;
|
||||
}
|
||||
|
||||
$mdl_user = new moodle_user();
|
||||
$mdl_user = new moodle19_user();
|
||||
//Lektoren Synchronisieren
|
||||
if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id))
|
||||
echo $mdl_user->errormsg;
|
||||
|
||||
$mdl_user = new moodle_user();
|
||||
$mdl_user = new moodle19_user();
|
||||
//Studenten Synchronisieren
|
||||
if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id))
|
||||
echo $mdl_user->errormsg;
|
||||
@@ -231,7 +223,7 @@ if(isset($_POST['changegruppe']))
|
||||
{
|
||||
if(isset($_POST['moodle_id']) && is_numeric($_POST['moodle_id']))
|
||||
{
|
||||
$mcourse = new moodle_course();
|
||||
$mcourse = new moodle19_course();
|
||||
if($mcourse->updateGruppenSync($_POST['moodle_id'], isset($_POST['gruppen'])))
|
||||
echo '<b>'.$p->t('moodle/datenWurdenAktualisiert').'</b><br>';
|
||||
else
|
||||
@@ -246,7 +238,7 @@ if(isset($_POST['changegruppe']))
|
||||
//Anlegen eines Testkurses
|
||||
if(isset($_GET['action']) && $_GET['action']=='createtestkurs')
|
||||
{
|
||||
$mdl_course = new moodle_course();
|
||||
$mdl_course = new moodle19_course();
|
||||
if(!$mdl_course->loadTestkurs($lvid, $stsem))
|
||||
{
|
||||
$lehrveranstaltung = new lehrveranstaltung();
|
||||
@@ -270,7 +262,7 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs')
|
||||
$id=$mdl_course->mdl_course_id;
|
||||
$errormsg='';
|
||||
|
||||
$mdl_user = new moodle_user();
|
||||
$mdl_user = new moodle19_user();
|
||||
//Lektoren zuweisen
|
||||
if(!$mdl_user->sync_lektoren($id, $lvid, $stsem))
|
||||
$errormsg.=$p->t('moodle/fehlerBeiDerLektorenZuordnung').':'.$mdl_user->errormsg.'<br>';
|
||||
@@ -290,8 +282,57 @@ if(isset($_GET['action']) && $_GET['action']=='createtestkurs')
|
||||
}
|
||||
}
|
||||
|
||||
$mdl_course = new moodle_course();
|
||||
if($mdl_course->course_exists_for_lv($lvid, $stsem) || $mdl_course->course_exists_for_allLE($lvid, $stsem))
|
||||
//Anlegen eines Testkurses fuer Moodle 24
|
||||
if(isset($_GET['action']) && $_GET['action']=='createtestkurs24')
|
||||
{
|
||||
$mdl_course24 = new moodle24_course();
|
||||
if(!$mdl_course24->loadTestkurs($lvid, $stsem))
|
||||
{
|
||||
$lehrveranstaltung = new lehrveranstaltung();
|
||||
$lehrveranstaltung->load($lvid);
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->load($lehrveranstaltung->studiengang_kz);
|
||||
|
||||
//$orgform = ($lehrveranstaltung->orgform_kurzbz!=''?$lehrveranstaltung->orgform_kurzbz:$studiengang->orgform_kurzbz);
|
||||
|
||||
//Kurzbezeichnung generieren Format: STSEM-STG-SEM-LV/LEID/LEID/LEID...
|
||||
$shortname = 'TK-'.$stsem.'-'.$studiengang->kuerzel.'-'.$lehrveranstaltung->semester.'-'.$lehrveranstaltung->kurzbz;
|
||||
|
||||
$mdl_course24->lehrveranstaltung_id = $lvid;
|
||||
$mdl_course24->studiensemester_kurzbz = $stsem;
|
||||
$mdl_course24->mdl_fullname = 'Testkurs - '.$lehrveranstaltung->bezeichnung;
|
||||
$mdl_course24->mdl_shortname = $shortname;
|
||||
|
||||
//TestKurs erstellen
|
||||
if($mdl_course24->createTestkurs($lvid, $stsem))
|
||||
{
|
||||
$id=$mdl_course24->mdl_course_id;
|
||||
$errormsg='';
|
||||
|
||||
$mdl_user24 = new moodle24_user();
|
||||
//Lektoren zuweisen
|
||||
if(!$mdl_user24->sync_lektoren($id, $lvid, $stsem))
|
||||
$errormsg.=$p->t('moodle/fehlerBeiDerLektorenZuordnung').':'.$mdl_user24->errormsg.'<br>';
|
||||
//Teststudenten zuweisen
|
||||
if(!$mdl_user24->createTestStudentenZuordnung($id))
|
||||
$errormsg.=$p->t('moodle/fehlerBeiDerStudentenZuordnung').':'.$mdl_user24->errormsg.'<br>';
|
||||
|
||||
if($errormsg!='')
|
||||
echo $errormsg;
|
||||
else
|
||||
echo '<b>'.$p->t('moodle/testkursWurdeErfolgreichAngelegt').'</b><br>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<span class="error">'.$p->t('moodle/esExistiertBereitsEinTestkurs').'</span><br>';
|
||||
}
|
||||
}
|
||||
|
||||
$moodle = new moodle();
|
||||
|
||||
// Pruefen ob bereits fuer alle Lehreinheiten oder fuer die gesamte LV ein Moodle Kurs angelegt ist
|
||||
if($moodle->course_exists_for_lv($lvid, $stsem) || $moodle->course_exists_for_allLE($lvid, $stsem))
|
||||
{
|
||||
echo $p->t('moodle/esIstBereitsEinMoodleKursVorhanden');
|
||||
}
|
||||
@@ -301,8 +342,8 @@ else
|
||||
//anlegen fuer die Lehrveranstaltung verhindern
|
||||
$qry = "SELECT 1 FROM lehre.tbl_moodle
|
||||
WHERE lehreinheit_id in(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
|
||||
WHERE lehrveranstaltung_id='".addslashes($lvid)."'
|
||||
AND studiensemester_kurzbz='".addslashes($stsem)."')";
|
||||
WHERE lehrveranstaltung_id=".$db->db_add_param($lvid)."
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem).")";
|
||||
$disable_lv='';
|
||||
if($result = $db->db_query($qry))
|
||||
if($db->db_num_rows($result)>0)
|
||||
@@ -348,7 +389,7 @@ else
|
||||
$lektoren.= ' '.$ma->mitarbeiter_uid;
|
||||
}
|
||||
|
||||
if($mdl_course->course_exists_for_le($row->lehreinheit_id))
|
||||
if($moodle->course_exists_for_le($row->lehreinheit_id))
|
||||
$disabled='disabled';
|
||||
else
|
||||
$disabled='';
|
||||
@@ -372,32 +413,61 @@ echo '</td>';
|
||||
|
||||
echo '<td valign="top">';
|
||||
echo '<b>'.$p->t('moodle/vorhandeneMoodleKurse').'</b>';
|
||||
if(!$mdl_course->getAll($lvid, $stsem))
|
||||
echo $mdl_course->errormsg;
|
||||
if(!$moodle->getAll($lvid, $stsem))
|
||||
echo $moodle->errormsg;
|
||||
echo '<table>';
|
||||
foreach ($mdl_course->result as $course)
|
||||
foreach ($moodle->result as $course)
|
||||
{
|
||||
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='".$p->t('global/ok')."' name='changegruppe'></td>";
|
||||
switch($course->moodle_version)
|
||||
{
|
||||
case '1.9':
|
||||
$moodlecourse = new moodle19_course();
|
||||
$moodlecourse->load($course->mdl_course_id);
|
||||
echo '<tr>';
|
||||
echo '<td><a href="'.$moodle->getPfad($course->moodle_version).'course/view.php?id='.$course->mdl_course_id.'" class="Item" target="_blank">'.$moodlecourse->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='".$p->t('global/ok')."' name='changegruppe'></form></td>";
|
||||
echo '</tr>';
|
||||
break;
|
||||
|
||||
case '2.4':
|
||||
$moodlecourse = new moodle24_course();
|
||||
$moodlecourse->load($course->mdl_course_id);
|
||||
echo '<tr>';
|
||||
echo '<td><a href="'.$moodle->getPfad($course->moodle_version).'course/view.php?id='.$course->mdl_course_id.'" class="Item" target="_blank">'.$moodlecourse->mdl_fullname.'</a></td>';
|
||||
echo '</tr>';
|
||||
break;
|
||||
|
||||
default:
|
||||
// andere Moodle Version
|
||||
echo '<tr><td>Unknown Moodle Version - ID '.$course->mdl_course_id.'</td></tr>';
|
||||
}
|
||||
}
|
||||
echo '</table>';
|
||||
echo '</td></tr></table>';
|
||||
|
||||
echo '<br><br><br>';
|
||||
echo '<b>'.$p->t('moodle/testkurse').'</b><br><br>';
|
||||
$mdlcourse = new moodle_course();
|
||||
$mdlcourse = new moodle19_course();
|
||||
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>';
|
||||
echo '<a href="'.$moodle->getPfad('1.9').'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'>".$p->t('moodle/klickenSieHierUmTestkursErstellen')."</a>";
|
||||
}
|
||||
echo '</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
echo '<br><br><hr><b>'.$p->t('moodle/testkurse24').'</b><br><br>';
|
||||
$mdlcourse24 = new moodle24_course();
|
||||
if($mdlcourse24->loadTestkurs($lvid, $stsem))
|
||||
{
|
||||
echo '<a href="'.$moodle->getPfad('2.4').'course/view.php?id='.$mdlcourse24->mdl_course_id.'" class="Item" target="_blank">'.$mdlcourse24->mdl_fullname.'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<a href='".$_SERVER['PHP_SELF']."?lvid=$lvid&stsem=$stsem&action=createtestkurs24' class='Item'>".$p->t('moodle/klickenSieHierUmTestkursErstellen24')."</a>";
|
||||
}
|
||||
echo '
|
||||
</body>
|
||||
</html>';
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -0,0 +1,278 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class moodle extends basis_db
|
||||
{
|
||||
public $result = array();
|
||||
|
||||
public $moodle_id;
|
||||
public $mdl_course_id;
|
||||
public $lehreinheit_id;
|
||||
public $lehrveranstaltung_id;
|
||||
public $studiensemester_kurzbz;
|
||||
public $insertamum;
|
||||
public $insertvon;
|
||||
public $gruppen;
|
||||
public $moodle_version;
|
||||
|
||||
public $version;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->getVersionen();
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Moodlekurse zu einer LV/Stsem
|
||||
* plus die Moodlekurse die auf dessen LE haengen
|
||||
*
|
||||
* @param lehrveranstaltung_id
|
||||
* @param studiensemester_kurzbz
|
||||
*
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAll($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct on(mdl_course_id) *
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_moodle
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id
|
||||
AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND ((tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_moodle.lehrveranstaltung_id
|
||||
AND tbl_moodle.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz)
|
||||
OR
|
||||
(tbl_lehreinheit.lehreinheit_id=tbl_moodle.lehreinheit_id))";
|
||||
|
||||
if($result=$this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new stdClass();
|
||||
|
||||
$obj->moodle_id = $row->moodle_id;
|
||||
$obj->mdl_course_id = $row->mdl_course_id;
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
$obj->lehrveranstaltung_id = $row->lehrveranstaltung_id;
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->gruppen = $this->db_parse_bool($row->gruppen);
|
||||
$obj->moodle_version = $row->moodle_version;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Schaut ob fuer diese LV/StSem schon ein
|
||||
* Moodle Kurs existiert
|
||||
*
|
||||
* @param lehrveranstaltung_id
|
||||
* @param studiensemester_kurzbz
|
||||
* @return true wenn vorhanden, false wenn nicht
|
||||
*/
|
||||
public function course_exists_for_lv($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_moodle
|
||||
WHERE
|
||||
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows()>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Schaut ob fuer diese LE schon ein Moodle
|
||||
* Kurs existiert
|
||||
* @param lehreinheit_id
|
||||
* @return true wenn vorhanden, false wenn nicht
|
||||
*/
|
||||
public function course_exists_for_le($lehreinheit_id)
|
||||
{
|
||||
$qry = "SELECT 1 FROM lehre.tbl_moodle WHERE lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER);
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows()>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob fuer alle Lehreinheiten dieser LV bereits ein Moodlekurs existiert
|
||||
*
|
||||
* @param lehrveranstaltung_id
|
||||
* @param studiensemester_kurzbz
|
||||
* @return true wenn vorhanden, false wenn nicht
|
||||
*/
|
||||
public function course_exists_for_allLE($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT 1 FROM lehre.tbl_lehreinheit
|
||||
WHERE
|
||||
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND lehreinheit_id NOT IN (
|
||||
SELECT lehreinheit_id FROM lehre.tbl_moodle
|
||||
WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id)";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows()>0)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Moodle Versionsinformationen
|
||||
*/
|
||||
public function getVersionen()
|
||||
{
|
||||
$qry = "SELECT * FROM lehre.tbl_moodle_version";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->version[$row->moodle_version]['bezeichnung']=$row->bezeichnung;
|
||||
$this->version[$row->moodle_version]['pfad']=$row->pfad;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Versionsdaten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den Pfad zur Moodle Installation
|
||||
* @param version Versionsnummer
|
||||
* @return pfad (URL) zur Moodle Installation
|
||||
*/
|
||||
public function getPfad($version)
|
||||
{
|
||||
if(isset($this->version[$version]['pfad']))
|
||||
return $this->version[$version]['pfad'];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert alle Kurse dieser LV zu denen der Student
|
||||
* zugeteilt ist
|
||||
*
|
||||
* @param lehrveranstaltung_id
|
||||
* @param studiensemester_kurzbz
|
||||
* @param student_uid
|
||||
* @return array mit Moodle Kurs IDs
|
||||
*/
|
||||
public function getCourse($lehrveranstaltung_id, $studiensemester_kurzbz, $student_uid)
|
||||
{
|
||||
//alle betreffenden Kurse holen
|
||||
$qry = "SELECT
|
||||
tbl_lehreinheit.lehreinheit_id, mdl_course_id, tbl_moodle.moodle_version
|
||||
FROM
|
||||
lehre.tbl_moodle
|
||||
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id, studiensemester_kurzbz)
|
||||
WHERE
|
||||
tbl_moodle.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
AND tbl_moodle.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
UNION
|
||||
SELECT
|
||||
tbl_lehreinheit.lehreinheit_id, mdl_course_id, tbl_moodle.moodle_version
|
||||
FROM
|
||||
lehre.tbl_moodle
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE
|
||||
tbl_lehreinheit.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
|
||||
$courses = array();
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
//schauen in welchen Kursen der Student ist
|
||||
$qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung
|
||||
WHERE
|
||||
uid=".$this->db_add_param($student_uid)."
|
||||
AND lehreinheit_id=".$this->db_add_param($row->lehreinheit_id, FHC_INTEGER);
|
||||
|
||||
if($result_vw = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows($result_vw)>0)
|
||||
{
|
||||
if(!array_key_exists($row->mdl_course_id, $courses))
|
||||
{
|
||||
$obj = new stdClass();
|
||||
$obj->mdl_course_id = $row->mdl_course_id;
|
||||
$obj->moodle_version = $row->moodle_version;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,788 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/*
|
||||
* requires moodle_course.class.php
|
||||
* studiengang.class.php
|
||||
*
|
||||
* Klasse zur Kommunikation mit Moodle 1.9
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class moodle19_user extends basis_db
|
||||
{
|
||||
private $conn_moodle;
|
||||
public $log=''; //log message fuer Syncro
|
||||
public $log_public=''; //log message fuer Syncro
|
||||
public $sync_create=0; //anzahl der durchgefuehrten zuteilungen beim syncro
|
||||
public $group_update=0; //anzahl der updates an gruppen
|
||||
|
||||
public $mdl_user_id;
|
||||
public $mdl_user_username;
|
||||
public $mdl_user_firstname;
|
||||
public $mdl_user_lastname;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
if(!$this->conn_moodle=pg_pconnect(CONN_STRING_MOODLE))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Herstellen der Moodle Verbindung';
|
||||
return false;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Moodle User
|
||||
*
|
||||
* @param $uid
|
||||
* @return boolean
|
||||
*/
|
||||
public function loaduser($uid)
|
||||
{
|
||||
$qry = "SELECT * FROM public.mdl_user WHERE username='".addslashes($uid)."'";
|
||||
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
$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
|
||||
{
|
||||
$this->errormsg = 'User wurde nicht gefunden: '.$uid;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Users';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert ein Array mit allen Lektoren die
|
||||
* zu dem Moodle Kurs zugeteilt sind
|
||||
*/
|
||||
public 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
|
||||
moodle_version='1.9'
|
||||
AND 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
|
||||
moodle_version='1.9'
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz
|
||||
AND mdl_course_id='".addslashes($mdl_course_id)."'";
|
||||
$mitarbeiter=array();
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row_ma = $this->db_fetch_object())
|
||||
{
|
||||
$mitarbeiter[] = $row_ma->mitarbeiter_uid;
|
||||
}
|
||||
return $mitarbeiter;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Fehler beim Laden der Mitarbeiter';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
public function sync_lektoren($mdl_course_id, $lehrveranstaltung_id=null, $studiensemester_kurzbz=null)
|
||||
{
|
||||
//Mitarbeiter laden die zu diesem Kurs zugeteilt sind
|
||||
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
|
||||
moodle_version='1.9'
|
||||
AND 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
|
||||
moodle_version='1.9'
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz
|
||||
AND mdl_course_id='".addslashes($mdl_course_id)."'";
|
||||
}
|
||||
$mitarbeiter='';
|
||||
if($result_ma = $this->db_query($qry))
|
||||
{
|
||||
//Context des Kurses holen
|
||||
$mdlcourse = new moodle19_course();
|
||||
if(!$mdlcourse->getContext(50, $mdl_course_id))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Contexts';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row_ma = $this->db_fetch_object($result_ma))
|
||||
{
|
||||
//MoodleID des Users holen bzw ggf neu anlegen
|
||||
if(!$this->loaduser($row_ma->mitarbeiter_uid))
|
||||
{
|
||||
//User anlegen
|
||||
if(!$this->createUser($row_ma->mitarbeiter_uid))
|
||||
{
|
||||
$this->errormsg = "Fehler beim Anlegen des Users $row_ma->mitarbeiter_uid: $this->errormsg";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
$this->errormsg = '';
|
||||
}
|
||||
|
||||
if($mitarbeiter!='')
|
||||
$mitarbeiter.=',';
|
||||
$mitarbeiter.=$this->mdl_user_id;
|
||||
|
||||
//Nachschauen ob dieser Lektor 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)
|
||||
{
|
||||
//Mitarbeiter ist noch nicht zugeteilt.
|
||||
|
||||
if($this->createZuteilung($this->mdl_user_id, $mdlcourse->mdl_context_id, 3))
|
||||
{
|
||||
$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
|
||||
$this->log.="\nFehler beim Anlegen der Lektoren-Zuteilung: $this->errormsg";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Rollen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//Lektoren loeschen die nicht mehr zugeordnet sind
|
||||
/* Derzeit werden zugeteilte Personen nicht geloescht
|
||||
$qry = "SELECT * FROM mdl_role_assignments
|
||||
WHERE
|
||||
contextid='".addslashes($mdlcourse->mdl_context_id)."' AND
|
||||
userid NOT in ($mitarbeiter)";
|
||||
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->deleteZuteilung($row->userid, $mdlcourse->mdl_context_id);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Lektoren die nicht mehr zugeteilt sind';
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Zugeteilten Lektoren';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Synchronisiert die Studenten der Lehreinheiten
|
||||
* mit denen des Moodle Kurses
|
||||
* @param $mdl_course_id ID des MoodleKurses
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function sync_studenten($mdl_course_id)
|
||||
{
|
||||
//Studentengruppen laden die zu diesem Kurs zugeteilt sind
|
||||
$qry = "SELECT
|
||||
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
|
||||
moodle_version='1.9'
|
||||
AND mdl_course_id='".addslashes($mdl_course_id)."'
|
||||
UNION
|
||||
SELECT
|
||||
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)
|
||||
WHERE
|
||||
moodle_version='1.9'
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz
|
||||
AND mdl_course_id='".addslashes($mdl_course_id)."'";
|
||||
$studenten='';
|
||||
if($result_std = $this->db_query($qry))
|
||||
{
|
||||
//Context des Kurses holen
|
||||
$mdlcourse = new moodle19_course();
|
||||
if(!$mdlcourse->getContext(50, $mdl_course_id))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Contexts';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row_std = $this->db_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
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct student_uid
|
||||
FROM
|
||||
public.tbl_studentlehrverband
|
||||
WHERE
|
||||
studiensemester_kurzbz='".addslashes($row_std->studiensemester_kurzbz)."' AND
|
||||
studiengang_kz = '".addslashes($row_std->studiengang_kz)."' AND
|
||||
semester = '".addslashes($row_std->semester)."'";
|
||||
if(trim($row_std->verband)!='')
|
||||
{
|
||||
$qry.=" AND verband = '$row_std->verband'";
|
||||
if(trim($row_std->gruppe)!='')
|
||||
{
|
||||
$qry.=" AND gruppe = '$row_std->gruppe'";
|
||||
}
|
||||
}
|
||||
$studiengang_obj = new studiengang();
|
||||
$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
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct uid as student_uid
|
||||
FROM
|
||||
public.tbl_benutzergruppe
|
||||
WHERE
|
||||
gruppe_kurzbz='".addslashes($row_std->gruppe_kurzbz)."' AND
|
||||
studiensemester_kurzbz='".addslashes($row_std->studiensemester_kurzbz)."'";
|
||||
$gruppenbezeichnung = $row_std->gruppe_kurzbz;
|
||||
}
|
||||
|
||||
if($result_user = $this->db_query($qry))
|
||||
{
|
||||
while($row_user = $this->db_fetch_object($result_user))
|
||||
{
|
||||
//MoodleID des Users holen bzw ggf neu anlegen
|
||||
if(!$this->loaduser($row_user->student_uid))
|
||||
{
|
||||
//User anlegen
|
||||
if(!$this->createUser($row_user->student_uid))
|
||||
{
|
||||
$this->errormsg = "Fehler beim Anlegen des Users $row_user->student_uid: $this->errormsg";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
$this->errormsg = '';
|
||||
}
|
||||
|
||||
if($studenten!='')
|
||||
$studenten.=',';
|
||||
$studenten.=$this->mdl_user_id;
|
||||
|
||||
//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;
|
||||
}
|
||||
|
||||
//Gruppenzuteilung
|
||||
if($gruppensync)
|
||||
{
|
||||
//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";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Studenten loeschen die nicht mehr zugeordnet sind
|
||||
/* Derzeit werden zugeteilte Personen nicht geloescht
|
||||
$qry = "SELECT * FROM mdl_role_assignments
|
||||
WHERE
|
||||
contextid='".addslashes($mdlcourse->mdl_context_id)."' AND
|
||||
userid NOT in ($studenten)";
|
||||
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
{
|
||||
$this->deleteZuteilung($row->userid, $mdlcourse->mdl_context_id);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Studenten die nicht mehr zugeteilt sind';
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Zugeteilten Studenten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Schaut ob eine Zuteilung von Person zu Gruppe
|
||||
* existiert
|
||||
* @param grouid ID der Gruppe
|
||||
* userid ID des Users
|
||||
* @return ID der Zuteilung
|
||||
*/
|
||||
public 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
|
||||
*/
|
||||
public 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
|
||||
*/
|
||||
public 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 nicht 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
|
||||
*/
|
||||
public 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;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Legt einen User im Moodle an
|
||||
* @param $uid UID der Person die angelegt werden soll
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function createUser($uid)
|
||||
{
|
||||
$qry = "SELECT uid, vorname, nachname FROM campus.vw_benutzer WHERE uid='".addslashes($uid)."'";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$username = $row->uid;
|
||||
$vorname = $row->vorname;
|
||||
$nachname = $row->nachname;
|
||||
|
||||
$qry = "BEGIN; INSERT INTO public.mdl_user(auth, username, idnumber, firstname, lastname, email, mnethostid, confirmed, lang)
|
||||
VALUES('ldap', ".
|
||||
$this->addslashes($username).", ".
|
||||
$this->addslashes($username).",".
|
||||
$this->addslashes($vorname).",".
|
||||
$this->addslashes($nachname).",".
|
||||
$this->addslashes($username.'@'.DOMAIN).", 3, 1, 'de_utf8');";
|
||||
|
||||
if(pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
$qry ="SELECT currval('mdl_user_id_seq') as id;";
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
if($row = pg_fetch_object($result))
|
||||
{
|
||||
pg_query($this->conn_moodle, 'COMMIT;');
|
||||
$this->mdl_user_id = $row->id;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle,'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Lesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle,'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Lesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
pg_query($this->conn_moodle,'ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Anlegen des Users';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'User wurde nicht gefunden: '.$uid;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Users';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Teilt den User mit der ID $mdl_user_id zum
|
||||
* Kurs mit der ContextID $mdl_context_id zu.
|
||||
* @param $mdl_user_id Moodle ID des Users
|
||||
* $mdl_context_id ContextID des Kurses
|
||||
* $role Rolle der Zuteilung (1=Admin/3=Lektor/5=Student)
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function createZuteilung($mdl_user_id, $mdl_context_id, $role)
|
||||
{
|
||||
$qry = "INSERT INTO public.mdl_role_assignments(roleid, contextid, userid)
|
||||
VALUES(".
|
||||
$this->addslashes($role).",".
|
||||
$this->addslashes($mdl_context_id).",".
|
||||
$this->addslashes($mdl_user_id).");";
|
||||
|
||||
if(pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Zuteilung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fuegt dem User die globale Gastrolle hinzu
|
||||
* @param $mdl_user_id Moodle ID des Users der
|
||||
* die GastRolle bekommt
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function createGlobaleGastrolle($mdl_user_id)
|
||||
{
|
||||
|
||||
//Nachschauen ob diese Person bereits eine globale Gastrolle hat
|
||||
$qry = "SELECT 1 FROM public.mdl_role_assignments
|
||||
WHERE
|
||||
userid='".addslashes($mdl_user_id)."' AND
|
||||
contextid='1' AND
|
||||
roleid='6'";
|
||||
|
||||
if($result = pg_query($this->conn_moodle, $qry))
|
||||
{
|
||||
if(pg_num_rows($result)==0)
|
||||
{
|
||||
//noch nicht zugeteilt
|
||||
if($this->createZuteilung($mdl_user_id, 1, 6))
|
||||
{
|
||||
$this->log.="\n$this->mdl_user_firstname $this->mdl_user_lastname wurde die globale Gastrolle zugeteilt";
|
||||
$this->log_public.="\n$this->mdl_user_firstname $this->mdl_user_lastname wurde die globale Gastrolle zugeteilt";
|
||||
}
|
||||
else
|
||||
$this->log.="\nFehler beim Anlegen der Gast-Zuteilung: $this->errormsg";
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Rollen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht die Zuteilung eines Users zu einem Kurs
|
||||
* @param $mdl_user_id MoodleID des Users
|
||||
* $mdl_context_id ContextID des Users
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function deleteZuteilung($mdl_user_id, $mdl_context_id)
|
||||
{
|
||||
$qry = "DELETE FROM public.mdl_role_assignments
|
||||
WHERE userid='".addslashes($mdl_user_id)."' AND contextid='".addslashes($mdl_context_id)."'";
|
||||
if(pg_query($this->conn_moodle, $qry))
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen der Zuteilung';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Teilt die TestStudenten zu einem Testkurs zu
|
||||
* @param mdl_course_id ID des Moodle Kurses
|
||||
*/
|
||||
public function createTestStudentenZuordnung($mdl_course_id)
|
||||
{
|
||||
//Context des Kurses holen
|
||||
$mdlcourse = new moodle19_course();
|
||||
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;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,691 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
*/
|
||||
/*
|
||||
* Moodle 2.4 Connector Klasse
|
||||
*
|
||||
* FHComplete Moodle Plugin muss installiert sein fuer
|
||||
* Webservice Funktion 'fhcomplete_courses_by_shortname'
|
||||
* 'fhcomplete_get_course_grades'
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/moodle.class.php');
|
||||
|
||||
class moodle24_course extends basis_db
|
||||
{
|
||||
public $result = array();
|
||||
public $serverurl;
|
||||
|
||||
//Vilesci Attribute
|
||||
public $moodle_id;
|
||||
public $mdl_course_id;
|
||||
public $lehreinheit_id;
|
||||
public $lehrveranstaltung_id;
|
||||
public $studiensemester_kurzbz;
|
||||
public $insertamum;
|
||||
public $insertvon;
|
||||
public $gruppen;
|
||||
|
||||
//Moodle Attribute
|
||||
public $mdl_fullname;
|
||||
public $mdl_shortname;
|
||||
|
||||
public $lehrveranstaltung_bezeichnung;
|
||||
public $lehrveranstaltung_semester;
|
||||
public $lehrveranstaltung_studiengang_kz;
|
||||
|
||||
// Kurs Resourcen - Anzahl
|
||||
public $mdl_benotungen;
|
||||
public $mdl_resource;
|
||||
public $mdl_quiz;
|
||||
public $mdl_chat;
|
||||
public $mdl_forum;
|
||||
public $mdl_choice;
|
||||
|
||||
public $note;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$moodle = new moodle();
|
||||
$pfad = $moodle->getPfad('2.4');
|
||||
$this->serverurl=$pfad.'/webservice/soap/server.php?wsdl=1&wstoken='.MOODLE_TOKEN24.'&'.microtime(true);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen MoodleKurs
|
||||
* @param mdl_course_id ID des Moodle Kurses
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($mdl_course_id)
|
||||
{
|
||||
$this->mdl_fullname = '';
|
||||
$this->mdl_shortname = '';
|
||||
|
||||
$this->errormsg='';
|
||||
$this->result=array();
|
||||
|
||||
if (!is_null($mdl_course_id))
|
||||
$this->mdl_course_id=$mdl_course_id;
|
||||
if (is_null($this->mdl_course_id)
|
||||
|| empty($this->mdl_course_id)
|
||||
|| !is_numeric($this->mdl_course_id))
|
||||
{
|
||||
$this->errormsg='Moodle Kurs ID fehlt';
|
||||
return false;
|
||||
}
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$response = $client->core_course_get_courses(array('ids'=>array($this->mdl_course_id)));
|
||||
|
||||
if($response)
|
||||
{
|
||||
if(isset($response[0]))
|
||||
{
|
||||
$this->mdl_fullname = $response[0]['fullname'];
|
||||
$this->mdl_shortname = $response[0]['shortname'];
|
||||
$this->mdl_course_id = $response[0]['id'];
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Kurs wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Kurses';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Legt einen Eintrag in der tbl_moodle an
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function create_vilesci()
|
||||
{
|
||||
if($this->mdl_course_id=='')
|
||||
{
|
||||
$this->errormsg='mdl_course_id muss angegeben sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'BEGIN; INSERT INTO lehre.tbl_moodle(mdl_course_id, lehreinheit_id, lehrveranstaltung_id,
|
||||
studiensemester_kurzbz, insertamum, insertvon, gruppen, moodle_version)
|
||||
VALUES('.
|
||||
$this->db_add_param($this->mdl_course_id, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->studiensemester_kurzbz).','.
|
||||
$this->db_add_param($this->insertamum).','.
|
||||
$this->db_add_param($this->insertvon).','.
|
||||
$this->db_add_param($this->gruppen, FHC_BOOLEAN).", '2.4');";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
$qry = "SELECT currval('lehre.tbl_moodle_moodle_id_seq') as id;";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->moodle_id = $row->id;
|
||||
$this->db_query('COMMIT;');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Lesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Lesen der Sequence';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Einfuegen des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Legt einen Kurs im Moodle an
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function create_moodle()
|
||||
{
|
||||
//CourseCategorie ermitteln
|
||||
|
||||
//lehrveranstalung ID holen falls die nur die lehreinheit_id angegeben wurde
|
||||
if($this->lehrveranstaltung_id=='')
|
||||
{
|
||||
$qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit
|
||||
WHERE lehreinheit_id=".$this->db_add_param($this->lehreinheit_id, FHC_INTEGER);
|
||||
if($res=$this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($res))
|
||||
{
|
||||
$lvid = $row->lehrveranstaltung_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der LehrveranstaltungID';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der LehrveranstaltungID';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
$lvid = $this->lehrveranstaltung_id;
|
||||
|
||||
//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=".$this->db_add_param($lvid, FHC_INTEGER);
|
||||
|
||||
if($res=$this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($res))
|
||||
{
|
||||
$semester = $row->semester;
|
||||
$stg = $row->stg;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln von Studiengang und Semester';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln von Studiengang und Semester';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Studiensemester Categorie holen
|
||||
if(!$id_stsem = $this->getCategorie($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))
|
||||
{
|
||||
if(!$id_stg = $this->createCategorie($stg, $id_stsem))
|
||||
echo "<br>$this->errormsg";
|
||||
}
|
||||
//Semester Categorie holen
|
||||
if(!$id_sem = $this->getCategorie($semester, $id_stg))
|
||||
{
|
||||
if(!$id_sem = $this->createCategorie($semester, $id_stg))
|
||||
echo "<br>$this->errormsg";
|
||||
}
|
||||
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
|
||||
$data = new stdClass();
|
||||
$data->fullname=$this->mdl_fullname;
|
||||
$data->shortname=$this->mdl_shortname;
|
||||
$data->categoryid=$id_sem;
|
||||
$data->format='topics';
|
||||
|
||||
$response = $client->core_course_create_courses(array($data));
|
||||
if(isset($response[0]))
|
||||
{
|
||||
$this->mdl_course_id=$response[0]['id'];
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Anlegen des Kurses';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die ID einer Kurskategorie anhand der Bezeichnung und der ParentID
|
||||
*
|
||||
* @param bezeichnung Bezeichnung der Kategorie
|
||||
* @param parent ID der uebergeordneten Kurskategorie
|
||||
*
|
||||
* @return id der Kategorie oder false im Fehlerfall
|
||||
*/
|
||||
public function getCategorie($bezeichnung, $parent)
|
||||
{
|
||||
if($bezeichnung=='')
|
||||
{
|
||||
$this->errormsg = 'Bezeichnung muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
if($parent=='')
|
||||
{
|
||||
$this->errormsg = 'getCategorie: parent wurde nicht uebergeben';
|
||||
return false;
|
||||
}
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$response = $client->core_course_get_categories(array(array('key'=>'name','value'=>$bezeichnung),array('key'=>'parent','value'=>$parent)));
|
||||
|
||||
if(isset($response[0]))
|
||||
{
|
||||
return $response[0]['id'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Kurskategorie';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Erzeugt eine Kurskategorie anhand der Bezeichnung und der ParentID
|
||||
* @param bezeichnung Bezeichnung der Kategorie
|
||||
* @param parent ID der uebergeordneten Kategorie
|
||||
*/
|
||||
public function createCategorie($bezeichnung, $parent)
|
||||
{
|
||||
if($bezeichnung=='')
|
||||
{
|
||||
$this->errormsg = 'Bezeichnung muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
if($parent=='')
|
||||
{
|
||||
$this->errormsg = 'createCategorie: parent wurde nicht uebergeben';
|
||||
return false;
|
||||
}
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$response = $client->core_course_create_categories(array(array('name'=>$bezeichnung,'parent'=>$parent)));
|
||||
|
||||
if(isset($response[0]))
|
||||
{
|
||||
return $response[0]['id'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Anlegen der Kategorie';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 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
|
||||
*
|
||||
* TODO eventuell auslagern in moodle.class
|
||||
*/
|
||||
public 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=".$this->db_add_param($gruppen, FHC_BOOLEAN)."
|
||||
WHERE moodle_id=".$this->db_add_param($moodle_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Update';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Legt einen Testkurs an
|
||||
*/
|
||||
public function createTestkurs($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
//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=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$semester = $row->semester;
|
||||
$stg = $row->stg;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln von Studiengang und Semester';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$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'))
|
||||
{
|
||||
$this->errormsg= "Fehler beim Anlegen der Testkurskategorie";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//StSem Categorie holen
|
||||
if(!$id_stsem = $this->getCategorie($studiensemester_kurzbz, $id_testkurs))
|
||||
{
|
||||
if(!$id_stsem = $this->createCategorie($studiensemester_kurzbz, $id_testkurs))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Anlegen der Studiensemester Kategorie';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
|
||||
$data = new stdClass();
|
||||
$data->fullname=$this->mdl_fullname;
|
||||
$data->shortname=$this->mdl_shortname;
|
||||
$data->categoryid=$id_stsem;
|
||||
$data->format='topics';
|
||||
|
||||
$response = $client->core_course_create_courses(array($data));
|
||||
if(isset($response[0]))
|
||||
{
|
||||
$this->mdl_course_id=$response[0]['id'];
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Anlegen des Testkurses';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt den Testkurs zu dieser Lehrveranstaltung
|
||||
* @param lehrveranstaltung_id
|
||||
* studiensemester_kurzbz
|
||||
* @return ID wenn gefunden, false wenn nicht vorhanden
|
||||
*/
|
||||
public 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=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER, false);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$shortname = mb_strtoupper('TK-'.$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;
|
||||
}
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$response = $client->fhcomplete_courses_by_shortname(array('shortnames'=>array($shortname)));
|
||||
|
||||
if(isset($response[0]))
|
||||
{
|
||||
$this->mdl_fullname = $response[0]['fullname'];
|
||||
$this->mdl_shortname = $response[0]['shortname'];
|
||||
$this->mdl_course_id = $response[0]['id'];
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Es wurde kein Testkurs gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt die Noten zu einem Moodle Course ID
|
||||
* @param lehrveranstaltung_id
|
||||
* @param $studiensemester_kurzbz
|
||||
*
|
||||
* @return objekt mit den Noten der Teilnehmer dieses Kurses
|
||||
*
|
||||
* TODO Anpassung an Moodle 2.4 fertigstellen
|
||||
*/
|
||||
public function loadNoten($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$this->errormsg='';
|
||||
$this->result=null;
|
||||
|
||||
if($lehrveranstaltung_id=='' || $studiensemester_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'LehrveranstaltungID und Studiensemester_kurzbz muss uebergeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
// Ermitteln die Lehreinheiten und Moodle ID
|
||||
$qry = "
|
||||
SELECT tbl_lehreinheit.lehreinheit_id, mdl_course_id,tbl_lehreinheit.studiensemester_kurzbz,tbl_lehreinheit.lehrveranstaltung_id
|
||||
FROM lehre.tbl_moodle
|
||||
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id, studiensemester_kurzbz)
|
||||
WHERE tbl_moodle.lehrveranstaltung_id > 0 ";
|
||||
if ($this->lehrveranstaltung_id)
|
||||
$qry.= " and tbl_moodle.lehrveranstaltung_id ='".addslashes($this->lehrveranstaltung_id)."' ";
|
||||
if ($this->studiensemester_kurzbz)
|
||||
$qry.= " and tbl_moodle.studiensemester_kurzbz ='".addslashes($this->studiensemester_kurzbz)."' ";
|
||||
$qry.= "
|
||||
UNION
|
||||
SELECT tbl_lehreinheit.lehreinheit_id, mdl_course_id,tbl_lehreinheit.studiensemester_kurzbz,tbl_lehreinheit.lehrveranstaltung_id
|
||||
FROM lehre.tbl_moodle
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE tbl_lehreinheit.lehrveranstaltung_id > 0 ";
|
||||
if ($this->lehrveranstaltung_id)
|
||||
$qry.= " and tbl_lehreinheit.lehrveranstaltung_id ='".addslashes($this->lehrveranstaltung_id)."' ";
|
||||
if ($this->studiensemester_kurzbz)
|
||||
$qry.= " and tbl_moodle.studiensemester_kurzbz ='".addslashes($this->studiensemester_kurzbz)."' ";
|
||||
|
||||
if(!$result_moodle=$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen der Moodle Kurse , '.$this->errormsg;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// init
|
||||
$_lehreinheit=array(); // Lehreinheiten zum lesen Studenten im Campus (Student und LE im FAS)
|
||||
$_lehrveranstaltung = array(); // Gesamte Information der Lehreinheit und Moodle IDs
|
||||
$_studiensemester_kurzbz=array();
|
||||
$_lehreinheit_kpl=array();
|
||||
while($row = $this->db_fetch_object($result_moodle))
|
||||
{
|
||||
|
||||
$row->lehreinheit_id=trim($row->lehreinheit_id);
|
||||
$_lehreinheit_kpl[$row->lehreinheit_id]=$row;
|
||||
|
||||
$_lehreinheit[$row->lehreinheit_id]=$row->lehreinheit_id; // Fuer Select Campus
|
||||
|
||||
$row->lehrveranstaltung_id=trim($row->lehrveranstaltung_id);
|
||||
$_lehrveranstaltung[$row->lehrveranstaltung_id]=$row->lehrveranstaltung_id; // Fuer Select Campus
|
||||
|
||||
$row->studiensemester_kurzbz=trim($row->studiensemester_kurzbz);
|
||||
$_studiensemester_kurzbz[$row->studiensemester_kurzbz]=$row->studiensemester_kurzbz; // Fuer Select Campus
|
||||
|
||||
}
|
||||
if (count($_lehreinheit)<1) // Es gibt keine Lehreinheiten
|
||||
{
|
||||
$this->errormsg='Es wurde kein passender Moodle-Kurs gefunden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Von der Lehreinheit kann der Moodle-Kurs ermittelt werden
|
||||
$this->mdl_course_id=trim($_lehreinheit_kpl[$row->lehreinheit_id]->mdl_course_id);
|
||||
if ($last_moodle_id==$this->mdl_course_id)
|
||||
continue;
|
||||
$last_moodle_id=$this->mdl_course_id;
|
||||
|
||||
|
||||
$client = new SoapClient($serverurl);
|
||||
$response = $client->fhcomplete_get_course_grades($this->mdl_course_id);
|
||||
|
||||
if (count($response)>0)
|
||||
{
|
||||
|
||||
foreach($response as $row)
|
||||
{
|
||||
|
||||
$userobj = new stdClass();
|
||||
$userobj->vorname = $row->vorname;
|
||||
$userobj->nachname = $row->nachname;
|
||||
$userobj->idnummer = $row->idnummer;
|
||||
$userobj->username = $row->username;
|
||||
$userobj->note = $row->note;
|
||||
|
||||
$this->result[]=$obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Moodle Noten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Loescht einen Moodle Course im Moodel und in der DB
|
||||
* @param mdl_course_id
|
||||
* @param bServerinfo Detail xmlrpc Debug informationen
|
||||
*
|
||||
* @return objekt mit den Noten der Teilnehmer dieses Kurses
|
||||
*
|
||||
* TODO anpassung moodle 2.4 eventuell Trennung in moodle.class
|
||||
*/
|
||||
public function deleteKurs($mdl_course_id=null,$moodle_id=null,$bServerinfo=false)
|
||||
{
|
||||
$this->errormsg='';
|
||||
$this->result=array();
|
||||
|
||||
if (!is_null($mdl_course_id))
|
||||
$this->mdl_course_id=$mdl_course_id;
|
||||
|
||||
|
||||
if (!is_null($moodle_id))
|
||||
$this->moodle_id=$moodle_id;
|
||||
|
||||
if (is_null($this->mdl_course_id) || empty($this->mdl_course_id) || !is_numeric($this->mdl_course_id))
|
||||
{
|
||||
$this->errormsg='Moodle Kurs ID fehlt';
|
||||
return false;
|
||||
}
|
||||
|
||||
// Variable Daten Initialisieren
|
||||
$args=array();
|
||||
$args['CourseID']=$this->mdl_course_id;
|
||||
$method = "DeleteCourseByID";
|
||||
|
||||
if (!$result=$this->callMoodleXMLRPC($method,$args,$bServerinfo))
|
||||
return false;
|
||||
|
||||
if (isset($result[1]))
|
||||
$this->errormsg=$result[1];
|
||||
|
||||
if ($result[0]==1 || !$this->load($this->mdl_course_id)) // Methodenaufruf erfolgreich
|
||||
{
|
||||
$qry = "DELETE FROM lehre.tbl_moodle WHERE mdl_course_id='". addslashes($this->mdl_course_id) ."' ";
|
||||
if (!is_null($this->moodle_id) && $this->moodle_id!='')
|
||||
$qry.= " and moodle_id='".addslashes($this->moodle_id)."'";
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg=$this->errormsg." Moodlekurs $mdl_course_id wurde NICHT gelöscht in Lehre. ";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else // Result = 0 ein Fehler im RFC wurde festgestellt
|
||||
{
|
||||
$this->errormsg=(isset($result[1])?$result[1]:" - Fehler beim Kurs ".$this->mdl_course_id." löschen ");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (empty($this->errormsg))
|
||||
$this->errormsg.="Moodlekurs ".$this->mdl_course_id." wurde gelöscht.";
|
||||
return true;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,568 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
*/
|
||||
/*
|
||||
* Connector fuer Moodle 2.4 User
|
||||
*
|
||||
* FHComplete Moodle Plugin muss installiert sein fuer
|
||||
* Webservice Funktion 'fhcomplete_user_get_users'
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/moodle.class.php');
|
||||
|
||||
class moodle24_user extends basis_db
|
||||
{
|
||||
public $log=''; //log message fuer Syncro
|
||||
public $log_public=''; //log message fuer Syncro
|
||||
public $sync_create=0; //anzahl der durchgefuehrten zuteilungen beim syncro
|
||||
public $group_update=0; //anzahl der updates an gruppen
|
||||
private $serverurl;
|
||||
|
||||
public $mdl_user_id;
|
||||
public $mdl_user_username;
|
||||
public $mdl_user_firstname;
|
||||
public $mdl_user_lastname;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$moodle = new moodle();
|
||||
$pfad = $moodle->getPfad('2.4');
|
||||
$this->serverurl=$pfad.'/webservice/soap/server.php?wsdl=1&wstoken='.MOODLE_TOKEN24.'&'.microtime(true);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Moodle User
|
||||
*
|
||||
* @param $uid
|
||||
* @return boolean
|
||||
*/
|
||||
public function loaduser($uid)
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$response = $client->fhcomplete_user_get_users(array(array('key'=>'username', 'value'=>$uid)));
|
||||
|
||||
if(isset($response['users'][0]))
|
||||
{
|
||||
$this->mdl_user_id = $response['users'][0]['id'];
|
||||
$this->mdl_user_username = $response['users'][0]['username'];
|
||||
$this->mdl_user_firstname = $response['users'][0]['firstname'];
|
||||
$this->mdl_user_lastname = $response['users'][0]['lastname'];
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Users';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert ein Array mit allen Lektoren die
|
||||
* zu dem Moodle Kurs zugeteilt sind
|
||||
*/
|
||||
public 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
|
||||
moodle_version='2.4'
|
||||
AND mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER)."
|
||||
UNION
|
||||
SELECT
|
||||
mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_moodle USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
moodle_version='2.4'
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz
|
||||
AND mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER);
|
||||
$mitarbeiter=array();
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row_ma = $this->db_fetch_object())
|
||||
{
|
||||
$mitarbeiter[] = $row_ma->mitarbeiter_uid;
|
||||
}
|
||||
return $mitarbeiter;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Fehler beim Laden der Mitarbeiter';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
public function sync_lektoren($mdl_course_id, $lehrveranstaltung_id=null, $studiensemester_kurzbz=null)
|
||||
{
|
||||
//Mitarbeiter laden die zu diesem Kurs zugeteilt sind
|
||||
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=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "SELECT
|
||||
mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_moodle USING(lehreinheit_id)
|
||||
WHERE
|
||||
moodle_version='2.4'
|
||||
AND mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER)."
|
||||
UNION
|
||||
SELECT
|
||||
mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_moodle USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
moodle_version='2.4'
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz
|
||||
AND mdl_course_id=".$this->db_add_param($mdl_course_id, FHC_INTEGER);
|
||||
}
|
||||
$mitarbeiter='';
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$enrolled_users = $client->core_enrol_get_enrolled_users($mdl_course_id,array());
|
||||
|
||||
if($result_ma = $this->db_query($qry))
|
||||
{
|
||||
while($row_ma = $this->db_fetch_object($result_ma))
|
||||
{
|
||||
//MoodleID des Users holen bzw ggf neu anlegen
|
||||
if(!$this->loaduser($row_ma->mitarbeiter_uid))
|
||||
{
|
||||
//User anlegen
|
||||
if(!$this->createUser($row_ma->mitarbeiter_uid))
|
||||
{
|
||||
$this->errormsg = "Fehler beim Anlegen des Users $row_ma->mitarbeiter_uid: $this->errormsg";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
$this->errormsg = '';
|
||||
}
|
||||
|
||||
if($mitarbeiter!='')
|
||||
$mitarbeiter.=',';
|
||||
$mitarbeiter.=$this->mdl_user_id;
|
||||
|
||||
$user_zugeteilt=false;
|
||||
foreach($enrolled_users as $user)
|
||||
{
|
||||
if($user['id']==$this->mdl_user_id)
|
||||
{
|
||||
$user_zugeteilt=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$user_zugeteilt)
|
||||
{
|
||||
//Mitarbeiter ist noch nicht zugeteilt.
|
||||
$data = new stdClass();
|
||||
$data->roleid=3; // 3=Lektor
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
|
||||
$this->log.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Zugeteilten Lektoren';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Synchronisiert die Studenten der Lehreinheiten
|
||||
* mit denen des Moodle Kurses
|
||||
* @param $mdl_course_id ID des MoodleKurses
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function sync_studenten($mdl_course_id)
|
||||
{
|
||||
//Studentengruppen laden die zu diesem Kurs zugeteilt sind
|
||||
$qry = "SELECT
|
||||
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
|
||||
moodle_version='2.4'
|
||||
AND mdl_course_id=".$this->db_add_param($mdl_course_id)."
|
||||
UNION
|
||||
SELECT
|
||||
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)
|
||||
WHERE
|
||||
moodle_version='2.4'
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz
|
||||
AND mdl_course_id=".$this->db_add_param($mdl_course_id);
|
||||
$studenten='';
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$enrolled_users = $client->core_enrol_get_enrolled_users($mdl_course_id, array());
|
||||
|
||||
if($result_std = $this->db_query($qry))
|
||||
{
|
||||
while($row_std = $this->db_fetch_object($result_std))
|
||||
{
|
||||
//Schauen ob fuer diesen Kurs die Gruppen mitgesynct werden sollen
|
||||
$gruppensync = $this->db_parse_bool($row_std->gruppen);
|
||||
|
||||
//Studenten dieser Gruppe holen
|
||||
|
||||
if($row_std->gruppe_kurzbz=='') //LVB Gruppe
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct student_uid
|
||||
FROM
|
||||
public.tbl_studentlehrverband
|
||||
WHERE
|
||||
studiensemester_kurzbz=".$this->db_add_param($row_std->studiensemester_kurzbz)." AND
|
||||
studiengang_kz = ".$this->db_add_param($row_std->studiengang_kz)." AND
|
||||
semester = ".$this->db_add_param($row_std->semester);
|
||||
|
||||
if(trim($row_std->verband)!='')
|
||||
{
|
||||
$qry.=" AND verband = ".$this->db_add_param($row_std->verband);
|
||||
if(trim($row_std->gruppe)!='')
|
||||
{
|
||||
$qry.=" AND gruppe = ".$this->db_add_param($row_std->gruppe);
|
||||
}
|
||||
}
|
||||
$studiengang_obj = new studiengang();
|
||||
$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
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct uid as student_uid
|
||||
FROM
|
||||
public.tbl_benutzergruppe
|
||||
WHERE
|
||||
gruppe_kurzbz=".$this->db_add_param($row_std->gruppe_kurzbz)." AND
|
||||
studiensemester_kurzbz=".$this->db_add_param($row_std->studiensemester_kurzbz);
|
||||
$gruppenbezeichnung = $row_std->gruppe_kurzbz;
|
||||
}
|
||||
|
||||
if($result_user = $this->db_query($qry))
|
||||
{
|
||||
while($row_user = $this->db_fetch_object($result_user))
|
||||
{
|
||||
//MoodleID des Users holen bzw ggf neu anlegen
|
||||
if(!$this->loaduser($row_user->student_uid))
|
||||
{
|
||||
//User anlegen
|
||||
if(!$this->createUser($row_user->student_uid))
|
||||
{
|
||||
$this->errormsg = "Fehler beim Anlegen des Users $row_user->student_uid: $this->errormsg";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
$this->errormsg = '';
|
||||
}
|
||||
|
||||
if($studenten!='')
|
||||
$studenten.=',';
|
||||
$studenten.=$this->mdl_user_id;
|
||||
|
||||
//Nachschauen ob dieser Student bereits zugeteilt ist
|
||||
|
||||
$user_zugeteilt=false;
|
||||
foreach($enrolled_users as $user)
|
||||
{
|
||||
if($user['id']==$this->mdl_user_id)
|
||||
{
|
||||
$user_zugeteilt=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(!$user_zugeteilt)
|
||||
{
|
||||
//Student ist noch nicht zugeteilt.
|
||||
|
||||
$data = new stdClass();
|
||||
$data->roleid=5; // 5=Teilnehmer/Student
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
|
||||
$this->log.="\nStudentIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nStudentIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
//Gruppenzuteilung
|
||||
if($gruppensync)
|
||||
{
|
||||
//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.="\nStudentIn $this->mdl_user_firstname $this->mdl_user_lastname wurde der Gruppe $gruppenbezeichnung zugeordnet";
|
||||
$this->log_public.="\nStudentIn $this->mdl_user_firstname $this->mdl_user_lastname wurde der Gruppe $gruppenbezeichnung zugeordnet";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln der Zugeteilten Studenten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Schaut ob eine Zuteilung von Person zu Gruppe
|
||||
* existiert
|
||||
* @param grouid ID der Gruppe
|
||||
* userid MoodleID des Users
|
||||
* @return true wenn zugeteilt sonst false
|
||||
*/
|
||||
public function getGroupMember($groupid, $userid)
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$response = $client->core_group_get_group_members(array($groupid));
|
||||
|
||||
if(isset($response[0]['userids']))
|
||||
|
||||
foreach($response[0]['userids'] as $id)
|
||||
{
|
||||
if($id==$userid)
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Legt eine Zuteilung eines Users zu
|
||||
* einer Gruppe an
|
||||
* @param groupid ID der Gruppe
|
||||
* userid ID des Users
|
||||
* @return boolean
|
||||
*/
|
||||
public function createGroupMember($groupid, $userid)
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$response = $client->core_group_add_group_members(array(array('groupid'=>$groupid, 'userid'=>$userid)));
|
||||
if(isset($response[0]))
|
||||
return true;
|
||||
else
|
||||
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
|
||||
*/
|
||||
public function getGroup($mdl_course_id, $gruppenbezeichnung)
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$response = $client->core_group_get_course_groups($mdl_course_id);
|
||||
|
||||
foreach($response as $row)
|
||||
{
|
||||
if($row['name']==$gruppenbezeichnung)
|
||||
return $row['id'];
|
||||
}
|
||||
|
||||
$this->errormsg = "Gruppe wurde nicht gefunden $gruppenbezeichnung";
|
||||
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
|
||||
*/
|
||||
public function createGroup($mdl_course_id, $gruppenbezeichnung)
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$data = new stdClass();
|
||||
$data->courseid=$mdl_course_id;
|
||||
$data->name = $gruppenbezeichnung;
|
||||
$data->description = $gruppenbezeichnung;
|
||||
|
||||
$response = $client->core_group_create_groups(array($data));
|
||||
|
||||
if(isset($response[0]))
|
||||
{
|
||||
return $response[0]['id'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Anlegen der Gruppe';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Legt einen User im Moodle an
|
||||
* @param $uid UID der Person die angelegt werden soll
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function createUser($uid)
|
||||
{
|
||||
$qry = "SELECT uid, vorname, nachname FROM campus.vw_benutzer WHERE uid=".$this->db_add_param($uid);
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$username = $row->uid;
|
||||
$vorname = $row->vorname;
|
||||
$nachname = $row->nachname;
|
||||
|
||||
$user = new stdClass();
|
||||
$user->username = $username;
|
||||
/*
|
||||
Passwort muss gesetzt werden damit das Anlegen funktioniert.
|
||||
Es wird ein random Passwort gesetzt
|
||||
Dieses wird beim Login nicht verwendet da ueber ldap authentifiziert wird.
|
||||
Prefix ist noetig damit es nicht zu Problemen kommt wenn
|
||||
im Moodle die Passwort Policy aktiviert ist
|
||||
*/
|
||||
$user->password = "FHCv!A2".hash('sha512', rand());
|
||||
$user->firstname = $vorname;
|
||||
$user->lastname = $nachname;
|
||||
$user->email = $username.'@'.DOMAIN;
|
||||
$user->auth = 'ldap';
|
||||
$user->idnumber = $username;
|
||||
$user->lang = 'de';
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$response = $client->core_user_create_users(array($user));
|
||||
|
||||
if(isset($response[0]))
|
||||
{
|
||||
$this->mdl_user_id = $response[0]['id'];
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Users';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Users';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Fehler beim Laden des Users';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Teilt die TestStudenten zu einem Testkurs zu
|
||||
* @param mdl_course_id ID des Moodle Kurses
|
||||
*/
|
||||
public function createTestStudentenZuordnung($mdl_course_id)
|
||||
{
|
||||
//Context des Kurses holen
|
||||
$mdlcourse = new moodle24_course();
|
||||
|
||||
$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;
|
||||
}
|
||||
|
||||
$data = new stdClass();
|
||||
$data->roleid=5;
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
// WS-Funktion enrol_manual_enrol_users liefert immer null zurück
|
||||
// Fehler bei der Zuordnung koennen daher nicht abgefangen werden.
|
||||
// Eventuell sollten hier nochmals die Teilnehmer des Kurses geladen werden
|
||||
// um zu pruefen ob die Zuordnung erfolgreich war.
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -422,16 +422,16 @@
|
||||
//wenn bereits eine Kreuzerlliste existiert, dann den Moodle link nicht anzeigen
|
||||
$qry = "SELECT * FROM campus.tbl_uebung WHERE
|
||||
lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
|
||||
WHERE lehrveranstaltung_id='".addslashes($lvid)."'
|
||||
AND studiensemester_kurzbz='".addslashes($angezeigtes_stsem)."')";
|
||||
WHERE lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)."
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($angezeigtes_stsem).")";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
if($db->db_num_rows($result)>0)
|
||||
$showmoodle=false;
|
||||
|
||||
$mdlcourse = new moodle_course();
|
||||
$mdlcourse->getAll($lvid, $angezeigtes_stsem);
|
||||
if(count($mdlcourse->result)>0)
|
||||
$moodle = new moodle();
|
||||
$moodle->getAll($lvid, $angezeigtes_stsem);
|
||||
if(count($moodle->result)>0)
|
||||
$showmoodle=true;
|
||||
}
|
||||
else
|
||||
@@ -439,21 +439,22 @@
|
||||
if($showmoodle)
|
||||
{
|
||||
$link = "moodle_choice.php?lvid=$lvid&stsem=$angezeigtes_stsem";
|
||||
if(count($mdlcourse->result)>0)
|
||||
if(count($moodle->result)>0)
|
||||
{
|
||||
if(!$is_lector)
|
||||
{
|
||||
$course = $mdlcourse->getCourse($lvid, $angezeigtes_stsem, $user);
|
||||
if(count($course)==1)
|
||||
$link = MOODLE_PATH.'course/view.php?id='.$course[0];
|
||||
$moodle->getCourse($lvid, $angezeigtes_stsem, $user);
|
||||
if(count($moodle->result)==1)
|
||||
$link = $moodle->getPfad($moodle->result[0]->moodle_version).'course/view.php?id='.$moodle->result[0]->mdl_course_id;
|
||||
else
|
||||
$link = "moodle_choice.php?lvid=$lvid&stsem=$angezeigtes_stsem";
|
||||
}
|
||||
else
|
||||
{
|
||||
//$mdlcourse->getAll($lvid, $angezeigtes_stsem);
|
||||
if(count($mdlcourse->result)==1)
|
||||
$link = MOODLE_PATH.'course/view.php?id='.$mdlcourse->result[0]->mdl_course_id;
|
||||
if(count($moodle->result)==1)
|
||||
{
|
||||
$link = $moodle->getPfad($moodle->result[0]->moodle_version).'course/view.php?id='.$moodle->result[0]->mdl_course_id;
|
||||
}
|
||||
else
|
||||
$link = "moodle_choice.php?lvid=$lvid&stsem=$angezeigtes_stsem";
|
||||
}
|
||||
@@ -658,4 +659,4 @@
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
@@ -6,7 +6,7 @@ $this->phrasen['moodle/esMussMindestensEineLehreinheitMarkiertSein']='Es muss mi
|
||||
$this->phrasen['moodle/esWurdeKeineGueltigeIdUebergeben']='Es wurde keine oder eine ungueltige ID übergeben';
|
||||
$this->phrasen['moodle/testkursWurdeErfolgreichAngelegt']='Der Testkurs wurde erfolgreich angelegt';
|
||||
$this->phrasen['moodle/esExistiertBereitsEinTestkurs']='Es existiert bereits ein Testkurs';
|
||||
$this->phrasen['moodle/esIstBereitsEinMoodleKursVorhanden']='Es ist bereits ein Moodle Kurs für die Gesamt LV vorhanden';
|
||||
$this->phrasen['moodle/esIstBereitsEinMoodleKursVorhanden']='Es ist bereits ein Moodle Kurs für die gesamte LV vorhanden';
|
||||
$this->phrasen['moodle/moodleKursAnlegen']='Moodle Kurs anlegen';
|
||||
$this->phrasen['moodle/kursbezeichnung']='Kursbezeichnung';
|
||||
$this->phrasen['moodle/gruppenUebernehmen']='Gruppen übernehmen';
|
||||
@@ -19,4 +19,9 @@ $this->phrasen['moodle/artIstUnbekannt']='art ist unbekannt';
|
||||
$this->phrasen['moodle/datenWurdenAktualisiert']='Daten wurden aktualisiert';
|
||||
$this->phrasen['moodle/fehlerBeiDerLektorenZuordnung']='Fehler bei der Lektorenzuordnung';
|
||||
$this->phrasen['moodle/fehlerBeiDerStudentenZuordnung']='Fehler bei der Studentenzuordnung';
|
||||
?>
|
||||
$this->phrasen['moodle/testkurse24']='Testkurse für Moodle 2.4 - TESTBETRIEB';
|
||||
$this->phrasen['moodle/klickenSieHierUmTestkursErstellen24']='klicken Sie hier um einen Testkurs für Moodle 2.4 zu erstellen';
|
||||
$this->phrasen['moodle/kursUebersicht']='Moodle - Kursübersicht';
|
||||
$this->phrasen['moodle/ungueltigeVersion']='Moodlekurs mit ungültiger Versionsnummer: %s';
|
||||
|
||||
?>
|
||||
|
||||
+51
-5
@@ -3981,9 +3981,54 @@ if(!@$db->db_query("SELECT 1 FROM public.tbl_service LIMIT 1"))
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tl_service: '.$db->db_last_error().'</strong><br>';
|
||||
echo '<strong>public.tbl_service: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'Tabelle public.service hinzugefuegt, campus.tbl_zeitaufzeichnung geaendert<br>';
|
||||
echo 'Tabelle public.tbl_service hinzugefuegt, campus.tbl_zeitaufzeichnung geaendert<br>';
|
||||
}
|
||||
|
||||
// Service zusaetzliche Verknuepfung zu einem Content
|
||||
if(!@$db->db_query("SELECT content_id FROM public.tbl_service LIMIT 1"))
|
||||
{
|
||||
$qry ="ALTER TABLE public.tbl_service ADD COLUMN content_id integer;
|
||||
ALTER TABLE public.tbl_service ADD CONSTRAINT fk_content_service FOREIGN KEY(content_id) REFERENCES campus.tbl_content(content_id) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_service: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'Tabelle public.tbl_service Spalte content_id hinzugefuegt<br>';
|
||||
}
|
||||
|
||||
// Erweiterung der Moodle Tabelle zur Verwaltung von mehreren Moodle Instanzen
|
||||
if(!@$db->db_query("SELECT * FROM lehre.tbl_moodle_version LIMIT 1"))
|
||||
{
|
||||
$qry ="
|
||||
CREATE TABLE lehre.tbl_moodle_version
|
||||
(
|
||||
moodle_version varchar(8) NOT NULL,
|
||||
bezeichnung varchar(256),
|
||||
pfad varchar(256)
|
||||
);
|
||||
|
||||
ALTER TABLE lehre.tbl_moodle_version ADD CONSTRAINT pk_moodle_version PRIMARY KEY (moodle_version);
|
||||
|
||||
ALTER TABLE lehre.tbl_moodle ADD COLUMN moodle_version varchar(8);
|
||||
ALTER TABLE lehre.tbl_moodle ADD CONSTRAINT fk_moodle_version_moodle FOREIGN KEY(moodle_version) REFERENCES lehre.tbl_moodle_version(moodle_version) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
INSERT INTO lehre.tbl_moodle_version(moodle_version, bezeichnung, pfad) VALUES('1.9','Moodle 1.9','http://localhost/moodle/');
|
||||
INSERT INTO lehre.tbl_moodle_version(moodle_version, bezeichnung, pfad) VALUES('2.4','Moodle 2.4','http://localhost/moodle24/');
|
||||
UPDATE lehre.tbl_moodle SET moodle_version='1.9' WHERE moodle_version is null;
|
||||
|
||||
ALTER TABLE lehre.tbl_moodle ALTER COLUMN moodle_version SET NOT NULL;
|
||||
|
||||
GRANT SELECT ON lehre.tbl_moodle_version TO vilesci;
|
||||
GRANT SELECT ON lehre.tbl_moodle_version TO web;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_moodle_version: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'Tabelle lehre.tbl_moodle_version hinzugefuegt; Spalte moodle_version zu Tabelle tbl_moodle hinzugefuegt<br>';
|
||||
}
|
||||
echo '<br>';
|
||||
|
||||
@@ -4079,7 +4124,8 @@ $tabellen=array(
|
||||
"lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen"),
|
||||
"lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"),
|
||||
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming"),
|
||||
"lehre.tbl_moodle" => array("lehrveranstaltung_id","lehreinheit_id","moodle_id","mdl_course_id","studiensemester_kurzbz","gruppen","insertamum","insertvon"),
|
||||
"lehre.tbl_moodle" => array("lehrveranstaltung_id","lehreinheit_id","moodle_id","mdl_course_id","studiensemester_kurzbz","gruppen","insertamum","insertvon","moodle_version"),
|
||||
"lehre.tbl_moodle_version" => array("moodle_version","bezeichnung","pfad"),
|
||||
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe"),
|
||||
"lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache"),
|
||||
"lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
@@ -4149,7 +4195,7 @@ $tabellen=array(
|
||||
"public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet"),
|
||||
"public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id"),
|
||||
"public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"),
|
||||
"public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz"),
|
||||
"public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id"),
|
||||
"public.tbl_sprache" => array("sprache","locale","flagge","index","content","bezeichnung"),
|
||||
"public.tbl_standort" => array("standort_id","adresse_id","kurzbz","bezeichnung","insertvon","insertamum","updatevon","updateamum","ext_id", "firma_id"),
|
||||
"public.tbl_statistik" => array("statistik_kurzbz","bezeichnung","url","r","gruppe","sql","php","content_id","insertamum","insertvon","updateamum","updatevon","berechtigung_kurzbz"),
|
||||
@@ -4252,4 +4298,4 @@ if (!$result=@$db->db_query($sql_query))
|
||||
echo 'Attribut '.$fulltablename.'.<strong>'.$fieldnameDB.'</strong> existiert in der DB, aber nicht in diesem Skript!<BR>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -23,6 +23,15 @@
|
||||
|
||||
// We defined the web service functions to install.
|
||||
$functions = array(
|
||||
'fhcomplete_get_course_grades' => array(
|
||||
'classname' => 'local_fhcompletews_external',
|
||||
'methodname' => 'get_course_grades',
|
||||
'classpath' => 'local/fhcompletews/externallib.php',
|
||||
'description' => 'Get Grades of a course',
|
||||
'type' => 'read',
|
||||
'capabilities'=> 'moodle/course:update,moodle/course:viewhiddencourses',
|
||||
),
|
||||
|
||||
'fhcomplete_courses_by_shortname' => array(
|
||||
'classname' => 'local_fhcompletews_external',
|
||||
'methodname' => 'get_courses_by_shortname',
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
// Moodle is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
@@ -22,12 +21,147 @@
|
||||
*/
|
||||
require_once($CFG->libdir . "/externallib.php");
|
||||
|
||||
class local_fhcompletews_external extends external_api {
|
||||
class local_fhcompletews_external extends external_api
|
||||
{
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Webservice get_course_grades
|
||||
*
|
||||
* Laedt die Noten eines Kurses
|
||||
**************************************************/
|
||||
public static function get_course_grades_parameters()
|
||||
{
|
||||
return new external_function_parameters(
|
||||
array('courseid' => new external_value(PARAM_INT, 'CourseID')), 'ID of the Course'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get course Grades
|
||||
* @param int courseid
|
||||
* @return array
|
||||
*/
|
||||
public static function get_course_grades($courseid)
|
||||
{
|
||||
global $CFG, $DB;
|
||||
require_once($CFG->dirroot . "/course/lib.php");
|
||||
require_once($CFG->dirroot.'/grade/export/lib.php');
|
||||
|
||||
public static function get_courses_by_shortname_parameters() {
|
||||
//validate parameter
|
||||
$params = self::validate_parameters(self::get_course_grades_parameters(),
|
||||
array('courseid' => $courseid));
|
||||
|
||||
$notenart=3; // 2=Prozent; 3=Endnote nach Skala
|
||||
$gui=array();
|
||||
$final_id='';
|
||||
$data = array();
|
||||
|
||||
// Kursdaten Laden
|
||||
if (!$course = $DB->get_record('course', array('id'=>$courseid)))
|
||||
{
|
||||
throw new moodle_exception('Course not found', '', '', null, 'The course ' . $courseid . ' is not found');
|
||||
return false;
|
||||
}
|
||||
|
||||
$id=$course->id;
|
||||
$kursname=$course->fullname;
|
||||
$shortname=$course->shortname;
|
||||
|
||||
//ODS Notenexport starten
|
||||
require_login($course);
|
||||
$context = get_context_instance(CONTEXT_COURSE, $courseid);
|
||||
require_once($CFG->dirroot.'/grade/export/ods/grade_export_ods.php');
|
||||
|
||||
if (!$export = new grade_export_ods($course, 0, 0, false, false, $notenart, 2))
|
||||
{
|
||||
throw new moodle_exception('Fehler', '', '', null, "Moodle-Kurs ".$id." ".$shortname." - keine Export Information gefunden");
|
||||
return false;
|
||||
}
|
||||
|
||||
$grad =$export->columns;
|
||||
|
||||
// Im Export sind die Noten fuer alle Abgaben, Quiz, etc enthalten
|
||||
// Wir brauchen hier nur die Gesamtnote fuer die ganzen Kurs
|
||||
foreach ($export->columns as $key=>$grade_item)
|
||||
{
|
||||
// Gesamtnote hat den itemtype "course"
|
||||
if($grade_item->itemtype=='course')
|
||||
{
|
||||
$final_id=$key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if($final_id=='')
|
||||
{
|
||||
throw new moodle_exception('Fehler', '', '', null,"Moodle-Kurs ".$id." ".$shortname." - keine Endnote gefunden");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Liste mit allen Studierenden des Kurses durchlaufen
|
||||
$geub = new grade_export_update_buffer();
|
||||
$gui = new graded_users_iterator($export->course, $export->columns, $export->groupid);
|
||||
|
||||
$gui->init();
|
||||
$kursgrad =array();
|
||||
|
||||
while ($userdata = $gui->next_user())
|
||||
{
|
||||
$user_item=array();
|
||||
$user = $userdata->user;
|
||||
$user_item['vorname']=$user->firstname;
|
||||
$user_item['nachname']=$user->lastname;
|
||||
$user_item['idnummer']=$user->idnumber;
|
||||
$user_item['username']=$user->username;
|
||||
|
||||
// Aus den vorhanden Noten wird die Endnote fuer den Kurs herausgesucht
|
||||
if(isset($userdata->grades[$final_id]))
|
||||
{
|
||||
$gradestr = $export->format_grade($userdata->grades[$final_id]);
|
||||
$user_item['note']=$gradestr;
|
||||
}
|
||||
|
||||
$data[]=$user_item;
|
||||
}
|
||||
|
||||
$gui->close();
|
||||
$geub->close();
|
||||
|
||||
if (count($data)==0)
|
||||
{
|
||||
throw new moodle_exception('Fehler', '', '', null,"Moodle-Kurs ".$id." ".$shortname." - keine Kurs-Noten Informationen gefunden ");
|
||||
return false;
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns description of method result value
|
||||
* @return external_description
|
||||
*/
|
||||
public static function get_course_grades_returns()
|
||||
{
|
||||
return new external_multiple_structure(
|
||||
new external_single_structure(
|
||||
array(
|
||||
'vorname' => new external_value(PARAM_TEXT, 'vorname'),
|
||||
'nachname' => new external_value(PARAM_TEXT, 'nachname'),
|
||||
'idnummer' => new external_value(PARAM_TEXT, 'idnummer'),
|
||||
'username' => new external_value(PARAM_TEXT, 'username'),
|
||||
'note' => new external_value(PARAM_TEXT, 'note'),
|
||||
), 'course'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**************************************************
|
||||
* Webservice get_courses_by_shortname
|
||||
*
|
||||
* Laedt Kurse anhand der Kurzbezeichnung
|
||||
**************************************************/
|
||||
public static function get_courses_by_shortname_parameters()
|
||||
{
|
||||
return new external_function_parameters(
|
||||
array('options' => new external_single_structure(
|
||||
array('shortnames' => new external_multiple_structure(
|
||||
@@ -45,7 +179,8 @@ class local_fhcompletews_external extends external_api {
|
||||
* @param array $options
|
||||
* @return array
|
||||
*/
|
||||
public static function get_courses_by_shortname($options) {
|
||||
public static function get_courses_by_shortname($options)
|
||||
{
|
||||
global $CFG, $DB;
|
||||
require_once($CFG->dirroot . "/course/lib.php");
|
||||
|
||||
@@ -63,13 +198,17 @@ class local_fhcompletews_external extends external_api {
|
||||
|
||||
//create return value
|
||||
$coursesinfo = array();
|
||||
foreach ($courses as $course) {
|
||||
foreach ($courses as $course)
|
||||
{
|
||||
|
||||
// now security checks
|
||||
$context = get_context_instance(CONTEXT_COURSE, $course->id);
|
||||
try {
|
||||
try
|
||||
{
|
||||
self::validate_context($context);
|
||||
} catch (Exception $e) {
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
$exceptionparam = new stdClass();
|
||||
$exceptionparam->message = $e->getMessage();
|
||||
$exceptionparam->shortname = $course->shortname;
|
||||
@@ -91,7 +230,8 @@ class local_fhcompletews_external extends external_api {
|
||||
|
||||
//some field should be returned only if the user has update permission
|
||||
$courseadmin = has_capability('moodle/course:update', $context);
|
||||
if ($courseadmin) {
|
||||
if ($courseadmin)
|
||||
{
|
||||
$courseinfo['categorysortorder'] = $course->sortorder;
|
||||
$courseinfo['idnumber'] = $course->idnumber;
|
||||
$courseinfo['showgrades'] = $course->showgrades;
|
||||
@@ -113,7 +253,8 @@ class local_fhcompletews_external extends external_api {
|
||||
}
|
||||
|
||||
if ($courseadmin or $course->visible
|
||||
or has_capability('moodle/course:viewhiddencourses', $context)) {
|
||||
or has_capability('moodle/course:viewhiddencourses', $context))
|
||||
{
|
||||
$coursesinfo[] = $courseinfo;
|
||||
}
|
||||
}
|
||||
@@ -125,7 +266,8 @@ class local_fhcompletews_external extends external_api {
|
||||
* Returns description of method result value
|
||||
* @return external_description
|
||||
*/
|
||||
public static function get_courses_by_shortname_returns() {
|
||||
public static function get_courses_by_shortname_returns()
|
||||
{
|
||||
return new external_multiple_structure(
|
||||
new external_single_structure(
|
||||
array(
|
||||
@@ -186,12 +328,21 @@ class local_fhcompletews_external extends external_api {
|
||||
)
|
||||
);
|
||||
}
|
||||
/**
|
||||
* Returns description of get_users() parameters.
|
||||
*
|
||||
* @return external_function_parameters
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* get_users - Laedt User Anhand des Usernamens
|
||||
* Backport von Moodle 2.5
|
||||
* Ab Moodle 2.5 sollte dieses Webservice bereits integriert sein
|
||||
***********************************************************************/
|
||||
|
||||
|
||||
/**
|
||||
* Returns description of get_users() parameters.
|
||||
*
|
||||
* @return external_function_parameters
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
public static function get_users_parameters() {
|
||||
return new external_function_parameters(
|
||||
array(
|
||||
@@ -221,12 +372,12 @@ It could very slow or timeout. The function is designed to search some specific
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve matching user.
|
||||
*
|
||||
* @param array $criteria the allowed array keys are id/lastname/firstname/idnumber/username/email/auth.
|
||||
* @return array An array of arrays containing user profiles.
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
* Retrieve matching user.
|
||||
*
|
||||
* @param array $criteria the allowed array keys are id/lastname/firstname/idnumber/username/email/auth.
|
||||
* @return array An array of arrays containing user profiles.
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
public static function get_users($criteria = array()) {
|
||||
global $CFG, $USER, $DB;
|
||||
|
||||
@@ -345,11 +496,11 @@ It could very slow or timeout. The function is designed to search some specific
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns description of get_users result value.
|
||||
*
|
||||
* @return external_description
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
* Returns description of get_users result value.
|
||||
*
|
||||
* @return external_description
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
public static function get_users_returns() {
|
||||
return new external_single_structure(
|
||||
array('users' => new external_multiple_structure(
|
||||
@@ -360,12 +511,12 @@ It could very slow or timeout. The function is designed to search some specific
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create user return value description.
|
||||
*
|
||||
* @param array $additionalfields some additional field
|
||||
* @return single_structure_description
|
||||
*/
|
||||
/**
|
||||
* Create user return value description.
|
||||
*
|
||||
* @param array $additionalfields some additional field
|
||||
* @return single_structure_description
|
||||
*/
|
||||
public static function user_description($additionalfields = array()) {
|
||||
$userfields = array(
|
||||
'id' => new external_value(PARAM_INT, 'ID of the user'),
|
||||
@@ -423,8 +574,6 @@ It could very slow or timeout. The function is designed to search some specific
|
||||
}
|
||||
return new external_single_structure($userfields);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -480,5 +629,3 @@ function can_view_user_details_cap($user, $course = null) {
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
$plugin->version = 2013022105; // The (date) version of this module + 2 extra digital for daily versions
|
||||
$plugin->version = 2013031302; // The (date) version of this module + 2 extra digital for daily versions
|
||||
// This version number is displayed into /admin/forms.php
|
||||
// TODO: if ever this plugin get branched, the old branch number
|
||||
// will not be updated to the current date but just incremented. We will
|
||||
@@ -20,5 +20,5 @@ $plugin->version = 2013022105; // The (date) version of this module + 2 extra
|
||||
// display this version number with userdate (dev friendly)
|
||||
$plugin->requires = 2010112400; // Requires this Moodle version - at least 2.0
|
||||
$plugin->cron = 0;
|
||||
$plugin->release = '1.0 (Build: 2013022105)';
|
||||
$plugin->release = '1.0 (Build: 2013031302)';
|
||||
$plugin->maturity = MATURITY_STABLE;
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
*/
|
||||
/*
|
||||
* Synchronisiert die Lektoren und Studenten der aktuellen MoodleKurse
|
||||
* wenn kein aktuelles Studiensemester vorhanden ist, wird NICHT Synchronisiert
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/moodle24_course.class.php');
|
||||
require_once('../../include/moodle24_user.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
|
||||
$db = new basis_db();
|
||||
$sync_lektoren_gesamt=0;
|
||||
$sync_studenten_gesamt=0;
|
||||
$group_updates=0;
|
||||
$fehler=0;
|
||||
$message='';
|
||||
$message_lkt='';
|
||||
$lektoren=array();
|
||||
|
||||
//nur Synchronisieren wenn ein aktuelles Studiensemester existiert damit keine
|
||||
//Probleme durch die Vorrueckung entstehen
|
||||
$stsem = new studiensemester();
|
||||
if($stsem_kurzbz=$stsem->getakt())
|
||||
{
|
||||
//nur die Eintraege des aktuellen Studiensemesters syncen
|
||||
$qry = "SELECT distinct mdl_course_id FROM lehre.tbl_moodle
|
||||
WHERE studiensemester_kurzbz=".$db->db_add_param($stsem_kurzbz)."
|
||||
AND moodle_version='2.4'";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$course = new moodle24_course();
|
||||
if($course->load($row->mdl_course_id))
|
||||
{
|
||||
$message_lkt='';
|
||||
//Lektoren
|
||||
$mdluser = new moodle24_user();
|
||||
$mitarbeiter = $mdluser->getMitarbeiter($row->mdl_course_id);
|
||||
|
||||
if($mdluser->sync_lektoren($row->mdl_course_id))
|
||||
{
|
||||
$sync_lektoren_gesamt+=$mdluser->sync_create;
|
||||
$group_updates+=$mdluser->group_update;
|
||||
if($mdluser->sync_create>0 || $mdluser->group_update>0)
|
||||
{
|
||||
$message.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log."\n";
|
||||
$message_lkt.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log_public."\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$message.="\nFehler: $mdluser->errormsg";
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
//Studenten
|
||||
$mdluser = new moodle24_user();
|
||||
if($mdluser->sync_studenten($row->mdl_course_id))
|
||||
{
|
||||
$sync_studenten_gesamt+=$mdluser->sync_create;
|
||||
$group_updates+=$mdluser->group_update;
|
||||
if($mdluser->sync_create>0 || $mdluser->group_update>0)
|
||||
{
|
||||
$message.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log."\n";
|
||||
$message_lkt.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log_public."\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$message.="\nFehler: $mdluser->errormsg";
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
foreach ($mitarbeiter as $uid)
|
||||
{
|
||||
if(!isset($lektoren[$uid]))
|
||||
$lektoren[$uid]='';
|
||||
$lektoren[$uid].=$message_lkt;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$message.="\nFehler: in der Tabelle lehre.tbl_moodle wird auf den Kurs $row->mdl_course_id verwiesen, dieser existiert jedoch nicht im Moodle!";
|
||||
$fehler++;
|
||||
}
|
||||
}
|
||||
|
||||
if($sync_lektoren_gesamt>0 || $sync_studenten_gesamt>0 || $fehler>0 || $group_updates>0)
|
||||
{
|
||||
//Mail an die Lektoren
|
||||
foreach ($lektoren as $uid=>$message_lkt)
|
||||
{
|
||||
if($message_lkt!='')
|
||||
{
|
||||
$header = "Dies ist eine automatische Mail!\n";
|
||||
$header.= "Es wurden folgende Aktualisierungen an Ihren Moodle-Kursen durchgeführt:\n\n";
|
||||
|
||||
$to = "$uid@".DOMAIN;
|
||||
//$to = 'oesi@technikum-wien.at';
|
||||
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,'Moodle - Aktualisierungen',$header.$message_lkt);
|
||||
if($mail->send())
|
||||
echo "Mail wurde an $to versandt<br>";
|
||||
else
|
||||
echo "Fehler beim Senden des Mails an $to<br>";
|
||||
}
|
||||
}
|
||||
//Mail an Admin
|
||||
$header = "Dies ist eine automatische Mail!\n";
|
||||
$header.= "Folgende Syncros mit den MoodleKursen wurde durchgeführt:\n\n";
|
||||
$header.= "Anzahl der aktualisierten Lektoren: $sync_lektoren_gesamt\n";
|
||||
$header.= "Anzahl der aktualisierten Studenten: $sync_studenten_gesamt\n";
|
||||
$header.= "Anzahl der Fehler: $fehler\n";
|
||||
|
||||
$to = MAIL_ADMIN;
|
||||
//$to = 'oesi@technikum-wien.at';
|
||||
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,'Moodle Syncro',$header.$message);
|
||||
if($mail->send())
|
||||
echo "Mail wurde an $to versandt:<br>".nl2br($header.$message);
|
||||
else
|
||||
echo "Fehler beim Senden des Mails an $to:<br>".nl2br($header.$message);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Alle Zuteilungen sind auf dem neuesten Stand';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler bei Select:'.$qry;
|
||||
}
|
||||
}
|
||||
else
|
||||
echo "Kein aktuelles Studiensemester vorhanden->kein Syncro";
|
||||
?>
|
||||
@@ -24,8 +24,8 @@
|
||||
* wenn kein aktuelles Studiensemester vorhanden ist, wird NICHT Synchronisiert
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/moodle_course.class.php');
|
||||
require_once('../../include/moodle_user.class.php');
|
||||
require_once('../../include/moodle19_course.class.php');
|
||||
require_once('../../include/moodle19_user.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
@@ -45,17 +45,19 @@ $stsem = new studiensemester();
|
||||
if($stsem_kurzbz=$stsem->getakt())
|
||||
{
|
||||
//nur die Eintraege des aktuellen Studiensemesters syncen
|
||||
$qry = "SELECT distinct mdl_course_id FROM lehre.tbl_moodle WHERE studiensemester_kurzbz='".addslashes($stsem_kurzbz)."'";
|
||||
$qry = "SELECT distinct mdl_course_id FROM lehre.tbl_moodle
|
||||
WHERE studiensemester_kurzbz=".$db->db_add_param($stsem_kurzbz)."
|
||||
AND moodle_version='1.9';";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$course = new moodle_course();
|
||||
$course = new moodle19_course();
|
||||
if($course->load($row->mdl_course_id))
|
||||
{
|
||||
$message_lkt='';
|
||||
//Lektoren
|
||||
$mdluser = new moodle_user();
|
||||
$mdluser = new moodle19_user();
|
||||
$mitarbeiter = $mdluser->getMitarbeiter($row->mdl_course_id);
|
||||
|
||||
if($mdluser->sync_lektoren($row->mdl_course_id))
|
||||
@@ -75,7 +77,7 @@ if($stsem_kurzbz=$stsem->getakt())
|
||||
}
|
||||
|
||||
//Studenten
|
||||
$mdluser = new moodle_user();
|
||||
$mdluser = new moodle19_user();
|
||||
if($mdluser->sync_studenten($row->mdl_course_id))
|
||||
{
|
||||
$sync_studenten_gesamt+=$mdluser->sync_create;
|
||||
@@ -154,4 +156,4 @@ if($stsem_kurzbz=$stsem->getakt())
|
||||
}
|
||||
else
|
||||
echo "Kein aktuelles Studiensemester vorhanden->kein Syncro";
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/globals.inc.php');
|
||||
// ---------------- Moodle Daten Classe
|
||||
require_once('../../include/moodle_user.class.php');
|
||||
require_once('../../include/moodle19_user.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('<div style="text-align:center;"><br />MOODLE Datenbank zurzeit NICHT Online.<br />Bitte etwas Geduld.<br />Danke</div>');
|
||||
@@ -62,7 +62,7 @@
|
||||
// Datenbankverbindungen zu Moodle und Vilesci und Classen
|
||||
// ***********************************************************************************************
|
||||
// Classen Instanzen
|
||||
$objMoodle = new moodle_user();
|
||||
$objMoodle = new moodle19_user();
|
||||
// ***********************************************************************************************
|
||||
// Verarbeitung einer Moodle-Account Anlageaktion
|
||||
// ***********************************************************************************************
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/globals.inc.php');
|
||||
// ---------------- Moodle Daten Classe
|
||||
include_once('../../include/moodle_course.class.php');
|
||||
include_once('../../include/moodle19_course.class.php');
|
||||
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
@@ -53,7 +53,7 @@
|
||||
$content='';
|
||||
$errormsg=array();
|
||||
|
||||
$objMoodle = new moodle_course();
|
||||
$objMoodle = new moodle19_course();
|
||||
|
||||
// ***********************************************************************************************
|
||||
// POST oder GET Parameter einlesen
|
||||
@@ -344,4 +344,4 @@
|
||||
</body>
|
||||
</html>';
|
||||
exit($content);
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -46,12 +46,12 @@
|
||||
require_once('../../include/lehreinheit.class.php');
|
||||
require_once('../../include/lehreinheitgruppe.class.php');
|
||||
require_once('../../include/lehreinheitmitarbeiter.class.php');
|
||||
include_once('../../include/moodle_course.class.php');
|
||||
include_once('../../include/moodle19_course.class.php');
|
||||
// ***********************************************************************************************
|
||||
// Datenbankverbindungen zu Moodle und Vilesci und Classen
|
||||
// ***********************************************************************************************
|
||||
|
||||
if (!$objMoodle = new moodle_course())
|
||||
if (!$objMoodle = new moodle19_course())
|
||||
die('Fehler beim Oeffnen der Moodleverbindung');
|
||||
|
||||
if (!$le_obj = new lehreinheit())
|
||||
@@ -400,7 +400,7 @@
|
||||
if (!is_array($arrMoodlekurs) || count($arrMoodlekurs)<1)
|
||||
return $content;
|
||||
|
||||
if (!$objMoodle = new moodle_course())
|
||||
if (!$objMoodle = new moodle19_course())
|
||||
die('Fehler beim Oeffnen der Moodleverbindung');
|
||||
|
||||
if (!$le_obj = new lehreinheit())
|
||||
|
||||
@@ -49,12 +49,12 @@
|
||||
require_once('../../include/lehreinheit.class.php');
|
||||
require_once('../../include/lehreinheitgruppe.class.php');
|
||||
require_once('../../include/lehreinheitmitarbeiter.class.php');
|
||||
include_once('../../include/moodle_course.class.php');
|
||||
include_once('../../include/moodle19_course.class.php');
|
||||
|
||||
// ***********************************************************************************************
|
||||
// Datenbankverbindungen zu Moodle und Vilesci und Classen
|
||||
// ***********************************************************************************************
|
||||
if (!$objMoodle = new moodle_course())
|
||||
if (!$objMoodle = new moodle19_course())
|
||||
die('Fehler beim Oeffnen der Moodleverbindung');
|
||||
|
||||
$entfernen=(isset($_REQUEST['entfernen'])?trim($_REQUEST['entfernen']):'');
|
||||
@@ -625,7 +625,7 @@
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!$objMoodle = new moodle_course())
|
||||
if (!$objMoodle = new moodle19_course())
|
||||
die('Fehler beim Oeffnen der Moodleverbindung');
|
||||
|
||||
if (!$le_obj = new lehreinheit())
|
||||
|
||||
Reference in New Issue
Block a user