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をアンダースコア_に変える。