PukiWiki

プラグイン

PukiWikiインストール後に入れるプラグイン

HTML

  • 書式
    #html{{
        <b>html tag</b>
    }}

コードハイライト

  • 書式
    • ブロックプラグイン
      #code[([言語名] {,[menu|nomenu], [number|nonumber],
          [outline|nooutline], [icon|noicon]}, ファイル名)|)]{{
          ソースコード
      }}
    • コマンド
      ?plugin=code &page=ページ名
  • ページに記述
    #code[(言語名,オプション)]{{
        ソースコード
    }}
  • ファイル取り込み
    #code([言語名][,オプション],ファイル名)
    #code([言語名][,オプション],URL)
  •   1
      2
    
    <?php
        echo "hoge";
    ?>

オプション値

http://codeincphp.sourceforge.jp/?Code%2FMan%2Fr0.6.0

  • オプションは複数指定する事が出来ます。
  • 順序は問いません。
  • オプションは無くても動作します。
  • その場合はデフォルトの動作になります。
menu / nomenuアウトライン制御メニューの表示(全ての開閉)
number / nonumber行番号の表示
outline / nooutlineブロックアウトライン(ブロックの表示/非表示)
literal / noliteral文字列アウトライン(複数行にわたる文字列の表示/非表示を切替え)
comment / nocommentコメントアウトライン(複数行にわたるコメントの表示/非表示を切替え)
icon / noiconファイル名の先頭のアイコン
link / nolinkオートリンクそれぞれ no が付く場合は無効。付かない場合は有効。

初期状態では全てのオプションが有効になっています。
デフォルトの状態を変更するにはファイル code.inc.php の 11行以降の部分のdefine文を変更して下さい。

データベースを使ったアクセスカウンター

PukiWikiのアクセスカウンターのプラグインは、アクセスデータをファイル形式で保存しており、ときどきアクセスデータが壊れることがありました。
=アクセス数がゼロにリセットされてしまう、等。
=高負荷になると、ファイルの書き換えでエラーが生じるのかな?

ファイルではなく、データベースにアクセスデータを保存する独自ライブラリを作成してみました。

MySQLを使ったpukiwiki用アクセスカウンター

本当は、

  • MySQL4.0以下の場合(mysql関数を使用)
  • MySQL4.1以上の場合(mysqli関数を使用)
  • SQLiteの場合(PDOを使用)
    で作り分けた方が良いだろう。
    DBの違いを吸収するために、PDOを使ったスクリプトが一つあれば十分かな?

PukiWikiのPHP5.4対応

PukiWiki 1.4.7が、PHP5.4で動作しなかったので、修正しました。

(参考)
http://kohada.2ch.net/test/read.cgi/php/1269602282
http://pukiwiki.sourceforge.jp/dev/?BugTrack2%2F349
http://imapsoopy.ddo.jp/tarusoopy/wordpress/2012/05/03/pukiwiki-for-php5-4-x/
http://nowsky.dip.jp/digiloog/2012/12/article_1018/
http://nowsky.dip.jp/wiki/?PukiWiki%2Ferror

「pukiwiki/lib」フォルダ内にある5つのファイルを修正しました。

  • /pukiwiki/lib/config.php
  • /pukiwiki/lib/convert_html.php
  • /pukiwiki/lib/func.php
  • /pukiwiki/lib/init.php
  • /pukiwiki/lib/link.php

デバッグ方法

PHPをCLIで実行という方法で、デバッグしました。

修正箇所は、以下の形になってます。

  • コメントアウトした行 → 「// -」
  • 追加した行 → 「// +」

(例) /pukiwiki/lib/config.php の42行目付近

  1
<?php //  $obj = & new ConfigTable(''); // -
    $obj = new ConfigTable(''); // + ?>

修正後のファイル

  1. このページ下部に添付してある「pukiwiki-1.4.7_notb_utf8-PHP5.4_debug.zip」をダウンロードします。
  2. 解凍して出てくる「lib」フォルダ内に、修正後のファイルが5つあります。
  3. 念のため、修正前のファイルをバックアップしてから、修正後のファイルを設置してください。

注意

修正方法および修正ファイルは、参考情報として提供させていただきます。
参考情報の利用によって生じるいかなる問題も、当方では責任を負えません。
修正は、各自の自己責任において実施してください。
よろしくお願いします。

(このページの短縮URL → http://goo.gl/i7p9S
(Googleのクッションページを表示させる場合は、短縮URLの末尾に「.info」を付けてください → http://goo.gl/i7p9S.info


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS