mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-24 07:29:28 +00:00
Commandozeilenparameter --sendmail false hinzugefügt damit bei cronjobs der Mailversand deaktiviert werden kann
Pfadkorrektur damit das Script über die Cronjobverwaltung gestartet werden kann
This commit is contained in:
@@ -25,12 +25,12 @@
|
||||
* an die Betroffenen Lektoren und Studenten
|
||||
* Uebersichtsmails werden an LV-Planung und Administration geschickt
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../config/global.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once(dirname(__FILE__).'/../../config/vilesci.config.inc.php');
|
||||
require_once(dirname(__FILE__).'/../../config/global.config.inc.php');
|
||||
require_once(dirname(__FILE__).'/../../include/functions.inc.php');
|
||||
require_once(dirname(__FILE__).'/../../include/studiensemester.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/mail.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/datum.class.php');
|
||||
|
||||
echo '<html>
|
||||
<head>
|
||||
@@ -51,6 +51,15 @@ else
|
||||
|
||||
$mailstudents=(boolean)true;
|
||||
|
||||
// Commandline Paramter parsen bei Aufruf ueber Cronjob
|
||||
// zb php sync_stpldev_stpl.php --sendmail false
|
||||
$longopt = array(
|
||||
"sendmail:",
|
||||
);
|
||||
$commandlineparams = getopt('', $longopt);
|
||||
if(isset($commandlineparams['sendmail']) && $commandlineparams['sendmail']=='false')
|
||||
$sendmail=false;
|
||||
|
||||
$datum = new datum();
|
||||
|
||||
$count_del=0;
|
||||
@@ -81,6 +90,7 @@ $datum_ende=$ss->ende;
|
||||
if(defined('LVPLAN_SYNC_ENDE') && LVPLAN_SYNC_ENDE!='')
|
||||
$datum_ende=LVPLAN_SYNC_ENDE;
|
||||
|
||||
$db =new basis_db();
|
||||
$stgwhere = '';
|
||||
$stgwheredev = '';
|
||||
if(isset($_GET['custom']))
|
||||
@@ -88,12 +98,12 @@ if(isset($_GET['custom']))
|
||||
$sendmail = isset($_GET['mail']);
|
||||
$mailstudents = (isset($_GET['nostudentmail'])?false:true);
|
||||
$studiengang_kz=$_GET['studiengang_kz'];
|
||||
$stgwhere = " AND studiengang_kz='".addslashes($studiengang_kz)."'";
|
||||
$stgwheredev = " AND vw_stundenplandev.studiengang_kz='".addslashes($studiengang_kz)."'";
|
||||
$stgwhere = " AND studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
$stgwheredev = " AND vw_stundenplandev.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
$datum_begin = $datum->formatDatum($_GET['von'],'Y-m-d');
|
||||
$datum_ende = $datum->formatDatum($_GET['bis'],'Y-m-d');
|
||||
}
|
||||
$db =new basis_db();
|
||||
|
||||
// Beginnzeiten holen
|
||||
$qry = "SELECT stunde,to_char(beginn, 'HH24:MI') AS beginn FROM lehre.tbl_stunde";
|
||||
$beginnzeit_arr=array();
|
||||
@@ -109,7 +119,7 @@ if($result = $db->db_query($qry))
|
||||
function getStudentsFromGroup($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz, $studiensemester_kurzbz)
|
||||
{
|
||||
$db = new basis_db();
|
||||
|
||||
|
||||
$students = array();
|
||||
if($gruppe_kurzbz=='')
|
||||
{
|
||||
@@ -121,15 +131,15 @@ function getStudentsFromGroup($studiengang_kz, $semester, $verband, $gruppe, $gr
|
||||
public.tbl_benutzer ON (uid=student_uid)
|
||||
WHERE
|
||||
tbl_benutzer.aktiv=true AND
|
||||
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND
|
||||
studiengang_kz = '".addslashes($studiengang_kz)."' AND
|
||||
semester = '".addslashes($semester)."'";
|
||||
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||
studiengang_kz = ".$db->db_add_param($studiengang_kz)." AND
|
||||
semester = ".$db->db_add_param($semester);
|
||||
if(trim($verband)!='')
|
||||
{
|
||||
$qry.=" AND verband = '".addslashes($verband)."'";
|
||||
$qry.=" AND verband = ".$db->db_add_param($verband);
|
||||
if(trim($gruppe)!='')
|
||||
{
|
||||
$qry.=" AND gruppe = '".addslashes($gruppe)."'";
|
||||
$qry.=" AND gruppe = ".$db->db_add_param($gruppe);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -142,8 +152,8 @@ function getStudentsFromGroup($studiengang_kz, $semester, $verband, $gruppe, $gr
|
||||
LEFT JOIN
|
||||
public.tbl_benutzer USING (uid)
|
||||
WHERE
|
||||
gruppe_kurzbz='".addslashes($gruppe_kurzbz)."' AND
|
||||
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND
|
||||
gruppe_kurzbz=".$db->db_add_param($gruppe_kurzbz)." AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||
tbl_benutzer.aktiv=true
|
||||
";
|
||||
|
||||
@@ -183,9 +193,16 @@ Dies ist eine automatische Mail!<BR>Es haben sich folgende Aenderungen in Ihrem
|
||||
echo 'Neue Datensätze werden geholt. ('.date('H:i:s').')<BR>';flush();
|
||||
$message_stpl .= 'Neue Datensätze werden geholt. ('.date('H:i:s').')';
|
||||
|
||||
$sql_query="SELECT * FROM lehre.vw_stundenplandev WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' ".$stgwhere." AND
|
||||
NOT EXISTS
|
||||
(SELECT stundenplan_id FROM lehre.tbl_stundenplan WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' AND stundenplan_id=stundenplandev_id)
|
||||
$sql_query="SELECT * FROM lehre.vw_stundenplandev
|
||||
WHERE
|
||||
datum>=".$db->db_add_param($datum_begin)."
|
||||
AND datum<=".$db->db_add_param($datum_ende)." ".$stgwhere."
|
||||
AND NOT EXISTS
|
||||
(SELECT stundenplan_id FROM lehre.tbl_stundenplan
|
||||
WHERE
|
||||
datum>=".$db->db_add_param($datum_begin)."
|
||||
AND datum<=".$db->db_add_param($datum_ende)."
|
||||
AND stundenplan_id=stundenplandev_id)
|
||||
ORDER BY datum, stunde;";
|
||||
|
||||
|
||||
@@ -203,32 +220,41 @@ else
|
||||
$sql_query='INSERT INTO lehre.tbl_stundenplan
|
||||
(stundenplan_id,unr,mitarbeiter_uid,datum,stunde,ort_kurzbz,studiengang_kz,semester,verband,gruppe,
|
||||
gruppe_kurzbz,titel,'.(LVPLAN_ANMERKUNG_ANZEIGEN?'anmerkung,':'').'fix,updateamum,updatevon,insertamum,insertvon,lehreinheit_id) VALUES'; //spalte anmerkung nur syncen, wenn im Config aktiv
|
||||
$sql_query.="($row->stundenplandev_id,$row->unr,'$row->uid','$row->datum',$row->stunde,'$row->ort_kurzbz',
|
||||
$row->studiengang_kz,$row->semester";
|
||||
$sql_query.="(".$db->db_add_param($row->stundenplandev_id).",".
|
||||
$db->db_add_param($row->unr).",".
|
||||
$db->db_add_param($row->uid).",".
|
||||
$db->db_add_param($row->datum).",".
|
||||
$db->db_add_param($row->stunde).",".
|
||||
$db->db_add_param($row->ort_kurzbz).",".
|
||||
$db->db_add_param($row->studiengang_kz).",".
|
||||
$db->db_add_param($row->semester);
|
||||
if ($row->verband==null)
|
||||
$sql_query.=',NULL';
|
||||
else
|
||||
$sql_query.=",'$row->verband'";
|
||||
$sql_query.=",".$db->db_add_param($row->verband);
|
||||
if ($row->gruppe==null)
|
||||
$sql_query.=',NULL';
|
||||
else
|
||||
$sql_query.=",'$row->gruppe'";
|
||||
$sql_query.=",".$db->db_add_param($row->gruppe);
|
||||
if ($row->gruppe_kurzbz==null)
|
||||
$sql_query.=',NULL';
|
||||
else
|
||||
$sql_query.=",'$row->gruppe_kurzbz'";
|
||||
$sql_query.=",'$row->titel'";
|
||||
$sql_query.=",".$db->db_add_param($row->gruppe_kurzbz);
|
||||
$sql_query.=",".$db->db_add_param($row->titel);
|
||||
if (LVPLAN_ANMERKUNG_ANZEIGEN) //spalte anmerkung nur syncen, wenn im Config aktiv
|
||||
$sql_query.=",'$row->anmerkung'";
|
||||
$sql_query.=",".$db->db_add_param($row->anmerkung);
|
||||
if ($row->fix=='t')
|
||||
$sql_query.=',TRUE';
|
||||
else
|
||||
$sql_query.=',FALSE';
|
||||
$sql_query.=",'$row->updateamum','$row->updatevon','$row->insertamum','$row->insertvon'";
|
||||
$sql_query.=",".$db->db_add_param($row->updateamum).','.
|
||||
$db->db_add_param($row->updatevon).','.
|
||||
$db->db_add_param($row->insertamum).','.
|
||||
$db->db_add_param($row->insertvon);
|
||||
if ($row->lehreinheit_id==null)
|
||||
$sql_query.=',NULL';
|
||||
else
|
||||
$sql_query.=",$row->lehreinheit_id";
|
||||
$sql_query.=','.$db->db_add_param($row->lehreinheit_id);
|
||||
$sql_query.=');';
|
||||
//echo $sql_query;
|
||||
if (!$result_insert = $db->db_query($sql_query))
|
||||
@@ -273,14 +299,14 @@ else
|
||||
if ($mailstudents)
|
||||
{
|
||||
$studenten = getStudentsFromGroup($row->studiengang_kz, $row->semester, $row->verband, $row->gruppe, $row->gruppe_kurzbz, $ss->studiensemester_kurzbz);
|
||||
|
||||
|
||||
foreach ($studenten as $student)
|
||||
{
|
||||
if (!isset($message[$student]->isneu))
|
||||
{
|
||||
if(!isset($message[$student]))
|
||||
$message[$student] = new stdClass();
|
||||
|
||||
|
||||
$message[$student]->isneu=true;
|
||||
$message[$student]->mailadress=$student.'@'.DOMAIN;
|
||||
$message[$student]->message_begin=$message_begin.'<BR>';
|
||||
@@ -310,9 +336,14 @@ else
|
||||
|
||||
echo '<BR>Alte Datensätze werden geholt.('.date('H:i:s').')<BR>';flush();
|
||||
$message_stpl .='<BR>Alte Datensätze werden geholt.('.date('H:i:s').')<BR>';
|
||||
$sql_query="SELECT * FROM lehre.vw_stundenplan WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' ".$stgwhere."
|
||||
$sql_query="SELECT * FROM lehre.vw_stundenplan
|
||||
WHERE datum>=".$db->db_add_param($datum_begin)."
|
||||
AND datum<=".$db->db_add_param($datum_ende)." ".$stgwhere."
|
||||
AND NOT EXISTS
|
||||
(SELECT stundenplandev_id FROM lehre.tbl_stundenplandev WHERE datum>='".addslashes($datum_begin)."' AND datum<='".addslashes($datum_ende)."' AND stundenplandev_id=stundenplan_id);";
|
||||
(SELECT stundenplandev_id FROM lehre.tbl_stundenplandev
|
||||
WHERE datum>=".$db->db_add_param($datum_begin)."
|
||||
AND datum<=".$db->db_add_param($datum_ende)."
|
||||
AND stundenplandev_id=stundenplan_id);";
|
||||
if (!$result = $db->db_query($sql_query))
|
||||
{
|
||||
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
|
||||
@@ -323,8 +354,8 @@ else
|
||||
echo '<BR>Alte Datensätze werden gelöscht.<BR>';flush();
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$sql_query='DELETE FROM lehre.tbl_stundenplan WHERE stundenplan_id='.$row->stundenplan_id;
|
||||
|
||||
$sql_query='DELETE FROM lehre.tbl_stundenplan WHERE stundenplan_id='.$db->db_add_param($row->stundenplan_id);
|
||||
|
||||
if (!$result_delete=$db->db_query($sql_query))
|
||||
{
|
||||
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
|
||||
@@ -351,6 +382,8 @@ else
|
||||
$message[$row->uid]->isalt=true;
|
||||
$message[$row->uid]->mailadress=$row->uid.'@'.DOMAIN;
|
||||
$message[$row->uid]->message_begin=$message_begin.'<BR>';
|
||||
if(!isset($message[$row->uid]->message))
|
||||
$message[$row->uid]->message='';
|
||||
$message[$row->uid]->message.='<font style="color:#FFA100"><strong>Gelöschte Stunden:</strong></font><BR>
|
||||
<TABLE><TR><TH>Ort</TH><TH>Verband</TH><TH>LektorIn</TH><TH>Datum</TH><TH>Std (Beginnzeit)</TH><TH>Lehrfach</TH><TH>Info</TH></TR>';
|
||||
}
|
||||
@@ -367,14 +400,14 @@ else
|
||||
if ($mailstudents)
|
||||
{
|
||||
$studenten = getStudentsFromGroup($row->studiengang_kz, $row->semester, $row->verband, $row->gruppe, $row->gruppe_kurzbz, $ss->studiensemester_kurzbz);
|
||||
|
||||
|
||||
foreach ($studenten as $student)
|
||||
{
|
||||
if (!isset($message[$student]->isalt))
|
||||
{
|
||||
if(!isset($message[$student]))
|
||||
$message[$student] = new stdClass();
|
||||
|
||||
|
||||
$message[$student]->isalt=true;
|
||||
$message[$student]->mailadress=$student.'@'.DOMAIN;
|
||||
$message[$student]->message_begin=$message_begin.'<BR>';
|
||||
@@ -405,8 +438,8 @@ else
|
||||
echo '<BR>Geänderte Datensätze werden geholt.('.date('H:i:s').')<BR>';flush();
|
||||
$message_stpl.='<BR>Geänderte Datensätze werden geholt.('.date('H:i:s').')<BR>';
|
||||
$sql_query="SELECT vw_stundenplandev.*, vw_stundenplan.datum AS old_datum, vw_stundenplan.stunde AS old_stunde,
|
||||
vw_stundenplan.ort_kurzbz AS old_ort_kurzbz, vw_stundenplan.lektor AS old_lektor,
|
||||
vw_stundenplan.uid AS old_uid, vw_stundenplan.titel AS old_titel
|
||||
vw_stundenplan.ort_kurzbz AS old_ort_kurzbz, vw_stundenplan.lektor AS old_lektor,
|
||||
vw_stundenplan.uid AS old_uid, vw_stundenplan.titel AS old_titel
|
||||
FROM lehre.vw_stundenplandev, lehre.vw_stundenplan
|
||||
WHERE vw_stundenplan.stundenplan_id=vw_stundenplandev.stundenplandev_id AND (
|
||||
vw_stundenplandev.unr!=vw_stundenplan.unr OR
|
||||
@@ -422,13 +455,13 @@ $sql_query="SELECT vw_stundenplandev.*, vw_stundenplan.datum AS old_datum, vw_st
|
||||
coalesce(vw_stundenplandev.titel,'')!=coalesce(vw_stundenplan.titel,'') OR
|
||||
vw_stundenplandev.fix!=vw_stundenplan.fix OR
|
||||
vw_stundenplandev.lehreinheit_id!=vw_stundenplan.lehreinheit_id )
|
||||
AND vw_stundenplandev.datum>='".addslashes($datum_begin)."'
|
||||
AND vw_stundenplandev.datum<='".addslashes($datum_ende)."' ".$stgwheredev.";";
|
||||
AND vw_stundenplandev.datum>=".$db->db_add_param($datum_begin)."
|
||||
AND vw_stundenplandev.datum<=".$db->db_add_param($datum_ende)." ".$stgwheredev.";";
|
||||
//vw_stundenplandev.anmerkung!=vw_stundenplan.anmerkung OR --> von kindlm am 16.03.2012 aus obigem SQL entfernt, da nicht relevant fuer tbl_stundenplan und nur fuer intern gedacht
|
||||
|
||||
//echo $sql_query.'<BR>';
|
||||
|
||||
|
||||
|
||||
|
||||
if (!$result = $db->db_query($sql_query))
|
||||
{
|
||||
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
|
||||
@@ -441,7 +474,7 @@ else
|
||||
{
|
||||
//echo '.';flush();
|
||||
// Alten Eintrag aus tbl_stundenplan holen
|
||||
$sql_query="SELECT * FROM lehre.tbl_stundenplandev WHERE stundenplandev_id='".addslashes($row->stundenplandev_id)."';";
|
||||
$sql_query="SELECT * FROM lehre.tbl_stundenplandev WHERE stundenplandev_id=".$db->db_add_param($row->stundenplandev_id).";";
|
||||
if (!$result_old = $db->db_query($sql_query))
|
||||
{
|
||||
echo $sql_query.' fehlgeschlagen!<BR>'.$db->db_last_error();
|
||||
@@ -452,21 +485,26 @@ else
|
||||
|
||||
// Datensaetze aendern
|
||||
$sql_query="UPDATE lehre.tbl_stundenplan SET
|
||||
unr=$row->unr,mitarbeiter_uid='$row->uid',datum='$row->datum',stunde=$row->stunde,
|
||||
ort_kurzbz='$row->ort_kurzbz',studiengang_kz=$row->studiengang_kz,semester=$row->semester";
|
||||
unr=".$db->db_add_param($row->unr).
|
||||
",mitarbeiter_uid=".$db->db_add_param($row->uid).
|
||||
",datum=".$db->db_add_param($row->datum).
|
||||
",stunde=".$db->db_add_param($row->stunde).
|
||||
",ort_kurzbz=".$db->db_add_param($row->ort_kurzbz).
|
||||
",studiengang_kz=".$db->db_add_param($row->studiengang_kz).
|
||||
",semester=".$db->db_add_param($row->semester);
|
||||
if ($row->verband==null)
|
||||
$sql_query.=',verband=NULL';
|
||||
else
|
||||
$sql_query.=",verband='$row->verband'";
|
||||
$sql_query.=",verband=".$db->db_add_param($row->verband);
|
||||
if ($row->gruppe==null)
|
||||
$sql_query.=',gruppe=NULL';
|
||||
else
|
||||
$sql_query.=",gruppe='$row->gruppe'";
|
||||
$sql_query.=",gruppe=".$db->db_add_param($row->gruppe);
|
||||
if ($row->gruppe_kurzbz==null)
|
||||
// $sql_query.=",gruppe_kurzbz=NULL, titel=$row->titel"; --> Das war die urspruengliche query. row->titel von kindlm am 16.03.2012 entfernt und in eigenes if geschrieben.
|
||||
$sql_query.=',gruppe_kurzbz=NULL';
|
||||
else
|
||||
$sql_query.=",gruppe_kurzbz='$row->gruppe_kurzbz'";
|
||||
$sql_query.=",gruppe_kurzbz=".$db->db_add_param($row->gruppe_kurzbz);
|
||||
//$sql_query.=",titel='$row->titel',anmerkung='$row->anmerkung'"; --> anmerkung auskommentiert vom kindlm am 16.03.2012 da nicht relevant fuer tbl_stundenplan und nur fuer intern gedacht
|
||||
if ($row->titel=='')
|
||||
$sql_query.=',titel=NULL';
|
||||
@@ -476,12 +514,12 @@ else
|
||||
$sql_query.=',fix=TRUE';
|
||||
else
|
||||
$sql_query.=',fix=FALSE';
|
||||
$sql_query.=",updateamum='$row->updateamum',updatevon='$row->updatevon'";
|
||||
$sql_query.=",updateamum=".$db->db_add_param($row->updateamum).",updatevon=".$db->db_add_param($row->updatevon);
|
||||
if ($row->lehreinheit_id==null)
|
||||
$sql_query.=',lehreinheit_id=NULL';
|
||||
else
|
||||
$sql_query.=",lehreinheit_id=$row->lehreinheit_id";
|
||||
$sql_query.=" WHERE stundenplan_id=$row->stundenplandev_id;";
|
||||
$sql_query.=",lehreinheit_id=".$db->db_add_param($row->lehreinheit_id);
|
||||
$sql_query.=" WHERE stundenplan_id=".$db->db_add_param($row->stundenplandev_id).";";
|
||||
echo $sql_query.'<BR>';
|
||||
if (!$result_update=$db->db_query($sql_query))
|
||||
{
|
||||
@@ -508,6 +546,8 @@ else
|
||||
$message[$row->uid]->isset=true;
|
||||
$message[$row->uid]->mailadress=$row->uid.'@'.DOMAIN;
|
||||
$message[$row->uid]->message_begin=$message_begin.'<BR>';
|
||||
if(!isset($message[$row->uid]->message))
|
||||
$message[$row->uid]->message='';
|
||||
$message[$row->uid]->message.='<font style="color:blue"><strong>Geänderte Stunden:</strong></font><BR>
|
||||
<TABLE><TR><TH>Status</TH><TH>Ort</TH><TH>Verband</TH><TH>LektorIn</TH><TH>Datum</TH><TH>Std (Beginnzeit)</TH><TH>Lehrfach</TH><TH>Info</TH></TR>';
|
||||
}
|
||||
@@ -588,14 +628,14 @@ else
|
||||
if ($mailstudents)
|
||||
{
|
||||
$studenten = getStudentsFromGroup($row->studiengang_kz, $row->semester, $row->verband, $row->gruppe, $row->gruppe_kurzbz, $ss->studiensemester_kurzbz);
|
||||
|
||||
|
||||
foreach ($studenten as $student)
|
||||
{
|
||||
if (!isset($message[$student]->isset))
|
||||
{
|
||||
if(!isset($message[$student]))
|
||||
$message[$student] = new stdClass();
|
||||
|
||||
|
||||
$message[$student]->isset=true;
|
||||
$message[$student]->mailadress=$student.'@'.DOMAIN;
|
||||
$message[$student]->message_begin=$message_begin.'<BR>';
|
||||
@@ -611,7 +651,7 @@ else
|
||||
$message[$student]->message.='<TD>'.$row->old_stunde.' ('.$beginnzeit_arr[$row->old_stunde].')</TD>';
|
||||
$message[$student]->message.='<TD>'.$row->lehrfach.'-'.$row->lehrform.' ('.$row->lehrfach_bez.')</TD>';
|
||||
$message[$student]->message.='<TD>'.$row->old_titel.'</TD></TR>';
|
||||
|
||||
|
||||
$message[$student]->message.="\n";
|
||||
$message[$student]->message.='<TR><TD>Jetzt: </TD>';
|
||||
$myclass=($row->ort_kurzbz!=$row->old_ort_kurzbz?'marked':'unmarked');
|
||||
|
||||
Reference in New Issue
Block a user