$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();
}
}
//-----------------------------------------------------------------------------------------------------------------------------------
?>