Browse Source

Worker function, saving data into file

develop
Hauke Zühl 5 years ago
parent
commit
d99e62ed99
  1. 66
      php/muell.php

66
php/muell.php

@ -18,8 +18,39 @@
* tgBotOwner: <hier DEINE Telegram-ID eintragen> * tgBotOwner: <hier DEINE Telegram-ID eintragen>
*/ */
function worker(string $response)
{
$tomorrow = (new DateTime('tomorrow'))->format('d.m.Y');
$trashArr = str_getcsv($response, "\n");
foreach($trashArr as $row) {
$rowArr = str_getcsv($row, ';');
$index = array_search($tomorrow, $rowArr);
if ($index !== false) {
$what = '';
switch ($index) {
case 0:
case 1:
$what = "werden Biomüll und gelbe Tonne";
break;
case 2:
$what = "wird Restmüll";
break;
case 3:
$what = "wird Papier";
break;
}
if ($what !== '') {
shell_exec(sprintf("echo Morgen %s abgeholt | %s -u %d", $what, $config['pathBot'], $config['tgReceiver']));
}
}
}
}
// Main part
$currentYear = date('Y'); $currentYear = date('Y');
$dateRange = sprintf('%s0101-%s1231', $currentYear, $currentYear); $dateRange = sprintf('%s0101-%s1231', $currentYear, $currentYear);
$muellFile = sprintf('%s/muell.csv', __DIR__);
$key = 'e21758b9c711463552fb9c70ac7d4273'; $key = 'e21758b9c711463552fb9c70ac7d4273';
@ -59,37 +90,20 @@ curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla 70'); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla 70');
$response = curl_exec($ch); $response = curl_exec($ch)."\n";
curl_close($ch); curl_close($ch);
if ($response !== false) { if ($response !== false) {
$tomorrow = (new DateTime('tomorrow'))->format('d.m.Y'); // If result file does not exist, write it to have a copy
$trashArr = str_getcsv($response, "\n"); file_put_contents($muellFile, $response);
foreach($trashArr as $row) {
$rowArr = str_getcsv($row, ';');
$index = array_search($tomorrow, $rowArr);
if ($index !== false) {
$what = '';
switch ($index) {
case 0:
case 1:
$what = "werden Biomüll und gelbe Tonne";
break;
case 2:
$what = "wird Restmüll";
break;
case 3:
$what = "wird Papier";
break;
}
if ($what !== '') {
shell_exec(sprintf("echo Morgen %s abgeholt | %s -u %d", $what, $config['pathBot'], $config['tgReceiver']));
}
}
}
// Go on with checking the result data
worker($response);
} else { } else {
if (file_exists($muellFile)) {
worker(file_get_contents($muellFile));
} else {
shell_exec(sprintf("echo Müllbot konnte keine Daten empfangen | %s -u %d", $config['pathBot'], $config['tgBotOwner'])); shell_exec(sprintf("echo Müllbot konnte keine Daten empfangen | %s -u %d", $config['pathBot'], $config['tgBotOwner']));
}
} }

Loading…
Cancel
Save