Yomi-search お薦めサイトと相互リンクをRSS化 メモ


忘れないためのメモです。
お薦めサイトとか相互リンクはYomi-searchのデータベースの「テーブル: yomi_log」の「mark」という項目に’1_0_0_0_0_0_0_0_0_0′というように登録されている。相互リンクは’0_1_0_0_0_0_0_0_0_0′となり、両方の場合は’1_1_0_0_0_0_0_0_0_0′となる。

Yomi-SearchのYomi-Search(PHP)modifiedにはRSSディレレクトリにrss.phpがあるのでそれを利用。

rss.phpの新着サイト、更新サイトは「テーブル: yomi_log」の「stamp」を読み込んで判定しているのでそれを「mark」に変えてピックアップ。
rss.phpの65行辺りにある

// 各モードへ分岐
//================
if (@$_GET['mode'] == 'new') {

	// 新着サイト
	//============
	$title = $cfg['search_name'] . ' (新着サイト一覧)';
	$sql = ' WHERE stamp > ' . $ntime . ' AND renew != 1 ORDER BY id DESC';
	$description = '新しく登録されたサイトの一覧です。';

} elseif(@$_GET['mode'] == 'update') {

	// 更新サイト
	//============
	$title = $cfg['search_name'] . ' (更新サイト一覧)';
	$sql = ' WHERE stamp > ' . $ntime . ' AND renew = 1 ORDER BY stamp DESC';
	$description = '登録内容が更新されたサイトの一覧です。';

} else {

	// 引数が不正な場合は処理を中断
	//==============================
	echo '引数が不正です。処理を中止します。';
	exit;

}

のところを、次のように変更。
出力する条件として、ランダムに10件選んで表示とした。

if (@$_GET['mode'] == 'm1') {

	// おすすめサイト
	//============
	$title = $cfg['search_name'] . ' (おすすめサイトピックアップ)';
	$sql = " WHERE mark LIKE '1___0_0_0_0_0_0_0_0' order by rand() limit 10";
	$description = 'おすすめサイトのピックアップです。';
} elseif(@$_GET['mode'] == 'm2') {

	// 相互リンク
	//============
		$title = $cfg['search_name'] . ' (相互リンクサイトピックアップ)';
	$sql = " WHERE mark LIKE '__1_0_0_0_0_0_0_0_0' order by rand() limit 10";
	$description = '相互リンクサイトのピックアップです。';

} else {

	// 引数が不正な場合は処理を中断
	//==============================
	echo '引数が不正です。処理を中止します。';
	exit;
}

のように変えて別名で保存。
特殊マークをつけた場合はマークの0をアンダースコア_に変える。