バグ:あるモードで非公開記事が見えてしまう

category-icon

こんにちは、martinです。ご無沙汰してます。なかなかブログをいじる時間がありませんが、早急に対処すべきバグの報告があったので告知しておきます。

 次のような症状が見られます。

カテゴリーモードのボックス表示において非公開の記事が見えてしまう

というものです。これを修正するには、utils.phpの1108行目から始まるget_articles_by_category関数内に1行追加します。

function get_articles_by_category($cat, $start=0, $length=100000, $rsort=FALSE){ // 指定したカテゴリの記事を配列で返す
 global $LOGS;
 $LINES = array();
 $count = 0;
 for($j = 0, $l = count($LOGS); $j < $l; $j++){
  if(empty($LOGS[$j]) || !is_file($LOGS[$j])) continue;
  $fp = @fopen($LOGS[$j], "rb");
  if($fp){
   while(!feof($fp)){
    $line = fgets($fp);
    if(strpos($line, "|$cat|")){
     if(!empty($line) && $count++ >= $start){
      $LINES[] = rtrim($line).NL;
     }
     if(($count - $start) >= $length) break 2; // level 2!
    }
   } # while-loop
   fclose($fp);
  } # $fp
 } # for-loop
 if(ADMIN==FALSE) $LINES = preg_grep("{^¥d{10}¥|}", $LINES);
 if($rsort) return array_reverse($LINES);
 return $LINES;
}

として下さい。

if(ADMIN==FALSE) $LINES = preg_grep("{^¥d{10}¥|}", $LINES);

という1行を追加しています。

 今までよく顕在化しなかったなぁと思いますが、ご報告して下さった方に深謝します

 あ、utils.php添付しておきます。

添付ファイル: utils.phpattachedIcon 

— posted by martin at 11:36 am   commentComment [10]  pingTrackBack [2]

js/lib.jsのアップデート他

category-icon

 こんばんは、martinです。近頃、iTunes Music Storeで鬼束ちひろWの「月光」を購入しました(200円)。以前、深夜に放送されていたトリックG(再放送?)の主題歌に使われていて気になっていた曲です。何回聴いても飽きませんねぇ。

 さて、バージョン1.5.4に添付していたjs/lib.js(このファイルの1行目にあるタイムスタンプが $ 2006/10/25 17:13:47 なもの)で、リスト表示モード(Ajaxモード時)での記事表示が出来ないという報告がありました。調べてみると、動的にエレメントを生成する関数で不具合を見つけました。それ以前のlib.jsではちゃんと動いていたんですが、スピード重視のチューンナップを施した際に、必要な部分まで削ってしまったようです。具体的には、839行目あたりが、

if(parent) parent.appendChild(el);

な方は修正が必要です。次のようにします。

if(parent) parent.appendChild(el); else d.body.appendChild(el);

 ちなみに、(この修正を行った上で)「リスト表示」を選び、リスト表示されたタイトルをクリックすると、ブログの画面はそのままで、記事だけを閲覧できる独自のダイアログボックスが出現します。このボックスに記事を表示させる仕組みですが、前後の記事は、Ajaxを利用して記事の内容だけを読み込んでいるので、ページ全体を書き換える手間がなく、スムーズな記事のナビゲートが可能になっています。また、この使い方に抵抗がある場合は、utils.phpの6行目にある、

define('LIST_AJAX_MODE', 1);      // リスト表示でAjaxモードを有効にするなら 1 を指定

の「1」を、「0」もしくは「FALSE」に指定すると、Ajaxモードが無効になり、リスト表示された記事タイトルをクリックすると、記事が単独表示されます。この場合は、ページ全体を書き換えるので、ページデザインによっては(アフェリエイト用の外部スクリプトを複数設定しているとか)、読み込みに時間がかかることもあるかもしれません。そこは、好きな方を選ばれて下さい。

 js/lib.jsを添付しておきますが、ついでに、まだ試験的ですが、記事の個別表示の際に、コメントとトラックバックを統合して表示させるように改良したutils.phpも添付しておきます。試して見たい方はどうぞ。このサイトで使っています。既存のutils.phpを上書きすれば良いです。あと、コメントフォームの画面でもトラックバックのURLが表示されるようにしたmodules/comment.inc.phpも添付しておきます。

添付ファイル: comment.inc.phpattachedIcon  utils.phpattachedIcon  lib.jsattachedIcon 

— posted by martin at 10:42 pm   commentComment [0]  pingTrackBack [1]

T: Y: ALL: Online:
Created in 0.0369 sec.
prev
2006.11
next
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30