';
echo '| | ';
echo "";
echo "".$lv_obj->bezeichnung_arr[$sprache]."";
-/*
-if($lehreinheit_id=='')
- die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden');
-
-if(!isset($_GET['standalone']))
-{
- //Menue
- include("menue.inc.php");
-}*/
-
// lvgesamtnote für Studenten speichern
-if (isset($_REQUEST["submit"]) && ($_POST["student_uid"] != '')){
-
+if (isset($_REQUEST["submit"]) && ($_POST["student_uid"] != ''))
+{
$jetzt = date("Y-m-d H:i:s");
$student_uid = $_POST["student_uid"];
$lvid = $_REQUEST["lvid"];
@@ -663,10 +654,18 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1))
{
$jetzt = date("Y-m-d H:i:s");
$neuenoten = 0;
- $studlist = "| Mat. Nr. | ".$p->t('global/nachname')." | ".$p->t('global/vorname')." | ".$p->t('benotungstool/note')." | \n";
+ $studlist = "| ".$p->t('global/personenkz')." | ".$p->t('global/nachname')." | ".$p->t('global/vorname')." | ".$p->t('benotungstool/note')." | \n";
// studentenquery
- $qry_stud = "SELECT DISTINCT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".addslashes($stsem)."' and lehrveranstaltung_id = '".addslashes($lvid)."' ORDER BY nachname, vorname ";
+ $qry_stud = "SELECT
+ DISTINCT uid, vorname, nachname, matrikelnr
+ FROM
+ campus.vw_student_lehrveranstaltung
+ JOIN campus.vw_student USING(uid)
+ WHERE
+ studiensemester_kurzbz = ".$db->db_add_param($stsem)."
+ AND lehrveranstaltung_id = ".$db->db_add_param($lvid, FHC_INTEGER)."
+ ORDER BY nachname, vorname ";
if($result_stud = $db->db_query($qry_stud))
{
$i=1;
@@ -687,8 +686,6 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1))
}
}
- // }
- // }
$studlist .= " ";
//mail an assistentin und den user selber verschicken
@@ -709,12 +706,11 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1))
$mail->setHTMLContent($htmlcontent);
$mail->setReplyTo($lektor_adresse);
$mail->send();
- //mail($adressen,"Notenfreigabe ".$lv->bezeichnung,"".$lv->bezeichnung." - ".$stsem." (".$lv->semester.". Sem.)
Benutzer ".$freigeber." (".$mit->kurzbz.") hat die LV-Noten für folgende Studenten freigegeben:
".$studlist." Mail wurde verschickt an: ".$adressen."","From: vilesci@".DOMAIN."\nContent-Type: text/html\n");
}
}
else
{
- echo 'Fehler beim Freigeben der Noten: Das Uebergebene Passwort ist falsch';
+ echo ''.$p->t('gesamtnote/passwortFalsch').'';
}
}
@@ -807,8 +803,37 @@ echo '';
| |
";
+
+ if($grade_from_moodle)
+ {
+ $moodle24 = new moodle24_course();
+ $moodle24->loadNoten($lvid, $stsem);
+
+ $moodle24_course_bezeichung=array();
+
+ // Bezeichnungen der Moodlekurse laden
+ foreach($moodle24->result as $obj)
+ {
+ if(!isset($moodle24_course_bezeichnung))
+ {
+ $moodle24course = new moodle24_course();
+ $moodle24course->load($obj->mdl_course_id);
+
+ $moodle24_course_bezeichung[$obj->mdl_course_id]=$moodle24course->mdl_shortname;
+ }
+ }
+ }
+
// studentenquery
- $qry_stud = "SELECT DISTINCT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".addslashes($stsem)."' and lehrveranstaltung_id = '".addslashes($lvid)."' ORDER BY nachname, vorname ";
+ $qry_stud = "SELECT
+ DISTINCT uid, vorname, nachname, matrikelnr
+ FROM
+ campus.vw_student_lehrveranstaltung
+ JOIN campus.vw_student USING(uid)
+ WHERE
+ studiensemester_kurzbz = ".$db->db_add_param($stsem)."
+ AND lehrveranstaltung_id = ".$db->db_add_param($lvid)."
+ ORDER BY nachname, vorname ";
$mdldaten=null;
if($result_stud = $db->db_query($qry_stud))
{
@@ -820,9 +845,6 @@ echo '';
echo "
 | ";
- //$row_stud->uid |
- //$row_stud->nachname |
- //$row_stud->vorname | ";
echo "
$row_stud->uid |
$row_stud->nachname |
@@ -834,6 +856,8 @@ echo '';
$note=0;
if($grade_from_moodle)
{
+ //Moodle 1.9
+
// Alle Moodlekursdaten zu Lehreinheit und Semester lesen wenn noch nicht belegt.
if (is_null($mdldaten))
{
@@ -889,7 +913,7 @@ echo '';
$leneg = " style='font-weight:bold'";
$mdl_shortname=$mdldaten[$imdldaten]->mdl_shortname;
- $title="\r\nNote in Moodlekurse: ".$mdldaten[$imdldaten]->mdl_course_id ."\r\n\r\n".$kursname.', '.$mdl_shortname."\r\n";
+ $title="\r\nMoodle 1.9 KursID: ".$mdldaten[$imdldaten]->mdl_course_id ."\r\n\r\n".$kursname.', '.$mdl_shortname."\r\n";
foreach ($kursasObj[$iKurs] as $key => $value)
{
$title.=$key."=>".$value."\r\n";
@@ -919,7 +943,30 @@ echo '';
echo ' '.$moodle_course->errormsg.' ';
$errorshown=true;
}
- }
+ }
+
+ // Moodle 2.4
+ if(isset($moodle24) && count($moodle24->result)>0)
+ {
+ foreach($moodle24->result as $moodle24_noten)
+ {
+ if($moodle24_noten->uid==$row_stud->uid)
+ {
+ $note_le+=$moodle24_noten->note;
+ $le_anz+=1;
+ if ($moodle24_noten->note == 5)
+ $leneg = " style='color:red; font-weight:bold'";
+ else
+ $leneg = ' style="font-weight: bold;"';
+ $title="Moodle 2.4 KursID: ".$moodle24_noten->mdl_course_id.
+ "\nKursbezeichnung: ".$moodle24_course_bezeichung[$moodle24_noten->mdl_course_id].
+ "\nUser: ".$moodle24_noten->uid.
+ "\nNote: $moodle24_noten->note";
+ $note_les_str .= " ".$moodle24_noten->note." (".$moodle24_course_bezeichung[$moodle24_noten->mdl_course_id].") ";
+
+ }
+ }
+ }
}
else
{
diff --git a/include/moodle24_course.class.php b/include/moodle24_course.class.php
index 0a39dd37b..2a57ca7c7 100644
--- a/include/moodle24_course.class.php
+++ b/include/moodle24_course.class.php
@@ -351,7 +351,7 @@ class moodle24_course extends basis_db
* werden soll, false wenn nicht
* @return true wenn ok, false im Fehlerfall
*
- * TODO eventuell auslagern in moodle.class
+ * TODO eventuell auslagern in moodle.class oder ganz loeschen
*/
public function updateGruppenSync($moodle_id, $gruppen)
{
@@ -519,13 +519,11 @@ class moodle24_course extends basis_db
/**
- * Laedt die Noten zu einem Moodle Course ID
+ * Laedt die Moodle Noten zu allen Moodlekursen einer Lehrveranstaltung
* @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)
{
@@ -540,24 +538,27 @@ class moodle24_course extends basis_db
// 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
+ SELECT
+ distinct mdl_course_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.= "
+ WHERE
+ tbl_moodle.lehrveranstaltung_id > 0
+ AND moodle_version='2.4'
+ AND tbl_moodle.lehrveranstaltung_id =".$this->db_add_param($lehrveranstaltung_id)."
+ AND tbl_moodle.studiensemester_kurzbz =".$this->db_add_param($studiensemester_kurzbz)."
UNION
- SELECT tbl_lehreinheit.lehreinheit_id, mdl_course_id,tbl_lehreinheit.studiensemester_kurzbz,tbl_lehreinheit.lehrveranstaltung_id
- FROM lehre.tbl_moodle
+ SELECT
+ distinct mdl_course_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)."' ";
+ WHERE
+ tbl_lehreinheit.lehrveranstaltung_id > 0
+ AND moodle_version='2.4'
+ AND tbl_lehreinheit.lehrveranstaltung_id =".$this->db_add_param($lehrveranstaltung_id)."
+ AND tbl_moodle.studiensemester_kurzbz =".$this->db_add_param($studiensemester_kurzbz).";";
if(!$result_moodle=$this->db_query($qry))
{
@@ -565,66 +566,32 @@ class moodle24_course extends basis_db
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))
+
+ while($row_moodle = $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
+ $client = new SoapClient($this->serverurl);
+ $response = $client->fhcomplete_get_course_grades($row_moodle->mdl_course_id);
- $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)
+ if (count($response)>0)
{
- $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;
- }
+ foreach($response as $row)
+ {
+ 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;
+ }
+ }
+ }
+ }
+ return true;
}
diff --git a/include/moodle24_user.class.php b/include/moodle24_user.class.php
index 48b7c9d9d..043ac4855 100644
--- a/include/moodle24_user.class.php
+++ b/include/moodle24_user.class.php
@@ -341,8 +341,8 @@ class moodle24_user extends basis_db
$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->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->sync_create++;
}
//Gruppenzuteilung
@@ -365,8 +365,8 @@ class moodle24_user extends basis_db
//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";
+ $this->log.="\nStudentIn $row_user->student_uid wurde der Gruppe $gruppenbezeichnung zugeordnet";
+ $this->log_public.="\nStudentIn $row_user->student_uid wurde der Gruppe $gruppenbezeichnung zugeordnet";
}
}
}
@@ -477,6 +477,9 @@ class moodle24_user extends basis_db
*/
public function createUser($uid)
{
+ if($uid=='_DummyLektor')
+ return true;
+
$qry = "SELECT uid, vorname, nachname FROM campus.vw_benutzer WHERE uid=".$this->db_add_param($uid);
if($this->db_query($qry))
{
diff --git a/locale/de-AT/gesamtnote.php b/locale/de-AT/gesamtnote.php
index 7b2acc93b..a4cfb6a3f 100644
--- a/locale/de-AT/gesamtnote.php
+++ b/locale/de-AT/gesamtnote.php
@@ -1,4 +1,5 @@
phrasen['gesamtnote/wollenSieWirklichLoeschen']='Wollen Sie die markierten Einträge wirklich löschen? Alle bereits eingetragenen Kreuzerl gehen dabei verloren';
$this->phrasen['gesamtnote/noteUnveraendert']='Note unverändert';
-?>
\ No newline at end of file
+$this->phrasen['gesamtnote/passwortFalsch']='Fehler beim Freigeben der Noten: Das Uebergebene Passwort ist falsch';
+?>
diff --git a/locale/en-US/gesamtnote.php b/locale/en-US/gesamtnote.php
index 344c1a974..fe5f91c14 100644
--- a/locale/en-US/gesamtnote.php
+++ b/locale/en-US/gesamtnote.php
@@ -1,4 +1,5 @@
phrasen['gesamtnote/wollenSieWirklichLoeschen']='Do you really want to delete the selected entries? All the checkmark lists you have entered will be lost';
$this->phrasen['gesamtnote/noteUnveraendert']='Grade unmodified';
-?>
\ No newline at end of file
+$this->phrasen['gesamtnote/passwortFalsch']='Failure: The supplied Password is invalid';
+?>
|