Fixed code indentation, standart output, includes path, removed unused

variables and added a check to mail send where missing
This commit is contained in:
Paolo
2021-03-18 19:14:56 +01:00
parent 5da754c9db
commit 2c9ca77500
5 changed files with 854 additions and 605 deletions
+81 -65
View File
@@ -1,5 +1,7 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
/**
* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -20,13 +22,15 @@
* Rudolf Hangl <[email protected]> and
* Gerald Simane-Sequens <[email protected]>
*/
// ************************************
// * Script zur Pruefung und Korrektur
// * moeglicher Inkonsistenzen
// *
// * - Studenten ohne Prestudent_id werden korrigiert
// * - Inkonsistenzen der Tabellen tbl_studentlehrverband, tbl_student werden korrigiert
// **********************************
/**
* Script zur Pruefung und Korrektur
* moeglicher Inkonsistenzen
*
* - Studenten ohne Prestudent_id werden korrigiert
* - Inkonsistenzen der Tabellen tbl_studentlehrverband, tbl_student werden korrigiert
*/
require_once(dirname(__FILE__).'/../config/vilesci.config.inc.php');
require_once(dirname(__FILE__).'/../include/studiensemester.class.php');
require_once(dirname(__FILE__).'/../include/person.class.php');
@@ -38,34 +42,41 @@ require_once(dirname(__FILE__).'/../include/mail.class.php');
$db = new basis_db();
$anzahl_neue_prestudent_id=0;
$anzahl_fehler_prestudent=0;
$anzahl_gruppenaenderung=0;
$anzahl_gruppenaenderung_fehler=0;
$text='';
$statistik ='';
$abunterbrecher_verschoben_error=0;
$abunterbrecher_verschoben=0;
$anzahl_neue_prestudent_id = 0;
$anzahl_fehler_prestudent = 0;
$anzahl_gruppenaenderung = 0;
$anzahl_gruppenaenderung_fehler = 0;
$text = '';
$statistik = '';
$abunterbrecher_verschoben_error = 0;
$abunterbrecher_verschoben = 0;
// ****
// * Bei Studenten mit fehlener Prestudent_id wird die passende id ermittelt und Eingetragen
// ****
$qry = "SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE prestudent_id is null";
if($result = $db->db_query($qry))
// Bei Studenten mit fehlener Prestudent_id wird die passende id ermittelt und Eingetragen
$qry = "SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE prestudent_id IS NULL";
if ($result = $db->db_query($qry))
{
$text.="Suche Studenten mit fehlender Prestudent_id ...\n\n";
$text .= "Suche Studenten mit fehlender Prestudent_id ...\n\n";
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
$qry_id = "SELECT tbl_prestudent.prestudent_id FROM campus.vw_student JOIN public.tbl_prestudent USING(person_id) WHERE uid=".$db->db_add_param($row->student_uid)." AND tbl_prestudent.studiengang_kz=".$db->db_add_param($row->studiengang_kz);
if($result_id = $db->db_query($qry_id))
$qry_id = "SELECT tbl_prestudent.prestudent_id
FROM campus.vw_student
JOIN public.tbl_prestudent USING(person_id)
WHERE uid = ".$db->db_add_param($row->student_uid)."
AND tbl_prestudent.studiengang_kz = ".$db->db_add_param($row->studiengang_kz);
if ($result_id = $db->db_query($qry_id))
{
if($db->db_num_rows($result_id)==1)
if ($db->db_num_rows($result_id) == 1)
{
if($row_id = $db->db_fetch_object($result_id))
if ($row_id = $db->db_fetch_object($result_id))
{
$qry_upd = "UPDATE public.tbl_student SET prestudent_id=".$db->db_add_param($row_id->prestudent_id)." WHERE student_uid=".$db->db_add_param($row->student_uid);
if($db->db_query($qry_upd))
$qry_upd = "UPDATE public.tbl_student
SET prestudent_id = ".$db->db_add_param($row_id->prestudent_id)."
WHERE student_uid = ".$db->db_add_param($row->student_uid);
if ($db->db_query($qry_upd))
{
$text .= "Prestudent_id von $row->student_uid wurde auf $row_id->prestudent_id gesetzt\n";
$anzahl_neue_prestudent_id++;
@@ -77,12 +88,12 @@ if($result = $db->db_query($qry))
$anzahl_fehler_prestudent++;
}
}
elseif($db->db_num_rows($result_id)>1)
elseif ($db->db_num_rows($result_id) > 1)
{
$text .= "Student $row->student_uid hat keine Prestudent_id und MEHRERE passende Prestudenteintraege\n";
$anzahl_fehler_prestudent++;
}
elseif($db->db_num_rows($result_id)==0)
elseif( $db->db_num_rows($result_id) == 0)
{
$text .= "Student $row->student_uid hat keine Prestudent_id und KEINE passenden Prestudenteintraege\n";
$anzahl_fehler_prestudent++;
@@ -90,20 +101,18 @@ if($result = $db->db_query($qry))
}
else
{
$text.="Fehler bei Abfrage:".$db->db_last_error()."\n";
$text .= "Fehler bei Abfrage:".$db->db_last_error()."\n";
$anzahl_fehler_prestudent++;
}
}
}
// *****
// * Gruppenzuteilung von Abbrechern und Unterbrechern korrigieren.
// * Abbrecher werden in die Gruppe 0A verschoben
// * Unterbrecher in die Gruppe 0B
// *****
$text.="\n\nKorrigiere Gruppenzuteilungen von Ab-/Unterbrechern\n";
// Gruppenzuteilung von Abbrechern und Unterbrechern korrigieren.
// Abbrecher werden in die Gruppe 0A verschoben
// Unterbrecher in die Gruppe 0B
$text .= "\n\nKorrigiere Gruppenzuteilungen von Ab-/Unterbrechern\n";
//Alle Ab-/Unterbrecher holen die nicht im 0. Semester sind
// Alle Ab-/Unterbrecher holen die nicht im 0. Semester sind
$qry = "SELECT
student_uid,
tbl_student.studiengang_kz,
@@ -133,19 +142,19 @@ $qry = "SELECT
)
";
if($result = $db->db_query($qry))
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
//Eintrag nur korrigieren wenn der Abbrecher/Unterbrecher Status der letzte in diesem Studiensemester ist
// Eintrag nur korrigieren wenn der Abbrecher/Unterbrecher Status der letzte in diesem Studiensemester ist
$prestd = new prestudent();
$prestd->getLastStatus($row->prestudent_id, $row->studiensemester_kurzbz);
if($prestd->status_kurzbz=='Unterbrecher' || $prestd->status_kurzbz=='Abbrecher')
if ($prestd->status_kurzbz == 'Unterbrecher' || $prestd->status_kurzbz == 'Abbrecher')
{
//Studentlehrverbandeintrag aktualisieren
// Studentlehrverbandeintrag aktualisieren
$student = new student();
if($student->studentlehrverband_exists($row->student_uid, $row->studiensemester_kurzbz))
if ($student->studentlehrverband_exists($row->student_uid, $row->studiensemester_kurzbz))
$student->new = false;
else
{
@@ -158,47 +167,45 @@ if($result = $db->db_query($qry))
$student->studiensemester_kurzbz=$row->studiensemester_kurzbz;
$student->studiengang_kz = $row->studiengang_kz;
$student->semester = '0';
$student->verband = ($prestd->status_kurzbz=='Unterbrecher'?'B':'A');
$student->verband = ($prestd->status_kurzbz == 'Unterbrecher' ? 'B' : 'A');
$student->gruppe = ' ';
$student->updateamum = date('Y-m-d H:i:s');
$student->updatevon = 'chkstudentlvb';
//Pruefen ob der Lehrverband exisitert, wenn nicht dann wird er angelegt
// Pruefen ob der Lehrverband exisitert, wenn nicht dann wird er angelegt
$lehrverband = new lehrverband();
if(!$lehrverband->exists($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe))
if (!$lehrverband->exists($student->studiengang_kz, $student->semester, $student->verband, $student->gruppe))
{
$lehrverband->studiengang_kz = $student->studiengang_kz;
$lehrverband->semester = $student->semester;
$lehrverband->verband = $student->verband;
$lehrverband->gruppe = $student->gruppe;
$lehrverband->bezeichnung = ($student->verband=='A'?'Abbrecher':'Unterbrecher');
$lehrverband->bezeichnung = ($student->verband == 'A' ? 'Abbrecher' : 'Unterbrecher');
$lehrverband->save(true);
}
if($student->save_studentlehrverband())
if ($student->save_studentlehrverband())
{
$text.="Student $student->uid wurde im $row->studiensemester_kurzbz in die Gruppe $student->semester$student->verband verschoben\n";
$text .= "Student $student->uid wurde im $row->studiensemester_kurzbz in die Gruppe $student->semester$student->verband verschoben\n";
$abunterbrecher_verschoben++;
}
else
{
$text.="Fehler biem Speichern des Lehrverbandeintrages bei $student->student_uid:".$student->errormsg."\n";
$text .= "Fehler biem Speichern des Lehrverbandeintrages bei $student->student_uid:".$student->errormsg."\n";
$abunterbrecher_verschoben_error++;
}
}
}
}
// *****
// * Unterschiedliche Gruppenzuteilungen in tbl_studentlehrverband - tbl_student korrigieren
// *****
// Unterschiedliche Gruppenzuteilungen in tbl_studentlehrverband - tbl_student korrigieren
$stsem = new studiensemester();
$stsem = $stsem->getNearest();
$text.="\n\nKorrigiere Inkonsitenzen in den Tabellen tbl_studentlehrverband, tbl_student (Verwendetes Studiensemester: $stsem)\n\n";
$text .= "\n\nKorrigiere Inkonsitenzen in den Tabellen tbl_studentlehrverband, tbl_student (Verwendetes Studiensemester: $stsem)\n\n";
$qry = "SELECT
tbl_student.studiengang_kz as studiengang_kz_old,
@@ -221,25 +228,33 @@ $qry = "SELECT
tbl_student.gruppe<>tbl_studentlehrverband.gruppe
)";
if($result = $db->db_query($qry))
if ($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
while ($row = $db->db_fetch_object($result))
{
$qry = "UPDATE public.tbl_student SET studiengang_kz=".$db->db_add_param($row->studiengang_kz).", semester=".$db->db_add_param($row->semester).", verband=".$db->db_add_param($row->verband).", gruppe=".$db->db_add_param($row->gruppe)." WHERE student_uid=".$db->db_add_param($row->student_uid);
if($db->db_query($qry))
$qry = "UPDATE public.tbl_student
SET studiengang_kz = ".$db->db_add_param($row->studiengang_kz).",
semester = ".$db->db_add_param($row->semester).",
verband = ".$db->db_add_param($row->verband).",
gruppe = ".$db->db_add_param($row->gruppe)."
WHERE student_uid = ".$db->db_add_param($row->student_uid);
if ($db->db_query($qry))
{
$text .= "Bei Student $row->student_uid wurde die Gruppenzuordnung von $row->studiengang_kz_old/$row->semester_old/$row->verband_old/$row->gruppe_old auf $row->studiengang_kz/$row->semester/$row->verband/$row->gruppe geaendert\n";
$text .= "Bei Student $row->student_uid wurde die Gruppenzuordnung
von $row->studiengang_kz_old/$row->semester_old/$row->verband_old/$row->gruppe_old
auf $row->studiengang_kz/$row->semester/$row->verband/$row->gruppe geaendert\n";
$anzahl_gruppenaenderung++;
}
else
{
$text.="Fehler beim Aendern der Gruppe: ".$db->db_last_error()."\n";
$text .= "Fehler beim Aendern der Gruppe: ".$db->db_last_error()."\n";
$anzahl_gruppenaenderung_fehler++;
}
}
}
else
$text.="Fehler bei Abfrage".$db->db_last_error();
$text .= "Fehler bei Abfrage: ".$db->db_last_error();
$statistik .= "Prestudent_id wurde bei $anzahl_neue_prestudent_id Studenten korrigiert\n";
$statistik .= "$anzahl_fehler_prestudent Fehler sind bei der Korrektur der Prestudent_id aufgetreten\n";
@@ -250,11 +265,12 @@ $statistik .= "$anzahl_gruppenaenderung_fehler Fehler sind bei der Korrektur der
$statistik .= "\n\n";
$mail = new mail(MAIL_ADMIN, 'vilesci@'.DOMAIN, 'CHECK Studentlehrverband', $statistik.$text);
if($mail->send())
if ($mail->send())
echo 'Mail an '.MAIL_ADMIN.' wurde versandt';
else
echo 'Fehler beim Versenden des Mails an '.MAIL_ADMIN;
echo nl2br("\n\n".$statistik.$text);
echo "\n\n".$statistik.$text;
?>