diff --git a/include/js/CSS and JavaScript.txt b/include/js/CSS and JavaScript.txt
index 474e1fba1..741eff8e0 100644
--- a/include/js/CSS and JavaScript.txt
+++ b/include/js/CSS and JavaScript.txt
@@ -31,9 +31,20 @@ jquery.js
-jquery-1.9.min.js
+jquery1.9.min.js
-> jqueryUI (autocomplete, datepicker, etc)
-> Deutsches Schema für datepicker
-> tablesorter
+Tablesorter
+**************
+$(document).ready(function()
+{
+ $("#t1").tablesorter(
+ {
+ sortList: [[2,1]],
+ widgets: ["zebra"]
+ });
+});
+
diff --git a/vilesci/lehre/lvplanwartung.php b/vilesci/lehre/lvplanwartung.php
index 63a109463..7893a3c38 100644
--- a/vilesci/lehre/lvplanwartung.php
+++ b/vilesci/lehre/lvplanwartung.php
@@ -20,206 +20,287 @@
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
- require_once('../../config/vilesci.config.inc.php');
- require_once('../../include/basis_db.class.php');
- if (!$db = new basis_db())
- die('Es konnte keine Verbindung zum Server aufgebaut werden.');
-
- require_once('../../include/studiengang.class.php');
- require_once('../../include/functions.inc.php');
- require_once('../../include/studiensemester.class.php');
+/**
+ * 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;
+$studiengang_kz=0;
+$lektor_uid=0;
+$unr=0;
+$semester=0;
+$verband=' ';
+$gruppe=' ';
+$gruppe_kurzbz='';
+$leid=0;
- $stg_kz=0;
- $sem=0;
+$stg_kz=0;
+$sem=0;
- $insert=false;
+$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'];
-// POST/GET Parameter uebernehmen
- if (isset($_GET))
- {
- while (list ($tmp_key, $tmp_val) = each ($_GET))
- {
- $$tmp_key=$tmp_val;
- }
-
- }
- else if (isset($_POST))
- {
- while (list ($tmp_key, $tmp_val) = each ($_POST))
- {
- $$tmp_key=$tmp_val;
- }
- }
// Plausib der Variablen
- if ($verband=='')
- $verband=' ';
- if ($gruppe=='')
- $gruppe=' ';
-
- if(!is_numeric($stg_kz))
- $stg_kz=0;
- if(!is_numeric($semester))
- $semester=0;
-
- $insert=trim($insert);
- $insert=(empty($insert)?false:true);
+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;
-
-// Benutzerdefinierte Variablen laden
- $user = get_uid();
- loadVariables($user);
-
+$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;
+$lva_stpl_view=VIEW_BEGIN.'lva_'.$db_stpl_table;
+$stpl_table=TABLE_BEGIN.$db_stpl_table;
+$outp='';
-//*************** im Stundenplan hinzufuegen *************************
- if ($insert)
+// 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))
{
- // Termine holen
- $qry = "SELECT DISTINCT datum, stunde FROM lehre.$stpl_table WHERE lehreinheit_id=".$leid;
- //echo $qry.'
';
- 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))
{
- $qry = "SELECT DISTINCT ort_kurzbz FROM lehre.".$stpl_table."
- WHERE lehreinheit_id=$leid AND datum='$row->datum' AND stunde=$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))
{
- $qry="INSERT INTO lehre.$stpl_table (datum,stunde,ort_kurzbz,unr,mitarbeiter_uid,studiengang_kz,semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id, insertvon)
- VALUES ('".$row->datum."', $row->stunde,'$row_ort->ort_kurzbz',$unr,'".$lektor_uid."',$studiengang_kz,$semester,'$verband','$gruppe',";
- if ($gruppe_kurzbz!='')
- $qry.="'$gruppe_kurzbz',$leid,'LVPlanCheck');";
+ 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, 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).",'LVPlanCheck');";
+
+ if(!$result_insert=$db->db_query($qry))
+ die ("DB Fehler $qry" .' '.$db->db_last_error());
+ }
else
- $qry.="NULL,$leid,'LVPlanCheck');";
- if(!$result_insert=$db->db_query($qry))
- die ("DB Fehler $qry" .' '.$db->db_last_error());
+ {
+ $outp.='Fehlgeschlagen: Eintrag bereits vorhanden';
+ }
}
}
}
+}
- $stsem_obj = new studiensemester();
-/* if(date("m")>=1 || date("m")<=2)
- {
- $stsem_obj->getNextStudiensemester();
- $studiensemester = $stsem_obj->studiensemester_kurzbz;
- }
- else */
- $studiensemester = $semester_aktuell;
- $where=" studiensemester_kurzbz='".$studiensemester."'";
- if (!empty($semester))
- $where.=" AND semester=$semester";
- if (!empty($stg_kz))
- $where.=" AND studiengang_kz='$stg_kz'";
+$stsem_obj = new studiensemester();
+$studiensemester = $semester_aktuell;
-
- if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
- {
- //Lehrevz Speichern
- if(isset($_POST['lehrevz']))
- {
- $qry = "UPDATE lehre.tbl_lehrveranstaltung SET lehreverzeichnis='".addslashes($_POST['lehrevz'])."' WHERE lehrveranstaltung_id='".$_GET['lvid']."'";
- if(!$db->db_query($qry))
- echo "Fehler beim Speichern! " .' '.$db->db_last_error();
- else
- echo "Erfolgreich gespeichert";
- }
- }
+$where=" studiensemester_kurzbz=".$db->db_add_param($studiensemester);
- $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;";
- //echo $sql_query;
- if(!$result_lv=$db->db_query($sql_query))
- die ("DB Fehler $sql_query" .' '.$db->db_last_error());
- if(!$result_lv)
- die("Lehrveranstaltung not found!");
-
- $outp='';
- $s=array();
- $outp.="';
- $outp.= '
-- ';
- for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++)
- $outp.= ''.$i.' -- ';
+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.' -- ';
?>
-Lehrveranstaltung Verwaltung
-
-
-
-
+ LVPlan Wartung
+
+
+
+
+
+
-
+
LV-Plan Wartung (".$s[$stg_kz]->kurzbz." - ".$semester.") ($lva_stpl_view)";
-
-echo '';
-echo "Übersicht
-
+echo 'Übersicht
+
- ";
+
';
if ($result_lv!=0)
{
$num_rows=$db->db_num_rows($result_lv);
// raumtyp raumtypalternativ stundenblockung wochenrythmus semesterstunden start_kw anmerkung
- echo "| LE-ID | UNR | Lehrfach | Lektor |
- Lehrverband | Gruppe | SS | planstunden | Verplant | \n";
+ echo "LE-ID |
+ UNR |
+ Lehrfach |
+ Lektor |
+ Lehrverband |
+ Gruppe |
+ SS |
+ planstunden |
+ Verplant | \n";
echo "
";
echo "";
for($i=0;$i<$num_rows;$i++)
{
- $row=$db->db_fetch_object($result_lv);
- echo "";
- echo "| $row->lehreinheit_id | $row->unr | $row->lehrfach-$row->lehrform - $row->lehrfach_bez | $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 "
\n";
+ $row=$db->db_fetch_object($result_lv);
+ echo "";
+ 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 "
\n";
}
}
@@ -231,4 +312,4 @@ else
-
\ No newline at end of file
+