* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ // ***************************************** // * Script zum Zusammenlegen Doppelter LVs // * Es werden zwei Listen mit LVs angezeigt // * Links wird die LV markiert mit dem rechts // * markierten zusammengelegt werden soll. // * Die linke LV wird danach entfernt. // ************************************ //DB Verbindung herstellen require_once('../../config/vilesci.config.inc.php'); require_once('../../include/lehrveranstaltung.class.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/functions.inc.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); $msg=''; $outp=''; $smax=0; $s=new studiengang(); $s->getAll('erhalter_kz,typ,kurzbzlang',false); $studiengang=$s->result; $user = get_uid(); if (isset($_GET['stg_kz']) || isset($_POST['stg_kz'])) $stg_kz=(isset($_GET['stg_kz'])?$_GET['stg_kz']:$_POST['stg_kz']); else $stg_kz=0; if(!is_numeric($stg_kz)) $stg_kz=0; if (isset($_GET['semester']) || isset($_POST['semester'])) { $semester=(isset($_GET['semester'])?$_GET['semester']:$_POST['semester']); if($semester>(isset($_GET['max'])?$_GET['max']:$_POST['max'])) $semester=(isset($_GET['max'])?$_GET['max']:$_POST['max']); } else $semester=0; if(!is_numeric($semester)) $semester=0; if (isset($_GET['order_1']) || isset($_POST['order_1'])) { $order_1=(isset($_GET['order_1'])?$_GET['order_1']:$_POST['order_1']); } else { $order_1='lehrveranstaltung_id'; } if (isset($_GET['order_2']) || isset($_POST['order_2'])) { $order_2=(isset($_GET['order_2'])?$_GET['order_2']:$_POST['order_2']); } else { $order_2='lehrveranstaltung_id'; } if (isset($_GET['radio_1']) || isset($_POST['radio_1'])) { $radio_1=(isset($_GET['radio_1'])?$_GET['radio_1']:$_POST['radio_1']); } else { $radio_1=-1; } if (isset($_GET['radio_2']) || isset($_POST['radio_2'])) { $radio_2=(isset($_GET['radio_2'])?$_GET['radio_2']:$_POST['radio_2']); } else { $radio_2=-1; } $s=array(); foreach ($studiengang as $stg) { $s[$stg->studiengang_kz]->max_sem=$stg->max_semester; $s[$stg->studiengang_kz]->kurzbz=$stg->kurzbzlang; $outp.= ''.$stg->kurzbzlang.' ('.strtoupper($stg->typ.$stg->kurzbz).') - '; } $outp.= '
-- '; for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++) { $outp.= ''.$i.' -- '; } //Initialisierung der Variablen function kuerze($string) { if(strlen($string)>40) { return substr($string,0,35)."..."; } else { return $string; } } if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0) { if($radio_1==$radio_2) { $msg="Die Datensaetze duerfen nicht die gleiche ID haben"; } else { $sql_query_upd1="BEGIN;"; $sql_query_upd1.="UPDATE lehre.tbl_lehreinheit SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';"; $sql_query_upd1.="UPDATE lehre.tbl_zeugnisnote SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';"; $sql_query_upd1.="UPDATE campus.tbl_benutzerlvstudiensemester SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';"; $sql_query_upd1.="UPDATE campus.tbl_feedback SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';"; $sql_query_upd1.="UPDATE campus.tbl_lvgesamtnote SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';"; //updateamum vergleichen - jüngeres Datum gewinnt $qry1="SELECT updateamum FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';"; $qry2="SELECT updateamum FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';"; if($result1=$db->db_query($qry1)) { if($result2=$db->db_query($qry2)) { if($row1 = $db->db_fetch_object($result1)) { if($row2 = $db->db_fetch_object($result2)) { if($row2->updateamum>$row1->updateamum) { //wenn lvinfo neuer als die bestehende, ersetzt sie diese $sql_query_upd1.="DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_2';"; $sql_query_upd1.="UPDATE campus.tbl_lvinfo SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';"; } else { //wenn lvinfo älter als die bestehende, wird sie gelöscht $sql_query_upd1.="DELETE FROM campus.tbl_lvinfo WHERE lehrveranstaltung_id='$radio_1';"; } } } } } $sql_query_upd1.="UPDATE campus.tbl_lvinfo SET lehrveranstaltung_id='$radio_2' WHERE lehrveranstaltung_id='$radio_1';"; $sql_query_upd1.="UPDATE sync.tbl_synclehrveranstaltung SET lva_vilesci='$radio_2' WHERE lva_vilesci='$radio_1';"; $sql_query_upd1.="DELETE FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id='$radio_1';"; if($db->db_query($sql_query_upd1)) { $msg = "Daten Erfolgreich gespeichert
"; $db->db_query("COMMIT;"); $msg .= "
".mb_eregi_replace(';',';
',$sql_query_upd1)."COMMIT"; } else { $msg = "Die Änderung konnte nicht durchgeführt werden!"; $db->db_query("ROLLBACK;"); $msg .= "
".mb_eregi_replace(';',';
',$sql_query_upd1)."ROLLBACK"; } } } if((isset($radio_1) && !isset($radio_2))||(!isset($radio_1) && isset($radio_2)) || ($radio_1<0 || $radio_2<0)) { $msg="Es muß je ein Radio-Button pro Tabelle angeklickt werden"; } ?> LV-Zusammenlegung

Zusammenlegen von Lehrveranstaltungen (kurzbz.' - '.$semester; ?>)

max_sem; //aufruf ?>


"; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo "
Das wird gelöscht:"; //Tabelle 1 echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; $lf = new lehrveranstaltung(); $lf->getTab($stg_kz,$semester, $order_1); $i=0; foreach($lf->lehrveranstaltungen as $l) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; $i++; } echo "
IDKurzbzBezeichnungECTSSS 
$l->lehrveranstaltung_id$l->kurzbz".kuerze($l->bezeichnung)."$l->ects$l->semesterstundenlehrveranstaltung_id)?'checked':'').">
"; echo "
Das bleibt:"; //Tabelle 2 echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; $lf = new lehrveranstaltung(); $lf->getTab($stg_kz,$semester, $order_2); $i=0; foreach($lf->lehrveranstaltungen as $l) { echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; $i++; } echo "
 IDKurzbzBezeichnungECTSSS
lehrveranstaltung_id)?'checked':'').">$l->lehrveranstaltung_id$l->kurzbz".kuerze($l->bezeichnung)."$l->ects$l->semesterstunden
"; echo "
"; echo ""; ?>