oParts.jsのアップデート

category-icon

 早速ですが、ppBlog1.8.0RCでのoParts.jsのAjaxライブラリをいじったせいか、Firefoxで、角丸スクリプトを使用していると、サーバーからcornerplay.jsを呼び込もうとして、そこで反応が止まりますね。他のブラウザでは問題ないようですが。なので、この部分は以前のやつに戻しました。oParts.jsの最新版(oParts.version = '20090324.123224')を添付しておきます(1.8.0RC向けです)。

 ついでに、oParts.js、lib.js、phooeffect.jsは、圧縮してファイルサイズを丸めたやつをindex.phpの方で指定できるので、これも添付しておきますね。指定の仕方は、index.phpの最後にあるechoHTMLの引数で指定します。

echoHTML(array('photoeffect.min.js','oParts.min.js','lib.min.js')); // これで HTMLを出力
添付ファイル: oParts.jsattachedIcon  oParts.min.jsattachedIcon  lib.min.jsattachedIcon  photoeffect.min.jsattachedIcon 

— posted by martin at 09:05 pm   commentComment [0]  pingTrackBack [0]

 

ppBlog1.8.0試用版リリースしました

category-icon

 こんばんは、martinです。ppBlogのバージョンアップを行いました。前回バージョンは1.7.7とかでしたが、結構、修正が多岐に渡っているのでバージョンを1.8.0としてます。ただし、まだ細かいところまで検証出来ていない気もするので取り敢えず試用版という扱いです。試用版と言っても、このサイトで使っているものと同じですけど。

 前バージョンで特に大きなバグとかはなかったと思うので、基本的には使い勝手の向上を目指したり、機能を改善したものです。新機能というほどのこともないですが、今、このサイトで使っているヘッドラインモードに関して、基本的には、設定した文字数でエントリーの文章をカットしますが、<!--]]-->という文字列を挿入することで、そこまでの文章や画像をそのまま表示させることが可能です。今まで、この機能がなかったのが不思議なくらいですが。。この指定タグは、エディタのボタンに付いてます。

 エディタで言えば、「文の整形」の項目で、従来の整形ブロック(PREタグ)の下に「整形ブロック[class="thru"]」というのが追加されています。このタグを使うことで、PRE要素に対してソースハイライト表示用のsyntax.jsが適応されるのを回避することができます。

 見栄えの点で言えば、開発日誌にも書いてきましたが、ソーシャルブックマークの挙動を修正して、複数記事表示モードの際は、各種ブックマークへのエントリーを促すボタンが表示されます。このボタンをクリックすると、その場で登録したブックマークを呼び出す仕組みです。単独記事モードの際は、このエントリーボタンではなくて、各種アイコンが表示されます。

 後は、モブログに関して、フォーラムの方で出ていた要望をそのまま採り入れたものになっています。すなわち、

  1. 投稿毎に任意のカテゴリーを指定できる。
  2. 複数の添付画像の、表示位置をそれぞれ指定できる

です。カテゴリーの指定は、メールのタイトルに続く、連続した2つの空白の後のカテゴリーインデックス(数字)(半角全角ともに可)で可能です。カテゴリーインデックスとは、カテゴリー設定ファイル(category.ini.php)を編集エディタで開くと配列リストになっていますが、それを上から順に1,2,3と数えた数字になります。これは、普通に表示されるサイドバーのカテゴリーのメニュー順と一致します。サブカテゴリーも通し番号になっているので、この指定方法で問題ないです。具体例を挙げると、以下のような感じ。

春の息吹  3

みたいな感じです。これで、カテゴリーリストで上から3番目のカテゴリー名が、投稿先のカテゴリーになります。2番目の添付画像の位置指定ですが、これは、文章中でどこに表示させるかという位置指定と、画像に関する位置指定(左寄り、中央、右寄り)の両方の指定が可能です。方法は、表示させたい位置で、%pict1_l%pict1_c%pict1_rとか%pict3_cなどの指定をすることで可能です。順に、1枚目の画像を左寄り(leftのエル)、センタリングのc、右寄り(rightのアール)という指定になります。最後の例のように複数枚でも、その番号を指定すれば良いです。

 念のため言っておくと、モブログにおけるこれらの指定は、あくまでオプションなので、従来通りの投稿で問題ないです。

 こんなとこですかねぇ。試用版で恐縮ですが、不具合やら要望とかありましたらお願いします。


— posted by martin at 01:38 pm   commentComment [4]  pingTrackBack [0]

 

ppBlogをサーバー上でZIP展開

category-icon

 こんばんは。どうも昨日辺りから自宅のネット接続がとろいです。ppBlogは、ファイル数は390個(決して多くはないと思いますけど)近くあるのですが、それが昨日は全部アップロード出来ずじまい。愛用しているFFFTPGの転送画面が何度も途中でフリーズしたようになってました。昔、28.8kbps?ぐらいのモデムでピーガラガラとかやってたのを思い出しはしませんでしたが。

 というわけで、ブログシステムというものは、多機能になればなるほど、当然のようにそのサイズが肥大化していきます。なので、サーバー上に、圧縮されたZIPファイルをさくっとアップロードして、そこで展開するのが楽だよなぁ、と思ったので、PHPの充実したオンラインマニュアルを片手に、そういうスクリプトを書いてみました。最初に書いたのが以下です。ローカルのテスト環境でわけなく作動したので、こりゃいけるとサーバー上で試したら、zip_open関数がないと怒られました(--)

function my_unzip($zipFile=''){
 $zip_dir = getcwd().'/';  // カレントディレクトリの取得
 if(is_dir(str_replace('.zip', '', $zipFile))){ // 既に展開されたディレクトリがあるならば
  exit("Already exists!");
 }
 $i = 0; // どれくらいファイルがあるのか知りたい
 if($zip = zip_open($zip_dir.$zipFile)){
  while($zip_entry = zip_read($zip)){
   $file = zip_entry_name($zip_entry);
   $zdir = $zip_dir.dirname($file);
   if(!is_dir($zdir)){
    @mkdir($zdir, 0777); // ディレクトリないなら作成
    echo "Directory: ".dirname($file)."/ created.<br />¥n"; // メッセージ表示
   }
   if(zip_entry_open($zip, $zip_entry, 'rb')){ // ファイルの書き出し
    if($fp = @fopen($file, 'wb+')){
     fputs($fp, zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)));
     fclose($fp);
     echo " File ".++$i.": $file created.<br />¥n";
    }
   }
   zip_entry_close($zip_entry);
  } #while
 }
 zip_close($zip);
 return TRUE; // 無事に終わったらTRUEを返す
}

これを以下のようにしてローカルで走らせました。

if(my_unzip('ppBlog180b.zip')){
 echo "Successfully extracted!¥n";
} else echo "Failure!¥n";

したら、ファイル数が390個近くあることが判明。で、実際にオンラインのサーバー上でもやってみたら駄目だったわけです。なので、シェルコマンドでトライしてみました。

$zip_file = getcwd().'/ppBlog180b.zip'; // 展開するファイルを指定

function unzip($zip_file){
 return shell_exec("unzip $zip_file"); // UNIX系には、まず付いてるであろうunzipを使う
}

if($zip = unzip($zip_file)){
 echo "<pre>$zip</pre>¥n"; // これでずらっと展開されたファイルが表示される
 echo "$zip_file: Successfully extracted!
"; echo '<a href="./ppBlog180b/install.php">installation</a>'; // 続けてppBlogのインストール画面へ誘導 } else{ echo("Failed to extract: $zip_file¥n"); }

そしたら、今度は上手く行きました。すべてのファイルがそっくりサーバー上で展開されていました。これは楽チンですねぇ。上のスクリプトは、単にZIP圧縮されたフォルダを展開するだけなので、サーバー上に作成されたディレクトリは、圧縮前のフォルダの名前と同じになります。多分、copyコマンドとかchdirで、展開先やら名前を指定できるでしょうね。

 一応、この簡単なスクリプトを添付しておきます。お使いのサーバーで動くかどうかは保証しませんが。。と、その前にppBlog180b.zipがないことには・・・。

添付ファイル: ppblogunzip.phpattachedIcon 

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

T: Y: ALL: Online:
Created in 0.0045 sec.
prev
2009.3
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 31