pluginの編集権限考慮について-xpWiki-フォーラム を受けて、pukiwiki.ini.php に設定項目を追加しました。
1 2 |
|
$root->plugin_follow_editauth = 1; として有効にすると、ページ編集権限がない場合は、プラグインでの書き込みができなくなると同時に、表示も閲覧専用モードに切り替わります。(cont['PKWK_READONLY'] = 1 にセットされる)
UTF-8化したXOOPSに対応させて見ました。
とはいっても、EUC-JPで運用していて途中からUTF-8に切り替えることはできません。インストール時にXOOPSがUTF-8で動作している必要があります。
XOOPSのUTF-8化は、以下のリンクが参考になるかも。
私が適当に作った、XOOPS Cube Legacy 2.1.0 UTF-8化パック -> cube_legacy_2_1_0_utf8_addon.zip
XOOPS Cube Legacy 2.1.0 (UTF-8) での動作サンプルは、次の場所で確認できます。
CVS更新忘れがあったので、2007-05-10 8:45 頃 CVSを再更新しました。バージョン番号は変えていません。
ついでに、本家版 XOOPS 2.0.16 で動作確認したところ、English環境での不具合があったので修正しておきました。
本家版 XOOPS 2.0.16 での動作サンプル -> (xoops_org.hypweb.net)
ページコメント機能の設定がされていないのに、ページコメントリンクが表示されていたので、機能が働いていないときは、表示されないようにしました。(2007-05-10 17:41更新分)
2007-05-07 作業分の「プラグインの編集権限追従オプション」をオンにした場合に、ページの編集ができないバグがありましたので、修正しました。
そのほか、次のスレッドの修正分
Xoops Users Group Japan - picoにhtmlタグ(?)リスト希望 に触発されて、Wiki レンダリングエンジンとしての機能を簡単に利用できるように、XpWiki クラスに transform メソッドを追加しました。
例として、pico モジュール用のフィルターは次のように書くことができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
オートリンク・外部オートリンクなども適用されます。
今回 pico をはじめてインストールして試してみましたが、これ凄いイイですね。
まだ、すべてを見ていませんが、固定コンテンツ作成にはめちゃくちゃ便利です。
任意のページを表示するブロックを追加しました。XOOPSのブロック管理から簡単に設定できます。 複製可能ブロックですので、altsysを導入すればいくつでも増やせます。
html側のアップデート方法ですが、CVS更新内容を見て変更のあったファイルのみをアップロードすればOKです。
最も簡単な方法は、admin/setup.cgi のみをアップロードし、実行権限を与えてから、そのファイルにブラウザでアクセスしてみてください。
表示されたメッセージがすべて、'OK' なら完了です。もし、'NG'が表示されたなら、その内容をFTPで手作業で行ってください。
今回のアップデートでは、XOOPSのモジュール管理でのモジュールアップデートが必要です。
オートリンクの正規表現は、32KB 以上になると正常に処理できなくなります。これはPHPの制限*1によります。このことは、ページ数が増加しオートリンクの正規表現が肥大化した時にオートリンクが機能しなくなることを意味しています。(現状のPukiWikiの実装だとページのパラグラフ部分が表示されなくなります。)
そこで、PukiWikiMod では、32KB以上になった時に正規表現を分割して処理する方法をとっていましたが、その分割の処理が甘く、一つの階層以下に多量のページがある場合に、上手く分割できていませんでした。xpWiki では、もう少しつっこんで、どのような場合にも正常に分割できるようにロジックを考えてみました。
また、分割された正規表現に対応するために、オートリンクの方式を、パラグラフ単位の処理からページ一括処理に変更しましたので、オートリンクの適用範囲が微妙に増えています。
さらに、せっかく階層を意識して修正したので、上層階層を省略してもオートリンクされるオプションをpukiwiki.ini.php に追加しました。
1 2 3 |
|
上記の部分です。オートリンクが有効の場合に有効になります。設定値はオートリンクと同じくバイト数です。
詳しく説明すると、この開発日記は xpWiki開発日記 の階層下に日付をページ名として書かれています。このページまたは親の xpWiki開発日記 にて、2007年5月15日の日記にオートリンクしたい場合は、 2007-05-15 とすればオートリンクされます。 xpWiki開発日記/2007-05-15 とフルネームを書かなくてもOKです。
要望の多かった、インポート機能をとりあえず追加しました。
同じ XOOPS 内の PukiWikiMod と B-Wiki からページを選択してインポートできます。
[xpWikiのURL]?cmd=import としてアクセスしてください。
ぜひとも、英語のメッセージに訳してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
|
こちらを英語に編集してください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
|
データベース(pginfo)にフィールドを追加しましたので、今回はモジュールアップデートが必須です。
pukiwiki.ini.php の設定項目に、ページ名の大文字と小文字を区別しないオプションを追加しました。
1 2 |
|
規定値は 0、[大文字と小文字を区別する]です。(このオプションを追加する以前と同じ状態)
この値を 1 にすることで、オートリンクなどで、大文字小文字の区別なく処理されます。
例えば XOOPS, Xoops, xoops といった具合です。ただし必然的に大文字と小文字を区別したページを作成することができなくなります。
関連して、
例えば、e-Word の場合こんな感じです。
1 2 3 4 5 6 7 8 9 10 11 12 |
|
新しいXpWikiオブジェクトが必要ない場合は、新しいインスタンスを作らず、再利用するようにしてできるだけ使用メモリーの増加を軽減させるようにしました。
特に、データベースシンクロ時は、使用メモリーの増加が激しかったので、環境によってはPHPのメモリー制限により正常に終了しない場合がありました。
合わせて、データベースシンクロ時に使用メモリー量のチェックをして、制限に掛かりそうな場合は、一旦中断するようにしました。
※ HypCommonFunc を CVSから最新版にしてください。