ブログロール
バリスタ ブログロール機能のお知らせです。
バリスタ関連ブログの新着記事を一覧表示します。
順次、気が向いたら機能を実装していきます。
・自動で更新時間順に並び替え
・サーバー別に振り分け機能
・画像の作成
・斬新な試み
掲載希望ブログをお持ちの方は、お問い合わせから投稿してください。
RSSを読み込んでいるので、RSSを吐くタイプのブログしか掲載できませんが、ご了承ください。
内部的なこと
blog class作って、urlの配列をforeachで回して、cache_liteで変数保存。
もっとスマートな方法あればコメントでも。
class blog {
var $feed;
var $data;
var $title;
var $url;
var $description;
var $last_modified;
var $feed_version;
var $error = 0;
var $list;
function blog($feed){
$this->feed = $feed;
$this->data = @fetch_rss($this->feed);
if($this->data==FALSE){ $this->error = 1; }
$this->title = $this->data->channel['title'];
$this->url = $this->data->channel['link'];
$this->description = $this->data->channel['description'];
$this->last_modified = $this->data->last_modified;
$this->feed_version = $this->data->feed_version;
if($this->error==1){
$this->list = '<li>エラー: RSSが読み込めませんでした。</li><li>しばらく時間を空けてアクセスしてみてください。</li>';
return;
}
$i=0;
foreach($this->data->items as $item){
//print_a($item);exit;
if(BLOGLIST_ROW_NUMBER==$i){continue;}
if($this->feed_version == '1.0'){
//RSS1.0
$date = preg_replace('/T|[\+Z].+/', ' ',$item['dc']['date']);
}elseif($this->feed_version == '2.0'){
//RSS2.0
$date = date("Y-m-d H:i:s" , strtotime($item[pubdate]));
}else{
$date = '';
}
$list .= "\t\t\t\t\t\t\t\t<li><span class=\"data\">{$date}</span> <a href=\"{$item[link]}\">{$item[title]}</a></li>\n";
$i++;
}
$this->list = "\t\t\t\t\t\t\t<ul>\n".$list."\t\t\t\t\t\t\t</ul>";
}
}
