BBClone 0.4.7がリリースされました → 手直し中

当サイトのアクセスカウンタ及び人気記事トップ10、検索キーワードに使っている[http://bbclone.de BBClone]が本日0.4.7がリリースされました。

そういえば、Nucleusも3.2出ましたねぇ、日本語版が待ち遠しいっす。(お手伝いしないと・・・・って気がするけど(^^;;))

この記事を書こうとした時点では、0.4.6eでして、これだと日本語のキーワードがうまく取れなかったんですが、0.4.7にしたら修正する必要もなく動きました(^^;;

と思ったらやっぱ変だったという罠・・・。

旧版では、どうもライブラリのBBC_Cleanを呼ぶと空になっちゃう現象があって、無理やり修正したんですが(それを書こうと思っていた)、0.4.7でそこら辺りがちょうど修正されてました。
@@—なので、特に修正する必要もなく動作するんですが@@、ではなくてやはりEUC-JPで使うとダメなようです。
なので、lib/referrer.phpの以下のところを修正しました。

function bbc_get_keywords($ref) {
:
$tmp = (!$char || !stristr($char, “UTF”)) ? strtolower(bbc_clean($flt_search[$i])) : bbc_clean($flt_search[$i]);
↓ このように変更しました
$tmp = bbc_clean($flt_search[$i]);

ようするにBBC_CUSTOM_CHARSETが何も設定していないまたはUTF-8じゃない場合には、strtolowerの方にいっちゃうのでそれが文字化けを引き起こすことになります。
UTF-8として設定しておけば問題はなさそうですが、とりあえず、EUC-JPで当サイトは構築しているのでNP_BBcloneの為にもEUC-JP でデータを保存する必要があるので、strtolowerを通さないように直接bbc_cleanを呼び出すように変更したということになります。(単独 で使用する分には、UTF-8を指定しておけばOKでしょう)

ついでに全角空白で区切って検索された場合も単語区切りとして判別させるようにしました。

function bbc_get_sep($query, $array) {
// puts the query into an array
foreach ($array as $match) {
$has_sep = (mb_strpos($query, $match) !== false) ? true : false;
       : ↑のstrposをmb_strposに変更しとく
       :
function bbc_get_keywords($ref) {
$var_sep = array(“&”, “|”);
$word_sep = array( “+”, ” “, “/”,”□”);
##red|□となっている箇所を追加した(実際は全角空白文字です)##

ということでした(^^;; と まだ 様子見です、また手直しするかも・・・。

PS.現在、NP_RelatedEXとNP_NewsfeedEXを作っています。 NP_RelatedEXからNP_Newsfeedを呼び出す仕組みを作成中っす。
あ、Ubicast・・・・そーいえば、あれからやっていません。

プッシュ通知を