$val) { gfPrintLog( "\t" . $key . " => " . $val, $log_path); } gfPrintLog("s1--------------------", $log_path); $objFormParam->setParam($arrData); // 入力文字の変換 $objFormParam->convParam(); $arrData = $objFormParam->getHashArray(); // エラーチェック(トラックバックが成り立たないので、URL以外も必須とする) gfPrintLog("--- ERROR CHECK START ---", $log_path); $objPage->arrErr = lfCheckError(); gfPrintLog("--- ERROR CHECK FINISH ---", $log_path); gfPrintLog("--- ERROR COUNT : " . count($objPage->arrErr), $log_path); // エラーがない場合はデータを更新 if(count($objPage->arrErr) == 0) { // 商品コードの取得(GET) if (isset($_GET["pid"])) { $product_id = $_GET["pid"]; gfPrintLog("--- PRODUCT ID : " . $product_id, $log_path); // 商品データの存在確認 $table = "dtb_products"; $where = "product_id = ?"; // 商品データが存在する場合はトラックバックデータの更新 if (sfDataExists($table, $where, array($product_id))) { $arrData["product_id"] = $product_id; // データの更新 if (lfEntryTrackBack($arrData) == 1) { IfResponseOk(); } } else { gfPrintLog("--- PRODUCT NOT EXISTS : " . $product_id, $log_path); } } } // NG IfResponseNg(); exit(); //---------------------------------------------------------------------------------------------------- /* * パラメータ情報の初期化 * * @param void なし * @return void なし */ function lfInitParam() { global $objFormParam; $objFormParam->addParam("URL", "url", URL_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); $objFormParam->addParam("ブログタイトル", "blog_name", MTEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); $objFormParam->addParam("記事タイトル", "title", MTEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); $objFormParam->addParam("記事内容", "excerpt", MLTEXT_LEN, "KVa", array("EXIST_CHECK", "MAX_LENGTH_CHECK")); } /* * 入力内容のチェック * * @param void なし * @return $objErr->arrErr エラーメッセージ */ function lfCheckError() { global $objFormParam; // 入力データを渡す。 $arrRet = $objFormParam->getHashArray(); $objErr = new SC_CheckError($arrRet); $objErr->arrErr = $objFormParam->checkError(); return $objErr->arrErr; } /* * 更新処理 * * @param $arrData トラックバックデータ * @return $ret 結果 */ function lfEntryTrackBack($arrData) { global $objQuery; // ログ $log_path = DATA_PATH . "logs/tb_result.log"; // スパムフィルター if (lfSpamFilter($arrData)) { $arrData["status"] = TRACKBACK_STATUS_NOT_VIEW; } else { $arrData["status"] = TRACKBACK_STATUS_SPAM; } $arrData["create_date"] = "now()"; $arrData["update_date"] = "now()"; gfPrintLog("e--------------------", $log_path); foreach($arrData as $key => $val) { gfPrintLog( "\t" . $key . " => " . $val, $log_path); } gfPrintLog("e--------------------", $log_path); // データの登録 $table = "dtb_trackback"; $ret = $objQuery->insert($table, $arrData); gfPrintLog("INSERT RESULT : " . $ret, $log_path); return $ret; } /* * スパムフィルター * * @param $arrData トラックバックデータ * @param $run フィルターフラグ(true:使用する false:使用しない) * @return $ret 結果 */ function lfSpamFilter($arrData, $run = false) { $ret = true; // フィルター処理 if ($run) { } return $ret; } /* * OKレスポンスを返す * * @param void なし * @return void なし */ function IfResponseOk() { header("Content-type: text/xml"); print(""); print(""); print("0"); print(""); exit(); } /* * NGレスポンスを返す * * @param void なし * @return void なし */ function IfResponseNg() { header("Content-type: text/xml"); print(""); print(""); print("1"); print("The error message"); print(""); exit(); } /* * トラックバックRSSを返す * * @param $product_id 商品コード * @return void なし */ function IfResponseRss($product_id) { global $objQuery; $retProduct = $objQuery->select("*", "dtb_products", "product_id = ?", array($product_id)); if (count($retProduct) > 0) { header("Content-type: text/xml"); print(""); print(""); print("0"); print(""); print(""); print("" . $retProduct[0]["name"] . ""); print(""); print(TRACKBACK_TO_URL . $product_id); print(""); print(""); print($retProduct[0]["main_comment"]); print(""); print("ja-jp"); print(""); print(""); print(""); exit(); } } //----------------------------------------------------------------------------------------------------------------------------------- ?>