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; + } + } + } +}