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

/html/shopping/complete.php (/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);
    }
    
<div style="color:tomato;">
// 在庫数が0の場合はNULL
    if( ($sqlval['stock'] <= 5) && ($arrRet&#91;0&#93;&#91;'stock_unlimited'&#93; != '1') ){
        // メール送信先
        $stock_mail = "zaiko@domain.com";
        // 件名
        $stock_sub = "商品在庫が少なくなりました。";
        // メッセージ
        $stock_msg = "商品ID:".$arrID&#91;0&#93;."(".$arrID&#91;1&#93;.",".$arrID&#91;2&#93;.")"."の商品が少なくなりました。";
        // メールを送信します。
        mb_send_mail($stock_mail, $stock_sub, $stock_msg);
    }
</div>
}

コメントを残す