[ カテゴリー » アップデート ]

ppBlog1.6.0リリース

category-icon

「うるおい保湿」とか「鼻セレブ」といったティッシュペーパーをすごい勢いで消費中のmartinです。今のところスギ花粉だけですけど。花粉症の方々に処方はするけど、自分のことは放置状態なすがままにしてます:)

 さて、ppBlogの最新版をリリースしました。バージョンをちょっと上げて1.6.0に。前バージョンと比べて、管理画面を整備しました。なるべく同じインターフェイスで操作できるようにだとか、なるべく画面の切り替え場面をなくすだとか。

 あと、コアな部分では、ppBlogのJavaScriptでは心臓ともいえるlib.jsもかなり書き換えが入っていると思います。

 とりあえず、通常版を初めからインストールしてみましたが、大きな問題はないようです。今晩は、ネット回線が貧弱なところにいくので、セーフモード版は明日以降にリリース予定とします。


— posted by martin at 04:44 pm   commentComment [21]  pingTrackBack [1]

モバイル用スクリプト更新

category-icon

 こんばんは。最近、VistaをMacBookにインストールしてみたmartinです。詳しくはwebで検索・・・ではなくて、ブログLink をどうぞ。

 ちょい前に、vodafoneの3G携帯(902T)のユーザの方から、モブログで画像が投稿できないという相談を受けまして、ppBlogに標準装備の解析用デバッグメールを送っていただき、原因が分かり解決したようなので、mob.phpの最新版をアップしておきます。なお、現行バージョンで問題なく画像や動画がアップできる方はスルーして良いかと思います。ただ、アップする画像の拡張子が大文字の場合(FOO.JPGなど)は、スクリプトの方で小文字に変換する処理を新たに入れています。FOO.JPGはFOO.jpgになります。これは個人的に、拡張子が大文字だと気持ち悪いという、なんでもない理由からなんですが。。

 自分のケータイからも投稿できません、という方は、小生のメアド(martin.info.jp以下Gmail)宛にデバグメールを添付していただければ解決するかもです。

追記[2007/2/9 5:26:25]

 バージョンアップが近いので添付ファイルは外しておきます。


— posted by martin at 03:12 am   commentComment [0]  pingTrackBack [1]

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

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]

Trackback.phpのアップデート

category-icon

こんばんは、martinです。トラックバックスパム対策にて、trackback.phpをアップデートしたのですが、正規表現で不備があったので、その修正版をアップしておきます。変更点は、昨日のコメントLink にもありますが、trackback.phpの56行目あたりを、

$jp_pattern = '{(
    (?:¥xA4[¥xA1-¥xF3])+| # Hiragana
    (?:¥xA5[¥xA1-¥xF6])+ # Katakana
)}x';

としています。最後にパイプ(|)が入っていたのですが、これだと、何でもすり抜けてしまいます。ほんとは、この正規表現の後に半角カタカナのやつも入れていたのですが、これは不要だろうと考えて削除して、その前のパイプが残ってしまいました。

 あと、アクソン付きのアルファベット(フランス語)なんかも、たまにすり抜けるようですね。。これは、69行目を

if(preg_match('{^[¥x20-¥x7E[:alnum:]]+$}', $target)){

とでもしたら良いですかねぇ。他言語のときはイマイチ知識不足。。最初の修正を入れていれば、その時点でアクソン記号のやつも弾きそうな気はしますが、いかがなもんでしょう。

添付ファイル: trackback.phpattachedIcon 

— posted by martin at 06:37 pm   commentComment [0]  pingTrackBack [0]

T: Y: ALL: Online:
Created in 0.0058 sec.
prev
2024.4
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