World Community Grid のウィジェットはでかすぎる
2008年03月17日 01:08
ということで、必要な表示項目だけぶっこ抜いてみました。いま MD のフロントページ左下にあるのがそれです。
コードとしては、こんな感じになります。
<?php
if ( function_exists( ‘ini_set’ ) ) { ini_set( ‘allow_url_fopen’, “1″ ); }
$wcg_array = array();
$wcg_array = file( ‘http://www.worldcommunitygrid.org/getDynamicImage.do?memberName=******&mnO [... 略]‘ );
foreach( $wcg_array as $line ) {
if ( preg_match( “/.*Run Time.*/”, $line ) ) {
$wcg_runtime = $line;
}
if ( preg_match( “/.*Rank\:.*/”, $line ) ) {
$wcg_rank = $line;
}
}
$wcg_runtime = $wcg_runtime ? $wcg_runtime : ‘unknown’;
$wcg_rank = $wcg_rank ? $wcg_rank : ‘unknown’;
echo ‘<h3>World Community Grid</h3>’.”\n”;
echo ‘<p id=”wcg_user”>username: philsci</p>’.”\n”;
echo ‘<p id=”wcg_runtime”>’ . $wcg_runtime . ‘</p>’.”\n”;
echo ‘<p id=”wcg_rank”>’ . $wcg_rank . ‘</p>’.”\n”;
} else {
;
}
あのウィジェットはでかいし、日本語が化けてるのでどうしようもありません。ということで、iframe の中に表示される HTML コードから必要なデータが出力されている行を見つけて数値を抜き出します。全く馬鹿げた処理ですが、これも表示したいものだけを表示するには仕方ありません。まだスタイルで何にも定義していないので、そのままデータを表示するだけになっていますが、もちろん WCG へのリンクもつけますよ。
