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

+ +
+ + + + + + + + + + + + + + + + +
Moodle Kurs IDs getrennt mit \',\':
Rolle + +
UID
+ +'; +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 ' +'; +?>