// Lasketaan ne mukaan Pupen hyllyssä määrään, koska saldo_myytavissa ei huomioi niitä $query = "SELECT ifnull(sum(tilausrivi.kpl), 0) AS keraamatta\n FROM tilausrivi\n INNER JOIN lasku on (lasku.yhtio = tilausrivi.yhtio\n AND lasku.tunnus = tilausrivi.otunnus\n AND lasku.mapvm != '0000-00-00'\n AND lasku.chn = '999')\n WHERE tilausrivi.yhtio = '{$kukarow['yhtio']}'\n AND tilausrivi.tyyppi = 'L'\n AND tilausrivi.var != 'P'\n AND tilausrivi.keratty = ''\n AND tilausrivi.kerattyaika = '0000-00-00 00:00:00'\n AND tilausrivi.tuoteno = '{$tuoterow['tuoteno']}'"; $ker_result = pupe_query($query); $ker_rivi = mysql_fetch_assoc($ker_result); $hyllyssa += $ker_rivi['keraamatta']; // Vertailukonversio $a = (int) $kpl * 10000; $b = (int) $hyllyssa * 10000; if ($a != $b) { $saldoeroja[$tuoterow['tuoteno']]['posten'] = $kpl; $saldoeroja[$tuoterow['tuoteno']]['pupe'] = $hyllyssa; $saldoeroja[$tuoterow['tuoteno']]['nimitys'] = $tuoterow['nimitys']; } } if (count($saldoeroja) > 0) { $body = t("Seuraavien tuotteiden saldovertailuissa on havaittu eroja") . ":<br><br>\n\n"; $body .= t("Tuoteno") . ";" . t("Nimitys") . ";" . t("Posten") . ";" . t("Pupe") . "<br>\n"; foreach ($saldoeroja as $tuoteno => $_arr) { $body .= "{$tuoteno};{$_arr['nimitys']};{$_arr['posten']};{$_arr['pupe']}<br>\n"; } $params = array('to' => $error_email, 'cc' => '', 'subject' => t("Posten saldovertailu") . " - {$luontiaika}", 'ctype' => 'html', 'body' => $body); pupesoft_sahkoposti($params); } // siirretään tiedosto done-kansioon rename($path . $file, $path . 'done/' . $file); } } } } closedir($handle); }
function laheta_email($email_address, array $liitetiedostot_path = array()) { global $yhtiorow, $kieli; $params = array("to" => $email_address, "subject" => $yhtiorow['nimi'] . " - " . t('Vuosisopimusraportti', $kieli) . ' ' . date("d.m.Y"), "ctype" => "html", "body" => t('Liitteenä löytyy vuosisopimusraportit', $kieli), "attachements" => array()); foreach ($liitetiedostot_path as $liitetiedosto_path) { $tiedosto_nimi = explode('/', $liitetiedosto_path); $hakemiston_syvyys = count($tiedosto_nimi); $tiedosto_nimi = $tiedosto_nimi[$hakemiston_syvyys - 1]; $liitetiedosto = array('filename' => $liitetiedosto_path, 'newfilename' => t($tiedosto_nimi, $kieli)); $params['attachements'][] = $liitetiedosto; } pupesoft_sahkoposti($params); }
$uloslisa .= t("Asiakkaalle on merkitty että hän ei halua keräyspoikkeama ilmoituksia!") . "<br><br>"; } else { $uloslisa .= t("Tämä viesti on lähetetty myös asiakkaalle") . "!<br><br>"; } $uloslisa .= t("Tilauksen keräsi") . ": {$keraaja['nimi']}<br><br>"; $ulos = str_replace("</font><hr><br><br><table>", "</font><hr><br><br>{$uloslisa}<table>", $ulos); // Sähköpostin lähetykseen parametrit $parametri = array("to" => $laskurow["kukamail"], "cc" => "", "subject" => "{$yhtiorow['nimi']} - " . t("Keräyspoikkeamat", $kieli), "ctype" => $_ctype, "body" => $ulos, "attachements" => ""); pupesoft_sahkoposti($parametri); } if ($laskurow['kuka_ext_nimi'] != '' and $yhtiorow['extranet_kerayspoikkeama_email'] != '') { $uloslisa .= t("Tilauksen keräsi") . ": {$keraaja['nimi']}<br><br>"; $ulos = str_replace("</font><hr><br><br><table>", "</font><hr><br><br>{$uloslisa}<table>", $ulos); // Sähköpostin lähetykseen parametrit $parametri = array("to" => $yhtiorow["extranet_kerayspoikkeama_email"], "cc" => "", "subject" => "{$yhtiorow['nimi']} - " . t("Keräyspoikkeamat", $kieli), "ctype" => $_ctype, "body" => $ulos, "attachements" => ""); pupesoft_sahkoposti($parametri); } unset($ulos); unset($header); } } if ($tee == 'P' and $real_submit == 'yes') { if ($keraamaton > 0) { $chk_pakkaukset = array(); if ($yhtiorow['kerayserat'] == 'K' and $toim == "") { $query = "SELECT kerayserat.pakkaus,\n kerayserat.pakkausnro,\n group_concat(distinct kerayserat.otunnus) otunnukset\n FROM kerayserat\n JOIN tilausrivi ON (tilausrivi.yhtio = kerayserat.yhtio AND tilausrivi.tunnus = kerayserat.tilausrivi)\n WHERE kerayserat.yhtio = '{$kukarow['yhtio']}'\n AND kerayserat.nro = '{$id}'\n AND kerayserat.otunnus IN ({$tilausnumeroita})\n AND kerayserat.tila = 'K'\n GROUP BY 1,2\n ORDER BY kerayserat.pakkausnro"; $chk_pak_res = pupe_query($query); while ($chk_pak_row = mysql_fetch_assoc($chk_pak_res)) { $chk_pakkaukset[$chk_pak_row['pakkaus']][$chk_pak_row['pakkausnro']] = explode(",", $chk_pak_row['otunnukset']); } }
function laheta_sahkoposti($excel_file_path, $email_address) { global $yhtiorow, $kukarow; $subject = "{$yhtiorow['nimi']} Webstore Sales Orders " . date('Y-m-d'); $body = "You can find the sales orders as and excel attachment"; $new_file_name = "SalesOrders.xlsx"; $ctype = "excel"; if (empty($email_address)) { return false; } $params = array("to" => $email_address, "subject" => $subject, "ctype" => "html", "body" => $body, "attachements" => array()); $liitetiedosto = array('filename' => $excel_file_path, 'newfilename' => $new_file_name, 'ctype' => $ctype); $params['attachements'][] = $liitetiedosto; $email_ok = pupesoft_sahkoposti($params); return $email_ok; }
/** * Lähettää sähköpostit * * @param array $email_bodys */ function laheta_sahkopostit($email_bodys, $kieli) { foreach ($email_bodys as $kuka => $email_body) { $to = hae_sahkopostiosoite($kuka); $parametrit = array("to" => $to, "subject" => t("Myöhässä olevat ostotilaukset", $kieli), "ctype" => "plain", "body" => $email_body); pupesoft_sahkoposti($parametrit); } }
if (php_sapi_name() != 'cli') { die("Tätä scriptiä voi ajaa vain komentoriviltä!\n"); } date_default_timezone_set('Europe/Helsinki'); if (trim($argv[1]) == '') { die("Et antanut yhtiötä!\n"); } // lisätään includepathiin pupe-root ini_set("include_path", ini_get("include_path") . PATH_SEPARATOR . dirname(__FILE__)); // otetaan tietokanta connect ja funktiot require "inc/connect.inc"; require "inc/functions.inc"; // Logitetaan ajo cron_log(); // Sallitaan vain yksi instanssi tästä skriptistä kerrallaan pupesoft_flock(); $yhtio = mysql_real_escape_string(trim($argv[1])); $yhtiorow = hae_yhtion_parametrit($yhtio); $kukarow = hae_kukarow('admin', $yhtiorow['yhtio']); $query = "SELECT tunnus\n FROM lasku\n WHERE yhtio = '{$kukarow["yhtio"]}'\n AND ohjelma_moduli = 'EXTRANET'\n AND tila = 'N'\n AND alatila = 'F'"; $result = pupe_query($query); if (mysql_num_rows($result) > 0) { $tilausnumerot = array(); while ($tilaus = mysql_fetch_assoc($result)) { array_push($tilausnumerot, $tilaus["tunnus"]); } $tilausnumerot = implode(", ", $tilausnumerot); $email_osoitteet = $yhtiorow["hyvaksyttavia_tilauksia_email"]; $email_params = array("to" => $email_osoitteet, "cc" => "", "subject" => "Hyväksyttäviä Extranet-tilauksia", "body" => "Hei,\n\n" . "Seuraavat Extranet-tilaukset ovat valmiita hyväksyttäväksi: {$tilausnumerot}"); pupesoft_sahkoposti($email_params); }
/** * Lähettää yhden emailin * * @global array $kukarow * @global array $yhtiorow * @param string $email * @param string $body */ function laheta_sahkoposti($email, $body) { global $kukarow, $yhtiorow; $parametrit = array("to" => $email, "subject" => t('Tilauksenne toimitusajankohta on päivittynyt'), "ctype" => "html", "body" => $body); pupesoft_sahkoposti($parametrit); }
function onko_lasku_liian_vanha($filename) { global $kukarow, $yhtiorow; // Otetaan filen koko polku $filename = realpath($filename); // Jos file ollut alle vuorokauden error kansiossa, niin ei ole liian vanha if (time() - filemtime($filename) < 86400) { return false; } // Muuten on liian vanha ja lähetetään meili $parametri = array("to" => $yhtiorow["talhal_email"], "subject" => t("Laskujen uudelleenlähetys"), "ctype" => "text", "body" => t("Laskujen uudelleenlähetys epäonnistunut yli vuorokauden."), "attachements" => array(0 => array("filename" => $filename))); $boob = pupesoft_sahkoposti($parametri); // Poistetaan lasku hakemistosta jos sähköpostin lähetys onnistui if ($boob) { unlink($filename); } return true; }