## Theme Changer

#### このモジュールについて

各モジュールごとにテーマを切り替えられるようにするなど、テーマの自由度を高め、デザインに幅を持たせるべく作られたモジュールです。XT Temasとマージしたので、ユーザーが自分だけのテーマを選択することも可能になりました。この際の設定は、ユーザーが選択したテーマはログイン時に呼び出され、自動的にそのテーマが使われます。ユーザーが選択したテーマはテーマチェンジャーの指定するテーマより優先されます。今後はモジュールごとだけでなく、より細分化してページごとにテーマを設定できるようにしようと目論んでいます。

#### 機能説明

- モジュールごとにテーマを設定できる。
- ユーザーが自分のテーマを持てる。
- トップページのテーマを設定できる。
- 処理の自動キャッシュ化機能。

#### 考えられる用途

case 1 : Ryujiさんのサイトのようにトップページだけ特別なテーマにする。
case 2 : TinyDやwikiのページだけ幅の広いテーマにして見やすくする。
case 3 : 色違いのスタイルシートを用意したテーマを使ってモジュールごとにテーマ色を設ける。
case 4 : モジュールによって雰囲気を変えてみたり。
case 5 : タイトルやＭＥＴＡタグを変更して検索エンジンに対応する。
などなど。
他にも使い方によっては更に利用者の皆様のサイト作りに貢献できるかと思います。

#### ライセンスと著作権

このアプリケーションはGPLに準拠するとともに日本国の著作権法の適用対象となります。ご利用の際はGPLおよび著作権法に十分注意してください。また良くある質問への返答は下記のとおりです。
Q.再配布は出来るか？
A.可能。ただしGPLの定める範囲内であること。そしてその配布物の責任は再配布主が負うことを前提とする。
Q.著作表示は削除してもよいか？
A.氏名表示権の示すとおり無断で削除してはならない。ただし、妥当な理由がある場合は許可を出すことがある。いずれにしても制作者(sim@suin.jp)への相談なしでは削除・改変等は一切認めない。
Q.販売は出来るか？
A.可能。ただしGPLの定める範囲内であること。そしてその商品の責任は販売主が負うことを前提とする。

#### 免責と保証

- このアプリケーションがあなたに与える影響に関して制作者には一切の責任はないとする。
- このアプリケーションの利用者に対して制作者は一切の責任を放棄する。
- 制作者はこのアプリケーションの利用者に予告無くこのアプリケーションを変更・配布する時期・開発の中止等を自由に決定する権利を持つと共に、それらが利用者に与えることに関して制作者は一切の責任を負わない。
- 制作者はこのアプリケーションの不具合を解決することに努力するが、それは制作者の義務ではない。
- 利用者はこのアプリケーションを利用した時点でこのアプリケーションの全責任を負うと共に上記の事項に同意したとする。

#### インストール方法

1) 圧縮ファイルを解凍してthemeフォルダにあるz_changeable_themeをテーマディレクトリにアップロードして下さい。
2) moduleフォルダにあるtheme_changerフォルダをモジュールディレクトリにアップロードして下さい。
3) モジュール管理でインストールして下さい。
4) このモジュールの管理画面に行き「対応/編集/削除」で設定を行って下さい。
5) グループとブロックの設定を行って下さい。
6) システム管理の一般設定で「デフォルト・サイトテーマ」にz_changeable_themeを設定して下さい。

#### アンインストール方法

通常のモジュール同様にモジュール管理よりアンインストールを実行してください。なお、一般設定で「デフォルト・サイトテーマ」を元に戻し、z_chanbeable_themeを削除して下さい。

#### ブロックの使い方

このモジュールのブロックは「テーマ選択」ブロック１つだけです。
このブロックを表示しておくと、ユーザーが自由にテーマを選べるようになります。また、「このテーマを常に使う」にチェックを入れた場合、次にログインするとき指定したテーマが自動的に適用されます。
*登録ユーザーとゲストでは違う内容を表示しますので、キャッシュは入れないで下さい。

#### FAQ

Q1.全てのモジュールを設定する必要がありますか？
A.テーマを変更したいモジュールだけを設定するだけです。設定していないモジュールは「該当外のページ」の設定が適用されます。
Q2.「タイトル」「副題」の設定はどこに反映されますか？
「タイトル」「副題」が設定されていれば<title></title>の部分に反映されます。

#### メモ - ルーチンのキャッシュについて -

バージョン2.3よりルーチンをキャッシュ化する機能を搭載しました。
これにより、リクエスト毎時にDBを参照していた処理を無くし、ページロード速度向上に貢献できます。
キャッシュファイルは(root)/cache/theme_changer_routine.phpであり、このphpファイルにDBの内容と同じものが格納されます。
テーマチェンジャはDBにアクセスする代わりに、このファイルを読み込みそれに従ってテーマを出力します。
このキャッシュファイルには有効期限が無く、管理者がテーマとモジュールの対応の設定を変更しない限り、半永久的に内容を変えることなく存在し続けます。
また、このファイルはFTP等で削除しても全く問題がありませんので、ファイルに破損等の問題が起こった時はFTP等で削除して下さい。次のアクセス時に自動的に生成されます。

#### 更新履歴

ver | Date | News
--- | --- | ---
1.0 | 2004-05-08 | ファーストリリース
2.0 | 2004-05-09 | ・データベースのテーブルを追加＆一部変更。 ・アンインストール時にテーマ変更し忘れの対策を追加。
2.1 | 2005-02-27 | ・無駄なforeach展開を排除。 ・無意味なqueryFをqueryに置換。 ・サニタイザを正しく使用するように変更。 ・テーブルの一部分を変更。 ・theme.htmlを簡略化。 ・モジュール名を動的に変更。 ・日本語以外の言語ファイルは古くなりましたので取り除かせて頂きました。 ・metaタグがおかしくなるバグ修正。 ・$HTTP_POST_VARSを$_POSTに変更。 ・管理画面にGチケットシステム追加。 ・HTMLソースの１行目が空になるバグを修正。 ・XT Temasのブロックを移植。 2.0からのバージョンアップは全てのファイルを上書き後、モジュール管理でアップデートを行って下さい。
2.2 | 2005-03-01 | ・themechanger.phpのバグを修正。 2.1からのバージョンアップはtheme/z_changeable_theme/themechanger.php を上書きして下さい。
2.3 | 2005-03-18 | [バグ修正]サニタイズの不十分な点を修正。 [機能追加]ルーチンのキャッシュ化機能追加。 2.2からのバージョンアップは全てのファイルを上書き後、モジュール管理でアップデートを行って下さい。
2.4 | 2005-03-22 | ・[バグ修正]アンインストールしたモジュールを誤って参照してしまうバグを修正。 2.3からのバージョンアップはtheme/z_changeable_theme/themechanger.php を上書きして下さい。
2.5 | 2005-03-24 | ・[バグ修正]xoops2.0.7.3のsmartyクラスが{include_php}を正しく受け付けないため、{php}で代替。 2.4からのバージョンアップはtheme/z_changeable_theme/themechanger.php を上書きして下さい。

#### 謝辞

GIJOEさんのmyblocksadminを頂きました。
Amethyst Blue by SUIN