jb-data.de/imap_normplan.php
2025-08-11 22:23:30 +02:00

303 lines
No EOL
18 KiB
PHP

<?php
/**
* Gmail attachment extractor.
*
* Downloads attachments from Gmail and saves it to a file.
* Uses PHP IMAP extension, so make sure it is enabled in your php.ini,
* extension=php_imap.dll
*
*/
//-----------------------------------------------------------------------
error_reporting(E_ALL);
ini_set('display_errors', 1);
//----------------------------------------------------------------------
$kw_aktuell = (int)date('W');
$a_jahr = (int)date('Y');
require('lib/config.php');
session_name(CONFIG_SESSION);
session_start(); require('lib/mysql.class.php');
$GLOBALS['mysql'] = new mysql(CONFIG_MYSQL_HOST,CONFIG_MYSQL_USER,CONFIG_MYSQL_PW,CONFIG_MYSQL_DB);
date_default_timezone_set('Europe/London');
//-----------------------------------------------------------------------
set_time_limit(3000);
/* connect to gmail with your credentials */
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'jbtransport71@gmail.com'; # e.g somebody@gmail.com
$password = 'maxdata-01';
/* try to connect */
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
/* get all new emails. If set to 'ALL' instead
* of 'NEW' retrieves all the emails, but can be
* resource intensive, so the following variable,
* $max_emails, puts the limit on the number of emails downloaded.
*
*/
$emails = imap_search($inbox,'UNSEEN');
/* useful only if the above search is set to 'ALL' */
$max_emails = 9999;
/* if any emails found, iterate through each email */
if($emails) {
$count = 1;
/* put the newest emails on top */
rsort($emails);
/* for every email... */
foreach($emails as $email_number)
{
/* get information specific to this email */
$overview = imap_fetch_overview($inbox,$email_number,0);
/* get mail message */
$message = imap_fetchbody($inbox,$email_number,2);
/* get mail structure */
$structure = imap_fetchstructure($inbox, $email_number);
$attachments = array();
/* if any attachments found... */
if(isset($structure->parts) && count($structure->parts))
{
for($i = 0; $i < count($structure->parts); $i++)
{
$attachments[$i] = array(
'is_attachment' => false,
'filename' => '',
'name' => '',
'attachment' => ''
);
if($structure->parts[$i]->ifdparameters)
{
foreach($structure->parts[$i]->dparameters as $object)
{
if(strtolower($object->attribute) == 'filename')
{
$attachments[$i]['is_attachment'] = true;
$attachments[$i]['filename'] = $object->value;
//echo $attachments[$i]['filename'];
}
}
}
if($structure->parts[$i]->ifparameters)
{
foreach($structure->parts[$i]->parameters as $object)
{
if(strtolower($object->attribute) == 'name')
{
$attachments[$i]['is_attachment'] = true;
$attachments[$i]['name'] = $object->value;
}
}
}
if($attachments[$i]['is_attachment'])
{
$attachments[$i]['attachment'] = imap_fetchbody($inbox, $email_number, $i+1);
/* 4 = QUOTED-PRINTABLE encoding */
if($structure->parts[$i]->encoding == 3)
{
$attachments[$i]['attachment'] = base64_decode($attachments[$i]['attachment']);
}
/* 3 = BASE64 encoding */
elseif($structure->parts[$i]->encoding == 4)
{
$attachments[$i]['attachment'] = quoted_printable_decode($attachments[$i]['attachment']);
}
}
}
}
/* iterate through each attachment and save it */
foreach($attachments as $attachment)
{
if($attachment['is_attachment'] == 1)
{
$filename = $attachment['name'];
if(empty($filename)) $filename = $attachment['filename'];
// if(empty($filename)) $filename = time() . ".dat";
/* prefix the email number to the filename in case two emails
* have the attachment with the same file name.
*/
$fp = fopen('upload/'.$filename, "w+"); // $email_number . "-" .
fwrite($fp, $attachment['attachment']);
fclose($fp);
}
// echo '##';
$filename='upload/'.$attachment['name'];
$datei=$attachment['name'];
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
$dat=substr($filename,-3);
if ($dat=='xls' || $dat=='lsx' || $dat=='XLS') { //-------------------------------------------- Excel file
echo '<br>--'.$dat;
//-----------------------------------------------------------------------------------------------------
$dat=substr($filename, 7,8);
echo $dat;
if ($dat=='Normplan') {
define('EOL',(PHP_SAPI == 'cli') ? PHP_EOL : '<br />');
require_once dirname(__FILE__) . '/lib/PHPExcel.php';
$objPHPExcel = PHPExcel_IOFactory::load($filename);
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); $key=0; $test=0;
$key=0;
foreach ($sheetData as $index => $row) {
if ($key==0) {
$datum_arr = explode('-',$row['B']); $timestamp1 = mktime(0,0,0, $datum_arr[0] , $datum_arr[1] ,$datum_arr[2]);
// $jahr=substr($inputFileName, -14,4); $monat=substr($inputFileName, -9,2); $tag=substr($inputFileName, -6,2); // datum aus File auslesen !
// $tmpdate=$datum_arr[2]."-".$datum_arr[1]."-".$datum_arr[0];
// $timestamp1 = strtotime("+0 day", $timestampx);
$timestamp2 = strtotime("+1 day", $timestamp1);
$timestamp3 = strtotime("+2 day", $timestamp1);
$timestamp4 = strtotime("+3 day", $timestamp1);
$timestamp5 = strtotime("+4 day", $timestamp1);
$timestamp6 = strtotime("+5 day", $timestamp1);
$kw=date('W',$timestamp1);
$tag1=date("d",$timestamp1); $monat1 = date("m",$timestamp1); $jahr1 = date("Y",$timestamp1);
$tag2=date("d",$timestamp2); $monat2 = date("m",$timestamp2); $jahr2 = date("Y",$timestamp2);
$tag3=date("d",$timestamp3); $monat3 = date("m",$timestamp3); $jahr3 = date("Y",$timestamp3);
$tag4=date("d",$timestamp4); $monat4 = date("m",$timestamp4); $jahr4 = date("Y",$timestamp4);
$tag5=date("d",$timestamp5); $monat5 = date("m",$timestamp5); $jahr5 = date("Y",$timestamp5);
$tag6=date("d",$timestamp6); $monat6 = date("m",$timestamp6); $jahr6 = date("Y",$timestamp6);
$lesetest1 = $GLOBALS['mysql']->query_single("SELECT * FROM normplan WHERE tag='".$tag1."' AND monat='".$monat1."' AND jahr='".$jahr1."'");
$lesetest2 = $GLOBALS['mysql']->query_single("SELECT * FROM normplan WHERE tag='".$tag2."' AND monat='".$monat2."' AND jahr='".$jahr2."'");
$lesetest3 = $GLOBALS['mysql']->query_single("SELECT * FROM normplan WHERE tag='".$tag3."' AND monat='".$monat3."' AND jahr='".$jahr3."'");
$lesetest4 = $GLOBALS['mysql']->query_single("SELECT * FROM normplan WHERE tag='".$tag4."' AND monat='".$monat4."' AND jahr='".$jahr4."'");
$lesetest5 = $GLOBALS['mysql']->query_single("SELECT * FROM normplan WHERE tag='".$tag5."' AND monat='".$monat5."' AND jahr='".$jahr5."'");
$lesetest6 = $GLOBALS['mysql']->query_single("SELECT * FROM normplan WHERE tag='".$tag6."' AND monat='".$monat6."' AND jahr='".$jahr6."'");
if($lesetest1['num_rows']==0) { $GLOBALS['mysql']->insert("INSERT INTO normplan (tag,monat,jahr,kw) VALUES('".$tag1."','".$monat1."','".$jahr1."','".$kw."')"); }
if($lesetest2['num_rows']==0) { $GLOBALS['mysql']->insert("INSERT INTO normplan (tag,monat,jahr,kw) VALUES('".$tag2."','".$monat2."','".$jahr2."','".$kw."')"); }
if($lesetest3['num_rows']==0) { $GLOBALS['mysql']->insert("INSERT INTO normplan (tag,monat,jahr,kw) VALUES('".$tag3."','".$monat3."','".$jahr3."','".$kw."')"); }
if($lesetest4['num_rows']==0) { $GLOBALS['mysql']->insert("INSERT INTO normplan (tag,monat,jahr,kw) VALUES('".$tag4."','".$monat4."','".$jahr4."','".$kw."')"); }
if($lesetest5['num_rows']==0) { $GLOBALS['mysql']->insert("INSERT INTO normplan (tag,monat,jahr,kw) VALUES('".$tag5."','".$monat5."','".$jahr5."','".$kw."')"); }
if($lesetest6['num_rows']==0) { $GLOBALS['mysql']->insert("INSERT INTO normplan (tag,monat,jahr,kw) VALUES('".$tag6."','".$monat6."','".$jahr6."','".$kw."')"); }
}
if ($key==5) {
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_city='".$row['D']."' WHERE tag='".$tag1."' AND monat='".$monat1."' AND jahr='".$jahr1."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_city='".$row['K']."' WHERE tag='".$tag2."' AND monat='".$monat2."' AND jahr='".$jahr2."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_city='".$row['R']."' WHERE tag='".$tag3."' AND monat='".$monat3."' AND jahr='".$jahr3."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_city='".$row['Y']."' WHERE tag='".$tag4."' AND monat='".$monat4."' AND jahr='".$jahr4."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_city='".$row['AF']."' WHERE tag='".$tag5."' AND monat='".$monat5."' AND jahr='".$jahr5."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_city='".$row['AM']."' WHERE tag='".$tag6."' AND monat='".$monat6."' AND jahr='".$jahr6."'");
}
if ($key==6) {
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_bgz ='".$row['D']."' WHERE tag='".$tag1."' AND monat='".$monat1."' AND jahr='".$jahr1."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_bgz ='".$row['K']."' WHERE tag='".$tag2."' AND monat='".$monat2."' AND jahr='".$jahr2."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_bgz ='".$row['R']."' WHERE tag='".$tag3."' AND monat='".$monat3."' AND jahr='".$jahr3."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_bgz ='".$row['Y']."' WHERE tag='".$tag4."' AND monat='".$monat4."' AND jahr='".$jahr4."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_bgz ='".$row['AF']."' WHERE tag='".$tag5."' AND monat='".$monat5."' AND jahr='".$jahr5."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_bgz ='".$row['AM']."' WHERE tag='".$tag6."' AND monat='".$monat6."' AND jahr='".$jahr6."'");
}
if ($key==7) {
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_dek ='".$row['D']."' WHERE tag='".$tag1."' AND monat='".$monat1."' AND jahr='".$jahr1."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_dek ='".$row['K']."' WHERE tag='".$tag2."' AND monat='".$monat2."' AND jahr='".$jahr2."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_dek ='".$row['R']."' WHERE tag='".$tag3."' AND monat='".$monat3."' AND jahr='".$jahr3."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_dek ='".$row['Y']."' WHERE tag='".$tag4."' AND monat='".$monat4."' AND jahr='".$jahr4."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_dek ='".$row['AF']."' WHERE tag='".$tag5."' AND monat='".$monat5."' AND jahr='".$jahr5."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_dek ='".$row['AM']."' WHERE tag='".$tag6."' AND monat='".$monat6."' AND jahr='".$jahr6."'");
}
if ($key==8) {
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_mtk ='".$row['D']."' WHERE tag='".$tag1."' AND monat='".$monat1."' AND jahr='".$jahr1."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_mtk ='".$row['K']."' WHERE tag='".$tag2."' AND monat='".$monat2."' AND jahr='".$jahr2."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_mtk ='".$row['R']."' WHERE tag='".$tag3."' AND monat='".$monat3."' AND jahr='".$jahr3."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_mtk ='".$row['Y']."' WHERE tag='".$tag4."' AND monat='".$monat4."' AND jahr='".$jahr4."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_mtk ='".$row['AF']."' WHERE tag='".$tag5."' AND monat='".$monat5."' AND jahr='".$jahr5."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET lvz_mtk ='".$row['AM']."' WHERE tag='".$tag6."' AND monat='".$monat6."' AND jahr='".$jahr6."'");
}
if ($key==10) {
$GLOBALS['mysql']->insert("UPDATE normplan SET tz ='".$row['D']."' WHERE tag='".$tag1."' AND monat='".$monat1."' AND jahr='".$jahr1."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET tz ='".$row['K']."' WHERE tag='".$tag2."' AND monat='".$monat2."' AND jahr='".$jahr2."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET tz ='".$row['R']."' WHERE tag='".$tag3."' AND monat='".$monat3."' AND jahr='".$jahr3."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET tz ='".$row['Y']."' WHERE tag='".$tag4."' AND monat='".$monat4."' AND jahr='".$jahr4."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET tz ='".$row['AF']."' WHERE tag='".$tag5."' AND monat='".$monat5."' AND jahr='".$jahr5."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET tz ='".$row['AM']."' WHERE tag='".$tag6."' AND monat='".$monat6."' AND jahr='".$jahr6."'");
}
if ($key==11) {
$GLOBALS['mysql']->insert("UPDATE normplan SET oaz ='".$row['D']."' WHERE tag='".$tag1."' AND monat='".$monat1."' AND jahr='".$jahr1."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET oaz ='".$row['K']."' WHERE tag='".$tag2."' AND monat='".$monat2."' AND jahr='".$jahr2."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET oaz ='".$row['R']."' WHERE tag='".$tag3."' AND monat='".$monat3."' AND jahr='".$jahr3."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET oaz ='".$row['Y']."' WHERE tag='".$tag4."' AND monat='".$monat4."' AND jahr='".$jahr4."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET oaz ='".$row['AF']."' WHERE tag='".$tag5."' AND monat='".$monat5."' AND jahr='".$jahr5."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET oaz ='".$row['AM']."' WHERE tag='".$tag6."' AND monat='".$monat6."' AND jahr='".$jahr6."'");
}
if ($key==12) {
$GLOBALS['mysql']->insert("UPDATE normplan SET daz ='".$row['D']."' WHERE tag='".$tag1."' AND monat='".$monat1."' AND jahr='".$jahr1."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET daz ='".$row['K']."' WHERE tag='".$tag2."' AND monat='".$monat2."' AND jahr='".$jahr2."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET daz ='".$row['R']."' WHERE tag='".$tag3."' AND monat='".$monat3."' AND jahr='".$jahr3."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET daz ='".$row['Y']."' WHERE tag='".$tag4."' AND monat='".$monat4."' AND jahr='".$jahr4."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET daz ='".$row['AF']."' WHERE tag='".$tag5."' AND monat='".$monat5."' AND jahr='".$jahr5."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET daz ='".$row['AM']."' WHERE tag='".$tag6."' AND monat='".$monat6."' AND jahr='".$jahr6."'");
}
if ($key==13) {
$GLOBALS['mysql']->insert("UPDATE normplan SET ovz ='".$row['D']."' WHERE tag='".$tag1."' AND monat='".$monat1."' AND jahr='".$jahr1."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET ovz ='".$row['K']."' WHERE tag='".$tag2."' AND monat='".$monat2."' AND jahr='".$jahr2."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET ovz ='".$row['R']."' WHERE tag='".$tag3."' AND monat='".$monat3."' AND jahr='".$jahr3."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET ovz ='".$row['Y']."' WHERE tag='".$tag4."' AND monat='".$monat4."' AND jahr='".$jahr4."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET ovz ='".$row['AF']."' WHERE tag='".$tag5."' AND monat='".$monat5."' AND jahr='".$jahr5."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET ovz ='".$row['AM']."' WHERE tag='".$tag6."' AND monat='".$monat6."' AND jahr='".$jahr6."'");
}
if ($key==14) {
$GLOBALS['mysql']->insert("UPDATE normplan SET dnn ='".$row['D']."' WHERE tag='".$tag1."' AND monat='".$monat1."' AND jahr='".$jahr1."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET dnn ='".$row['K']."' WHERE tag='".$tag2."' AND monat='".$monat2."' AND jahr='".$jahr2."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET dnn ='".$row['R']."' WHERE tag='".$tag3."' AND monat='".$monat3."' AND jahr='".$jahr3."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET dnn ='".$row['Y']."' WHERE tag='".$tag4."' AND monat='".$monat4."' AND jahr='".$jahr4."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET dnn ='".$row['AF']."' WHERE tag='".$tag5."' AND monat='".$monat5."' AND jahr='".$jahr5."'");
$GLOBALS['mysql']->insert("UPDATE normplan SET dnn ='".$row['AM']."' WHERE tag='".$tag6."' AND monat='".$monat6."' AND jahr='".$jahr6."'");
}
// echo "<pre>";
// print_r($row);
// echo "</pre>";
$key++;
}
header('Location: https://edv.jb-transport.de/index.php?s=inormplan');
}
}
unlink($filename);
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
}
if($count++ >= $max_emails) break;
}
}
/* close the connection */
imap_close($inbox);
echo "Done";
?>