diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
index 3a8ed2a2d..19186d488 100644
--- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
+++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php
@@ -941,7 +941,7 @@ echo '
';
$moodle_course->errormsg=trim($moodle_course->errormsg);
if(!$errorshown && !empty($moodle_course->errormsg) )
{
- echo '
'.$moodle_course->errormsg.'
';
+ //echo '
'.$moodle_course->errormsg.'
';
$errorshown=true;
}
}
diff --git a/include/moodle24_course.class.php b/include/moodle24_course.class.php
index 2a57ca7c7..e63a7d7ca 100644
--- a/include/moodle24_course.class.php
+++ b/include/moodle24_course.class.php
@@ -26,6 +26,8 @@
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/moodle.class.php');
+require_once(dirname(__FILE__).'/datum.class.php');
+require_once(dirname(__FILE__).'/studiensemester.class.php');
class moodle24_course extends basis_db
{
@@ -261,6 +263,11 @@ class moodle24_course extends basis_db
$data->categoryid=$id_sem;
$data->format='topics';
+ $stsem = new studiensemester();
+ $stsem->load($this->studiensemester_kurzbz);
+ $datum_obj = new datum();
+ $data->startdate=$datum_obj->mktime_fromdate($stsem->start);
+
$response = $client->core_course_create_courses(array($data));
if(isset($response[0]))
{
@@ -569,27 +576,33 @@ class moodle24_course extends basis_db
while($row_moodle = $this->db_fetch_object($result_moodle))
{
- $client = new SoapClient($this->serverurl);
- $response = $client->fhcomplete_get_course_grades($row_moodle->mdl_course_id);
-
- if (count($response)>0)
+ try
{
+ $client = new SoapClient($this->serverurl);
+ $response = $client->fhcomplete_get_course_grades($row_moodle->mdl_course_id);
- foreach($response as $row)
+ if (count($response)>0)
{
- if($row['note']!='-')
+
+ foreach($response as $row)
{
- $userobj = new stdClass();
- $userobj->mdl_course_id = $row_moodle->mdl_course_id;
- $userobj->vorname = $row['vorname'];
- $userobj->nachname = $row['nachname'];
- $userobj->idnummer = $row['idnummer'];
- $userobj->uid = $row['username'];
- $userobj->note = $row['note'];
- $this->result[]=$userobj;
- }
- }
+ if($row['note']!='-')
+ {
+ $userobj = new stdClass();
+ $userobj->mdl_course_id = $row_moodle->mdl_course_id;
+ $userobj->vorname = $row['vorname'];
+ $userobj->nachname = $row['nachname'];
+ $userobj->idnummer = $row['idnummer'];
+ $userobj->uid = $row['username'];
+ $userobj->note = $row['note'];
+ $this->result[]=$userobj;
+ }
+ }
+ }
}
+ catch(SoapFault $e)
+ {}
+
}
return true;
}
diff --git a/include/moodle24_user.class.php b/include/moodle24_user.class.php
index 0e4562cb0..a10a20fe2 100644
--- a/include/moodle24_user.class.php
+++ b/include/moodle24_user.class.php
@@ -615,4 +615,36 @@ class moodle24_user extends basis_db
return true;
}
+
+ /**
+ * Teilt einen User zu mehreren Moodle Kursen gleichzeitig zu
+ * @param $uid UID des Users
+ * @param $mdl_course_id_array Array mit MoodleKursIDs
+ * @param $role_id Moodle Rolle
+ */
+ public function MassEnroll($uid, $mdl_course_id_array, $role_id)
+ {
+ //MoodleID des Users holen
+ if(!$this->loaduser($uid))
+ {
+ $this->errormsg = "Fehler beim Laden des Users $uid: $this->errormsg";
+ return false;
+ }
+
+ $param=array();
+
+ foreach($mdl_course_id_array as $mdl_course_id)
+ {
+ $data = new stdClass();
+ $data->roleid=$role_id;
+ $data->userid=$this->mdl_user_id;
+ $data->courseid=$mdl_course_id;
+
+ $param[]=$data;
+ }
+ $client = new SoapClient($this->serverurl);
+ $client->enrol_manual_enrol_users($param);
+
+ return true;
+ }
}
diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php
index 1a2474fff..94fe93fb2 100644
--- a/include/tw/vilesci_menu_main.inc.php
+++ b/include/tw/vilesci_menu_main.inc.php
@@ -77,12 +77,13 @@ $menu=array
'Moodle'=>array
(
- 'name'=>'Moodle', 'permissions'=>array('admin','lv-plan','support'),
+ 'name'=>'Moodle', 'permissions'=>array('admin','lv-plan','support','basis/moodle'),
'Kursverwaltung'=>array('name'=>'Kurs entfernen', 'link'=>'moodle/kurs_verwaltung.php', 'target'=>'main'),
'Account'=>array('name'=>'Account', 'link'=>'moodle/account_verwaltung.php', 'target'=>'main'),
'Zuteilung Verwalten'=>array('name'=>'Zuteilung Verwalten', 'link'=>'moodle/zuteilung_verwaltung.php', 'target'=>'main'),
'Account24'=>array('name'=>'Account Moodle 2.4', 'link'=>'moodle/account_verwaltung24.php', 'target'=>'main'),
'Kursverwaltung24'=>array('name'=>'Kurs entfernen 2.4', 'link'=>'moodle/kurs_verwaltung24.php', 'target'=>'main'),
+ 'Rollenzuteilung24'=>array('name'=>'Rollenzuteilung 2.4', 'link'=>'moodle/rollenzuteilung24.php', 'target'=>'main'),
),
diff --git a/vilesci/moodle/rollenzuteilung24.php b/vilesci/moodle/rollenzuteilung24.php
new file mode 100644
index 000000000..a0561caa5
--- /dev/null
+++ b/vilesci/moodle/rollenzuteilung24.php
@@ -0,0 +1,105 @@
+ and
+ */
+/**
+ * Script um eine Person gleichzeitig zu mehreren Moodle Kursen zuzuteilen
+ */
+require_once('../../config/vilesci.config.inc.php');
+require_once('../../include/functions.inc.php');
+require_once('../../include/moodle.class.php');
+require_once('../../include/moodle24_user.class.php');
+require_once('../../include/benutzerberechtigung.class.php');
+
+$user = get_uid();
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+
+if(!$rechte->isBerechtigt('basis/moodle'))
+ die('Sie haben keine Berechtigung fuer diese Seite');
+
+
+echo '
+
+
+
+ Moodle 2.4 Rollenzuteilung
+
+
+
+
+ Moodle Rollenzuteilung
+
+';
+if(isset($_POST['add']))
+{
+ if(isset($_POST['uid']) && $_POST['uid']!='' &&
+ isset($_POST['role']) && $_POST['role']!='' &&
+ isset($_POST['mdl_course_ids']) && $_POST['mdl_course_ids']!='')
+ {
+ $mdl_course_id_array = explode(',',$_POST['mdl_course_ids']);
+ $uid = $_POST['uid'];
+ $role_id=$_POST['role'];
+
+ $moodle = new moodle24_user();
+ if($moodle->MassEnroll($uid, $mdl_course_id_array, $role_id))
+ {
+ echo 'Zuteilung erfolgreich';
+ }
+ else
+ echo 'Fehler bei der Zuteilung:'.$moodle->errormsg;
+ }
+ else
+ {
+ echo 'Fehler: Bitte füllen Sie alle Felder aus';
+ }
+}
+echo '
+';
+?>