*

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

RAID

RAID Level が悩ましい Seichan です.風呂上り.さっぱり.乾燥して体かゆっ ATA

記事を読む

FreeBSD をクライアントとして使用する (X.org)

Seichan です.FreeBSD をクライアントとして使用する,其ノ三. 今回も X.org

記事を読む

no image

メンテナンス完了

結局,PM11:00 より開始して AM10:00 に終了しました.軽く寝て起きた Seichan

記事を読む

PHPki で簡単証明書運用 (1)

この記事は phpki-0.83.tar.gz を元に書きましたが,不具合多数の為最新のソースコード

記事を読む

no image

djbdns から bind へ移行

DMZ 構成にして,ネットワーク構成を色々変更して,何か良くわからないんですが, djbdns でう

記事を読む

no image

Pentium3

昨日,あきばに行って中古の Pentium3 800MHz を2つ買ってきました. 理由は… Pen

記事を読む

GEOM RAID3 を使う

Seichan です.こんばんわ. 前回の「GEOM CONCAT を使う」に続いて今回は RAI

記事を読む

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

Seichanです.こんばんわ. サーバの移行に伴い,PHP のバージョンが 5.3 から 5.4

記事を読む

no image

FreeNAS 0.683b Japanese

Seichan です.おひさしぶしです. FreeNAS のメッセージを日本語化しておりました. と

記事を読む

FreeBSD をクライアントとして使用する (firefox)

おひさしぶりです.seichan です. 更新をサボっていたのですが,取り合えずまたクライアントネ

記事を読む

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 ↑