--- a/fhiiqm/report/vtr_kuend_emaila.php Thu Sep 12 09:04:56 2013 +0200
+++ b/fhiiqm/report/vtr_kuend_emaila.php Fri Dec 20 15:19:32 2013 +0100
@@ -1,143 +1,145 @@
-#!/usr/bin/php
-<?php
-
-/**
- * @author Bettina Schwarzer, Fritz-Haber-Institut
- * @copyright 03/2012
- *
- * sendet email an Bearbeiter am Tag ('kuendigugsfrist'+ 1) Monate vor Vertragsende = ckdate
- * + Vertrag-File als Attachment, wenn Bearbeiter kein Recht 'vr' oder 've' hat
- * auch als cron-Job einsetzbar
- *
- */
-
- include_once("/var/www/fhiiqm/inc/dbconnect.inc.php");
- if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
-
- $sql = "CALL vertrag_ablauf()";
- // liefert: cid, cname, vtypid, vtypk, cbegin, cend, cauto, cmon, email, cfile, bem, ckdate
-
- $result = $dbc -> queryObjectArray($sql);
- if ($result)
- {
- $heute = new DateTime();
-
- $infoh = "
- <html>
- <head>
- <title>Vertragsinfo (IQM-DB)</title>
- </head>
- <body>
- <p>Liebe(r) Frau/Herr ";
- $infoh2 = ",</p>
- <p>der folgende Vertrag läuft demnächst aus:</p>
- <table border='1' cellspacing='0' cellpadding='5'>\n
- <tr><td>Vertragsbezeichnung</td><td>VTyp</td><td>VBeginn</td><td>VEnde</td>
- <td>Verlängerung</td><td>Künd.-frist(mon)</td><td>Bemerkung</td></tr>\n";
-
- $trenn = md5( time() );
-
- // Bearbeiter
- $sql = "SELECT b.persknr,nachname,email
- FROM fhiiqm.Vertrag v LEFT OUTER JOIN Vertrag_Bearbeiter b
- ON v.contract_ID=b.contract_ID LEFT OUTER JOIN Mitarbeiter m
- ON b.persknr=m.persknr WHERE v.contract_ID=";
-
- // Recht Vertrag zu sehen
- $sql1 = "SELECT COUNT(*) FROM fhiiqm.user_recht r INNER JOIN fhiiqm.userweb u
- ON u.userid = r.userid
- WHERE recht_ID IN ('ve','vr') AND persknr IN ";
-
- foreach ($result as $row)
- {
-// if (!is_null($row -> ckdate) && $row->ckdate <= $heute->format("Y-m-d") && $row->email) // nur fuer Test
- if (!is_null($row -> ckdate) && $heute->format("Y-m-d") == $row->ckdate && $row->email) // 28.02.2012
- {
- $av = $row->cauto? "automatisch" : " ";
- if ($row->cbegin && $begin = new DateTime($row->cbegin)) $begin=$begin->format("d.m.Y"); else $begin=" ";
- if ($row->cend && $end = new DateTime($row->cend)) $end=$end->format("d.m.Y"); else $end=" ";
-// if ($ckd = new DateTime($row->ckdate)) $ckd=$ckd->format("d.m.Y"); else $ckd=" ";
- $bem = $row->bem ? $row->bem : " ";
- $info = "<tr><td><b>$row->cname</b></td><td>$row->vtypk</td><td>$begin</td><td><b>$end</b></td>
- <td> $av</td><td> $row->cmon</td><td>$bem</td></tr>\n";
-
- // Adressat(en)), Attachment? ermitteln
- $strsql = $sql .$row->cid;
- $addr = "";
- $pers = "";
- if ($res = $dbc -> queryObjectArray($strsql))
- {
- foreach ($res as $ro)
- {
- $addr .= $ro->email.",";
- $pers .= $ro->persknr.",";
- }
- $addr = substr($addr,0,strlen($addr)-1);
- $pers = substr($pers,0,strlen($pers)-1);
- $strsql1 = $sql1 . "($pers)";
- $noatt = $dbc -> querySingleItem($strsql1); // = 0 -> file als Attachment
- }
- // email senden
-// $eaddr = "schwarzer@fhi-berlin.mpg.de"; // nur fuer Test
- $eaddr = $addr;
-
- $eheader =
-// 'Reply-To: noreply@' .$_SERVER['SERVER_NAME'] . "\r\n" .
- 'Message-ID: <' .$trenn.'@achilleus.rz-berlin.mpg.de'.">\r\n" .
- 'X-Mailer: PHP v' .phpversion() . "\r\n" .
- 'Bcc: schwarzer@fhi-berlin.mpg.de' . "\r\n" .
- 'From: noreply@achilleus.rz-berlin.mpg.de'."\r\n" .
- 'MIME-Version: 1.0' . "\r\n" .
- 'Content-type: multipart/mixed;' . "\r\n" ;
- $eheader .= " boundary = " .$trenn;
- $eheader .= "\r\n\r\n";
-
- $esubj = "Vertragsinformation (IQM-DB)";
-// $emess = $infoh.$ro->nachname.$infoh2.$addr."\n".$info ."\n";
-
- // Mailbody vorbereiten
- $mailbody = "This is a multi-part message in MIME format\r\n";
- $mailbody .= "--" .$trenn. "\r\n";
- $mailbody .= "Content-Type: text/html; charset=iso-8859-1\r\n";
- $mailbody .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
-
- $emess = $mailbody . $infoh.$ro->nachname.$infoh2."\n".$info ."\n";
- $emess .= "</table>\n";
- $emess .= "<p>Bitte prüfen Sie, ob er verlängert oder gekündigt werden soll.</p>\n";
- if ($noatt == 0) $emess .= "<p>Als Attachment finden Sie das Vertragsdokument.</p>\n";
- $emess .= "<br /><p>Dies ist eine automatisch generierte E-Mail, bitte nicht darauf antworten.</p>\n";
- $emess .= "<p>Beste Grüße, Ihre IQM-Datenbank</p>\n</body></html>\n";
-
- // Anhang anfügen
- if ($noatt == 0)
- {
- $fname = $row->cfile;
- $ftyp = substr($fname,strrpos($fname,".")+1);
- switch (strtolower($ftyp))
- {
- case "pdf":
- $ctyp = " application/pdf";
- break;
- case "jpg":
- $ctyp = " image/jpeg";
- break;
- default:
- $ctyp = " application/pdf";
- break;
- }
- $afname = substr($fname,strpos($fname,"_")+1);
- $attm = "--" .$trenn. "\r\n";
- $attm .= "Content-Type:$ctyp; name=\"$afname\"\r\n";
- $attm .= "Content-Transfer-Encoding: base64\r\n";
- $attm .= "Content-Disposition: attachment; filename=\"$afname\"\r\n\r\n";
- $attm .= chunk_split( base64_encode( file_get_contents( "/var/www/fhiiqm/documents/$fname" ) ) );
- $attm .= "\n";
-
- $emess .= $attm;
- }
-
- mail($eaddr,$esubj,$emess,$eheader);
- }
- }
- }
-?>
+#!/usr/bin/php
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 03/2012
+ *
+ * sendet email an Bearbeiter am Tag ('kuendigugsfrist'+ 1) Monate vor Vertragsende = ckdate
+ * + Vertrag-File als Attachment, wenn Bearbeiter kein Recht 'vr' oder 've' hat
+ * auch als cron-Job einsetzbar
+ *
+ */
+
+ include_once("/var/www/fhiiqm/inc/dbconnect.inc.php");
+ if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
+
+ $sql = "CALL vertrag_ablauf_mf()";
+ // liefert: cid, cname, vtypid, vtypk, cbegin, cend, cauto, cmon, email, cfile, bem, ckdate
+
+ $result = $dbc -> queryObjectArray($sql);
+ if ($result)
+ {
+ $heute = new DateTime();
+
+ $infoh = "
+ <html>
+ <head>
+ <title>Vertragsinfo (IQM-DB)</title>
+ </head>
+ <body>
+ <p>Liebe(r) Frau/Herr ";
+ $infoh2 = ",</p>
+ <p>der folgende Vertrag läuft demnächst aus:</p>
+ <table border='1' cellspacing='0' cellpadding='5'>\n
+ <tr><td>Vertragsbezeichnung</td><td>VTyp</td><td>VBeginn</td><td>VEnde</td>
+ <td>Verlängerung</td><td>Künd.-frist(mon)</td><td>Bemerkung</td></tr>\n";
+
+ $trenn = md5( time() );
+
+ // Bearbeiter
+ $sql = "SELECT b.persknr,nachname,email
+ FROM fhiiqm.Vertrag v LEFT OUTER JOIN Vertrag_Bearbeiter b
+ ON v.contract_ID=b.contract_ID LEFT OUTER JOIN Mitarbeiter m
+ ON b.persknr=m.persknr WHERE v.contract_ID=";
+
+ // Recht Vertrag zu sehen
+ $sql1 = "SELECT COUNT(*) FROM fhiiqm.user_recht r INNER JOIN fhiiqm.userweb u
+ ON u.userid = r.userid
+ WHERE recht_ID IN ('ve','vr') AND persknr IN ";
+
+ foreach ($result as $row)
+ {
+// if (!is_null($row -> ckdate) && $row->ckdate <= $heute->format("Y-m-d") && $row->email) // nur fuer Test
+ if (!is_null($row -> ckdate) && $heute->format("Y-m-d") == $row->ckdate && $row->email) // 28.02.2012
+ {
+ $av = $row->cauto? "automatisch" : " ";
+ if ($row->cbegin && $begin = new DateTime($row->cbegin)) $begin=$begin->format("d.m.Y"); else $begin=" ";
+ if ($row->cend && $end = new DateTime($row->cend)) $end=$end->format("d.m.Y"); else $end=" ";
+// if ($ckd = new DateTime($row->ckdate)) $ckd=$ckd->format("d.m.Y"); else $ckd=" ";
+ $bem = $row->bem ? $row->bem : " ";
+ $info = "<tr><td><b>$row->cname</b></td><td>$row->vtypk</td><td>$begin</td><td><b>$end</b></td>
+ <td> $av</td><td> $row->cmon</td><td>$bem</td></tr>\n";
+
+ // Adressat(en)), Attachment? ermitteln
+ $strsql = $sql .$row->cid;
+ $addr = "";
+ $pers = "";
+ if ($res = $dbc -> queryObjectArray($strsql))
+ {
+ foreach ($res as $ro)
+ {
+ $addr .= $ro->email.",";
+ $pers .= $ro->persknr.",";
+ }
+ $addr = substr($addr,0,strlen($addr)-1);
+ $pers = substr($pers,0,strlen($pers)-1);
+ $strsql1 = $sql1 . "($pers)";
+ $noatt = $dbc -> querySingleItem($strsql1); // = 0 -> file als Attachment
+ }
+ // email senden
+// $eaddr = "schwarzer@fhi-berlin.mpg.de"; // nur fuer Test
+ $eaddr = $addr;
+
+ $eheader =
+// 'Reply-To: noreply@' .$_SERVER['SERVER_NAME'] . "\r\n" .
+ 'Message-ID: <' .$trenn.'@achilleus.rz-berlin.mpg.de'.">\r\n" .
+ 'X-Mailer: PHP v' .phpversion() . "\r\n" .
+ 'Bcc: schwarzer@fhi-berlin.mpg.de' . "\r\n" .
+ 'From: noreply@achilleus.rz-berlin.mpg.de'."\r\n" .
+ 'MIME-Version: 1.0' . "\r\n" .
+ 'Content-type: multipart/mixed;' . "\r\n" ;
+ $eheader .= " boundary = " .$trenn;
+ $eheader .= "\r\n\r\n";
+
+ $esubj = "Vertragsinformation (IQM-DB)";
+// $emess = $infoh.$ro->nachname.$infoh2.$addr."\n".$info ."\n";
+
+ // Mailbody vorbereiten
+ $mailbody = "This is a multi-part message in MIME format\r\n";
+ $mailbody .= "--" .$trenn. "\r\n";
+ $mailbody .= "Content-Type: text/html; charset=iso-8859-1\r\n";
+ $mailbody .= "Content-Transfer-Encoding: 8bit\r\n\r\n";
+
+ $emess = $mailbody . $infoh.$ro->nachname.$infoh2."\n".$info ."\n";
+ $emess .= "</table>\n";
+ $emess .= "<p>Bitte prüfen Sie, ob er verlängert oder gekündigt werden soll.</p>\n";
+ if ($noatt == 0) $emess .= "<p>Als Attachment finden Sie das Vertragsdokument.</p>\n";
+ $emess .= "<br /><p>Dies ist eine automatisch generierte E-Mail, bitte nicht darauf antworten.</p>\n";
+ $emess .= "<p>Beste Grüße, Ihre IQM-Datenbank</p>\n</body></html>\n";
+
+ // Anhang anfügen
+ if ($noatt == 0)
+ {
+ // nur 1. File
+ if (strpos($row->cfile,"|")) $fname = substr($row->cfile,0,strpos($row->cfile,"|")); else $fname=$row->cfile;
+ $fname = $row->cfile;
+ $ftyp = substr($fname,strrpos($fname,".")+1);
+ switch (strtolower($ftyp))
+ {
+ case "pdf":
+ $ctyp = " application/pdf";
+ break;
+ case "jpg":
+ $ctyp = " image/jpeg";
+ break;
+ default:
+ $ctyp = " application/pdf";
+ break;
+ }
+ $afname = substr($fname,strpos($fname,"_")+1);
+ $attm = "--" .$trenn. "\r\n";
+ $attm .= "Content-Type:$ctyp; name=\"$afname\"\r\n";
+ $attm .= "Content-Transfer-Encoding: base64\r\n";
+ $attm .= "Content-Disposition: attachment; filename=\"$afname\"\r\n\r\n";
+ $attm .= chunk_split( base64_encode( file_get_contents( "/var/www/fhiiqm/documents/$fname" ) ) );
+ $attm .= "\n";
+
+ $emess .= $attm;
+ }
+
+ mail($eaddr,$esubj,$emess,$eheader);
+ }
+ }
+ }
+?>