2010年4月6日火曜日

在庫が少なくなったら、メールで知らせてくれる機能

/data/class/pages/shopping/LC_Page_Shopping_Complete.php

// 在庫を減らす処理

function lfReduceStock($objQuery, $arrID, $quantity) {

    $where = "product_id = ? AND classcategory_id1 = ? AND classcategory_id2 = ?";


    $arrRet = $objQuery->select("stock, stock_unlimited", "dtb_products_class", $where, $arrID);

    

    // 売り切れエラー

    if(($arrRet[0]['stock_unlimited'] != '1' && $arrRet[0]['stock'] < $quantity) || $quantity == 0) {


        $objQuery->rollback();

        sfDispSiteError(SOLD_OUT, "", true);

    // 無制限の場合、在庫はNULL

    } elseif($arrRet[0]['stock_unlimited'] == '1') {

        $sqlval['stock'] = null;


        $objQuery->update("dtb_products_class", $sqlval, $where, $arrID);

    // 在庫を減らす

    } else {

        $sqlval['stock'] = ($arrRet[0]['stock'] - $quantity);


        if($sqlval['stock'] == "") {

            $sqlval['stock'] = '0';

        }        

        $objQuery->update("dtb_products_class", $sqlval, $where, $arrID);


    }

    

// 在庫数が0の場合はNULL

    if( ($sqlval['stock'] <= 5) && ($arrRet[0]['stock_unlimited'] != '1') ){

        // メール送信先


        $stock_mail = "zaiko@domain.com";

        // 件名

        $stock_sub = "商品在庫が少なくなりました。";

        // メッセージ

        $stock_msg = "商品ID:".$arrID[0]."(".$arrID[1].",".$arrID[2].")"."の商品が少なくなりました。";


        // メールを送信します。

        mb_send_mail($stock_mail, $stock_sub, $stock_msg);

    }

}

0 件のコメント:

コメントを投稿