diff --git a/vilesci/personen/student_vorrueckung.php b/vilesci/personen/student_vorrueckung.php
index 9d195e0e2..f0bd6c056 100644
--- a/vilesci/personen/student_vorrueckung.php
+++ b/vilesci/personen/student_vorrueckung.php
@@ -28,6 +28,11 @@ require_once('../../include/functions.inc.php');
if(!$conn=pg_pconnect(CONN_STRING))
die("Konnte Verbindung zur Datenbank nicht herstellen");
+function myaddslashes($var)
+{
+ return ($var!=''?"'".addslashes($var)."'":'null');
+}
+
$s=new studiengang($conn);
$s->getAll('typ, kurzbz', true);
$studiengang=$s->result;
@@ -39,7 +44,6 @@ foreach($ss->studiensemester as $studiensemester)
$ss_arr[] = $studiensemester->studiensemester_kurzbz;
}
-
$user = get_uid();
if (isset($_GET['stg_kz']) || isset($_POST['stg_kz']))
@@ -49,22 +53,25 @@ else
if (isset($_GET['semester']) || isset($_POST['semester']))
$semester=(isset($_GET['semester'])?$_GET['semester']:$_POST['semester']);
else
- $semester=0;
+ $semester=100;
if (isset($_GET['studiensemester_kurzbz']) || isset($_POST['studiensemester_kurzbz']))
$studiensemester_kurzbz=(isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:$_POST['studiensemester_kurzbz']);
else
$studiensemester_kurzbz=null;
if (is_null($studiensemester_kurzbz))
- $studiensemester_kurzbz=$ss->getaktorNext();
-//echo $studiensemester_kurzbz;
-
+{
+ $studiensemester_kurzbz=$ss->getakt();
+ $studiensemester_kurzbz_akt=$ss->getakt();
+}
+$ss->getNextStudiensemester();
+$studiensemester_kurzbz_zk=$ss->studiensemester_kurzbz;
if(!is_numeric($stg_kz))
$stg_kz=0;
if(!is_numeric($semester))
- $semester=0;
-
+ $semester=100;
+/*
if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
{
//Lehre Feld setzen
@@ -107,12 +114,19 @@ if(isset($_GET['lvid']) && is_numeric($_GET['lvid']))
echo "Erfolgreich gespeichert";
}
}
+*/
$sql_query="SELECT tbl_student.*,tbl_person.* FROM tbl_studentlehrverband JOIN tbl_student USING (student_uid)
JOIN tbl_benutzer ON (student_uid=uid)
JOIN tbl_person USING (person_id)
- WHERE tbl_studentlehrverband.studiengang_kz='$stg_kz' AND tbl_studentlehrverband.semester='$semester' AND studiensemester_kurzbz='$studiensemester_kurzbz'
- ORDER BY nachname";
+ WHERE tbl_person.aktiv AND tbl_studentlehrverband.studiengang_kz='$stg_kz'
+ AND studiensemester_kurzbz='$studiensemester_kurzbz' ";
+if($semester<100)
+{
+ $sql_query.="AND tbl_studentlehrverband.semester='$semester' ";
+}
+$sql_query.="ORDER BY semester, nachname";
+
//echo $sql_query;
if (!$result_std=pg_query($conn, $sql_query))
error("Studenten not found!");
@@ -121,18 +135,44 @@ $outp='';
// ****************************** Vorruecken ******************************
if (isset($_POST['vorr']))
{
- $next_ss='WS2007';
+ $next_ss=$studiensemester_kurzbz_zk;
while($row=pg_fetch_object($result_std))
{
- $s=$row->semester+1;
- $sql="INSERT INTO tbl_studentlehrverband
- VALUES ('$row->student_uid','$next_ss','$row->studiengang_kz',
- '$s','$row->verband','$row->gruppe',NULL,NULL,now(),'$user',NULL);
- INSERT INTO tbl_prestudentrolle
- VALUES ($row->prestudent_id,'Student','$next_ss',$s,now(),now(),'$user',NULL,NULL,NULL);
- UPDATE tbl_student SET semester=$s WHERE student_uid='$row->student_uid'";
- if (!$r=pg_query($conn, $sql))
- die(pg_last_error($conn));
+ $qry_status="SELECT rolle_kurzbz FROM public.tbl_prestudentrolle JOIN public.tbl_prestudent USING(prestudent_id)
+ WHERE person_id=".myaddslashes($row->person_id)."
+ AND studiensemester_kurzbz=".myaddslashes($studiensemester_kurzbz_akt)."
+ ORDER BY datum desc LIMIT 1;";
+ if ($result_status=pg_query($conn, $qry_status))
+ {
+ if($row_status=pg_fetch_object($result_status))
+ {
+ $s=$row->semester+1;
+ //Lehrverbandgruppe anlegen, wenn noch nicht vorhanden
+ $qry_lvb="SELECT * FROM public.tbl_lehrverband
+ WHERE studiengang_kz=".myaddslashes($row->studiengang_kz)." AND semester=".myaddslashes($s)."
+ AND verband=".myaddslashes($row->verband)." AND gruppe=".myaddslashes($row->gruppe).";";
+ if(pg_num_rows(pg_query($conn, $qry_lvb))<1)
+ {
+ $lvb_ins="INSERT INTO public.tbl_lehrverband VALUES (".
+ myaddslashes($row->studiengang_kz).", ".
+ myaddslashes($s).", ".
+ myaddslashes($row->verband).", ".
+ myaddslashes($row->gruppe).",
+ TRUE, NULL, NULL);";
+ if (!$r=pg_query($conn, $lvb_ins))
+ die(pg_last_error($conn));
+ }
+ //Eintragen der neuen Gruppe und Rolle
+ $sql="INSERT INTO tbl_studentlehrverband
+ VALUES ('$row->student_uid','$next_ss','$row->studiengang_kz',
+ '$s','$row->verband','$row->gruppe',NULL,NULL,now(),'$user',NULL);
+ INSERT INTO tbl_prestudentrolle
+ VALUES ($row->prestudent_id,'$row_status->rolle_kurzbz','$next_ss',$s,now(),now(),'$user',NULL,NULL,NULL);
+ UPDATE tbl_student SET semester=$s WHERE student_uid='$row->student_uid'";
+ if (!$r=pg_query($conn, $sql))
+ die(pg_last_error($conn));
+ }
+ }
}
}
@@ -159,12 +199,14 @@ foreach ($ss_arr AS $sts)
$outp.=" ";
}
$outp.=" \n";
-
+$outp.="
Vorrückung von ".$studiensemester_kurzbz." -> ".$studiensemester_kurzbz_zk;
$outp.= '
-- ';
for ($i=0;$i<=$s[$stg_kz]->max_sem;$i++)
$outp.= ''.$i.' -- ';
+$outp.= 'alle -- ';
?>
+