こんばんは。修正ファイルがまとまった数になって、ちょっと落ち着いたので。今回は、それなりにファイル数があって、しかもキモの設定ファイルであるini.inc.phpも数カ所変わっています。
まず、廃止にしたppBlog用の定数として、サムネイル画像作成時にサーバー側でドロップシャドウを付けるオプションのTHUMBNAIL_SHADOWとリファラーをメインページに表示するのを定義したREFERRERです。これらは、殆ど使われていないでしょうし。この2つを廃止して新たに2つの定数を追加しました。
ひとつは、CSSでの画像ドロップシャドウをポラロイド風にするか、普通の写真風にするかを決めるPICTURE_POLAROIDです。デフォルトでは、従来の写真風にしています。もうひとつは、カテゴリーの集計に関してですが、SEE_CAT_HIERARCHYという定数を設けました。これはサブカテゴリーの記事数を親カテゴリーに含めるかどうかの問題ですが、これは各人好みがあるでしょうから、選択できるようにしました。
アップデートに関しては、この設定ファイルの書き換えをしないと最新のutils.phpに上書きした場合うまく動かないと思います。添付ファイルにセーフモード版に付属しているini.inc.phpを付けているので参考にされて下さい。ini.inc.phpはownerディレクトリにあります。以下に主な修正点を挙げておきます。
- CSSでの画像ドロップシャドウに関して、write.inc.php, edit.inc.php, utils.php, theme/basic/のbasic.cssおよび追加の画像ファイル。このドロップシャドウに関して、クラス名の変更があるので、テーマファイルを配布されている方々には、お手数ですが、書き換えをお願いします。photo-linerやphoto-shadowといったクラス名がなくなって、代わりにphotoとpolaroid, shadowというのが追加されています。ドロップシャドウは、もうこれに決めうちします。
- .js関連では、ちょこちょこ手を加えてます。oParts.jsでは、CSSの透明度の設定opacityあたり、editor.jsはツールバーの固定モードをクッキーに保持して、次にエディタを開いた際に、前回の状態が再現されるようにしています。lib.jsは、静的モードのリンクに関して修正してます。
- 管理画面で、ログイン時のデフォルトモードを記事一覧にしていると、ページリンクが効かない不具合を修正しています→article.inc.php。
- modules関連では、上記のものに加えて、MovableTypeのログのバックアップ形式であるMTファイルの読み込みのスクリプトが古いままだったので書き換えました→backup.inc.php。
- 記事の個別設定で、トラックバック不可にしても、Ajaxで読み込んだときにTBへのリンクが表示される不具合に関連してlib.jsやcomment.inc.phpなど。
- 静的モードに関連して、サイドバーでのトラックバック一覧のリンクが変なのを修正。
- ppBlogではBMP(ビットマップ)形式の画像ファイルも普通にアップできますが、画像管理画面で、このBMP画像がNotFoundの画像になるのを修正したimager.inc.php
- index.phpは、廃止した定数REFERRERに関して、下の方にあるこの記述を削ってます。
ってとこです。1.7.3のアップデートに関しては、ローカルで設定ファイルのini.inc.phpの書き換えをして、これをownerディレクトリにアップ、その後、すみやかにutils.phpなど該当するファイル群を上書きアップロードして、最後にcacheディレクトリにあるcache.dbをFTP上で削除、あるいは管理画面の「各種ツール」→「エクスプローラー」からcache.dbを削除して下さい。これでトップページにアクセスすれば問題ないかと思います。

この記事に対するコメント・トラックバック [28件]
2. ちらみ — 2008/04/13@15:22:10
・静的URL時のTOPページ以外からのログインアイコンからのログインはppblogエラーは出なくなったものの、そのまま管理画面に推移しない不具合は継続しています。
(ログインセッションは発行されてて、ログイン状態ではあります)
・写真サムネイルのポラロイド風が利用できなくなりました。
(1.6系までの表示しかされません)
環境設定で規定でポラロイド風にしても、画像の新規UP時に指定してもです。
・記事中の「もっと読む」が機能しません。
とりあえず、martinさんにも私の環境での1.7を見ていただけるよう、早めに1.6→1.7への移行をしておこうと思います。
細かい不具合はありますが、あと少しで完成だと思います、頑張って下さい
3. ぷらむ — 2008/04/13@15:49:48
4. ちらみ — 2008/04/13@15:52:23
すいません、これはこちらのミスでした。(画像アップロード不足でした。)
その他既存CSSを直す必要がありそうですね。
5. ちらみ — 2008/04/13@16:42:59
記事がないことになってますw
時間のある時に消しておいて下さい。すいませんでした
$uid = str_replace('d', '', $_REQUEST['UID']);
$url = $uid=='' ? ROOT_PATH.'index.php' : ROOT_PATH.'index.php?UID='.$uid;
7. BENIT — 2008/04/13@17:37:56
なんかドラフトモードでTB打たれちゃってますね。ドラフトで一回記事投稿してからTB打ったとかですかね?
この間ぷらむさんが記事投稿画面でのtextareaのリサイズがFirefoxだとアドオンのせいで動かなかった、という話をされてましたが、実は私も動きませんでした(笑
なんのアドオンかまではお話されてなかったので手当たり次第に試そう……としたら一発で当たりました
InFormEnterという、Formへの入力を制御というか管理するアドオンが原因でした。多分類似のForm制御系とは相性悪そうですね
確かSafariライクにフォームサイズを弄れるアドオンもあったはず……
同じように困る方がいるかもしれないということで報告まで。
絵文字をうっていて気になったんですが、これって携帯から表示するとちょっと間抜けなんですよね
携帯なので軽量に越したことはないんですが……かといって携帯の絵文字互換は難しいですしね。
軽量のままやるとしたら顔文字置換にでもなるんでしょうけど、そこまでやるとなんか違う方向性にいっちゃっている気もしますね
・報告
こんなことするヤツはいないと思いますが、見つけてしまったのでご報告します。
記事投稿画面で、左のメニューを「Hide」してからツールバーをFixedモードにして、そのあとメニューを「Show」にするとツールバーが下に回りますね。z-indexの指定で一発で直ると思いますので、そのうち修正していただければと……。
8. ちらみ — 2008/04/13@19:05:42
まさにドラフトモードで記事を確認した後の公開投稿時にTB指定しました。
それがいけないんですかね。けどそういうことってよくあるような気もするんですが。
9. BENIT — 2008/04/13@19:14:15
ああいえ、原因を特定するために言っただけですのでお気になさらず。
つまりバグ内容としては、「ドラフト状態から公開記事にする段階でTBを打つとドラフト記事でTBが打たれてしまう」ということですね。
>ぷらむさん
確かにカテゴリ名変更画面で更新かけると白画面に行きますね。
ローカルで試した場合、白画面には行かないのですが、カテゴリー名の変更が行われません。リンク名は更新できるのですが……。
modules/category.inc.phpの中身は前回ファイルと同じなので、これが原因ではなさそうですが…
ためしにXREAでそのまんまのファイルを挙げて設定してみたら500エラーにはまりました。間違いなく.htaccess、というかmod_rewriteが原因なのですが、色々いじってもさっぱりですorz
ローカルでは動くんですが……RewriteRuleを削ると動くのでおそらくここが原因なんでしょう。
こればっかりはサーバによるところがあるのでしょうけど・・・参りました。
10. ちらみ — 2008/04/13@19:39:33
いえいえ、こちらこそ指定していただきありがとうございます。
ドラフトからの公開投稿TBでっていうのは、よく考えると以前のppblog1.6xでも起こっていましたね。
この際なので修正していただければ嬉しいです。まぁTBなんて滅多に使わないんですけどね
IE7で発症。FF2では2回の改行で縮まってしまいます。
まぁこれも細かいと言えば細かい事ですが。
12. BENIT — 2008/04/13@21:02:25
私も確認しました。
細かいことでこれも。
エディタのFixedモードの状態が保存されるようになりましたが、ページ作成画面の方の修正がされていないようでした。記事投稿時にOnにしてページ作成画面のエディタを開くと「エディタを読み込んでいます」というメッセージが出っぱなしです(クリックすると消えて編集には支障ないですけども)
.htaccessについては色々調べるうちに、以下のことが分かりました
・¥dなどの文字クラスが使えない
・*?などの最短一致はエラーになる
これらはApacheが2.0じゃないと使えない正規表現のようです。だからローカルでは使えたのにサーバにあげた途端にアウトだった模様です。XREAは1.3.37でした。
あと、(box|list|)のように、最後にもパイプを入れるのも駄目かもしれません(500エラーになります)。
ちなみに、調べても良く分からなかったのですがパイプを最後にも入れるのってどういう意味なんでしょう……。
ま、そんなわけで
RewriteRule ^(.*)(page/([0-9]+)/)(box|list)$ index.php?path=$1&page=$3&view=$4 [L]
よっしゃやっと解決だーっ、と、勢い余ってこんな風に適当に修正したら(XREAでは)アクセスは出来るようになったんですが、当たり前ですがリンク先は全て404でした(笑
Apache2.0未満?でも使えるような正規表現に対応していただけませんでしょうか……
いじってたらもう一つ発見。動的モードでもカテゴリーの親、つまりindex.php?mode=categoryが静的リンクのままっぽいです。
RewriteRule ([0-9]+)(¥..+)?$ index.php?path=$1 [L]
グルーピングした文字列に対する?が使えないと痛いんですが・・・。あと、パイプは最後で終わるのがダメなんですかね。(|box|list)だと、どうですか?一応、正規表現的には、これはマッチしない場合も含むという正しい表現だと理解していますが。RewriteRule ([0-9]+/[0-9]+/([0-9]+/)?)$ index.php?path=$1 [L]
RewriteRule (category|pages|tags/[^/]+/)(page/([0-9]+)/)?$ index.php?path=$1&page=$3 [L]
RewriteRule (search|gallery|archives/([0-9]+/)?)(page/([0-9]+)/)?$ index.php?path=$1&page=$4 [L]
14. BENIT — 2008/04/13@21:53:58
>動的モードでもカテゴリーの親、つまりindex.php?mode=categoryが静的リンクのままっぽいです。
これじゃワケが分からないですね。記事の中に表示されているリンクのことです。リンクバーは問題ないですね。
・・・と思ったらここはテーマに設定されているんですね。失礼しましたorz
15. ぷらむ — 2008/04/13@23:08:08
こちらでは、ログインアイコンからログインできない問題は出てません。
TOPページ限定から限定ではありますが。
また、画像管理でリンクが違う事もないようです。
切手風とかもこちらでは問題なくできました。
サーバーの違いでしょうか、当方はApache2.2.3のサーバですが。
17. ちらみの記録
— 2008/04/14@00:43:04
続き »
18. ぷらむ — 2008/04/14@05:53:50
たぶん、ちらみさんは静的モードをお使いなので、そういう症状が出てなくて、動的モードだと出る現象ではないかと思います。
19. ぷらむ — 2008/04/14@06:49:31
いずれにしても最終ファイルでは、そうなります。
画像管理では、2や3などのリンク先から「admin.php」部分の記述が抜けるため、管理画面から抜け出してしまうのです。
6日のファイルでは起こりません。Apache2です。
20. ちらみ — 2008/04/14@21:39:29
記事の管理のリンク先ですが、試しに動的URLモードに変更してみましたが、問題は出ないみたいです。謎ですねー。
あと、画像管理ですが、言われている症状とは少し違いますが、アップロードされた写真と記事の関連付けが、記事を新規に公開するたびに、画像データベース更新アイコンで更新しないと、使用されているいくつかの写真は「エントリー記事」が無いことになってしまいます。
ログインと画像の拡大ができないのは、最新のlib.jsをアップするとです。baseURL +と言うのが付け加えられています。それが原因のような気がします。ただみなさんのところでは、発生してないみたいで不思議ですね。
22. BENIT — 2008/04/14@22:52:16
>martinさん
>(|box|list)
これも500エラーになってしまいました……。本当に簡単なのしか使えないっぽいです。
なるほど、boxともlistともついていない場合の定義なんですね。……となると厳しいですね;
http://japache.infoscience.co.jp/japanese_1_3_6/manual/mod/mod_rewrite.html#RewriteRule
これが使える正規表現の一覧・・・なんでしょうか? 検索してもうまくひっかかりませんでした。
大手レンタルサーバのApacheのバージョン割合がどんなもんかは分かりませんが、XREA、さくらインターネット、ロリポップあたりは軽く調べた程度では1.3っぽいですね
正規表現修正ありがとうございます。これだけ長くなるんですね……。
で、いま試してみましたが、ほとんど機能しないですね
ご承知かとは思いますが[0-9]なので、記事タイトルなど、アルファベットを使うとアウトです([0-9a-z]で開けますが)。タグはひらがなもあるからさらにややこしい……
それから、category/やtags/など、それぞれの大本が404ですね。子のカテゴリはアルファベットを追加したところOKでした。これはスラッシュのせいだと思いますが……。
ページ関連も進むと際限なくアドレスが増えたりとか、ちょっと説明しにくい状態になってます。
これは……相当厄介ですね
条件ごとの正規表現だけでてんこ盛りになりそうだ……。
24. ぷらむ — 2008/04/15@20:59:13
この件、理由がわかりました。最新のlib.jsをアップしたとき、themeのtemplateを修正しないといけないが、それをやってなかったからのようです。(templateとcssの直しがうまくいかないので、しばらく前のlib.jsを使用。)
mod_rewriteですが、あまり.htaccessに長々と書きたくないので、utils.phpで対処するようにしました。以下の記述で、ここのサーバー(xserverさん)では動いているようです。Apache2xですが。
RewriteEngine on
まぁ、これもサーバーに寄りけりでしょうから、modifyは必要でしょうね・・・。RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?path=$1 [L]
画像ギャラリーやタグエントリーも静的リンクに対応させてみました。
27. ちらみ
— 2008/04/17@00:21:53
最新の1.7.3です。
僕のブログ内で検索していただくと話が早いのですが、例えば「RTX1100」と検索すると、上の2つの検索結果のタイトルおよび、リンク先URLがおかしい(TOP)になっている。
僕だけでしょうか。
[追記]
search.inc.phpの282行目を
if(strpos($title, ',') && !strpos($title, ',,')){
に変えたら如何でしょうか?