• HOME
  • Weblog
  • ブログロール機能のお知らせ

ブログロール機能のお知らせ

09年05月28日 木曜日 07:55 » tag: お知らせ

ブログロール

バリスタ ブログロール機能のお知らせです。
バリスタ関連ブログの新着記事を一覧表示します。

順次、気が向いたら機能を実装していきます。
・自動で更新時間順に並び替え
・サーバー別に振り分け機能
・画像の作成
・斬新な試み

掲載希望ブログをお持ちの方は、お問い合わせから投稿してください。
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>";
 }
}

コメントはまだありません

コメントはまだありません。

このコメント欄の RSS フィード

ページトップへ