*

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

データは何処に旅立った?

さて,でーたがとんだ?で報告した PostreSQL のデータですが,どうやら彼方へ旅立っていたよう

記事を読む

no image

djbdns から bind へ移行

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

記事を読む

no image

PostgreSQL サーバをかえた

PostgreSQL を 8.0 系から,8.1 系に変更. そのついでに,物理的なサーバをかえた.

記事を読む

no image

fukuoka-u.ac.jp の NTP サーバ

2ch の Linux 板のあるスレッドに,福岡大学の ntp 管理者(?) からの書込みがあった.

記事を読む

no image

サーバメンテナンス

Seichan です. 今日の夜より,がっつりとサーバメンテを行います. FileServer のデ

記事を読む

no image

オートローダ GET だぜっ!!

IBM の DDS4 オートローダを GET しました.Seichan です. Yahoo!! オ

記事を読む

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

Seichanです.こんばんわ. 先日の「PHPki で簡単証明書運用 (3) 【署名されたサーバ

記事を読む

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

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

記事を読む

no image

業務連絡

Celeron 300A な CPU を PPPoE ルータにした所,それなりにスピード叩き出してて

記事を読む

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

Seichan です.こんばんわ. さて,先日の「PHPki で簡単証明書運用 (1) 【修正版】

記事を読む

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 ↑