管理画面からプラグインを削除でプラグイン以外のフォルダも削除される
ouka_d > 管理画面からプラグインを削除でプラグイン以外のフォルダも削除される @ 2010/12/17 0:20 |
---|
BaserCMS 1.6.7.1
baseruploader 1.2.8 basertwitter 1.0.1 xampplite 1.7.3 windowsXP sp3 vbsで仮想ドライブ化 Z:\xampplite\htdocs\test\ Z:\usr Z:\{他いろいろのフォルダ} 管理画面からプラグインを削除すると「Z:\xampplite」以外のフォルダが削除されます。 サブフォルダにBaserCMSを設置した状態でリンクが無効になっている箇所 Z:\xampplite\htdocs\test\baser\plugins\blog\views\helpers\blog.php getCategoryUrl の $this->base が空のときがある (ウィジェットのブログカテゴリ一覧のリンクURL、上記例だと../test/test/と重複する) Z:\xampplite\htdocs\webgate\baser\plugins\blog\views\blog_categories\admin\form.ctp このカテゴリのURL ../archives/category/{BlogCategory.no} ?? BlogCategory.name では・・・ |
ryuring > Re: 管理画面からプラグインを削除でプラグイン以外のフォルダも削除される @ 2010/12/17 3:16 |
---|
色々とご報告ありがとうございます!
引用: 管理画面からプラグインを削除すると「Z:\xampplite」以外のフォルダが削除されます。 こちら、Windows のXAMPP1.7.1 で試しても全く再現できませんでした。 linux系のサーバーでも再現できません。 何かヒントとなる情報があればよいのですが。。 引用: サブフォルダにBaserCMSを設置した状態でリンクが無効になっている箇所 ブログのサイドバーのカテゴリ一覧ですね。確認しました。 チケットをきり解決方法を記載しました。 http://project.e-catchup.jp/issues/1163 引用: Z:\xampplite\htdocs\webgate\baser\plugins\blog\views\blog_categories\admin\form.ctp ブログカテゴリの編集画面のリンクですね。確認しました。 おっしゃるとおりです。 こちらもチケットを切り、解決方法を記載しました。 http://project.e-catchup.jp/issues/1164 Twitter:@ryuring |
ouka_d > Re: 管理画面からプラグインを削除でプラグイン以外のフォルダも削除される @ 2010/12/17 13:36 |
---|
ヒントになればいいのですが・・・
Z:\xampplite\htdocs\test\baser\controllers\plugins_controller.php 292行目付近の「プラグインフォルダを削除」と「一時フォルダを削除」に巻き込まれているみたいです。 「var_dump($tmpPath);」では「string(51) "Z:\xampplite\htdocs\test\app\tmp\schemas\uninstall\" 」になっています。 また、日本語のフォルダ名とファイル名は影響ありませんが、英数字のフォルダ名とファイル名は削除されます。
Zドライブは以下のvbsで作成しています。
|
ryuring > Re: 管理画面からプラグインを削除でプラグイン以外のフォルダも削除される @ 2010/12/20 22:48 |
---|
Zドライブの作成方法についてはわかりませんが、
引用: 「var_dump($tmpPath);」では「string(51) "Z:\xampplite\htdocs\test\app\tmp\schemas\uninstall\" 」になっています。 $tmpPath変数の中身は特に問題なさそうですね。 同じあたりで次の一行を試してもらえます?
Twitter:@ryuring |
ouka_d > Re: 管理画面からプラグインを削除でプラグイン以外のフォルダも削除される @ 2010/12/22 9:14 |
---|
返答遅れました
「var_dump(APP.'plugins'.DS.$pluginName);」は 「string(45) "Z:\xampplite\htdocs\test\app\plugins\uploader"」になっています。 Zドライブについてですが、開発環境を持ち運び可能にするために、 以下のページのVBScriptを利用しています。 mistgreen - どこでも XAMPPでXOOPS for Windows [任意のドライブの任意のフォルダ]に以下の4つを配置。 ・[xamplite] ・[usr] ・start.vbs ・stop.vbs この状態で「start.vbs」を利用して[任意のドライブの任意のフォルダ]をZドライブに割り当ててます。 |
ryuring > Re: 管理画面からプラグインを削除でプラグイン以外のフォルダも削除される @ 2010/12/22 12:29 |
---|
こんにちは。
引用: 「var_dump(APP.'plugins'.DS.$pluginName);」は 全く問題ないですね。 それで xampplite 配下が削除されるのかが全くわかりません。。 また何か情報がありましたらよろしくお願いします。 Twitter:@ryuring |
ouka_d > Re: 管理画面からプラグインを削除でプラグイン以外のフォルダも削除される @ 2010/12/22 14:40 |
---|
Z:\xampplite\htdocs\test\baser\controllers\plugins_controller.php
265行目「$folder->delete();」が原因のようです。 $tmpPathを念のため消してから作成している動きなのですか? コメントアウトにしたら削除されなくはなりましたが・・・ |
ryuring > Re: 管理画面からプラグインを削除でプラグイン以外のフォルダも削除される @ 2010/12/22 15:02 |
---|
引用:
Z:\xampplite\htdocs\test\baser\controllers\plugins_controller.php その前の行で、$tmpPathを指定しているのに、全く関係ないフォルダが削除されるというのがちょっとわからないですね。 引用: $tmpPathを念のため消してから作成している動きなのですか? そうですね。$tmpPathはあくまで一時フォルダなので。。 Twitter:@ryuring |
ouka_d > Re: 管理画面からプラグインを削除でプラグイン以外のフォルダも削除される @ 2010/12/22 15:11 |
---|
最後の行のように明示的に指定しときます。
$folder->delete($tmpPath); ありがとうございました。 |
ryuring > Re: 管理画面からプラグインを削除でプラグイン以外のフォルダも削除される @ 2010/12/22 15:36 |
---|
ouka_dさん、もしよろしければその対処でどうなったかを教えて頂けますか?
基本的に、フォルダの削除を行っている Folderクラスは、deleteメソッドでパスを指定しない場合、コンストラクタで指定したパスがターゲットとなる仕様となっています。 つまり、265行目で、引き数がない場合でも、264行目の$tmpPathが対象となるという事です。 Folderクラスのソースを実際に確認しましたが、間違いありませんでした。 よろしくお願いします。 Twitter:@ryuring |