![]() | tech note |
| 自分をリファクタリング中。 |
トラックバックを実装するのはそんなに難しくない。
仕組みをちょっと勉強すればわかります。
<?xml version="1.0" encoding="iso-8859-1"?>
<response>
<error>0</error>
</response>
![]() | 自分で作る blog ツール 石川 直人 ソフトバンククリエイティブ 2005-03-30 売り上げランキング : 72696 Amazonで詳しく見る by G-Tools |
/*
* トラックバック受信メソッド
*/
function trackback() {
//パラメータが足りなかったらエラーレスポンスを返す
if (empty($this->params['blog_name']) ||
empty($this->params['title']) ||
empty($this->params['url']) ||
empty($this->params['excerpt']) ||
empty($this->params['id'])) {
$this->renderText($this->createTrackbackResponse(1, "parameter error"));
}
//trackbackモデルの生成
$trackback = new Trackback($this->params);
//DB更新
if ($trackback->save()) {
//成功レスポンスを返す
$this->renderText($this->createTrackbackResponse(0, ""));
} else {
//失敗レスポンスを返す
$this->renderText($this->createTrackbackResponse(1, "receive error"));
}
}
/*
* トラックバック元に返却するレスポンスを生成する
*/
private function createTrackbackResponse(&$error, &$message) {
$xml = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>";
$xml .= "<response>";
$xml .= "<error>".$error."</error>";
if ($error == 1) {
$xml .= "<message>".message."</message>";
}
$xml .= "</response>";
return $xml;
}