magpie RSSがWordPressのfeedを読み込まない件について

何かしらないけど、バージョンアップしてから読み込まなくなった。
原因を追究するのもめんどくさいから、simplexmlで代用して、cache_liteでキャッシュさせといた。
これで問題なしと。

include_once "Cache/Lite.php";
$option = array(
 "cacheDir" => "cache_lite/",
 "lifeTime" => 60*60*6
);
$cache = new Cache_Lite($option);
if($list = $cache->get("weblog_list", "index")){
 return $list;
}else{
 $rss = simplexml_load_file($feed);
 $list = "";
 foreach($rss->channel->item as $item){
  $date = date("y/m/d" , strtotime($item->pubDate));
  $list .= "<li><span class=\"date\">$date</span> <a href=\""
      .$item->link."\">".$item->title."</a></li>\n";
 }
 $cache->save($list, "weblog_list", "index");
 return $list;
}

actionscript3でxmlを読み込む

actionscript3でのxmlの読み込みについて。実験中。
TextFormatクラスのプロパティにtopMarginがあればいいのにと思った。

var input:TextField;
var inputFormat:TextFormat = new TextFormat();
 
input = new TextField();
input.textColor = 0x333333;
input.background = true;
input.backgroundColor = 0xeeeeee;
input.border = true;
input.borderColor = 0x999999;
input.x = 10;
input.y = 10;
input.width = 480;
input.height = 290;
inputFormat.font = "MS Pゴシック";
inputFormat.size = 20;
inputFormat.align = TextFormatAlign.LEFT;
inputFormat.leftMargin = 10;
input.defaultTextFormat = inputFormat;
addChild(input);
 
var theFeed:URLRequest = new URLRequest("http://www.mryworks.com/weblog/feed/");
var xmlLoader:URLLoader = new URLLoader();
xmlLoader.dataFormat = URLLoaderDataFormat.TEXT;
xmlLoader.load(theFeed);
 
xmlLoader.addEventListener(Event.COMPLETE, onComplete);
 
function onComplete(evt:Event):void {
try{
var feedXML:XML = XML(xmlLoader.data);
}catch(e:Error){
trace("xmlファイルエラー", e.message);
}
input.text = feedXML.channel.item[0].title + "\n"
+ feedXML.channel.item[1].title + "\n"
+ feedXML.channel.item[2].title + "\n"
+ feedXML.channel.item[3].title + "\n";
}

このブログのfeedを表示するサンプル。

Net UserAgent Mobile GPSを試してみた

まずはインストール。
pear install -f -o Net_UserAgent_Mobile_GPS
WARNING: failed to download pear.php.net/Net_UserAgent_Mobile_GPS within preferr
ed state "stable", will instead download version 0.1.0, stability "alpha"
downloading Net_UserAgent_Mobile_GPS-0.1.0.tgz ...
Starting to download Net_UserAgent_Mobile_GPS-0.1.0.tgz (4,463 bytes)
.....done: 4,463 bytes
install ok: channel://pear.php.net/Net_UserAgent_Mobile_GPS-0.1.0

レンタルサーバーを使っていて、「インストールできない!」というような人は、Pearをレンタルサーバーにインストールするへ。

テスト
http://www.mryworks.com/test/Net_UserAgent_Mobile_GPS/

au、docomo、softbankでそれぞれの結果に
docomoなら
array(2) {
["url"]=>
string(15) "http://test.com"
["tag"]=>
string(42) "<a href="http://test.com">GPS.TEST</a>"
}

au、docomo、softbankの3キャリア変換が超めんどうなんだよね。
http://php-develop.org/MobilePictogramConverter/
http://phpspot.org/blog/archives/2008/07/phpgpsnet_usera.html

便利なのがいろいろ出てきたし、これらを組み合わせて何か作ってみる?

Pearをレンタルサーバーにインストールする

レンタルサーバーでは、インストールされていないので新しいpearライブラリを使えない。
また、インストールしようとしても「アクセス権がありません」と出て触れない。これはpearが共有されているから。

Net_UserAgent_Mobile_GPS試したいな…。
pear install -f -o Net_UserAgent_Mobile_GPS
あれインストールできない(´・ω・`)とかしている諸君、それを使うには自分のスペースにpearをインストールしなきゃいけないんだぜ!

※さくらインターネットの場合。
1. UTF-8 TeraTerm Proを使ってSSHでログインする。
[アカウント].sakura.ne.jp
id:[アカウント]、password:[サーバーのパスワード]

2. ログインできたら、pear listをしてみる。
これが今使えるpearライブラリのリストになります。少ないw
%pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.2 stable
Console_Getopt 1.2.3 stable
DB 1.7.13 stable
HTML_Template_IT 1.2.1 stable
HTTP 1.4.0 stable
HTTP_Client 1.1.1 stable
HTTP_Request 1.4.2 stable
Mail 1.1.14 stable
Net_SMTP 1.2.10 stable
Net_Socket 1.0.8 stable
Net_URL 1.0.15 stable
Net_UserAgent_Detect 2.4.0 stable
PEAR 1.6.2 stable
Structures_Graph 1.0.2 stable
XML_Parser 1.2.8 stable
XML_RPC 1.5.1 stable

3. .pearrcファイルを新規作成する。pearの設定ファイルです。
%pear config-create /home/[アカウント名] .pearrc

4. configの設定を行う。これで自分のレンタルスペースにpearをインストールできるようにします。
%pear config-set bin_dir /home/[アカウント名]/pear/bin
%pear config-set download_dir /home/[アカウント名]/pear/temp
%pear config-set temp_dir /home/[アカウント名]/pear/temp

5. 自分のレンタルスペースにあるpearを実行するためにパスを通します。これでディレクトリ名を省略して実行できるようになります。
ホームディレクトリにある.cshrcファイルのset pathに追加します。FTPでダウンロードして普通にテキストエディタで編集してアップ上書きでok。
17行目
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

set path = (~$HOME/pear/bin /sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

6. PEAR本体をインストール
%pear install PEAR

7. チャンネルアップデート
%pear channel-update pear.php.net

8. 使いそうなライブラリを適当にpear install

%pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.2 stable
Auth 1.6.1 stable
Auth_RADIUS 1.0.6 stable
Auth_SASL 1.0.2 stable
Cache 1.5.4 stable
Cache_Lite 1.7.4 stable
Console_Getopt 1.2.3 stable
Crypt_CHAP 1.0.1 stable
DB 1.7.13 stable
File_Passwd 1.1.6 stable
HTML_Common 1.2.4 stable
HTML_QuickForm 3.2.10 stable
HTTP 1.4.0 stable
HTTP_Client 1.1.1 stable
HTTP_Request 1.4.2 stable
Log 1.11.0 stable
MDB 1.3.0 stable
MDB2 2.4.1 stable
Mail 1.1.14 stable
Net_POP3 1.3.6 stable
Net_SMTP 1.3.1 stable
Net_Socket 1.0.8 stable
Net_URL 1.0.15 stable
Net_UserAgent_Mobile 1.0.0RC1 beta
Net_UserAgent_Mobile_GPS 0.1.0 alpha
PEAR 1.7.2 stable
Pager 2.4.6 stable
Structures_Graph 1.0.2 stable
XML_Parser 1.2.8 stable
XML_RPC 1.5.1 stable

9. 最後にphp.iniに追加
さくらの管理画面にログインし、「PHP設定ファイルの編集」
include_path=".:/home/[アカウント名]/pear/php"

10. 以上でインストール完了になります。