// register_globals 対策 require_once(dirname(__FILE__)."/../vendor/autoload.php"); (new Gongo\MercifulPolluter\Request)->pollute(); // // 2001.11.23 セキュア.スプートニクのソース // PostgreSQL接続文字列 // if(!$SERVER_NAME) include("comserver.php3"); // if(($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "secure.sputnik.co.jp")) define("CASADB", "host=casadb dbname=casanavi user=hude password=hudehude"); // else define("CASADB", "dbname=casanavi"); // 2001.11.23 wwwのcommonの最新からとってきた // PostgreSQL接続文字列 if(!$SERVER_NAME) include("comserver.php3"); // 2006.02.15 midori C&W時の設定 // if(($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "casabk.casanavi.co.jp") || ($SERVER_NAME == "casans.casanavi.co.jp")) define("CASADB", "host=210.158.217.20 dbname=casanavi user=hude password=hudehude"); // if(($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "casabk.casanavi.co.jp") || ($SERVER_NAME == "casans.casanavi.co.jp") || ($SERVER_NAME == "210.145.7.68") || ($SERVER_NAME == "210.145.7.69")) define("CASADB", "host=casadb dbname=casanavi user=hude password=hudehude"); //if(($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "casadns.casanavi.co.jp") || ($SERVER_NAME == "210.145.7.68") || ($SERVER_NAME == "210.145.7.69")) define("CASADB", "host=localhost dbname=casanavi user=hude password=hudehude"); // 新サーバ対応 2013.05.31 いずれAKNへの参照はやめる // if(($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "casadns.casanavi.co.jp") || ($SERVER_NAME == "210.145.7.68") || ($SERVER_NAME == "210.145.7.69") || ($SERVER_NAME == "210.149.171.100")) define("CASADB", "host=localhost dbname=casanavi user=hude password=hudehude"); // else define("CASADB", "dbname=casanavi user=hude password=hudehude"); // else define("CASADB", "host=203.139.21.213 dbname=casanavi"); // TLS対応に伴うサーバ切り替え対応 2016.08.27 if($SERVER_NAME == "www.casanavi.co.jp") define("CASADB", "host=localhost dbname=casanavi user=hude password=hudehude"); else define("CASADB", "dbname=casanavi user=hude password=hudehude"); //SERVER_URLの設定 2004.03.29 by 緑 // enigmaの場合は環境によって変えましょう // if(($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "secure.sputnik.co.jp")) define("SERVER_URL", "http://".$SERVER_NAME."/"); // elseif ( ($SERVER_NAME == "enigma") || ($SERVER_NAME == "ihinew")) define("SERVER_URL", "http://ihinew/"); // elseif ( $SERVER_NAME == "casabk.casanavi.co.jp" ) define("SERVER_URL", "http://".$SERVER_NAME."/"); define("SERVER_URL", "http://".$SERVER_NAME."/"); //define("SERVER_URLS", "https://".$SERVER_NAME."/"); if($SERVER_NAME === "www.casanavi.co.jp"){ define("SERVER_URLS", "https://".$SERVER_NAME."/"); } else { define("SERVER_URLS", "http://".$SERVER_NAME."/"); } //20051208 midori if (PHP_VERSION >= '4') { include("i18_common.php"); } // PostgreSQL操作メッセージ define("PGADDMSG", "登録しました"); define("PGUPDMSG", "更新しました"); define("PGDELMSG", "削除しました"); define("PGLOGERR", "PostgreSQL接続エラー"); define("PGADDERR", "既に登録されています"); define("PGUPDERR", "更新できませんでした"); define("PGDELERR", "削除できませんでした"); define("PGFNDERR", "検索できませんでした"); define("PGADDER1", "登録できませんでした"); define("PGGETERR", "登録されていません"); define("PGDELER1", "抹消できませんでした"); define("PGRSVERR", "予約できませんでした"); // 日付時刻種別 define("DATESYS", 0); define("DATEYER", 1); define("DATEMON", 2); define("DATEDAY", 3); define("DATEHOR", 4); define("DATEMIN", 5); define("DATEM15", 6); define("DATENEN", 7); define("DATESYS2", 8); // テーブル種別 define("IDCUSTM", 0); define("IDPRDCT", 1); define("IDMAKER", 2); define("IDESTMT", 3); define("IDORDER", 4); // デフォルト開始、終了年 // define("YEARSTT", 1970); define("YEARSTT", 2000); define("YEAREND", 2100); // ランダムキャラクタ取得用文字列 define("RNDCHAR", "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"); // 入力チェック種別 define("CHKZEN", 0); // 全角文字 define("CHKHAN", 1); // 半角文字 define("CHKNUM", 2); // 半角数字 define("CHKNUM2", 15); // 半角数字(+-を含む) define("CHKZER", 3); // 半角数字(1以上の数字) define("CHKDEC", 4); // 半角小数数字 define("CHKDAT", 5); // 年月日選択 define("CHKTEM", 6); // 年月日期間選択 define("CHKCAT", 7); // カテゴリー選択 define("CHKCNT", 8); // 文字数チェック define("CHKPWD", 9); // パスワード define("CHKPOS", 10); // 郵便番号 define("CHKTEL", 11); // 電話番号、FAX番号 define("CHKBNK", 12); // 銀行口座番号 define("CHKMAL", 13); // メールアドレスチェック define("CHKCHR", 14); // 文字チェック // 写真保存ディレクトリ define("PHOTO01", "/usr/local/apache/htdocs/photo/01/"); define("PHOTO02", "/usr/local/apache/htdocs/photo/02/"); define("PHOTO03", "/usr/local/apache/htdocs/photo/03/"); define("PHOTOPRO", "/usr/local/apache/htdocs/photo/pro/"); define("PHOTOCLR", "/usr/local/apache/htdocs/photo/clr/"); define("PHOTOOPT", "/usr/local/apache/htdocs/photo/opt/"); define("PHOTOTMP", "/usr/local/apache/htdocs/photo/temp/"); define("PHOTOHPLOGO", "/usr/local/apache/htdocs/photo/cstmhp/logo/"); define("PHOTOHPFREE", "/usr/local/apache/htdocs/photo/cstmhp/free/"); define("PHOTOHPMSG", "/usr/local/apache/htdocs/photo/cstmhp/msg/"); define("PHOTOHPOBJ", "/usr/local/apache/htdocs/photo/cstmhp/obj/"); define("PHOTOHPRTL", "/usr/local/apache/htdocs/photo/cstmhp/rtl/"); // htdocsディレクトリ define("HTDOCSDIR", "/usr/local/apache/htdocs/"); // 商品保証内容保存ディレクトリ define("AFTERDIR", "/usr/local/apache/htdocs/afterservice/"); // 追加開始 2001/01/20 by ぴょん吉 // HPサービスHTML保存ディレクトリ define("HPSDIR", "/usr/local/apache/htdocs/hpservice/"); // 追加終了 2001/01/20 by ぴょん吉 // 追加開始 2001/01/28 by ぴょん吉 // HPサービス提供ディレクトリ define("HPDIR", "/usr/local/apache/htdocs/hp/"); // 追加終了 2001/01/28 by ぴょん吉 // 緊急改修開始 2001/06/14 by ぴょん吉 define("FAXDIR", "/var/spool/sendfax/"); define("SFAXDIR", "/var/spool/sendfax.remote/"); // 緊急改修終了 2001/06/14 by ぴょん吉 // 最大一覧数 define("MAXLOOK", 20); // サイト種別 define("SIDMAKE", 1); define("SIDSITE", 2); define("SIDCSTM", 3); // メール通知用定数 if($SERVER_NAME == "www.casanavi.co.jp") define("SITEMAIL", "info@casanavi.co.jp"); else define("SITEMAIL", "keitamotegi@gmail.com"); if($SERVER_NAME == "www.casanavi.co.jp") define("SITEMAL2", "info@casanavi.co.jp"); else define("SITEMAL2", "keitamotegi@gmail.com"); if($SERVER_NAME == "www.casanavi.co.jp") define("SITEMAL3", "info@casanavi.co.jp"); else define("SITEMAL3", "keitamotegi@gmail.com"); // 2002/12/05 add start by koji if($SERVER_NAME == "www.casanavi.co.jp") define("WATCHMAIL", "watch@casanavi.co.jp"); else define("WATCHMAIL", "keitamotegi@gmail.com"); // 2002/12/05 add end by koji define("ROOTCASA", "http://www.casanavi.co.jp/"); define("CSTMCASA", "http://www.casanavi.co.jp/"); define("MAKECASA", "http://www.casanavi.co.jp/admin/"); /* $SITEADDR = "=======================================================\n"; $SITEADDR .= "casa navi\n"; $SITEADDR .= ROOTCASA."b\n"; $SITEADDR .= "E-mail: ".SITEMAIL."\n"; $SITEADDR .= "-------------------------------------------------------\n"; // $SITEADDR .= "(株)カーサナビ\n"; // 2008/05/12 口座情報変更 by Keita Motegi $SITEADDR .= "カーサナビ(株)\n"; // 2009/08/10 移転文言の削除 by Keita Motegi // $SITEADDR .= "事務所 移転しました\n"; $SITEADDR .= "〒102-0084 東京都千代田区二番町9番地 山陽電工ビル1F\n"; $SITEADDR .= "Tel: 03-3230-1980 Fax: 03-3230-1981\n"; $SITEADDR .= "営業時間:9:00〜17:45(土・日・祝祭日除く)\n"; $SITEADDR .= "=======================================================\n"; */ // 2010.06.15 motegi シグネチャ短縮 $SITEADDR = "==============================================================\n"; $SITEADDR .= "カーサナビ株式会社 -casa navi-\n"; $SITEADDR .= "〒102-0083 東京都千代田区麹町3丁目1番地1 麹町311ビル1F\n"; $SITEADDR .= "Tel: 03-3230-1980 Fax: 03-3230-1981\n"; $SITEADDR .= "http://www.casanavi.co.jp/b/\n"; $SITEADDR .= "E-mail: info@casanavi.co.jp\n"; $SITEADDR .= "営業時間:9:00〜17:45(土・日・祝祭日除く)\n"; $SITEADDR .= "==============================================================\n"; // 2010.06.15 motegi メールキャンペーン対応 //define(_Mailtext_Campaign_Resp,""); define("_Mailtext_Campaign_Resp",""); // TODO:20160624motegi // 日崎ID define("HIZAID", "00000065"); // センコーID define("SENKOID", "00000067"); //2002.12.13 緑川追加 define("SITEFEE",0.08); //サイト手数料率 if(mktime() >= mktime(0,0,0,9,24,2019) ){ define("TAXFEE",0.1); //消費税率(2019.10〜) } else { define("TAXFEE",0.08); //消費税率(2014.04〜) } // 2001.11.07 H.I オリコペイメント定数 // オリコペイメントのURL //define("ORCURL","https://payment.oricomall.or.jp/Payment"); if (($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "casadns.casanavi.co.jp") || ($SERVER_NAME == "210.145.7.68") || ($SERVER_NAME == "210.145.7.69")) { // 新サーバ対応 2013.05.31(オリコペイメントの接続テストが終わってから有効にする) // if (($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "210.149.171.100")) { //旧本番環境 //define("ORCURL","https://payment.oricomall.or.jp/Payment"); //新本番環境 define("ORCURL","https://secure.oricopayment.jp/SimpleAuthori"); } else { //新テスト環境 define("ORCURL","https://trial.oricopayment.jp/SimpleAuthori"); //新本番環境 //define("ORCURL","https://secure.oricopayment.jp/SimpleAuthori"); } //オリコペイメントの事務局URL if (($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "casadns.casanavi.co.jp") || ($SERVER_NAME == "210.145.7.68") || ($SERVER_NAME == "210.145.7.69")) { // 新サーバ対応 2013.05.31(オリコペイメントの接続テストが終わってから有効にする) // if (($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "210.149.171.100")) { // define("ORCURL_JIMU","https://trial.bluegate.jp/shoplogin"); define("ORCURL_JIMU","https://payment.bluegate.jp/shoplogin"); } else { define("ORCURL_JIMU","https://payment.bluegate.jp/shoplogin"); } define("ORCCODE", "P"); // 電文種別 define("ORCMALLID", "0000185"); // モールID define("ORCSHOPID", "08518821"); // ショップID define("ORCTERMID", "02388"); // 端末番号 define("ORCPRODUCTNO", "130"); // 商品コード define("ORCPRODUCTINFO", "カーサナビ 購入商品"); // 商品情報 define("ORCCOUNT", "1"); // 商品個数 define("ORCPRODUCT_01", "カーサナビ 購入商品一式(配送料含む)"); // 商品情報−商品名 define("ORCAMOUNT_01", "1"); // 商品情報−数量 define("ORCDELIVERY", "0"); // 配送料金 // define("ORCBACKURL", SERVER_URL."btobindex.php3"); // もどりURL define("ORCBACKURL", SERVER_URL."b/"); // もどりURL // BACKURL Type2 対応 2011.06.28 motegi define("ORCBACKURL_A" , SERVER_URL."b/no_order/payment_resume.php");// 利用者事由のエラーで、オリコ側であきらめた時の流れ define("ORCBACKURL2_A", SERVER_URL."b/no_order/payment_cont.php"); // 決済正常終了時 define("ORCBACKURL3_A", SERVER_URL."b/no_order/payment_fatal.php"); // オリコ事由のエラー終了時 define("ORCBACKURL_B" , SERVER_URL."b/order/payment_resume.php"); // 利用者事由のエラーで、オリコ側であきらめた時の流れ define("ORCBACKURL2_B", SERVER_URL."b/order/payment_cont.php"); // 決済正常終了時 define("ORCBACKURL3_B", SERVER_URL."b/order/payment_fatal.php"); // オリコ事由のエラー終了時 //GMO用環境設定 //GMO接続URL if (($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "casadns.casanavi.co.jp") || ($SERVER_NAME == "210.145.7.68") || ($SERVER_NAME == "210.145.7.69")) { define("GMOURL","https://mod-i.ccsware.net/ohayou/LinkEntry.php"); //GMO決済画面 //define("GMOURL","https://common.kessai.ne.jp/ohayou/LinkEntry.php"); define("GMOSHOPID","test000003630"); //GMOのID define("GMOSHOPPASSSTRING","asahikasei"); //GMOのパスワード define("GMOCCSURL","https://mod-i.ccsware.net/meerkat/login.jsp"); //GMO管理画面URL } else { define("GMOURL","https://mod-i.ccsware.net/ohayou/LinkEntry.php"); define("GMOSHOPID","test000003630"); define("GMOSHOPPASSSTRING","asahikasei"); define("GMOCCSURL","https://mod-i.ccsware.net/meerkat/login.jsp"); //GMO管理画面URL } // define("GMORETURL",SERVER_URL."secure/inc31608.php3"); //GMOからの戻りURL // define("GMOCLIENTFIELD1","カード番号は、ビジネスクレジット会員番号(12桁)を入力して下さい。"); //GMOの入力画面にて自由に設定する文字列 // define("GMOCLIENTFIELD2","有効期限は、99月99年として下さい。"); //GMOの入力画面にて自由に設定する文字列 // define("GMOCLIENTFIELD3",""); //GMOの入力画面にて自由に設定する文字列 // define("GMOCLIENTDISPFLAG","1"); //GMOの入力画面にて自由に設定する文字を表示するか 0 しない 1 する define("GMOCLIENTFIELD1",""); //GMOの入力画面にて自由に設定する文字列 define("GMOCLIENTFIELD2",""); //GMOの入力画面にて自由に設定する文字列 define("GMOCLIENTFIELD3",""); //GMOの入力画面にて自由に設定する文字列 define("GMOCLIENTDISPFLAG","0"); //GMOの入力画面にて自由に設定する文字を表示するか 0 しない 1 する set_time_limit(0); // PostgreSQL操作メッセージ define("PGNOEXMSG", "データが存在しません"); define("PASSWORDERR", "パスワードが違います"); define("INPUTERR1MSG", "を入力してください"); define("INPUTERR2MSG", "を選択してください"); define("INPUTERR3MSG", "は英数半角を入力してください"); define("INPUTERR4MSG", "は数値を入力してください"); // メニュー define("MAINMENUBTN", "メインメニューへ"); define("MAKERMENUBTN", "出品者メニューへ"); define("CSTMMENUBTN", "会員メニューへ"); define("SITEMENUBTN", "サイトメニューへ"); define("MAINMENUJUMP", "../indexoutlet.php3"); define("MAKERMENUJUMP", "casa1000.php3"); define("CSTMMENUJUMP", "casa3000.php3"); define("SITEMENUJUMP", "casa2000.php3"); // メニュー種別 define("MAINMENU", "0"); define("MAKERMENU", "1"); define("SITEMENU", "2"); define("CSTMMENU", "3"); // 背景色 define("BKCOLOR1", "#BDC3D9"); // define("BKCOLOR2", "#FFCCFF"); define("BKCOLOR2", "#FFE8B5"); // 注文・見積取消フラグ $ODRDELARY = array("取消", "注文"); // 配送手配フラグ $DELCOMPARY = array("未受付", "受付済"); // トラック情報 $TRUCKARY = array("", "10tトラック", "4tトラック", "2tトラック"); // 商品検索表示件数 define("MAXLOOK_NEW", "10"); // メール種別 define("MAILEST", "0"); define("MAILORD", "1"); //20070228 midori com0010.php3の内容コピー↑ // 2010.06.02 商品群オプションファイルアップロード数 define("OPTION_FILE_ROWS", 8); // 2011.01.12 赤字伝票の売上識別/productidに設定する motegi define("EXTRA_SALES_SIGN", "9999999999999999"); //$EXTRA_SALES_SIGN = "9999999999999999"; //************************************************ // 標準コメント長さ 2011.05.20 motegi // // 基本的には以下の領域チェックに共通適用 // 会員見積依頼コメント (estimate.remark / estimatedt.remark) // 出店者見積返答コメント (estimatedt_r.remark1) // 会員注文依頼コメント (acporder.remark / acporderdt.remark) // 出店者在庫確保コメント (acporderdt_r.option1) // 出店者配送登録コメント (acporderdt_r.remark1) // // ※ b/define.phpの _Comment_Std_Length と同期をとること //************************************************ // define("COMMENT_STD_LENGTH", "256"); define("COMMENT_STD_LENGTH", "3000"); // PostgreSQLエラーメッセージ $PGERRMSG = ""; // 曜日文字配列 $WEEKARY = array("日", "月", "火", "水", "木", "金", "土"); // 祝日文字配列 $HOLIDAY = array(array("01/01", 0, "", "元日"), array("01/02", 0, "", "正月"), array("01/03", 0, "", "正月"), array("01/04", 0, "", "正月"), array("01", 2, "月", "成人の日"), array("02/11", 0, "", "建国記念の日"), array("03/20", 0, "", "春分の日"), array("04/29", 0, "", "みどりの日"), array("05/03", 0, "", "憲法記念日"), array("05/04", 0, "", "国民の休日"), array("05/05", 0, "", "こどもの日"), array("05/06", 0, "", "こどもの日振替"), array("07", 3, "月", "海の日"), array("09", 3, "月", "敬老の日"), array("09/23", 0, "", "秋分の日"), array("10", 2, "月", "体育の日"), array("11/03", 0, "", "文化の日"), array("11/23", 0, "", "勤労感謝の日"),array("11/24", 0, "", "勤労感謝の日振替"), array("12/23", 0, "", "天皇誕生日"), array("12/28", 0, "", "年末"), array("12/29", 0, "", "年末"),array("12/30", 0, "", "年末"), array("12/31", 0, "", "大晦日")); // 消費税区分 $TAXARY = array("込み", "別"); $TAXARY2 = array("税込み", "税別"); // 有無区分 $YESNOARY = array("無", "有"); // 可不可区分 $GOODBADARY = array("不可", "可能"); // 状況区分 // 仕様変更開始 2001/05/15 by ぴょん吉 // $STATUSARY = array("在庫確認中", "受注待ち", "受注済み"); $STATUSARY = array("在庫確認中", "受注待ち", "受注済み", "見積取消"); // 仕様変更終了 2001/05/15 by ぴょん吉 // 返答区分 $ANSWERARY = array("NG", "OK", "一部OK"); // 配送区分 $DELIVERYARY = array("会員住所", "別配送"); // 完了区分 $COMPLETEARY = array("未完了", "完了"); // 配送業者区分 $DELICOMPARY = array("出店者", "サイト"); // メールサービス区分 $MSERVICEARY = array("申込まない", "申込む"); // 在庫仮押さえフラグ $ORDFLGARY = array("未定", "します"); $ORDFLGARY2 = array("しない", "する"); // 商品保証内容 $PASSUREARY = array("別添無し", "別添有り"); //2007.10.03 midori //東京住文化のIDリスト $Tokyojyubunkalist = array("00005000","00007224"); //ヘーベルのIDリスト $Hebellist = array("00008000","00008500","00008501"); // 商品内容HTMLファイルからの商品内容取得 // 入力 mid :出店者ID // 出力 商品内容登録文字列 function GetPassureText($mid) { $ret = ""; $fnm = AFTERDIR.$mid.".html"; if(file_exists($fnm)) { if($flp = @fopen($fnm, "r")) { for($str = ""; !feof($flp); ) $str .= fgets($flp, 8192); $stt = strpos($str, "\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("商品保証内容\n", "SJIS")); fputs($flp, i18n_convert("\n\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("商品保証内容\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert($pas, "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("このページに関するお問い合わせはinfo@casanavi.co.jpまでお願いします。\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); fputs($flp, i18n_convert("\n", "SJIS")); @fclose($flp); } return; } // 消費税額取得 // 入力 mon :金額 // 出力 消費税額(小数点以下切捨て) function GetTax($mon) { $tax = ($mon * TAXFEE)."."; return (substr($tax, 0, strpos($tax, "."))); } // マイレージ取得 // 入力 mon :金額 // per :掛率 // 出力 消費税額(小数点以下切捨て) function GetMilage($mon, $per = 0.03) { $mil = ($mon * $per)."."; return (substr($mil, 0, strpos($mil, "."))); } // ユーザーチェック // 入力 sid :サイト種別 // uid :ユーザーID // pwd :パスワード // 出力 true:正常ログイン、false:異常ログイン function ChkUser($sid, &$uid, $pwd) { if ($sid == SIDMAKE) { $uid = substr("00000000".$uid, -8); $sql = "select makerid from maker where ((makerid = '$uid') and (password = '$pwd'));"; } else if($sid == SIDCSTM) { $uid = substr("00000000".$uid, -8); $sql = "select cstmid from custmer where ((cstmid = '$uid') and (password = '$pwd'));"; } else return false; return ChkRecord($sql); } // 文字列を区切り文字で分割する // 入力 dat :元文字列 // div :分割格納配列領域 // tok :区切り文字(省略時は'-') // 出力 分割数 function GetDivision($dat, &$div, $tok = "-") { $cnt = 0; $dmy = strtok($dat, $tok); while($dmy) { $div[$cnt ++] = $dmy; $dmy = strtok($tok); } return $cnt; } // 年月日が土・日・祝日か判定 // 入力 dat :年月日(YYYY/MM/DD) // 出力 true:土・日・祝日、false:平日 function ChkHoliday($dat) { global $HOLIDAY; $wek = GetWeek(substr($dat, 0, 4), substr($dat, 5, 2), substr($dat, 8, 2)); if(($wek == "土") || ($wek == "日")) return true; for($lop = 0; $HOLIDAY[$lop][0] != ""; $lop ++) { if($HOLIDAY[$lop][0] == substr($dat, 5, 5)) return true; if($HOLIDAY[$lop][1] == 0) { // 祝日が固定の場合 $dmy = substr($dat, 0, 4)."/".$HOLIDAY[$lop][0]; $wek = GetWeek(substr($dmy, 0, 4), substr($dmy, 5, 2), substr($dmy, 8, 2)); if($wek == "日") { // 祝日が日曜の場合、月曜日を祝日と考える $dmy = GetDayAgo($dmy, 1); } } else { // 祝日が不定の場合 $dmy = substr($dat, 0, 4)."/".$HOLIDAY[$lop][0]."/01"; for($cnt = 0, $lp1 = 1; $lp1 < 31; $lp1 ++) { if(checkdate(substr($dmy, 0, 4), substr($dmy, 5, 2), substr($dmy, 8, 2))) break; $wek = GetWeek(substr($dmy, 0, 4), substr($dmy, 5, 2), substr($dmy, 8, 2)); if($wek == $HOLIDAY[$lop][2]) { $cnt += 1; if($HOLIDAY[$lop][1] <= $cnt) break; } $dmy = GetDayAgo($dmy, 1); } } if(substr($dmy, 5, 5) == substr($dat, 5, 5)) return true; } return false; } // 何日前後の年月日を取得(土・日・祝日除く) // 入力 dat :年月日(YYYY/MM/DD) // nxt :何日前後かの数値(省略時は2日後) // 出力 日付(YYYY/MM/DD) function GetDayAgo2($dat, $nxt = 2) { for($lop = 0; $lop < abs($nxt); ) { $dat = GetDayAgo($dat, (($nxt >= 0) ? 1 : -1)); if(!ChkHoliday($dat)) $lop ++; } return $dat; } // 何日前後の年月日を取得 // 入力 dat :年月日(YYYY/MM/DD) // nxt :何日前後かの数値 // 出力 日付(YYYY/MM/DD) function GetDayAgo($dat, $nxt) { return date("Y/m/d", mktime(0, 0, 0, (int)substr($dat, 5, 2), (int)substr($dat, 8, 2) + (int)$nxt, (int)substr($dat, 0, 4))); } // システム日付から1週間前の日付数値を取得 // 入力 なし // 出力 1週間前の日付数値 function GetOneWeekAgo() { return mktime(0, 0, 0, date("m"), date("d") - 7, date("Y")); } // 金額のカンマ付与/消去変換 // 入力 money:金額 // flg :変換フラグ(TRUE:カンマ付与、FALSE:カンマ消去) // 出力 変換した金額 function CnvMoney($money, $flg = true) { $ret = ""; if($flg) { // カンマ付与 do { $ret = ",".substr($money, -3).$ret; $money = ((strlen($money) >= 3) ? substr($money, 0, strlen($money) - 3) : ""); } while($money != ""); if(substr($ret, 0, 1) == ",") $ret = substr($ret, 1); } else { // カンマ消去 $tok = strtok($money, ","); if(!$tok) { $ret = $money; } else { while($tok) { $ret .= $tok; $tok = strtok(","); } } } return $ret; } // 配列のHTML出力(RADIO文) // 入力 ary :配列名 // name :CHECKBOX名 // dat :デフォルト選択データ(省略時は-1) // tab :タブインデックス値(省略時は-1) // 出力 HTML<CHECKBOX文> function DspCheckboxArray($ary, $name, $dat = "", $tab = -1) { global $$ary; for($lop = 0; ${$ary}[$lop] != ""; $lop ++) { echo "= 0) ? " TABINDEX=\"$tab\"" : ""); echo ">".${$ary}[$lop]; } return; } // コード内容の取得(1個のみ) // 入力 tblid:テーブルID // itmid:項目ID // codid:コードID // 出力 取得したコード内容 function GetFieldCode($tblid, $itmid, $codid) { global $PGERRMSG; $ret = ""; $con = @pg_connect(CASADB); if($con) { $sql = "select codename from codectl where ((tableid = '$tblid') and (itemid = '$itmid') and (codeid = '$codid'));"; $rsl = @pg_exec($con, $sql); if($rsl) { if(@pg_numrows($rsl) > 0) { $arr = @pg_fetch_row($rsl, 0); $ret = $arr[0]; } } else { $PGERRMSG = @pg_errormessage($con); } @pg_close($con); } return $ret; } // 都道府県からエリアコードを抽出 // 入力 tblid:テーブルID // codid:コードID // 出力 取得したエリアコード function GetFieldArea($codid) { global $PGERRMSG; $ret = ""; $con = @pg_connect(CASADB); if($con) { $sql = "select itemid from codectl where ((tableid = '03') and (codeid = '$codid'));"; $rsl = @pg_exec($con, $sql); if($rsl) { if(@pg_numrows($rsl) > 0) { $arr = @pg_fetch_row($rsl, 0); $ret = $arr[0]; } } else { $PGERRMSG = @pg_errormessage($con); } @pg_close($con); } return $ret; } // 入力データのチェック // 入力 chkid:入力チェック種別 // dat :入力データ文字列または入力データ配列 // msg :メッセージ // cnt :文字数 // nul :true:入力データ必須チェックあり、false:入力データ必須チェックなし // brw :true:ブラウザチェックあり、false:ブラウザチェックなし // 出力 true :正常 // false:異常 function InputChecker($chkid, $dat, $msg, $cnt = 0, $nul = true, $brw = false) { switch($chkid) { case CHKZEN: //全角文字 if($nul && ($dat == "")) { DspMessage($msg."は必須入力です。全角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } if($dat != "") { $dmy = i18n_ja_jp_hantozen($dat, "KV"); if($dat != $dmy) { DspMessage($msg."に半角カナを使用してはいけません", 1, $brw); return false; } $dmy = i18n_ja_jp_hantozen($dat, "RNAKV"); if($dat != $dmy) { DspMessage($msg."は全角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください", 1, $brw); return false; } if(mbstrlen($dat) > $cnt) { DspMessage($msg."は長すぎます。全角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } } break; case CHKHAN: //半角文字 if($nul && ($dat == "")) { DspMessage($msg."は必須入力です。半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } if($dat != "") { $dmy = i18n_ja_jp_hantozen($dat, "KV"); if($dat != $dmy) { DspMessage($msg."に半角カナを使用してはいけません", 1, $brw); return false; } if(i18n_discover_encoding($dat) != "ASCII") { DspMessage($msg."は半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください", 1, $brw); return false; } if(strlen($dat) > $cnt) { DspMessage($msg."は長すぎます。半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } } break; case CHKNUM: //半角数字 if($nul && ($dat == "")) { DspMessage($msg."は必須入力です。半角数字", 1, $brw); return false; } if($dat != "") { for($lop = 0; substr($dat, $lop, 1) != ""; $lop ++) { $dmy = substr($dat, $lop, 1); if(($dmy < "0") || ($dmy > "9")) { DspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } if($cnt == 2) { if($dat > 32767) { DspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } else if($cnt == 4) { if($dat > 2147483647) { DspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } } break; case CHKZER: //半角数字(1以上の数字) if($nul && ($dat == "")) { DspMessage($msg."は必須入力です。半角数字", 1, $brw); return false; } if($dat != "") { for($lop = 0; substr($dat, $lop, 1) != ""; $lop ++) { $dmy = substr($dat, $lop, 1); if(($dmy < "0") || ($dmy > "9")) { DspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } if($cnt == 2) { if($dat > 32767) { DspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } else if($cnt == 4) { if($dat > 2147483647) { DspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } } if($dat <= 0) { DspMessage($msg."は半角数字で1以上を入力してください", 1, $brw); return false; } break; case CHKDEC: //半角小数数字 if($nul && ($dat == "")) { DspMessage($msg."は必須入力です。半角数字(小数点付与可)", 1, $brw); return false; } if($dat != "") { for($lop = 0; substr($dat, $lop, 1) != ""; $lop ++) { $dmy = substr($dat, $lop, 1); if(($dmy < "0") || ($dmy > "9")) { if($dmy != ".") { DspMessage($msg."は半角数字(小数点付与可)で入力してください", 1, $brw); return false; } } } if(strpos($dmy, ".") != strrpos($dmy, ".")) { DspMessage($msg."は有効な数値ではありません", 1, $brw); return false; } if($cnt == 4) { if($dat > 32767) { DspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } else if($cnt == 8) { if($dat > 2147483647) { DspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } } break; case CHKDAT: //年月日選択 if($nul && (($dat[0] == "") || ($dat[1] == "") || ($dat[2] == ""))) { DspMessage($msg."は必須選択です", 1, $brw); return false; } if(($dat[0] != "") && ($dat[1] != "") && ($dat[2] != "")) { if(!checkdate($dat[1], $dat[2], $dat[0])) { DspMessage($msg."は有効な日付を選択してください", 1, $brw); return false; } } else if(($dat[0] != "") || ($dat[1] != "") || ($dat[2] != "")) { DspMessage($msg."は有効な日付を選択してください", 1, $brw); return false; } break; case CHKTEM: //年月日期間選択 if($nul && (($dat[0] == "") || ($dat[1] == ""))) { DspMessage($msg."は必須選択です", 1, $brw); return false; } if(($dat[0] != "") && ($dat[1] != "")) { if((strlen($dat[0]) != 10) || (strlen($dat[1]) != 10)) { DspMessage($msg."は有効な期間を選択してください", 1, $brw); return false; } if($dat[0] > $dat[1]) { DspMessage($msg."は開始と終了に有効な期間を選択してください", 1, $brw); return false; } } break; case CHKCAT: //カテゴリー選択 if(substr($dat, 0, 2) == "00") { DspMessage($msg."は小項目を選択してください", 1, $brw); return false; } break; case CHKCNT: //文字数チェック if($nul && ($dat == "")) { DspMessage($msg."は必須入力です。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内)", 1, $brw); return false; } $dmy = i18n_ja_jp_hantozen($dat, "KV"); if($dat != $dmy) { DspMessage($msg."に半角カナを使用してはいけません", 1, $brw); return false; } if(strlen($dat) > $cnt) { DspMessage($msg."は長すぎます。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内)", 1, $brw); return false; } break; case CHKPWD: //パスワードチェック if(($dat[0] == "") || ($dat[1] == "")) { DspMessage($msg."は必須入力です。半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } if($dat[0] != $dat[1]) { DspMessage($msg."の入力に相違があります", 1, $brw); return false; } for($lop = 0; $lop < 2; $lop ++) { if($dat[$lop] != "") { $dmy = i18n_ja_jp_hantozen($dat[$lop], "KV"); if($dat[$lop] != $dmy) { DspMessage($msg."に半角カナを使用してはいけません", 1, $brw); return false; } if(i18n_discover_encoding($dat[$lop]) != "ASCII") { DspMessage($msg."は半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください", 1, $brw); return false; } if(strlen($dat[$lop]) > $cnt) { DspMessage($msg."は長すぎます。半角文字(5文字〜".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } if(strlen($dat[$lop]) < 5) { DspMessage($msg."は短すぎます。半角文字(5文字〜".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } } } break; case CHKPOS: //郵便番号 if($nul && (($dat[0] == "") || ($dat[1] == ""))) { DspMessage($msg."は必須入力です。半角数字(上位3桁、下位4桁)", 1, $brw); return false; } for($lop = 0; $lop < 2; $lop ++) { for($lp1 = 0; substr($dat[$lop], $lp1, 1) != ""; $lp1 ++) { $dmy = substr($dat[$lop], $lp1, 1); if(($dmy < "0") || ($dmy > "9")) { DspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } } if(($dat[0] != "") || ($dat[1] != "")) { if((strlen($dat[0]) + strlen($dat[1])) != 7) { DspMessage($msg."を正しく入力してください。半角数字(上位3桁、下位4桁)", 1, $brw); return false; } } break; case CHKTEL: //電話番号、FAX番号 if($nul && (($dat[0] == "") || ($dat[1] == "") || ($dat[2] == ""))) { DspMessage($msg."は必須入力です。半角数字(11桁以内)", 1, $brw); return false; } for($lop = 0; $lop < 3; $lop ++) { if($dat[$lop] != "") { for($lp1 = 0; substr($dat[$lop], $lp1, 1) != ""; $lp1 ++) { $dmy = substr($dat[$lop], $lp1, 1); if(($dmy < "0") || ($dmy > "9")) { DspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } } } if(($dat[0] != "") && ($dat[1] != "") && ($dat[2] != "")) { if((strlen($dat[0]) + strlen($dat[1]) + strlen($dat[0])) > 11) { DspMessage($msg."は長すぎます。半角数字(11桁以内)", 1, $brw); return false; } } else if(!(($dat[0] == "") && ($dat[1] == "") && ($dat[2] == ""))) { DspMessage($msg."を正しく入力してください。半角数字(11桁以内)", 1, $brw); return false; } break; case CHKBNK: //銀行口座番号 if($nul && (($dat[0] == "") || ($dat[1] == "") || ($dat[2] == ""))) { DspMessage($msg."は必須入力です。半角数字(銀行-支店-口座番号)", 1, $brw); return false; } for($lop = 0; $lop < 3; $lop ++) { if($dat[$lop] != "") { for($lp1 = 0; substr($dat[$lop], $lp1, 1) != ""; $lp1 ++) { $dmy = substr($dat[$lop], $lp1, 1); if(($dmy < "0") || ($dmy > "9")) { DspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } } } if(($dat[0] != "") && ($dat[1] != "") && ($dat[2] != "")) { if((strlen($dat[0]) > 4) || (strlen($dat[1]) > 3) || (strlen($dat[0]) > 7)) { DspMessage($msg."は長すぎます。半角数字(銀行-支店-口座番号)", 1, $brw); return false; } } else if(!(($dat[0] == "") && ($dat[1] == "") && ($dat[2] == ""))) { DspMessage($msg."を正しく入力してください。半角数字(銀行-支店-口座番号)", 1, $brw); return false; } break; case CHKMAL: //メールアドレスチェック if($nul && ($dat == "")) { DspMessage($msg."は必須入力です。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内)", 1, $brw); return false; } if($dat != "") { $dy1 = strpos($dat, "@"); $dy2 = strrpos($dat, "@"); if((!$dy1) || ($dy1 == 0) || ((strlen($dat) - 1) <= $dy1) || ($dy1 != $dy2)) { DspMessage($msg."は正しく入力して下さい。(***@***.***)", 1, $brw); return false; } $dmy = strpos($dat, ".", $dy1); if(!$dmy) { DspMessage($msg."は正しく入力して下さい。(***@***.***)", 1, $brw); return false; } $dmy = i18n_ja_jp_hantozen($dat, "KV"); if($dat != $dmy) { DspMessage($msg."に半角カナを使用してはいけません", 1, $brw); return false; } if(i18n_discover_encoding($dat) != "ASCII") { DspMessage($msg."は半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください", 1, $brw); return false; } if(strlen($dat) > $cnt) { DspMessage($msg."は長すぎます。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内)", 1, $brw); return false; } } break; } return true; } // コード内容の一括HTML出力(SELECT文) // 入力 name :SELECT名 // tbl :テーブル名 // fld :取得フィールド文字列 // whe :検索条件文字列 // cod :デフォルト選択コード(省略時はヌル文字列) // nuls :true:▼表示、false:▼表示なし // 出力 HTML<SELECT文> function DspSelectName2($name, $tbl, $fld, $whe = "", $cod = "", $nuls = true, $tab = -1) { global $PGERRMSG; echo "= 0) ? " TABINDEX=\"$tab\"" : "").">\n"; if($nuls) echo "▼\n"; $con = @pg_connect(CASADB); if($con) { $sql = "select $fld from $tbl".(($whe == "") ? "" : " where ".$whe).";"; $rsl = @pg_exec($con, $sql); if($rsl) { $max = @pg_numrows($rsl); for($cnt = 0; $cnt < $max; $cnt ++) { $arr = @pg_fetch_row($rsl, $cnt); echo "".$arr[1]."\n"; } } else { $PGERRMSG = @pg_errormessage($con); } @pg_close($con); } echo "\n"; return; } // 年月日の一括HTML出力(SELECT文) // 入力 name :SELECT名 // ystt :開始年 // yend :終了年 // dat :YYYY/MM/DD形式のデフォルト選択日付(省略時はヌル文字列) // tab :タブインデックス値(省略時は-1) // nuls :true:▼表示、false:▼表示なし // 出力 HTML<SELECT文> function DspSelectDate2($name, $ystt, $yend, $dat = "", $nuls = true, $tab = -1) { echo "= 0) ? " TABINDEX=\"$tab\"" : "").">\n"; if($nuls) echo "▼\n"; for($cnt = $ystt; $cnt <= $yend; $cnt ++) { $dmy = substr("0000".$cnt, -4); echo "$dmy\n"; } echo "年\n"; echo "= 0) ? " TABINDEX=\"".($tab + 1)."\"" : "").">\n"; if($nuls) echo "▼\n"; for($cnt = 1; $cnt <= 12; $cnt ++) { $dmy = substr("00".$cnt, -2); echo "$dmy\n"; } echo "月\n"; echo "= 0) ? " TABINDEX=\"".($tab + 2)."\"" : "").">\n"; if($nuls) echo "▼\n"; for($cnt = 1; $cnt <= 31; $cnt ++) { $dmy = substr("00".$cnt, -2); echo "$dmy\n"; } echo "日\n"; return; } // 配列のHTML出力(RADIO文) // 入力 ary :配列名 // name :RADIO名 // dat :デフォルト選択データ(省略時は-1) // tab :タブインデックス値(省略時は-1) // 出力 HTML<RADIO文> function DspRadioArray($ary, $name, $dat = -1, $tab = -1) { global $$ary; for($lop = 0; ${$ary}[$lop] != ""; $lop ++) { echo "= 0) ? " TABINDEX=\"$tab\"" : ""); echo ">".${$ary}[$lop]; } return; } // カテゴリーのHTML出力(SELECT文) // 入力 cod :デフォルト選択コード(省略時はヌル文字列) // nuls :true:▼表示、false:▼表示なし // 出力 HTML<OPTION文> function DspSelectCategory($cod = "", $nuls = true) { if($nuls) echo "▼\n"; $sql = "select * from codectl where ((tableid = '02') and (itemid = '00')) order by tableid,itemid,codeid asc;"; $cnt1 = GetRecordData($sql, $cat1); for($lop1 = 0; $lop1 < $cnt1; $lop1 ++) { $dmy = $cat1[$lop1][1].$cat1[$lop1][2]; echo "".$cat1[$lop1][2]." ".$cat1[$lop1][3]."\n"; $sql = "select * from codectl where ((tableid = '02') and (itemid = '".$cat1[$lop1][2]."')) order by tableid,itemid,codeid asc;"; $cnt2 = GetRecordData($sql, $cat2); for($lop2 = 0; $lop2 < $cnt2; $lop2 ++) { $dmy = $cat1[$lop1][2].$cat2[$lop2][2]; echo " ".$cat1[$lop2][2]." ".$cat2[$lop2][3]."\n"; } } return; } // カテゴリー1のHTML出力(SELECT文「JAVA必須」) // 入力 name :SELECT名 // cod :デフォルト選択カテゴリー1コード(省略時はヌル文字列) // tab :タブインデックス値(省略時は-1) // 出力 HTML<SELECT文> function DspSelectCategory1($name, $cod = "", $tab = -1) { echo "= 0) ? " TABINDEX=\"$tab\"" : "")." onChange=\"wcd1Change();\">\n"; $sql = "select * from codectl where ((tableid = '02') and (itemid = '00')) order by tableid,itemid,codeid asc;"; $cnt1 = GetRecordData($sql, $cat1); for($lop1 = 0; $lop1 < $cnt1; $lop1 ++) { $dmy = $cat1[$lop1][2]; if($cod == "") echo "$dmy ".$cat1[$lop1][3]."\n"; else echo "$dmy ".$cat1[$lop1][3]."\n"; } echo "\n"; return; } // カテゴリーのHTML出力(SELECT文「JAVA必須」) // 入力 name :SELECT名 // cod :デフォルト選択カテゴリー2コード(省略時はヌル文字列) // tab :タブインデックス値(省略時は-1) // 出力 HTML<SELECT文> function DspSelectCategory2($name, $cod = "", $tab = -1) { echo "= 0) ? " TABINDEX=\"$tab\"" : "")." onChange=\"wcd2Change();\">\n"; $sql = "select * from codectl where ((tableid = '02') and (itemid = '00')) order by tableid,itemid,codeid asc;"; $cnt1 = GetRecordData($sql, $cat1); for($lop1 = 0; $lop1 < $cnt1; $lop1 ++) { $dmy1 = $cat1[$lop1][2]; echo "$dmy1 ".$cat1[$lop1][3]."\n"; $sql = "select * from codectl where ((tableid = '02') and (itemid = '$dmy1')) order by tableid,itemid,codeid asc;"; $cnt2 = GetRecordData($sql, $cat2); for($lop2 = 0; $lop2 < $cnt2; $lop2 ++) { $dmy2 = $cat2[$lop2][2]; if($cod == "") echo " ".$dmy2." ".$cat2[$lop2][3]."\n"; else echo " ".$dmy2." ".$cat2[$lop2][3]."\n"; } } echo "\n"; return; } // 新規IDを取得 // 入力 tblid:テーブル種別 // 出力 新規ID function GetNewID($tblid) { switch($tblid) { case IDCUSTM: $dmy = GetFieldData("custmer", "cstmid", "(cstmid <> '') order by cstmid desc"); $newid = substr("00000000".(($dmy == "") ? "1" : $dmy + 1), -8); break; case IDPRDCT: $dmy = GetFieldData("product", "productid", "(productid <> '') order by productid desc"); $newid = substr("0000000000000000".(($dmy == "") ? "1" : $dmy + 1), -16); break; case IDMAKER: $dmy = GetFieldData("maker", "makerid", "(makerid <> '') order by makerid desc"); $newid = substr("00000000".(($dmy == "") ? "1" : $dmy + 1), -8); break; case IDESTMT: $dmy = GetFieldData("estimate", "estid", "(estid like '%".date("Ymd")."%') order by estid desc"); $newid = date("Ymd").substr("000000".((substr($dmy, 8, 6) == "") ? "1" : (substr($dmy, 8, 6) + 1)), -6); break; case IDORDER: $dmy = GetFieldData("acporder", "ordid", "(ordid like '%".date("Ymd")."%') order by ordid desc"); $newid = date("Ymd").substr("000000".((substr($dmy, 8, 6) == "") ? "1" : (substr($dmy, 8, 6) + 1)), -6); break; } return $newid; } // ランダムキャラクタを取得 // 入力 cnt :キャラクタ数 // 出力 ランダムキャラクタ function GetRandomCharacter($cnt) { $rndchar = ""; srand((double)microtime() * 1000000); for($lop = 0; $lop < $cnt; $lop ++) { $rndchar .= substr(RNDCHAR, rand(0, 61), 1); } return $rndchar; } // 日付を部分的に取得 // 入力 dbd :年月日文字列(YYYY/MM/DD) // yer :年格納域(YYYY) // mon :月格納域(MM) // day :日格納域(DD) // 出力 yer :年(YYYY) // mon :月(MM) // day :日(DD) function GetDateString($dbd, &$yer, &$mon, &$day) { $yer = substr($dbd, 0, 4); $mon = substr($dbd, 5, 2); $day = substr($dbd, 8, 2); return; } // システム日付を年月日文字列(YYYY/MM/DD)で取得 // 入力 なし // 出力 年月日文字列 function GetSysDateString() { return date("Y")."/".date("m")."/".date("d"); } // 時刻のチェック // 入力 stt :開始時間 // end :終了時間 // 出力 true:正常、false:異常 function ChkTime($stt, $end) { if(strlen($stt) != 5) return false; $dmy = (int)substr($stt, 0, 2); if(($dmy < 0) || ($dmy > 23)) return false; $dmy = (int)substr($stt, 3, 2); if(($dmy < 0) || ($dmy > 59)) return false; if(strlen($end) != 5) return false; $dmy = substr($end, 0, 2); if(($dmy < 0) || ($dmy > 23)) return false; $dmy = (int)substr($stt, 3, 2); if(($dmy < 0) || ($dmy > 59)) return false; if(strcmp($stt, $end) >= 0) return false; return true; } // 曜日文字列の取得 // 入力 yer :年 // mon :月 // day :日 // 出力 日、月、火、水、木、金、土 function GetWeek($yer, $mon, $day) { global $WEEKARY; return $WEEKARY[(int)date("w", mktime(0, 0, 0, (int)$mon, (int)$day, (int)$yer))]; } // 「戻る」ボタンのHTML出力 // 入力 msg :ボタン出力メッセージ(省略時は「戻る」) // 出力 HTML<INPUT文> function DspBackButton($msg = " 戻 る ") { // echo "\n"; return; } // 「戻る」ボタンのHTML出力(省略時は「戻る」) // 入力 bak :戻るページ数 // 出力 HTML<INPUT文> function DspGoButton($bak, $msg = " 戻 る ") { // $bak = (($bak >= 1) ? (-1 * $bak) : -1); // echo "\n"; return; } // メッセージのHTML出力 // 入力 msg :出力メッセージ // 出力 HTML<B文> function DspMessage($msg, $bak = 1, $brw = false) { global $HTTP_USER_AGENT; echo "$msg"; echo "「ブラウザの「戻る」ボタンで前ページにお戻りください。」\n"; if($brw) { if(!(strpos($HTTP_USER_AGENT, "MSIE") > 0)) { echo "「NNの方はブラウザの「戻る」ボタンで戻ることができません。\n"; echo " メニューの【商品登録】で再度登録しなおしてください。」\n"; } } return; } // 日付時刻のHTML出力(SELECT文) // 入力 yid :日付時刻種別 // dat :デフォルト選択データ(省略時はヌル文字列) // nuls :true:▼表示、false:▼表示なし // 出力 HTML<OPTION文> function DspSelectDate($yid, $dat = "", $nuls = true) { switch($yid) { case DATESYS: if($nuls) echo "▼\n"; $yend = date("Y"); $dat = substr("0000".$dat, -4); for($cnt = YEARSTT; $cnt <= $yend; $cnt ++) { $dmy = substr("0000".$cnt, -4); echo "$dmy\n"; } break; case DATESYS2: if($nuls) echo "▼\n"; $yend = date("Y"); $yend = $yend+1; $dat = substr("0000".$dat, -4); for($cnt = YEARSTT; $cnt <= $yend; $cnt ++) { $dmy = substr("0000".$cnt, -4); echo "$dmy\n"; } echo $yend."\n"; break; case DATEYER: if($nuls) echo "▼\n"; $yend = date("Y"); $dat = substr("0000".$dat, -4); for($cnt = YEARSTT; $cnt <= YEAREND; $cnt ++) { $dmy = substr("0000".$cnt, -4); echo "$dmy\n"; } break; case DATEMON: if($nuls) echo "▼\n"; $dat = substr("00".$dat, -2); for($cnt = 1; $cnt <= 12; $cnt ++) { $dmy = substr("00".$cnt, -2); echo "$dmy\n"; } break; case DATEDAY: if($nuls) echo "▼\n"; $dat = substr("00".$dat, -2); for($cnt = 1; $cnt <= 31; $cnt ++) { $dmy = substr("00".$cnt, -2); echo "$dmy\n"; } break; case DATEHOR: if($nuls) echo "▼\n"; if($dat != "") $dat = substr("00".$dat, -2); for($cnt = 0; $cnt <= 23; $cnt ++) { $dmy = substr("00".$cnt, -2); echo "$dmy\n"; } break; case DATEMIN: if($nuls) echo "▼\n"; if($dat != "") $dat = substr("00".$dat, -2); for($cnt = 0; $cnt <= 59; $cnt ++) { $dmy = substr("00".$cnt, -2); echo "$dmy\n"; } break; } return; } // 配列のHTML出力(SELECT文) // 入力 ary :配列名 // dat :デフォルト選択データ(省略時は-1) // nuls :true:▼表示、false:▼表示なし // 出力 HTML<OPTION文> function DspSelectArray($ary, $dat = -1, $nuls = true) { global $$ary; if($nuls) echo "▼\n"; for($lop = 0; ${$ary}[$lop] != ""; $lop ++) { echo "".${$ary}[$lop]."\n"; } return; } // コード内容のHTML出力(SELECT文) // 入力 tbl :テーブル名 // fld :取得フィールド文字列 // cod :デフォルト選択コード(省略時はヌル文字列) // whe :検索条件文字列 // nuls :true:▼表示、false:▼表示なし // 出力 HTML<OPTION文> function DspSelectName($tbl, $fld, $cod = "", $whe = "", $nuls = true) { global $PGERRMSG; if($nuls) echo "▼\n"; $con = @pg_connect(CASADB); if($con) { $sql = "select $fld from $tbl".(($whe == "") ? "" : " where ".$whe).";"; $rsl = @pg_exec($con, $sql); if($rsl) { $max = @pg_numrows($rsl); for($cnt = 0; $cnt < $max; $cnt ++) { $arr = @pg_fetch_row($rsl, $cnt); echo "".$arr[1]."\n"; } } else { $PGERRMSG = @pg_errormessage($con); } @pg_close($con); } return; } // コードのHTML出力(SELECT文) // 入力 tbl :テーブル名 // fld :取得フィールド名 // cod :デフォルト選択コード(省略時はヌル文字列) // nuls :true:▼表示、false:▼表示なし // 出力 HTML<OPTION文> function DspSelectCode($tbl, $fld, $cod = "", $nuls = true) { global $PGERRMSG; if($nuls) echo "▼\n"; $con = @pg_connect(CASADB); if($con) { $sql = "select distinct $fld from $tbl;"; $rsl = @pg_exec($con, $sql); if($rsl) { $max = @pg_numrows($rsl); for($cnt = 0; $cnt < $max; $cnt ++) { $arr = @pg_fetch_row($rsl, $cnt); echo "".$arr[0]."\n"; } } else { $PGERRMSG = @pg_errormessage($con); } @pg_close($con); } return; } // レコードのチェック // 入力 sql :SQL文字列 // 出力 true:レコードあり、false:レコードなし function ChkRecord($sql) { global $PGERRMSG; $ret = false; $con = @pg_connect(CASADB); if($con) { $rsl = @pg_exec($con, $sql); if($rsl) { if(@pg_numrows($rsl) > 0) { $ret = true; } } else { $PGERRMSG = @pg_errormessage($con); } @pg_close($con); } return $ret; } // レコードの操作 // 入力 sql :SQL文字列 // 出力 true:正常終了、false:異常終了 function OpeRecord($sql) { global $PGERRMSG; $ret = false; $con = @pg_connect(CASADB); if($con) { @pg_exec($con, "begin;"); if(@pg_exec($con, $sql)) { @pg_exec($con, "commit;"); $ret = true; } else { $PGERRMSG = @pg_errormessage($con); @pg_exec($con, "rollback;"); } @pg_close($con); } return $ret; } // フィールドデータの取得(1個のみ) // 入力 tbl :テーブル名 // fld :取得フィールド名 // whe :検索条件文字列 // 出力 取得したフィールドデータ function GetFieldData($tbl, $fld, $whe) { global $PGERRMSG; $ret = ""; $con = @pg_connect(CASADB); if($con) { $sql = "select $fld from $tbl where $whe;"; $rsl = @pg_exec($con, $sql); if($rsl) { if(@pg_numrows($rsl) > 0) { $arr = @pg_fetch_row($rsl, 0); $ret = $arr[0]; } } else { $PGERRMSG = @pg_errormessage($con); } @pg_close($con); } return $ret; } // レコードデータの取得(2次元配列) // 入力 sql:SQL文字列 // arr[rec][fld]:レコード格納領域[rec:レコード番号(0〜n)][fld:フィールド番(0〜n)] // 出力 取得したレコード数 function GetRecordData($sql, &$arr) { global $PGERRMSG; $cnt = 0; $con = @pg_connect(CASADB); if($con) { $rsl = @pg_exec($con, $sql); if($rsl) { $max = @pg_numrows($rsl); for($cnt = 0; $cnt < $max; $cnt ++) { $arr[$cnt] = @pg_fetch_row($rsl, $cnt); } } else { $PGERRMSG = @pg_errormessage($con); } @pg_close($con); } return $cnt; } // レコードデータの取得(フィールド名付き2次元配列) // 入力 sql:SQL文字列 // arr[rec][fld]:レコード格納領域[rec:レコード番号(0〜n)][fld:フィールド番(0〜n)] // 出力 取得したレコード数 function GetRecordArray($sql, &$arr) { global $PGERRMSG; $cnt = 0; $con = @pg_connect(CASADB); if($con) { $rsl = @pg_exec($con, $sql); if($rsl) { $max = @pg_numrows($rsl); for($cnt = 0; $cnt < $max; $cnt ++) { $arr[$cnt] = @pg_fetch_array($rsl, $cnt); } } else { $PGERRMSG = @pg_errormessage($con); } @pg_close($con); } return $cnt; } // 引数の左側に繋がる連続の0を削除 // 入力 sql:SQL文字列 // arr[rec][fld]:レコード格納領域[rec:レコード番号(0〜n)][fld:フィールド番(0〜n)] // 出力 取得したレコード数 function SpritCotinue0($arg) { for($lop = 0; substr($arg, $lop, 1) != ""; $lop ++) { $arg_dmy = substr($arg, $lop, 1); if ($arg_dmy > "0") { $arg_dmy = substr($arg, $lop); return $arg_dmy; break; } } } //20070228 midori com0010.php3の内容コピー↓ //削除処理 // 入力 sql_select :SQL文(SELECT) // sql_delete :SQL文(DELETE) // menuflg :メニュー種別 // dspest :表示文字列 function fDelProc($sql_select, $sql_delete, $menuflg, $dspstr) { //該当データの存在チェック if(!ChkRecord($sql_select)) { DspMessage(PGNOEXMSG); return; } //削除 if(!OpeRecord($sql_delete)) { DspMessage(PGDELERR); return; } echo "".$dspstr."\n"; return; if($menuflg == MAKERMENU) { echo "\n"; echo "\n"; echo "\n"; } else if($menuflg == SITEMENU) { echo "\n"; echo "\n"; echo "\n"; } else if($menuflg == CSTMMENU) { echo "\n"; echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; echo "\n"; } echo "\n"; return; } //追加処理 // 入力 sql_select :SQL文(SELECT) // sql_insert :SQL文(INSERT) // menuflg :メニュー種別 // dspest :表示文字列 function fInsProc($sql_select, $sql_insert, $menuflg, $dspstr) { //該当データの存在チェック if(ChkRecord($sql_select)) { DspMessage(PGADDERR); return false; } //追加 if(!OpeRecord($sql_insert)) { DspMessage(PGADDER1); return false; } echo "".$dspstr."\n"; return true; if($menuflg == MAKERMENU) { echo "\n"; echo "\n"; echo "\n"; } else if($menuflg == SITEMENU) { echo "\n"; echo "\n"; echo "\n"; } else if($menuflg == CSTMMENU) { echo "\n"; echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; echo "\n"; } echo "\n"; return; } //更新処理 // 入力 sql_select :SQL文(SELECT) // sql_update :SQL文(UPDATE) // menuflg :メニュー種別 // dspest :表示文字列 function fUpdProc($sql_select, $sql_update, $menuflg, $dspstr) { //該当データの存在チェック if(!ChkRecord($sql_select)) { DspMessage(PGNOEXMSG); return false; } //更新 if(!OpeRecord($sql_update)) { DspMessage(PGUPDERR); return false; } echo "".$dspstr."\n"; return true; if($menuflg == MAKERMENU) { echo "\n"; echo "\n"; echo "\n"; } else if($menuflg == SITEMENU) { echo "\n"; echo "\n"; echo "\n"; } else if($menuflg == CSTMMENU) { echo "\n"; echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; echo "\n"; } echo "\n"; return; } //更新後表示処理 // 入力 menuflg :メニュー種別 // dspest :表示文字列 function fDspProc($menuflg, $dspstr) { echo "".$dspstr."\n"; return; if($menuflg == MAKERMENU) { echo "\n"; echo "\n"; echo "\n"; } else if($menuflg == SITEMENU) { echo "\n"; echo "\n"; echo "\n"; } else if($menuflg == CSTMMENU) { echo "\n"; echo "\n"; echo "\n"; } else { echo "\n"; echo "\n"; } echo "\n"; return; } //入力データチェック処理 //入力 mode:チェックモード、indata:チェックデータ、item:項目名称 // 1:必須チェック // 2:半角英数チェック // 4:半角数値チェック // 上記のチェックは複数選択可能 → モードの数値を加算する //出力 第2パラメータ :変換後文字列 // 関数戻り値 :正常:Trure、異常:False function fCheckString($mode, &$indata, $item) { switch($mode) { case "1": //必須チェック if($indata == "") { fDspMessage($item.INPUTERR1MSG); return false; } break; case "2": //半角英数チェック if($indata == "") return true; if(i18n_discover_encoding($indata) != "ASCII") { fDspMessage($item.INPUTERR3MSG); return false; } else { //半角変換 $indata == i18n_ja_jp_hantozen($indata, "a"); } break; case "4": //数値チェック if($indata == "") { $indata = 0; return true; } // for ( ; ; ) { // $chkdata[$nCnt] = substr($indata, $nCnt, 1); // if($chkdata[$nCnt] == "") break; // } case "3": //必須・半角英数チェック if($indata == "") { fDspMessage($item.INPUTERR1MSG); return false; } if(i18n_discover_encoding($indata) != "ASCII") { fDspMessage($item.INPUTERR3MSG); return false; } else { //半角変換 $indata == i18n_ja_jp_hantozen($indata, "a"); } break; } return true; } //SQLUpdate文 文字列作成(文字型) function fStr1($str) { global $$str; return($str." = '".$$str."',"); } //SQLUpdate文 文字列作成(数値型) function fStr2($str) { global $$str; // return($str." = ".$$str.","); return($str." = ".($$str != "" ? $$str : "null").","); } //SQLSelect文 文字列作成(文字型) function fStr3($str, &$andflg) { global $$str; if($$str == "") return; if($andflg == "1") return(" and ".$str." = '".$$str."'"); else { $andflg = "1"; return(" where ".$str." = '".$$str."'"); } } //SQLSelect文 文字列作成(数値型) function fStr4($str, &$andflg) { global $$str; if($$str == "") return; if($andflg == "1") return (" and ".$str." = ".$$str); else { $andflg = "1"; return(" where ".$str." = ".$$str); } } // コンボボックス出力(コードテーブル専用) // 入力 tid:テーブルID // iid:項目ID // cod:デフォルト選択コード(省略時はヌル文字列) // 出力 HTML<OPTION文> function fCodeSet($tid, $iid, $cod = "") { if($cod == "") echo "▼\n"; $con = @pg_connect(CASADB); if($con) { $sql = "select codeid, codename from codectl where tableid = '".$tid."' and itemid = '".$iid."' order by codeid;"; $rsl = @pg_exec($con, $sql); if($rsl) { $max = @pg_numrows($rsl); for($cnt = 0; $cnt < $max; $cnt ++) { $arr = @pg_fetch_row($rsl, $cnt); echo "".$arr[1]."\n"; } } @pg_close($con); } return; } // コンボボックス出力(カテゴリー専用) // 入力 mode:カテゴリ番号(1:カテゴリ1、2:カテゴリ2) // iid:項目ID // 出力 HTML<OPTION文> function fCategorySet($mode, $iid) { echo "▼\n"; $con = @pg_connect(CASADB); if($con) { $sql = "select codeid, codename from codectl where tableid = '02' and itemid = '".$iid."' order by codeid;"; $rsl = @pg_exec($con, $sql); if($rsl) { $max = @pg_numrows($rsl); for($cnt = 0; $cnt < $max; $cnt ++) { $arr = @pg_fetch_row($rsl, $cnt); if($mode == 1) echo "".$arr[1]."\n"; else echo "".$arr[1]."\n"; } } @pg_close($con); } return; } // 電話番号分割 // 入力 telno:電話番号フル // tel:配列変数 function fTelDivide($telno, &$tel) { $tel = []; $cnt = 0; $dmy = $telno; $pos = strpos($dmy, "-"); for ($aa ; $pos!=false; $aa++) { $tel[$cnt] = substr($dmy, 0, ($pos)); $dmy = substr($dmy, $pos+1); $cnt = $cnt + 1; $pos = strpos($dmy, "-"); } $tel[$cnt] = $dmy; } // コード内容のHTML出力(SELECT文) // 出力 HTML<OPTION文> function fDspProducterSelect() { echo "▼\n"; $con = @pg_connect(CASADB); if($con) { $sql = "select producter from gun group by producter order by producter;"; $rsl = @pg_exec($con, $sql); if($rsl) { $max = @pg_numrows($rsl); for($cnt = 0; $cnt < $max; $cnt ++) { $arr = @pg_fetch_row($rsl, $cnt); echo "".$arr[0]."\n"; } } @pg_close($con); } return; } // 日付時刻のHTML出力(SELECT文) // 入力 yid :日付時刻種別 // dat :デフォルト選択データ(省略時はヌル文字列) // nuls :true:▼表示、false:▼表示なし // 出力 HTML<OPTION文> function fDspSelectDate($yid, $dat = "", $nuls = true) { switch($yid) { case DATEYER: if($nuls) echo "▼\n"; $sYear = date("Y"); $eYear = ($sYear+3); // if($dat == "") $dat = date("Y"); // motegi 2013.1.7 前年も選択肢に入れる $pYear = ($sYear-1); echo "$pYear\n"; $dat = substr("0000".$dat, -4); for($cnt = $sYear; $cnt <= $eYear; $cnt ++) { $dmy = substr("0000".$cnt, -4); echo "$dmy\n"; } break; case DATEMON: if($nuls) echo "▼\n"; // if($dat == "") $dat = date("m"); $dat = substr("00".$dat, -2); for($cnt = 1; $cnt <= 12; $cnt ++) { $dmy = substr("00".$cnt, -2); echo "$dmy\n"; } break; case DATEDAY: if($nuls) echo "▼\n"; // if($dat == "") $dat = date("d"); $dat = substr("00".$dat, -2); for($cnt = 1; $cnt <= 31; $cnt ++) { $dmy = substr("00".$cnt, -2); echo "$dmy\n"; } break; } return; } // 「戻る」ボタン付きメッセージのHTML出力 // 入力 msg :出力メッセージ // 出力 HTML<H3文> function fDspMessage($msg, $bak = 1) { global $HTTP_USER_AGENT; echo ""; echo "$msg"; echo "「ブラウザの「戻る」ボタンで前ページにお戻りください。」\n"; if($brw) { if(!(strpos($HTTP_USER_AGENT, "MSIE") > 0)) { echo "「NNの方はブラウザの「戻る」ボタンで戻ることができません。\n"; echo " メニューの【商品登録】で再度登録しなおしてください。」\n"; } } echo ""; return; } // 入力データのチェック // 入力 chkid:入力チェック種別 // dat :入力データ文字列または入力データ配列 // msg :メッセージ // cnt :文字数 // nul :true:入力データ必須チェックあり、false:入力データ必須チェックなし // 出力 treu :正常 // false:異常 function fInputChecker($chkid, $dat, $msg, $cnt = 0, $nul = true) { switch($chkid) { case CHKZEN: //全角文字 if($nul && ($dat == "")) { fDspMessage($msg."は必須入力です。全角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } if($dat != "") { $dmy = i18n_ja_jp_hantozen($dat, "KV"); if($dat != $dmy) { fDspMessage($msg."に半角カナを使用してはいけません", 1, $brw); return false; } $dmy = i18n_ja_jp_hantozen($dat, "RNAKV"); if($dat != $dmy) { fDspMessage($msg."は全角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください", 1, $brw); return false; } if(mbstrlen($dat) > $cnt) { fDspMessage($msg."は長すぎます。全角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } } break; case CHKHAN: //半角文字 if($nul && ($dat == "")) { fDspMessage($msg."は必須入力です。半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } if($dat != "") { $dmy = i18n_ja_jp_hantozen($dat, "KV"); if($dat != $dmy) { fDspMessage($msg."に半角カナを使用してはいけません", 1, $brw); return false; } if(i18n_discover_encoding($dat) != "ASCII") { fDspMessage($msg."は半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください", 1, $brw); return false; } if(strlen($dat) > $cnt) { fDspMessage($msg."は長すぎます。半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } } break; case CHKNUM: //半角数字 if($nul && ($dat == "")) { fDspMessage($msg."は必須入力です。半角数字", 1, $brw); return false; } if($dat != "") { for($lop = 0; substr($dat, $lop, 1) != ""; $lop ++) { $dmy = substr($dat, $lop, 1); if(($dmy < "0") || ($dmy > "9")) { fDspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } if($cnt == 2) { if($dat > 32767) { fDspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } else if($cnt == 4) { if($dat > 2147483647) { fDspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } } break; case CHKNUM2: //半角数字(-+を含む) if($nul && ($dat == "")) { DspMessage($msg."は必須入力です。半角数字", 1, $brw); return false; } if($dat != "") { for($lop = 0; substr($dat, $lop, 1) != ""; $lop ++) { $dmy = substr($dat, $lop, 1); if($lop == 0) { if((($dmy < "0") || ($dmy > "9")) && $dmy != "+" && $dmy != "-") { DspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } else { if(($dmy < "0") || ($dmy > "9")) { DspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } } } break; case CHKZER: //半角数字(1以上の数字) if($nul && ($dat == "")) { fDspMessage($msg."は必須入力です。半角数字", 1, $brw); return false; } if($dat != "") { for($lop = 0; substr($dat, $lop, 1) != ""; $lop ++) { $dmy = substr($dat, $lop, 1); if(($dmy < "0") || ($dmy > "9")) { fDspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } if($cnt == 2) { if($dat > 32767) { fDspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } else if($cnt == 4) { if($dat > 2147483647) { fDspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } } if($dat <= 0) { fDspMessage($msg."は半角数字で1以上を入力してください", 1, $brw); return false; } break; case CHKDEC: //半角小数数字 if($nul && ($dat == "")) { fDspMessage($msg."は必須入力です。半角数字(小数点付与可)", 1, $brw); return false; } if($dat != "") { for($lop = 0; substr($dat, $lop, 1) != ""; $lop ++) { $dmy = substr($dat, $lop, 1); if(($dmy < "0") || ($dmy > "9")) { if($dmy != ".") { fDspMessage($msg."は半角数字(小数点付与可)で入力してください", 1, $brw); return false; } } } if(strpos($dmy, ".") != strrpos($dmy, ".")) { fDspMessage($msg."は有効な数値ではありません", 1, $brw); return false; } if($cnt == 4) { if($dat > 32767) { fDspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } else if($cnt == 8) { if($dat > 2147483647) { fDspMessage($msg."は許容範囲を超えています", 1, $brw); return false; } } } break; case CHKDAT: //年月日選択 if($nul && (($dat[0] == "") || ($dat[1] == "") || ($dat[2] == ""))) { fDspMessage($msg."は必須選択です", 1, $brw); return false; } if(($dat[0] != "") && ($dat[1] != "") && ($dat[2] != "")) { if(!checkdate($dat[1], $dat[2], $dat[0])) { fDspMessage($msg."は有効な日付を選択してください", 1, $brw); return false; } } else if(($dat[0] != "") || ($dat[1] != "") || ($dat[2] != "")) { fDspMessage($msg."は有効な日付を選択してください", 1, $brw); return false; } break; case CHKTEM: //年月日期間選択 if($nul && (($dat[0] == "") || ($dat[1] == ""))) { fDspMessage($msg."は必須選択です", 1, $brw); return false; } if(($dat[0] != "") && ($dat[1] != "")) { if((strlen($dat[0]) != 10) || (strlen($dat[1]) != 10)) { fDspMessage($msg."は有効な期間を選択してください", 1, $brw); return false; } if($dat[0] > $dat[1]) { fDspMessage($msg."は開始と終了に有効な期間を選択してください", 1, $brw); return false; } } break; case CHKCAT: //カテゴリー選択 if(substr($dat, 0, 2) == "00") { fDspMessage($msg."は小項目を選択してください", 1, $brw); return false; } break; case CHKCNT: //文字数チェック if($nul && ($dat == "")) { // 仕様変更開始 2001/05/22 by ぴょん吉 // fDspMessage($msg."は必須入力です。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内)", 1, $brw); fDspMessage($msg."は必須入力です。(全角".i18n_ja_jp_hantozen((int)($cnt / 2), "RNAKV")."文字(半角".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字)以内)", 1, $brw); // 仕様変更終了 2001/05/22 by ぴょん吉 return false; } $dmy = i18n_ja_jp_hantozen($dat, "KV"); if($dat != $dmy) { fDspMessage($msg."に半角カナを使用してはいけません", 1, $brw); return false; } if(strlen($dat) > $cnt) { // 仕様変更開始 2001/05/22 by ぴょん吉 // fDspMessage($msg."は長すぎます。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内)", 1, $brw); fDspMessage($msg."は長すぎます。(全角".i18n_ja_jp_hantozen((int)($cnt / 2), "RNAKV")."文字(半角".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字)以内)", 1, $brw); // 仕様変更終了 2001/05/22 by ぴょん吉 return false; } break; case CHKPWD: //パスワードチェック if(($dat[0] == "") || ($dat[1] == "")) { fDspMessage($msg."は必須入力です。半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } if($dat[0] != $dat[1]) { fDspMessage($msg."の入力に相違があります", 1, $brw); return false; } for($lop = 0; $lop < 2; $lop ++) { if($dat[$lop] != "") { $dmy = i18n_ja_jp_hantozen($dat[$lop], "KV"); if($dat[$lop] != $dmy) { fDspMessage($msg."に半角カナを使用してはいけません", 1, $brw); return false; } if(i18n_discover_encoding($dat[$lop]) != "ASCII") { fDspMessage($msg."は半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください", 1, $brw); return false; } if(strlen($dat[$lop]) > $cnt) { fDspMessage($msg."は長すぎます。半角文字(5文字〜".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } if(strlen($dat[$lop]) < 5) { fDspMessage($msg."は短すぎます。半角文字(5文字〜".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)", 1, $brw); return false; } } } break; case CHKPOS: //郵便番号 // if(!$nul) { // return true; // } if(!$nul && $dat[0] == "" && $dat[1] == "") { return true; } if(($dat[0] == "") || ($dat[1] == "")) { fDspMessage($msg."は必須入力です。半角数字(上位3桁、下位4桁)", 1, $brw); return false; } for($lop = 0; $lop < 2; $lop ++) { for($lp1 = 0; substr($dat[$lop], $lp1, 1) != ""; $lp1 ++) { $dmy = substr($dat[$lop], $lp1, 1); if(($dmy < "0") || ($dmy > "9")) { fDspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } } if((strlen($dat[0]) != 3) || (strlen($dat[1]) != 4)) { fDspMessage($msg."を正しく入力してください。半角数字(上位3桁、下位4桁)", 1, $brw); return false; } break; case CHKTEL: //電話番号、FAX番号 if($nul && (($dat[0] == "") || ($dat[1] == "") || ($dat[2] == ""))) { fDspMessage($msg."は必須入力です。半角数字(11桁以内)", 1, $brw); return false; } for($lop = 0; $lop < 3; $lop ++) { if($dat[$lop] != "") { for($lp1 = 0; substr($dat[$lop], $lp1, 1) != ""; $lp1 ++) { $dmy = substr($dat[$lop], $lp1, 1); if(($dmy < "0") || ($dmy > "9")) { fDspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } } } if(($dat[0] != "") && ($dat[1] != "") && ($dat[2] != "")) { if((strlen($dat[0]) + strlen($dat[1]) + strlen($dat[0])) > 11) { fDspMessage($msg."は長すぎます。半角数字(11桁以内)", 1, $brw); return false; } } else if(!(($dat[0] == "") && ($dat[1] == "") && ($dat[2] == ""))) { fDspMessage($msg."を正しく入力してください。半角数字(11桁以内)", 1, $brw); return false; } break; case CHKBNK: //銀行口座番号 if($nul && (($dat[0] == "") || ($dat[1] == "") || ($dat[2] == ""))) { fDspMessage($msg."は必須入力です。半角数字(銀行-支店-口座番号)", 1, $brw); return false; } for($lop = 0; $lop < 3; $lop ++) { if($dat[$lop] != "") { for($lp1 = 0; substr($dat[$lop], $lp1, 1) != ""; $lp1 ++) { $dmy = substr($dat[$lop], $lp1, 1); if(($dmy < "0") || ($dmy > "9")) { fDspMessage($msg."は半角数字で入力してください", 1, $brw); return false; } } } } if(($dat[0] != "") && ($dat[1] != "") && ($dat[2] != "")) { if((strlen($dat[0]) > 4) || (strlen($dat[1]) > 3) || (strlen($dat[0]) > 7)) { fDspMessage($msg."は長すぎます。半角数字(銀行-支店-口座番号)", 1, $brw); return false; } } else if(!(($dat[0] == "") && ($dat[1] == "") && ($dat[2] == ""))) { fDspMessage($msg."を正しく入力してください。半角数字(銀行-支店-口座番号)", 1, $brw); return false; } break; case CHKMAL: //メールアドレスチェック if($nul && ($dat == "")) { fDspMessage($msg."は必須入力です。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内)", 1, $brw); return false; } if($dat != "") { $dy1 = strpos($dat, "@"); $dy2 = strrpos($dat, "@"); if((!$dy1) || ($dy1 == 0) || ((strlen($dat) - 1) <= $dy1) || ($dy1 != $dy2)) { fDspMessage($msg."は正しく入力して下さい。(***@***.***)", 1, $brw); return false; } $dmy = strpos($dat, ".", $dy1); if(!$dmy) { fDspMessage($msg."は正しく入力して下さい。(***@***.***)", 1, $brw); return false; } $dmy = i18n_ja_jp_hantozen($dat, "KV"); if($dat != $dmy) { fDspMessage($msg."に半角カナを使用してはいけません", 1, $brw); return false; } if(i18n_discover_encoding($dat) != "ASCII") { fDspMessage($msg."は半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください", 1, $brw); return false; } if(strlen($dat) > $cnt) { fDspMessage($msg."は長すぎます。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内)", 1, $brw); return false; } } break; } return true; } // メール・FAX通知関数 // 入力 type_id :処理種別 // cstmid :会員ID // id :対象ID(estid,ordid) function fMailFax($type_id, $cstmid, $id) { global $MAILSUBARY, $MAILSENARY, $SITEADDR, $DELIVERYARY, $COMPLETEARY; switch($type_id) { case MAILEST: //見積依頼登録 //●会員向けメール&FAX $dmyselect = "a.contactcd,a.mail1,a.faxno1,a.compname,b.estreqdate,b.estcost,b.tax,b.estsubtotal,"; $dmyselect .= "a.compkana, a.repname,a.repkana,a.posname,a.poskana,a.chrgname1,a.chrgkana1,a.chrgname2,a.chrgkana2,"; $dmyselect .= "a.postno,a.fkencd,a.address,a.workercnt,a.yearover,a.capacity,a.foundym,a.telno1,a.cstmcd,a.mail2,a.telno2,a.faxno1 "; $sql = "select $dmyselect from custmer a, estimate b where (a.cstmid = b.cstmid) and (b.estid = '$id') and (b.estsituation <> '3');"; $cstcnt = GetRecordData($sql, $cstinfo); $dmy = "========================================== casa navi事務局より\n"; $dmy .= "見積依頼を承りました (".$cstinfo[0][4].")\n"; $dmy .= "==============================================================\n"; $dmy .= "\n"; $dmy .= $cstinfo[0][3]."さま\n"; $dmy .= "いつも casa navi をご利用頂きありがとうございます。\n"; $dmy .= "見積番号".$id."の見積依頼を承りました。\n"; $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "会員名(番号) ".$cstinfo[0][3]."($cstmid)\n"; $dmy .= "見積依頼日 ".$cstinfo[0][4]."\n"; $dmy .= "見積番号 ".$id."\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "■見積依頼内容\n"; $dmy .= "--------------------------------------------------------------\n"; $sql = "select * from estimatedt a,product b where a.productid = b.productid and a.estid = '$id';"; $cstcnt = GetRecordArray($sql, $estinfo); for($lop = 0; $lop < $cstcnt; $lop ++) { $dmy .= "[メーカー名 ] ".$estinfo[$lop][producter]."\n"; $dmy .= "[商品名(品番)] ".GetFieldData("product", "productname", "(productid = '".$estinfo[$lop][productid]."')")."(".$estinfo[$lop][catalogid].")\n"; $dmy .= "[見積単価 ] ".CnvMoney($estinfo[$lop][estcost])."円\n"; $dmy .= "[希望数量 ] ".CnvMoney($estinfo[$lop][ordercnt])." \n"; $dmy .= "[見積金額小計] ".CnvMoney($estinfo[$lop][estsubtotal])."円 \n"; $dmy .= "[配送先 ] ".(($estinfo[$lop][dvcd] == "0") ? "会員住所" : "別配送")."\n"; $dmy .= "[配送先住所 ] 〒".$estinfo[$lop][dvpostno].GetFieldData("codectl", "codename", "(tableid = '00' and itemid = '00' and codeid = '".$estinfo[$lop][dvfkencd]."')").$estinfo[$lop][dvaddress]."\n"; $dmy .= "[電話番号 ] ".$estinfo[$lop][dvtelno]."\n"; $dmy .= "[FAX番号 ] ".$estinfo[$lop][dvfaxno]."\n"; $dmy .= "[配送希望日 ] ".$estinfo[$lop][dvpreferdate]." \n"; $dmy .= "[会員様からのコメント ] ".$estinfo[$lop][21]." \n"; $dmy .= "--------------------------------------------------------------\n"; } $dmy .= "\n"; $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "[見積金額 ] ".CnvMoney($cstinfo[0][5])." 円\n"; $dmy .= "[配送料 ] 見積返答時にご連絡します。\n"; $dmy .= "[消費税額 ] ".CnvMoney($cstinfo[0][6])."円\n"; $dmy .= "[見積金額合計] ".CnvMoney($cstinfo[0][7])."円\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "見積返答がありましたら、お知らせ致します。\n"; $dmy .= "\n"; $dmy .= "※カーサナビの左メニューの「ご利用案内」、「Q&A」もご参照下さい。\n"; $dmy .= "\n"; $dmy .= $SITEADDR."\n"; $frm = "From:".mb_encode_mimeheader(mb_convert_encoding("カーサナビ事務局","JIS"))."<".SITEMAIL.">\n"; $frm.= "Errors-To: ".SITEMAL3."\nReturn-Path: ".SITEMAL3."\n"; mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) $mailtittle = "見積依頼を承りました"; if($cstinfo[0][0] == "01"){ //会員向けメール $dmy = mb_convert_encoding($dmy,"JIS"); //事務局向けメール送信 // mb_send_mail(SITEMAL2, $mailtittle, $dmy, $frm); if (trim($cstinfo[0][26]) != "") { // mb_send_mail($cstinfo[0][1], $mailtittle, $dmy, $frm."CC:".$cstinfo[0][26]); mb_send_mail($cstinfo[0][1], $mailtittle, $dmy, $frm."CC:".$cstinfo[0][26]."\nBcc:".SITEMAL2."\n","-f".SITEMAIL); } else { // mb_send_mail($cstinfo[0][1], $mailtittle, $dmy, $frm); mb_send_mail($cstinfo[0][1], $mailtittle, $dmy, $frm."Bcc:".SITEMAL2."\n","-f".SITEMAIL); } } else { //会員向けFAX fSendFax($cstinfo[0][2], $dmy); //事務局向けメール送信 $dmy = mb_convert_encoding($dmy,"JIS"); mb_send_mail(SITEMAL2, $mailtittle, $dmy, $frm); } //●出店者向けメール&FAX $sql = "select makerid from estimatedt where (estid = '$id') group by makerid;"; $makcnt = GetRecordData($sql, $makinfo); for($lop = 0; $lop<$makcnt; $lop++) { $sql = "select contactcd,mail1,faxno1,compname,mail2 from maker where makerid = '".$makinfo[$lop][0]."' ;"; $estcnt = GetRecordData($sql, $estinfo); $dmy = "========================================== casa navi事務局より\n"; $dmy .= "見積依頼のお知らせ (".$cstinfo[0][4].")\n"; $dmy .= "==============================================================\n"; $dmy .= "\n"; $dmy .= $estinfo[0][3]."さま\n"; $dmy .= "いつも casa navi をご利用頂きありがとうございます。\n"; $dmy .= "下記内容の見積依頼がありましたのでご確認ください。\n"; $dmy .= "必ず、下記URLの出品者画面よりご確認ください。\n"; $dmy .= "未返答見積一覧より[ 見積返答 ] ができます。\n"; $dmy .= "\n"; $dmy .= "casa navi [ 出店者 ]\n"; $dmy .= "http://www.casanavi.co.jp/admin/\n"; $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "依頼者名(番号) ".$cstinfo[0][3]."(".$cstmid.")\n"; $dmy .= "見積依頼日 ".$cstinfo[0][4]."\n"; $dmy .= "見積番号 ".$id."\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "■見積依頼内容\n"; $dmy .= "--------------------------------------------------------------\n"; $sql = "select * from estimatedt a, product b where a.productid = b.productid and a.estid = '$id' and a.makerid = '".$makinfo[$lop][0]."';"; $dmyest = GetRecordArray($sql, $einfo); $dmyestcost = 0; $dmytax = 0; for($lop2 = 0; $lop2<$dmyest; $lop2++) { $dmy .= "[メーカー名 ] ".$einfo[$lop2][producter]."\n"; $dmy .= "[商品名(品番)] ".$einfo[$lop2][productname]."(".$einfo[$lop2][catalogid].")\n"; $dmy .= "[見積単価 ] ".CnvMoney($einfo[$lop2][estcost])."円\n"; $dmy .= "[希望数量 ] ".CnvMoney($einfo[$lop2][ordercnt])." \n"; $dmy .= "[見積金額小計] ".CnvMoney($einfo[$lop2][estsubtotal])."円 \n"; $dmy .= "[配送先 ] ".(($einfo[$lop2][dvcd] == "0") ? "会員住所" : "別配送")."\n"; $dmy .= "[配送先住所 ] 〒".$einfo[$lop2][dvpostno].GetFieldData("codectl", "codename", "(tableid = '00' and itemid = '00' and codeid = '".$einfo[$lop2][dvfkencd]."')").$einfo[$lop2][dvaddress]."\n"; $dmy .= "[電話番号 ] ".$einfo[$lop2][dvtelno]."\n"; $dmy .= "[FAX番号 ] ".$einfo[$lop2][dvfaxno]."\n"; $dmy .= "[配送希望日 ] ".$einfo[$lop2][dvpreferdate]." \n"; $dmy .= "[会員様からのコメント ] ".$einfo[$lop2][21]." \n"; $dmy .= "--------------------------------------------------------------\n"; $dmyestcost += ($einfo[$lop2][estcost] * $einfo[$lop2][ordercnt]); $dmytax += GetTax($einfo[$lop2][estcost] * $einfo[$lop2][ordercnt]); } $dmy .= "\n"; $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "[見積金額 ] ".CnvMoney($dmyestcost)."円\n"; $dmy .= "[配送料 ] -\n"; $dmy .= "[消費税額 ] ".CnvMoney($dmytax)."円\n"; $dmy .= "[見積金額合計 ] ".CnvMoney($dmyestcost + $dmytax)."円\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "■依頼者の情報\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "[会員番号 ] ".$cstmid."\n"; $dmy .= "[業種 ] ".GetFieldData("codectl", "codename", "(tableid = '01' and itemid = '01' and codeid = '".$cstinfo[0][25]."')")."\n"; $dmy .= "[会社名 ] ".$cstinfo[0][3]."\n"; $dmy .= "[会社名カナ ] ".$cstinfo[0][8]."\n"; $dmy .= "[代表者名 ] ".$cstinfo[0][9]."\n"; $dmy .= "[代表者名カナ ] ".$cstinfo[0][10]."\n"; $dmy .= "[部署名 ] ".$cstinfo[0][11]."\n"; $dmy .= "[部署名カナ ] ".$cstinfo[0][12]."\n"; $dmy .= "[担当者名1 ] ".$cstinfo[0][13]."\n"; $dmy .= "[担当者名カナ1] ".$cstinfo[0][14]."\n"; $dmy .= "[担当者名2 ] ".$cstinfo[0][15]."\n"; $dmy .= "[担当者名カナ2] ".$cstinfo[0][16]." \n"; $dmy .= "[会社所在地 ] 〒".$cstinfo[0][17].GetFieldData("codectl", "codename", "(tableid = '00' and itemid = '00' and codeid = '".$cstinfo[0][18]."')").$cstinfo[0][19]."\n"; $dmy .= "[電話番号1 ] ".$cstinfo[0][24]."\n"; $dmy .= "[電話番号2 ] ".$cstinfo[0][27]."\n"; $dmy .= "[FAX番号1 ] ".$cstinfo[0][2]."\n"; $dmy .= "[FAX番号2 ] ".$cstinfo[0][28]."\n"; $dmy .= "[メール1 ] ".$cstinfo[0][1]."\n"; $dmy .= "[メール2 ] ".$cstinfo[0][26]."\n"; $dmy .= "[連絡方法 ] ".GetFieldData("codectl", "codename", "(tableid = '01' and itemid = '02' and codeid = '".$cstinfo[0][0]."')")."\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "\n"; $dmy .= $SITEADDR."\n"; $frm = "From:".mb_encode_mimeheader(mb_convert_encoding("カーサナビ事務局","JIS"))."<".SITEMAIL.">\n"; $frm.= "Errors-To: ".SITEMAL3."\nReturn-Path: ".SITEMAL3."\n"; $mailtittle = "見積依頼のお知らせ"; mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) if($estinfo[0][0] == "01"){ //出店者向けメール $dmy = mb_convert_encoding($dmy,"JIS"); // mb_send_mail(SITEMAL2, $mailtittle, $dmy, $frm); if (trim($estinfo[0][4]) != "") { // mb_send_mail($estinfo[0][1], $mailtittle, $dmy, $frm."CC:".$estinfo[0][4]); mb_send_mail($estinfo[0][1], $mailtittle, $dmy, $frm."CC:".$estinfo[0][4]."\nBcc:".SITEMAL2."\n","-f".SITEMAIL); } else { // mb_send_mail($estinfo[0][1], $mailtittle, $dmy, $frm."CC:".$estinfo[0][4]); mb_send_mail($estinfo[0][1], $mailtittle, $dmy, $frm."Bcc:".SITEMAL2."\n","-f".SITEMAIL); } } else { //出店者向けFAX fSendFax($estinfo[0][2], $dmy); $dmy = mb_convert_encoding($dmy,"JIS"); mb_send_mail(SITEMAL2, $mailtittle, $dmy, $frm); } } break; case MAILORD: //注文依頼登録 //●会員向けメール&FAX $dmyselect = "a.contactcd,a.mail1,a.faxno1,a.compname,b.ordreqdate, a.cstmacnt, b.settlecompflg,"; $dmyselect .= "b.estid,a.compkana, a.repname,a.repkana,a.posname,a.poskana,a.chrgname1,a.chrgkana1,a.chrgname2,a.chrgkana2,"; $dmyselect .= "a.postno,a.fkencd,a.address,a.workercnt,a.yearover,a.capacity,a.foundym,a.telno1,a.cstmcd,"; $dmyselect .= "b.ordcost,b.dvcost,b.tax,b.ordsubtotal,b.stlway,a.mail2,a.telno2,a.faxno2 "; $sql = "select $dmyselect from custmer a, acporder b where (a.cstmid = b.cstmid) and (b.ordid = '$id');"; $cstcnt = GetRecordData($sql, $cstinfo); $dmy = "========================================== casa navi事務局より\n"; $dmy .= "注文依頼を承りました (".date("Y/m/d").")\n"; $dmy .= "==============================================================\n"; $dmy .= "\n"; $dmy .= $cstinfo[0][3]."さま\n"; $dmy .= "いつも casa navi をご利用頂きありがとうございます。\n"; $dmy .= "見積番号".$cstinfo[0][7]."の注文依頼を承りました。\n"; if($cstinfo[0][6] == "0") { if($cstinfo[0][30] == "01") { $dmy .= "■■ご注意■■■■■■■■■■■■■■■■■■■■\n"; $dmy .= "ご入金確認後の配送となります。\n"; $dmy .= "指定の銀行口座へお振込をよろしくお願いします。\n"; $dmy .= "■■■■■■■■■■■■■■■■■■■■■■■■■\n"; } else if(($cstinfo[0][30] == "02") || ($cstinfo[0][30] == "05") || ($cstinfo[0][30] == "06")) { $dmy .= "■■ご注意■■■■■■■■■■■■■■■■■■■■\n"; $dmy .= "カーサナビ事務局にて決済の確認後の配送となります。\n"; $dmy .= "■■■■■■■■■■■■■■■■■■■■■■■■■\n"; } } $dmy .= "--------------------------------------------------------------\n"; $dmy .= "会員名(番号) ".$cstinfo[0][3]."(".$cstmid.")\n"; $dmy .= "注文依頼日 ".$cstinfo[0][4]."\n"; $dmy .= "注文番号 ".$id."\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "■注文依頼内容\n"; $dmy .= "--------------------------------------------------------------\n"; $sql = "select * from acporderdt a, product b where a.productid = b.productid and a.ordid = '$id';"; $ordcnt = GetRecordArray($sql, $oinfo); for($lop = 0; $lop<$ordcnt; $lop++) { if($oinfo[$lop][ordercnt]) { $tax = GetTax($oinfo[$lop][6]*$oinfo[$lop][10]+$oinfo[$lop][7]); $cost = $oinfo[$lop][6]*$oinfo[$lop][10]; $total = $tax + $cost + $oinfo[$lop][7]; $dmy .= "[メーカー名 ] ".$oinfo[$lop][producter]."\n"; $dmy .= "[商品名(品番) ] ".$oinfo[$lop][productname]."(".$oinfo[$lop][catalogid].")\n"; $dmy .= "[注文単価 ] ".CnvMoney($oinfo[$lop][ordcost])."円\n"; $dmy .= "[注文量 ] ".CnvMoney($oinfo[$lop][ordercnt])."\n"; $dmy .= "[注文金額 ] ".CnvMoney($cost)."円\n"; $dmy .= "[配送料 ] ".CnvMoney($oinfo[$lop][dvcost])."円\n"; $dmy .= "[配送先 ] ".(($oinfo[$lop][dvcd] == "0") ? "会員住所" : "別配送")." \n"; $dmy .= "[配送先住所 ] 〒".$oinfo[$lop][dvpostno].GetFieldData("codectl", "codename", "(tableid = '00' and itemid = '00' and codeid = '".$oinfo[$lop][dvfkencd]."')").$oinfo[$lop][dvaddress]."\n"; $dmy .= "[配送希望日 ] ".$oinfo[$lop][dvpreferdate]."\n"; $dmy .= "[受取人氏名 ] ".$oinfo[$lop][dvname]."\n"; $dmy .= "[受取人携帯番号] ".$oinfo[$lop][dvhandyno]." \n"; $dmy .= "[電話番号 ] ".$oinfo[$lop][dvtelno]."\n"; $dmy .= "[FAX番号 ] ".$oinfo[$lop][dvfaxno]."\n"; $sql_h = "SELECT remark FROM estimatedt WHERE ((estid = '".$cstinfo[0][7]."') AND (productid = '".$oinfo[$lop][productid]."'));"; $cnt_h = GetRecordArray($sql_h, $data_h); $dmy .= "[見積時の会員様からのコメント ] ".$data_h[0][remark]." \n"; $sql_h = "SELECT remark1 FROM estimatedt_r WHERE ((estid = '".$cstinfo[0][7]."') AND (productid = '".$oinfo[$lop][productid]."'));"; $cnt_h = GetRecordArray($sql_h, $data_h); $dmy .= "[見積時の出店者からのコメント ] ".$data_h[0][remark1]." \n"; $dmy .= "[注文時の会員様からのコメント ] ".$oinfo[$lop][26]." \n"; $dmy .= "--------------------------------------------------------------\n"; } } $dmy .= "\n"; $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "[注文金額 ] ".CnvMoney($cstinfo[0][26])."円\n"; $dmy .= "[配送料 ] ".CnvMoney($cstinfo[0][27])."円\n"; $dmy .= "[消費税額 ] ".CnvMoney($cstinfo[0][28])."円\n"; $dmy .= "[支払い金額合計] ".CnvMoney($cstinfo[0][29])."円 \n"; $dmy .= "[注文依頼日 ] ".$cstinfo[0][4]."\n"; $dmy .= "[決済方法 ] ".GetFieldData("codectl", "codename", "(tableid = '01' and itemid = '03' and codeid = '".$cstinfo[0][30]."')")."\n"; //$dmy .= "[決済方法 ] ".(($cstinfo[0][30] == "01") ? "銀行振込" : "カード決済" )."\n"; // 2001.11.12 $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "\n"; // 通常の注文の場合(FC会員が日崎商品購入、またはカーサナビカード利用以外) if (($cstinfo[0][30] != "02") && ($cstinfo[0][30] != "05") && ($cstinfo[0][30] != "06")){ $dmy .= $cstinfo[0][3]."さまの casa navi への商品代金振込口座は\n"; $dmy .= "下記の通りとなります。\n"; $dmy.= "誠に申し訳ありませんが、振込手数料は、会員様のご負担となっております。\n"; $dmy.= "ご了承下さい。\n"; $dmy.= " ┏━━━━━━━━━━━━━━━━━┓\n"; // 2010.01.12 motegi 10000人会員対応 // $dmy.= " 三井住友銀行(0009) 中央支店(763)\n"; $dmy.= " 三井住友銀行(0009) "; $dmy.= ( (intval($cstmid) >= 10000) ? "ドットコム支店(953)" : "中央支店(763)" )."\n"; //2007.03.20 midori // if ($cstinfo[0][5] > 3055999) { // $dmy.= " (普) 3050001 カ) カーサナビ\n"; // } else { // $dmy.= " (普) ".$cstinfo[0][5]." カ) カーサナビ\n"; // } // $dmy.= " (普) ".$cstinfo[0][5]." カ) カーサナビ\n"; // 2008.05.12 口座情報変更 by Keita Motegi $dmy.= " (普) ".$cstinfo[0][5]." カーサナビ カ)\n"; $dmy.= " ┗━━━━━━━━━━━━━━━━━┛\n\n"; $dmy.= "※カーサナビ事務局にてご入金を確認した時点で正式注文となります。\n"; $dmy.= "※配送は代金のお支払い確認後となりますので、ご注意下さい。\n"; $dmy.= "※注文より7日以内にお支払いがない場合は、ご注文がキャンセル扱いになります\n"; $dmy.= " ので、ご注意下さい。\n"; $dmy .= "※カーサナビの左メニューの「ご利用案内」、「Q&A」もご参照下さい。\n"; } $dmy .= $SITEADDR."\n"; $frm = "From:".mb_encode_mimeheader(mb_convert_encoding("カーサナビ事務局","JIS"))."<".SITEMAIL.">\n"; $frm.= "Errors-To: ".SITEMAL3."\nReturn-Path: ".SITEMAL3."\n"; $mailtittle = "注文依頼を承りました"; mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) if($cstinfo[0][0] == "01") { //会員向けメール $dmy = mb_convert_encoding($dmy,"JIS"); // mb_send_mail(SITEMAL2, $mailtittle, $dmy, $frm); if (trim($cstinfo[0][31]) != "") { // mb_send_mail($cstinfo[0][1], $mailtittle,$dmy, $frm."CC:".$cstinfo[0][31]); mb_send_mail($cstinfo[0][1], $mailtittle,$dmy, $frm."CC:".$cstinfo[0][31]."\nBcc:".SITEMAL2."\n","-f".SITEMAIL); } else { // mb_send_mail($cstinfo[0][1], $mailtittle, $dmy, $frm); mb_send_mail($cstinfo[0][1], $mailtittle, $dmy, $frm."Bcc:".SITEMAL2."\n","-f".SITEMAIL); } } else { //会員向けFAX fSendFax($cstinfo[0][2], $dmy); $dmy = mb_convert_encoding($dmy,"JIS"); mb_send_mail(SITEMAL2, $mailtittle, $dmy, $frm); } //カード決済 か ビジネスクレジットの場合は、別途メールをする if ($cstinfo[0][30] == "02" or $cstinfo[0][30] == "07") { $dmy = "\n"; $dmy .= "=======================================================\n"; $dmy .= "カーサナビ決済のご案内\n"; $dmy .= "=======================================================\n"; $dmy .= "\n"; $dmy .= "カーサナビ事務局様\n"; $dmy .= "先ほどの会員様は銀行振込ではなく、決済サービス(カード OR ビジネスクレジット)です。\n"; $dmy .= "\n"; $dmy .= "暫くしたら、管理画面にて決済状況を確認して下さい。\n\n"; $dmy .= "オリコの管理画面のアドレスは下記の通りです。\n"; $dmy .= ORCURL_JIMU; $dmy .= "\n\n"; $dmy .= "セントラルファイナンスの管理画面のアドレスは下記の通りです。\n"; $dmy .= GMOCCSURL; $dmy .= "\n\n"; $mailtittle = "注文依頼は決済サービス利用です"; mb_send_mail(SITEMAL2, $mailtittle,$dmy, $frm); } //●出店者向けメール&FAX $sql = "select makerid from acporderdt where ordid = '$id' group by makerid;"; $makcnt = GetRecordData($sql, $makinfo); for($lop = 0; $lop<$makcnt; $lop++) { $sql = "select contactcd,mail1,faxno1,compname,mail2 from maker where makerid = '".$makinfo[$lop][0]."' ;"; $ordcnt = GetRecordData($sql, $ordinfo); $dmy = "========================================== casa navi事務局より\n"; $dmy .= "注文依頼のお知らせ (".date("Y/m/d").")\n"; $dmy .= "===================================================================\n"; $dmy .= "\n"; $dmy .= $ordinfo[0][3]."さま\n"; $dmy .= "いつも casa navi をご利用頂きありがとうございます。\n"; $dmy .= $cstinfo[0][3]."さまより下記内容の注文依頼がありましたので、下記URLの出品者画面より\n"; $dmy .= "ご確認ください。\n"; $dmy .= "\n"; $dmy .= "casa navi [ 出店者 ]\n"; $dmy .= "http://www.casanavi.co.jp/admin/\n"; $dmy .= "-------------------------------------------------------------------\n"; $dmy .= "会員名(番号) ".$cstinfo[0][3]."(".$cstmid.")\n"; $dmy .= "注文依頼日 ".$cstinfo[0][4]."\n"; $dmy .= "注文番号 ".$id."\n"; $dmy .= "決済状況 ".$COMPLETEARY[$cstinfo[0][6]]."\n"; $dmy .= "-------------------------------------------------------------------\n"; $dmy .= "\n"; $dmy .= "-------------------------------------------------------------------\n"; $dmy .= "■注文依頼内容\n"; $dmy .= "-------------------------------------------------------------------\n"; $sql = "select * from acporderdt a, product b where a.productid = b.productid and a.ordid = '$id' and a.makerid = '".$makinfo[$lop][0]."';"; $ordcnt = GetRecordArray($sql, $oinfo); $dmyordcost = 0; $dmytax = 0; $dmydvcost = 0; for($lop2 = 0; $lop2 < $ordcnt; $lop2++) { if($oinfo[$lop2][ordercnt]) { $dmy .= "[メーカー名 ] ".$oinfo[$lop2][producter]."\n"; $dmy .= "[商品名(品番) ] ".$oinfo[$lop2][productname]."(".$oinfo[$lop2][catalogid].")\n"; $dmy .= "[注文単価 ] ".CnvMoney($oinfo[$lop2][ordcost])."円\n"; $dmy .= "[注文量 ] ".CnvMoney($oinfo[$lop2][ordercnt])."\n"; $dmy .= "[配送料 ] ".CnvMoney($oinfo[$lop2][dvcost])."円 \n"; $dmy .= "[配送先住所 ] 〒".$oinfo[$lop2][dvpostno].GetFieldData("codectl", "codename", "(tableid = '00' and itemid = '00' and codeid = '".$oinfo[$lop2][dvfkencd]."')").$oinfo[$lop2][dvaddress]."\n"; $dmy .= "[配送希望日 ] ".$oinfo[$lop2][dvpreferdate]."\n"; $dmy .= "[受取人氏名 ] ".$oinfo[$lop2][dvname]."\n"; $dmy .= "[受取人携帯番号] ".$oinfo[$lop2][dvhandyno]." \n"; $dmy .= "[電話番号 ] ".$oinfo[$lop2][dvtelno]."\n"; $dmy .= "[FAX番号 ] ".$oinfo[$lop2][dvfaxno]."\n"; $sql_h = "SELECT remark FROM estimatedt WHERE ((estid = '".$cstinfo[0][7]."') AND (productid = '".$oinfo[$lop2][productid]."'));"; $cnt_h = GetRecordArray($sql_h, $data_h); $dmy .= "[見積時の会員様からのコメント ] ".$data_h[0][remark]." \n"; $sql_h = "SELECT remark1 FROM estimatedt_r WHERE ((estid = '".$cstinfo[0][7]."') AND (productid = '".$oinfo[$lop2][productid]."'));"; $cnt_h = GetRecordArray($sql_h, $data_h); $dmy .= "[見積時の出店者からのコメント ] ".$data_h[0][remark1]." \n"; $dmy .= "[注文時の会員様からのコメント ] ".$oinfo[$lop2][26]." \n"; $dmy .= "-------------------------------------------------------------------\n"; $dmyordcost += ($oinfo[$lop2][ordcost] * $oinfo[$lop2][ordercnt]); $dmydvcost += $oinfo[$lop2][dvcost]; $dmytax += GetTax($oinfo[$lop2][ordcost] * $oinfo[$lop2][ordercnt] + $oinfo[$lop2][dvcost]); } } $dmy .= "\n"; $dmy .= "\n"; $dmy .= "-------------------------------------------------------------------\n"; $dmy .= "[注文金額 ] ".CnvMoney($dmyordcost)." 円\n"; $dmy .= "[配送料 ] ".CnvMoney($dmydvcost)."円\n"; $dmy .= "[消費税額 ] ".CnvMoney($dmytax)."円\n"; $dmy .= "[支払い金額合計 ] ".CnvMoney($dmyordcost + $dmydvcost + $dmytax)."円\n"; $dmy .= "[注文依頼日 ] ".$cstinfo[0][4]."\n"; //$dmy .= "[決済方法 ] ".(($cstinfo[0][30] == "01") ? "銀行振込" : "カード決済")."\n"; // 2001.11.12 H.I $dmy .= "[決済方法 ] ".GetFieldData("codectl", "codename", "(tableid = '01' and itemid = '03' and codeid = '".$cstinfo[0][30]."')")."\n"; $dmy .= "-------------------------------------------------------------------\n"; $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "■依頼者の情報\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "[会員番号 ] ".$cstmid."\n"; $dmy .= "[業種 ] ".GetFieldData("codectl", "codename", "(tableid = '01' and itemid = '01' and codeid = '".$cstinfo[0][25]."')")."\n"; $dmy .= "[会社名 ] ".$cstinfo[0][3]."\n"; $dmy .= "[会社名カナ ] ".$cstinfo[0][8]."\n"; $dmy .= "[代表者名 ] ".$cstinfo[0][9]."\n"; $dmy .= "[代表者名カナ ] ".$cstinfo[0][10]."\n"; $dmy .= "[部署名 ] ".$cstinfo[0][11]."\n"; $dmy .= "[部署名カナ ] ".$cstinfo[0][12]."\n"; $dmy .= "[担当者名1 ] ".$cstinfo[0][13]."\n"; $dmy .= "[担当者名カナ1] ".$cstinfo[0][14]."\n"; $dmy .= "[担当者名2 ] ".$cstinfo[0][15]."\n"; $dmy .= "[担当者名カナ2] ".$cstinfo[0][16]." \n"; $dmy .= "[会社所在地 ] 〒".$cstinfo[0][17].GetFieldData("codectl", "codename", "(tableid = '00' and itemid = '00' and codeid = '".$cstinfo[0][18]."')").$cstinfo[0][19]."\n"; $dmy .= "[電話番号1 ] ".$cstinfo[0][24]."\n"; $dmy .= "[電話番号2 ] ".$cstinfo[0][32]."\n"; $dmy .= "[FAX番号1 ] ".$cstinfo[0][2]."\n"; $dmy .= "[FAX番号2 ] ".$cstinfo[0][33]."\n"; $dmy .= "[メール1 ] ".$cstinfo[0][1]."\n"; $dmy .= "[メール2 ] ".$cstinfo[0][31]."\n"; $dmy .= "[連絡方法 ] ".GetFieldData("codectl", "codename", "(tableid = '01' and itemid = '02' and codeid = '".$cstinfo[0][0]."')")."\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "\n"; if($cstinfo[0][6] == "0") $dmy .= "カーサナビにて入金の確認出来次第、お知らせします。\n"; else $dmy .= "入金が完了していますので、配送をお願いします。\n"; $dmy .= "\n"; $dmy .= $SITEADDR."\n"; $sumcnt = GetFieldData("acporderdt", "sum(ordercnt)", "((ordid = '$id') and (makerid = '".$makinfo[$lop][0]."'))"); $mailtittle = "注文依頼を承りました"; $frm = "From:".mb_encode_mimeheader(mb_convert_encoding("カーサナビ事務局","JIS"))."<".SITEMAIL.">\n"; $frm.= "Errors-To: ".SITEMAL3."\nReturn-Path: ".SITEMAL3."\n"; mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) if($ordinfo[0][0] == "01") { //出店者向けメール $dmy = mb_convert_encoding($dmy,"JIS"); // mb_send_mail(SITEMAL2, $mailtittle, $dmy, $frm); if($sumcnt > 0){ if (trim($ordinfo[0][4]) != "") { // mb_send_mail($ordinfo[0][1], $mailtittle, $dmy, $frm."CC:".$ordinfo[0][4]); mb_send_mail($ordinfo[0][1], $mailtittle, $dmy, $frm."CC:".$ordinfo[0][4]."\nBcc:".SITEMAL2."\n","-f".SITEMAIL); } else { // mb_send_mail($ordinfo[0][1], $mailtittle, $dmy, $frm); mb_send_mail($ordinfo[0][1], $mailtittle, $dmy, $frm."Bcc:".SITEMAL2."\n","-f".SITEMAIL); } } } else { //出店者向けFAX if($sumcnt > 0) fSendFax($ordinfo[0][2], $dmy); $dmy = mb_convert_encoding($dmy,"JIS"); mb_send_mail(SITEMAL2, $mailtittle, $dmy, $frm); } // 日崎商品の場合 if($makinfo[$lop][0] == HIZAID) { $sql = "select contactcd,mail1,faxno1,compname,mail2 from maker where makerid = '".SENKOID."' ;"; $ordcnt = GetRecordData($sql, $ordinfo); $dmy = "========================================== casa navi事務局より\n"; $dmy .= "注文依頼のお知らせ (".date("Y/m/d").")\n"; $dmy .= "=======================================================\n"; $dmy .= "\n"; $dmy .= $ordinfo[0][3]."さま\n"; $dmy .= "いつも casa navi をご利用頂きありがとうございます。\n"; $dmy .= $cstinfo[0][3]."さまより注文依頼がありますので、下記URLの出品者画面より\n"; $dmy .= "ご確認ください。\n"; $dmy .= "\n"; $dmy .= "casa navi [ 出品者画面 ]\n"; $dmy .= "http://www.casanavi.co.jp/admin/\n"; $dmy .= "----------------------------------------------\n"; $dmy .= "会員名(番号) ".$cstinfo[0][3]."(".$cstmid.")\n"; $dmy .= "注文依頼日 ".$cstinfo[0][4]."\n"; $dmy .= "注文番号 ".$id."\n"; $dmy .= "決済状況 ".$COMPLETEARY[$cstinfo[0][6]]."\n"; $dmy .= "----------------------------------------------\n"; if($cstinfo[0][6] == "0") $dmy .= "カーサナビにて入金の確認出来次第、お知らせします。\n"; else $dmy .= "入金が完了していますので、配送をお願いします。\n"; $dmy .= "\n"; $dmy .= $SITEADDR."\n"; $frm = "From:".mb_encode_mimeheader(mb_convert_encoding("カーサナビ事務局","JIS"))."<".SITEMAIL.">\n"; $frm.= "Errors-To: ".SITEMAL3."\nReturn-Path: ".SITEMAL3."\n"; $mailtittle = "注文依頼を承りました"; $dmy = mb_convert_encoding($dmy,"JIS"); if($ordinfo[0][0] == "01") { //出店者向けメール if($sumcnt > 0){ if (trim($ordinfo[0][4]) != "") { mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) mb_send_mail($ordinfo[0][1], $mailtittle, $dmy, $frm."CC:".$ordinfo[0][4]."\nBcc:".SITEMAL2."\n","-f".SITEMAIL); } else { mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) mb_send_mail($ordinfo[0][1], $mailtittle, $dmy, $frm."Bcc:".SITEMAL2."\n","-f".SITEMAIL); } } mail(SITEMAL2, "注文依頼のお知らせ", $dmy, $frm); } else { //出店者向けFAX $dmy = "========================================== casa navi事務局より\n"; $dmy .= "注文依頼のお知らせ (".date("Y/m/d").")\n"; $dmy .= "===================================================================\n"; $dmy .= "\n"; $dmy .= $ordinfo[0][3]."さま\n"; $dmy .= "いつも casa navi をご利用頂きありがとうございます。\n"; $dmy .= $cstinfo[0][3]."さまより下記内容の注文依頼がありましたのでご確認ください。\n"; $dmy .= "\n"; $dmy .= "-------------------------------------------------------------------\n"; $dmy .= "会員名(番号) ".$cstinfo[0][3]."(".$cstmid.")\n"; $dmy .= "注文依頼日 ".$cstinfo[0][4]."\n"; $dmy .= "注文番号 ".$id."\n"; $dmy .= "決済状況 ".$COMPLETEARY[$cstinfo[0][6]]."\n"; $dmy .= "-------------------------------------------------------------------\n"; $dmy .= "\n"; $dmy .= "-------------------------------------------------------------------\n"; $dmy .= "■注文依頼内容\n"; $dmy .= "-------------------------------------------------------------------\n"; $sql = "select * from acporderdt a, product b where a.productid = b.productid and a.ordid = '$id' and a.makerid = '".HIZAID."';"; $ordcnt = GetRecordArray($sql, $oinfo); $dmyordcost = 0; $dmytax = 0; $dmydvcost = 0; for($lop2 = 0; $lop2 < $ordcnt; $lop2++) { if($oinfo[$lop2][ordercnt]) { $dmy .= "[メーカー名 ] ".$oinfo[$lop2][producter]."\n"; $dmy .= "[商品名(品番) ] ".$oinfo[$lop2][productname]."(".$oinfo[$lop2][catalogid].")\n"; $dmy .= "[注文金額 ] ".CnvMoney($oinfo[$lop2][ordcost])."円\n"; $dmy .= "[注文量 ] ".CnvMoney($oinfo[$lop2][ordercnt])."\n"; $dmy .= "[配送料 ] ".CnvMoney($oinfo[$lop2][dvcost])."円 \n"; $dmy .= "[配送先住所 ] 〒".$oinfo[$lop2][dvpostno].GetFieldData("codectl", "codename", "(tableid = '00' and itemid = '00' and codeid = '".$oinfo[$lop2][dvfkencd]."')").$oinfo[$lop2][dvaddress]."\n"; $dmy .= "[配送希望日 ] ".$oinfo[$lop2][dvpreferdate]."\n"; $dmy .= "[受取人氏名 ] ".$oinfo[$lop2][dvname]."\n"; $dmy .= "[受取人携帯番号] ".$oinfo[$lop2][dvhandyno]." \n"; $dmy .= "-------------------------------------------------------------------\n"; $dmyordcost = $dmyordcost + $oinfo[$lop2][ordcost]; $dmydvcost = $dmydvcost + $oinfo[$lop2][dvcost]; $dmytax = $dmytax + $oinfo[$lop2][tax]; $dmyordsubtotal = $dmyordsubtotal + $oinfo[$lop2][ordsubtotal]; } } $dmy .= "\n"; $dmy .= "\n"; $dmy .= "-------------------------------------------------------------------\n"; $dmy .= "[注文金額 ] ".CnvMoney($dmyordcost)." 円\n"; $dmy .= "[配送料 ] ".CnvMoney($dmydvcost)."円\n"; $dmy .= "[消費税額 ] ".CnvMoney($dmytax)."円\n"; $dmy .= "[支払い金額合計 ] ".CnvMoney($dmyordsubtotal + $dmytax + $dmydvcost)."円\n"; $dmy .= "[注文依頼日 ] ".$cstinfo[0][4]."\n"; $dmy .= "[決済方法 ] ".(($cstinfo[0][30] == "01") ? "銀行振込" : "カード決済")."\n"; // 2001.11.12 H.I $dmy .= "-------------------------------------------------------------------\n"; $dmy .= "\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "■依頼者の情報\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "[会員番号 ] ".$cstmid."\n"; $dmy .= "[業種 ] ".GetFieldData("codectl", "codename", "(tableid = '01' and itemid = '01' and codeid = '".$cstinfo[0][25]."')")."\n"; $dmy .= "[会社名 ] ".$cstinfo[0][3]."\n"; $dmy .= "[会社名カナ ] ".$cstinfo[0][8]."\n"; $dmy .= "[代表者名 ] ".$cstinfo[0][9]."\n"; $dmy .= "[代表者名カナ ] ".$cstinfo[0][10]."\n"; $dmy .= "[部署名 ] ".$cstinfo[0][11]."\n"; $dmy .= "[部署名カナ ] ".$cstinfo[0][12]."\n"; $dmy .= "[担当者名1 ] ".$cstinfo[0][13]."\n"; $dmy .= "[担当者名カナ1] ".$cstinfo[0][14]."\n"; $dmy .= "[担当者名2 ] ".$cstinfo[0][15]."\n"; $dmy .= "[担当者名カナ2] ".$cstinfo[0][16]." \n"; $dmy .= "[会社所在地 ] 〒".$cstinfo[0][17].GetFieldData("codectl", "codename", "(tableid = '00' and itemid = '00' and codeid = '".$cstinfo[0][18]."')").$cstinfo[0][19]."\n"; $dmy .= "[電話番号 ] ".$cstinfo[0][24]."\n"; $dmy .= "[FAX番号 ] ".$cstinfo[0][2]."\n"; $dmy .= "[従業員数 ] ".(($cstinfo[0][20] == "") ? "" : CnvMoney($cstinfo[0][20])."人")."\n"; $dmy .= "[年商 ] ".(($cstinfo[0][21] == "") ? "" : CnvMoney($cstinfo[0][21])."百万円")."\n"; $dmy .= "[資格 ] ".$cstinfo[0][22]."\n"; $dmy .= "[設立年月 ] ".$cstinfo[0][23]."\n"; $dmy .= "--------------------------------------------------------------\n"; $dmy .= "\n"; if($cstinfo[0][6] == "0") $dmy .= "カーサナビにて入金の確認出来次第、お知らせします。\n"; else $dmy .= "入金が完了していますので、配送をお願いします。\n"; $dmy .= "\n"; $dmy .= $SITEADDR."\n"; if($sumcnt > 0) fSendFax($ordinfo[0][2], $dmy); } } } break; } } // 入力 cstmid :会員ID // kbn :区分(fax) function fSndMail($cstmid,$kbn) { global $SITEADDR; //送信データ取得 $sql = "select * from custmer where cstmid='".$cstmid."';"; $nRecCnt = GetRecordData($sql, $recdata); //データが1件も存在しない場合 if($nRecCnt == "0"){ fDspMessage("メールの送信に失敗しました(送信データが見つかりません)"); return; } $sub = "会員登録ありがとうございます <カーサナビ>"; $frm = "From:".mb_encode_mimeheader(mb_convert_encoding("カーサナビ事務局","JIS"))."<".SITEMAIL.">\n"; // $frm = "From:casa navi<".SITEMAIL.">\n"; $frm.= "Errors-To: ".SITEMAL3."\nReturn-Path: ".SITEMAL3."\n"; $snddata1=""; $snddata2=""; $snddata3=""; $snddata4=""; $snddata5=""; $snddata6=""; $snddata7=""; $snddata8=""; if ($recdata[0][9] != "") $snddata1.="[ 担当者名2 ] ".$recdata[0][9]."\n"; if ($recdata[0][11] != "") $snddata1.="[ 担当者名カナ2 ] ".$recdata[0][11]."\n"; if ($recdata[0][16] != "") $snddata1.="[ 電話番号2 ] ".$recdata[0][16]."\n"; if ($recdata[0][18] != "") $snddata1.="[ FAX番号2 ] ".$recdata[0][18]."\n"; if ($recdata[0][20] != "") $snddata1.="[ メールアドレス2 ] ".$recdata[0][20]."\n"; if ($recdata[0][47] != "") $snddata1.="[ 担当者名3 ] ".$recdata[0][45]."\n"; //2012/06/20 motegi改修 if ($recdata[0][50] != "") $snddata1.="[ 担当者名カナ3 ] ".$recdata[0][48]."\n"; //2012/06/20 motegi改修 if ($recdata[0][53] != "") $snddata1.="[ メールアドレス3 ] ".$recdata[0][51]."\n"; //2012/06/20 motegi改修 if ($recdata[0][48] != "") $snddata1.="[ 担当者名4 ] ".$recdata[0][46]."\n"; //2012/06/20 motegi改修 if ($recdata[0][51] != "") $snddata1.="[ 担当者名カナ4 ] ".$recdata[0][49]."\n"; //2012/06/20 motegi改修 if ($recdata[0][54] != "") $snddata1.="[ メールアドレス4 ] ".$recdata[0][52]."\n"; //2012/06/20 motegi改修 if ($recdata[0][49] != "") $snddata1.="[ 担当者名5 ] ".$recdata[0][47]."\n"; //2012/06/20 motegi改修 if ($recdata[0][52] != "") $snddata1.="[ 担当者名カナ5 ] ".$recdata[0][50]."\n"; //2012/06/20 motegi改修 if ($recdata[0][55] != "") $snddata1.="[ メールアドレス5 ] ".$recdata[0][53]."\n"; //2012/06/20 motegi改修 /* if ($recdata[0][47] != "") $snddata1.="[ 担当者名3 ] ".$recdata[0][47]."\n"; //2009/11/09 プランX追加 if ($recdata[0][50] != "") $snddata1.="[ 担当者名カナ3 ] ".$recdata[0][50]."\n"; //2009/11/09 プランX追加 if ($recdata[0][53] != "") $snddata1.="[ メールアドレス3 ] ".$recdata[0][53]."\n"; //2009/11/09 プランX追加 if ($recdata[0][48] != "") $snddata1.="[ 担当者名4 ] ".$recdata[0][48]."\n"; //2009/11/09 プランX追加 if ($recdata[0][51] != "") $snddata1.="[ 担当者名カナ4 ] ".$recdata[0][51]."\n"; //2009/11/09 プランX追加 if ($recdata[0][54] != "") $snddata1.="[ メールアドレス4 ] ".$recdata[0][54]."\n"; //2009/11/09 プランX追加 if ($recdata[0][49] != "") $snddata1.="[ 担当者名5 ] ".$recdata[0][49]."\n"; //2009/11/09 プランX追加 if ($recdata[0][52] != "") $snddata1.="[ 担当者名カナ5 ] ".$recdata[0][52]."\n"; //2009/11/09 プランX追加 if ($recdata[0][55] != "") $snddata1.="[ メールアドレス5 ] ".$recdata[0][55]."\n"; //2009/11/09 プランX追加 */ if ($snddata1 != "") $snddata1.="\n"; if ($recdata[0][32] != "") $snddata2.="[ セールスポイント ] ".$recdata[0][32]."\n"; if ($recdata[0][33] != "" and $recdata[0][33] != 0) $snddata3.="[ 従業員数 ] ".CnvMoney($recdata[0][33],true)."人\n"; if ($recdata[0][34] != "" and $recdata[0][34] != 0) $snddata3.="[ 年商 ] ".CnvMoney($recdata[0][34],true)."百万円\n"; if ($recdata[0][35] != "") $snddata3.="[ 資格 ] ".$recdata[0][35]."\n"; if ($recdata[0][36] != "") $snddata4.="[ 設立年月 ] ".$recdata[0][36]."\n"; if ($recdata[0][38] != "") $snddata5.="[ ホームページURL ] http://".$recdata[0][38]."\n"; if ($recdata[0][42] != "") $snddata6.="[ 備考 ] ".$recdata[0][42]."\n"; if ($recdata[0][21] != "") $snddata7.="[ 連絡方法 ] ".GetFieldData("codectl", "codename", "tableid='01' and itemid='02' and codeid='".$recdata[0][21]."'")."\n"; $bdy = "==================================================== casa navi\n"; $bdy.= "会員登録ありがとうございます (".date('Y/m/d').")\n"; $bdy.= "==============================================================\n"; $bdy.= "\n"; $bdy.= $recdata[0][4]."さま\n"; $bdy.= "casa navi にご登録頂きありがとうございます。\n"; $bdy.= "ご参加いただく皆さまの思いを大切に、casa navi ならではの価値のあるサービスを\n"; $bdy.= "お届けしていきます。\n"; $bdy.= "\n"; $bdy.= "今すぐログインしてチェックしてみてください♪\n"; $bdy.= "http://www.casanavi.co.jp/b\n"; $bdy.= "\n"; $bdy.= "----------------------------------------------\n"; $bdy.= "[ 会員様名 ] ".$recdata[0][4]."\n[ 会員番号 ] ".$cstmid."\n"; //2003.04.07 by midori パスワード追加 $bdy.= "[ パスワード ] ".$recdata[0][1]."\n\n"; $bdy.= "[ 業種 ] ".GetFieldData("codectl", "codename", "tableid='01' and itemid='01' and codeid='".$recdata[0][3]."'")."\n"; $bdy.= "[ 会社名 ] ".$recdata[0][4]."\n[ 会社名カナ ] ".$recdata[0][5]."\n[ 代表者名 ] ".$recdata[0][43]."\n[ 代表者名カナ ] ".$recdata[0][44]."\n"; $bdy.= "[ 郵便番号 ]".$recdata[0][12]."\n[ 都道府県 ] ".GetFieldData("codectl", "codename", "tableid='00' and itemid='00' and codeid='".$recdata[0][13]."'")."\n[ 住所 ] ".$recdata[0][14]."\n"; $bdy.= "[ 部署名 ]".$recdata[0][6]."\n[ 部署名カナ ] ".$recdata[0][7]."\n"; $bdy.= "[ 担当者名1 ] ".$recdata[0][8]."\n[ 担当者名カナ1 ] ".$recdata[0][10]."\n[ 電話番号1 ] ".$recdata[0][15]."\n[ FAX番号1 ] ".$recdata[0][17]."\n[ メールアドレス1 ] ".$recdata[0][19]."\n"; $bdy.= $snddata1; $bdy.= $snddata7; $bdy.= $snddata8; $bdy.= $snddata2; $bdy.= $snddata3; $bdy.= $snddata4; $bdy.= $snddata5; $bdy.= $snddata6; $bdy.= "----------------------------------------------\n"; // 仕様変更終了 2001/05/27 by ぴょん吉 // 仕様変更開始 2002/03/26 by midori $bdy.= "\n"; $bdy.= "ご質問などお気軽にお問い合わせください。\n"; $bdy.= "今後とも casa navi をよろしくお願いします。\n"; $bdy.= "\n"; $bdy.= "最新のメールマガジンお読みください♪\n"; $bdy.= SERVER_URL."/b/mailmaga/index.php\n"; $bdy.= "\n"; $bdy.= $SITEADDR."\n"; // FAXの場合 mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) if ($recdata[0][21] == "02"){ if($recdata[0][17] != "") fSendFax($recdata[0][17], $bdy); else if($recdata[0][18] != "") fSendFax($recdata[0][18], $bdy); $bdy = mb_convert_encoding($bdy,"JIS"); mb_send_mail(SITEMAL2, $sub, $bdy, $frm); }else{ $bdy = mb_convert_encoding($bdy,"JIS"); if($recdata[0][19] != "") mb_send_mail($recdata[0][19], $sub, $bdy, $frm."Bcc:".SITEMAL2."\n","-f".SITEMAIL); if($recdata[0][20] != "") mb_send_mail($recdata[0][20], $sub, $bdy, $frm."Bcc:".SITEMAL2."\n","-f".SITEMAIL); } return; } // マイレージ取得(カード) // 入力 mon :金額 // 出力 ポイントバック(小数点以下切捨て) function GetMilage2($mon) { $tax = ($mon * 0.02)."."; return (substr($tax, 0, strpos($tax, "."))); } //新規特典マイレージ追加(2000/07/31まで) // 入力 cstmid :会員番号 function fInsMilage($cstmid) { // 2000/07/31以降はマイレージを追加しない if ("2000/07/31" < date("Y/m/d")) return; // 受注IDを自動付番 $ordid=GetNewID(IDORDER); //Select文セット $sql_select = "select ordid from acporder where ordid = '".$ordid."'"; //該当データの存在チェック if(ChkRecord($sql_select)) { fDspMessage(PGADDERR); return; } //Insert文セット $sql_insert = "insert into acporder values('"; $sql_insert .= $ordid."','"; $sql_insert .= $cstmid."','"; $sql_insert .= "','"; $sql_insert .= "0','"; $sql_insert .= "0','"; $sql_insert .= "0','"; $sql_insert .= "0','"; $sql_insert .= "','"; $sql_insert .= "','"; $sql_insert .= "','"; $sql_insert .= "01','"; $sql_insert .= "','"; $sql_insert .= "0','"; $sql_insert .= "','"; $sql_insert .= "10000','"; $sql_insert .= GetDayAgo(date("Y/m/d"),365)."','"; $sql_insert .= "1','"; $sql_insert .= "1','"; $sql_insert .= "1','"; $sql_insert .= "')"; //追加 if(!OpeRecord($sql_insert)) { fDspMessage(PGADDER1); return; } retuen; } //FAX内容DB登録関数 // 入力 faxno :FAX番号 // sen :FAX内容 function fSendFax($faxno, $sen) { // 緊急改修開始 2001/06/14 by ぴょん吉 //Insert文セット // $sql_insert = "insert into sendfax values(nextval('sendfax_sendfax_id_seq'),'"; // $sql_insert .= "0',0,'$faxno','$sen','"; // $sql_insert .= date("Y/m/d")."','"; // $sql_insert .= date("Y/m/d"); // $sql_insert .= "')"; //追加 // if(!OpeRecord($sql_insert)) { // fDspMessage(PGADDER1); // return; // } // DBオープン $con = @pg_connect(CASADB); if(!$con) { fDspMessage(PGADDER1); return; } // 次sendfax_idを取得 $sfid = 0; $sql = "SELECT nextval('sendfax_sendfax_id_seq');"; if($rsl = @pg_exec($con, $sql)) { if(@pg_numrows($rsl) > 0) { $arr = @pg_fetch_row($rsl, 0); $sfid = $arr[0]; } } // sendfaxテーブルに保存 if($sfid) { $sql = "INSERT INTO sendfax VALUES ($sfid, '0', 0, '$faxno', '', '".date("Y/m/d")."', '".date("Y/m/d")."');"; if($rsl = @pg_exec($con, $sql)) { // FAX内容をファイルに保存 //20060228 midori //ファイルオープン時に B モード //if($fp = @fopen(FAXDIR.$sfid.".txt", "w")) { if($fp = @fopen(FAXDIR.$sfid.".txt", "wt")) { //if($fp = @fopen(FAXDIR.$sfid.".txt", "wb")) { //20060301 midori 改行文字を\r\n → \n へ変換 @fwrite($fp, mb_ereg_replace("\r\n","\n",$sen)); //@fwrite($fp, $sen); @fclose($fp); } else { $sql = "DELETE FROM sendfax WHERE sendfax_id = '$sfid';"; @pg_exec($con, $sql); fDspMessage(PGADDER1); } } else { fDspMessage(PGADDER1); } } // DBクローズ @pg_close($con); retuen; // 緊急改修終了 2001/06/14 by ぴょん吉 } // カテゴリー1のHTML出力 // 入力 name :SELECT名 // cod :デフォルト選択カテゴリー1コード(省略時はヌル文字列) // 出力 HTML<SELECT文> function fCategory1($name, $cod = "") { echo "\n"; $sql = "select * from codectl where ((tableid = '02') and (itemid = '00'));"; $cnt1 = GetRecordData($sql, $cat1); for($lop1 = 0; $lop1 < $cnt1; $lop1 ++) { $dmy = $cat1[$lop1][2]; if($cod == "") echo "$dmy ".$cat1[$lop1][3]."\n"; else echo "$dmy ".$cat1[$lop1][3]."\n"; } echo "\n"; return; } // カテゴリー2のHTML出力 // 入力 name :SELECT名 // cod1 :カテゴリー1コード // cod2 :デフォルト選択カテゴリー2コード(省略時はヌル文字列) // 出力 HTML<SELECT文> function fCategory2($name, $cod1, $cod2) { if($cod1 == "") $cod1 = "01"; if($cod2 == "") $cod2 = "01"; echo "\n"; $sql = "select * from codectl where ((tableid = '02') and (itemid = '$cod1'));"; $cnt1 = GetRecordData($sql, $cat1); for($lop1 = 0; $lop1 < $cnt1; $lop1 ++) { $dmy = $cat1[$lop1][2]; echo "$dmy ".$cat1[$lop1][3]."\n"; } echo "\n"; return; } // 日崎商品かどうかチェック(商品) // 入力 pid :商品ID // 返り値 True:日崎商品、False:日崎以外商品 function fChkHizaki($pid) { $sql = "select * from product_h where productid = '$pid';"; $cnt1 = GetRecordData($sql, $cat1); if($cnt1 == "0") return false; else return true; } // 日崎商品かどうかチェック(商品群) // 入力 gunid :商品群ID // 返り値 True:日崎商品、False:日崎以外商品 function fChkHizaki_g($gunid) { $sql = "select * from gun_h where gunid = '$gunid';"; $cnt1 = GetRecordData($sql, $cat1); if($cnt1 == "0") return false; else return true; } // コンボボックス出力(配送エリア専用) // 入力 cod:デフォルト選択コード(省略時はヌル文字列) // 出力 HTML<OPTION文> function fCodeSet_Area($cod = "") { if($cod == "") echo "▼\n"; $con = @pg_connect(CASADB); if($con) { $sql = "select areacd,areaname,depocd from area_h order by areacd asc, areaname desc;"; $rsl = @pg_exec($con, $sql); if($rsl) { $max = @pg_numrows($rsl); for($cnt = 0; $cnt < $max; $cnt ++) { $arr = @pg_fetch_row($rsl, $cnt); echo "".$arr[1]."\n"; } } @pg_close($con); } return; } // 最安値デポ配送料計算 // 入力 in[0]:注文量 // in[1]:デポ使用可能トラック最大積載量 // in[2]:デポ有効範囲(ゼロオリジン) // from[0]:デポ情報(From) 2次元配列 // to[1]:デポ情報(To) 2次元配列 // vol[2]:デポ情報(料金) 2次元配列 // 出力 out[0]:余地 // out[1]:配送料 // out[2]:最後の枚数(残り) // 返り値 True: 配送料有; False:配送料無 function fCalDepo($in, $from, $to, $vol, &$out) { $out[0] = 0; $out[1] = 0; $order = $in[0]; // 注文量セット //echo "order = ".$order.""; while($order > 0) { // 注文量がなくなるまで繰り返す //echo "in[0] = ".$in[0].""; //echo "in[1] = ".$in[1].""; //echo "in[2] = ".$in[2].""; for($lop = 0; $lop <= $in[2]; $lop ++) { // デポ有効範囲分繰り返す //echo "lop = ".$lop.""; //echo "from[lop] = ".$from[$lop].""; //echo "to[lop] = ".$to[$lop].""; // if($from[$lop] > $in[1]) { // デポ使用可能トラック最大積載量を超えた場合 if(($from[$lop] > $in[1]) && ($lop > 0)) { // デポ使用可能トラック最大積載量を超えた場合 //echo "out[1] = ".$out[1].""; //echo "vol[$lop - 1] = ".$vol[$lop - 1].""; //echo "vol[$lop] = ".$vol[$lop].""; //echo "to[lop - 1] = ".$to[$lop].""; $out[1] = $out[1] + $vol[$lop - 1]; // 配送料(余り分)加算 $order = $order - $to[$lop - 1]; // 残り枚数 $lop = 9; // ループを抜ける(内側) //echo "order0 = ".$order.""; } else if($from[$lop] == "" && $to[$lop] == "") { // デポ有効範囲に金額が登録されていない場合 $out[1] = $out[1] + $vol[$lop - 1]; // 配送料(余り分)加算 //echo "vol[$lop - 1] = ".$vol[$lop - 1].""; $order = $order - $to[$lop - 1]; // 余り枚数減算 $lop = 9; // ループを抜ける(内側) //echo "order1 = ".$order.""; } else if($from[$lop] <= $order && $to[$lop] >= $order) { // 残り最後の計算 //echo "lop = ".$lop.""; //echo "out[0] = ".$out[0].""; //echo "out[1] = ".$out[1].""; //echo "out[2] = ".$out[2].""; //echo "vol[$lop] = ".$vol[$lop].""; $out[1] = $out[1] + $vol[$lop]; // 配送料(余り分)加算 $out[2] = $order; // 最後の枚数をセット //echo "order = ".$order.""; //echo "to[$lop] = ".$to[$lop].""; for($lop2 = $lop; $lop2 < $in[2]; $lop2 ++) { //echo "lop2 = ".$lop2.""; //echo "to[$lop2] = ".$to[$lop2].""; //echo "vol[$lop2] = ".$vol[$lop2].""; if($vol[$lop] == $vol[$lop2]) $out[0] = $to[$lop2] - $order; // 余地導出 } $lop = 9; // ループを抜ける(内側) $order = -1; // ループを抜ける(外側) //echo "order2 = ".$order.""; } } } //echo "out[0] = ".$out[0].""; //echo "out[1] = ".$out[1].""; //echo "out[2] = ".$out[2].""; } // 最安値直送配送料計算 // 入力 in[0]:注文量 // in[1]:トラック情報(1:10t以下OK、2:4t以下OK、3:2tのみOK) // in[2]:残り情報(1:残りをだす、2:残りを出さない) // in[3]:デポ範囲最大量 // max[0]:10t最大積載量 // max[1]:4t最大積載量 // max[2]:2t最大積載量 // hai[0]:10t配送料 // hai[1]:4t配送料 // hai[2]:2t配送料 // 出力 out[0]:余地 // out[1]:配送料 // out[2]:残り // out[3]:あまりに使用したトラック種別(0:10t、1:4t、2:2t) // out2[0]:10tトラック台数(フル積載) // out2[1]:4tトラック台数(フル積載) // out2[2]:2tトラック台数(フル積載) // 返り値 True: 配送料有; False:配送料無 function fCalChoku($in, $max, $hai, &$out, &$out2) { // 変数の初期化 for($lop = 0; $lop < 4; $lop ++) { $out[$lop] = 0; $out2[$lop] = 0; } $order = $in[0]; // 注文量セット // // 配送可能なトラックを調べる // if($in[1] == 3) { // 現場が2tのみの場合 $flg_10t = false; // 10t直送不可 $flg_4t = false; // 4t直送不可 if($hai[2] == -1) return false; // 直送不可能 else $flg_2t = true; // 2t直送可 } else if($in[1] == 2) { // 現場が4t以下の場合 $flg_10t = false; // 10t直送不可 if($hai[1] == -1) $flg_4t = false; // 4t直送不可 else $flg_4t = true; // 4t直送可 if($hai[2] == -1) $flg_2t = false; // 2t直送不可 else $flg_2t = true; // 2t直送可 } else if($in[1] == 1) { // 現場が10t以下の場合 if($hai[0] == -1) $flg_10t = false; // 10t直送不可 else $flg_10t = true; // 10t直送可 if($hai[1] == -1) $flg_4t = false; // 4t直送不可 else $flg_4t = true; // 4t直送可 if($hai[2] == -1) $flg_2t = false; // 2t直送不可 else $flg_2t = true; // 2t直送可 } //echo "flg_10t = ".$flg_10t.""; //echo "flg_4t = ".$flg_4t.""; //echo "flg_2t = ".$flg_2t.""; // // 各トラックの最大積載量でどのトラックを使うとよいかを調べる // 同じ場合は10t, 4t, 2t の順とする // // 10t の最大積載量 //★ $dmy2t = ceil($max[0]/$max[2])*$hai[2]; // 2t料金での10t積載量分料金算出 $dmy2t = (($max[2]) ? ceil($max[0]/$max[2]) : $max[0])*$hai[2]; // 2t料金での10t積載量分料金算出 //★ $dmy4t = ceil($max[0]/$max[1])*$hai[1]; // 4t料金での10t積載量分料金算出 $dmy4t = (($max[1]) ? ceil($max[0]/$max[1]) : $max[1])*$hai[1]; // 4t料金での10t積載量分料金算出 //echo "hai[0] = ".$hai[0].""; //echo "dmy2t = ".$dmy2t.""; if($hai[0] <= $dmy2t || !$flg_2t) { // if(($hai[0] <= $dmy4t && $flg_10t) || !$flg_4t) $cheapest10t = 0; // 10t車が一番安い if($hai[0] <= $dmy4t && $flg_10t) $cheapest10t = 0; // 10t車が一番安い else if($flg_4t) $cheapest10t = 1; // 4t車が一番安い else $cheapest10t = 2; // 2t車が一番安い } else { if(($dmy4t <= $dmy2t && $flg_4t) || !$flg_2t) $cheapest10t = 1; // 4t車が一番安い else if($flg_2t) $cheapest10t = 2; // 2t車が一番安い else $cheapest10t = 0; // 10t車が一番安い } //echo "cheapest10t = ".$cheapest10t.""; // 4t の最大積載量 //★ $dmy2t = ceil($max[1]/$max[2])*$hai[2]; // 2t料金での4t積載量分料金算出 $dmy2t = (($max[2]) ? ceil($max[1]/$max[2]) : $max[1])*$hai[2]; // 2t料金での4t積載量分料金算出 //echo "hai[0] = ".$hai[0].""; //echo "hai[1] = ".$hai[1].""; //echo "dmy2t = ".$dmy2t.""; if($hai[0] <= $dmy2t || !$flg_2t) { if($hai[0] <= $hai[1] && $flg_10t) $cheapest4t = 0; // 10t車が一番安い // 修正開始 2201/05/13 by ぴょん吉 // else if($flg_2t) $cheapest2t = 1; // 4t車が一番安い else if($flg_4t) $cheapest4t = 1; // 4t車が一番安い // 修正終了 2201/05/13 by ぴょん吉 else $cheapest4t = 2; // 2t車が一番安い } else { if(($hai[1] <= $dmy2t && $flg_4t) || !$flg_2t) $cheapest4t = 1; // 4t車が一番安い else if($flg_2t) $cheapest4t = 2; // 2t車が一番安い else $cheapest4t = 0; // 10t車が一番安い } //echo "cheapest4t = ".$cheapest4t.""; // 2t の最大積載量 if($hai[0] <= $hai[2] || !$flg_2t) { if($hai[0] <= $hai[1] && $flg_10t) $cheapest2t = 0; // 10t車が一番安い else if($flg_4t) $cheapest2t = 1; // 4t車が一番安い else $cheapest2t = 2; // 2t車が一番安い } else { if($hai[1] <= $hai[2] && $flg_4t) $cheapest2t = 1; // 4t車が一番安い else if($flg_2t) $cheapest2t = 2; // 2t車が一番安い else $cheapest2t = 0; // 10t車が一番安い } //echo "cheapest2t = ".$cheapest2t.""; $chokuflg = false; // 直送フラグOFF //echo "order=".$order.""; while($order > 0) { if($in[2] == 1) { // 残りを出す場合 //echo "orderst=".$order.""; // 修正開始 2001/05/13 by ぴょん吉 // if($order > $max[0]) { if($order >= $max[0]) { // 修正終了 2001/05/13 by ぴょん吉 $dmyflg = $cheapest10t; // 10t計算フラグをセット $chokuflg = true; // 直送フラグON //echo "d1".""; } else if($order > $max[1]) { $dmyflg = $cheapest4t; // 4t計算フラグをセット $chokuflg = true; // 直送フラグON //echo "d2".""; } else { $dmyflg = $cheapest2t; // 2t計算フラグをセット $chokuflg = true; // 直送フラグON //echo "d3".""; } $out[1] = $out[1] + $hai[$dmyflg]; // 配送料に加算 $order = $order - $max[$dmyflg]; // 注文量を減算 $out2[$dmyflg] = $out2[$dmyflg] + 1; // トラック台数を+1 //echo "hai=".$hai[$dmyflg].""; if($chokuflg) { // 直送が1台でもある場合 if($flg_4t && $in[3] >= $order) { // 4t使用可能、残り枚数がデポ範囲MAXよりも少ない場合 $out[2] = $order; // 残りをセット //echo "e1".""; return true; // 終了 } if($flg_2t && $in[3] >= $order && $max[2] > $order) {// 2t使用可能、残り枚数がデポ範囲MAXよりも少なく、2t最大積載量よりも少ない場合 $out[2] = $order; // 残りをセット //echo "e2".""; return true; // 終了 } if(!$flg_4t && !$flg_2t && $max[0] >= $order) { // 4t・2t使用不可、残り枚数が10t最大積載量より少ない場合 $out[2] = $order; // 残りをセット //echo "e3".""; return true; // 終了 } } //echo "s".""; } else { // 残りを出さない場合 //echo "orderst2=".$order.""; if($order > $max[1]) { $dmyflg = $cheapest10t; // 10t計算フラグをセット $chokuflg = true; // 直送フラグON //echo "d4"; } else if($order > $max[2]) { $dmyflg = $cheapest4t; // 4t計算フラグをセット $chokuflg = true; // 直送フラグON //echo "d4"; } else { $dmyflg = $cheapest2t; // 2t計算フラグをセット $chokuflg = true; // 直送フラグON //echo "d5"; } $out[0] = $max[$dmyflg] - $order; // 余地をセット $out[3] = (($out[0] == 0) ? 9 : $dmyflg); // 最後に使用したトラック(余り) $out[1] = $out[1] + $hai[$dmyflg]; // 配送料に加算 $order = $order - $max[$dmyflg]; // 注文量を減算 if($order < 0) return true; // 終了 $out2[$dmyflg] = $out2[$dmyflg] + 1; // トラック台数を+1 //echo "orderst3=".$order.""; } } return true; } // 最安値配送料計算 // 入力 in[0]:商品ID // in[1]:配送エリアコード // in[2]:注文量 // in[3]:トラック情報 // in[4]:副資材混在フラグ(1:混在、2:型枠のみ) // 出力 out[0]:余地 // out[1]:最安値配送料 // out2[0]:10tトラック台数(フル積載) // out2[1]:4tトラック台数(フル積載) // out2[2]:2tトラック台数(フル積載) // out2[3]:デポ使用時:1、未使用時:0 // out2[4]:あまりに使用したトラック種別(0:10t、1:4t、2:2t、9:使用せず) // out2[5]:使用したトラック情報の文言 // 返り値 True: 配送料有; False:配送料無 function fGetCheapest($in, &$out, &$out2) { global $TRUCKARY; // 0円で初期化 $out[1] = 0; // データ取得 $sql = " select carryflg from product_h b where productid = '".$in[0]."';"; $procnt = GetRecordArray($sql, $proinfo); // 配送料なしの場合 if($proinfo[0][carryflg] == "0") return false; // データ取得 $sql = " select * from carriage_h a, product_h b, gun_h c"; $sql .= " where a.gunid = b.gunid"; $sql .= " and a.gunid = c.gunid"; $sql .= " and b.productid = '".$in[0]."'"; $sql .= " and a.areacd = '".$in[1]."';"; $procnt = GetRecordArray($sql, $proinfo); // 副資材混合の場合 if($in[4] == "1") { $max[0] = $proinfo[0][maxcarry_10t]; // 10t最大積載量 $max[1] = $proinfo[0][maxcarry_4t]; // 4t最大積載量 $max[2] = $proinfo[0][maxcarry_2t]; // 2t最大積載量 } // 型枠のみの場合 else { $max[0] = $proinfo[0][maxcarry_10tb]; // 10t最大積載量 $max[1] = $proinfo[0][maxcarry_4tb]; // 4t最大積載量 $max[2] = $proinfo[0][maxcarry_2tb]; // 2t最大積載量 } $hai[0] = $proinfo[0][fare_10t]; // 10t配送料 $hai[1] = $proinfo[0][fare_4t]; // 4t配送料 $hai[2] = $proinfo[0][fare_2t]; // 2t配送料 $from[0] = $proinfo[0][depofrom1]; // デポ範囲1From $from[1] = $proinfo[0][depofrom2]; // デポ範囲2From $from[2] = $proinfo[0][depofrom3]; // デポ範囲3From $from[3] = $proinfo[0][depofrom4]; // デポ範囲4From $from[4] = $proinfo[0][depofrom5]; // デポ範囲5From $from[5] = $proinfo[0][depofrom6]; // デポ範囲6From $from[6] = $proinfo[0][depofrom7]; // デポ範囲7From $to[0] = $proinfo[0][depoto1]; // デポ範囲1To $to[1] = $proinfo[0][depoto2]; // デポ範囲2To $to[2] = $proinfo[0][depoto3]; // デポ範囲3To $to[3] = $proinfo[0][depoto4]; // デポ範囲4To $to[4] = $proinfo[0][depoto5]; // デポ範囲5To $to[5] = $proinfo[0][depoto6]; // デポ範囲6To $to[6] = $proinfo[0][depoto7]; // デポ範囲7To $vol[0] = $proinfo[0][fare1]; // デポ配送料1 $vol[1] = $proinfo[0][fare2]; // デポ配送料2 $vol[2] = $proinfo[0][fare3]; // デポ配送料3 $vol[3] = $proinfo[0][fare4]; // デポ配送料4 $vol[4] = $proinfo[0][fare5]; // デポ配送料5 $vol[5] = $proinfo[0][fare6]; // デポ配送料6 $vol[6] = $proinfo[0][fare7]; // デポ配送料7 // 最大積載量が登録されていない場合 //echo "max[0] = ".$max[0].""; //echo "max[1] = ".$max[1].""; //echo "max[2] = ".$max[2].""; if($max[0] == "" || $max[1] == "" || $max[2] == "") { fDspMessage("最大積載量が登録されていません"); return false; } // どれも「なし」が登録されている場合 if($hai[0] == -1 && $hai[1] == -1 && $hai[2] == -1) { fDspMessage("この地域は配送できません"); return false; } for($lop = 0; $lop < 8; $lop ++) { // デポ範囲数分繰り返す if($from[$lop] == "" && $to[$lop] == "") { // From To ともにデータがない場合 // 修正開始 2001/05/12 by ぴょん吉 // $indataD[2] = $lop - 1; $indataD[2] = $lop; // デポ範囲数を設定 // 修正終了 2001/05/12 by ぴょん吉 $indataC[3] = $to[$lop - 1]; // デポ範囲最大量を設定 break; } } if($in[3] == 3) $indataD[1] = $max[2]; // 現場配送可能が2tトラックの場合(デポ) else $indataD[1] = $max[1]; // 現場配送可能が4tトラックの場合(デポ) $indataC[0] = $in[2]; // 注文量 $indataC[1] = $in[3]; // トラック情報 $indataC[2] = 2; // 残りを出さないにセット //echo "注文量 $indataC[0] = ".$indataC[0].""; //echo "トラック(1:10t,2:4t,3:2t) $indataC[1] = ".$indataC[1].""; $rtn = fCalChoku($indataC, $max, $hai, $out_1, $out2_1); //echo "rtn = ".$rtn.""; if($rtn) { // 直送可能な場合 $ans1 = $out_1[1]; // 直送配送料取得 $indataC[0] = $in[2]; // 注文量 $indataC[2] = 1; // 残りを出すにセット $rtn = fCalChoku($indataC, $max, $hai, $out_2, $out2_2); //echo "out[0] = ".$out_2[0].""; //echo "out[1] = ".$out_2[1].""; //echo "out[2] = ".$out_2[2].""; //echo "out[3] = ".$out_2[3].""; //echo "out2[0] = ".$out2_2[0].""; //echo "out2[1] = ".$out2_2[1].""; //echo "out2[2] = ".$out2_2[2].""; $ans2 = $out_2[1]; // 直送配送料取得(残りあり) $ans3 = $out_2[1]; // 直送配送料取得(残りあり) $indataC[0] = $out_2[2]; // 注文量 $indataC[2] = 2; // 残りを出さないにセット $rtn = fCalChoku($indataC, $max, $hai, $out_3, $out2_3); //echo "out[0] = ".$out_3[0].""; //echo "out[1] = ".$out_3[1].""; //echo "out[2] = ".$out_3[2].""; //echo "out[3] = ".$out_3[3].""; //echo "out2[0] = ".$out2_3[0].""; //echo "out2[1] = ".$out2_3[1].""; //echo "out2[2] = ".$out2_3[2].""; $ans2 = $ans2 + $out_3[1]; // 直送配送料取得(残り分) $indataD[0] = $out_2[2]; // デポ配送の注文量 //echo "start1"; $rtn = fCalDepo($indataD, $from, $to, $vol, $out_4); //echo "ans3=$ans3"; $ans3 = $ans3 + $out_4[1]; // デポ配送料取得 //echo "out4=".$out_4[1].""; //echo "ans1=$ans1"; //echo "ans2=$ans2"; //echo "ans3=$ans3"; if($ans1 <= $ans2 && $ans1 <= $ans3) { // 直送(残りなし)が一番安い場合 $out[1] = $ans1; // 配送料 //echo "a1=".$ans1.""; $out[0] = $out_1[0]; // 余地 $out2[0] = $out2_1[0]; // 10tトラック使用台数 $out2[1] = $out2_1[1]; // 4tトラック使用台数 $out2[2] = $out2_1[2]; // 2tトラック使用台数 $out2[3] = 0; // デポ未使用にセット $out2[4] = $out_1[3]; // 余りに使用したトラックを2tにセット } else if($ans2 <= $ans1 && $ans2 <= $ans3) { // 直送(残りあり)が一番安い場合 //echo "a2=".$ans2.""; $out[1] = $ans2; // 配送料 $out[0] = $out_3[0]; // 余地 $out2[0] = $out2_2[0] + $out2_3[0]; // 10tトラック使用台数 $out2[1] = $out2_2[0] + $out2_3[1]; // 4tトラック使用台数 $out2[2] = $out2_2[0] + $out2_3[2]; // 2tトラック使用台数 $out2[3] = 0; // デポ未使用にセット $out2[4] = $out_3[3]; // 余りに使用したトラックを2tにセット } else { // デポ経由が一番安い場合 //echo "a3=".$ans3.""; $out[1] = $ans3; // 配送料 $out[0] = $out_4[0]; // 余地 $out2[0] = $out2_2[0]; // 10tトラック使用台数 $out2[1] = $out2_2[1]; // 4tトラック使用台数 $out2[2] = $out2_2[2]; // 2tトラック使用台数 $out2[3] = 1; // デポ使用にセット $out2[4] = 9; // 余りを使用しないにセット } } else { // 直送不可能な場合(デポ経由でのみ配送) // デポ所在地取得 $sql = " select depocd from area_h b where dvareacd = '".$in[1]."';"; $dmycnt = GetRecordArray($sql, $dmyinfo); // データ取得 $sql = " select * from carriage_h a, product_h b, gun_h c, area_h d"; $sql .= " where a.gunid = b.gunid"; $sql .= " and a.gunid = c.gunid"; $sql .= " and b.productid = '".$in[0]."'"; $sql .= " and a.areacd = d.depocd"; $sql .= " and d.areacd = '".$in[1]."';"; //echo $sql.""; $dmycnt = GetRecordArray($sql, $dmyinfo); $hai_D[0] = $dmyinfo[0][fare_10t]; // 10t配送料 $hai_D[1] = $dmyinfo[0][fare_4t]; // 4t配送料 $hai_D[2] = $dmyinfo[0][fare_2t]; // 2t配送料 // 修正開始 2001/05/13 by ぴょん吉 // $max_D[0] = $dmyinfo[0][maxcarry_10t]; // 10t最大積載量 // $max_D[1] = $dmyinfo[0][maxcarry_4t]; // 4t最大積載量 // $max_D[2] = $dmyinfo[0][maxcarry_2t]; // 2t最大積載量 // 副資材混合の場合 if($in[4] == "1") { $max_D[0] = $dmyinfo[0][maxcarry_10t]; // 10t最大積載量 $max_D[1] = $dmyinfo[0][maxcarry_4t]; // 4t最大積載量 $max_D[2] = $dmyinfo[0][maxcarry_2t]; // 2t最大積載量 } else { $max_D[0] = $dmyinfo[0][maxcarry_10tb]; // 10t最大積載量 $max_D[1] = $dmyinfo[0][maxcarry_4tb]; // 4t最大積載量 $max_D[2] = $dmyinfo[0][maxcarry_2tb]; // 2t最大積載量 } // 修正終了 2001/05/13 by ぴょん吉 //echo "max_D[0]".$max_D[0].""; //echo "max_D[1]".$max_D[1].""; //echo "max_D[2]".$max_D[2].""; $indataC[1] = 1; // トラック情報を10t以下可能にセット $indataC[2] = 1; // 残りを出さないにセット $rtn = fCalChoku($indataC, $max, $hai_D, $out_5, $out2_5); $out[1] = $out_5[1]; // デポまでの直送配送料 //echo "a4=".$out_5[1].""; //echo "10t=".$out2_5[0].""; // 直送フル積載が1台もない場合(余り台数をカウントに加える) if($out2_5[0] == 0 && $out2_5[1] && $out2_5[2]) $dmytruk = true; else $dmytruck = false; $indataD[0] = $in[2]; // デポ配送の注文量 //echo "start2"; $rtn = fCalDepo($indataD, $from, $to, $vol, $out_6); $out[1] = $out[1] + $out_6[1]; // デポ配送料加算 $out[0] = $out_6[0]; // 余地 $out2[0] = $out2_5[0] + (($out_5[3] == 0 && $dmytruk) ? 1 : 0); // 10tトラック使用台数 $out2[1] = $out2_5[1] + (($out_5[3] == 1 && $dmytruk) ? 1 : 0); // 4tトラック使用台数 $out2[2] = $out2_5[2] + (($out_5[3] == 2 && $dmytruk) ? 1 : 0); // 2tトラック使用台数 $out2[3] = 1; // デポ使用にセット $out2[4] = 9; // 余りを使用しないにセット } $out2[5] == ""; if($out2[0] != 0 || $out2[4] == 0) $out2[5] .= $TRUCKARY[1].(($out2[4] == 0) ? ($out2[0] + 1) : $out2[0])."台"; // 10tトラック使用時 if($out2[1] != 0 || $out2[4] == 1) $out2[5] .= $TRUCKARY[2].(($out2[4] == 1) ? ($out2[1] + 1) : $out2[1])."台"; // 4tトラック使用時 if($out2[2] != 0 || $out2[4] == 2) $out2[5] .= $TRUCKARY[3].(($out2[4] == 2) ? ($out2[2] + 1) : $out2[2])."台"; // 2tトラック使用時 if($out2[3] == 1) $out2[5] .= "デポ配送有"; // デポ配送有り時 return true; } // ボリュームディスカウント計算 // 入力 in[0]:商品ID // in[1]:会員ID // in[2]:注文量 // in[3]:単価 // 出力 out:From[4] // out2:To[4] // out3:金額[5](5番目は合計) // out4:単価[4] // out5:数量[5] (5番目は合計) // out6:背景色[4] // out7:ディスカウント率[4] // out8:範囲数 function fGetVolumeDis($in, &$out, &$out2, &$out3, &$out4, &$out5, &$out6, &$out7, &$out8) { // 変数の初期化 for($lop = 0; $lop < 14; $lop ++) { $out[$lop] = ""; $out2[$lop] = ""; $out3[$lop] = 0; $out4[$lop] = 0; $out5[$lop] = 0; $out6[$lop] = "#FFFFFF"; $out7[$lop] = ""; $to_t[$lop] = ""; $vol_t[$lop] = ""; $dmy[$lop] = 0; } // 商品テーブル $sql = "select * from product_h where productid = '".$in[0]."';"; $procnt = GetRecordArray($sql, $proinfo); if($procnt == "0") { fDspMessage("この商品は見積できません"); return false; } // 副資材の場合 if($proinfo[0][carryflg] == "0") { return false; } $to_e[0] = $proinfo[0][f_volto1]; $to_e[1] = $proinfo[0][f_volto2]; $to_e[2] = $proinfo[0][f_volto3]; $to_e[3] = $proinfo[0][f_volto4]; $to_e[4] = $proinfo[0][f_volto5]; $from_e[0] = $proinfo[0][f_volfrom1]; $from_e[1] = $proinfo[0][f_volfrom2]; $from_e[2] = $proinfo[0][f_volfrom3]; $from_e[3] = $proinfo[0][f_volfrom4]; $from_e[4] = $proinfo[0][f_volfrom5]; $vol_e[0] = $proinfo[0][f_vol1]; $vol_e[1] = $proinfo[0][f_vol2]; $vol_e[2] = $proinfo[0][f_vol3]; $vol_e[3] = $proinfo[0][f_vol4]; $vol_e[4] = $proinfo[0][f_vol5]; $to_t2[0] = $proinfo[0][t_volto1]; $to_t2[1] = $proinfo[0][t_volto2]; $to_t2[2] = $proinfo[0][t_volto3]; $to_t2[3] = $proinfo[0][t_volto4]; $to_t2[4] = $proinfo[0][t_volto5]; $from_t[0] = $proinfo[0][t_volfrom1]; $from_t[1] = $proinfo[0][t_volfrom2]; $from_t[2] = $proinfo[0][t_volfrom3]; $from_t[3] = $proinfo[0][t_volfrom4]; $from_t[4] = $proinfo[0][t_volfrom5]; $vol_t2[0] = $proinfo[0][t_vol1]; $vol_t2[1] = $proinfo[0][t_vol2]; $vol_t2[2] = $proinfo[0][t_vol3]; $vol_t2[3] = $proinfo[0][t_vol4]; $vol_t2[4] = $proinfo[0][t_vol5]; if($proinfo[0][term] == "") $term = 0; else $term = $proinfo[0][term]; $volsys = $proinfo[0][volsys]; // 枚数の場合 if($volsys == "1") { // 過去の実績取得(注文量) $sql = " select sum(b.ordercnt) from acporder a, acporderdt b where a.ordid = b.ordid and b.productid = '".$in[0]."' and a.cstmid = '".$in[1]."' and a.ordreqdate > '$voldate';"; $procnt = GetRecordArray($sql, $proinfo); $jisseki = $proinfo[0][0]; $sql = " select sum(b.ordercnt2) from acporder a, acporderdt_h b where a.ordid = b.ordid and b.productid = '".$in[0]."' and a.cstmid = '".$in[1]."' and a.ordreqdate > '$voldate';"; $procnt = GetRecordArray($sql, $proinfo); $jisseki = $jisseki + $proinfo[0][0]; } // 金額の場合 else { // 過去の実績取得(金額) $sql = " select sum(b.ordcost) from acporder a, acporderdt b where a.ordid = b.ordid and b.productid = '".$in[0]."' and a.cstmid = '".$in[1]."' and a.ordreqdate > '$voldate';"; $procnt = GetRecordArray($sql, $proinfo); $jisseki = $proinfo[0][0]; } $lop_t = 0; //$jisseki = 200; $ENDVALUE = 9999999999999; // 以上入力がされていた場合 for($lop = 0; $lop < 5; $lop ++) { if($from_t[$lop] != "" && $to_t2[$lop] == "") $to_t2[$lop] = $ENDVALUE; if($from_e[$lop] != "" && $to_e[$lop] == "") $to_e[$lop] = $ENDVALUE; } // 期間の再設定 for($lop = 0; $lop < 5; $lop ++) { if($to_t2[$lop] == $ENDVALUE) { $to_t[$lop_t] = $to_t2[$lop]; $vol_t[$lop_t] = $vol_t2[$lop]; break; } else if(($to_t2[$lop] - $jisseki) > 0) { $to_t[$lop_t] = $to_t2[$lop] - $jisseki; $vol_t[$lop_t] = $vol_t2[$lop]; $lop_t = $lop_t + 1; } } $lop_e = 0; $lop_t = 0; $lop = 0; $out[0] = 1; // 実績が存在する場合 if($jisseki > 0) { // 毎回と期間を結合する while(true) { if($vol_t[$lop_t] == "" && $vol_e[$lop_e] == "") break; else if($vol_t[$lop_t] == "") $out7[$lop] = $vol_e[$lop_e]; else if($vol_e[$lop_e] == "") $out7[$lop] = $vol_t[$lop_t]; else if($vol_t[$lop_t] < $vol_e[$lop_e]) $out7[$lop] = $vol_t[$lop_t]; else $out7[$lop] = $vol_e[$lop_e]; if($to_t[$lop_t] == $to_e[$lop_e]) { $out2[$lop] = $to_t[$lop_t]; $lop_t = $lop_t + 1; $lop_e = $lop_e + 1; } else if($to_e[$lop_e] == "" || ($to_t[$lop_t] != "" && $to_t[$lop_t] < $to_e[$lop_e])) { $out2[$lop] = $to_t[$lop_t]; $lop_t = $lop_t + 1; } else { $out2[$lop] = $to_e[$lop_e]; $lop_e = $lop_e + 1; } if($out2[$lop] == $ENDVALUE) break; else { $out[$lop + 1] = $out2[$lop] + 1; $lop = $lop + 1; } } // 以上入力されている場合 if($out2[$lop] == $ENDVALUE) { if($vol_t[$lop_t - 1] < $vol_e[$lop_e - 1]) $out7[$lop] = $vol_t[$lop_t - 1]; else $out7[$lop] = $vol_e[$lop_e - 1]; $out2[$lop] = ""; } else $out7[$lop] = 100; } // 実績が存在しない場合 else { while(true) { if($vol_e[$lop] == "") { $out7[$lop] = 100; break; } $out7[$lop] = $vol_e[$lop]; if($to_e[$lop] == $ENDVALUE) break; $out2[$lop] = $to_e[$lop]; $out[$lop + 1] = $out2[$lop] + 1; $lop = $lop + 1; } } $maxcnt = $lop; $voldate = date("Y/m/d", mktime(0, 0, 0, date("m")-$term, date("d"), date("Y"))); // 枚数の場合 if($volsys == "1") { $order = $in[2]; // 注文数量 //echo "maxcnt=$maxcnt"; //echo "order=$order"; //echo "jisseki=$jisseki"; for($lop = 0; $lop <= $maxcnt; $lop ++) { //echo "lop=".$lop; //echo "out=".$out[$lop]; //echo "out2=".$out2[$lop].""; // 範囲におさまらない場合 if($out2[$lop] < $order) { $out5[$lop] = (($out2[$lop] != "") ? ($out2[$lop] - $out[$lop] + 1) : ($order - $out[$lop] + 1)); // 数量 $out3[$lop] = ($in[3] * ($out7[$lop] / 100) * $out5[$lop]); // ボリュームディスカウント金額 $out6[$lop] = "#FFCC00"; // 背景色 $out5[$maxcnt + 1] = $out5[$maxcnt + 1] + $out5[$lop]; // 合計数量加算 //echo "a1 ".$out5[$lop]." ".$out3[$lop]." ".$out6[$lop].""; } // 範囲におさまる場合 else if($out[$lop] <= $order && $out2[$lop] >= $order) { $out5[$lop] = $order - $out[$lop] + 1; // 数量 $out3[$lop] = ($in[3] * ($out7[$lop] / 100) * $out5[$lop]); // ボリュームディスカウント金額 $out6[$lop] = "#FFCC00"; // 背景色 $out5[$maxcnt + 1] = $out5[$maxcnt + 1] + $out5[$lop]; // 合計数量加算 break; //echo "a3 ".$out5[$lop]." ".$out3[$lop]." ".$out6[$lop].""; } } // ボリュームディスカウント範囲外(原価計算)実績を含まない場合 // if($out2[$maxcnt - 1] < $order) { // $out5[$maxcnt] = $order - $out[$maxcnt] + 1; // 数量 // $out5[$maxcnt + 1] = $out5[$maxcnt + 1] + $out5[$maxcnt]; // 合計数量加算 // $out3[$lop] = $in[3] * $out5[$maxcnt]; // ボリュームディスカウント金額 // $out6[$maxcnt] = "#FFCC00"; // 背景色 //echo "a5 $lop"."---".$out5[$lop]."---".$out3[$lop]."---".$out6[$lop].""; // } } // 金額の場合 else { $order = $in[2] * $in[3]; // 注文金額 //echo "order=$order"; //echo "maxcnt=$maxcnt"; // 各範囲での数量をセット(切り捨て) for($lop = 0; $lop <= $maxcnt; $lop ++) { if($out2[$lop] >= $order) { // 注文金額が範囲内で収まったとき $dmy[$lop] = $in[2]; // 注文数 break; } else if($out2[$lop] == "") { // 注文金額が「以上」の範囲の場合 $dmy[$lop] = $in[2]; // 注文数 break; } else $dmy[$lop] = (int)($out2[$lop]/$in[3]); // 各範囲での商(余りは切り捨て)を取得 } $dmymax = $lop; // 範囲区分数をセット //echo "dmymax=$dmymax"; // 各範囲をまたがるものを安いほうにセット for($lop = 0; $lop < $dmymax; $lop ++) { if($out7[$lop] < $out7[$lop + 1]) $dmy[$lop] = $dmy[$lop] + 1; //echo "a$lop ".$dmy[$lop].""; } // 各範囲の数量をセット $out5[0] = $dmy[0]; for($lop = 1; $lop <= $dmymax; $lop ++) { $out5[$lop] = $dmy[$lop] - $dmy[$lop - 1]; // 数量 } for($lop = 0; $lop <= $dmymax; $lop ++) { $out3[$lop] = (int)($in[3] * ($out7[$lop] / 100) * $out5[$lop]); // ボリュームディスカウント金額 $out6[$lop] = "#FFCC00"; // 背景色 $out5[$maxcnt + 1] = $out5[$maxcnt + 1] + $out5[$lop]; // 合計数量加算 } } // 出力パラメータセット for($lop = 0; $lop <= $maxcnt; $lop ++) { $out3[$maxcnt + 1] = $out3[$maxcnt + 1] + $out3[$lop]; // 合計金額加算 //echo "$lop = ".$out3[$lop].""; $out4[$lop] = (int)($in[3] * ($out7[$lop] / 100)); // 単価セット } $out8 = $maxcnt; // 範囲数セット return true; } //2005.09.06 midori //サニタイジングしたデータを元に戻す // 実体参照を文字に変換 // エスケープした特殊文字のエスケープを外す // 画面表示前には必要ないが、メール等にて送信時に必要 function funsanitary($in) { $buf = ""; $buf = str_replace("<","<",$in); $buf = str_replace(">",">",$buf); $buf = str_replace(""","\"",$buf); $buf = str_replace("&","&",$buf); $buf = stripslashes($buf); return $buf; } //20070228 midori com0010.php3の内容コピー↑ //2007.09.26 midori //機種依存文字の強制変換 //丸数字、ローマ字等の変換は他の文字の文字化けが発生する為行わない function replaceText($str){ // 半角カナ $str = mb_convert_kana($str, "KV"); /* //ここからコメントアウト $arr = array( // ADA0 - ADB4 "\xAD\xA1" => "(1)", "\xAD\xA2" => "(2)", "\xAD\xA3" => "(3)", "\xAD\xA4" => "(4)", "\xAD\xA5" => "(5)", "\xAD\xA6" => "(6)", "\xAD\xA7" => "(7)", "\xAD\xA8" => "(8)", "\xAD\xA9" => "(9)", "\xAD\xAA" => "(10)", "\xAD\xAB" => "(11)", "\xAD\xAC" => "(12)", "\xAD\xAD" => "(13)", "\xAD\xAE" => "(14)", "\xAD\xAF" => "(15)", "\xAD\xB0" => "(16)", "\xAD\xB1" => "(17)", "\xAD\xB2" => "(18)", "\xAD\xB3" => "(19)", "\xAD\xB4" => "(20)", // ADB5 - ADBF "\xAD\xB5" => "I", "\xAD\xB6" => "II", "\xAD\xB7" => "III", "\xAD\xB8" => "IV", "\xAD\xB9" => "V", "\xAD\xBA" => "VI", "\xAD\xBB" => "VII", "\xAD\xBC" => "VIII", "\xAD\xBD" => "IX", "\xAD\xBE" => "X", "\xAD\xBF" => "?", "\xAD\xC0" => "ミリ", "\xAD\xC1" => "キロ", "\xAD\xC2" => "センチ", "\xAD\xC3" => "メートル", "\xAD\xC4" => "グラム", "\xAD\xC5" => "トン", "\xAD\xC6" => "アール", "\xAD\xC7" => "ヘクタール", "\xAD\xC8" => "リットル", "\xAD\xC9" => "ワット", "\xAD\xCA" => "カロリー", "\xAD\xCB" => "ドル", "\xAD\xCC" => "セント", "\xAD\xCD" => "パーセント", "\xAD\xCE" => "ミリバール", "\xAD\xCF" => "ページ", "\xAD\xD0" => "mm", "\xAD\xD1" => "cm", "\xAD\xD2" => "km", "\xAD\xD3" => "mg", "\xAD\xD4" => "kg", "\xAD\xD5" => "cc", "\xAD\xD6" => "m2", "\xAD\xDF" => "平成", "\xAD\xE0" => "``", "\xAD\xE1" => "''", "\xAD\xE2" => "No.", "\xAD\xE3" => "K.K.", "\xAD\xE4" => "", "\xAD\xE5" => "(上)", "\xAD\xE6" => "(中)", "\xAD\xE7" => "(下)", "\xAD\xE8" => "(左)", "\xAD\xE9" => "(右)", "\xAD\xEA" => "(株)", "\xAD\xEB" => "(有)", "\xAD\xEC" => "(代)", "\xAD\xED" => "明治", "\xAD\xEE" => "大正", "\xAD\xEF" => "昭和", "\xAD\xF0" => "", "\xAD\xF1" => "", "\xAD\xF2" => "", "\xAD\xF3" => "", "\xAD\xF4" => "", "\xAD\xF5" => "", "\xAD\xF6" => "", "\xAD\xF7" => "", "\xAD\xF8" => "", "\xAD\xF9" => "", "\xAD\xFA" => "", "\xAD\xFB" => "", "\xAD\xFC" => "", "\xFC\xF1" => "i", "\xFC\xF2" => "ii", "\xFC\xF3" => "iii", "\xFC\xF4" => "iv", "\xFC\xF5" => "v", "\xFC\xF6" => "vi", "\xFC\xF7" => "vii", "\xFC\xF8" => "viii", "\xFC\xF9" => "ix", "\xFC\xFA" => "x", ); return strtr($str,$arr); */ /* // 丸付き文字 $str = str_replace("?", "(1)", $str); $str = str_replace("?", "(2)", $str); $str = str_replace("?", "(3)", $str); $str = str_replace("?", "(4)", $str); $str = str_replace("?", "(5)", $str); $str = str_replace("?", "(6)", $str); $str = str_replace("?", "(7)", $str); $str = str_replace("?", "(8)", $str); $str = str_replace("?", "(9)", $str); $str = str_replace("?", "(10)", $str); $str = str_replace("?", "(11)", $str); $str = str_replace("?", "(12)", $str); $str = str_replace("?", "(13)", $str); $str = str_replace("?", "(14)", $str); $str = str_replace("?", "(15)", $str); $str = str_replace("?", "(16)", $str); $str = str_replace("?", "(17)", $str); $str = str_replace("?", "(18)", $str); $str = str_replace("?", "(19)", $str); $str = str_replace("?", "(20)", $str); $str = str_replace("?", "(上)", $str); $str = str_replace("?", "(中)", $str); $str = str_replace("?", "(下)", $str); $str = str_replace("?", "(左)", $str); $str = str_replace("?", "(右)", $str); // ローマ数字 $str = str_replace("?", "I", $str); $str = str_replace("?", "II", $str); $str = str_replace("?", "III", $str); $str = str_replace("?", "IV", $str); $str = str_replace("?", "V", $str); $str = str_replace("?", "VI", $str); $str = str_replace("?", "VII", $str); $str = str_replace("?", "VIII", $str); $str = str_replace("?", "IX", $str); $str = str_replace("?", "X", $str); $str = str_replace("?", "i", $str); $str = str_replace("?", "ii", $str); $str = str_replace("?", "iii", $str); $str = str_replace("?", "iv", $str); $str = str_replace("?", "v", $str); $str = str_replace("?", "vi", $str); $str = str_replace("?", "vii", $str); $str = str_replace("?", "viii", $str); $str = str_replace("?", "ix", $str); $str = str_replace("?", "x", $str); // 単位文字 $str = str_replace("?", "ミリ", $str); $str = str_replace("?", "キロ", $str); $str = str_replace("?", "センチ", $str); $str = str_replace("?", "メートル", $str); $str = str_replace("?", "グラム", $str); $str = str_replace("?", "トン", $str); $str = str_replace("?", "アール", $str); $str = str_replace("?", "ヘクタール", $str); $str = str_replace("?", "リットル", $str); $str = str_replace("?", "ワット", $str); $str = str_replace("?", "カロリー", $str); $str = str_replace("?", "ドル", $str); $str = str_replace("?", "セント", $str); $str = str_replace("?", "パーセント", $str); $str = str_replace("?", "ミリバール", $str); $str = str_replace("?", "ページ", $str); $str = str_replace("?", "mm", $str); $str = str_replace("?", "cm", $str); $str = str_replace("?", "km", $str); $str = str_replace("?", "mg", $str); $str = str_replace("?", "kg", $str); $str = str_replace("?", "cc", $str); $str = str_replace("?", "m2", $str); // その他 $str = str_replace("?", "No.", $str); $str = str_replace("?", "K.K.", $str); $str = str_replace("?", "TEL.", $str); $str = str_replace("?", "(株)", $str); $str = str_replace("?", "(有)", $str); $str = str_replace("?", "(代)", $str); $str = str_replace("?", "明治", $str); $str = str_replace("?", "大正", $str); $str = str_replace("?", "昭和", $str); $str = str_replace("?", "平成", $str); return $str; */ $str = str_replace("?", "No.", $str); $str = str_replace("?", "K.K.", $str); $str = str_replace("?", "TEL.", $str); $str = str_replace("?", "(株)", $str); $str = str_replace("?", "(有)", $str); $str = str_replace("?", "(代)", $str); $str = str_replace("?", "明治", $str); $str = str_replace("?", "大正", $str); $str = str_replace("?", "昭和", $str); $str = str_replace("?", "平成", $str); return $str; } //2007.10.02 midori //Google Mapの地図URL作成 function MakeGoogleMapURL($taraddress , $tarzoom = 15 , $tarencode = "UTF-8"){ //住所からGoogle Mapを開く //Google Mapには引数がたくさんあるので、未定義の引数は初期値設定を何らかの形で行う //$taraddress 対象住所 //$tarzoom zoom 18が最大 16程度でいいと思う //$tarencode 基本的にUTF8 $googlemapurl = "https://maps.google.co.jp/maps?"; $googlemapurl .= "hl=ja&q=".urlencode(mb_convert_encoding($taraddress,$tarencode))."&z=".$tarzoom; return $googlemapurl; } //2009/11/24 プランX追加 カテゴリ1とカテゴリ2 function category_make1($select) { $category_make1_array = array( '01' => 'キッチン', '02' => 'バスルーム', '03' => '洗面', '04' => 'トイレ', '05' => '給湯器・エコキュート', '06' => '給排水', '07' => '照明・電材', '08' => 'インターホン', '09' => 'エアコン・空調・換気', '10' => '床・壁・天井材', '11' => '建具・収納', '12' => '建材・住宅設備', '13' => 'セキュリティ', '14' => '外部ドア・サッシ・ガラス', '15' => 'ウォールエクステリア', '16' => 'エクステリア', '17' => '防水・吹付・塗料・接着剤', '18' => '屋根・外壁', '19' => '石・タイル・レンガ', '20' => 'プレカット・仮設材・物置', '21' => 'カーテン・ブラインド', '22' => 'インテリア装飾', '23' => '家具', '24' => '家電', '25' => '金物・工具', '26' => 'その他' ); if(empty($select)) { $category1_option = ""; } elseif($select > 26) { $category1_option = "-- 選択して下さい --"; } else { $category1_option = "".$category_make1_array[$select].""; } echo " ".$category1_option." キッチン バスルーム 洗面 トイレ 給湯器・エコキュート 給排水 照明・電材 インターホン エアコン・空調・換気 床・壁・天井材 建具・収納 建材・住宅設備 セキュリティ 外部ドア・サッシ・ガラス ウォールエクステリア エクステリア 防水・吹付・塗料・接着剤 屋根・外壁 石・タイル・レンガ プレカット・仮設材・物置 カーテン・ブラインド インテリア装飾 家具 家電 金物・工具 その他 "; return; } function category_make2($category1,$category2) { $category_make2_array = array( '0101' => 'キッチン', '0102' => 'ミニキッチン', '0103' => '業務用キッチン', '0104' => 'IHクッキングヒーター', '0105' => 'オーブン・レンジ', '0106' => '食器洗浄機', '0107' => '浄水器', '0108' => 'システム収納', '0109' => '換気扇', '0110' => 'レンジフード', '0111' => '排気排煙システム', '0112' => 'キッチンボード', '0113' => '生ごみ処理機器', '0201' => 'システムバス', '0202' => '浴槽', '0203' => '浴室乾燥機', '0204' => 'サニタリー機器', '0205' => 'シャワールーム', '0206' => 'サウナ', '0207' => 'ミストユニット', '0208' => '24時間風呂', '0209' => '浴槽フタ', '0210' => '浴室備品', '0211' => '浴室テレビ', '0301' => '洗面化粧台', '0302' => '洗面器・手洗器', '0303' => 'カウンター', '0304' => 'ミラーキャビネット', '0305' => '洗面周辺商品', '0306' => '防水パン', '0401' => '便器', '0402' => '便座', '0403' => '小便器', '0404' => '簡易水洗便器', '0405' => '手洗器', '0406' => 'トイレカウンター', '0407' => 'トイレ収納', '0408' => 'トイレアクセサリー', '0409' => '浄化槽', '0410' => 'ベビーチェアー・ベビーベッド', '0501' => 'ガス給湯器', '0502' => '石油給湯器', '0503' => '電気温水器', '0504' => 'エコキュート', '0505' => 'コントローラー', '0601' => '各種配管材料', '0602' => '水栓金具', '0603' => 'アクセサリー', '0701' => '照明器具', '0702' => 'ランプ', '0703' => '配線器具', '0704' => 'スイッチ', '0705' => '分電盤', '0801' => 'インターホン', '0901' => 'エアコン', '0902' => '温風暖房機', '0903' => '輹射暖房システム', '0904' => '換気扇', '0905' => '空気清浄機', '0906' => '床暖房システム', '0907' => '24時間換気システム', '1001' => '複合フローリング', '1002' => '無垢フローリング', '1003' => '竹製床材', '1004' => '接着剤(フローリング用)', '1005' => '畳', '1006' => 'コルクタイル', '1007' => 'ビニル床タイル', '1008' => 'ビニル床シート', '1009' => '幅木', '1010' => '塗り床', '1011' => 'システム床(二重床)', '1012' => 'カーペット', '1013' => 'クロス', '1014' => 'プリント合板', '1015' => '合板', '1016' => '木質壁材', '1017' => '調湿内装壁材', '1018' => '天井材', '1019' => '回り縁', '1101' => '室内ドア', '1102' => '開閉間仕切り', '1103' => '押入れ部材', '1104' => '収納', '1105' => '収納ドア', '1106' => '玄関収納', '1107' => '床下収納庫', '1108' => '天井収納はしご', '1109' => '掘ごたつ・堀座卓', '1110' => 'プライベートボックス', '1201' => '階段', '1202' => '階段手すり', '1203' => '階段用すべり止め', '1204' => '玄関回り造作材', '1205' => '玄関収納イス', '1206' => '床の間・書院部材', '1207' => '神棚', '1208' => '室内物干', '1209' => 'カウンター', '1210' => '造作材各種', '1211' => '無垢材', '1212' => '室内手すり', '1213' => 'エレベーター', '1214' => 'ソーラーシステム', '1215' => '断熱材', '1216' => '防音材', '1301' => '火災報知設備', '1302' => '消火器', '1303' => '防犯建材・セキュリティ', '1304' => '避難設備機器', '1305' => '非常警報設備', '1306' => 'ガス漏れ警報器', '1307' => '防犯フィルム', '1401' => 'アルミ製玄関ドア', '1402' => 'スチール製玄関ドア', '1403' => '木製玄関ドア', '1404' => '勝手口ドア', '1405' => 'サッシ', '1406' => 'ルーフ窓', '1407' => '室内サッシ', '1408' => 'シャッター', '1409' => '出窓', '1410' => '網戸', '1411' => 'ガラス', '1412' => 'ガラスドア', '1413' => 'ガラスブロック', '1414' => '断熱複層ガラス', '1415' => 'ステンドグラス', '1416' => 'ミラー', '1417' => 'ガラス用フィルム', '1418' => 'アクリル板', '1419' => 'ポリカーボネート板', '1501' => 'ベランダ・テラス', '1502' => '目隠し用ルーバー', '1503' => 'ベランダ屋上手すり', '1504' => '物干金物', '1505' => '窓花壇・窓手すり', '1506' => '面格子', '1507' => '装飾金物', '1508' => 'ひさしユニット', '1601' => 'ガーデンパン', '1602' => '擬石・擬岩', '1603' => 'フェンス', '1604' => '門扉', '1605' => '宅配ボックス', '1606' => '車庫', '1607' => '車止め', '1608' => '段差埋め', '1609' => '物置', '1610' => 'システムデッキ', '1611' => '雑草対策', '1612' => '濡れ縁', '1613' => 'ポスト', '1701' => '透湿防水シート', '1702' => '防水材', '1703' => 'シーリング', '1704' => '防水テープ', '1705' => '塗料', '1706' => '特殊塗料', '1707' => '接着材', '1708' => 'ワックス', '1709' => '防腐・防蟻剤', '1801' => 'コロニアル', '1802' => '瓦', '1803' => 'アスファルトシングル', '1804' => 'アスファルトルーフィング', '1805' => '金属系サイディング', '1806' => '樹脂系サイディング', '1807' => 'ALC', '1808' => '窯業系サイディング', '1809' => '木質系外装材', '1901' => '石', '1902' => 'ブロック', '1903' => '床タイル', '1904' => '内装壁タイル', '1905' => '外装壁タイル', '1906' => 'タイル張付用接着剤', '1907' => '目地材', '1908' => 'ノンスリップタイル', '1909' => 'れんが', '2001' => 'プレカット材', '2002' => '構造金物', '2003' => '工事用シート', '2004' => '足場', '2005' => '脚立', '2006' => '保安用品', '2007' => '仮設ハウス', '2008' => '仮設トイレ', '2009' => 'シート・養生カバー', '2010' => 'ガラ袋・土嚢袋', '2101' => 'カーテン', '2102' => 'ブラインド', '2201' => 'コルクボード', '2202' => 'プランター', '2301' => '収納', '2302' => 'テーブル', '2303' => '机', '2304' => 'イス', '2305' => 'ベッド', '2401' => 'テレビ', '2402' => 'テレビ取付器具', '2402' => '冷蔵庫', '2403' => '電子レンジ', '2404' => '掃除機', '2405' => '食洗機', '2406' => 'アンプ', '2407' => '空気清浄機', '2408' => '家電その他', '2501' => '木工事用電動工具', '2502' => '釘打機・タッカ', '2503' => 'ドリル・ドライバ', '2504' => 'カッター', '2505' => 'ジグゾ・ルータ', '2506' => '接着剤', '2507' => 'ビス', '2508' => '釘', '2509' => 'ドア錠', '2510' => 'ドアハンドル', '2511' => 'ドアクローザ', '2512' => '丁番', '2513' => '戸当り・ストッパー', '2514' => 'ドアチェーン', '2515' => '家具金物', '2516' => 'ビス', '2517' => 'マグネットキャッチ', '2601' => '上棟セット', '2602' => 'その他' ); if(empty($category1) && empty($category2)) { $category2_option = ""; } elseif($category1 > 26 || $category2 > 19) { $category2_option = "-- 選択して下さい --"; } else { $category2_option = "".$category_make2_array[$category1.$category2].""; } echo " ".$category2_option." --- キッチン --- キッチン ミニキッチン 業務用キッチン IHクッキングヒーター オーブン・レンジ 食器洗浄機 浄水器 システム収納 換気扇 レンジフード 排気排煙システム キッチンボード 生ごみ処理機器 --- バスルーム --- システムバス 浴槽 浴室乾燥機 サニタリー機器 シャワールーム サウナ ミストユニット 24時間風呂 浴槽フタ 浴室備品 浴室テレビ --- 洗面 --- 洗面化粧台 洗面器・手洗器 カウンター ミラーキャビネット 洗面周辺商品 防水パン --- トイレ --- 便器 便座 小便器 簡易水洗便器 手洗器 トイレカウンター トイレ収納 トイレアクセサリー 浄化槽 ベビーチェアー・ベビーベッド --- 給湯器・エコキュート --- ガス給湯器 石油給湯器 電気温水器 エコキュート コントローラー --- 給排水 --- 各種配管材料 水栓金具 アクセサリー --- 照明・電材 --- 照明器具 ランプ 配線器具 スイッチ 分電盤 --- インターホン --- インターホン --- エアコン・空調・換気 --- エアコン 温風暖房機 輹射暖房システム 換気扇 空気清浄機 床暖房システム 24時間換気システム --- 床・壁・天井材 --- 複合フローリング 無垢フローリング 竹製床材 接着剤(フローリング用) 畳 コルクタイル ビニル床タイル ビニル床シート 幅木 塗り床 システム床(二重床) カーペット クロス プリント合板 合板 木質壁材 調湿内装壁材 天井材 回り縁 --- 建具・収納 --- 室内ドア 開閉間仕切り 押入れ部材 収納 収納ドア 玄関収納 床下収納庫 天井収納はしご 掘ごたつ・堀座卓 プライベートボックス --- 建材・住宅設備 --- 階段 階段手すり 階段用すべり止め 玄関回り造作材 玄関収納イス 床の間・書院部材 神棚 室内物干 カウンター 造作材各種 無垢材 室内手すり エレベーター ソーラーシステム 断熱材 防音材 --- セキュリティ --- 火災報知設備 消火器 防犯建材・セキュリティ 避難設備機器 非常警報設備 ガス漏れ警報器 防犯フィルム --- 外部ドア・サッシ・ガラス --- アルミ製玄関ドア スチール製玄関ドア 木製玄関ドア 勝手口ドア サッシ ルーフ窓 室内サッシ シャッター 出窓 網戸 ガラス ガラスドア ガラスブロック 断熱複層ガラス ステンドグラス ミラー ガラス用フィルム アクリル板 ポリカーボネート板 --- ウォールエクステリア --- ベランダ・テラス 目隠し用ルーバー ベランダ屋上手すり 物干金物 窓花壇・窓手すり 面格子 装飾金物 ひさしユニット --- エクステリア --- ガーデンパン 擬石・擬岩 フェンス 門扉 宅配ボックス 車庫 車止め 段差埋め 物置 システムデッキ 雑草対策 濡れ縁 ポスト --- 防水・吹付・塗料・接着剤 --- 透湿防水シート 防水材 シーリング 防水テープ 塗料 特殊塗料 接着材 ワックス 防腐・防蟻剤 --- 屋根・外壁 --- コロニアル 瓦 アスファルトシングル アスファルトルーフィング 金属系サイディング 樹脂系サイディング ALC 窯業系サイディング 木質系外装材 --- 石・タイル・レンガ --- 石 ブロック 床タイル 内装壁タイル 外装壁タイル タイル張付用接着剤 目地材 ノンスリップタイル れんが --- プレカット・仮設材・物置 --- プレカット材 構造金物 工事用シート 足場 脚立 保安用品 仮設ハウス 仮設トイレ シート・養生カバー ガラ袋・土嚢袋 --- カーテン・ブラインド --- カーテン ブラインド --- インテリア装飾 --- コルクボード プランター --- 家具 --- 収納 テーブル 机 イス ベッド --- 家電 --- テレビ テレビ取付器具 冷蔵庫 電子レンジ 掃除機 食洗機 アンプ 空気清浄機 家電その他 --- 金物・工具 --- 木工事用電動工具 釘打機・タッカ ドリル・ドライバ カッター ジグゾ・ルータ 接着剤 ビス 釘 ドア錠 ドアハンドル ドアクローザ 丁番 戸当り・ストッパー ドアチェーン 家具金物 ビス マグネットキャッチ --- その他 --- 上棟セット その他 "; return; } /********************************************************* // 2015.04.30 motegi 一般クレジットカード対応関数群 *********************************************************/ /* * 決済識別に対応するメール印字文字列取得 * */ function getStlwayMailText( $stlway ){ switch($stlway) { case '01' : return("銀行振込"); break; case '02' : return("カーサナビカード/forBizカード"); break; case '12' : return("クレジットカード"); break; case '07' : return("後払い(売掛)"); break; } return("銀行振込"); } /* * 決済識別に対応するオプションメニューを作成(b/lib/payment/util/functions.php版とは別仕様) * 2018.11.5 motegi 売掛サポート対応 * */ function getStlwayOptions( $stlway ) { if ($stlway == "01") { $wkselect1 = " SELECTED"; $wkselect2 = ""; $wkselect3 = ""; $wkselect4 = ""; } else if ($stlway == "02") { $wkselect1 = ""; $wkselect2 = " SELECTED"; $wkselect3 = ""; $wkselect4 = ""; } else if ($stlway == "07") { $wkselect1 = ""; $wkselect2 = ""; $wkselect3 = ""; $wkselect4 = " SELECTED"; } else { $wkselect1 = ""; $wkselect2 = ""; $wkselect3 = " SELECTED"; $wkselect4 = ""; } $stlway_option = "銀行振込"; $stlway_option.= "カーサナビカード/forBizカード"; $stlway_option.= "クレジットカード"; if($stlway == "07") { $stlway_option .="後払い(売掛)"; } return $stlway_option; } /********************************************************* // 2010.06.08 motegi ファイルアップロード対応関数群 *********************************************************/ /********************************************************* // 2010.05.31 motegi ファイルアップロード対応(0/3) // 既存のアップロード済みファイルの情報を取得する *********************************************************/ function load_option_file_path($gunid, &$oi) { $sql = "select * from option_file_path where gunid = '$gunid';"; $cnt = GetRecordArray($sql, $oi); return $cnt; } /********************************************************* // 2010.05.19 motegi ファイルアップロード対応(0/3) // アップロードファイルの入力フィールドを表示する *********************************************************/ function entry_option_file_path( $gunid, $oi ) { for( $i=1; $i<=OPTION_FILE_ROWS; $i++ ) { echo ""; if($i==1) echo "添付書類"; echo ""; echo "名(省略可)"; echo " ファイル\n"; for( $j=1; $j<=OPTION_FILE_ROWS; $j++) { // ファイルの枝番に該当する行にインデックスする $bnumber = substr($oi[$j-1]['filename'], strpos($oi[$j-1]['filename'], ".")-1, 1); if($bnumber == false) continue; if( $i == intval($bnumber) ) { echo (empty($oi[$j-1]['filename'])) ? "" : "/「".$oi[$j-1]['purpose']."」が設定済 削除"; break; } } echo ""; echo ""; } return; } function entry_option_file_path2( $gunid, $oi ) { ?> 添付する書類(任意/ echo OPTION_FILE_ROWS ?>個まで指定可能) アップロードするファイル 表示する書類名(省略可) 設定済みの書類 削除指定 for( $i=1; $i<=OPTION_FILE_ROWS; $i++ ) { echo ""; $fld_upfile = "\n"; $fld_docname = ""; $fld_dltflg = ""; $fld_exist = "(なし)"; for( $j=1; $j<=OPTION_FILE_ROWS; $j++) { // ファイルの枝番に該当する行にインデックスする $bnumber = substr($oi[$j-1]['filename'], strpos($oi[$j-1]['filename'], ".")-1, 1); if($bnumber == false) continue; if( $i == intval($bnumber) ) { $fld_exist = (empty($oi[$j-1]['filename'])) ? "" : "".$oi[$j-1]['purpose'].""; $fld_dltflg = ""; break; } } echo "".$fld_upfile.""; echo "".$fld_docname.""; echo "".$fld_exist.""; echo "".$fld_dltflg.""; echo ""; } ?> ・ファイル名は「ATTACH_(番号1〜 echo OPTION_FILE_ROWS ?>).(拡張子)」の形式に自動的に変換されます。 ・添付できるファイルはJPEG画像(.jpg)、BMP画像(.bmp)、EXCELブック(.xls)、WORD書類(.doc)、PDFファイル(.pdf)のいずれかでお願いします。 (その他の形式を添付されたい場合はカーサナビにご相談ください) ・設定済みの書類がある項目に新たにアップロードすると書類が上書きされます。 ・設定済みの書類がある項目に書類名だけ指定すると、書類名だけ変更されます。 ・添付できるファイルのサイズは1つあたり1.8MBまでです。 return; } /********************************************************* // 2010.05.19 motegi ファイルアップロード対応(0/3) // アップロードファイルの入力内容を確認表示する *********************************************************/ // 新規登録(sqlflg=1)の場合: // 内容の表示のみ // // 更新登録(sqlflg=2)の場合: // 以下の順に処理 // ?dltflg=1〜5がセットされている場合はoption_file_path項目の削除とファイルの削除を行う // ?差し替えファイルの指定があった場合はsqlflg=1同様にアップロード // // 削除(sqlflg=3)の場合: // dltflg如何によらず、該当gunidの登録済みアップロードファイルは全て削除する // function confirm_option_file_path( $gunid, $oi ) { include("../common/comglbl.php3"); for( $i=1; $i<=OPTION_FILE_ROWS; $i++ ) { echo ""; if($i==1) echo "添付書類"; echo ""; echo ""; $purpose = (empty(${"purpose".$i}) ? ${"orgname".$i} : ${"purpose".$i}); $alreadyexist = "(未設定)"; for( $j=1; $j<=OPTION_FILE_ROWS; $j++) { // ファイルの枝番を取得。枝番に該当する行に設定する $bnumber = substr($oi[$j-1]['filename'], strpos($oi[$j-1]['filename'], ".")-1, 1); if($bnumber == false) continue; if( $i == intval($bnumber) ) { $alreadyexist = "「".$oi[$j-1]['purpose']."」設定済み"; break; } } echo $alreadyexist; echo ""; if( !empty($purpose) ) { if( !empty(${"result".$i}) || !empty(${"ss_result".$i}) ) // どちらか { echo " => 添付書類「".$purpose."」の設定に失敗しました"; } else if( !empty(${"orgname".$i}) ) { echo " => 添付書類「".$purpose."」を新しく設定します"; } else { echo " => 内容はそのままで書類名だけ「".$purpose."」に変更されます"; } } else if( !empty(${"dltflg".$i}) ) { echo " => 削除されます"; } echo ""; echo ""; echo ""; echo ""; } return; } /********************************************************* // 2010.05.19 motegi ファイルアップロード対応(0/3) // アップロードファイルの入力内容を確認表示する *********************************************************/ // 新規登録(sqlflg=1)の場合: // 内容の表示のみ // // 更新登録(sqlflg=2)の場合: // 以下の順に処理 // dltflg=1〜5がセットされている場合はoption_file_path項目の削除とファイルの削除を行う // 差し替えファイルの指定があった場合はsqlflg=1同様にアップロード // // 削除(sqlflg=3)の場合: // dltflg如何によらず、該当gunidの登録済みアップロードファイルは全て削除する // function confirm_option_file_path2( $gunid, $oi ) { include("../common/comglbl.php3"); ?> 添付する書類 for( $i=1; $i<=OPTION_FILE_ROWS; $i++ ) { echo ""; echo ""; echo ""; $purpose = (empty(${"purpose".$i}) ? ${"orgname".$i} : ${"purpose".$i}); $alreadyexist = "(未設定)"; for( $j=1; $j<=OPTION_FILE_ROWS; $j++) { // ファイルの枝番を取得。枝番に該当する行に設定する $bnumber = substr($oi[$j-1]['filename'], strpos($oi[$j-1]['filename'], ".")-1, 1); if($bnumber == false) continue; if( $i == intval($bnumber) ) { $alreadyexist = "「".$oi[$j-1]['purpose']."」設定済み"; break; } } echo $alreadyexist; echo ""; if( !empty($purpose) ) { if( !empty(${"result".$i}) || !empty(${"ss_result".$i}) ) // どちらか { echo " => 添付書類「".$purpose."」の設定に失敗しました"; } else if( !empty(${"orgname".$i}) ) { echo " => 添付書類「".$purpose."」を新しく設定します"; } else { echo " => 内容はそのままで書類名だけ「".$purpose."」に変更されます"; } } else if( !empty(${"dltflg".$i}) ) { echo " => 削除されます"; } echo ""; echo ""; echo ""; echo ""; } ?> return; } /********************************************************* // 2010.05.19 motegi ファイルアップロード対応(0/3) // アップロードファイルの設定状況を表示する *********************************************************/ function preview_option_file_path( $gunid ) { include("../common/comglbl.php3"); // 既存のアップロード済みファイルの情報を取得する $optcnt = load_option_file_path($gunid, $oi); if( $optcnt > 0 ) { echo ""; $rows = 0; for( $i=1; $i<=OPTION_FILE_ROWS; $i++ ) { for( $j=1; $j<=OPTION_FILE_ROWS; $j++ ) { // ファイルの枝番を取得。枝番に該当する行に設定する $bnumber = substr($oi[$j-1]['filename'], strpos($oi[$j-1]['filename'], ".")-1, 1); if($bnumber == false) { continue; } else if( $i == intval($bnumber) ) { $rows++; break; } } } $alreadyexist = ""; for( $i=1; $i<=OPTION_FILE_ROWS; $i++ ) { $purpose = (empty(${"purpose".$i}) ? ${"orgname".$i} : ${"purpose".$i}); for( $j=1; $j<=OPTION_FILE_ROWS; $j++) { // ファイルの枝番を取得。枝番に該当する行に設定する $bnumber = substr($oi[$j-1]['filename'], strpos($oi[$j-1]['filename'], ".")-1, 1); // ファイルの存在しない行だったら次のファイルへ if($bnumber == false) continue; // ファイルが存在するなら次の表示処理へ if($i == intval($bnumber)) break; } if( $j <= OPTION_FILE_ROWS ) { if( $alreadyexist == "" ) { echo "添付書類"; $alreadyexist = "done"; } else { echo ""; } echo ""; echo "".$oi[$j-1]['purpose']."(".$oi[$j-1]['filename'].")"; echo ""; echo ""; } } echo ""; } else { echo "(添付書類はありません)"; } return; } /************************************************************ ファイルアップロード対応 motegi 2010.05.25(3/5) アップロードを実行するメソッド群 ************************************************************/ // 商品群あたりのファイルアップロードを実行する // アップロードあり:true アップロードなし:false // // この時点ではいったんファイルは _OptUpdir 配下に書きこまれるが商品群との関連付けは行われない // アップロードした情報はセッション(相当の情報)に格納される // fUpload_Copy_Fix() を実行することで、セッションの内容に基づきアップロード内容を確定する function fUpload_Copy_Prefer( &$errdetail ) { include("../common/comglbl.php3"); $file_on = false; //ファイルがアップロードされている場合のフラグ $errdetail = ""; //詳細 //アップロード前にセッションが残っていたら、確定前の残骸がいるはずなので始末する for($i=1; $i<=OPTION_FILE_ROWS; $i++) { if(!empty( ${"tmp_filepath".$i}['filename'] )) { unlink( _OptUpdir.${"tmp_filepath".$i}['filename'] ); } } //ファイルアップロード for($i=1; $i<=OPTION_FILE_ROWS; $i++) { // アップロード対象ファイルがあれば仮アップロードとセッション情報の作成を行う if(!empty(${"orgname".$i})) { ${"upload".$i} = new File_Upload; //アップロードクラスの実行 ${"upload".$i}->file_name_type = "TIME"; //ファイルの名前は自力で取得 ${"upload".$i}->dir_path = _OptUpdir; //保存先のディレクトリを選択 ${"upload".$i}->Upload_limited( ${"tmpname".$i},${"orgname".$i},"","_".$i,1850000);//アップロード実行 // アップロードに失敗した場合はエラーメッセージを採取 if(${"upload".$i}->flg != 1) { $errdetail .= ${"upload".$i}->msg.":".${"orgname".$i}."\n"; ${"result".$i} = ${"upload".$i}->msg; $file_on = false; continue; } // セッションに退避 ${"array_tmp_filepath".$i} = array( 'original' => ${"orgname".$i}, 'filename' => ${"upload".$i}->file_name_return, 'purpose' => ${"purpose".$i}, 'update' => date('Y/m/d') ); /* セッションを使いたくないので非表示フォームにアップロード情報を格納する */ ${"ss_original".$i} = ${"orgname".$i}; ${"ss_filename".$i} = ${"upload".$i}->file_name_return; ${"ss_purpose".$i} = ${"purpose".$i}; ${"ss_update".$i} = date('Y/m/d'); ${"ss_result".$i} = ${"result".$i}; $file_on = true; } // アップロードファイルがなくとも、書類名(purpose)があればセッション情報を作成しておく // (書類名だけの更新があるかもしれない) else if(!empty(${"purpose".$i})) { // セッションに退避 ${"array_tmp_filepath".$i} = array( 'original' => "", 'filename' => "", 'purpose' => ${"purpose".$i}, 'update' => date('Y/m/d') ); /* セッションを使いたくないので非表示フォームにアップロード情報を格納する */ ${"ss_original".$i} = ""; ${"ss_filename".$i} = ""; ${"ss_purpose".$i} = ${"purpose".$i}; ${"ss_update".$i} = date('Y/m/d'); ${"ss_result".$i} = ""; } // アップロードファイルも書類名の指定もない場合 else { ${"upload".$i}->file_name_return; } } return $file_on; } // fUpload_Copy_Fix - 商品群あたりのファイルアップロード内容を確定させる // 戻り値なし // // セッション情報 $_SESSION["tmp_filepath1〜5"] に書かれた情報を opt // この時点ではいったんファイルは _OptUpdir 配下に書きこまれるが商品群との関連付けは行われない // アップロードした内容は $_SESSION["tmp_filepath1〜5"] に格納される function fUpload_Copy_Fix( $gun_id ) { // extract($_SESSION); // セッション制御を後付けで入れてるため include("../common/comglbl.php3"); $estimate_insert = new SQL_insert_class(); //ファイルアップロード情報の書き込み for($i=1; $i<=OPTION_FILE_ROWS; $i++) { if( (!empty(${"ss_purpose".$i}) || !empty(${"ss_filename".$i})) && empty(${"ss_result".$i}) ) { // オリジナルのファイル名を取得 $original = ${"ss_original".$i}; // (実際には日本語の場合に文字化けの恐れがあるためシーケンシャルな固定パターンに変換) $original = "ATTACH_".$i.substr( strrchr($original,"."), 0 ); // 目的が空欄ならファイル名で埋める $purpose = (empty(${"ss_purpose".$i}) ? $original : ${"ss_purpose".$i}); $array_dev_option_file_path = array( 'gunid' => $gun_id, 'filename' => $original, 'purpose' => $purpose, 'update' => ${"ss_update".$i}, 'count_flg' => "" ); // gunid そのままの名前のサブディレクトリを作成 $gun_path = _OptUpdir.$gun_id; mkdir( $gun_path, 0777 ); // ファイルをサブディレクトリ配下のオリジナルの名前にrenameする // できなかった場合はサブに移さず放置(手動でリカバーする) if ( !rename( _OptUpdir.${"ss_filename".$i}, $gun_path."/".$original ) ) { // ファイル転送失敗した場合でも、アップロード機能との連動ができなくなるのでセッションはつぶす ${"ss_original".$i} = ""; ${"ss_filename".$i} = ""; ${"ss_purpose".$i} = ""; ${"ss_update".$i} = ""; ${"ss_result".$i} = ""; continue; } //insert文を実行 ファイルパスデータの書き込み $estimate_insert->Option_file_path_insert_sql($array_dev_option_file_path); ${"ss_original".$i} = ""; ${"ss_filename".$i} = ""; ${"ss_purpose".$i} = ""; ${"ss_update".$i} = ""; ${"ss_result".$i} = ""; } } return; } // fUpload_Remove - 商品群あたりのアップロードファイルを削除する // 戻り値なし // // フォーム要素で引き継がれたdltflg1〜5を見る function fUpload_Remove( $gun_id ) { // extract($_SESSION); // セッション制御を後付けで入れてるため include("../common/comglbl.php3"); $estimate_delete = new SQL_delete_class(); //ファイル削除 for($i=1; $i<=OPTION_FILE_ROWS; $i++) { // filenameが空でなく、かつ削除フラグが設定されている場合=単純削除指定 // filenameが空でなく、かつセッションに差し替え対象のファイル名がセットされている場合=差し替え指定 if( (!empty(${"filename".$i}) && ${"dltflg".$i}=="on") || (!empty(${"filename".$i}) && ${"ss_filename".$i} ) ) { // gunid そのままの名前のサブディレクトリを取得 $gun_path = _OptUpdir.$gun_id; // ファイルを削除する if ( !unlink( $gun_path."/".${"filename".$i}) ) { // var_dump( "ファイル削除失敗!!" ); return false; } $estimate_delete->Option_file_path_delete_sql($gun_id, ${"filename".$i}); } } return; } // fUpload_RemoveAll - 商品群あたりのアップロード済みファイルを削除する // 戻り値なし // // dltflgによらず、該当商品群に対応するアップロード済みファイルを全て削除する function fUpload_RemoveAll( $gun_id ) { include("../common/comglbl.php3"); $estimate_delete = new SQL_delete_class(); //ファイル削除 for($i=1; $i<=OPTION_FILE_ROWS; $i++) { // filenameが空でない場合 if( !empty(${"filename".$i}) ) { // gunid そのままの名前のサブディレクトリを取得 $gun_path = _OptUpdir.$gun_id; // ファイルを削除する if ( !unlink( $gun_path."/".${"filename".$i}) ) { // var_dump( "ファイル削除失敗!!" ); return; } $estimate_delete->Option_file_path_delete_sql($gun_id, ${"filename".$i}); } } return; } // 商品群あたりのファイルアップロード情報をアップデートする // 戻り値なし function fUpload_Update( $gun_id ) { include("../common/comglbl.php3"); $estimate_update = new SQL_update_class(); // 設定カラム分の設定状況を見る for($i=1; $i<=OPTION_FILE_ROWS; $i++) { for( $j=1; $j<=OPTION_FILE_ROWS; $j++) { // ファイルの枝番に該当する行にインデックスする $bnumber = substr(${"filename".$j}, strpos(${"filename".$j}, ".")-1, 1); if($bnumber == false) continue; // 既存のファイルがいて、purposeだけが指定されている場合はそこだけ書き換える // この場合ファイルの転送は伴わないのでセッションをここでつぶしておく if( $i == intval($bnumber) && empty(${"ss_filename".$i}) && !(empty(${"ss_purpose".$i})) ) { $estimate_update->Option_file_path_write_purpose_sql($gun_id, ${"filename".$j}, ${"ss_purpose".$i}); ${"ss_original".$i} = ""; ${"ss_filename".$i} = ""; ${"ss_purpose".$i} = ""; ${"ss_update".$i} = ""; ${"ss_result".$i} = ""; break; } } // 既存のファイルもファイルの指定もなくてpurposeだけ指定されてる場合はセッションだけ始末しておく if( $j > OPTION_FILE_ROWS ) { if( empty(${"ss_filename".$i}) && !(empty(${"ss_purpose".$i})) ) { ${"ss_original".$i} = ""; ${"ss_filename".$i} = ""; ${"ss_purpose".$i} = ""; ${"ss_update".$i} = ""; ${"ss_result".$i} = ""; } } } return; } /************************************************************ ファイルアップロード対応 motegi 2010.05.25(3/5)終了 ************************************************************/ ?> // CASANAVI BtoC Enhancement 共通 // Created by Keita Motegi, EandM Corporation // ※ 引用先で comcasa.php3 と com0010.php3 のインクルード必須 // 各種共通変数定義 // 入力チェック追加処理コード define("CHKOPTB", 15); // オプションボックス処理コード // 承認待ち状態 define("APPWAITING", 0); // 承認待ち状態(デフォルト) define("APPPENDING", 1); // 保留 define("APPROVED", 2); // 承認済み define("APPREJECT", 3); // 否決済み define("APPWAITINGMSG", "承認待ち"); define("APPPENDINGMSG", "保留中"); define("APPROVEDMSG", "承認済み"); define("APPREJECTMSG", "否決済み"); // メールアドレス // SITEMAIL〜SITEMAL3 は comcasa.php3 で定義 if(($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "secure.sputnik.co.jp")) define("SITEMAL4", "support@casanavi.co.jp"); else define("SITEMAL4", "keitamotegi@gmail.com"); //define("SITEMAL4", "support@casanavi.co.jp"); // 施主様向け事務局アドレス if(($SERVER_NAME == "www.casanavi.co.jp") || ($SERVER_NAME == "secure.sputnik.co.jp")) define("SITEMAL5", "error@casanavi.co.jp"); else define("SITEMAL5", "keitamotegi@gmail.com"); //define("SITEMAL5", "error@casanavi.co.jp"); // エラー時事務局アドレス // 施主様会員メール送信モード (fSndMail_corder() 用) define("CORDER_ENTRY", "0"); // 登録 define("CORDER_MODIFY", "1"); // 修正 // C会員向けメールフッタ $SITEADDR_C = "\n"; $SITEADDR_C .= "-------------------------------------------------------\n"; $SITEADDR_C .= "カーサナビ(株)\n"; $SITEADDR_C .= ROOTCASA."custmer/common/mokuji.php3\n"; $SITEADDR_C .= "E-mail: ".SITEMAL4."\n"; // 2009/08/10 移転文言の削除 by Keita Motegi // $SITEADDR_C .= "事務所 移転しました。\n"; $SITEADDR_C .= "〒102-0083 東京都千代田区麹町3丁目1番地1 麹町311ビル1F\n"; $SITEADDR_C .= "Tel: 03-3230-1980 Fax: 03-3230-1981\n"; $SITEADDR_C .= "ご質問などお気軽にお問合せください。9:00〜17:45(土・日・祝祭日除く)\n"; $SITEADDR_C .= "=======================================================\n"; // BtoCメッセージ表示エリアテーブル属性定義 // エラーメッセージや、施主様サービス内容を1セルテーブルで定義する際、 // TABLE タグに書く属性 define("CSMR_TBLATTR", "WIDTH=\"760\" BORDER=\"0\" CELLSPACING=\"5\" CELLPADDING=\"5\""); // テーブル属性 define("CSMR_CELLATTR", "bgcolor=\"#FFFFFF\""); // セル属性 // End : Keita Motegi // 共通関数 // 承認登録待ちの新規IDを取得 // 入力 なし // 出力 新規ID function GetNewID_cwait() { $dmy = GetFieldData("custmer_wait", "cstmid", "(cstmid <> '') order by cstmid desc"); $newid = substr("00000000".(($dmy == "") ? "1" : $dmy + 1), -8); return $newid; } // C会員の新規IDを取得 // 入力 なし // 出力 新規ID function GetNewID_consumer() { $dmy = GetFieldData("custmer_c", "cstmid", "(cstmid <> '') order by cstmid desc"); $newid = substr("00000000".(($dmy == "") ? "1" : $dmy + 1), -8); return $newid; } // C注文データ受注IDを取得 // 入力 なし // 出力 新規ID function GetNewID_corder() { $dmy = GetFieldData("order_c", "ordid", "(ordid like '%".date("Ymd")."%') order by ordid desc"); $newid = date("Ymd").substr("000000".((substr($dmy, 8, 6) == "") ? "1" : (substr($dmy, 8, 6) + 1)), -6); return $newid; } // C注文データ受注IDを取得 // 入力 なし // 出力 新規ID function GetNewID_estimate() { $dmy = GetFieldData("estimate_c", "estid", "(estid like '%".date("Ymd")."%') order by estid desc"); $newid = date("Ymd").substr("000000".((substr($dmy, 8, 6) == "") ? "1" : (substr($dmy, 8, 6) + 1)), -6); return $newid; } // コンシューマー(施主)チェック // C顧客テーブルで施主メールアドレスを照合する // 入力 uid :メールアドレス // pwd :パスワード // 出力 true:正常ログイン、false:異常ログイン function ChkConsumer(&$uid, $pwd) { // 通常 // $sql = "select cstmid from custmer_c where ((mail = '$uid') and (password = '$pwd'));"; // 削除フラグONのレコードを外す場合 $sql = "select cstmid from custmer_c where ((mail = '$uid') and (password = '$pwd') and (dltflg != '1'));"; return ChkRecord($sql); } // 施主様登録メール送信 // メールアドレスを直接渡す // 入力 mail :施主様メールアドレス function fSndMail_consumer($mail) { global $SITEADDR_C; //送信データ取得 // 通常 // $sql = "select * from custmer_c where mail='".$mail."';"; // 削除フラグONのレコードを外す場合 $sql = "select * from custmer_c where (mail='".$mail."') and (dltflg != '1');"; $nRecCnt = GetRecordData($sql, $recdata); //データが1件も存在しない場合 if($nRecCnt == "0"){ fDspMessage("メールの送信に失敗しました(送信データが見つかりません)"); return; } $sub = "カーサナビ 施主様会員登録ありがとうございます"; $frm = "From:".mb_encode_mimeheader(mb_convert_encoding("カーサナビお施主様コーナー","JIS"))."<".SITEMAL4.">\n"; // $frm = "From: CASA NAVI <".SITEMAL4.">\n"; $frm .= "Reply-To: CASA NAVI <".SITEMAL4.">\n"; $frm .= "Errors-To: CASA NAVI <".SITEMAL5.">\n"; $frm .= "Bcc: CASA NAVI <".SITEMAL4.">\n"; $snddata1=""; // 必須でないので未登録がありえる if ($recdata[0][10] != "") $snddata1.="[ FAX番号 ]".$recdata[0][10]."\n"; if( $recdata[0][5] == "0" ){ $sex = "男性"; } else{ $sex = "女性"; } $bdy = "==================================================================\n"; $bdy.= "★☆★☆ カーサナビ 施主様会員登録ありがとうございます ★☆★☆\n"; $bdy.= "==================================================================\n"; $bdy.= "\n"; $bdy.= $recdata[0][3]."さま\n"; $bdy.= "カーサナビにご登録頂きありがとうございます。\n"; $bdy.= "ご参加いただく皆さまの思いを大切に、カーサナビならではの価値のあるサービスを\n"; $bdy.= "お届けしていきます。今後ともカーサナビをよろしくお願いします。\n"; $bdy.= "\n"; $bdy.= "----------------------------------------------\n"; $bdy.= "[ メールアドレス ] ".$recdata[0][1]."\n"; $bdy.= "[ パスワード ] ".$recdata[0][2]."\n"; $bdy.= "[ お名前 ] ".$recdata[0][3]."\n"; $bdy.= "[ お名前カナ ] ".$recdata[0][4]."\n"; $bdy.= "[ 性別 ] ".$sex."\n"; $bdy.= "[ 郵便番号 ] ".$recdata[0][6]."\n"; $bdy.= "[ 住所 ] ".GetFieldData("codectl", "codename", "tableid='00' and itemid='00' and codeid='".$recdata[0][7]."'").$recdata[0][8]."\n"; $bdy.= "[ 電話番号 ] ".$recdata[0][9]."\n"; $bdy.= $snddata1; // 必須でないFAX番号の連結 $bdy.= "[ 生年月日 ] ".$recdata[0][21]."\n"; // 2010.08.23 motegi 生年月日対応 $bdy.= "----------------------------------------------\n"; $bdy.= "\n"; $bdy.= "カーサナビを利用するには、パスワードが必要になります。\n"; $bdy.= "お忘れなきようお願いいたします。\n"; $bdy.= "\n"; $bdy.= "ご意見、ご要望等ありましたら、カーサナビ事務局(".SITEMAL4.")\n"; $bdy.= "までお気軽にお問い合わせください。\n"; $bdy.= "\n"; $bdy.= $SITEADDR_C."\n"; $bdy = mb_convert_encoding($bdy,"JIS"); if (PHP_VERSION >= '4') { mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) if($recdata[0][1] != "") mb_send_mail($recdata[0][1], $sub, $bdy, $frm,"-f".SITEMAL5); } else { if($recdata[0][1] != "") mail($recdata[0][1], $sub, $bdy, $frm); } // 施主様にメール送信 // if($recdata[0][1] != "") mail($recdata[0][1], $sub, $bdy, $frm); return; } // 施主様注文登録/修正メール送信 // メールアドレスを直接渡す // 入力 mail1 :出店者メールアドレス1 // mail2 :出店者メールアドレス2 // shop :出店者名称 // mode :処理モード // CORDER_ENTRY 登録 // CORDER_MODIFY 修正 function fSndMail_corder($ordid, $mail1, $mail2, $shop, $mode) { global $SITEADDR_C; //モード設定 if( $mode == CORDER_ENTRY ){ $modeword = "登録"; } else{ $modeword = "修正"; } //送信データ取得(注文情報) $sql = "select * from order_c where ordid='".$ordid."';"; $nRecCnt = GetRecordData($sql, $recdata2); //データが1件も存在しない場合 if($nRecCnt == "0"){ fDspMessage("メールの送信に失敗しました(注文情報の送信データが見つかりません)"); return; } // 通常 // $sql = "select * from custmer_c where cstmid='".$recdata2[0][2]."';"; // 注文データから会員ID取得 // 削除フラグONのレコードを外す場合 // $sql = "select * from custmer_c where (cstmid='".$recdata2[0][2]."') and (dltflg != '1');"; // 注文データから会員ID取得 $sql = "select * from custmer_c where cstmid='".$recdata2[0][2]."';"; // 注文データから会員ID取得 $nRecCnt = GetRecordData($sql, $recdata1); if($nRecCnt == "0"){ fDspMessage("メールの送信に失敗しました(会員情報の送信データが見つかりません)"); return; } $sub = "カーサナビ BtoC注文".$modeword."完了"; $frm = "From:".mb_encode_mimeheader(mb_convert_encoding("カーサナビお施主様コーナー","JIS"))."<".SITEMAL4.">\n"; // $frm = "From: CASA NAVI <".SITEMAL4.">\n"; $frm .= "Reply-To: CASA NAVI <".SITEMAL4.">\n"; $frm .= "Errors-To: CASA NAVI <".SITEMAL5.">\n"; $frm .= "Bcc: CASA NAVI <".SITEMAL4.">\n"; $snddata1=""; // 必須でないので未登録がありえる if ($recdata1[0][10] != "") $snddata1.="[ FAX番号 ]".$recdata1[0][10]."\n"; if( $recdata1[0][5] == "0" ){ $sex = "男性"; } else{ $sex = "女性"; } $bdy = "================================================\n"; $bdy.= "★☆★☆ カーサナビ BtoC注文".$modeword."完了 ★☆★☆\n"; $bdy.= "================================================\n"; $bdy.= "\n"; $bdy.= $shop."さま\n"; $bdy.= "カーサナビにて注文".$modeword."完了しました。\n"; $bdy.= "\n"; $bdy.= "----------------------------------------------\n"; $bdy.= "[ メールアドレス ] ".$recdata1[0][1]."\n"; $bdy.= "[ お名前 ] ".$recdata1[0][3]."\n"; $bdy.= "[ お名前カナ ] ".$recdata1[0][4]."\n"; $bdy.= "[ 性別 ] ".$sex."\n"; $bdy.= "[ 郵便番号 ] ".$recdata1[0][6]."\n"; $bdy.= "[ 住所 ] ".GetFieldData("codectl", "codename", "tableid='00' and itemid='00' and codeid='".$recdata1[0][7]."'").$recdata1[0][8]."\n"; $bdy.= "[ 電話番号 ] ".$recdata1[0][9]."\n"; $bdy.= $snddata1; // 必須でないFAX番号の連結 $bdy.= "\n"; $bdy.= "[ 注文日 ] ".$recdata2[0][3]."\n"; $bdy.= "[ 商品名 ] ".$recdata2[0][4]."\n"; $bdy.= "[ 合計金額 ] ".CnvMoney($recdata2[0][5])."円\n"; $bdy.= "[ 納期 ] ".$recdata2[0][6]."\n"; $bdy.= "\n"; $bdy.= "[ 備考 ]\n".$recdata2[0][10]."\n"; $bdy.= "\n"; $bdy.= $SITEADDR_C."\n"; $bdy = mb_convert_encoding($bdy,"JIS"); // 出店者にメール送信 // 2002.10.25 by Keita Motegi : Start if($mail1 != "" && $mail2 != ""){ // mail1 と mail2 両方設定されていた $frm.= "Cc: ".$mail2."\n"; if (PHP_VERSION >= '4') { mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) mb_send_mail($mail1, $sub, $bdy, $frm); } else { mail($mail1, $sub, $bdy, $frm); } // mail($mail1, $sub, $bdy, $frm); } else{ // どっちか片方、あるいは両方なし if($mail1 != ""){ if (PHP_VERSION >= '4') { mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) mb_send_mail($mail1, $sub, $bdy, $frm); } else { mail($mail1, $sub, $bdy, $frm); } // mail($mail1, $sub, $bdy, $frm); } if($mail2 != ""){ if (PHP_VERSION >= '4') { mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) mb_send_mail($mail2, $sub, $bdy, $frm); } else { mail($mail2, $sub, $bdy, $frm); } // mail($mail2, $sub, $bdy, $frm); } } // 2002.10.25 by Keita Motegi : End // mail($mail, $sub, $bdy, $frm); return; } // BtoC メッセージエリア対応メッセージのHTML出力 2002.9.26 by Keita Motegi // [オリジナルは fDspMessage_consumer() ] // 入力 msg :出力メッセージ // 出力 HTML<H3文> function fDspMessage_consumer($msg, $bak = 1) { echo ""; // echo "エラーが発生しました。"; // echo "エラーが発生しました。"; // echo "$msg"; echo "$msg"; echo ""; return; } // 入力データのチェック // BtoC メッセージエリア対応 // 入力 chkid:入力チェック種別 // dat :入力データ文字列または入力データ配列 // msg :メッセージ // cnt :文字数 // nul :true:入力データ必須チェックあり、false:入力データ必須チェックなし // 出力 エラー文字列 // エラーがない場合は空文字列 ("") function fInputChecker_consumer($chkid, $dat, $msg, $cnt = 0, $nul = true) { switch($chkid) { case CHKZEN: //全角文字 if($nul && ($dat == "")) { if (PHP_VERSION >= '4') { return $msg."は必須入力です。全角文字(".mb_convert_kana($cnt, "RNAKV")."文字以内で入力してください)"; } else { return $msg."は必須入力です。全角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内で入力してください)"; } } if($dat != "") { if (PHP_VERSION >= '4') { $dmy = mb_convert_kana($dat, "KV"); } else { $dmy = i18n_ja_jp_hantozen($dat, "KV"); } if($dat != $dmy) { return $msg."に半角カナを使用してはいけません"; } if (PHP_VERSION >= '4') { $dmy = mb_convert_kana($dat, "RNAKV"); } else { $dmy = i18n_ja_jp_hantozen($dat, "RNAKV"); } if($dat != $dmy) { if (PHP_VERSION >= '4') { return $msg."は全角文字(".mb_convert_kana($cnt, "RNAKV")."文字以内)で入力してください"; } else { return $msg."は全角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください"; } } if(mbstrlen($dat) > $cnt) { if (PHP_VERSION >= '4') { return $msg."は長すぎます。全角文字(".mb_convert_kana($cnt, "RNAKV")."文字以内で入力してください)"; } else { return $msg."は長すぎます。全角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内で入力してください)"; } } } break; case CHKHAN: //半角文字 if($nul && ($dat == "")) { if (PHP_VERSION >= '4') { return $msg."は必須入力です。半角文字(".mb_convert_kana($cnt, "RNAKV")."文字以内で入力してください)"; } else { return $msg."は必須入力です。半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内で入力してください)"; } } if($dat != "") { if (PHP_VERSION >= '4') { $dmy = mb_convert_kana($dat, "KV"); } else { $dmy = i18n_ja_jp_hantozen($dat, "KV"); } if($dat != $dmy) { return $msg."に半角カナを使用してはいけません"; } if (PHP_VERSION >= '4') { if(mb_detect_encoding($dat) != "ASCII") { return $msg."は半角文字(".mb_convert_kana($cnt, "RNAKV")."文字以内)で入力してください"; } if(strlen($dat) > $cnt) { return $msg."は長すぎます。半角文字(".mb_convert_kana($cnt, "RNAKV")."文字以内で入力してください)"; } } else { if(i18n_discover_encoding($dat) != "ASCII") { return $msg."は半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください"; } if(strlen($dat) > $cnt) { return $msg."は長すぎます。半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内で入力してください)"; } } } break; case CHKNUM: //半角数字 if($nul && ($dat == "")) { return $msg."は必須入力です。半角数字"; } if($dat != "") { for($lop = 0; substr($dat, $lop, 1) != ""; $lop ++) { $dmy = substr($dat, $lop, 1); if(($dmy < "0") || ($dmy > "9")) { return $msg."は半角数字で入力してください"; } } if($cnt == 2) { if($dat > 32767) { return $msg."は許容範囲を超えています"; } } else if($cnt == 4) { if($dat > 2147483647) { return $msg."は許容範囲を超えています"; } } } break; case CHKNUM2: //半角数字(-+を含む) if($nul && ($dat == "")) { return $msg."は必須入力です。半角数字"; } if($dat != "") { for($lop = 0; substr($dat, $lop, 1) != ""; $lop ++) { $dmy = substr($dat, $lop, 1); if($lop == 0) { if((($dmy < "0") || ($dmy > "9")) && $dmy != "+" && $dmy != "-") { return $msg."は半角数字で入力してください"; } } else { if(($dmy < "0") || ($dmy > "9")) { return $msg."は半角数字で入力してください"; } } } } break; case CHKZER: //半角数字(1以上の数字) if($nul && ($dat == "")) { return $msg."は必須入力です。半角数字"; } if($dat != "") { for($lop = 0; substr($dat, $lop, 1) != ""; $lop ++) { $dmy = substr($dat, $lop, 1); if(($dmy < "0") || ($dmy > "9")) { return $msg."は半角数字で入力してください"; } } if($cnt == 2) { if($dat > 32767) { return $msg."は許容範囲を超えています"; } } else if($cnt == 4) { if($dat > 2147483647) { return $msg."は許容範囲を超えています"; } } } if($dat <= 0) { return $msg."は半角数字で1以上を入力してください"; } break; case CHKDEC: //半角小数数字 if($nul && ($dat == "")) { return $msg."は必須入力です。半角数字(小数点付与可)で入力してください"; } if($dat != "") { for($lop = 0; substr($dat, $lop, 1) != ""; $lop ++) { $dmy = substr($dat, $lop, 1); if(($dmy < "0") || ($dmy > "9")) { if($dmy != ".") { return $msg."は半角数字(小数点付与可)で入力してください"; } } } if(strpos($dmy, ".") != strrpos($dmy, ".")) { return $msg."は有効な数値ではありません"; } if($cnt == 4) { if($dat > 32767) { return $msg."は許容範囲を超えています"; } } else if($cnt == 8) { if($dat > 2147483647) { return $msg."は許容範囲を超えています"; } } } break; case CHKDAT: //年月日選択 if($nul && (($dat[0] == "") || ($dat[1] == "") || ($dat[2] == ""))) { return $msg."は必須選択です"; } if(($dat[0] != "") && ($dat[1] != "") && ($dat[2] != "")) { if(!checkdate($dat[1], $dat[2], $dat[0])) { return $msg."は有効な日付を選択してください"; } } else if(($dat[0] != "") || ($dat[1] != "") || ($dat[2] != "")) { return $msg."は有効な日付を選択してください"; } break; case CHKTEM: //年月日期間選択 if($nul && (($dat[0] == "") || ($dat[1] == ""))) { return $msg."は必須選択です"; } if(($dat[0] != "") && ($dat[1] != "")) { if((strlen($dat[0]) != 10) || (strlen($dat[1]) != 10)) { return $msg."は有効な期間を選択してください"; } if($dat[0] > $dat[1]) { return $msg."は開始と終了に有効な期間を選択してください"; } } break; case CHKCAT: //カテゴリー選択 if(substr($dat, 0, 2) == "00") { return $msg."は小項目を選択してください"; } break; case CHKOPTB: //オプションボックスの選択チェック //2002.10.19 midori追加 if($nul && ($dat == "")) { return $msg."を選択してください"; } break; case CHKCNT: //文字数チェック if($nul && ($dat == "")) { // 仕様変更開始 2001/05/22 by ぴょん吉 // return $msg."は必須入力です。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内)"; if (PHP_VERSION >= '4') { return $msg."は必須入力です。(全角".mb_convert_kana((int)($cnt / 2), "RNAKV")."文字(半角".mb_convert_kana($cnt, "RNAKV")."文字)以内で入力してください)"; } else { return $msg."は必須入力です。(全角".i18n_ja_jp_hantozen((int)($cnt / 2), "RNAKV")."文字(半角".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字)以内で入力してください)"; } // 仕様変更終了 2001/05/22 by ぴょん吉 } if (PHP_VERSION >= '4') { $dmy = mb_convert_kana($dat, "KV"); } else { $dmy = i18n_ja_jp_hantozen($dat, "KV"); } if($dat != $dmy) { return $msg."に半角カナを使用できません"; } if(strlen($dat) > $cnt) { // 仕様変更開始 2001/05/22 by ぴょん吉 // return $msg."は長すぎます。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内)"; if (PHP_VERSION >= '4') { return $msg."は長すぎます。(全角".mb_convert_kana((int)($cnt / 2), "RNAKV")."文字(半角".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字)以内で入力してください)"; } else { return $msg."は長すぎます。(全角".i18n_ja_jp_hantozen((int)($cnt / 2), "RNAKV")."文字(半角".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字)以内で入力してください)"; } // 仕様変更終了 2001/05/22 by ぴょん吉 } break; case CHKPWD: //パスワードチェック if(($dat[0] == "") || ($dat[1] == "")) { if (PHP_VERSION >= '4') { return $msg."は必須入力です。半角文字(".mb_convert_kana($cnt, "RNAKV")."文字以内で入力してください)"; } else { return $msg."は必須入力です。半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内で入力してください)"; } } if($dat[0] != $dat[1]) { return $msg."の入力に相違があります"; } for($lop = 0; $lop < 2; $lop ++) { if($dat[$lop] != "") { if (PHP_VERSION >= '4') { $dmy = mb_convert_kana($dat[$lop], "KV"); } else { $dmy = i18n_ja_jp_hantozen($dat[$lop], "KV"); } if($dat[$lop] != $dmy) { return $msg."に半角カナを使用できません"; } if (PHP_VERSION >= '4') { if(mb_detect_encoding($dat[$lop]) != "ASCII") { return $msg."は半角文字(".mb_convert_kana($cnt, "RNAKV")."文字以内)で入力してください"; } if(strlen($dat[$lop]) > $cnt) { return $msg."は長すぎます。半角文字(5文字〜".mb_convert_kana($cnt, "RNAKV")."文字以内で入力してください)"; } if(strlen($dat[$lop]) < 5) { return $msg."は短すぎます。半角文字(5文字〜".mb_convert_kana($cnt, "RNAKV")."文字以内で入力してください)"; } } else { if(i18n_discover_encoding($dat[$lop]) != "ASCII") { return $msg."は半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください"; } if(strlen($dat[$lop]) > $cnt) { return $msg."は長すぎます。半角文字(5文字〜".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内で入力してください)"; } if(strlen($dat[$lop]) < 5) { return $msg."は短すぎます。半角文字(5文字〜".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内で入力してください)"; } } } } break; case CHKPOS: //郵便番号 // if(!$nul) { // return true; // } if(!$nul && $dat[0] == "" && $dat[1] == "") { return true; } if(($dat[0] == "") || ($dat[1] == "")) { return $msg."は必須入力です。半角数字(上位3桁、下位4桁)で入力してください"; } for($lop = 0; $lop < 2; $lop ++) { for($lp1 = 0; substr($dat[$lop], $lp1, 1) != ""; $lp1 ++) { $dmy = substr($dat[$lop], $lp1, 1); if(($dmy < "0") || ($dmy > "9")) { return $msg."は半角数字で入力してください"; } } } if((strlen($dat[0]) != 3) || (strlen($dat[1]) != 4)) { return $msg."を正しく入力してください。半角数字(上位3桁、下位4桁)で入力してください"; } break; case CHKTEL: //電話番号、FAX番号 if($nul && (($dat[0] == "") || ($dat[1] == "") || ($dat[2] == ""))) { return $msg."は必須入力です。半角数字(11桁以内)"; } for($lop = 0; $lop < 3; $lop ++) { if($dat[$lop] != "") { for($lp1 = 0; substr($dat[$lop], $lp1, 1) != ""; $lp1 ++) { $dmy = substr($dat[$lop], $lp1, 1); if(($dmy < "0") || ($dmy > "9")) { return $msg."は半角数字で入力してください"; } } } } if(($dat[0] != "") && ($dat[1] != "") && ($dat[2] != "")) { if((strlen($dat[0]) + strlen($dat[1]) + strlen($dat[0])) > 11) { return $msg."は長すぎます。半角数字(11桁以内)で入力してください"; } } else if(!(($dat[0] == "") && ($dat[1] == "") && ($dat[2] == ""))) { return $msg."を正しく入力してください。半角数字(11桁以内)で入力してください"; } break; case CHKBNK: //銀行口座番号 if($nul && (($dat[0] == "") || ($dat[1] == "") || ($dat[2] == ""))) { return $msg."は必須入力です。半角数字(銀行-支店-口座番号)で入力してください"; } for($lop = 0; $lop < 3; $lop ++) { if($dat[$lop] != "") { for($lp1 = 0; substr($dat[$lop], $lp1, 1) != ""; $lp1 ++) { $dmy = substr($dat[$lop], $lp1, 1); if(($dmy < "0") || ($dmy > "9")) { return $msg."は半角数字で入力してください"; } } } } if(($dat[0] != "") && ($dat[1] != "") && ($dat[2] != "")) { if((strlen($dat[0]) > 4) || (strlen($dat[1]) > 3) || (strlen($dat[0]) > 7)) { return $msg."は長すぎます。半角数字(銀行-支店-口座番号)で入力してください"; } } else if(!(($dat[0] == "") && ($dat[1] == "") && ($dat[2] == ""))) { return $msg."を正しく入力してください。半角数字(銀行-支店-口座番号)で入力してください"; } break; case CHKMAL: //メールアドレスチェック if($nul && ($dat == "")) { if (PHP_VERSION >= '4') { return $msg."は必須入力です。(".mb_convert_kana($cnt, "RNAKV")."バイト以内で入力してください)"; } else { return $msg."は必須入力です。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内で入力してください)"; } } if($dat != "") { $dy1 = strpos($dat, "@"); $dy2 = strrpos($dat, "@"); if((!$dy1) || ($dy1 == 0) || ((strlen($dat) - 1) <= $dy1) || ($dy1 != $dy2)) { return $msg."は正しく入力して下さい。(***@***.***)"; } $dmy = strpos($dat, ".", $dy1); if(!$dmy) { return $msg."は正しく入力して下さい。(***@***.***)"; } if (PHP_VERSION >= '4') { $dmy = mb_convert_kana($dat, "KV"); } else { $dmy = i18n_ja_jp_hantozen($dat, "KV"); } if($dat != $dmy) { return $msg."に半角カナを使用できません"; } if (PHP_VERSION >= '4') { if(mb_detect_encoding($dat) != "ASCII") { return $msg."は半角文字(".mb_convert_kana($cnt, "RNAKV")."文字以内)で入力してください"; } if(strlen($dat) > $cnt) { return $msg."は長すぎます。(".mb_convert_kana($cnt, "RNAKV")."バイト以内で入力してください)"; } } else { if(i18n_discover_encoding($dat) != "ASCII") { return $msg."は半角文字(".i18n_ja_jp_hantozen($cnt, "RNAKV")."文字以内)で入力してください"; } if(strlen($dat) > $cnt) { return $msg."は長すぎます。(".i18n_ja_jp_hantozen($cnt, "RNAKV")."バイト以内で入力してください)"; } } } break; } return ""; } //入力データチェック処理 //入力 mode:チェックモード、indata:チェックデータ、item:項目名称 // 1:必須チェック // 2:半角英数チェック // 4:半角数値チェック // 上記のチェックは複数選択可能 → モードの数値を加算する //出力 第2パラメータ :変換後文字列 // 関数戻り値 :正常:空文字列 異常:エラー文字列 function fCheckString_consumer($mode, &$indata, $item) { switch($mode) { case "1": //必須チェック if($indata == "") { return $item.INPUTERR1MSG; } break; case "2": //半角英数チェック if($indata == "") return ""; if (PHP_VERSION >= '4') { if(mb_detect_encoding($indata) != "ASCII") { return $item.INPUTERR3MSG; } else { //半角変換 $indata == mb_convert_kana($indata, "a"); } } else { if(i18n_discover_encoding($indata) != "ASCII") { return $item.INPUTERR3MSG; } else { //半角変換 $indata == i18n_ja_jp_hantozen($indata, "a"); } } break; case "4": //数値チェック if($indata == "") { $indata = 0; return ""; } case "3": //必須・半角英数チェック if($indata == "") { return $item.INPUTERR1MSG; } if (PHP_VERSION >= '4') { if(mb_detect_encoding($indata) != "ASCII") { return $item.INPUTERR3MSG; } else { //半角変換 $indata == mb_convert_kana($indata, "a"); } } else { if(i18n_discover_encoding($indata) != "ASCII") { return $item.INPUTERR3MSG; } else { //半角変換 $indata == i18n_ja_jp_hantozen($indata, "a"); } } break; } return ""; } // コンボボックス出力(コードテーブル専用 / BtoC Phase 1 拡張対応) // 2002.9.20 by Keita Motegi // 例外ケースに対応する出力。 // 入力 tid:テーブルID // iid:項目ID // cod:デフォルト選択コード(省略時はヌル文字列) // 出力 HTML<OPTION文> function fCodeSet_ex($tid, $iid, $cod = "") { if($cod == "") echo "▼\n"; $con = @pg_connect(CASADB); if($con) { $sql = "select codeid, codename from codectl where tableid = '".$tid."' and itemid = '".$iid."' order by codeid;"; $rsl = @pg_exec($con, $sql); if($rsl) { $max = @pg_numrows($rsl); for($cnt = 0; $cnt < $max; $cnt ++) { // 「その他」をはねないようにする // 現在の業種ラインナップに合致しない場合の受け皿がないのも困るので復活させる // 2008.06.24 by Keita Motegi // 例外ケース // if( $cnt == 11 && $tid == '01' && $iid == '01'){ // 業種が「その他」ならはねる // continue; // } $arr = @pg_fetch_row($rsl, $cnt); echo "".$arr[1]."\n"; } } @pg_close($con); } return; } // 出店者のHTML出力(SELECT文) // 入力 cod :デフォルト選択コード(省略時はヌル文字列) // nuls :true:▼表示、false:▼表示なし // 出力 HTML<OPTION文> function DspSelectMakers($name, $cod = "", $nuls = true) { echo "\n"; if($nuls) echo "▼\n"; $sql = "select * from maker;"; $cnt1 = GetRecordData($sql, $cat1); for($lop1 = 0; $lop1 < $cnt1; $lop1 ++) { $dmy = $cat1[$lop1][0]; echo "".$cat1[$lop1][2]."\n"; } echo "\n"; return; } // B会員申し込み時メール // 入力 cstmid :会員ID // kbn :区分(fax) function fSndMail_pre($cstmid,$kbn) { global $SITEADDR; //送信データ取得 $sql = "select * from custmer_wait where cstmid='".$cstmid."';"; $nRecCnt = GetRecordData($sql, $recdata); //データが1件も存在しない場合 if($nRecCnt == "0"){ fDspMessage("メールの送信に失敗しました(送信データが見つかりません)"); return; } $sub = "会員申込ありがとうございます"; $frm = "From:".mb_encode_mimeheader(mb_convert_encoding("カーサナビ事務局","JIS"))."<".SITEMAIL.">\n"; // $frm = "From:casa navi<".SITEMAIL.">\n"; $frm.= "Errors-To: ".SITEMAL3."\nReturn-Path: ".SITEMAL3."\n"; $frm.= "Bcc: casa navi<".SITEMAIL.">\n"; $bdy = "========================================== casa navi事務局より\n"; $bdy.= "会員登録申込ありがとうございます (".$recdata[0][40].")\n"; $bdy.= "=======================================================\n"; $bdy.= "\n"; $bdy.= $recdata[0][4]."さま\n"; $bdy.= "casa navi にお申し込みありがとうございます。\n"; $bdy.= "お申し込み内容については、後日カーサナビ事務局よりご連絡をさせて頂きます。\n"; $bdy.= "\n"; $bdy.= $SITEADDR."\n"; // FAXの場合 if ($recdata[0][21] == "02"){ if($recdata[0][17] != "") fSendFax($recdata[0][17], $bdy); else if($recdata[0][18] != "") fSendFax($recdata[0][18], $bdy); $frm = "From:".mb_encode_mimeheader(mb_convert_encoding("カーサナビ事務局","JIS"))."<".SITEMAIL.">\n"; // $frm = "From:casa navi<".SITEMAIL.">\n"; $frm.= "Errors-To: ".SITEMAL3."\nReturn-Path: ".SITEMAL3."\n"; $bdy = mb_convert_encoding($bdy,"JIS"); if (PHP_VERSION >= '4') { mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) mb_send_mail(SITEMAIL, $sub, $bdy, $frm); } else { mail(SITEMAIL, $sub, $bdy, $frm); } }else{ if (PHP_VERSION >= '4') { $bdy = mb_convert_encoding($bdy,"JIS"); mb_language(Japanese); // e-mailのエンコード用 (これを指定しないと、UTF-8(unicode)になってしまい、受信すると改行されないことがあります) mb_internal_encoding('EUC'); // 内部文字エンコード用 (これを指定しないと、メールのタイトル・本文が文字化けすることがあります) if($recdata[0][19] != "") mb_send_mail($recdata[0][19], $sub, $bdy, $frm); //仕様変更開始 メールアドレス1、2に送信するように変更 2002/05/07 緑川 // else if($recdata[0][20] != "") mail($recdata[0][20], $sub, $bdy, $frm); if($recdata[0][20] != "") mb_send_mail($recdata[0][20], $sub, $bdy, $frm); //仕様変更終了 メールアドレス1、2に送信するように変更 2002/05/07 緑川 } else { if($recdata[0][19] != "") mail($recdata[0][19], $sub, $bdy, $frm); //仕様変更開始 メールアドレス1、2に送信するように変更 2002/05/07 緑川 // else if($recdata[0][20] != "") mail($recdata[0][20], $sub, $bdy, $frm); if($recdata[0][20] != "") mail($recdata[0][20], $sub, $bdy, $frm); //仕様変更終了 メールアドレス1、2に送信するように変更 2002/05/07 緑川 } } //mail(SITEMAL2, $sub, $bdy, $frm); return; } //2004.06.21 midori OsCommerce用 //2008.06.06 motegi verywood追加 //出店社名リスト $Oslist = array('nonaka','outlet','apade','itouhei', 'verywood'); ?> 外構工事・外構エクステリア・造園工事の大内環境工事 | エリア カーサエクステリア >>ビジネスエリア >>大内環境工事(千葉・茨城・栃木・埼玉東部・群馬東部・東京東部・福島南部) >>エリア ゆめをカタチに 大内環境工事 一級土木・造園・エクステリア、プランナー・登録エクステリア基幹技能者・ブロック工事士・ブロック塀工事士・ブロック塀診断士:事務所 対象エリア 都内(東部)、千葉、茨城、埼玉(南東部)、栃木、群馬(南東部)、福島(南部) 本社 〒278-0026 千葉県野田市花井105-2 大内ビル2F 【MAP】 TEL:04-7124-2644 (代表) FAX:04-7124-2663 つくばオフィス 〒305-0033 茨城県つくば市東新井21-17 【MAP】 TEL:029-851-0311 (代表) FAX:029-851-0050
(添付書類はありません)
エラーが発生しました。
対象エリア 都内(東部)、千葉、茨城、埼玉(南東部)、栃木、群馬(南東部)、福島(南部)