(バグか仕様か?)全部仕様だ、ということであれば、放置しようと思います。中身が2度実行されている。(バグか仕様か?)mainfile.phpが例え2度読み込まれていたとしても、error_logを挿入された箇所が2度実行されることはありえないので、普通に考えてリクエストが2度発生しているんだと思います。POSTの後にリダイレクトでGETリクエストになっているんでしょう。考えれば後の方のログでPOSTパラメータが消えているのも不思議じゃないと思います。}}doChangeTheme()はいつも実行されるので、$_POST['xoops_theme_select']があるとその値がセッションに保存されてそのセッションの間だけそのテーマになるみたいですね。リダイレクトしているので、theme.phpは実行されないため再ログイン後には元のテーマに戻るんだと思います。(バグか仕様か?)XCLでも実行されると思いますが、XCLでは上記のようにリダイレクトされているので最初のPOSTリクエスト時にtheme.phpまで行ってないので、そのように見えるだけだと思います。試しにmodules/legacy/preload/ThemeSelect.class.phpを一時的に削除して再度テストされてみてはいかがでしょうか。すれば期待通りに動作するかもしれません。さん、創始者メンバー直々のレス、恐れ入ります。引用:試しにmodules/legacy/preload/ThemeSelect.class.phpを一時的に削除して再度テストされてみてはいかがでしょうか。すれば期待通りに動作するかもしれません。期待した動作に必要なことです。単純に削除したための副作用でしょうか。条件を付けて挿入してみました。再ログイン後のテーマは、切り替え操作で選択したテーマになる「このテーマを常に使う」チェックボックスの機能も動作するようです。あとは、デフォルト・サイトテーマの設定を変更すれば、ほぼ期待した動作になりそうです。渡らないということがポイントだったようですね。さんはプリロードのコードで実装したと、そういう経緯があったのかもしれません。渡らないらしく、「このテーマを常に使う」チェックボックスの機能は動作しませんでした。方法が適切かどうかは確信がありません。冗長なロジックがあるかもしれません。側で対応してもらうのは難しいかもしれないので、この件で要望を出すのはとりあえず保留にしようかと思います。本当は標準で実装されていれば良いのですが。以降は削除されて表示されません。ページに表示されたと思います。さんはプリロードのコードで実装したと、そういう経緯があったのかもしれません。doChangeThemeはデリゲートで実行してるのでプリロードで差し替え可能なはずですよ。$controller->mSetupUserからdoChangeThemeを削除して、doChangeTheme相当のハックした関数を登録してやればコアには手を入れずに済みます。先のプリロードは手抜きというか、ここを変えなくてもテーマの保存が出来るので、doChangeThemeを差し替えてません。「このテーマを常に使う」チェックボックスとか考慮してませんでしたから。あと少しなので頑張ってプリロードを書いてみてください。側で対応してもらうのは難しいかもしれないので、この件で要望を出すのはとりあえず保留にしようかと思います。リダイレクトしてるだけなのでバグではなく仕様になるかと思います。引用:本当は標準で実装されていれば良いのですが。プリロードとデリゲートで好きなように差し替えてねって事でデリゲートになってると思います。