* 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 "";
?>