';
foreach ($lv_diff1 as $key => $value)
{
if (is_bool($value))
$msg .= '
'.($value?'':'').'
';
elseif ($key == 'farbe')
$msg .= '
'.$value.'
';
else
$msg .= '
'.$value.'
';
}
$msg .= '
';
foreach ($lv_diff2 as $key => $value)
{
if (is_bool($value))
$msg .= '
'.($value?'':'').'
';
elseif ($key == 'farbe')
$msg .= '
'.$value.'
';
else
$msg .= '
'.$value.'
';
}
$msg .= '
';
}
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
{
if(!$rechte->isBerechtigt('lehre/lehrveranstaltung', NULL, 'sui'))
die($rechte->errormsg);
$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_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 moodle
if (in_array('moodle', $activeAddons))
{
$update_qry.="UPDATE addon.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).";";
}
//addon lvinfo
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']))
{
if(!$rechte->isBerechtigt('lehre/lehrveranstaltung', NULL, 'suid'))
die($rechte->errormsg);
$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_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 moodle
if (in_array('moodle', $activeAddons))
{
$update_qry.="UPDATE addon.tbl_moodle SET lehrveranstaltung_id=".$db->db_add_param($courseRight, FHC_INTEGER)." WHERE lehrveranstaltung_id=".$db->db_add_param($courseLeft, FHC_INTEGER).";";
}
//addon lvinfo
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 '';
$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 '';
exit;
?>