Moodle User werden nicht angelegt wenn zuvor bei der Abfrage des Users ein Netzwerkfehler auftrat

This commit is contained in:
oesi
2016-09-30 09:17:54 +02:00
parent bb54104111
commit f99b3cc8bf
2 changed files with 74 additions and 60 deletions
+72 -60
View File
@@ -54,7 +54,7 @@ class moodle24_user extends basis_db
* Laedt einen Moodle User * Laedt einen Moodle User
* *
* @param $uid * @param $uid
* @return boolean * @return boolean oder -1 bei SOAP Fehler
*/ */
public function loaduser($uid) public function loaduser($uid)
{ {
@@ -87,7 +87,7 @@ class moodle24_user extends basis_db
catch (SoapFault $E) catch (SoapFault $E)
{ {
$this->errormsg.="SOAP Fehler beim Laden des Users: ".$E->faultstring; $this->errormsg.="SOAP Fehler beim Laden des Users: ".$E->faultstring;
return false; return -1;
} }
} }
@@ -209,8 +209,9 @@ class moodle24_user extends basis_db
if(!$user_zugeteilt) if(!$user_zugeteilt)
{ {
$retval = $this->loaduser($row_ma->mitarbeiter_uid);
//MoodleID des Users holen bzw ggf neu anlegen //MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_ma->mitarbeiter_uid)) if($retval===false)
{ {
//User anlegen //User anlegen
if(!$this->createUser($row_ma->mitarbeiter_uid)) if(!$this->createUser($row_ma->mitarbeiter_uid))
@@ -222,29 +223,32 @@ class moodle24_user extends basis_db
$this->errormsg = ''; $this->errormsg = '';
} }
if($mitarbeiter!='') if($retval!==-1)
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
//Mitarbeiter ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=3; // 3=Lektor
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
try
{ {
$client = new SoapClient($this->serverurl); if($mitarbeiter!='')
$client->enrol_manual_enrol_users(array($data)); $mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
$this->log.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt"; //Mitarbeiter ist noch nicht zugeteilt.
$this->log_public.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt"; $data = new stdClass();
$this->sync_create++; $data->roleid=3; // 3=Lektor
} $data->userid=$this->mdl_user_id;
catch (SoapFault $E) $data->courseid=$mdl_course_id;
{
$this->errormsg.="SOAP Fehler beim zuteilen der Teilnehmer des Kurses: ".$E->faultstring; try
return false; {
$client = new SoapClient($this->serverurl);
$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++;
}
catch (SoapFault $E)
{
$this->errormsg.="SOAP Fehler beim zuteilen der Teilnehmer des Kurses: ".$E->faultstring;
return false;
}
} }
} }
} }
@@ -369,8 +373,9 @@ class moodle24_user extends basis_db
if(!$user_zugeteilt) if(!$user_zugeteilt)
{ {
$retval = $this->loaduser($row_user->student_uid);
//MoodleID des Users holen bzw ggf neu anlegen //MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_user->student_uid)) if($retval===false)
{ {
//User anlegen //User anlegen
if(!$this->createUser($row_user->student_uid)) if(!$this->createUser($row_user->student_uid))
@@ -382,23 +387,26 @@ class moodle24_user extends basis_db
$this->errormsg = ''; $this->errormsg = '';
} }
if($studenten!='') if($retval!==-1)
$studenten.=','; {
$studenten.=$this->mdl_user_id; if($studenten!='')
$studenten.=',';
$studenten.=$this->mdl_user_id;
//Student ist noch nicht zugeteilt. //Student ist noch nicht zugeteilt.
$data = new stdClass(); $data = new stdClass();
$data->roleid=5; // 5=Teilnehmer/Student $data->roleid=5; // 5=Teilnehmer/Student
$data->userid=$this->mdl_user_id; $data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id; $data->courseid=$mdl_course_id;
$userstoenroll[]=$data; $userstoenroll[]=$data;
$this->log.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt"; $this->log.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
$this->log_public.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt"; $this->log_public.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
$this->sync_create++; $this->sync_create++;
}
} }
//Gruppenzuteilung //Gruppenzuteilung
@@ -685,8 +693,9 @@ class moodle24_user extends basis_db
foreach ($users as $row_user) foreach ($users as $row_user)
{ {
$retval = $this->loaduser($row_user);
//MoodleID des Users holen //MoodleID des Users holen
if(!$this->loaduser($row_user)) if($retval!==true)
{ {
$this->errormsg = "Fehler beim Laden des Users $row_user: $this->errormsg"; $this->errormsg = "Fehler beim Laden des Users $row_user: $this->errormsg";
return false; return false;
@@ -825,9 +834,9 @@ class moodle24_user extends basis_db
if(!$user_zugeteilt) if(!$user_zugeteilt)
{ {
$retval = $this->loaduser($row_ma->mitarbeiter_uid);
//MoodleID des Users holen bzw ggf neu anlegen //MoodleID des Users holen bzw ggf neu anlegen
if(!$this->loaduser($row_ma->mitarbeiter_uid)) if($retval===false)
{ {
//User anlegen //User anlegen
if(!$this->createUser($row_ma->mitarbeiter_uid)) if(!$this->createUser($row_ma->mitarbeiter_uid))
@@ -839,29 +848,32 @@ class moodle24_user extends basis_db
$this->errormsg = ''; $this->errormsg = '';
} }
if($mitarbeiter!='') if($retval!==-1)
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
//Mitarbeiter ist noch nicht zugeteilt.
$data = new stdClass();
$data->roleid=11; // 11=Fachbereichsleiter (selbst definierte rolle)
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
try
{ {
if($mitarbeiter!='')
$mitarbeiter.=',';
$mitarbeiter.=$this->mdl_user_id;
$client = new SoapClient($this->serverurl); //Mitarbeiter ist noch nicht zugeteilt.
$client->enrol_manual_enrol_users(array($data)); $data = new stdClass();
$data->roleid=11; // 11=Fachbereichsleiter (selbst definierte rolle)
$data->userid=$this->mdl_user_id;
$data->courseid=$mdl_course_id;
$this->log.="\nFachbereitsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt"; try
$this->log_public.="\nFachbereichsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt"; {
$this->sync_create++;
} $client = new SoapClient($this->serverurl);
catch (SoapFault $E) $client->enrol_manual_enrol_users(array($data));
{
$this->log.="Fehler beim hinzufügen von FBL: ".$E->faultstring; $this->log.="\nFachbereitsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->log_public.="\nFachbereichsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
$this->sync_create++;
}
catch (SoapFault $E)
{
$this->log.="Fehler beim hinzufügen von FBL: ".$E->faultstring;
}
} }
} }
} }
+2
View File
@@ -96,6 +96,8 @@ if(isset($_POST['sync']))
if($moodle->sync_studenten($mdl_course_id)) if($moodle->sync_studenten($mdl_course_id))
{ {
echo $moodle->log; echo $moodle->log;
echo '<hr>';
echo $moodle->errormsg;
} }
else else
echo 'Fehler bei der Zuteilung:'.$moodle->errormsg; echo 'Fehler bei der Zuteilung:'.$moodle->errormsg;