Bei neuen Moodlekursen wird jetzt das Startdatum gesetzt, Fehlermeldung bei der Notenübernahme aus dem Moodle behoben falls im Moodle noch keine Noten eingetragen sind, Script zur gleichzeitigen Zuteilung von einer Person zu mehreren Moodle Kursen

This commit is contained in:
Andreas Österreicher
2013-10-25 07:16:39 +00:00
parent 519d854a17
commit f9e2b43001
5 changed files with 169 additions and 18 deletions
+29 -16
View File
@@ -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;
}
+32
View File
@@ -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;
}
}
+2 -1
View File
@@ -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'),
),