fhiiqm/report/vtr_kuend_emaila.php
changeset 41 9c668cd391fa
parent 27 d92bbe898f32
child 44 d652bbba2d43
--- 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&auml;uft demn&auml;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&auml;ngerung</td><td>K&uuml;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" : "&nbsp;";
-                if ($row->cbegin && $begin = new DateTime($row->cbegin)) $begin=$begin->format("d.m.Y"); else $begin="&nbsp;";
-                if ($row->cend && $end = new DateTime($row->cend)) $end=$end->format("d.m.Y"); else $end="&nbsp;";
-//                if ($ckd = new DateTime($row->ckdate)) $ckd=$ckd->format("d.m.Y"); else $ckd="&nbsp;";
-                $bem = $row->bem ? $row->bem : "&nbsp";
-                $info = "<tr><td><b>$row->cname</b></td><td>$row->vtypk</td><td>$begin</td><td><b>$end</b></td>
-                    <td>&nbsp;$av</td><td>&nbsp;&nbsp;&nbsp;$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&uuml;fen Sie, ob er verl&auml;ngert oder gek&uuml;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ü&szlig;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&auml;uft demn&auml;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&auml;ngerung</td><td>K&uuml;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" : "&nbsp;";
+                if ($row->cbegin && $begin = new DateTime($row->cbegin)) $begin=$begin->format("d.m.Y"); else $begin="&nbsp;";
+                if ($row->cend && $end = new DateTime($row->cend)) $end=$end->format("d.m.Y"); else $end="&nbsp;";
+//                if ($ckd = new DateTime($row->ckdate)) $ckd=$ckd->format("d.m.Y"); else $ckd="&nbsp;";
+                $bem = $row->bem ? $row->bem : "&nbsp";
+                $info = "<tr><td><b>$row->cname</b></td><td>$row->vtypk</td><td>$begin</td><td><b>$end</b></td>
+                    <td>&nbsp;$av</td><td>&nbsp;&nbsp;&nbsp;$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&uuml;fen Sie, ob er verl&auml;ngert oder gek&uuml;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ü&szlig;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);
+            }
+        }
+    }
+?>