* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
/**
* Dieses Script wird verwendet, um zu bereits verplanten LVPlan Eintraegen zusaetzliche
* Gruppen dazu zu verplanen. (zB fuer Incoming Gruppen die erst spaeter zur LV hinzugefuegt werden)
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
// Benutzerdefinierte Variablen laden
$user = get_uid();
loadVariables($user);
// Berechtigungen pruefen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('lehre/lvplan', null,'suid'))
die('Sie haben keine Berechtigung für diese Seite');
// Variablen Initialisieren
$studiengang_kz=0;
$lektor_uid=0;
$unr=0;
$semester=0;
$verband=' ';
$gruppe=' ';
$gruppe_kurzbz='';
$leid=0;
$stg_kz=0;
$sem=0;
$insert=false;
if(isset($_GET['stg_kz']))
$stg_kz = $_GET['stg_kz'];
if(isset($_GET['studiengang_kz']))
$studiengang_kz = $_GET['studiengang_kz'];
if(isset($_GET['sem']))
$sem = $_GET['sem'];
if(isset($_GET['semester']))
$semester = $_GET['semester'];
if(isset($_GET['verband']))
$verband = $_GET['verband'];
if(isset($_GET['gruppe']))
$gruppe = $_GET['gruppe'];
if(isset($_GET['leid']))
$leid = $_GET['leid'];
if(isset($_GET['gruppe_kurzbz']))
$gruppe_kurzbz = $_GET['gruppe_kurzbz'];
if(isset($_GET['lektor_uid']))
$lektor_uid = $_GET['lektor_uid'];
if(isset($_GET['unr']))
$unr = $_GET['unr'];
// Plausib der Variablen
if ($verband=='')
$verband=' ';
if ($gruppe=='')
$gruppe=' ';
if(!is_numeric($stg_kz))
$stg_kz=0;
if(!is_numeric($semester))
$semester=0;
$insert = (isset($_GET['insert'])?$_GET['insert']:false);
$insert=trim($insert);
$insert=(empty($insert)?false:true);
// Studiengang lesen
$s=new studiengang();
$s->getAll('typ, kurzbz', false);
$studiengang=$s->result;
// Bezeichnungen fuer Tabellen und Views
$lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
$stpl_table=TABLE_BEGIN.$db_stpl_table;
$outp='';
// Eintrag im Stundenplan hinzufuegen
if ($insert)
{
// Termine holen
$qry = "SELECT DISTINCT datum, stunde FROM lehre.$stpl_table WHERE lehreinheit_id=".$db->db_add_param($leid, FHC_INTEGER);
if(!$result=$db->db_query($qry))
die ($qry .' '.$db->db_last_error());
while ($row=$db->db_fetch_object($result))
{
$qry = "SELECT
DISTINCT ort_kurzbz
FROM
lehre.".$stpl_table."
WHERE
lehreinheit_id=".$db->db_add_param($leid, FHC_INTEGER)."
AND datum=".$db->db_add_param($row->datum)."
AND stunde=".$db->db_add_param($row->stunde).";";
if(!$result_ort=$db->db_query($qry))
die ("DB Fehler $qry" .' '.$db->db_last_error());
while ($row_ort=$db->db_fetch_object($result_ort))
{
// Pruefen ob der Eintrag schon in der Datenbank vorhanden ist
// da sonst bei mehrmaligem Refresh der Seite der Eintrag oefter eingetragen wird
$qry = "SELECT
1
FROM
lehre.$stpl_table
WHERE datum=".$db->db_add_param($row->datum).
' AND stunde='.$db->db_add_param($row->stunde).
' AND ort_kurzbz='.$db->db_add_param($row_ort->ort_kurzbz).
' AND unr='.$db->db_add_param($unr).
' AND mitarbeiter_uid='.$db->db_add_param($lektor_uid).
' AND studiengang_kz='.$db->db_add_param($studiengang_kz).
' AND semester='.$db->db_add_param($semester).
' AND verband='.$db->db_add_param($verband).
' AND gruppe='.$db->db_add_param($gruppe);
if ($gruppe_kurzbz!='')
$qry.=' AND gruppe_kurzbz='.$db->db_add_param($gruppe_kurzbz);
else
$qry.=' AND gruppe_kurzbz is null';
if($result_stplcheck=$db->db_query($qry))
{
if($db->db_num_rows($result_stplcheck)==0)
{
$qry="INSERT INTO lehre.$stpl_table (datum,stunde,ort_kurzbz,unr,mitarbeiter_uid,studiengang_kz,
semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id, updatevon, insertvon)
VALUES (".$db->db_add_param($row->datum).",".
$db->db_add_param($row->stunde).",".
$db->db_add_param($row_ort->ort_kurzbz).",".
$db->db_add_param($unr).",".
$db->db_add_param($lektor_uid).",".
$db->db_add_param($studiengang_kz).",".
$db->db_add_param($semester).",".
$db->db_add_param($verband).",".
$db->db_add_param($gruppe).",";
if ($gruppe_kurzbz!='')
$qry.=$db->db_add_param($gruppe_kurzbz).",";
else
$qry.="NULL,";
$qry.=$db->db_add_param($leid, FHC_INTEGER).",'".$user."','".$user."');";
if(!$result_insert=$db->db_query($qry))
die ("DB Fehler $qry" .' '.$db->db_last_error());
}
else
{
$outp.='Fehlgeschlagen: Eintrag bereits vorhanden';
}
}
}
}
}
$stsem_obj = new studiensemester();
$studiensemester = $semester_aktuell;
$where=" studiensemester_kurzbz=".$db->db_add_param($studiensemester);
if (!empty($semester))
$where.=" AND semester=".$db->db_add_param($semester, FHC_INTEGER);
if (!empty($stg_kz))
$where.=" AND studiengang_kz=".$db->db_add_param($stg_kz, FHC_INTEGER);
$sql_query="SELECT
*, planstunden-verplant::smallint AS offenestunden
FROM
lehre.$lva_stpl_view
JOIN lehre.tbl_lehrform ON ($lva_stpl_view.lehrform=tbl_lehrform.lehrform_kurzbz)
WHERE $where
AND verplant=0
AND planstunden>0
AND lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.$stpl_table)
ORDER BY offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz;";
if(!$result_lv=$db->db_query($sql_query))
die ("DB Fehler $sql_query" .' '.$db->db_last_error());
if(!$result_lv)
die("Lehrveranstaltung not found!");
$s=array();
$outp.='';
$outp.= '
-- ';
for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++)
$outp.= ''.$i.' -- ';
?>
| LE-ID | UNR | Lehrfach | Lektor | Lehrverband | Gruppe | SS | planstunden | Verplant | \n"; echo "|
|---|---|---|---|---|---|---|---|---|---|
| $row->lehreinheit_id | "; echo "$row->unr | "; echo "$row->lehrfach-$row->lehrform - $row->lehrfach_bez | "; echo "$row->lektor | "; echo "$row->studiengang-$row->semester$row->verband$row->gruppe | $row->gruppe_kurzbz | "; echo "$row->studiensemester_kurzbz | "; echo "$row->planstunden | "; echo "$row->verplant | "; echo "Hinzufuegen | "; echo "