Tag: PukiWiki

目次

関連ページ

設定

スキン

プラグイン

attachref.inc.php

  • 画像アップロード用のリンクと画像埋め込みを実現するプラグイン。
  • 文字コードのUTF-8への変更、パスワードを要求するように設定して、かつソースの修正が必要。
  • [PukiWiki] PukiWiki便利なプラグイン – 今西衞研究室
    // 管理者だけが添付ファイルをアップロードできるようにする
    define('ATTACHREF_UPLOAD_ADMIN_ONLY',TRUE); // FALSE or TRUE
    // アップロード/削除時にパスワードを要求する(ADMIN_ONLYが優先)
    define('ATTACHREF_PASSWORD_REQUIRE',TURE); // FALSE or TRUE
    
    $pass = array_key_exists('pass',$vars) ? $vars['pass'] : NULL;
    

パスワードなしで使用

  • 全体を編集制限している場合(自分一人しか使用しない場合)、上記の管理者パスワード入力を省略したい。
  • その場合attachref.inc.phpとattach.inc.phpの設定を変更する。
  • まずattachref.inc.php。
    // 管理者だけが添付ファイルをアップロードできるようにする
    define('ATTACHREF_UPLOAD_ADMIN_ONLY',FALSE); // FALSE or TRUE
  • 次にattach.inc.php
    // 管理者だけが添付ファイルをアップロードできるようにする
    //define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', TRUE); // FALSE or TRUE
    //define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', TRUE); // FALSE or TRUE
    define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', FALSE); // FALSE or TRUE
    
    // 管理者だけが添付ファイルを削除できるようにする
    //define('PLUGIN_ATTACH_DELETE_ADMIN_ONLY', TRUE); // FALSE or TRUE
    define('PLUGIN_ATTACH_DELETE_ADMIN_ONLY', FALSE); // FALSE or TRUE
    
  • これで添付、削除時の管理者パスワードは省略できる。ただし編集用のパスワードは制限されているので、安全性はかわらない(はず)。

html.inc.php

logparanoia.inc.php

  • 設置方法ページ内に「#logparanoia()」を追加するか、スキンに以下を追加する。
    <?php require_once(PLUGIN_DIR. 'logparanoia.inc.php');
    echo plugin_logparanoia_convert() ?>
    
  • MenuBarに追加したほうが簡単か。
  • PHP 7.1とPukiWiki 1.5.1で使用する場合、splitをexplodeで置き換える(4箇所)。

Tips

さくらのレンタルサーバー(cgi版)でBasic認証を使う

GETで検索できるようにする

  • 1.4.7ではデフォルトでGETで検索できない。BugTrack/796 - PukiWiki-dev。GETを有効にする場合手動で元に戻すしかない。
  • xyzzyからpukiwikiを検索する - eggmanの日記を参考にする。
  • search.inc.phpを編集。
    • PLUGIN_SEARCH_DISABLE_GET_ACCESSを0に変更。GETを無効にしない。
      define('PLUGIN_SEARCH_DISABLE_GET_ACCESS', 0); // 1, 0
    • formのmethodをgetに変更し、内部にhiddenタグを追加。
      <form action="$script?cmd=search" method="get">
       <div>
        <input type="hidden"  name="cmd" value="search" />
        <input type="text"  name="word" value="$s_word" size="20" />
      

Alfredから検索できるようにする

  • 上記方法でGET検索可能にすればAlfredなどから呼び出すことができるようになる。Web SearchのURLに例えば次のように設定する。
    http://www.srcw.net/wiki/index.php?encode_hint=%A4%D7&cmd=search&word={query}

msearch.inc.phpを動かす

トラブルシューティング

yesterdayのカウンターが0になる。

ref.inc.phpで拡大縮小できない。

  • たぶんref.inc.phpのバグ。先頭に"./"をつけないとだめ。
    #ref(./test.jpg, 50%)

日本語ページにファイルが添付できない

  • ファイルをアップロードすると「Runtime Error: No such page」エラーが発生。
  • attach.inc.phpで"no shch page"を出力している場所で$pageを出力してみると文字化けしていた。
  • php.iniのmbstring.http_inputをautoからUTF-8するととりあえず解消。
    [mbstring]
    mbstring.language = Japanese
    mbstring.internal_encoding = UTF-8
    ;mbstring.http_input = auto
    mbstring.http_input = UTF-8
    mbstring.http_output = UTF-8
    mbstring.encoding_translation = On
    mbstring.detect_order = auto
    mbstring.substitute_character = none
    mbstring.func_overload = 1
    

PHP 5系に対応しているはずのPukiWiki 1.5.1で大量にNoticeやWarningが表示される

  • 例えば以下のようなメッセージが表示される。
    Strict Standards: Declaration of Heading::canContain() should be compatible with Element::canContain($obj)
    Deprecated: ini_set(): Use of mbstring.http_input is deprecated in
    
  • 原因はerror_reportingの設定の違い。実はさくらインターネットの共有サーバーではerror_reportingの値が"4177"に設定されていて、エラーが抑制されているっぽい。そのまま通常環境にコピーして実行するとエラーが表示される。
  • index.phpでerror_reportingを設定すると良い。
    error_reporting(E_ERROR | E_PARSE); // Avoid E_WARNING, E_NOTICE, etc
    

PHP 5.4以降で「Fatal error: Call-time pass-by-reference has been removed」が発生

  • 例えばpopular2.inc.phpは以下のように修正する。
     $ git diff
    diff --git a/plugin/popular2.inc.php b/plugin/popular2.inc.php
    index 07c9926..344a38d 100644
    --- a/plugin/popular2.inc.php
    +++ b/plugin/popular2.inc.php
    @@ -123,7 +123,7 @@ function plugin_popular2_convert()
                    $max = array_shift($args);
                    $except = array_shift($args);
                    $list = array_shift($args);
    -               array_walk($args, 'plugin_popular2_check_arg', &$params);
    +               array_walk($args, 'plugin_popular2_check_arg', $params);
            }
            if($list == '') $list = 'total';
            if($except == '') $except = '';
    

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-03-14 (木) 15:11:06 (67d)