*

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

FreeBSD には関係ないが

CIFS は1アクション毎のやり取りが多すぎる.この為,リモートからのファイル送受信はとてつもなく時

記事を読む

no image

LDAP

自宅サーバ,クライアント及び,これから使っていきたいグループウェア等の為に本気で LDAP 化しよう

記事を読む

no image

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

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

記事を読む

FreeBSD

FreeBSD 6.3-RELEASE でちょっと遊んだ

Seichan です.インフルエンザで丸々一週間会社を休んでしまいました...有給休暇の残がゼロに!

記事を読む

no image

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

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

記事を読む

no image

ネットワーク環境を変えたのは前のエントリに言及してますが,不具合があったら連絡をぷりーづ. > お友

記事を読む

ssl_icon

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

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

記事を読む

no image

mpd で PPTP

papu が Poptop で PPTP を頑張ってやっているらしいので,こっちは mpd で P

記事を読む

no image

6.2-PRERELEASE

今日(昨日)会社を休んでだるだるすごしていた Seichan です. でも,会社(部)の飲み会にはし

記事を読む

ssl_icon

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

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

記事を読む

Message

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Google Adsense

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

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

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

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

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

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

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

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

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

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

→もっと見る

PAGE TOP ↑