Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //przejrzyj wszystkie TODO w kodzie
- require_once('PHPMailer/PHPMailerAutoload.php');
- header('Content-Type: text/html; charset=utf-8');
- error_reporting(E_ALL);
- ini_set('display_errors', 1);
- $shift_hours = 2;
- $hour = date('h');
- $date = date('Y-m-d');
- $created_at_query_part = '';
- if ($hour >= 7 && $hour < 12) {
- //rano
- $start = date('Y-m-d H:i:s', strtotime("$date 07:00") - 3600 * $shift_hours);
- $end = date('Y-m-d H:i:s', strtotime("$date 12:00") - 3600 * $shift_hours);
- $created_at_query_part = "created_at >= '$start' AND created_at < '$end'";
- } elseif ($hour >= 12 && $hour < 15) {
- //południe
- $start = date('Y-m-d H:i:s', strtotime("$date 12:00") - 3600 * $shift_hours);
- $end = date('Y-m-d H:i:s', strtotime("$date 15:00") - 3600 * $shift_hours);
- $created_at_query_part = "created_at >= '$start' AND created_at < '$end'";
- } elseif ($hour >= 15 && $hour < 20) {
- //popołudnie
- $start = date('Y-m-d H:i:s', strtotime("$date 15:00") - 3600 * $shift_hours);
- $end = date('Y-m-d H:i:s', strtotime("$date 20:00") - 3600 * $shift_hours);
- $created_at_query_part = "created_at >= '$start' AND created_at < '$end'";
- } else {
- //wieczór
- $start = date('Y-m-d H:i:s', strtotime("$date 20:00") - 3600 * $shift_hours);
- $end = date('Y-m-d H:i:s', strtotime("$date 07:00") - 3600 * $shift_hours);
- $created_at_query_part = "created_at >= '$start' AND created_at < '$end'";
- }
- //TESTY
- $created_at_query_part = "created_at >= '2017-08-16 08:00' AND created_at < '2017-08-16 24:00'";
- //$file1array = array(array('numer zamówienia', 'data zamówienia', 'produkty', 'rodzaj odbioru / adres', 'cena zamówienia', 'status'));
- $file1array = array(array('Numer zamówienia', 'Produkty', 'Ilość'));
- //$file2array = array(array('numer zamówienia', 'data zamówienia', 'adres dostawy', 'godzina dostawy'));
- $file2array = array(array('Numer zamówienia', 'Imię', 'Nazwisko', 'Nazwa firmy', 'Kod pocztowy', 'Miejscowość', 'Ulica i numer', 'godzina dostawy', 'telefon kontaktowy'));
- $file3array = array(array('Numer zamówienia', 'Produkty', 'Faktura/paragon', 'Imię', 'Nazwisko', 'Nazwa firmy', 'Kod pocztowy', 'Miejscowość', 'Ulica i numer', 'telefon kontaktowy', 'NIP'));
- try {
- //TODO - zmiana danych do bazy dancyh
- $conn = new PDO("mysql:host=localhost;dbname=ssideare_witpol", 'ssideare_witpol', 'ZUJiUfWn', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
- $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $sql = "SELECT * FROM sales_flat_order WHERE $created_at_query_part";
- echo $sql . '<br/><br/>';
- foreach ($conn->query($sql) as $row) {
- $file1item = $file2item = $file3item = array();
- $file1item[] = $file2item[] = $file3item[] = $row['increment_id'];
- //$file2item[] = date('Y-m-d H:i:s', strtotime($row['created_at']) + 3600 * $shift_hours);
- $sql2 = "SELECT * FROM sales_flat_order_item WHERE order_id = {$row['entity_id']}";
- $items = array();
- $numbers = array();
- foreach ($conn->query($sql2) as $row2) {
- if ($row2['price'] > 0) {
- $items[] = $row2['name'];
- $check = $row2['qty_ordered'];
- $numbers[] = is_int($check) ? int($check) : $check;
- }
- }
- $file1item[] = implode("\r\n", $items);
- $file3item[] = implode("\r\n", $items);
- $file1item[] = implode("\r\n", $numbers);
- $invoice = 'NIE';
- $sql2b = "SELECT * FROM sales_flat_invoice WHERE entity_id = {$row['entity_id']}";
- foreach ($conn->query($sql2b) as $row2b) {
- $invoice = 'TAK';
- }
- $file3item[] = $invoice;
- $firstname = '';
- $lastname = '';
- $company = '';
- $postcode = '';
- $city = '';
- $street = '';
- $phone_numer = '';
- $sql3 = "SELECT * FROM sales_flat_order_address WHERE entity_id = {$row['shipping_address_id']} AND address_type = 'shipping'";
- //$sql3 = "SELECT * FROM sales_flat_order_address WHERE entity_id = {$row['shipping_address_id']}";
- foreach ($conn->query($sql3) as $row3) {
- $firstname = $row3['firstname'];
- $lastname = $row3['lastname'];
- $company = $row3['company'];
- $postcode = $row3['postcode'];
- $city = $row3['city'];
- $street = $row3['street'];
- $phone_numer = $row3['telephone'];
- }
- $file2item[] = $firstname;
- $file2item[] = $lastname;
- $file2item[] = $company;
- $file2item[] = $postcode;
- $file2item[] = $city;
- $file2item[] = $street;
- $delivery_hour = '';
- $sql4 = "SELECT * FROM timeslot WHERE order_id = {$row['entity_id']}";
- foreach ($conn->query($sql4) as $row4) {
- $delivery_hour = "{$row['shipping_arrival_date']} {$row4['timeslot']}";
- }
- $file2item[] = $delivery_hour;
- $file2item[] = $phone_numer;
- $firstname = '';
- $lastname = '';
- $company = '';
- $postcode = '';
- $city = '';
- $street = '';
- $phone_numer = '';
- $sql5 = "SELECT * FROM sales_flat_order_address WHERE entity_id = {$row['billing_address_id']} AND address_type = 'billing'";
- foreach ($conn->query($sql5) as $row5) {
- $firstname = $row3['firstname'];
- $lastname = $row3['lastname'];
- $company = $row3['company'];
- $postcode = $row3['postcode'];
- $city = $row3['city'];
- $street = $row3['street'];
- $phone_numer = $row3['telephone'];
- }
- $file3item[] = $firstname;
- $file3item[] = $lastname;
- $file3item[] = $company;
- $file3item[] = $postcode;
- $file3item[] = $city;
- $file3item[] = $street;
- $file3item[] = $phone_numer;
- $file3item[] = $row['customer_taxvat'];
- $file1array[] = $file1item;
- $file2array[] = $file2item;
- $file3array[] = $file3item;
- }
- //debug
- //print_r($file1array);
- //print_r($file2array);
- //print_r($file3array);
- //die();
- $fp1 = fopen('SKLADANKA.csv', 'w');
- for ($x = 0; $x < count($file1array); $x++) {
- fputs($fp1, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) ));
- if ($fp1)
- {
- fputcsv($fp1, $file1array[$x]);
- }
- }
- fclose($fp1);
- $fp2 = fopen('LIST_PRZEWOZOWY.csv', 'w');
- for ($x = 0; $x < count($file2array); $x++) {
- fputs($fp2, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) ));
- if ($fp2)
- {
- fputcsv($fp2, $file2array[$x]);
- }
- }
- fclose($fp2);
- $fp3 = fopen('KSIEGOWY.csv', 'w');
- for ($x = 0; $x < count($file3array); $x++) {
- fputs($fp3, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) ));
- if ($fp3)
- {
- fputcsv($fp3, $file3array[$x]);
- }
- }
- fclose($fp3);
- //wysyłka maila
- $email = new PHPMailer();
- //TODO - zmiana danych do serwera poczty wychodzącej
- $email->isSMTP();
- $email->Host = 'mail.app2perfect.com';
- $email->SMTPAuth = true;
- $email->Username = 'kontakt@app2perfect.com';
- $email->Password = 'laskowice1987';
- $email->SMTPSecure = 'ssl';
- $email->Port = 465;
- //TODO - zmiana danych związanych z mailem oraz treści maila
- $email->From = 'zamowienia@witpol.net.pl';
- $email->CharSet = 'UTF-8';
- $email->FromName = 'Sklep Internetowy Witpol';
- $email->Subject = 'Zestawienie zamówień z sklepu internetowego Witpol';
- $email->Body = 'Witaj!<br> w załączeniu do niniejszego e-maila są pliki z zamówieniami z godzin: ';
- $email->AddAddress('sieradzkikristof@gmail.com');
- $email->AddAddress('marketing@witpol.net.pl');
- $email->AddAttachment('SKLADANKA.csv');
- $email->AddAttachment('LIST_PRZEWOZOWY.csv');
- $email->AddAttachment('KSIEGOWY.csv');
- if (!$email->Send()) {
- echo 'Mailer Error: ' . $email->ErrorInfo;
- } else {
- echo 'Wiadomość została wysłana';
- }
- unlink('SKLADANKA.csv');
- unlink('LIST_PRZEWOZOWY.csv');
- unlink('KSIEGOWY.csv');
- } catch (PDOException $e) {
- echo "Connection failed: " . $e->getMessage();
- }
- //TODO - dodaj w cronie aby odpalało się codziennie o 7:01, 12:01, 15:01 i 20:01
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement