connect($config, true, $config['db_name']); //require_once ('modules/EcmSales/bimit_importEdiOrders.php'); checkEDISales(); return; function checkEDISales() { global $sugar_config; require_once('modules/EcmSales/EcmSale.php'); require_once('modules/EcmSales/readXML.php'); require_once 'include/phpMailer2/class.phpmailer.php'; require_once 'include/phpMailer2/class.smtp.php'; $path = '/var/edi/e5/orders'; $folders = array( 'archive', 'temp', 'confirm' ); // do not read this folders $orders = array(); if (is_dir($path)) { if ($dh = opendir($path)) { while (($file = readdir($dh)) !== false) { if (!is_dir($file) && !in_array($file, $folders)) { $orders[] = $file; } } } } // add orders $mail_msg = array(); foreach ($orders as $order) { $s = new EcmSale(); $reader = new readXML(); $reader->loadXMLFile($order); $reader->loader($s); $s->position_list = $reader->getPositionList(true); $missedProducts = $reader->checkProducts($s->position_list); $number = $s->generateNumber(); $s->number = $number; $s->document_no = $s->formatNumber($number); $s->edi_file = $order; $s->type = 'sales_order'; $s->status = 's60'; $s->ecmlanguage = 'pl_pl'; $a = new Account(); $a->retrieve($s->parent_id); $s->assigned_user_id = $a->assigned_user_id; $s->assigned_user_name = $a->assigned_user_name; // calculate totals $sum_netto = 0; $sum_brutto = 0; foreach ($s->position_list as $p) { $sum_netto += $p['total_netto']; $sum_brutto += $p['total_brutto']; } $s->total_netto = $sum_netto; if ($s->parent_id == 134 || $s->parent_id == '134') { $s->shop_number = null; } $s->total_brutto = $sum_brutto; $s->save (); if (!is_array($mail_msg[$a->assigned_user_id])) $mail_msg[$a->assigned_user_id] = array(); if (!$s->parent_name || $s->parent_name == "") $s->parent_name = 'Błąd! Brak kontrahenta!'; $msg = 'Plik: ' . $order . '
' . $s->document_no . ', ' . $s->parent_document_no . ', ' . $s->parent_name . '
'; if (count($missedProducts) == 0) { $msg .= 'Status produktów: OK'; } else { $msg .= 'Zamówienie niekompletne: ' . implode(', ', $missedProducts); } $msg .= '


'; $mail_msg[$a->assigned_user_id][] = $msg; unset($a); // move files rename($path . '/' . $order, $path . '/archive/' . $order); } //send messages // require_once 'modules/Schedulers/phpMailer.php'; foreach ($mail_msg as $user => $msg) { $u = new User(); $u->retrieve($user); $message = $date = date('Y-m-d H:i:s') . ' dodano zamówienie(a):
'; foreach ($msg as $m) { $message .= $m . '
'; } $mail = new PHPMailer2(); $mail->isSMTP(); $mail->setFrom($sugar_config['GMail_address'], 'Usługa importu EDI'); $mail->Host = $sugar_config['GMail_host']; $mail->SMTPAuth = $sugar_config['GMail_SMTPAuth']; $mail->Username = $sugar_config['GMail_address']; $mail->Password = $sugar_config['GMail_password']; $mail->SMTPSecure = $sugar_config['GMail_SMTPSecure']; $mail->Port = $sugar_config['GMail_port']; $mail->CharSet = $sugar_config['GMail_CharSet']; $mail->addAddress('mz@bim-it.pl', 'Michał Zieliński'); $mail->addAddress('rl@e5.pl', 'Ryszard Lisiecki'); $mail->addAddress('mf@e5.pl', 'Małgorzata Franiewska'); $mail->isHTML(true); $mail->Subject = "Import zamówienia EDI - E5"; $mail->Body = $message; $mail->send(); unset($mS); // cleaning } return true; }