| @技術/プログラミング

 最近になってようやくタグとカテゴリーの違いみたいなものが分かってきました。カテゴリーは各記事をその中に内包するイメージだけど、タグによる分類は逆で、個々の記事にタグが付帯する感じ。だからぽんぽんぽんぽん気軽に付けられる。でも用いるタグには注意が必要で、出来るだけ一般的な言葉を用い、誰が見てもそのタグから連想されるイメージが近くなるようなものでなければならない。そうすることで、読者がもっと情報を効率的に摂取できるようになりますよね。カテゴリーによる情報分類では、自分にしか分からないような無茶苦茶な名前で情報分類していたので、それを修正する作業は結構骨が折れました。でも膨大なタグリストができてちょっと満足。量が多すぎて見にくいのは気にしない ;-)

 タグの表示数を増やすに当たって、技術的にも手を加えてあります。P_BLOGは純正だとタグのレベルは4段階で、また強調表示されるタグの数も少なく感じたので、合計32個のタグが5段階で表示されるようにしみました。めちゃ適当にいじってありますが、いまのところ正常に動いています。最後にCSSで見映えを調整してお終い。本当はtriflesさんのTag Selectorを導入しようかなと思ったんですが、エラーが出てうまく設置できず。多分変数の名前がずれてるくらいの小さなバグだと思うのでデバッグはそんなに難しくなさそうなんですが、術後の重い身体ではやる気が起きず :-!

 一応改変した部分を記しておきます。include/fnc_base.inc.phpの1143行目付近。ほんと適当です。

Continue reading...

| @技術/プログラミング

PHP 5.1.6

 僕の 2ch Viewer は p2 拡張パック の BigO なんですけど、こちらはもう開発がストップしててレガシー化しているので、ちょっと ASAP を試してみようと思ってインストールしてみました。そしたら PHP のバージョンを 4.3.3 以降にせよという警告メッセージが表示される。Mac OS X にデフォルトで入ってる PHP のバージョンは確か 4.1 なので(PHP 4.3.1 がプリインストールされているみたいです。スミマセン)、一丁 PHP のバージョンアップにチャレンジしてみることにしました。

 古いバージョンの p2 を使っていて最近バージョンアップしたら PHP のアップデートを求められ、PHP をアップデートしたらその後 Apache が起動しなくなったという人は参考にしてみて下さい。

 コマンドラインを使ってインストールするのは難しいので、Mac OS X + Database を参考に、Marc Liyanage - Software - Mac OS X Packages - PHP からインストールパッケージをダウンロードしました。これが劇簡単。普通のアプリをインスコするのと変わらない。素人にもお勧めできます。

Continue reading...

| @技術/プログラミング

 P_BLOG ProjectのフォーラムにRSS 2.0の時刻フォーマットがおかしいという投稿がありました(P_BLOG Project : フォーラム)。これは自分でも前々から気になっていたところだったので、修正にトライしてみました。

 ファイルをダウンロードして解凍し、/rss/include/ 内の二ファイルと差し替えればOKです。時刻のずれ、フォーマットのエラーも修正されています。

| @技術/プログラミング

 P_BLOGのカテゴリー検索(category.php)は部分一致検索気味で、例えば"昔の日記"というカテゴリーと"日記"というカテゴリーがあったとするなら、日記のカテゴリーを選択したときに前者まで含まれてしまうのですよね(やっぱりうまくいかないカテゴリー検索)。そういうわけで、後方一致がおきないようにカテゴリー(TAG)をつけるようにしていたのですが、うっかり後方が重複するカテゴリーができてました。"本"と"熊本"です。地名は盲点だった :-!

 しょうがないのでもう一度 category.php いじりにチャレンジしてみました。


//=====================================
// CATEGORY LIST UP QUERY -- HOW?
//=====================================

$patterns = '/(*|+|^|$|?|(|))/';
if (preg_match($patterns, $key)) {
    // (1) Use "LIKE" search
    $listup_query = "BINARY category LIKE '%".$key."%')";
} else {
    // (2) Use MySQL Regular Expression
    $listup_query = "category REGEXP BINARY '^".$key."$|^".$key.",|,".$key.",|,".$key."$|,?".$key.",|,?".$key."$')";
}
Continue reading...

| @技術/プログラミング

 P_BLOGもMovable Typeみたいに記事タイトルだけを列挙したアーカイブリストみたいのがあれば良いなと思っていたんですけど、さっきはてなのP_BLOGリングを覗いていたら、Quanterm OptexというブログでVARSを使ってアーカイブリストを表示するスクリプト(Quanterm Optex : Files : ログの一覧表示)が公開されているのを発見しました。これがめちゃイカス。早速ダウンロードして設置してみました(portal shit! : ARCHIVES)。いやー、スバラシイ :-D

 Quanterm Optexのyuecさんは他にもめちゃくちゃP_BLOGをカスタマイズしていてカッチョイイのですが、パーマリンクのURIをデフォルトの /article.php?id=記事id ではなくて、/article記事id.html となるように改造しておられるため、配布されている log-list.php をそのまま設置しても機能しません。55行目と187行目付近のパーマリンクへのリンク部分を

<a href="/article.php?id='.$row['id'].'">

と書き直す必要があります。あと個人的にデザインはCSSで一括指定したいので一部表示に関わる部分をゴニョゴニョしました。

 このVARSスクリプトはまじでイカスのでP_BLOGユーザーにはオススメです。

| @技術/プログラミング

 Future is Nowさんで公開されているplg_aal_recentを使って、プロフィールのページにLast.fmのRSSフィードを拾って最近iTunesで再生した曲を表示するようにしてたんだけど、ここ数日、何も表示されない状態が続いていた。おかしいなぁと思ったら、Last.fmのRSSの仕様が変更されたくさい。

 まずRSSのURLが変更になっていた。これまで http://ws.audioscrobbler.com/rdf/history/(username) だったものが、 http://ws.audioscrobbler.com/1.0/user/(username)/recenttracks.rss に変わったようだ。そういうわけなので早速 /include/user_include/plugins/plg_aal_recent.inc.php をエディターで開いて修正した。修正するのは57行目あたりの $rss_feed

$rss_feed = 'http://ws.audioscrobbler.com/rdf/history/'.$user_name;

$rss_feed = 'http://ws.audioscrobbler.com/1.0/user/' . $user_name . '/recenttracks.rss';

と修正。

Continue reading...

| @技術/プログラミング

plg_paze_analyze
 大変便利な Future is Now さん提供のP_BLOG用アクセス解析プラグイン、plg_page_analyzeなんですが、いくつか不満な点があったのでちょっと改造しました。

 まず、サイト内リファラを拾ってしまう点。リファラ画面が自サイトだらけになってしまうんですよね。Page Analyzeプラグインはカウントしないリファラ($page_ex_ref)を設定できるので、当初はここに自サイトのURIを設定してサイト内移動のリファラを記録しないようにしてたんですが、これだとアクセス総計に狂いが出ることが分かりました。すなわち、サイト内をぐるぐる見て回る人がいても、Pageviewのカウントは1なわけですね。それじゃ正しい解析が出来ているとはいえないので、以下のように改造した次第です。

 include/user_include/plugins/plg_page_analyze.inc.php の89行目辺り、get referer infoに手を加え、以下のようにします。

Continue reading...