diff --git a/cis/private/lehre/abgabe_lektor.php b/cis/private/lehre/abgabe_lektor.php index 20ea23116..4c32f8f72 100644 --- a/cis/private/lehre/abgabe_lektor.php +++ b/cis/private/lehre/abgabe_lektor.php @@ -34,11 +34,20 @@ require_once('../../../include/person.class.php'); require_once('../../../include/benutzer.class.php'); require_once('../../../include/mitarbeiter.class.php'); require_once('../../../include/phrasen.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); if (!$db = new basis_db()) die('Fehler beim Herstellen der Datenbankverbindung'); $getuid=get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($getuid); + +if (isset($_GET['user'])) +{ + if ($rechte->isBerechtigt('admin',null,'suid')) + $getuid = $_GET['user']; +} $sprache = getSprache(); diff --git a/cis/private/lehre/abgabe_lektor_details.php b/cis/private/lehre/abgabe_lektor_details.php index e46d40dd2..abf17fc8c 100644 --- a/cis/private/lehre/abgabe_lektor_details.php +++ b/cis/private/lehre/abgabe_lektor_details.php @@ -76,6 +76,13 @@ $stg_arr = array(); $error = false; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); + +if (isset($_GET['user'])) +{ + if ($rechte->isBerechtigt('admin',null,'suid')) + $user = $_GET['user']; +} + $htmlstr=''; if(!check_lektor($user)) diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php old mode 100644 new mode 100755 index 90fcc4669..39a2038ce --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -129,7 +129,7 @@ $qry = "SELECT tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_prestudent.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_prestudent.studiengang_kz AS stg_kz_student, - tbl_zeugnisnote.note, tbl_mitarbeiter.mitarbeiter_uid + tbl_zeugnisnote.note, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr FROM campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) @@ -188,6 +188,7 @@ if($result = $db->db_query($qry)) 'vorname'=>$row->vorname, 'nachname'=>$row->nachname, 'personenkennzeichen'=>trim($row->perskz), + 'matr_nr'=>$row->matr_nr, 'semester'=>$row->semester, 'verband'=>trim($row->verband), 'gruppe'=>trim($row->gruppe), diff --git a/cis/private/lehre/anwesenheitsliste_bilder.pdf.php b/cis/private/lehre/anwesenheitsliste_bilder.pdf.php old mode 100644 new mode 100755 index 6a524b346..6f0678aab --- a/cis/private/lehre/anwesenheitsliste_bilder.pdf.php +++ b/cis/private/lehre/anwesenheitsliste_bilder.pdf.php @@ -99,5 +99,9 @@ function getmax($val1,$val2) return ($val1>$val2)?$val1:$val2; } -require_once('../../../include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php'); +if (file_exists('../../../addons/sfu-milano/include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php')) + require_once('../../../addons/sfu-milano/include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php'); +else + require_once('../../../include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php'); + ?> diff --git a/cis/private/lehre/benotungstool/verwaltung_listen.php b/cis/private/lehre/benotungstool/verwaltung_listen.php index 4c0f30e30..57a149caa 100644 --- a/cis/private/lehre/benotungstool/verwaltung_listen.php +++ b/cis/private/lehre/benotungstool/verwaltung_listen.php @@ -497,8 +497,17 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) if ($angabedatei_up) { $name_up = pathinfo($_FILES["angabedatei"]["name"]); + //Handle double file extensions (e.g.: .tar.gz) + //Array of possible double extensions + $ext_array = array('.tar.gz','.tar.bz2','.tar.xz','.tar.lzma','.tar.Z'); + //Find occurence of extensions ending with ".tar." + if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array)) + $extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.')); + else + $extension = $name_up["extension"]; + $name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); - $angabedatei = $name_neu.".".$name_up["extension"]; + $angabedatei = $name_neu.".".$extension; $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei; //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; @@ -661,8 +670,16 @@ if(isset($_POST['uebung_edit'])) if ($angabedatei_up) { $name_up = pathinfo($_FILES["angabedatei"]["name"]); + //Handle double file extensions (e.g.: .tar.gz) + //Array of possible double extensions + $ext_array = array('.tar.gz','.tar.bz2','.tar.xz','.tar.lzma','.tar.Z'); + //Find occurence of extensions ending with ".tar." + if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array)) + $extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.')); + else + $extension = $name_up["extension"]; $name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); - $angabedatei_neu = $name_neu.".".$name_up["extension"]; + $angabedatei_neu = $name_neu.".".$extension; $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei_neu; //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index 939bb34ff..3ef462d05 100755 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -968,10 +968,17 @@ function loadPruefungStudiengang(studiengang_kz, studiensemester) var liste = ""; data.result.forEach(function(e){ liste += ""; + try + { + e.pruefung[0].termine.forEach(function(d){ + liste += "
  • "+convertDateTime(d.von)+" "+convertDateTime(d.von, "time")+" - "+convertDateTime(d.bis, "time")+"
  • "; + }); + } + catch(err) + { + var errmsg = err.message; + } + liste += ""; }); $("#pruefungenListe").append(liste); } diff --git a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php index bd95242d3..85126e44a 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php @@ -229,6 +229,8 @@ $rechte->getBerechtigungen($uid); t('global/nachname'); ?> t('global/matrikelnummer'); ?> t('global/datum'); ?> + t('benotungstool/note'); ?> + t('global/anmerkung'); ?> @@ -256,8 +258,10 @@ $rechte->getBerechtigungen($uid); echo ''.$anmeldung->reihung.''; echo ''.$student->vorname.''; echo ''.$student->nachname.''; - echo ''.$student->matrikelnr.''; + echo ''.$student->matr_nr.''; echo ''.$date.''; + echo ''; + echo ''; echo ''; } ?> @@ -274,6 +278,19 @@ $rechte->getBerechtigungen($uid); } ?> +
    + + + + + + + + + + + diff --git a/cis/public/accountactivation.php b/cis/public/accountactivation.php old mode 100644 new mode 100755 index 1726ffaaa..823c50823 --- a/cis/public/accountactivation.php +++ b/cis/public/accountactivation.php @@ -36,10 +36,10 @@ if(isset($_GET['sprache'])) } $erfolgreichaktiviert=false; -$sprache = getSprache(); +$sprache = getSprache(); $p = new phrasen($sprache); -$securimage = new Securimage(); +$securimage = new Securimage(); $errormsg=''; $db = new basis_db(); @@ -55,9 +55,9 @@ else if(isset($_POST['submit'])) -{ - // Captcha Pruefen - if ($securimage->check($_POST['captcha_code']) == true) +{ + // Captcha Pruefen + if ($securimage->check($_POST['captcha_code']) == true) { // Benutzer laden $benutzer = new benutzer(); @@ -68,7 +68,7 @@ if(isset($_POST['submit'])) { $passwort = $_POST['passwort']; $passwort2 = $_POST['passwort2']; - + // Vergleichen ob beide Passwoerter gleich sind if($passwort==$passwort2) { @@ -89,22 +89,22 @@ if(isset($_POST['submit'])) } else { - $errormsg='Passwoerter stimmen nicht ueberein'; + $errormsg = $p->t('passwort/NichtUebereinstimmend'); } } else { - $errormsg='Code oder Username falsch'; + $errormsg = $p->t('passwort/CodeOderUsernameFalsch'); } } else { - $errormsg='Code oder Username falsch'; + $errormsg = $p->t('passwort/CodeOderUsernameFalsch'); } } else { - $errormsg= 'Captcha Code falsch'; + $errormsg= $p->t('passwort/CaptchaCodeFalsch'); } } @@ -118,7 +118,7 @@ echo ' @@ -132,8 +132,8 @@ echo ' if($erfolgreichaktiviert) { - echo '

    Ihr Account wurde erfolgreich aktiviert



    - >> Weiter zum Login'; + echo '

    '.$p->t('passwort/AccountErfolgreichAktiviert').'



    + >> '.$p->t('passwort/WeiterZumLogin').''; } else { @@ -159,7 +159,7 @@ else

    '; if(!isset($_SERVER['HTTPS']) || (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='off')) { - + $httpspath = str_replace('http://','https://',APP_ROOT).'cis/public/accountactivation.php'; echo '
    '.$p->t('passwort/NoHttps').'
    '.$p->t('passwort/ZuHttpsWechseln').'

    '; diff --git a/content/pdfExport.php b/content/pdfExport.php old mode 100644 new mode 100755 index f5756243e..042892976 --- a/content/pdfExport.php +++ b/content/pdfExport.php @@ -186,7 +186,7 @@ if (isset($_GET['output']) && $_GET['output']!='pdf') else $output = $_GET['output']; } -else +else $output = 'pdf'; @@ -278,7 +278,7 @@ elseif(in_array($xsl,array('Ressource'))) exit; } } -elseif(in_array($xsl,array('Inskription','Studienerfolg','OutgoingLearning','OutgoingChangeL','LearningAgree','Zahlung'))) +elseif(in_array($xsl,array('Inskription','Studienerfolg','OutgoingLearning','OutgoingChangeL','LearningAgree','Zahlung','DichiaSost'))) { if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz')) { diff --git a/include/auth_mixed.class.php b/include/auth_mixed.class.php index d6b861b0d..cff1d8635 100644 --- a/include/auth_mixed.class.php +++ b/include/auth_mixed.class.php @@ -144,7 +144,7 @@ class authentication extends auth { header('WWW-Authenticate: Basic realm="'.AUTH_NAME.'"'); header('HTTP/1.0 401 Unauthorized'); - echo "Ihre Zugangsdaten sind ungueltig!"; + echo "Invalid Credentials"; exit; } else diff --git a/include/dokument.class.php b/include/dokument.class.php index db179180b..9b847ec17 100644 --- a/include/dokument.class.php +++ b/include/dokument.class.php @@ -450,7 +450,7 @@ class dokument extends basis_db /** * Liefert alle Dokumenttypen - * @param string $not_in Kommagetrennter String von dokument_kurzbz. Optional. Um bestimmte Dokumente (zB Zeugnis, welcher fix im Core vorhanden sein muss) auszuschließen. + * @param string $not_in Kommagetrennter String von dokument_kurzbz. Optional. Um bestimmte Dokumente (zB Zeugnis, welcher fix im Core vorhanden sein muss) auszuschließen. * @return true wenn ok false im Fehlerfall */ public function getAllDokumente($not_in='') @@ -459,13 +459,13 @@ class dokument extends basis_db $bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig'); $dokumentbeschreibung_mehrsprachig = $sprache->getSprachQuery('dokumentbeschreibung_mehrsprachig'); $qry = "SELECT dokument_kurzbz, bezeichnung, $bezeichnung_mehrsprachig, $dokumentbeschreibung_mehrsprachig FROM public.tbl_dokument "; - + if($not_in!='') { $qry .= " WHERE dokument_kurzbz NOT IN (".$this->implode4SQL(explode(',', $not_in)).")"; } $qry .= " ORDER BY bezeichnung;"; - + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) @@ -696,6 +696,8 @@ class dokument extends basis_db */ public function getBeschreibungenDokumente($studiengangs_kz, $dokument_kurzbz) { + if(count($studiengangs_kz)==0) + return true; $sprache = new sprache(); $dokumentbeschreibung_mehrsprachig = $sprache->getSprachQuery('dokumentbeschreibung_mehrsprachig'); $beschreibung_mehrsprachig = $sprache->getSprachQuery('beschreibung_mehrsprachig'); @@ -778,7 +780,7 @@ class dokument extends basis_db AND tbl_prestudent.person_id=".$this->db_add_param($person_id); if ($studiengang_kz!='') $qry .= " AND studiengang_kz IN (".$studiengang_kz.")"; - + if($result = $this->db_query($qry)) { if($this->db_num_rows($result)>0) diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 3abe2a10d..e259e9627 100755 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -374,6 +374,7 @@ class lehrveranstaltung extends basis_db $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; + $lv_obj->bezeichnung_arr['Italian'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; if ($lv_obj->bezeichnung_arr['English'] == '') $lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German']; diff --git a/include/prestudent.class.php b/include/prestudent.class.php index 17839968e..23302b4ae 100755 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -1779,7 +1779,38 @@ class prestudent extends person return false; } - $qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus + $stg_obj = new studiengang(); + $stg_obj->load($studiengang_kz); + + if($stg_obj->typ=='m') + { + $qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus + FROM + public.tbl_prestudent + JOIN public.tbl_person USING(person_id) + LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgvmas_code) + LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz) + WHERE + tbl_prestudent.studiengang_kz=". $this->db_add_param($studiengang_kz)." + AND EXISTS( + SELECT + 1 + FROM + public.tbl_prestudentstatus + WHERE + tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id + AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)." + AND status_kurzbz='Bewerber' + AND ( + studienplan_id=". $this->db_add_param($studienplan_id)." + OR + (anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%') + ) + );"; + } + else + { + $qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) @@ -1802,6 +1833,7 @@ class prestudent extends person (anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%') ) );"; + } if($result = $this->db_query($qry)) diff --git a/include/studiengang.class.php b/include/studiengang.class.php index 7682aa089..d94a5ab60 100755 --- a/include/studiengang.class.php +++ b/include/studiengang.class.php @@ -233,18 +233,25 @@ class studiengang extends basis_db return true; } - /** - * Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann - * @return boolean - */ - public function getAllForBewerbung() - { - $qry = 'SELECT DISTINCT studiengang_kz, typ, organisationseinheittyp_kurzbz, studiengangbezeichnung, standort, studiengangbezeichnung_englisch, lgartcode, tbl_lgartcode.bezeichnung ' - . 'FROM lehre.vw_studienplan ' - . 'LEFT JOIN bis.tbl_lgartcode USING (lgartcode) ' - . 'WHERE onlinebewerbung IS TRUE ' - . 'AND aktiv IS TRUE ' - . 'ORDER BY typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC'; + /** + * Gibt alle Studiengaenge zurueck, fuer die man sich online bewerben kann + * @param array $studiensemester_kurzbz default: null Array aus Studiensemestern fuer die man sich onlinebewerben kann + * @return boolean + */ + public function getAllForBewerbung($studiensemester_kurzbz_arr=null) + { + $qry = 'SELECT DISTINCT studiengang_kz, typ, organisationseinheittyp_kurzbz, studiengangbezeichnung, standort, studiengangbezeichnung_englisch, lgartcode, tbl_lgartcode.bezeichnung ' + . 'FROM lehre.vw_studienplan ' + . 'LEFT JOIN bis.tbl_lgartcode USING (lgartcode) ' + . 'WHERE onlinebewerbung IS TRUE ' + . 'AND aktiv IS TRUE '; + + /*if (!is_null($studiensemester_kurzbz_arr)) + { + $studiensemester_kurzbz_arr = $this->implode4SQL($studiensemester_kurzbz_arr); + $qry .= ' AND studiensemester_kurzbz IN('.$studiensemester_kurzbz_arr.')'; + }*/ + $qry .= ' ORDER BY typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC'; if(!$result = $this->db_query($qry)) { @@ -258,7 +265,7 @@ class studiengang extends basis_db } return true; - } + } /** * Laedt alle Studientypen in das Attribut studiengang_typ_array diff --git a/include/studienplan.class.php b/include/studienplan.class.php index e73be4b91..9cc117d85 100644 --- a/include/studienplan.class.php +++ b/include/studienplan.class.php @@ -696,35 +696,66 @@ class studienplan extends basis_db /** * Holt die aktiven Studienplaene eines Studiensemester / Ausbildungssemesters - * @param $studiengang_kz - * @param $studiensemester_kurzbz optional - * @param $ausbildungssemester optional - * @param $orgform_kurzbz optional + * @param studiensemester_kurzbz + * @param $ausbuldungssemester + * @param $orgform_kurzbz */ - function getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz = '', $ausbildungssemester = '', $orgform_kurzbz = '') + function getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester="", $orgform_kurzbz = "") { $qry = "SELECT - tbl_studienplan.*, tbl_studienplan_semester.semester, tbl_studienplan_semester.studiensemester_kurzbz + studienplan_id, + studienordnung_id, + orgform_kurzbz, + tbl_studienplan.version AS version_studienplan, + tbl_studienplan.bezeichnung AS bezeichnung_studienplan, + regelstudiendauer, + sprache, + aktiv, + semesterwochen, + testtool_sprachwahl, + tbl_studienplan.insertamum AS insertamum_studienplan, + tbl_studienplan.insertvon AS insertvon_studienplan, + tbl_studienplan.updateamum AS updateamum_studienplan, + tbl_studienplan.updatevon AS updatevon_studienplan, + ects_stpl, + pflicht_sws, + pflicht_lvs, + studiengang_kz, + tbl_studienordnung.version AS version_studienordnung, + gueltigvon, + gueltigbis, + tbl_studienordnung.bezeichnung AS bezeichnung_studienordnung, + ects, + studiengangbezeichnung, + studiengangbezeichnung_englisch, + studiengangkurzbzlang, + akadgrad_id, + tbl_studienordnung.insertamum AS insertamum_studienordnung, + tbl_studienordnung.insertvon AS insertvon_studienordnung, + tbl_studienordnung.updateamum AS updateamum_studienordnung, + tbl_studienordnung.updatevon AS updatevon_studienordnung, + status_kurzbz, + standort_id, + studienplan_semester_id, + studiensemester_kurzbz, + semester FROM lehre.tbl_studienplan JOIN lehre.tbl_studienordnung USING(studienordnung_id) JOIN lehre.tbl_studienplan_semester USING(studienplan_id) WHERE tbl_studienplan.aktiv - AND tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER); - - if($studiensemester_kurzbz != '') - $qry .= " AND tbl_studienplan_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz); + AND tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." + AND tbl_studienplan_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz); if($ausbildungssemester!='') - $qry .= " AND tbl_studienplan_semester.semester=".$this->db_add_param($ausbildungssemester); + $qry.=" AND tbl_studienplan_semester.semester=".$this->db_add_param($ausbildungssemester); if($orgform_kurzbz!='') { - $qry .= " AND orgform_kurzbz=".$this->db_add_param($orgform_kurzbz); + $qry.=" AND orgform_kurzbz=".$this->db_add_param($orgform_kurzbz); } - $res = array(); if($result = $this->db_query($qry)) diff --git a/include/tw/cis_menu_lv.inc.php b/include/tw/cis_menu_lv.inc.php index d6f7da13b..ee516d123 100644 --- a/include/tw/cis_menu_lv.inc.php +++ b/include/tw/cis_menu_lv.inc.php @@ -439,17 +439,20 @@ function checkZeilenUmbruch() } } } - $menu[]=array - ( - 'id'=>'core_menu_moodle', - 'position'=>'70', - 'name'=>$p->t('lehre/moodle'), - 'icon'=>'../../../skin/images/button_moodle.png', - 'link'=>$link, - 'link_target'=>$link_target, - 'link_onclick'=>$link_onclick, - 'text'=>$text - ); + if (MOODLE) + { + $menu[]=array + ( + 'id'=>'core_menu_moodle', + 'position'=>'70', + 'name'=>$p->t('lehre/moodle'), + 'icon'=>'../../../skin/images/button_moodle.png', + 'link'=>$link, + 'link_target'=>$link_target, + 'link_onclick'=>$link_onclick, + 'text'=>$text + ); + } //Gesamtnote if($is_lector && ((!defined('CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN') || CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN) && $angemeldet)) diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index d62eb22e6..58792af76 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -193,6 +193,7 @@ $menu=array 'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main','permissions'=>array('basis/firma')), 'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main'), 'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')), + 'lv_merge'=>array('name'=>'LVs zusammenlegen', 'link'=>'lehre/lv_merge.php', 'target'=>'main','permissions'=>array('admin','lv-plan')), ), 'Auswertung'=> array ( diff --git a/locale/de-AT/mail.php b/locale/de-AT/mail.php index 1b7d8c383..7299c88aa 100755 --- a/locale/de-AT/mail.php +++ b/locale/de-AT/mail.php @@ -42,8 +42,7 @@ These pages will give you a detailed overview of all services available. $this->phrasen['mail/incomingRegistrationEmail']='Dies ist eine automatisch generierte E-Mail.

    Vielen Dank für Ihre Registrierung.

    Sie wurden erfolgreich am System registriert. -


    Mit Hilfe Ihrer UID: %s können Sie sich in unserem -System (Link zur Anmeldung) anmelden und Ihre Daten bearbeiten.


    +


    Mit der UserID: %s können Sie sich in unserem System anmelden und Ihre Daten bearbeiten.


    Mit freundlichen Grüßen, Ihre Hochschule'; diff --git a/locale/de-AT/passwort.php b/locale/de-AT/passwort.php old mode 100644 new mode 100755 index 272a887f0..e6822af8c --- a/locale/de-AT/passwort.php +++ b/locale/de-AT/passwort.php @@ -26,5 +26,8 @@ $this->phrasen['passwort/CaptchaEingabe']='Tippen Sie die angezeigten
    Zeichen $this->phrasen['passwort/ReloadCaptcha']='Ich kann das Bild nicht lesen - neu laden'; $this->phrasen['passwort/PasswortWaehlen']='Bitte wählen Sie ein Passwort für Ihren Account.'; $this->phrasen['passwort/AccountAktivierung']='Account Aktivierung'; - +$this->phrasen['passwort/CodeOderUsernameFalsch']='Code oder Username falsch'; +$this->phrasen['passwort/CaptchaCodeFalsch']='Captcha Code falsch'; +$this->phrasen['passwort/AccountErfolgreichAktiviert']='Ihr Account wurde erfolgreich aktiviert'; +$this->phrasen['passwort/WeiterZumLogin']='Weiter zum Login'; ?> diff --git a/locale/en-US/mail.php b/locale/en-US/mail.php new file mode 100644 index 000000000..bcca01a40 --- /dev/null +++ b/locale/en-US/mail.php @@ -0,0 +1,49 @@ +phrasen['mail/signatur']="Mit freundlichen Grüßen\n\nIhre Hochschule\n"; +/* + * Mail, die vom Profil aus an den Einkauf bezüglich Betriebsmittel verschickt wird + */ +$this->phrasen['mail/profilBetriebsmittelKorrektur']="invalid@example.com"; + +$this->phrasen['mail/accountaktivierung']='
    Account Information

    +Name: %1$s %2$s
    +Username: %3$s
    +Aktivierungscode: %4$s
    +%5$s
    +E-Mail: %6$s
    +
    +
    +
    Account Mini FAQ Deutsch

    +
    +Wie aktiviere ich meinen Account?
    +Öffnen Sie mit ihrem Web-Browser die Adresse %7$s
    +Tragen Sie in das Formular Ihren Usernamen und Aktivierungscode ein und vergeben Sie ein Passwort für den Account. +

    +Wo erhalte ich weitere Informationen?
    +Die primäre Anlaufstelle für Fragen rund um den Netzwerkbetrieb ist die Webseite
    +%8$s
    +Verwenden Sie die Informationen auf dieser Seite, um einen Überblick über die vorhandenen Möglichkeiten zu erhalten. +

    +
    Account Mini FAQ English

    +
    +Account activation:
    +Open your web browser and go to %7$s
    +Enter your user name and activation key. Enter a new password for your account. +

    +Looking for further information?
    +For questions concerning the network services, see
    +%8$s
    +These pages will give you a detailed overview of all services available. +

    +'; + +$this->phrasen['mail/incomingRegistrationEmail']='This is an automatic email!

    +You have been successfully registrated to our system. +


    With the UserID: %s you can login to our system to complete your data.


    +Best regards, +your University of Applied Sciences'; + +?> diff --git a/locale/en-US/passwort.php b/locale/en-US/passwort.php old mode 100644 new mode 100755 index e9e4559e8..ba010c2f0 --- a/locale/en-US/passwort.php +++ b/locale/en-US/passwort.php @@ -1,7 +1,7 @@ phrasen['passwort/Title']='Changing password'; $this->phrasen['passwort/PasswortAenderFuer']='Changing password for User %s %s ( %s )'; -$this->phrasen['passwort/InfotextPolicy']='The password must contain at least 8 characters, +$this->phrasen['passwort/InfotextPolicy']='The password must contain at least 8 characters, of which 1 must be upper case, 1 lower case and 1 a numeral.

    The password may not include spaces or umlauts.
    The following special characters are allowed: -$#[]{}!().,*:;_'; @@ -26,4 +26,9 @@ $this->phrasen['passwort/CaptchaEingabe']='Enter the characters in
    the field $this->phrasen['passwort/ReloadCaptcha']='Reload picture'; $this->phrasen['passwort/PasswortWaehlen']='Please choose a password for your account'; $this->phrasen['passwort/AccountAktivierung']='Account Activation'; +$this->phrasen['passwort/CodeOderUsernameFalsch']='Code or Username wrong'; +$this->phrasen['passwort/CaptchaCodeFalsch']='Captcha Code wrong'; +$this->phrasen['passwort/AccountErfolgreichAktiviert']='Account has been activated successfully'; +$this->phrasen['passwort/WeiterZumLogin']='Proceed to Login'; + ?> diff --git a/locale/it-IT/benotungstool.php b/locale/it-IT/benotungstool.php index 15afeb510..7b2ee38fe 100755 --- a/locale/it-IT/benotungstool.php +++ b/locale/it-IT/benotungstool.php @@ -106,7 +106,7 @@ $this->phrasen['benotungstool/neueUebungAnlegen']='crea nuova esercitazione'; $this->phrasen['benotungstool/nichtFreigeschaltet']='non attivato'; $this->phrasen['benotungstool/nichtGespeichertKreuzerllisteNichtFreigegeben']='impossibile attivare cambiamenti in quanto la lista con caselle da barrare scelta non è attivata'; $this->phrasen['benotungstool/nichtVorbereitet']='non preparato'; -$this->phrasen['benotungstool/note']='voto'; +$this->phrasen['benotungstool/note']='Voto'; $this->phrasen['benotungstool/noteEingeben']='Inserire un voto tra 1 - 5 ovvero 7 (non valutato), 10 (superato), 14 (non superato) ovvero 16 (frequentato con successo)'; $this->phrasen['benotungstool/noteEingebenOderLeer']='Inserire un voto tra 1 - 5 ovvero 7 (non valutato), 10 (superato), 14 (non superato) ovvero 16 (frequentato con successo) o lasciare libero il campo'; $this->phrasen['benotungstool/noteIstUngueltig']='voto non valido'; diff --git a/locale/it-IT/global.php b/locale/it-IT/global.php index 618c5b83b..e37b79008 100755 --- a/locale/it-IT/global.php +++ b/locale/it-IT/global.php @@ -94,12 +94,12 @@ $this->phrasen['global/loeschen']='cancella'; $this->phrasen['global/löschen']='cancella'; $this->phrasen['global/mail']='messaggio mail'; $this->phrasen['global/mann']='maschio/uomo'; -$this->phrasen['global/matrikelnummer']='numero di matricola'; +$this->phrasen['global/matrikelnummer']='Matricola'; $this->phrasen['global/minute']='minuti'; $this->phrasen['global/mittwoch']='mercoledì'; $this->phrasen['global/montag']='lunedì'; $this->phrasen['global/nachname']='Cognome'; -$this->phrasen['global/name']='nome'; +$this->phrasen['global/name']='Nome'; $this->phrasen['global/nebenwohnsitz']='domicilio'; $this->phrasen['global/nein']='no'; $this->phrasen['global/neu']='nuovo'; diff --git a/locale/it-IT/lehre.php b/locale/it-IT/lehre.php index 6fd29a5a5..1ae92d09a 100755 --- a/locale/it-IT/lehre.php +++ b/locale/it-IT/lehre.php @@ -15,7 +15,7 @@ $this->phrasen['lehre/kreuzerltool']='strumenti per esercitazioni
    (tool con c $this->phrasen['lehre/moodleMitKreuzerltoolInfo']='Moodle non può essere utilizzato in contemporanea con lo strumento per esercitazioni. Se si vuole utilizzare Moodle bisogna annullare l’uso dello strumento per esercitazioni'; $this->phrasen['lehre/lehrbeauftragter']='Docente incaricato'; $this->phrasen['lehre/lehrveranstaltungsinformation']='Informazioni corso'; -$this->phrasen['lehre/leistungsuebersicht']='Panoramica'; +$this->phrasen['lehre/leistungsuebersicht']='Panoramica per docenti'; $this->phrasen['lehre/lvInfoBearbeiten']='Modificare'; $this->phrasen['lehre/mail']='E-Mail agli studenti'; $this->phrasen['lehre/moodle']='Moodle'; diff --git a/locale/it-IT/lvaliste.php b/locale/it-IT/lvaliste.php index d9b6f08e5..992e06726 100755 --- a/locale/it-IT/lvaliste.php +++ b/locale/it-IT/lvaliste.php @@ -14,7 +14,7 @@ $this->phrasen['lvaliste/keineDatensaetze']=''; $this->phrasen['lvaliste/koordination']=''; $this->phrasen['lvaliste/lehrfach']=''; $this->phrasen['lvaliste/lehrfachBezeichnung']=''; -$this->phrasen['lvaliste/lehrform']=''; +$this->phrasen['lvaliste/lehrform']='Forma'; $this->phrasen['lvaliste/lehrveranstaltungen']=''; $this->phrasen['lvaliste/lektor']=''; $this->phrasen['lvaliste/lvBezeichnung']=''; diff --git a/locale/it-IT/news.php b/locale/it-IT/news.php index b3139ec14..a84d8e4a4 100755 --- a/locale/it-IT/news.php +++ b/locale/it-IT/news.php @@ -1,31 +1,45 @@ phrasen['news/allesemester']='tutti i semestri'; -$this->phrasen['news/allgemein']='generale'; -$this->phrasen['news/anlegen']=''; -$this->phrasen['news/betreff']=''; -$this->phrasen['news/eintragNochNichtVeroeffentlicht']=''; -$this->phrasen['news/eintragVeroeffentlicht']=''; -$this->phrasen['news/fehlerBeimSenden']='errore in sede di trasmissione della mail a %s'; -$this->phrasen['news/freifach']=''; -$this->phrasen['news/keinSemester']=''; -$this->phrasen['news/keinUebersetzerVorhanden']=''; -$this->phrasen['news/mailtext']=''; -$this->phrasen['news/mailtextHTML']=''; -$this->phrasen['news/maximal30Tage']=''; -$this->phrasen['news/neuereintrag']=''; -$this->phrasen['news/neuerNewseintrag']=''; -$this->phrasen['news/newsverwaltung']=''; -$this->phrasen['news/sichtbarab']=''; -$this->phrasen['news/sichtbarbis']=''; -$this->phrasen['news/studiengang']=''; -$this->phrasen['news/text']='testo'; -$this->phrasen['news/uebersetzen']='tradurre'; -$this->phrasen['news/uebersetzunganlegen']='salva la traduzione in '; -$this->phrasen['news/uebersetzungenvorhanden']=''; -$this->phrasen['news/uebersetzungsanforderungGesendet']='richiesta di traduzione trasmessa a %s'; -$this->phrasen['news/verfasser']=''; -$this->phrasen['news/veroeffentlichen']=''; -$this->phrasen['news/verwaltungstools']=''; -$this->phrasen['news/xsemester']=''; +$this->phrasen['news/verwaltungstools']='Strumenti di gestione'; +$this->phrasen['news/newsverwaltung']='Gestione notizie'; +$this->phrasen['news/neuereintrag']='Inserisci nuova notizia'; +$this->phrasen['news/verfasser']='Autore'; +$this->phrasen['news/betreff']='Oggetto'; +$this->phrasen['news/text']='Testo'; + +$this->phrasen['news/sichtbarab']='Visbile da'; +$this->phrasen['news/sichtbarbis']='Visibile fino'; +$this->phrasen['news/maximal30Tage']='(max. 30 giorni, opzionale)'; + +$this->phrasen['news/allgemein']='Generale'; +$this->phrasen['news/freifach']='Corso opzionale'; +$this->phrasen['news/studiengang']='Corso di studi'; + +$this->phrasen['news/uebersetzunganlegen']='Inserire traduzione in'; +$this->phrasen['news/uebersetzen']='Inserire traduzione'; +$this->phrasen['news/anlegen']='Inserisci'; +$this->phrasen['news/uebersetzungenvorhanden']='La notizia è già stata inserita in tutte le lingue possibili'; + +$this->phrasen['news/allesemester']='Tutti i semestri'; +$this->phrasen['news/xsemester']='%s.'; +$this->phrasen['news/keinSemester']='Nessun semestre (Notizia generale)'; + +$this->phrasen['news/neuerNewseintrag']='Nuova notizia disponibile per la traduzione'; //Betreff von Infomail an Uebersetzer. +$this->phrasen['news/mailtext']='Questo è un messaggio email autogenerato. + +E’ stata inserita una notizia nel sistema. Questa è ora disponibile per la traduzione. +(se non si vedono link e contenuto, accertarsi di aver attivato la visualizzazione html)'; //Plaintext im Infomail an Uebersetzer. +$this->phrasen['news/mailtextHTML']='Dies ist eine automatisch generierte E-Mail.

    + E’ stata inserita una notizia nel sistema. Questa è ora disponibile per la traduzione: per la notizia +



    + %s
    +
    +
    + %s'; //HTML-Text im Infomail an Uebersetzer. +$this->phrasen['news/uebersetzungsanforderungGesendet']='Richiesta di traduzione inviata a %s '; +$this->phrasen['news/fehlerBeimSenden']='Errore nell’invio a %s'; +$this->phrasen['news/keinUebersetzerVorhanden']='Nel sistema non sono state inserite persone addette alla traduzione'; //Leerlassen, falls keine Info diesbezueglich gewuenscht ist +$this->phrasen['news/eintragVeroeffentlicht']='Notizia %s pubblicata'; +$this->phrasen['news/eintragNochNichtVeroeffentlicht']='Notizia %s non ancora pubblicata'; +$this->phrasen['news/veroeffentlichen']='Pubblica'; ?> diff --git a/locale/it-IT/passwort.php b/locale/it-IT/passwort.php index 1d8b76633..50c3fddff 100755 --- a/locale/it-IT/passwort.php +++ b/locale/it-IT/passwort.php @@ -1,31 +1,35 @@ phrasen['passwort/AccountAktivierung']='Attiva account'; -$this->phrasen['passwort/AenderungFehler']='Passwort Änderung fehlgeschlagen:%s'; -$this->phrasen['passwort/AenderungOK']='Das Passwort wurde erfolgreich geaendert'; +$this->phrasen['passwort/AenderungFehler']='Cambio password fallito:%s'; +$this->phrasen['passwort/AenderungOK']='Cambio password avvenuto con successo'; $this->phrasen['passwort/AltesPasswort']='Vecchia password'; -$this->phrasen['passwort/CaptchaEingabe']='Cliccare sui campi visualizzati
    sul campo sottostante'; -$this->phrasen['passwort/Grossbuchstabe']='Das neue Passwort muss mindestens einen Grossbuchstaben enthalten.'; +$this->phrasen['passwort/CaptchaEingabe']='Inserire i caratteri visualizzati
    nel campo sottostante'; +$this->phrasen['passwort/Grossbuchstabe']='La nuova password deve contenere almeno una lettera maiuscola.'; $this->phrasen['passwort/InfotextPolicy']=' -La password deve contenere almeno 8 caratteri, di cui almeno 1 maiuscolo, 1 minuscolo e 1 cifra.
    +La password deve contenere almeno 8 caratteri, di cui almeno 1 maiuscolo, 1 minuscolo e 1 carattere numerico.
    La password non può contenere spazi e caratteri accentati.
    Caratteri speciali ammessi sono: -$#[]{}!().,*:;_ = '; -$this->phrasen['passwort/Kleinbuchstabe']='Das neue Passwort muss mindestens einen Kleinbuchstaben enthalten.'; -$this->phrasen['passwort/Leerzeichen']='Es darf kein Leerzeichen im Passwort vorkommen.'; +$this->phrasen['passwort/Kleinbuchstabe']='La nuova password deve contenere almeno una lettera minuscola.'; +$this->phrasen['passwort/Leerzeichen']='La password non può contenere spazi.'; $this->phrasen['passwort/MinLaenge']='La password deve contenere almeno 8 caratteri.'; $this->phrasen['passwort/NeuesPasswort']='Nuova password'; -$this->phrasen['passwort/NichtUebereinstimmend']='Passwörter stimmen nicht überein'; -$this->phrasen['passwort/NoHttps']='ATTENZIONE - state utilizzando una trasmissione in chiaro. La password dovrebbe essere cambiata solo in presenza di un sistema di trasmissione codificato,'; +$this->phrasen['passwort/NichtUebereinstimmend']='La nuova password non coincide nei due campi dedicati.'; +$this->phrasen['passwort/NoHttps']='ATTENZIONE - la connessione utilizzata in questo momento è una connessione normale. La password dovrebbe essere cambiata solo in presenza di una connessione sicura (https).'; $this->phrasen['passwort/PasswortAenderFuer']='Cambio password per utente %s %s ( %s )'; $this->phrasen['passwort/PasswortAendern']='Cambia password'; -$this->phrasen['passwort/PasswortWaehlen']='Bitte wählen Sie ein Passwort für Ihren Account.'; +$this->phrasen['passwort/PasswortWaehlen']='Per favore scegliere una password per il proprio account.'; $this->phrasen['passwort/PasswortWiederholung']='Conferma nuova password'; -$this->phrasen['passwort/ReloadCaptcha']='Ich kann das Bild nicht lesen - neu laden'; -$this->phrasen['passwort/Sonderzeichen']='Bitte verwenden Sie nur erlaubte Sonderzeichen'; +$this->phrasen['passwort/ReloadCaptcha']='Immagine non visibile - ricarica immagine'; +$this->phrasen['passwort/Sonderzeichen']='Per favore utilizzare solamente i caratteri speciali consentiti.'; $this->phrasen['passwort/Title']='Cambio password'; -$this->phrasen['passwort/Umlaute']='Es dürfen keine Umlaute verwendet werden.'; -$this->phrasen['passwort/Ziffer']='Es muss mindestens eine Ziffer vorhanden sein.'; -$this->phrasen['passwort/ZuHttpsWechseln']='Jetzt zu verschlüsselter Verbindung wechseln'; +$this->phrasen['passwort/Umlaute']='Non sono consentiti i caratteri accentati.'; +$this->phrasen['passwort/Ziffer']='La password deve contenere almeno un carattere numerico.'; +$this->phrasen['passwort/ZuHttpsWechseln']='Passa ora a una connessione sicura (https)'; +$this->phrasen['passwort/CodeOderUsernameFalsch']='Codice o nome utente errato'; +$this->phrasen['passwort/CaptchaCodeFalsch']='Il codice antispam inserito è errato'; +$this->phrasen['passwort/AccountErfolgreichAktiviert']='L’account è stato attivato con successo'; +$this->phrasen['passwort/WeiterZumLogin']='Prosegui al login'; ?> diff --git a/rdf/diplomasupplement.xml.php b/rdf/diplomasupplement.xml.php index f06a6795a..c030c5a85 100644 --- a/rdf/diplomasupplement.xml.php +++ b/rdf/diplomasupplement.xml.php @@ -237,51 +237,49 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") if($row->typ=='d') { - echo ' UNESCO ISCED 5A'; + echo ' UNESCO ISCED 7'; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; - echo ' Diplomstudium (UNESCO ISCED 5A)'; - echo ' Diploma degree program (UNESCO ISCED 5A)'; + echo ' Diplomstudium (UNESCO ISCED 7)'; + echo ' Diploma degree program (UNESCO ISCED 7)'; } elseif($row->typ=='m') { - echo ' UNESCO ISCED 5A'; + echo ' UNESCO ISCED 7'; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; - echo ' Masterstudium (UNESCO ISCED 5A)'; - echo ' Master degree program (UNESCO ISCED 5A)'; + echo ' Masterstudium (UNESCO ISCED 7)'; + echo ' Master degree program (UNESCO ISCED 7)'; } elseif($row->typ=='b') { - echo ' UNESCO ISCED 5A'; + echo ' UNESCO ISCED 6'; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; - echo ' Bachelorstudium (UNESCO ISCED 5A)'; - echo ' Bachelor degree program (UNESCO ISCED 5A)'; - + echo ' Bachelorstudium (UNESCO ISCED 6)'; + echo ' Bachelor degree program (UNESCO ISCED 6)'; } elseif($row->typ=='r') { - echo ' UNESCO ISCED 6'; - echo ' Doktoratsstudium (UNESCO ISCED 6)'; - echo ' University doctoral studies (UNESCO ISCED 6)'; - + echo ' UNESCO ISCED 8'; + echo ' Doktoratsstudium (UNESCO ISCED 8)'; + echo ' University doctoral studies (UNESCO ISCED 8)'; } elseif($row->typ=='l' || $row->typ=='k') { - echo ' UNESCO ISCED 5A'; + echo ' UNESCO ISCED 7'; echo ' Lehrgang zur Weiterbildung nach §9 FHStG idgF.'; echo ' Certificate Program for Further Education subjected to § 9 FHStG'; echo ' '; diff --git a/rdf/konto.rdf.php b/rdf/konto.rdf.php index 800054db8..46b03458b 100644 --- a/rdf/konto.rdf.php +++ b/rdf/konto.rdf.php @@ -16,8 +16,9 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger , - * Andreas Oesterreicher and - * Rudolf Hangl . + * Andreas Oesterreicher , + * Rudolf Hangl and + * Andreas Moik . */ // header fuer no cache header("Cache-Control: no-store, no-cache, must-revalidate"); @@ -31,6 +32,7 @@ require_once('../config/vilesci.config.inc.php'); require_once('../include/konto.class.php'); require_once('../include/person.class.php'); require_once('../include/studiengang.class.php'); +require_once('../include/studiensemester.class.php'); require_once('../include/datum.class.php'); require_once('../include/functions.inc.php'); require_once('../include/student.class.php'); @@ -204,13 +206,15 @@ elseif ($xmlformat=='xml') { global $datum, $btyp; $rueckerstattung=false; + $stg = new studiensemester($row->studiensemester_kurzbz); echo " - + buchungsnr."]]> person_id."]]> studiengang_kz."]]> studiensemester_kurzbz."]]> + studienjahr_kurzbz."]]> buchungsnr_verweis."]]> betrag))."]]>"; if($row->buchungsnr_verweis!='') @@ -275,6 +279,7 @@ elseif ($xmlformat=='xml') nachname."]]> vorname."]]> vornamen."]]> + matr_nr."]]> anrede.' '.$pers->titelpre.' '.$pers->vorname.' '.$pers->nachname.' '.$pers->titelpost)."]]> titelpre.' '.$pers->vorname.' '.$pers->nachname.' '.$pers->titelpost)."]]> convertISODate($pers->gebdatum)."]]> diff --git a/rdf/lehrauftrag.xml.php b/rdf/lehrauftrag.xml.php index 7bd045d84..480fa4e18 100644 --- a/rdf/lehrauftrag.xml.php +++ b/rdf/lehrauftrag.xml.php @@ -345,14 +345,34 @@ function drawLehrauftrag($uid) $gesamtstunden = $gesamtstunden + $stunden; } } - $qry = "SELECT tbl_projektarbeit.projektarbeit_id, tbl_projektbetreuer.faktor, tbl_projektbetreuer.stunden, tbl_projektbetreuer.stundensatz, tbl_lehrveranstaltung.semester, - vorname, nachname, vw_student.studiengang_kz, projekttyp_kurzbz, tbl_fachbereich.fachbereich_kurzbz - FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehrveranstaltung, public.tbl_fachbereich, - public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student - WHERE tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid=".$db->db_add_param($uid)." AND - tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND prestudent_id=vw_student.prestudent_id AND tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz - AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($ss)." AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id "; + $qry = "SELECT tbl_projektarbeit.projektarbeit_id + ,tbl_projektbetreuer.faktor + ,tbl_projektbetreuer.stunden + ,tbl_projektbetreuer.stundensatz + ,tbl_lehrveranstaltung.semester + ,vorname + ,nachname + ,vw_student.studiengang_kz + ,projekttyp_kurzbz + ,tbl_organisationseinheit.oe_kurzbz + FROM lehre.tbl_projektbetreuer + ,lehre.tbl_lehreinheit + ,lehre.tbl_lehrveranstaltung as lehrfach + ,lehre.tbl_lehrveranstaltung + ,public.tbl_organisationseinheit + ,public.tbl_benutzer + ,lehre.tbl_projektarbeit + ,campus.vw_student + WHERE tbl_projektbetreuer.person_id = tbl_benutzer.person_id + AND tbl_benutzer.uid = ".$db->db_add_param($uid)." + AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id + AND prestudent_id = vw_student.prestudent_id + AND tbl_organisationseinheit.oe_kurzbz = tbl_lehrveranstaltung.oe_kurzbz + AND tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id + AND tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id + AND tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($ss)." + AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id"; + if($studiengang_kz!='') $qry.=" AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if($result = $db->db_query($qry)) @@ -378,7 +398,7 @@ function drawLehrauftrag($uid) $lv[$anzahl_lvs]['lehreinheit_id'] = (isset($row->projektarbeit_id)?$kuerzel.$row->projektarbeit_id:' '); $lv[$anzahl_lvs]['lehrveranstaltung'] = 'Betreuung '.$row->vorname.' '.$row->nachname; - $lv[$anzahl_lvs]['fachbereich'] = (isset($row->fachbereich_kurzbz)?$fb_arr[$row->fachbereich_kurzbz]:' '); + $lv[$anzahl_lvs]['fachbereich'] = (isset($row->oe_kurzbz) && array_key_exists($row->oe_kurzbz, $fb_arr)?$fb_arr[$row->oe_kurzbz]:' '); $lv[$anzahl_lvs]['gruppe'] = ' '; $lv[$anzahl_lvs]['stunden'] = (isset($row->stunden)?number_format($row->stunden,2):' '); $lv[$anzahl_lvs]['satz'] = (isset($row->stundensatz)?$row->stundensatz:' '); diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php old mode 100644 new mode 100755 index fb09af937..4df1dff9b --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -825,6 +825,10 @@ else } else $stg_kz = sprintf("%04s", abs($student->studiengang_kz)); + if (($semester % 2) == 0) + $studienjahr = $semester/2; + else + $studienjahr = intval($semester/2)+1; echo ' @@ -836,11 +840,14 @@ else vorname.']]> nachname.']]> perskz.']]> + matr_nr.']]> convertISODate($student->gebdatum).']]> gebdatum.']]> + gebort.']]> verband.']]> gruppe.']]> + orgform_kurzbz.']]> bezeichnung.']]> @@ -863,6 +870,7 @@ else convertISODate($studienbeginn).']]> studiensemester_kurzbz.']]> + studienjahr_kurzbz.']]> bezeichnung.']]> convertISODate($stsem->start).']]> diff --git a/skin/tempus.css b/skin/tempus.css index 67ddaaaf9..e8eb17994 100644 --- a/skin/tempus.css +++ b/skin/tempus.css @@ -25,6 +25,10 @@ menubar,menupopup,toolbar,tabpanels,tabbox,iframe,box,hbox,vbox,tree,label,descr padding-left: 0px; padding-right: 0px; } +menubar +{ + background-color: #ff8040; +} menupopup { border: 1px solid black; diff --git a/submodules/tablesorter b/submodules/tablesorter new file mode 160000 index 000000000..b70ba2498 --- /dev/null +++ b/submodules/tablesorter @@ -0,0 +1 @@ +Subproject commit b70ba2498dd23d9d97605ff386cdd67ff6bd9140 diff --git a/vilesci/lehre/lv_merge.php b/vilesci/lehre/lv_merge.php new file mode 100644 index 000000000..8ce13220b --- /dev/null +++ b/vilesci/lehre/lv_merge.php @@ -0,0 +1,820 @@ + + */ +/** + * Script to merge or transfer courses. + * Two columns are shown with courses that matches the filter. + * Mark the course on the left side, that will be merged with the one on the right side. + */ +require_once('../../config/vilesci.config.inc.php'); +require_once('../../include/basis_db.class.php'); +//require_once('../../include/person.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/organisationsform.class.php'); +require_once('../../include/studienplan.class.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/lehrveranstaltung.class.php'); +require_once('../../include/lehrtyp.class.php'); +require_once('../../include/log.class.php'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$uid = get_uid(); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($uid); +if(!$rechte->isBerechtigt('lehre/lehrveranstaltung')) + die($rechte->errormsg); + +$activeAddons = array_filter(explode(";", ACTIVE_ADDONS)); + +$msg=''; + +$input_text_left = isset($_REQUEST['input_text_left'])?$_REQUEST['input_text_left']:''; +$input_text_right = isset($_REQUEST['input_text_right'])?$_REQUEST['input_text_right']:''; +$select_stg_kz_left = isset($_REQUEST['select_stg_kz_left'])?$_REQUEST['select_stg_kz_left']:''; +$select_stg_kz_right = isset($_REQUEST['select_stg_kz_right'])?$_REQUEST['select_stg_kz_right']:''; +$select_semester_left = isset($_REQUEST['select_semester_left'])?$_REQUEST['select_semester_left']:'-1'; +$select_semester_right = isset($_REQUEST['select_semester_right'])?$_REQUEST['select_semester_right']:'-1'; +$select_orgform_left = isset($_REQUEST['select_orgform_left'])?$_REQUEST['select_orgform_left']:''; +$select_orgform_right = isset($_REQUEST['select_orgform_right'])?$_REQUEST['select_orgform_right']:''; +$select_studienplan_left = isset($_REQUEST['select_studienplan_left'])?$_REQUEST['select_studienplan_left']:''; +$select_studienplan_right = isset($_REQUEST['select_studienplan_right'])?$_REQUEST['select_studienplan_right']:''; +$select_lehrtyp_left = isset($_REQUEST['select_lehrtyp_left'])?$_REQUEST['select_lehrtyp_left']:''; +$select_lehrtyp_right = isset($_REQUEST['select_lehrtyp_right'])?$_REQUEST['select_lehrtyp_right']:''; + +$courseLeft = isset($_REQUEST['courseLeft'])?$_REQUEST['courseLeft']:'-1'; +$courseRight = isset($_REQUEST['courseRight'])?$_REQUEST['courseRight']:'-1'; + +$stsem = new studiensemester(); +$stsem_default = $stsem->getakt(); + +$studiensemester_kurzbz = isset($_REQUEST['studiensemester_kurzbz'])?$_REQUEST['studiensemester_kurzbz']:$stsem_default; + +//echo $courseLeft.'
    '; +//echo $courseRight.'
    '; + +if (isset($_REQUEST['compare'])) +{ + if ($courseLeft!=$courseRight && $courseLeft!='-1' && $courseRight!='-1') + { + // Define an array of attributes, that are NOT to be compared + $deleteValues = array( + 'new' => null, + 'ext_id' => null, + 'insertamum' => null, + 'insertvon' => null, + 'updateamum' => null, + 'updatevon' => null, + 'bezeichnung_arr' => null, + 'lehrveranstaltungen' => null, + 'errormsg' => null + ); + + $lv1 = new lehrveranstaltung(); + $lv1->load($courseLeft); + $lv1_arr = get_object_vars($lv1); + $lv1_arr = array_diff_key($lv1_arr, $deleteValues); + + $lv2 = new lehrveranstaltung(); + $lv2->load($courseRight); + $lv2_arr = get_object_vars($lv2); + $lv2_arr = array_diff_key($lv2_arr, $deleteValues); + + $lv_diff1 = array_diff_assoc($lv1_arr, $lv2_arr); + $lv_diff2 = array_diff_assoc($lv2_arr, $lv1_arr); + + $msg = 'Differences in courses (only columns with differences are shown)'; + $msg .= '
    t('pruefung/derLektor'); ?>getFullName(FALSE); ?>
    t('pruefung/dieKommission'); ?>
    '; + foreach ($lv_diff1 as $key => $value) + { + $msg .= ''; + } + $msg .= ''; + foreach ($lv_diff1 as $key => $value) + { + $msg .= ''; + } + $msg .= ''; + foreach ($lv_diff2 as $key => $value) + { + $msg .= ''; + } + $msg .= '
    '.StringCut($key,10,false,'...').'
    '.(is_bool($value)?($value?'true':'false'):$value).'
    '.(is_bool($value)?($value?'true':'false'):$value).'
    '; + } + else + $msg="Please select 2 different courses"; +} + +if((isset($_REQUEST['transfer']) || isset($_REQUEST['mergeDelete'])) && isset($courseLeft) && isset($courseRight) && $courseLeft>=0 && $courseRight>=0) +{ + if($courseLeft==$courseRight) + { + $msg="The courses may not have the same ID"; + } + else + { + $msg=''; + $update_qry="BEGIN;"; + + if (isset($_REQUEST['transfer'])) + { + $update_qry.="UPDATE campus.tbl_benutzerlvstudiensemester SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).";"; + $update_qry.="UPDATE campus.tbl_lvgesamtnote SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).";"; + // Updates for Pruefungsverwaltung + $update_qry.="UPDATE campus.tbl_lehrveranstaltung_pruefung SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." AND pruefung_id IN (SELECT pruefung_id FROM campus.tbl_pruefung WHERE studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).");"; + $update_qry.="UPDATE campus.tbl_pruefungsanmeldung SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." AND pruefungstermin_id IN (SELECT pruefungstermin_id FROM campus.tbl_pruefungstermin JOIN campus.tbl_pruefung USING (pruefung_id) WHERE studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).");"; + + // LV-Infos will be copied if $courseRight has none and $courseLeft has some + $lvinfo_qry_right = "SELECT * FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER).";"; + $result_right = $db->db_query($lvinfo_qry_right); + $lvinfo_qry_left = "SELECT * FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $result_left = $db->db_query($lvinfo_qry_left); + // Check if $courseRight has lvinfos + if ($db->db_affected_rows($result_right)==0) + { + if ($db->db_affected_rows($result_left)>0) + { + while($row = $db->db_fetch_object($result_left)) + { + $update_qry.=" INSERT INTO campus.tbl_lvinfo (lehrveranstaltung_id, sprache, titel, lehrziele, lehrinhalte, methodik, voraussetzungen, unterlagen, pruefungsordnung, anmerkung, kurzbeschreibung, genehmigt, aktiv, updateamum, updatevon, insertamum, insertvon, anwesenheit) + SELECT ".$db->db_add_param($courseRight, FHC_INTEGER).", ".$db->db_add_param($row->sprache).", titel, lehrziele, lehrinhalte, methodik, voraussetzungen, unterlagen, pruefungsordnung, anmerkung, kurzbeschreibung, genehmigt, aktiv, NULL, NULL, now(), ".$db->db_add_param($uid).", anwesenheit + FROM campus.tbl_lvinfo + WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." + AND sprache=".$db->db_add_param($row->sprache).";"; + } + } + } + $update_qry.="/*
    */"; + $update_qry.="UPDATE lehre.tbl_lehreinheit SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).";"; + // If lerhfach_id was the same as the old lehrveranstaltung_id, it will be changed to + $update_qry.="UPDATE lehre.tbl_lehreinheit SET lehrfach_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrfach_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." AND lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).";"; + $update_qry.="UPDATE lehre.tbl_zeugnisnote SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).";"; + $update_qry.="UPDATE lehre.tbl_moodle SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).";"; + $update_qry.="UPDATE lehre.tbl_lvangebot SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).";"; + // Notenschluesselzuordnung will be copied if $courseRight has none and $courseLeft has some + $notenschluessel_qry_right = "SELECT * FROM lehre.tbl_notenschluesselzuordnung WHERE lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER).";"; + $result_notenschluessel_right = $db->db_query($notenschluessel_qry_right); + $notenschluessel_qry_left = "SELECT * FROM lehre.tbl_notenschluesselzuordnung WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $result_notenschluessel_left = $db->db_query($notenschluessel_qry_left); + // Check if $courseRight has notenschluesselzuordnung + if ($db->db_affected_rows($result_notenschluessel_right)==0) + { + if ($db->db_affected_rows($result_notenschluessel_left)>0) + { + while($row = $db->db_fetch_object($result_notenschluessel_left)) + { + $update_qry.=" INSERT INTO lehre.tbl_notenschluesselzuordnung (notenschluessel_kurzbz, lehrveranstaltung_id, studienplan_id, oe_kurzbz, studiensemester_kurzbz) + SELECT notenschluessel_kurzbz, ".$db->db_add_param($courseRight, FHC_INTEGER).", studienplan_id, oe_kurzbz, studiensemester_kurzbz + FROM lehre.tbl_notenschluesselzuordnung + WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + } + } + } + $update_qry.="/*
    */"; + $update_qry.="UPDATE public.tbl_preincoming_lehrveranstaltung SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="/*
    Addons
    */"; + + //addon lvevaluierung + if (in_array('lvevaluierung', $activeAddons)) + { + $update_qry.="UPDATE addon.tbl_lvevaluierung SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).";"; + } + //addon lvevaluierung + if (in_array('lvinfo', $activeAddons)) + { + $update_qry.="UPDATE addon.tbl_lvinfo SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER)." AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz).";"; + } + } + + if (isset($_REQUEST['mergeDelete'])) + { + $update_qry.="UPDATE campus.tbl_benutzerlvstudiensemester SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE campus.tbl_feedback SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE campus.tbl_lehrveranstaltung_pruefung SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE campus.tbl_lvgesamtnote SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE campus.tbl_lvinfo SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE campus.tbl_pruefungsanmeldung SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="/*
    */"; + $update_qry.="UPDATE lehre.tbl_anrechnung SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_anrechnung SET lehrveranstaltung_id_kompatibel=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id_kompatibel=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_lehreinheit SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_lehreinheit SET lehrfach_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrfach_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_lehrveranstaltung_kompatibel SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_lehrveranstaltung_kompatibel SET lehrveranstaltung_id_kompatibel=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id_kompatibel=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_lvangebot SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_lvregel SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_lvregel SET studienplan_lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE studienplan_lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_moodle SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_notenschluesselzuordnung SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_studienplan_lehrveranstaltung SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_studienplan_lehrveranstaltung SET studienplan_lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE studienplan_lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_studienplan_lehrveranstaltung SET studienplan_lehrveranstaltung_id_parent=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE studienplan_lehrveranstaltung_id_parent=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_vertrag SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="UPDATE lehre.tbl_zeugnisnote SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="/*
    */"; + $update_qry.="UPDATE public.tbl_preincoming_lehrveranstaltung SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="/*
    Addons
    */"; + //addon lvevaluierung + if (in_array('lvevaluierung', $activeAddons)) + { + $update_qry.="UPDATE addon.tbl_lvevaluierung SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + } + //addon lvevaluierung + if (in_array('lvinfo', $activeAddons)) + { + $update_qry.="UPDATE addon.tbl_lvinfo SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + } + $update_qry.="/*
    */"; + $update_qry.="DELETE FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";"; + $update_qry.="/*

    */"; + } + + //$msg = "Merged successfully
    "; + //$msg .= "
    ".mb_eregi_replace(';',';
    ',$update_qry); + + if($db->db_query($update_qry)) + { + $msg = "Merged successfully
    "; + $msg_qry = mb_eregi_replace(';',';
    ',$update_qry); + $msg_qry = str_replace('/*', '', $msg_qry); + $msg_qry = str_replace('*/', '', $msg_qry); + $msg .= "
    ".$msg_qry; + $db->db_query("COMMIT;"); + + //Log schreiben + $log = new log(); + + $log->new = true; + $log->sql = $update_qry; + $log->sqlundo = 'No undo statement implemented yet'; + $log->executetime = date('Y-m-d H:i:s'); + $log->mitarbeiter_uid = $uid; + if (isset($_REQUEST['transfer'])) + $log->beschreibung = "lv_merge.php: Merge of course $courseLeft to $courseRight"; + elseif (isset($_REQUEST['mergeDelete'])) + $log->beschreibung = "lv_merge.php: Deletion of course $courseLeft. Merged with $courseRight"; + + if(!$log->save()) + { + $msg .= "Error while writing log-file
    "; + } + } + else + { + $msg = $db->errormsg; + $msg .= "An error occured while updating data. No changes were made
    "; + $db->db_query("ROLLBACK;"); + $msg_qry = mb_eregi_replace(';',';
    ',$update_qry); + $msg_qry = str_replace('/*', '', $msg_qry); + $msg_qry = str_replace('*/', '', $msg_qry); + $msg.= "
    ".$msg_qry."ROLLBACK"; + } + //$courseLeft=0; + //$courseRight=0; + } +} +/*if((isset($courseLeft) && !isset($courseRight))||(!isset($courseLeft) && isset($courseRight)) || ($courseLeft<0 || $courseRight<0)) +{ + $msg="Please select a radio-button from each table"; +}*/ +?> + + + + + + + + + + + LV-Merge/Transfer + + +

    Merge/Transfer courses

    + +'.$msg.'
    '; +echo '
    '; +echo '
    +
    '; +////////// +// FILTER LEFT SIDE +////////// + +// Degree Program DropDown +$studiengang = new studiengang(); +$studiengang->getAll('typ, kurzbz'); + +//echo 'Degree Program '; +echo ''; +$typ = ''; +$maxsemester = array(); + +foreach ($studiengang->result as $stg) +{ + if ($typ != $stg->typ || $typ=='') + { + if ($typ!='') + echo ''; + echo ''; + } + + echo ''; + $maxsemester[$stg->studiengang_kz] = $stg->max_semester; + $typ = $stg->typ; +} +echo '
    or '; + +// Input text or ID +//echo ''; +echo ''; + +echo '
    '; + +// Semester DropDown +echo 'Semester
    '; + +// Orgform DropDown +echo ' Orgform
    '; + +// Studienplan DropDown +echo ' Studienplan
    '; + +// Type DropDown +echo ' Type
    '; + +echo ''; +echo '

    '; +echo ''; + +echo '
    '; + +echo '
    +
    '; +////////// +// FILTER RIGHT SIDE +////////// + +// Degree Program DropDown +$studiengang = new studiengang(); +$studiengang->getAll('typ, kurzbz'); + +//echo 'Degree Program '; +echo ''; +$typ = ''; +$maxsemester = array(); +foreach ($studiengang->result as $stg) +{ + if ($typ != $stg->typ || $typ=='') + { + if ($typ!='') + echo ''; + echo ''; + } + + echo ''; + $maxsemester[$stg->studiengang_kz] = $stg->max_semester; + $typ = $stg->typ; +} +echo '
    or '; + +// Input text or ID +//echo ''; +echo ''; + +echo '
    '; + +// Semester DropDown +echo 'Semester
    '; + +// Orgform DropDown +echo ' Orgform
    '; + +// Studienplan DropDown +echo ' Studienplan
    '; + +// Type DropDown +echo ' Type
    '; + +echo ''; +echo '

    '; +echo ''; + +echo '
    '; + +echo '
    +
    '; +echo '
    '; + +$stg_arr = new studiengang(); +$stg_arr->getAll(null,false); +foreach ($stg_arr->result as $row) + $studiengang_arr[$row->studiengang_kz] = $row->kurzbzlang; + +////////// +// COURSES LEFT SIDE +////////// +echo '
    '; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; + +echo ' '; + +echo ' | '; + +echo ' | '; + +echo ' '; + +echo '
    +
    '; + + +// Left table +echo 'Select course to be deleted or copied from'; +echo ''; +echo ""; +echo ""; +echo ""; +if ($select_stg_kz_left=='') + echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +//if ((substr($input_text_left,0,1)=='#' || ($input_text_left!='' && strlen($input_text_left)>=3)) || $select_studienplan_left!='' || $select_stg_kz_left!='') +if ((is_numeric($input_text_left) || ($input_text_left!='' && strlen($input_text_left)>=3)) || $select_studienplan_left!='' || $select_stg_kz_left!='') +{ + $qry_left = "SELECT DISTINCT * FROM lehre.tbl_lehrveranstaltung "; + + /*if ($input_text_left!='') + { + if (substr($input_text_left,0,1)=='#') + $qry_left .= " WHERE lehrveranstaltung_id=".$db->db_add_param(substr($input_text_left,1), FHC_INTEGER); + else + $qry_left .= " WHERE lower(bezeichnung) LIKE LOWER('%".$db->db_escape($input_text_left)."%')"; + } + else*/ + { + if ($select_studienplan_left!='') + $qry_left .= " JOIN lehre.tbl_studienplan_lehrveranstaltung USING (lehrveranstaltung_id)"; + + $qry_left .= " WHERE 1=1"; + if ($select_stg_kz_left!='') + $qry_left .= " AND studiengang_kz=".$db->db_add_param($select_stg_kz_left); + if (is_numeric($input_text_left)) + $qry_left .= " AND lehrveranstaltung_id=".$db->db_add_param($input_text_left, FHC_INTEGER); + elseif ($input_text_left!='' && strlen($input_text_left)>=3) + $qry_left .= " AND lower(bezeichnung) LIKE LOWER('%".$db->db_escape($input_text_left)."%')"; + if ($select_studienplan_left!='') + $qry_left .= " AND studienplan_id=".$db->db_add_param($select_studienplan_left, FHC_INTEGER); + if ($select_semester_left!='-1') + $qry_left .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($select_semester_left, FHC_INTEGER); + if ($select_orgform_left!='') + $qry_left .= " AND orgform_kurzbz=".$db->db_add_param($select_orgform_left); + if ($select_lehrtyp_left!='') + $qry_left .= " AND lehrtyp_kurzbz=".$db->db_add_param($select_lehrtyp_left); + } + $qry_left .= " ORDER BY bezeichnung;"; + //echo $qry_left.'
    '; + + if($db->db_query($qry_left)) + { + while($row = $db->db_fetch_object()) + { + echo ''; + echo ''; + echo ''; + echo ''; + if ($select_stg_kz_left=='') + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ""; + } + } +} +echo "
    IDNameTypeDPSemesterLanguageECTSLVSALVSSWSLVPLS 
    '.$row->lehrveranstaltung_id.''.$row->bezeichnung.''.strtoupper($row->lehrtyp_kurzbz).''.$studiengang_arr[$row->studiengang_kz].''.$row->semester.''.$row->sprache.''.$row->ects.''.$row->lvs.''.$row->alvs.''.$row->sws.''.$row->lvps.'lehrveranstaltung_id)?'checked':'').' onclick="enableRadio(\'courseLeft\'); disableRadio(\'courseRight_'.$row->lehrveranstaltung_id.'\')">
    "; + +////////// +// COURSES RIGHT SIDE +////////// + +echo '
    +
    '; + +// Right table +echo 'Select course to remain or transfer to'; +echo ''; +echo ""; +echo ""; +echo ""; +echo ""; +if ($select_stg_kz_right=='') + echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + +//if ((substr($input_text_right,0,1)=='#' || ($input_text_right!='' && strlen($input_text_right)>=3)) || $select_studienplan_right!='' || $select_stg_kz_right!='') +if ((is_numeric($input_text_right) || ($input_text_right!='' && strlen($input_text_right)>=3)) || $select_studienplan_right!='' || $select_stg_kz_right!='') +{ + $qry_right = "SELECT DISTINCT * FROM lehre.tbl_lehrveranstaltung "; + + /*if ($input_text_right!='') + { + if (substr($input_text_right,0,1)=='#') + $qry_right .= " WHERE lehrveranstaltung_id=".$db->db_add_param(substr($input_text_right,1), FHC_INTEGER); + else + $qry_right .= " WHERE lower(bezeichnung) LIKE LOWER ('%".$db->db_escape($input_text_right)."%')"; + } + else*/ + { + if ($select_studienplan_right!='') + $qry_right .= " JOIN lehre.tbl_studienplan_lehrveranstaltung USING (lehrveranstaltung_id)"; + + $qry_right .= " WHERE 1=1"; + if ($select_stg_kz_right!='') + $qry_right .= " AND studiengang_kz=".$db->db_add_param($select_stg_kz_right); + if (is_numeric($input_text_right)) + $qry_right .= " AND lehrveranstaltung_id=".$db->db_add_param($input_text_right, FHC_INTEGER); + elseif ($input_text_right!='' && strlen($input_text_right)>=3) + $qry_right .= " AND lower(bezeichnung) LIKE LOWER('%".$db->db_escape($input_text_right)."%')"; + if ($select_studienplan_right!='') + $qry_right .= " AND studienplan_id=".$db->db_add_param($select_studienplan_right, FHC_INTEGER); + if ($select_semester_right!='-1') + $qry_right .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($select_semester_right, FHC_INTEGER); + if ($select_orgform_right!='') + $qry_right .= " AND orgform_kurzbz=".$db->db_add_param($select_orgform_right); + if ($select_lehrtyp_right!='') + $qry_right .= " AND lehrtyp_kurzbz=".$db->db_add_param($select_lehrtyp_right); + } + $qry_right .= " ORDER BY bezeichnung;"; + //echo $qry_right.'
    '; + + if($db->db_query($qry_right)) + { + while($row = $db->db_fetch_object()) + { + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + if ($select_stg_kz_right=='') + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ""; + } + } +} +echo "
     IDNameTypeDPSemesterLanguageECTSLVSALVSSWSLVPLS
    lehrveranstaltung_id)?'checked':'').' onclick="enableRadio(\'courseRight\'); disableRadio(\'courseLeft_'.$row->lehrveranstaltung_id.'\')">'.$row->lehrveranstaltung_id.''.$row->bezeichnung.''.strtoupper($row->lehrtyp_kurzbz).''.$studiengang_arr[$row->studiengang_kz].''.$row->semester.''.$row->sprache.''.$row->ects.''.$row->lvs.''.$row->alvs.''.$row->sws.''.$row->lvps.'
    "; +echo '
    +
    '; +echo '
    '; +exit; + +?> + + + + diff --git a/vilesci/personen/institutsliste.php b/vilesci/personen/institutsliste.php index 0b7049826..1d0cd1715 100644 --- a/vilesci/personen/institutsliste.php +++ b/vilesci/personen/institutsliste.php @@ -47,7 +47,19 @@ echo ' - + + +

    Liste der MitarbeiterInnen der Institute

    '; @@ -85,7 +97,7 @@ else //Alle aktiven Mitarbeiter holen mit den ALVS-Stunden und der Hauptinstitutszuteilung $qry = "SELECT - vorname, nachname, fixangestellt, mitarbeiter_uid, kompetenzen, + personalnummer, vorname, nachname, fixangestellt, mitarbeiter_uid, kompetenzen, ( SELECT sum(semesterstunden) @@ -123,27 +135,21 @@ $qry = "SELECT if($result = $db->db_query($qry)) { - echo "

    + $count = $db->db_num_rows($result); + echo $count.' MitarbeiterInnen'; + echo "

    - - - - - - - - - - - - - - - - - - + + + + + + + + + + "; @@ -151,6 +157,7 @@ if($result = $db->db_query($qry)) while($row = $db->db_fetch_object($result)) { echo ''; + echo ""; echo ""; echo ""; echo "";
    ALVSInstitute
    NachnameVornameFix / FreiKompetenzen".$db->convert_html_chars($ws)."".$db->convert_html_chars($ss)."StudiengangHauptzuteilungSonstigePNrNachnameVornameFix / FreiKompetenzenALVS
    ".$db->convert_html_chars($ws)."
    ALVS
    ".$db->convert_html_chars($ss)."
    StudiengangInstitut HauptzuteilungSonstige Institutszuteilungen
    ".$db->convert_html_chars($row->personalnummer)."".$db->convert_html_chars($row->nachname)."".$db->convert_html_chars($row->vorname)."".($row->fixangestellt=='t'?'fix':'frei')."