差分その3

category-icon

 こんにちは。アップロードした画像に拡大画像があるときは、マウスの形状がリンクを示すポインターに変わってそれと分かるというのを意図していたのですが、その指定をこれまでインライン指定で、

 style="cursor: pointer;" /* カーソルの形状をポインターに */

としていたのですが、汎用性を持たせるために、前回のアップデートでこれを削りました(テーマ側で指定できるように)。でも、肝心のクラス名がないので、これじゃテーマファイルのCSSでは指定出来ませんね。なので、拡大画像があるサムネイル画像に対しては、IMGタグ内に resized というクラス名を与えるようにしました。これで、各テーマのCSSファイルで、

img.resized, canvas.resized { /* CANVASタグにも指定(お洒落に見せる画像向け) */
 cursor: pointer; 
}

というのを与えれば、ポップアップのある画像に対しては、マウスの形状がそれと分かるようにリンク様に変わります。さて、このサイトではそうしているのですが、このマウスカーソルの形状を好きな画像に変えるには、

img.resized, canvas.resized {
 cursor: url(Images/zoomin.cur), pointer; /* Firefox向けに2番目の指定は必須 */
}

のように指定します。指定する画像は基本的はGIFでもPNGでも何でも良いはずですが、肝心のIEが.curしか認識しないため、カーソルファイルを指定しています。Opera以外のモダンなブラウザはだいたい対応していると思います。Firefoxでは、画像以外の属性も指定しておかないと、この指定が効かないので、必ず2番の指定も忘れず付けましょう。後、OS側の要請により、カーソルファイルのサイズは32ピクセルx32ピクセルが上限です。

 普段、カーソルファイルはあまり扱わないかと思うので、フリーで使えるソフトを紹介しておきます。日本語のインターフェイスにも対応しています。ドロップシャドウなども簡単に付けることが出来ますよ。

 http://cowscorpion.com/Image/GreenfishIconEditorPro.html

 という訳で、上記修正を施したutils.phpphotoeffect.jsを添付しておきます。

追 記

IEでは、お洒落な画像効果を効かせた際に(photoeffect.js)、上記の指定では、マウスカーソルが指定画像にならないので、ここはクラス名.resizedの指定を以下のようにする必要がありますね。少なくともppBlogでは、resizedというクラス名は他の部分では出てこないので、まぁいいか…。

.resized {
 cursor: url(Images/zoomin.cur), pointer; /* Firefox向けに2番目の指定は必須 */
}
添付ファイル: DIFF080423.zipattachedIcon 

— posted by martin at 01:11 pm   commentComment [15]  pingTrackBack [0]

今週の差分その2

category-icon

 こんにちは。こちらもようやく暖かくなってきました。こっちは、日も長くて午後9時ぐらいでもちょっと空は明るめです。天気が良いと午後7時ー8時くらいの太陽の照り方が日本での午後3時過ぎぐらいの感覚なので、ほんとに昼間が長く感じられ、得したような気分になるような。

 さて、昨日のアップデートで、余計にバグが出たのでその修正です。よかれと思ってした改変が裏目に出ました。具体的には、カテゴリーのプルダウンメニューで、サブカテゴリーなら「┗ サブ・カテゴリー名」とするのが見やすいかなと安易に変えたのがダメでした。もとに戻しました。

 あとは、JavaScriptの等号成立に関することでちょっと意外なことがあったのでメモがてら。気付いたのは数週間前ですが。以下のコードは、小生はてっきり成り立たないと思っていたのですが…。

alert(0 == ""); /* ゼロと空は等しい? */

これは true を返すんですなぁ。クッキーに値を食わせる処理で値が空なら(value == "")何もしないというコードを書いていたんですが、これだとゼロ(0)という値を食わせると、これにかかりクッキーを食べてくれないんですね。いやはや。以下のようにすれば0でも受け付けてくれます。

alert(0 === ""); /* これは false を返す。 */

ちなみに下も 成立ですね。これってPHPでも全く同じ振る舞いをします。感覚的に空の値が false に等しいってのは変な気もしますが。

alert(false == ""); /* これは true を返す。 */

 ちょっと横道に逸れましたが、差分の添付ファイルです。あ、モバイル表示用のmoby.phpで個別記事表示のときに日付がなかったので表示させるようにしました。

添付ファイル: DIFF080422.zipattachedIcon 

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

今週の差分その1

category-icon

 こんにちは。差分ファイル減るどころか増えています…。主な修正は以下の感じ。

  • カテゴリー周りの不具合を修正。カテゴリー削除に伴う挙動とか。
  • バックアップのアーカイブ作成スクリプトの見直し。なるべく処理を軽くするように。
  • 画像アップロードに関する諸々の修正

です。前回のエントリーも参考になるかと思いますが、画像のアップロードおよびそれに続く一連の処理で、従来だと、画像サイズが大きすぎるとメモリを使い果たして、処理が止まってしまうこともあったと思いますが、それへの対応です。ついでに、環境設定で、アップできる画像の最大サイズを指定する箇所がありますが、ここの単位がKBなのをMBに変えました。時代の流れに合わせないとですね。サーバーによりけりですが、アップロード出来るファイルサイズは、だいたい8MBから15MBぐらいはあると思います。お使いのサーバーでの具体的な値を知りたければ、index.phpの途中辺り(34行目あたり)に、

if(ADMIN) P('Max size is: '.ini_get("upload_max_filesize"));

と書いて、ログインすると表示されます。この修正により、設定ファイルのini.inc.phpの書き換えが必要になります。2カ所ですが、ひとつは29行目、

define('MAX_FSIZE','8');   /* アップする画像のファイルサイズ上限。MBで指定。*/

で、これに伴い、95行目の

$maxsize = 1024 * 1024 * MAX_FSIZE;        // 上限サイズをMBからバイトに直しておく

です。お手数をおかけしますが、よろしくお願いします。参考としてini.inc.phpも添付しておきます。JavaScript関連も、色々修正が入ってます。デバグの消し忘れとか、エディタ関連とか。

 とりあえず取り急ぎ 

添付ファイル: DIFF080421.zipattachedIcon 

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

 

アップロード出来る画像のサイズ

category-icon

 3MB超の画像をアップしてみます。()元の画像サイズが大きいので、回線が貧弱だと、クリックして元の画像を表示させるのに時間がかかります。
Tamuro1
福岡の前原駅の近くにある「たむろ」。出国する前に先生方と。美味しかったなぁ。

 アップロードするのに、こちらの回線では2分弱かかりました。

 昨年の9月末に、アップできる画像の上限を可変的に扱うスクリプトを書いてたはずでしたが、これがローカルのテスト環境でのutils_admin.phpや配布版にも反映されてませんで。ローカルの別のテスト環境のディレクトリにあるutils_admin.phpにその記述を見つけました。具体的には、サムネイル画像を生成するcreate_thumbnail()関数内にその記述がありますが、動的に、アップされた画像ファイル処理に必要なメモリを取得して、一時的にサーバーのメモリ容量を増やす方法です。PHP.NETのユーザーメモにあったものです。たった数行の記述を加えるだけですが、これでかなりのサイズの画像ファイルをアップロードすることが出来ます。デジカメが高解像度になって、写真1枚のファイルサイズが1MBを超えるものが当たり前になってるので、ブログの方もこれに合わせないとですね。


Tamuro2
同じくたむろにて。これはマグロの頭だったかな。とにかくでかかった。左は自分の手。大きい方なんだけど。更にでかい。

Tamuro3
個人的には、にぎりは「しゃり」が命。ねたがいくら優れていても土台が旨くないと台無しになってしまう。

 ちなみに加えたコードは以下のようなやつです。

 $fudgeFactor = 1.7;
 $memoryNeeded = round(($info[0] * $info[1] * $info['bits'] * $info['channels'] / 8 + Pow(2, 16)) * $fudgeFactor);
 $memoryLimit = 8 * 1048576;
 if(memory_get_usage() + $memoryNeeded > $memoryLimit){
  $newLimit = ceil((memory_get_usage() + $memoryNeeded) / 1048576);
  ini_set('memory_limit', $newLimit.'M'); /* 新しく取得したメモリ量を割り当てる */
 }

追 記

 いつからかそうだったのか知りませんが、Vista Sp1のIE7上で、いつの間にか写真をお洒落に見せるスクリプトのphotoeffect.jsが動いてないのを今日発見しました。VML関係のセキュリティーアップデートで動かなくなったのか理由は定かではありませんが、色々試した結果、

<v:image src="" /> で画像を呼び込むのはダメで、<v:rect><v:imagedata src="" /></v:rect> だと上手く行くようです。なので、久しぶりにphotoeffect.jsもアップデート。ついでに、この効果を施した画像には、photo-canvas というクラス名を付けるようにしました。これで、スタイルシートで、これに対する画像の説明(キャプション)にCSSを適用することが出来ます。

.photo-canvas div.photo-caption { margin: -20px 5px 30px 5px; }

みたいに。


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

金曜日の差分

category-icon

 こんばんは。差分ばかりで、タイトルを付けるのに苦労しているmartinです。

 指摘のあった不具合を修正しました。カテゴリーの管理で、見た目はカテゴリー名などが変更されたように見えても、実際のログはそのままでした。ソースを見直しましたが、自分で書いておきながら、なんだか訳の分からない処理をしてたので、ちょっとすっきりさせました。きっと疲れが溜まっているときに書いたコードだったんでしょう。後は、管理画面の「環境設定」→「更新サーバーの管理」での諸々の設定がJavaScriptエラーのせいで動いていなかったようです。これも修正しました。あと、ログインしていないときに、管理者であればコメント欄のテキストエリアをクリックすると、ログインを促すようなダイアログが出るのですが、その際にログイン処理後、コメント欄にフォーカスが行くようにしたつもりでしたが、そうなっていなかったので、これも修正しました。他には、親カテゴリー・子カテゴリーの統合オプションに関して、管理画面での指定後、サイドバーの記事数が選択したモードと一致していなかったので修正しています。

 添付しておきます。

添付ファイル: DIFF080418.zipattachedIcon 

— posted by martin at 11:32 pm   commentComment [14]  pingTrackBack [0]

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