任意のページごとの閲覧・編集制限

  • ページ: BugTrack
  • 投稿者: Ynak
  • 優先順位: 緊急
  • 状態: 完了
  • カテゴリー: 本体新機能
  • 投稿日: 2003-06-06 (金) 19:09:18
  • バージョン:

メッセージ

PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限でまとめた機能を本体に取り込んで頂くことは出来ませんか? 本体がバージョンアップするたびに、改造を反映するのが面倒なの で…。

ただ、既存の関数であるcheck_editable, edit_authのシグネチャが変更になるので、それらを使っているいくつかのプラグイン*1はそのままだとまずいかもしれないですね。


  • edit_authの呼び出しを(標準のプラグインだけでなく)多数のプラグインで行なっているので、edit_authの呼び出しに影響のないように仕様変更せずに取り込んでください。 -- reimy 2003-06-06 (金) 20:42:27
  • edit_authだけで良いですか?であれば、edit_authの引数にデフォルト値を設定するだけで互換性を保てそうな気がします。ちょっと調べてみます。 -- Ynak 2003-06-06 (金) 23:41:48
  • またシグネチャをちょっと変えました。edit_auth, check_editableともに第2、第3引数を指定できるようにしました。両者ともデフォルト値を設定してあり、デフォルト値(true)の場合は現状の振る舞いと変わらないようになっているつもりです。修正点は例のページに再度アップしました。 -- Ynak 2003-06-07 (土) 00:01:24
  • cvsに投入しました。 -- ぱんだ 2003-06-22 (日) 15:55:33
  • 変数名が変わるなど、互換性が維持されていない… -- reimy 2003-06-22 (日) 19:43:34
  • 日本語メッセージが直書きされているので、lang=enのとき、化ける。 -- reimy 2003-06-22 (日) 19:47:36
  • 変数名の件は、pukiwiki.ini.phpの$edit_auth_usersが$auth_usersになっている、ということでしょうか?$edit_auth_usersを使用している部分はfunc.inc.phpにカプセル化されていたので問題ないと判断していましたが、まずかったでしょうか? -- Ynak 2003-06-23 (月) 21:51:09
    • どこで使われているかではなく、globalな変数名がころころ変わるのはまずいってことでは? 自作プラグインを作っている人にとっては。
    • pukiwiki.ini.phpの変数は、それ自体がAPIだってことですかね。 それなら確かにまずいですね。互換性を保つために、$edit_auth_users自体も残した 方がいいのでしょうか。--Ynak
  • あと、日本語メッセージの件ですが、include, calendar_viewer, pcommentのことですよね?元々日本語メッセージの埋め込みがされていたようでしたのでこれも問題ないかと思っていましたが、まずかったでしょうか? -- Ynak 2003-06-23 (月) 21:54:13
    • ja.lng.en.lngで定義するか、プラグインの中のplugin_xxxx_init()の中で定義することになってたはず。
    • そうでしたか。結構適当にいじりながら作っていたので、そういう規約をチェックしてませんでした。すみません。--Ynak
  • あ、遅れましたが、ぱんださんどうもありがとうございました。 -- Ynak 2003-06-23 (月) 21:54:58
  • 結局、従来通りの認証方式での編集制限の場合、pukiwiki.ini.phpをどのように設定すればいいんですか? 変更したら変更したで、そのあたりのサポートをきちんとよろしく。 -- reimy 2003-06-27 (金) 09:53:27
    • 従来通りの認証方式での編集制限が効かなくなり、困ってます。元に戻してください。 -- reimy 2003-06-27 (金) 10:12:02
  • ご迷惑をおかけしています。従来(edit_auth単体だったころ)と同様の「編集をuser/passで制限、閲覧は制限なし」を実現するための設定は以下のようになります。お試しください。 -- ぱんだ 2003-06-27 (金) 23:18:59
  • pukiwiki.ini.php
    1. $edit_auth_usersを$auth_usersに変更('ユーザ名'=>'パスワード')
      $auth_users = array(
       'hoge' => 'fuga'
      );
    2. $auth_method_type を "pagename" に
      $auth_method_type = "pagename";
    3. $read_authを0に、$read_auth_pagesはそのまま(使用しません。)
      $read_auth = 0;
      $read_auth_pages = array(...);
    4. $edit_authを1に
      $edit_auth = 1;
    5. $edit_auth_pagesを以下のように指定('すべてのページにマッチするパターン' => 'ユーザ名')
      $edit_auth_pages = array(
       '/.*/' => 'hoge',
      );
    6. $search_authを0に
      $search_auth = 0;
  • メッセージをlngまたはplugin_initに移動する件はもうしばらくのご猶予を。 -- ぱんだ 2003-06-27 (金) 23:21:30

*1 今のところ私が見つけたのはamazon.inc.phpだけですが。amazonプラグインはpukiwiki.ini.php内の$edit_auth,$edit_auth_users変数を独自利用している形態でしたので別ですね。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2005-04-21 (木) 04:43:14
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.184 sec.

OSDN