// 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);
}
Exemple #3
0
                 $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;
}