Re: グローバル下書きブロックを編集時にアクセス拒否

2011年7月28日 at 18:28

現在も調査中なのですが経過報告を。

編集画面で、設置済みのブロックをクリックしたときに表示される
コンテキストメニュー(編集、下書きに保存・・・等が表示されるメニュー)が、
「再現手順」の「5.」の時までは、たとえば以下のようなDIVが作られます。

ccm-block-menu123-45

これが、「7.」のタイミングで、上の123-45とは別に

ccm-block-menu678-90

のような新しいコンテキストメニュー用のDIVが追加で作成されます。
つまり、

ccm-block-menu123-45
ccm-block-menu678-90

の2つが並んで存在する状態になっています。
で、678-90が作成された後は、
同じブロックを編集する際に678-90が参照されるようになり、
123-45が使われなくなります。

※通常678-90は追加で作成されず、123-45がずっと使われます。

で、コンテキストメニューの「編集」のリンク先は、

/index.php/tools/required/edit_block_popup.php?cID=1&bID=1&arHandle=hoge&isGlobal=1&btask=edit

のようになっており、これれのパラメータのうち、
グローバルブロックの場合「isGlobal=1」である必要があるのですが、
123-45の状態だと「isGlobal=1」ですが、
678-90の状態だと「isGlobal=0」になり、
これによってパーミッションエラーが起きているようです。

「アクセス拒否」状態になっても、
isGlobal=1に修正してアクセスすると、「アクセス拒否」は表示されず、
通常のブロック編集画面が開くことから、
上記が原因かと思われます。

取り急ぎご報告まで。