From ef0320a4d3f3560f3c165adf791ed259ed48ab39 Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 9 Feb 2015 09:33:30 +0100 Subject: [PATCH] =?UTF-8?q?Script=20hinzugef=C3=BCgt=20um=20f=C3=BCr=20all?= =?UTF-8?q?e=20Lehrveranstaltungen=20einen=20Moodle=20Kurs=20zu=20erstelle?= =?UTF-8?q?n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/sync/sync_moodle_kurse.php | 100 ++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 system/sync/sync_moodle_kurse.php diff --git a/system/sync/sync_moodle_kurse.php b/system/sync/sync_moodle_kurse.php new file mode 100644 index 000000000..010e32a5d --- /dev/null +++ b/system/sync/sync_moodle_kurse.php @@ -0,0 +1,100 @@ + + */ +/** + * Legt fuer jede Lehrveranstaltung im aktuellen Semester einen Moodle Kurs an + * falls noch keiner vorhanden ist + * und teilt Lektoren und Studierende zu dem Kurs zu + */ +require_once('../../config/cis.config.inc.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/moodle.class.php'); +require_once('../../include/moodle24_course.class.php'); +require_once('../../include/moodle24_user.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); + +// Wenn das Script nicht ueber Commandline gestartet wird, muss eine +// Authentifizierung stattfinden +if(php_sapi_name() != 'cli') +{ + $uid = get_uid(); + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($uid); + + if(!$rechte->isBerechtigt('admin')) + die('Sie haben keine Berechtigung fuer diese Seite'); +} + +$db = new basis_db(); + +$stsem_obj = new studiensemester(); +$stsem = $stsem_obj->getAktOrNext(); + +$qry = "SELECT distinct lehrveranstaltung_id, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.kurzbz, + tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.orgform_kurzbz, tbl_lehrveranstaltung.semester + FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + WHERE studiensemester_kurzbz=".$db->db_add_param($stsem); + +if($result = $db->db_query($qry)) +{ + while($row = $db->db_fetch_object($result)) + { + $mdl_course = new moodle24_course(); + $mdl = new moodle(); + + if(!$mdl->course_exists_for_lv($row->lehrveranstaltung_id, $stsem)) + { + $studiengang = new studiengang(); + $studiengang->load($row->studiengang_kz); + + $shortname = $studiengang->kuerzel.'-'.$row->orgform_kurzbz.'-'.$row->semester.'-'.$stsem.'-'.$row->kurzbz; + $bezeichnung = $studiengang->kuerzel.'-'.$row->orgform_kurzbz.'-'.$row->semester.'-'.$stsem.' - '.$row->bezeichnung; + + $mdl_course->lehrveranstaltung_id = $row->lehrveranstaltung_id; + $mdl_course->studiensemester_kurzbz = $stsem; + $mdl_course->mdl_fullname = $bezeichnung; + $mdl_course->mdl_shortname = $shortname; + $mdl_course->insertamum = date('Y-m-d H:i:s'); + $mdl_course->insertvon = 'auto'; + $mdl_course->gruppen = true; + + //Moodlekurs anlegen + if($mdl_course->create_moodle()) + { + //Eintrag in der Vilesci DB + $mdl_course->create_vilesci(); + + $mdl_user = new moodle24_user(); + //Lektoren Synchronisieren + if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id)) + echo $mdl_user->errormsg; + + $mdl_user = new moodle24_user(); + //Studenten Synchronisieren + if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id)) + echo $mdl_user->errormsg; + } + else + { + echo $mdl_course->errormsg; + } + } + } +}