303 lines
No EOL
18 KiB
PHP
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(12000);
|
|
|
|
|
|
/* connect to gmail with your credentials */
|
|
$hostname = '{jb-transport.de:143/imap/readonly}INBOX';
|
|
$username = 'disposition@jb-transport.de'; # e.g somebody@gmail.com
|
|
$password = 'KADwHeGd';
|
|
|
|
|
|
/* 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 = 999;
|
|
|
|
|
|
/* 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";
|
|
|
|
?>
|