*

Pukiwiki

公開日: : FreeBSD

自民党キター と喜んでいる最中ですが,はまっていた事があったの備忘録をかねてのメモ.
# 選挙ネタはそのうちかければ.
PHP の Wiki である Pukiwiki ですが,PHP 5.0.5 にあげたとたん,次の様なエラーを出力して使えなくなってしまった.
—– エラー ここから —–
Fatal error: Only variables can be passed by reference in /home00/seichan.org/data/public_html/wiki.bak/rules.ini.php on line 35
—– エラー ここまで —–
原因は,PHP のセキュリティ向上の為の修正によるもので,array() で定義された配列定数を return する場合、返り値を変数にいれずに直接使用すると定数値にアクセスしたこととなり致命的エラーとなるもの.
と言う訳で,QuickHack してみる.
変更したファイルは,rules.ini.phpplugin/recent.inc.phpplugin/counter.inc.php の3つだが,他にも同様な変更が必要かも知れない.
その際は,コメント欄にコメントをくれれば嬉しいかも.
で,変更点を明確にする為に,diff 形式をそのまま乗せます.ここで使用している Pukiwiki のバージョンは,1.4.5_1 です.

 SPONSORED LINK
 

—– rules.ini.php ここから —–
%diff -u rules.ini.php.bak rules.ini.php
— rules.ini.php.bak Mon Sep 12 00:32:01 2005
+++ rules.ini.php Mon Sep 12 00:20:50 2005
@@ -17,6 +17,10 @@
/////////////////////////////////////////////////
// ユーザ定義ルール(直接ソースを置換)
+$page = $vars[‘page’];
+$page = explode(‘/’, $page);
+$page = array_pop($page);
+
$str_rules = array(
‘now\?’ => format_date(UTIME),
‘date\?’ => get_date($date_format),
@@ -24,7 +28,8 @@
‘&now;’ => format_date(UTIME),
‘&date;’ => get_date($date_format),
‘&time;’ => get_date($time_format),
– ‘&page;’ => array_pop(explode(‘/’, $vars[‘page’])),
+// ‘&page;’ => array_pop(explode(‘/’, $vars[‘page’])),
+ ‘&page;’ => $page,
‘&fpage;’ => $vars[‘page’],
‘&t;’ => “\t”,
);
—– rules.ini.php ここまで —–
—– plugin/recent.inc.php ここから —–
%diff -u recent.inc.php.bak recent.inc.php
— recent.inc.php.bak Mon Sep 12 00:34:24 2005
+++ recent.inc.php Mon Sep 12 00:21:10 2005
@@ -33,7 +33,9 @@
}
// 先頭のN件(行)を取り出す
– $lines = array_splice(file(PLUGIN_RECENT_CACHE), 0, $recent_lines);
+// $lines = array_splice(file(PLUGIN_RECENT_CACHE), 0, $recent_lines);
+ $fdata = file(PLUGIN_RECENT_CACHE);
+ $lines = array_splice($fdata, 0, $recent_lines);
$date = $items = ”;
foreach ($lines as $line) {
—– plugin/recent.inc.php ここまで —–
—– plugin/counter.inc.php ここから —–
%diff -u counter.inc.php.bak counter.inc.php
— counter.inc.php.bak Mon Sep 12 00:36:13 2005
+++ counter.inc.php Mon Sep 12 00:30:23 2005
@@ -14,7 +14,9 @@
{
global $vars;
– $arg = strtolower(array_shift(func_get_args()));
+// $arg = strtolower(array_shift(func_get_args()));
+ $fdata = func_get_args();
+ $arg = strtolower(array_shift($fdata));
switch ($arg) {
case ” : $arg = ‘total’; /*FALLTHROUGH*/
case ‘total’: /*FALLTHROUGH*/
—– plugin/counter.inc.php ここまで —–

SPONSORED LINK
  ☆ ブログランキング参加しました (*≧∀≦)ノシ
にほんブログ村 IT技術ブログ FreeBSDへ 

関連記事

no image

atacontrol

ただいまなのです.Seichan です.じめじめしてて最悪… FreeBSD の ATA デバイスを

記事を読む

GEOM RAID0 と GEOM RAID1 の組み合わせ

Seichan です.こんばんわ. 前回の「GEOM RAID1 を使ってみる」に続いて今回は R

記事を読む

PHPki で簡単証明書運用 (1) 【PHPki の修正と導入 (修正版)】

Seichan です.こんばんわ. 先日「PHPki で簡単証明書運用 (1)」を書いたのですが、

記事を読む

no image

RBL は使ってはならない

Seichan です.毎度様です. 最近めっきり使う人がいなくなったと思っていたのに,いまだ使ってい

記事を読む

FreeBSD で NFS (2) 【NFSサーバ設定と /etc/exports 詳解】

Seichan です.こんばんわ.あけましておめでとうございます. 前回「FreeBSD で NF

記事を読む

pukiwiki を PHP 5.4 に対応させる方法 (2)

Seichan です.こんばんわ. pukiwiki を PHP 5.4 に対応させる方法 (1)

記事を読む

no image

FreeBSD 4.11 と 6.1

寝ようと思っても,咳がひどくて眠れない Seichan Death. 月末に妹がこっちに来るようなの

記事を読む

no image

MyServerRooM

ばんわー Seichan です. ちょっと前に,DDS4 チェンジャードライブのエントリをのっけまし

記事を読む

PHPki で簡単証明書運用 (3) 【署名されたサーバ証明書を作る】

Seichan です.こんばんわ. さて,先日の「PHPki で簡単証明書運用 (2) 【初期設定

記事を読む

FreeBSD で NFS (5) 【NFSクライアントとマウントオプション】

Seichan です.こんばんわ.公私ともにドタバタしていてまったく進みません... 前回「Fre

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Google Adsense

PHPki で簡単証明書運用 (5) 【管理ユーザのメンテナンスとCRLの取得】

Seichanです.こんばんわ. いつものとおり,だいぶ日が経ってし

PHPki で簡単証明書運用 (4) 【作成した証明書を管理する】

Seichanです.こんばんわ. 先日の「PHPki で簡単証明書運

PHPki で簡単証明書運用 (3) 【署名されたサーバ証明書を作る】

Seichan です.こんばんわ. さて,先日の「PHPki で簡単

PHPki で簡単証明書運用 (2) 【初期設定と Root CA 証明書作成】

Seichan です.こんばんわ. さて,先日の「PHPki で簡単

PHPki で簡単証明書運用 (1) 【PHPki の修正と導入 (修正版)】

Seichan です.こんばんわ. 先日「PHPki で簡単証明書運

→もっと見る

PAGE TOP ↑