思いついた日にサービスインシリーズ2。
FOAF検索エンジンFriend Searchリリース!ちゃんと動かなくてもその日中に公開していくよ。
無料のサブドメイン取得やDB作成、Apacheの設定とか素早くできるようになってきた。最近流行ってないっぽいFOAFですがSNSで何か起きるかもしれない!(他力)PINGサーバのWeblogUpdatesからBlogとってAuto-DiscoveryでFOAFクロールします。PEARにWeblogUpdates用のParser無いので自作。
require_once("XML/Parser.php");
class XML_WeblogUpdates extends XML_Parser {
var $weblogUpdatesInfo = array();
var $weblogs = array();
function XML_WeblogUpdates($handle = '') {
$this->XML_Parser();
if (@is_resource($handle)) {
$this->setInput($handle);
} elseif ($handle != '') {
$this->setInputFile($handle);
} else {
$this->raiseError('No filename passed.');
}
}
function startHandler($parser, $element, $attribs) {
switch ($element) {
case "WEBLOGUPDATES":
$this->weblogUpdatesInfo = $attribs;
break;
case "WEBLOG":
$this->weblogs[] = $attribs;
break;
}
}
function getWeblogUpdatesInfo() {
return (array)$this->weblogUpdatesInfo;
}
function getWeblogs() {
return (array)$this->weblogs;
}
}
PEAR XML_FOAF(α版)はありました。Parserは結構拾わない要素(bio:olbとか)あって不満ですが便利。その日中にリリースしようと思うとシンプルな方法でしかやろうとしなくなって訓練になるかも。検索エンジンは普通、クローラ、インデクサ、検索UIの3つが必要ですが、インデクサはめんどいからMySQLのフルテキストインデックスでいいや。