From f5cfb96918592273d65215f76e49f7d708ec84a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 24 Jun 2009 08:50:15 +0000 Subject: [PATCH] =?UTF-8?q?Moodle=20Klassen=20Zugriff=20auf=20VilesciDB=20?= =?UTF-8?q?=C3=BCber=20Basisklasse=20Zugriff=20auf=20MoodleDB=20bleibt=20?= =?UTF-8?q?=C3=BCber=20pg=5F*?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/moodle_course.class.php | 526 +++++++++++++++----------------- include/moodle_user.class.php | 288 ++++++++--------- 2 files changed, 395 insertions(+), 419 deletions(-) diff --git a/include/moodle_course.class.php b/include/moodle_course.class.php index cab53ca76..e2c9d3b13 100644 --- a/include/moodle_course.class.php +++ b/include/moodle_course.class.php @@ -22,67 +22,68 @@ /* * */ -class moodle_course +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class moodle_course extends basis_db { - var $conn; - var $conn_moodle; - var $errormsg; - var $result = array(); + private $conn_moodle; + public $result = array(); //Vilesci Attribute - var $moodle_id; - var $mdl_course_id; - var $lehreinheit_id; - var $lehrveranstaltung_id; - var $studiensemester_kurzbz; - var $insertamum; - var $insertvon; - var $gruppen; + public $moodle_id; + public $mdl_course_id; + public $lehreinheit_id; + public $lehrveranstaltung_id; + public $studiensemester_kurzbz; + public $insertamum; + public $insertvon; + public $gruppen; //Moodle Attribute - var $mdl_fullname; - var $mdl_shortname; + public $mdl_fullname; + public $mdl_shortname; - var $mdl_context_id; - var $mdl_context_level; - var $mdl_context_instanceid; - var $mdl_context_path; - var $mdl_context_depth; + public $mdl_context_id; + public $mdl_context_level; + public $mdl_context_instanceid; + public $mdl_context_path; + public $mdl_context_depth; - var $lehrveranstaltung_bezeichnung; - var $lehrveranstaltung_semester; - var $lehrveranstaltung_studiengang_kz; + public $lehrveranstaltung_bezeichnung; + public $lehrveranstaltung_semester; + public $lehrveranstaltung_studiengang_kz; // Kurs Resourcen - Anzahl - var $mdl_benotungen; - var $mdl_resource; - var $mdl_quiz; - var $mdl_chat; - var $mdl_forum; - var $mdl_choice; + public $mdl_benotungen; + public $mdl_resource; + public $mdl_quiz; + public $mdl_chat; + public $mdl_forum; + public $mdl_choice; - var $note; + public $note; - // ********************************************** - // * moodle_course - // * @param $conn Connection zur Vilesci DB - // * $conn_moodle Connection zur Moodle DB - // ********************************************** - function moodle_course($conn, $conn_moodle) + /** + * Konstruktor + * + */ + public function __construct() { - $this->conn = $conn; - $this->conn_moodle = $conn_moodle; - - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; - pg_query($this->conn_moodle, $qry); + if(!$this->conn_moodle = pg_pconnect(CONN_STRING_MOODLE)) + { + $this->errormsg = 'Fehler beim Herstellen der Moodle Connection'; + return false; + } + else + return true; } - // ********************************************** - // * Laedt einen MoodleKurs - // * @param mdl_course_id ID des Moodle Kurses - // * @return true wenn ok, false im Fehlerfall - // ********************************************** - function load($mdl_course_id) + /** + * Laedt einen MoodleKurs + * @param mdl_course_id ID des Moodle Kurses + * @return true wenn ok, false im Fehlerfall + */ + public function load($mdl_course_id) { $qry = "SELECT * FROM public.mdl_course WHERE id='".addslashes($mdl_course_id)."'"; if($result = pg_query($this->conn_moodle, $qry)) @@ -107,14 +108,14 @@ class moodle_course } } - // ********************************************** - // * Laedt alle MoodleKurse die zu einer LV/Stsem - // * plus die MoodleKurse die auf dessen LE haengen - // * @param lehrveranstaltung_id - // * studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // ********************************************** - function getAll($lehrveranstaltung_id, $studiensemester_kurzbz) + /** + * Laedt alle MoodleKurse die zu einer LV/Stsem + * plus die MoodleKurse die auf dessen LE haengen + * @param lehrveranstaltung_id + * studiensemester_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function getAll($lehrveranstaltung_id, $studiensemester_kurzbz) { $qry = "SELECT distinct on(mdl_course_id) * FROM @@ -128,11 +129,12 @@ class moodle_course (tbl_lehreinheit.lehreinheit_id=tbl_moodle.lehreinheit_id) )"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row=pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { - $obj = new moodle_course($this->conn, $this->conn_moodle); + $obj = new moodle_course(); + $obj->moodle_id = $row->moodle_id; $obj->mdl_course_id = $row->mdl_course_id; $obj->lehreinheit_id = $row->lehreinheit_id; @@ -164,31 +166,28 @@ class moodle_course } - // ********************************************** - // * Laedt alle MoodleKurse die zu einer LV/Stsem - // * plus die MoodleKurse die auf dessen LE haengen - // * @param lehrveranstaltung_id - // * studiensemester_kurzbz - // * @return true wenn ok, false im Fehlerfall - // ********************************************** - function getAllVariant($lehrveranstaltung_id='',$studiensemester_kurzbz='',$studiengang='',$semester='',$detail=false) + /** + * Laedt alle MoodleKurse die zu einer LV/Stsem + * plus die MoodleKurse die auf dessen LE haengen + * @param lehrveranstaltung_id + * studiensemester_kurzbz + * @return true wenn ok, false im Fehlerfall + */ + public function getAllVariant($lehrveranstaltung_id='',$studiensemester_kurzbz='',$studiengang='',$semester='',$detail=false) { // Initialisierung $this->errormsg = ''; $this->result=array(); - -# ,tbl_moodle.* $qry = "SELECT distinct tbl_lehreinheit.studiensemester_kurzbz,tbl_lehrveranstaltung.semester - ,tbl_lehrveranstaltung.bezeichnung,tbl_lehrveranstaltung.kurzbz,tbl_lehrveranstaltung.lehrveranstaltung_id,tbl_lehrveranstaltung.studiengang_kz,tbl_lehrveranstaltung.semester - ,tbl_moodle.mdl_course_id - FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit,lehre.tbl_moodle - where tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - and ((tbl_moodle.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - and tbl_moodle.studiensemester_kurzbz=lehre.tbl_lehreinheit.studiensemester_kurzbz) - OR - (tbl_moodle.lehreinheit_id=tbl_lehreinheit.lehreinheit_id)) - "; + ,tbl_lehrveranstaltung.bezeichnung,tbl_lehrveranstaltung.kurzbz,tbl_lehrveranstaltung.lehrveranstaltung_id,tbl_lehrveranstaltung.studiengang_kz,tbl_lehrveranstaltung.semester + ,tbl_moodle.mdl_course_id + FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit,lehre.tbl_moodle + where tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + and ((tbl_moodle.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + and tbl_moodle.studiensemester_kurzbz=lehre.tbl_lehreinheit.studiensemester_kurzbz) + OR + (tbl_moodle.lehreinheit_id=tbl_lehreinheit.lehreinheit_id))"; if ($lehrveranstaltung_id!='') $qry.=" and tbl_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' "; @@ -203,26 +202,20 @@ class moodle_course $qry.=" and tbl_lehrveranstaltung.semester='".addslashes($semester)."' "; $qry.=";"; -#exit($qry); - - if(!$result = @pg_query($this->conn, $qry)) + if(!$result = $this->db_query($qry)) { $this->errormsg = 'Fehler beim Laden der Daten'; return false; } - while($row=@pg_fetch_object($result)) + while($row = $this->db_fetch_object($result)) { - $obj = new moodle_course($this->conn, $this->conn_moodle); -# $obj->moodle_id = $row->moodle_id; + $obj = new moodle_course(); + $obj->mdl_course_id = $row->mdl_course_id; -# $obj->lehreinheit_id = $row->lehreinheit_id; $obj->lehrveranstaltung_id = $row->lehrveranstaltung_id; $obj->studiensemester_kurzbz = $row->studiensemester_kurzbz; -# $obj->insertamum = $row->insertamum; -# $obj->insertvon = $row->insertvon; -# $obj->gruppen = ($row->gruppen=='t'?true:false); $obj->lehrveranstaltung_kurzbz=$row->kurzbz; $obj->lehrveranstaltung_bezeichnung=$row->bezeichnung; @@ -230,17 +223,15 @@ class moodle_course $obj->lehrveranstaltung_studiengang_kz=$row->studiengang_kz; $qry_mdl = "SELECT * FROM public.mdl_course WHERE id='".addslashes($row->mdl_course_id)."'"; - if($result_mdl = @pg_query($this->conn_moodle, $qry_mdl)) + if($result_mdl = pg_query($this->conn_moodle, $qry_mdl)) { - if($row_mdl = @pg_fetch_object($result_mdl)) + if($row_mdl = pg_fetch_object($result_mdl)) { $obj->mdl_fullname = $row_mdl->fullname; $obj->mdl_shortname = $row_mdl->shortname; } } - - // Detailandaten - Param: $detail=true // Anzahl Benotungen $obj->mdl_benotungen = 0; // Anzahl Aktivitaeten und Lehrmaterial @@ -251,63 +242,63 @@ class moodle_course $obj->mdl_choice= 0; // Anzahl Noten je Kurs und User - $qry_mdl = "select count(*) as anz - from mdl_grade_grades , mdl_grade_items - where mdl_grade_items.itemtype='course' - and mdl_grade_grades.finalgrade IS NOT NULL - and mdl_grade_grades.itemid=mdl_grade_items.id - and mdl_grade_items.courseid ='".addslashes($row->mdl_course_id)."'; "; + $qry_mdl = "SELECT count(*) as anz + FROM mdl_grade_grades , mdl_grade_items + WHERE mdl_grade_items.itemtype='course' + AND mdl_grade_grades.finalgrade IS NOT NULL + AND mdl_grade_grades.itemid=mdl_grade_items.id + AND mdl_grade_items.courseid ='".addslashes($row->mdl_course_id)."'; "; - if($detail && $result_mdl = @pg_query($this->conn_moodle, $qry_mdl)) + if($detail && $result_mdl = pg_query($this->conn_moodle, $qry_mdl)) { - if($row_mdl = @pg_fetch_object($result_mdl)) + if($row_mdl = pg_fetch_object($result_mdl)) { $obj->mdl_benotungen = (empty($row_mdl->anz)?0:$row_mdl->anz); } } - $qry_mdl = "select count(course) as anz from public.mdl_chat where mdl_chat.course='".addslashes($row->mdl_course_id)."'; "; - if($detail && $result_mdl = @pg_query($this->conn_moodle, $qry_mdl)) + $qry_mdl = "SELECT count(course) as anz FROM public.mdl_chat WHERE mdl_chat.course='".addslashes($row->mdl_course_id)."'; "; + if($detail && $result_mdl = pg_query($this->conn_moodle, $qry_mdl)) { - if($row_mdl = @pg_fetch_object($result_mdl)) + if($row_mdl = pg_fetch_object($result_mdl)) { $obj->mdl_chat = (empty($row_mdl->anz)?0:$row_mdl->anz); } } - $qry_mdl = "select count(course) as anz from public.mdl_resource where mdl_resource.course='".addslashes($row->mdl_course_id)."'; "; - if($detail && $result_mdl = @pg_query($this->conn_moodle, $qry_mdl)) + $qry_mdl = "SELECT count(course) as anz FROM public.mdl_resource WHERE mdl_resource.course='".addslashes($row->mdl_course_id)."'; "; + if($detail && $result_mdl = pg_query($this->conn_moodle, $qry_mdl)) { - if($row_mdl = @pg_fetch_object($result_mdl)) + if($row_mdl = pg_fetch_object($result_mdl)) { $obj->mdl_resource = (empty($row_mdl->anz)?0:$row_mdl->anz); } } - $qry_mdl = "select count(course) as anz from public.mdl_quiz where mdl_quiz.course='".addslashes($row->mdl_course_id)."'; "; - if($detail && $result_mdl = @pg_query($this->conn_moodle, $qry_mdl)) + $qry_mdl = "SELECT count(course) as anz FROM public.mdl_quiz WHERE mdl_quiz.course='".addslashes($row->mdl_course_id)."'; "; + if($detail && $result_mdl = pg_query($this->conn_moodle, $qry_mdl)) { - if($row_mdl = @pg_fetch_object($result_mdl)) + if($row_mdl = pg_fetch_object($result_mdl)) { $obj->mdl_quiz = (empty($row_mdl->anz)?0:$row_mdl->anz); } } - $qry_mdl = "select count(course) as anz from public.mdl_forum where mdl_forum.course='".addslashes($row->mdl_course_id)."'; "; - if($detail && $result_mdl = @pg_query($this->conn_moodle, $qry_mdl)) + $qry_mdl = "SELECT count(course) as anz FROM public.mdl_forum WHERE mdl_forum.course='".addslashes($row->mdl_course_id)."'; "; + if($detail && $result_mdl = pg_query($this->conn_moodle, $qry_mdl)) { - if($row_mdl = @pg_fetch_object($result_mdl)) + if($row_mdl = pg_fetch_object($result_mdl)) { $obj->mdl_forum = (empty($row_mdl->anz)?0:$row_mdl->anz); } } - $qry_mdl = "select count(course) as anz from public.mdl_choice where mdl_choice.course='".addslashes($row->mdl_course_id)."'; "; - if($detail && $result_mdl = @pg_query($this->conn_moodle, $qry_mdl)) + $qry_mdl = "SELECT count(course) as anz FROM public.mdl_choice WHERE mdl_choice.course='".addslashes($row->mdl_course_id)."'; "; + if($detail && $result_mdl = pg_query($this->conn_moodle, $qry_mdl)) { - if($row_mdl = @pg_fetch_object($result_mdl)) + if($row_mdl = pg_fetch_object($result_mdl)) { $obj->mdl_choice = (empty($row_mdl->anz)?0:$row_mdl->anz); } @@ -321,19 +312,19 @@ class moodle_course } - // ********************************************** - // * Schaut ob fuer diese LV/StSem schon ein - // * Moodle Kurs existiert - // * @param lehrveranstaltung_id - // * studiensemester_kurzbz - // * @return true wenn vorhanden, false wenn nicht - // ********************************************** - function course_exists_for_lv($lehrveranstaltung_id, $studiensemester_kurzbz) + /** + * Schaut ob fuer diese LV/StSem schon ein + * Moodle Kurs existiert + * @param lehrveranstaltung_id + * studiensemester_kurzbz + * @return true wenn vorhanden, false wenn nicht + */ + public function course_exists_for_lv($lehrveranstaltung_id, $studiensemester_kurzbz) { $qry = "SELECT 1 FROM lehre.tbl_moodle WHERE lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if(pg_num_rows($result)>0) + if($this->db_num_rows()>0) return true; else return false; @@ -345,18 +336,18 @@ class moodle_course } } - // ********************************************** - // * Schaut ob fuer diese LE schon ein Moodle - // * Kurs existiert - // * @param lehreinheit_id - // * @return true wenn vorhanden, false wenn nicht - // ********************************************** - function course_exists_for_le($lehreinheit_id) + /** + * Schaut ob fuer diese LE schon ein Moodle + * Kurs existiert + * @param lehreinheit_id + * @return true wenn vorhanden, false wenn nicht + */ + public function course_exists_for_le($lehreinheit_id) { $qry = "SELECT 1 FROM lehre.tbl_moodle WHERE lehreinheit_id='".addslashes($lehreinheit_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if(pg_num_rows($result)>0) + if($this->db_num_rows()>0) return true; else return false; @@ -368,22 +359,22 @@ class moodle_course } } - // ********************************************** - // * Schaut ob fuer diese LV/StSem schon ein - // * Moodle Kurs existiert - // * @param lehrveranstaltung_id - // * studiensemester_kurzbz - // * @return true wenn vorhanden, false wenn nicht - // ********************************************** - function course_exists_for_allLE($lehrveranstaltung_id, $studiensemester_kurzbz) + /** + * Schaut ob fuer diese LV/StSem schon ein + * Moodle Kurs existiert + * @param lehrveranstaltung_id + * studiensemester_kurzbz + * @return true wenn vorhanden, false wenn nicht + */ + public function course_exists_for_allLE($lehrveranstaltung_id, $studiensemester_kurzbz) { $qry = "SELECT 1 FROM lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' AND studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND lehreinheit_id NOT IN (SELECT lehreinheit_id FROM lehre.tbl_moodle WHERE lehreinheit_id=tbl_lehreinheit.lehreinheit_id)"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if(pg_num_rows($result)>0) + if($this->db_num_rows()>0) return false; else return true; @@ -394,23 +385,12 @@ class moodle_course return false; } } - - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ************************************************ - // * Legt einen Eintrag in der tbl_moodle an - // * @return true wenn ok, false im Fehlerfall - // ************************************************ - function create_vilesci() + + /** + * Legt einen Eintrag in der tbl_moodle an + * @return true wenn ok, false im Fehlerfall + */ + public function create_vilesci() { if($this->mdl_course_id=='') { @@ -429,27 +409,27 @@ class moodle_course $this->addslashes($this->insertvon).','. ($this->gruppen?'true':'false').');'; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { $qry = "SELECT currval('lehre.tbl_moodle_moodle_id_seq') as id;"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $this->moodle_id = $row->id; - pg_query($this->conn, 'COMMIT;'); + $this->db_query('COMMIT;'); return true; } else { - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); $this->errormsg = 'Fehler beim Lesen der Sequence'; return false; } } else { - pg_query($this->conn, 'ROLLBACK'); + $this->db_query('ROLLBACK'); $this->errormsg = 'Fehler beim Lesen der Sequence'; return false; } @@ -461,10 +441,11 @@ class moodle_course } } - // *********************************************** - // * Legt einen Kurs im Moodle an - // *********************************************** - function create_moodle() + /** + * Legt einen Kurs im Moodle an + * @return true wenn ok, false im Fehlerfall + */ + public function create_moodle() { pg_query($this->conn_moodle, 'BEGIN;'); @@ -475,9 +456,9 @@ class moodle_course { $qry = "SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit WHERE lehreinheit_id='".addslashes($this->lehreinheit_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $lvid = $row->lehrveranstaltung_id; } @@ -499,12 +480,13 @@ class moodle_course $lvid = $this->lehrveranstaltung_id; //Studiengang und Semester holen - $qry = "SELECT tbl_lehrveranstaltung.semester, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg FROM lehre.tbl_lehrveranstaltung JOIN public.tbl_studiengang USING(studiengang_kz) + $qry = "SELECT tbl_lehrveranstaltung.semester, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg + FROM lehre.tbl_lehrveranstaltung JOIN public.tbl_studiengang USING(studiengang_kz) WHERE lehrveranstaltung_id='$lvid'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = pg_fetch_object()) { $semester = $row->semester; $stg = $row->stg; @@ -645,11 +627,11 @@ class moodle_course } - // ************************************************************ - // * Laedt eine CourseCategorie anhand der Bezeichnung und der - // * ParentID - // ************************************************************ - function getCategorie($bezeichnung, $parent) + /** + * Laedt eine CourseCategorie anhand der Bezeichnung und der + * ParentID + */ + public function getCategorie($bezeichnung, $parent) { if($bezeichnung=='') { @@ -682,11 +664,11 @@ class moodle_course } } - // ************************************************************ - // * Erzeugt eine CourseCategorie anhand der Bezeichnung und der - // * ParentID - // ************************************************************ - function createCategorie($bezeichnung, $parent) + /** + * Erzeugt eine CourseCategorie anhand der Bezeichnung und der + * ParentID + */ + public function createCategorie($bezeichnung, $parent) { if($bezeichnung=='') { @@ -833,10 +815,10 @@ class moodle_course } } - // ************************************************************ - // * Laedt einen Context anhand des contextlevels und der instanceid - // ************************************************************ - function getContext($contextlevel, $instanceid) + /** + * Laedt einen Context anhand des contextlevels und der instanceid + */ + public function getContext($contextlevel, $instanceid) { $qry ="SELECT * FROM public.mdl_context WHERE contextlevel='".addslashes($contextlevel)."' @@ -867,11 +849,11 @@ class moodle_course } } - // **************************************************** - // * Liefert alle Kurse dieser LV in denen der Student - // * zugeteilt ist - // **************************************************** - function getCourse($lehrveranstaltung_id, $studiensemester_kurzbz, $student_uid) + /** + * Liefert alle Kurse dieser LV in denen der Student + * zugeteilt ist + */ + public function getCourse($lehrveranstaltung_id, $studiensemester_kurzbz, $student_uid) { //alle betreffenden Kurse holen $qry = "SELECT tbl_lehreinheit.lehreinheit_id, mdl_course_id FROM lehre.tbl_moodle JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id, studiensemester_kurzbz) @@ -883,17 +865,17 @@ class moodle_course tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'"; $courses = array(); - if($result = pg_query($this->conn, $qry)) + if($result = $this->db_query($qry)) { - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object($result)) { //schauen in welchen der Student ist $qry = "SELECT 1 FROM campus.vw_student_lehrveranstaltung WHERE uid='".addslashes($student_uid)."' AND lehreinheit_id='".addslashes($row->lehreinheit_id)."'"; - if($result_vw = pg_query($this->conn, $qry)) + if($result_vw = $this->db_query($qry)) { - if(pg_num_rows($result_vw)>0) + if($this->db_num_rows($result_vw)>0) { if(!array_key_exists($row->mdl_course_id, $courses)) $courses[]=$row->mdl_course_id; @@ -904,14 +886,14 @@ class moodle_course return $courses; } - // *************************************************** - // * Aktualisiert die Spalte gruppen in der tbl_moodle - // * @param moodle_id ID der MoodleZuteilung - // * gruppen boolean true wenn syncronisiert - // * werden soll, false wenn nicht - // * @return true wenn ok, false im Fehlerfall - // *************************************************** - function updateGruppenSync($moodle_id, $gruppen) + /** + * Aktualisiert die Spalte gruppen in der tbl_moodle + * @param moodle_id ID der MoodleZuteilung + * gruppen boolean true wenn syncronisiert + * werden soll, false wenn nicht + * @return true wenn ok, false im Fehlerfall + */ + public function updateGruppenSync($moodle_id, $gruppen) { if(!is_numeric($moodle_id)) { @@ -921,7 +903,7 @@ class moodle_course $qry = "UPDATE lehre.tbl_moodle SET gruppen=".($gruppen?'true':'false')." WHERE moodle_id='".addslashes($moodle_id)."'"; - if(pg_query($this->conn, $qry)) + if($this->db_query($qry)) { return true; } @@ -932,22 +914,23 @@ class moodle_course } } - // ******************************** - // * Legt einen Testkurs an - // ******************************** - function createTestkurs($lehrveranstaltung_id, $studiensemester_kurzbz) + /** + * Legt einen Testkurs an + */ + public function createTestkurs($lehrveranstaltung_id, $studiensemester_kurzbz) { pg_query($this->conn_moodle, 'BEGIN;'); //CourseCategorie ermitteln //Studiengang und Semester holen + $qry = "SELECT tbl_lehrveranstaltung.semester, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg FROM lehre.tbl_lehrveranstaltung JOIN public.tbl_studiengang USING(studiengang_kz) WHERE lehrveranstaltung_id='$lehrveranstaltung_id'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $semester = $row->semester; $stg = $row->stg; @@ -1080,13 +1063,13 @@ class moodle_course } } - // ****************************************************** - // * Laedt den Testkurs zu dieser Lehrveranstaltung - // * @param lehrveranstaltung_id - // * studiensemester_kurzbz - // * @return ID wenn gefunden, false wenn nicht vorhanden - // ****************************************************** - function loadTestkurs($lehrveranstaltung_id, $studiensemester_kurzbz) + /** + * Laedt den Testkurs zu dieser Lehrveranstaltung + * @param lehrveranstaltung_id + * studiensemester_kurzbz + * @return ID wenn gefunden, false wenn nicht vorhanden + */ + public function loadTestkurs($lehrveranstaltung_id, $studiensemester_kurzbz) { $qry = "SELECT UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kuerzel, @@ -1096,9 +1079,9 @@ class moodle_course WHERE lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $shortname = mb_strtoupper('TK-'.$studiensemester_kurzbz.'-'.$row->kuerzel.'-'.$row->semester.'-'.$row->kurzbz); } @@ -1152,32 +1135,33 @@ class moodle_course } } - // ****************************************************** - // * Laedt die Noten zu einem Moodle Course ID - // * @param mdl_course_id - // * - // * @return objekt mit den Noten der Teilnehmer dieses Kurses - // ****************************************************** - function loadNoten($lehrveranstaltung_id='', $studiensemester_kurzbz='',$student_uid='',$bDetailinfo=false) + /** + * Laedt die Noten zu einem Moodle Course ID + * @param mdl_course_id + * + * @return objekt mit den Noten der Teilnehmer dieses Kurses + */ + public function loadNoten($lehrveranstaltung_id='', $studiensemester_kurzbz='',$student_uid='',$bDetailinfo=false) { // Init - $lehrveranstaltung_id=trim($lehrveranstaltung_id); - $studiensemester_kurzbz=trim($studiensemester_kurzbz); - $student_uid=trim($student_uid); - $this->errormsg=''; + $lehrveranstaltung_id=trim($lehrveranstaltung_id); + $studiensemester_kurzbz=trim($studiensemester_kurzbz); + $student_uid=trim($student_uid); + $this->errormsg=''; // plausib - if (empty($lehrveranstaltung_id) - || empty($studiensemester_kurzbz) - || empty($student_uid) ) - { - $this->errormsg = 'Es fehlt die Eingabe von'; - $this->errormsg.=(empty($lehrveranstaltung_id)?' Lehrveranstaltung':$lehrveranstaltung_id); - $this->errormsg.=(empty($studiensemester_kurzbz)?' Semester (Kurzbz.)':$studiensemester_kurzbz); - $this->errormsg.=(empty($student_uid)?' Student':$student_uid); - return false; - } + if (empty($lehrveranstaltung_id) + || empty($studiensemester_kurzbz) + || empty($student_uid) ) + { + $this->errormsg = 'Es fehlt die Eingabe von'; + $this->errormsg.=(empty($lehrveranstaltung_id)?' Lehrveranstaltung':$lehrveranstaltung_id); + $this->errormsg.=(empty($studiensemester_kurzbz)?' Semester (Kurzbz.)':$studiensemester_kurzbz); + $this->errormsg.=(empty($student_uid)?' Student':$student_uid); + return false; + } + // -------------------------------------------------------------------- // Ermitteln die Lehreinheiten und Moodle ID // mit dem studiensemester_kurzbz ( bsp WS2008 ) @@ -1197,7 +1181,7 @@ class moodle_course AND tbl_lehreinheit.studiensemester_kurzbz like E'".addslashes($studiensemester_kurzbz)."' ;"; - if(!$result = @pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Lesen der Kurse '; return false; @@ -1207,13 +1191,13 @@ class moodle_course $lehreinheit_kpl = array(); // Gesamte Information der Lehreinheit und Moodle IDs $lehreinheit=array(); // Lehreinheiten zum lesen Studenten im Campus (Student und LE im FAS) //echo $qry; - while($row = pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { $row->lehreinheit_id=trim($row->lehreinheit_id); $lehreinheit[$row->lehreinheit_id]=$row->lehreinheit_id; // Fuer Select Campus $lehreinheit_kpl[$row->lehreinheit_id]=$row; // Fuer GesamtDaten wird Ergaenzt von Campus, } - @pg_free_result($result); + if (count($lehreinheit)<1) // Es gibt keine Lehreinheiten { $this->errormsg='Es wurde kein passender Moodle-Kurs gefunden'; @@ -1239,7 +1223,7 @@ class moodle_course $qry.= " AND lehreinheit_id in (".implode(",",$lehreinheit)."); "; unset($lehreinheit); // lehreinheit wird nach Check nicht mehr benoetigt. wird nun die Lehrveranstalt - if(!$result = @pg_query($this->conn, $qry)) + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler beim Lesen der Studenten mit Lehreinheit(en) '; return false; @@ -1247,7 +1231,7 @@ class moodle_course // Lehreinheit und Moodlekurs zusammenfuehren $lehrveranstaltUSER=array(); // Detailinformation fuer das Noten-Ergebnis $lehrveranstaltMOODLE=array(); // Je Student alle Moodle IDs - while($row = @pg_fetch_object($result)) + while($row = $this->db_fetch_object()) { // Von der Lehreinheit kann der Moodle-Kurs ermittelt werden $mdl_course_id=trim($lehreinheit_kpl[$row->lehreinheit_id]->mdl_course_id); @@ -1259,7 +1243,7 @@ class moodle_course // Alle Moodle IDs zum Studenten sammeln fuer Noten Select $lehrveranstaltMOODLE[$mdl_username][$mdl_course_id]=$mdl_course_id; } - @pg_free_result($result); + unset($lehreinheit_kpl); // Wird nicht mehr benoetigt (die Daten sind nun in LV,LE ) // Fuer die naechste Verarbeitung die Array Sortieren @@ -1272,8 +1256,8 @@ class moodle_course // -------------------------------------------------------------------- // Moodle Noten - Uebersetztungstabellen einlesen (min. ein Record ) // -------------------------------------------------------------------- - $qry = "select * from mdl_grade_letters order by contextid, lowerboundary desc; "; - if(!$result = @pg_query($this->conn_moodle, $qry)) + $qry = "SELECT * FROM mdl_grade_letters ORDER BY contextid, lowerboundary desc; "; + if(!$result = pg_query($this->conn_moodle, $qry)) { $this->errormsg = 'Fehler beim Lesen der Noten '; return false; @@ -1282,7 +1266,7 @@ class moodle_course $mdl_grade_letters_first=null; // Init $mdl_grade_letters=array(); - while($row = @pg_fetch_object($result)) + while($row = pg_fetch_object($result)) { if ($mdl_grade_letters_first==null) $mdl_grade_letters_first=$row->contextid; @@ -1291,9 +1275,6 @@ class moodle_course asort($mdl_grade_letters); reset($mdl_grade_letters); - - - if (!isset($mdl_grade_letters[$mdl_grade_letters_first])) { $this->errormsg = ' Keinen Notenschluessel gefunden! ( Tabelle: mdl_grade_letters ist leer. )'; @@ -1306,7 +1287,7 @@ class moodle_course // // // -------------------------------------------------------------------- - $qry = "select mdl_grade_items.courseid, + $qry = "SELECT mdl_grade_items.courseid, mdl_user.username,mdl_user.lastname,mdl_user.firstname, mdl_grade_grades.userid, mdl_grade_grades.rawgrade, @@ -1314,29 +1295,29 @@ class moodle_course mdl_grade_grades.rawgrademin, mdl_grade_grades.finalgrade, mdl_course.fullname,mdl_course.shortname - from mdl_grade_items , mdl_grade_grades ,mdl_user,mdl_course - where mdl_grade_items.itemtype='course' - and mdl_grade_grades.finalgrade IS NOT NULL - and mdl_course.id=mdl_grade_items.courseid - and mdl_grade_grades.itemid=mdl_grade_items.id - and mdl_grade_grades.userid=mdl_user.id + FROM mdl_grade_items , mdl_grade_grades ,mdl_user,mdl_course + WHERE mdl_grade_items.itemtype='course' + AND mdl_grade_grades.finalgrade IS NOT NULL + AND mdl_course.id=mdl_grade_items.courseid + AND mdl_grade_grades.itemid=mdl_grade_items.id + AND mdl_grade_grades.userid=mdl_user.id "; $usr_qry=""; while (list( $user_key, $course_ids ) = each($lehrveranstaltMOODLE) ) { if(empty($usr_qry)) - $usr_qry.=" and ( (mdl_user.username like E'".addslashes($user_key)."' and mdl_grade_items.courseid in (".implode(",",$course_ids).") ) "; + $usr_qry.=" AND ( (mdl_user.username like E'".addslashes($user_key)."' AND mdl_grade_items.courseid in (".implode(",",$course_ids).") ) "; else - $usr_qry.=" or (mdl_user.username like E'".addslashes($user_key)."' and mdl_grade_items.courseid in (".implode(",",$course_ids).") ) "; + $usr_qry.=" OR (mdl_user.username like E'".addslashes($user_key)."' AND mdl_grade_items.courseid in (".implode(",",$course_ids).") ) "; } if (!empty($usr_qry)) $qry.=$usr_qry." )"; - $qry.= "order by mdl_grade_items.courseid,mdl_user.lastname,mdl_user.firstname;"; // Ende SQL String + $qry.= "ORDER BY mdl_grade_items.courseid,mdl_user.lastname,mdl_user.firstname;"; // Ende SQL String if (isset($lehrveranstaltMOODLE)) // wird nicht mehr benoetigt unset($lehrveranstaltMOODLE); - if(!$result = @pg_query($this->conn_moodle, $qry)) + if(!$result = pg_query($this->conn_moodle, $qry)) { $this->errormsg = 'Fehler beim Lesen der Moodle Benutzer und Noten '; return false; @@ -1346,7 +1327,7 @@ class moodle_course $mdl_course=array(); $mdl_noten=array(); $mdl_noten_course=array(); - while($row = @pg_fetch_object($result)) + while($row = pg_fetch_object($result)) { $mdl_course_id=trim($row->courseid); $mdl_username=trim($row->username); @@ -1354,8 +1335,7 @@ class moodle_course if (empty($mdl_finalgrade)) continue; // Keine Notenfindung - - + // Vergleichswerte fuer die Noten aus der Tabelle mdl_grade_letters suchen $arrTmpDefaultNoten=array(); $mdl_grade_letters_first=1; // Es muss einen Default geben (Administrator Noten) @@ -1383,7 +1363,7 @@ class moodle_course // Vergleichsoperatoren fuer Noten $iTmpVergl=$arrTmpDefaultNoten[$iTmpIndex]->lowerboundary; $iTmpFaktor=(!empty($row->rawgrademax)?(int)(100/$row->rawgrademax):1); - //echo "
::$iTmpIndex $mdl_finalgrade>=( $iTmpVergl / $iTmpFaktor)::
"; + if ($mdl_finalgrade>=( $iTmpVergl / $iTmpFaktor) ) { if (is_numeric($arrTmpDefaultNoten[$iTmpIndex]->letter)) @@ -1441,13 +1421,9 @@ class moodle_course $mdl_course['ohneLV'][]=$row; } } - - -# echo "
courseid:=".$row->courseid ."(".$row->fullname." ".$row->shortname.") username:=".$row->username ." Name:=".$row->firstname." ".$row->lastname." Note ".$row->note .""; } - // nicht benoetigten Speicher freigeben - @pg_free_result($result); + unset($result); if (isset($qry)) unset($qry); diff --git a/include/moodle_user.class.php b/include/moodle_user.class.php index 7c1f100c8..390d74d5f 100644 --- a/include/moodle_user.class.php +++ b/include/moodle_user.class.php @@ -23,37 +23,42 @@ * requires moodle_course.class.php * studiengang.class.php */ -class moodle_user +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class moodle_user extends basis_db { - var $conn; - var $conn_moodle; - var $errormsg; - var $log=''; //log message fuer Syncro - var $log_public=''; //log message fuer Syncro - var $sync_create=0; //anzahl der durchgefuehrten zuteilungen beim syncro - var $group_update=0; //anzahl der updates an gruppen + private $conn_moodle; + public $log=''; //log message fuer Syncro + public $log_public=''; //log message fuer Syncro + public $sync_create=0; //anzahl der durchgefuehrten zuteilungen beim syncro + public $group_update=0; //anzahl der updates an gruppen - var $mdl_user_id; - var $mdl_user_username; - var $mdl_user_firstname; - var $mdl_user_lastname; - - - // ********************************************** - // * moodle_user - // * @param $conn Connection zur Vilesci DB - // * $conn_moodle Connection zur Moodle DB - // ********************************************** - function moodle_user($conn, $conn_moodle) - { - $this->conn = $conn; - $this->conn_moodle = $conn_moodle; + public $mdl_user_id; + public $mdl_user_username; + public $mdl_user_firstname; + public $mdl_user_lastname; - $qry = "SET CLIENT_ENCODING TO 'LATIN9';"; - pg_query($this->conn_moodle, $qry); + /** + * Konstruktor + */ + public function __construct() + { + if(!$this->conn_moodle=pg_pconnect(CONN_STRING_MOODLE)) + { + $this->errormsg = 'Fehler beim Herstellen der Moodle Verbindung'; + return false; + } + else + return true; } - function loaduser($uid) + /** + * Laedt einen Moodle User + * + * @param $uid + * @return boolean + */ + public function loaduser($uid) { $qry = "SELECT * FROM public.mdl_user WHERE username='".addslashes($uid)."'"; @@ -80,11 +85,11 @@ class moodle_user } } - // *********************************************** - // * Liefert ein Array mit allen Lektoren die - // * zu dem Moodle Kurs zugeteilt sind - // *********************************************** - function getMitarbeiter($mdl_course_id) + /** + * Liefert ein Array mit allen Lektoren die + * zu dem Moodle Kurs zugeteilt sind + */ + public function getMitarbeiter($mdl_course_id) { //Mitarbeiter laden die zu diesem Kurs zugeteilt sind $qry = "SELECT @@ -103,25 +108,30 @@ class moodle_user tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz AND mdl_course_id='".addslashes($mdl_course_id)."'"; $mitarbeiter=array(); - if($result_ma = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - while($row_ma = pg_fetch_object($result_ma)) + while($row_ma = $this->db_fetch_object()) { $mitarbeiter[] = $row_ma->mitarbeiter_uid; } return $mitarbeiter; } + else + { + $this->errormsg='Fehler beim Laden der Mitarbeiter'; + return false; + } } - // ************************************************ - // * Synchronisiert die Lektoren der Lehreinheiten - // * mit denen des Moodle Kurses - // * @param $mdl_course_id ID des MoodleKurses - // * lehrveranstaltung_id wird nur angegeben beim Syncro von Testkursen - // * studiensemester_kurzbz wird nur angegeben beim Syncro von Testkursen - // * @return true wenn ok, false wenn Fehler - // ************************************************ - function sync_lektoren($mdl_course_id, $lehrveranstaltung_id=null, $studiensemester_kurzbz=null) + /** + * Synchronisiert die Lektoren der Lehreinheiten + * mit denen des Moodle Kurses + * @param $mdl_course_id ID des MoodleKurses + * lehrveranstaltung_id wird nur angegeben beim Syncro von Testkursen + * studiensemester_kurzbz wird nur angegeben beim Syncro von Testkursen + * @return true wenn ok, false wenn Fehler + */ + public function sync_lektoren($mdl_course_id, $lehrveranstaltung_id=null, $studiensemester_kurzbz=null) { //Mitarbeiter laden die zu diesem Kurs zugeteilt sind if(!is_null($lehrveranstaltung_id) && !is_null($studiensemester_kurzbz)) @@ -152,17 +162,17 @@ class moodle_user AND mdl_course_id='".addslashes($mdl_course_id)."'"; } $mitarbeiter=''; - if($result_ma = pg_query($this->conn, $qry)) + if($result_ma = $this->db_query($qry)) { //Context des Kurses holen - $mdlcourse = new moodle_course($this->conn, $this->conn_moodle); + $mdlcourse = new moodle_course(); if(!$mdlcourse->getContext(50, $mdl_course_id)) { $this->errormsg = 'Fehler beim Laden des Contexts'; return false; } - while($row_ma = pg_fetch_object($result_ma)) + while($row_ma = $this->db_fetch_object($result_ma)) { //MoodleID des Users holen bzw ggf neu anlegen if(!$this->loaduser($row_ma->mitarbeiter_uid)) @@ -238,13 +248,13 @@ class moodle_user } } - // ************************************************ - // * Synchronisiert die Studenten der Lehreinheiten - // * mit denen des Moodle Kurses - // * @param $mdl_course_id ID des MoodleKurses - // * @return true wenn ok, false wenn Fehler - // ************************************************ - function sync_studenten($mdl_course_id) + /** + * Synchronisiert die Studenten der Lehreinheiten + * mit denen des Moodle Kurses + * @param $mdl_course_id ID des MoodleKurses + * @return true wenn ok, false wenn Fehler + */ + public function sync_studenten($mdl_course_id) { //Studentengruppen laden die zu diesem Kurs zugeteilt sind $qry = "SELECT @@ -263,17 +273,17 @@ class moodle_user tbl_lehreinheit.studiensemester_kurzbz=tbl_moodle.studiensemester_kurzbz AND mdl_course_id='".addslashes($mdl_course_id)."'"; $studenten=''; - if($result_std = pg_query($this->conn, $qry)) + if($result_std = $this->db_query($qry)) { //Context des Kurses holen - $mdlcourse = new moodle_course($this->conn, $this->conn_moodle); + $mdlcourse = new moodle_course(); if(!$mdlcourse->getContext(50, $mdl_course_id)) { $this->errormsg = 'Fehler beim Laden des Contexts'; return false; } - while($row_std = pg_fetch_object($result_std)) + while($row_std = $this->db_fetch_object($result_std)) { //Schauen ob fuer diesen Kurs die Gruppen mitgesynct werden sollen $gruppensync = $row_std->gruppen=='t'?true:false; @@ -287,9 +297,9 @@ class moodle_user FROM public.tbl_studentlehrverband WHERE - studiensemester_kurzbz='$row_std->studiensemester_kurzbz' AND - studiengang_kz = '$row_std->studiengang_kz' AND - semester = '$row_std->semester'"; + studiensemester_kurzbz='".addslashes($row_std->studiensemester_kurzbz)."' AND + studiengang_kz = '".addslashes($row_std->studiengang_kz)."' AND + semester = '".addslashes($row_std->semester)."'"; if(trim($row_std->verband)!='') { $qry.=" AND verband = '$row_std->verband'"; @@ -298,7 +308,7 @@ class moodle_user $qry.=" AND gruppe = '$row_std->gruppe'"; } } - $studiengang_obj = new studiengang($this->conn); + $studiengang_obj = new studiengang(); $studiengang_obj->load($row_std->studiengang_kz); $gruppenbezeichnung = $studiengang_obj->kuerzel.'-'.trim($row_std->semester).trim($row_std->verband).trim($row_std->gruppe); } @@ -309,17 +319,15 @@ class moodle_user FROM public.tbl_benutzergruppe WHERE - gruppe_kurzbz='$row_std->gruppe_kurzbz' AND - studiensemester_kurzbz='$row_std->studiensemester_kurzbz' - "; + gruppe_kurzbz='".addslashes($row_std->gruppe_kurzbz)."' AND + studiensemester_kurzbz='".addslashes($row_std->studiensemester_kurzbz)."'"; $gruppenbezeichnung = $row_std->gruppe_kurzbz; } - if($result_user = pg_query($this->conn, $qry)) + if($result_user = $this->db_query($qry)) { - while($row_user = pg_fetch_object($result_user)) + while($row_user = $this->db_fetch_object($result_user)) { - //MoodleID des Users holen bzw ggf neu anlegen if(!$this->loaduser($row_user->student_uid)) { @@ -421,14 +429,14 @@ class moodle_user } } - // ************************************************ - // * Schaut ob eine Zuteilung von Person zu Gruppe - // * existiert - // * @param grouid ID der Gruppe - // * userid ID des Users - // * @return ID der Zuteilung - // ************************************************ - function getGroupMember($groupid, $userid) + /** + * Schaut ob eine Zuteilung von Person zu Gruppe + * existiert + * @param grouid ID der Gruppe + * userid ID des Users + * @return ID der Zuteilung + */ + public function getGroupMember($groupid, $userid) { $qry = "SELECT id FROM public.mdl_groups_members WHERE groupid='".addslashes($groupid)."' AND userid='".addslashes($userid)."'"; if($result = pg_query($this->conn_moodle, $qry)) @@ -449,14 +457,14 @@ class moodle_user } } - // *************************************************** - // * Legt eine Zuteilung eines Users zu - // * einer Gruppe an - // * @param groupid ID der Gruppe - // * userid ID des Users - // * @return ID der Zuteilung oder false im Fehlerfall - // *************************************************** - function createGroupMember($groupid, $userid) + /** + * Legt eine Zuteilung eines Users zu + * einer Gruppe an + * @param groupid ID der Gruppe + * userid ID des Users + * @return ID der Zuteilung oder false im Fehlerfall + */ + public function createGroupMember($groupid, $userid) { $qry = 'BEGIN; INSERT INTO public.mdl_groups_members(groupid, userid) VALUES('. $this->addslashes($groupid).','.$this->addslashes($userid).');'; @@ -490,13 +498,14 @@ class moodle_user return false; } } - // ************************************************ - // * Holt die ID einer MoodleGruppe - // * @param $mdl_course_id ID des Kurses - // * $gruppenbezeichnung Name der Gruppe - // * @return GruppenID wenn ok, false im Fehlerfall - // ************************************************ - function getGroup($mdl_course_id, $gruppenbezeichnung) + + /** + * Holt die ID einer MoodleGruppe + * @param $mdl_course_id ID des Kurses + * $gruppenbezeichnung Name der Gruppe + * @return GruppenID wenn ok, false im Fehlerfall + */ + public function getGroup($mdl_course_id, $gruppenbezeichnung) { $qry = "SELECT id FROM public.mdl_groups WHERE courseid='".addslashes($mdl_course_id)."' AND name='".addslashes($gruppenbezeichnung)."'"; @@ -508,7 +517,7 @@ class moodle_user } else { - $this->errormsg = "Gruppe wurde nciht gefunden $gruppenbezeichnung"; + $this->errormsg = "Gruppe wurde nicht gefunden $gruppenbezeichnung"; return false; } } @@ -519,13 +528,13 @@ class moodle_user } } - // **************************************************** - // * Legt eine MoodleGruppe zu einem Kurs an - // * @param mdl_course_id ID des MoodleKuses - // * gruppenbezeichnung Bezeichnung der Gruppe - // * @return ID der Gruppe wenn ok, false im Fehlerfall - // **************************************************** - function createGroup($mdl_course_id, $gruppenbezeichnung) + /** + * Legt eine MoodleGruppe zu einem Kurs an + * @param mdl_course_id ID des MoodleKuses + * gruppenbezeichnung Bezeichnung der Gruppe + * @return ID der Gruppe wenn ok, false im Fehlerfall + */ + public function createGroup($mdl_course_id, $gruppenbezeichnung) { $qry = 'BEGIN;INSERT INTO public.mdl_groups(courseid, name, description) VALUES('. $this->addslashes($mdl_course_id).','. @@ -561,28 +570,18 @@ class moodle_user return false; } } - // ************************************************ - // * wenn $var '' ist wird "null" zurueckgegeben - // * wenn $var !='' ist werden datenbankkritische - // * Zeichen mit backslash versehen und das Ergebnis - // * unter Hochkomma gesetzt. - // ************************************************ - function addslashes($var) - { - return ($var!=''?"'".addslashes($var)."'":'null'); - } - - // ******************************************** - // * Legt einen User im Moodle an - // * @param $uid UID der Person die angelegt werden soll - // * @return true wenn ok, false wenn Fehler - // ******************************************** - function createUser($uid) + + /** + * Legt einen User im Moodle an + * @param $uid UID der Person die angelegt werden soll + * @return true wenn ok, false wenn Fehler + */ + public function createUser($uid) { $qry = "SELECT uid, vorname, nachname FROM campus.vw_benutzer WHERE uid='".addslashes($uid)."'"; - if($result = pg_query($this->conn, $qry)) + if($this->db_query($qry)) { - if($row = pg_fetch_object($result)) + if($row = $this->db_fetch_object()) { $username = $row->uid; $vorname = $row->vorname; @@ -641,15 +640,15 @@ class moodle_user } } - // ********************************************* - // * Teilt den User mit der ID $mdl_user_id zum - // * Kurs mit der ContextID $mdl_context_id zu. - // * @param $mdl_user_id Moodle ID des Users - // * $mdl_context_id ContextID des Kurses - // * $role Rolle der Zuteilung (1=Admin/3=Lektor/5=Student) - // * @return true wenn ok, false wenn Fehler - // ********************************************* - function createZuteilung($mdl_user_id, $mdl_context_id, $role) + /** + * Teilt den User mit der ID $mdl_user_id zum + * Kurs mit der ContextID $mdl_context_id zu. + * @param $mdl_user_id Moodle ID des Users + * $mdl_context_id ContextID des Kurses + * $role Rolle der Zuteilung (1=Admin/3=Lektor/5=Student) + * @return true wenn ok, false wenn Fehler + */ + public function createZuteilung($mdl_user_id, $mdl_context_id, $role) { $qry = "INSERT INTO public.mdl_role_assignments(roleid, contextid, userid) VALUES(". @@ -668,13 +667,13 @@ class moodle_user } } - // ********************************************* - // * Fuegt dem User die globale Gastrolle hinzu - // * @param $mdl_user_id Moodle ID des Users der - // * die GastRolle bekommt - // * @return true wenn ok, false wenn Fehler - // ********************************************* - function createGlobaleGastrolle($mdl_user_id) + /** + * Fuegt dem User die globale Gastrolle hinzu + * @param $mdl_user_id Moodle ID des Users der + * die GastRolle bekommt + * @return true wenn ok, false wenn Fehler + */ + public function createGlobaleGastrolle($mdl_user_id) { //Nachschauen ob diese Person bereits eine globale Gastrolle hat @@ -697,6 +696,7 @@ class moodle_user else $this->log.="\nFehler beim Anlegen der Gast-Zuteilung: $this->errormsg"; } + return true; } else { @@ -705,13 +705,13 @@ class moodle_user } } - // ************************************************* - // * Loescht die Zuteilung eines Users zu einem Kurs - // * @param $mdl_user_id MoodleID des Users - // * $mdl_context_id ContextID des Users - // * @return true wenn ok, false wenn Fehler - // ************************************************* - function deleteZuteilung($mdl_user_id, $mdl_context_id) + /** + * Loescht die Zuteilung eines Users zu einem Kurs + * @param $mdl_user_id MoodleID des Users + * $mdl_context_id ContextID des Users + * @return true wenn ok, false wenn Fehler + */ + public function deleteZuteilung($mdl_user_id, $mdl_context_id) { $qry = "DELETE FROM public.mdl_role_assignments WHERE userid='".addslashes($mdl_user_id)."' AND contextid='".addslashes($mdl_context_id)."'"; @@ -724,14 +724,14 @@ class moodle_user } } - // ******************************************************* - // * Teilt die TestStudenten zu einem Testkurs zu - // * @param mdl_course_id ID des Moodle Kurses - // ******************************************************* - function createTestStudentenZuordnung($mdl_course_id) + /** + * Teilt die TestStudenten zu einem Testkurs zu + * @param mdl_course_id ID des Moodle Kurses + */ + public function createTestStudentenZuordnung($mdl_course_id) { //Context des Kurses holen - $mdlcourse = new moodle_course($this->conn, $this->conn_moodle); + $mdlcourse = new moodle_course(); if(!$mdlcourse->getContext(50, $mdl_course_id)) { $this->errormsg = 'Fehler beim Laden des Contexts';