diff --git a/include/moodle_course.class.php b/include/moodle_course.class.php index 8dc94c872..b7faf6e99 100644 --- a/include/moodle_course.class.php +++ b/include/moodle_course.class.php @@ -109,6 +109,50 @@ class moodle_course extends basis_db return false; } + $qry = "SELECT * FROM public.mdl_course WHERE id='".addslashes($mdl_course_id)."'"; + if($result = pg_query($this->conn_moodle, $qry)) + { + if($row = pg_fetch_object($result)) + { + $this->mdl_fullname = $row->fullname; + $this->mdl_shortname = $row->shortname; + $this->mdl_course_id = $row->id; + return true; + } + else + { + $this->errormsg = 'Kurs wurde nicht gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden des Kurses'; + return false; + } + } + + /** + * Laedt einen MoodleKurs + * @param mdl_course_id ID des Moodle Kurses + * @return true wenn ok, false im Fehlerfall + */ + public function loadMoodle($mdl_course_id=null) + { + $this->mdl_fullname = ''; + $this->mdl_shortname = ''; + + $this->errormsg=''; + $this->result=array(); + + if (!is_null($mdl_course_id)) + $this->mdl_course_id=$mdl_course_id; + if (is_null($this->mdl_course_id) || empty($this->mdl_course_id) || !is_numeric($this->mdl_course_id)) + { + $this->errormsg='Moodle Kurs ID fehlt'; + return false; + } + // Variable Daten Initialisieren $args=array(); $args['CourseID']=$this->mdl_course_id; @@ -142,30 +186,7 @@ class moodle_course extends basis_db } # return $this->result; return true; - - $qry = "SELECT * FROM public.mdl_course WHERE id='".addslashes($mdl_course_id)."'"; - if($result = pg_query($this->conn_moodle, $qry)) - { - if($row = pg_fetch_object($result)) - { - $this->mdl_fullname = $row->fullname; - $this->mdl_shortname = $row->shortname; - $this->mdl_course_id = $row->id; - return true; - } - else - { - $this->errormsg = 'Kurs wurde nicht gefunden'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden des Kurses'; - return false; - } - } - +} /** * Laedt alle MoodleKurse die zu einer LV/Stsem * plus die MoodleKurse die auf dessen LE haengen @@ -389,7 +410,7 @@ class moodle_course extends basis_db * studiensemester_kurzbz * @return true wenn ok, false im Fehlerfall */ - public function getAllMoodleVariant($mdl_course_id='',$lehrveranstaltung_id='',$studiensemester_kurzbz='',$lehreinheit_id='',$studiengang='',$semester='',$detail=false) + public function getAllMoodleVariant($mdl_course_id='',$lehrveranstaltung_id='',$studiensemester_kurzbz='',$lehreinheit_id='',$studiengang='',$semester='',$detail=false,$lehre=true,$aktiv=true) { // Initialisierung $this->errormsg = ''; @@ -407,29 +428,72 @@ class moodle_course extends basis_db $where=''; + if ($mdl_course_id!='') $where.=" and tbl_moodle.mdl_course_id='".addslashes($mdl_course_id)."' "; - - + if ($lehreinheit_id!='') - $where.=" and tbl_moodle.lehreinheit_id='".addslashes($lehreinheit_id)."' "; + $where.=" tbl_lehreinheit.lehreinheit_id='".addslashes($lehreinheit_id)."' "; if ($lehrveranstaltung_id!='') - $where.=" and tbl_moodle.lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' "; + $where.=" and tbl_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lehrveranstaltung_id)."' "; if ($studiensemester_kurzbz!='') - $where.=" and tbl_moodle.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' "; + $where.=" and tbl_lehreinheit.studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' "; if ($studiengang!='') $where.=" and tbl_lehrveranstaltung.studiengang_kz='".addslashes($studiengang)."' "; if ($semester!='') $where.=" and tbl_lehrveranstaltung.semester='".addslashes($semester)."' "; + + if ($lehre) + $where.=" and tbl_lehrveranstaltung.lehre "; + + if ($aktiv) + $where.=" and tbl_lehrveranstaltung.aktiv "; + + $qry =''; + $qry.=' SELECT distinct tbl_moodle.studiensemester_kurzbz + ,tbl_lehrveranstaltung.studiengang_kz + ,tbl_lehrveranstaltung.semester + ,tbl_moodle.mdl_course_id + ,tbl_lehrveranstaltung.lehrveranstaltung_id + ,tbl_moodle.lehreinheit_id as moodle_lehreinheit_id + ,tbl_moodle.lehrveranstaltung_id as moodle_lehrveranstaltung_id + ,tbl_moodle.lehreinheit_id as lehreinheit_id,tbl_lehrveranstaltung.bezeichnung,tbl_lehrveranstaltung.kurzbz,tbl_moodle.gruppen + ,tbl_lehrveranstaltung.lehrform_kurzbz,tbl_lehrveranstaltung.orgform_kurzbz + ,tbl_moodle.moodle_id + FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit,lehre.tbl_moodle + + where tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_moodle.lehrveranstaltung_id + and tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_moodle.lehrveranstaltung_id + and tbl_moodle.studiensemester_kurzbz=tbl_lehreinheit.studiensemester_kurzbz + and tbl_moodle.lehreinheit_id is null + '; $qry.=$where; + + $qry.=' UNION '; + $qry.=' SELECT distinct tbl_moodle.studiensemester_kurzbz + ,tbl_lehrveranstaltung.studiengang_kz + ,tbl_lehrveranstaltung.semester + ,tbl_moodle.mdl_course_id + ,tbl_lehrveranstaltung.lehrveranstaltung_id + ,tbl_moodle.lehreinheit_id as moodle_lehreinheit_id + ,tbl_moodle.lehrveranstaltung_id as moodle_lehrveranstaltung_id + ,tbl_moodle.lehreinheit_id as lehreinheit_id,tbl_lehrveranstaltung.bezeichnung,tbl_lehrveranstaltung.kurzbz,tbl_moodle.gruppen + ,tbl_lehrveranstaltung.lehrform_kurzbz,tbl_lehrveranstaltung.orgform_kurzbz + ,tbl_moodle.moodle_id + FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit,lehre.tbl_moodle + + where tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id + and tbl_moodle.lehreinheit_id=tbl_lehreinheit.lehreinheit_id + and tbl_moodle.lehrveranstaltung_id is null + '; + $qry.=$where; + + $qry.=' order by 1,2,3,4,5,6,7; '; - $qry.=" order by tbl_moodle.studiensemester_kurzbz,tbl_lehrveranstaltung.semester,tbl_moodle.lehrveranstaltung_id,tbl_moodle.lehreinheit_id,tbl_moodle.mdl_course_id "; - - $qry.=";"; #echo "