pukiwikiのアップデート作業 のバックアップ(No.4)
※※このサイトは2012年頃より更新を停止しています。※※
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- pukiwikiのアップデート作業 へ行く。
pukiwikiのアップデート作業(実施日:2006-11-21)
対象
- 元環境:1.4.6
- アップデート:1.4.7_notb
条件
実施した作業
- パッケージダウンロード
- 別ディレクトリでパッケージを展開
- pukiwiki.ini.php
元とのdiffを参照しながら適宜修正 - 携帯向け修正
- pukiwiki.ini.php
以前使ってたauのWAP2.0対応端末からのアクセスをi-modeと同等に扱うように下記の記述を加える。- $agents = array の内部に
array('pattern'=>'#^(Vodafone)/([0-9\.]+)#', 'profile'=>'keitai'), array('pattern'=>'#^(SoftBank)/([0-9\.]+)#', 'profile'=>'keitai'), array('pattern'=>'#^KDDI#', 'profile'=>'keitai'),
- $agents = array の内部に
- keitai.skin.php
- navi部分が
0.Top | 1.Menu | 2.新規 | 3.編集 | 9.更新履歴
になる感じに修正。 - 携帯画面の最下部にnaviを追加する。
- iridスキンを使うなら、上記のように編集したkeitai.skin.phpをirid配下に設置すること。
- navi部分が
- pukiwiki.ini.php
- ソース表示用追記
上部のリンクに「ソース」を追加し、sourceコマンドで表示中のページのHTML整形前のテキスト生データを出力するようにした。
以下、変更箇所- lib/html.php
61行目付近 - 追加:$_LINK['source'] = "$script?cmd=source&page=$r_page"; 86行目付近 - 追加:$link_source = & $_LINK['source'];
- skin/pukiwiki.skin.php
114行目付近 - 追加: <?php _navigator('source') ?> |
- ja.lng.php
131行目付近 - 追加:$_LANG['skin']['source'] = 'ソース'; // HTML整形前テキスト表示
- skin/pukiwiki.skin.php
スキンに適宜追記
- lib/html.php
- ついでに必要であれば下記のmetaタグもpukiwiki.skin.phpに付け加える。
<meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Cache-Control" content="no-cache" /> <?php if ( $nofollow ) { ?> <meta name="robots" content="NOINDEX,NOFOLLOW" /><?php } ?>
- プラグイン
calendar_viewer にちょいと。
「<<前の5件」とか「次の5件>>」っていうリンクは、標準のプラグインだとリストの一番最後にだけ出る。
これをリストの一番上に出したいなと思ったのでちょっとソースに手を加える。
下記、変更箇所。- 対象ファイル:calendar_viewer.inc.php,v 1.34 2005/06/05
- いじるところはfunction plugin_calendar_viewer_convert()。
- 見るところは「// Include start」以降。
- A)
150行目過ぎぐらい、コメントで「// $limit_page の件数までインクルード」とあるところの while{〜〜〜} の塊りが、表示している記事を読み込んでいるところになる。 - B)
260行目過ぎぐらい、コメントで「// ナビゲート用のリンクを末尾に追加」とあるところの if{〜〜〜} の塊りが、「<<前の5件」「次の5件>>」というリンクを出力しているところになる。 - 元々のソースでは上から順序良く$return_bodyにつなげていってるだけ。
- なので、A)で
$return_body .= $head . $body;
となっているところを↓↓$tmp_return_body .= $head . $body;
とでもしておく。 - そして、B)の
$return_body .=
となっているところを↓↓$link_prev_and_next .=
とでもしておく。 - このfunction plugin_calendar_viewer_convert()の最後で
return $return_body;
の直前に$return_body .= $link_prev_and_next . $tmp_return_body . $link_prev_and_next;
と書き加える。
- kifubbs
plugin本体とcssとデータディレクトリを移動。
- 対象ファイル:calendar_viewer.inc.php,v 1.34 2005/06/05
- index.php
自分スクリプトをインクルード - iridスキン適用
pukiwiki.skin.phpとkeitai.skin.phpだけ新しいのと差し替えて、ディレクトリ丸ごと入れ替え。
- 必要であればpukiwiki.skin.phpに下記のmetaタグの付け加え
<meta http-equiv="Pragma" content="no-cache" /> <meta http-equiv="Cache-Control" content="no-cache" /> <?php if ( $nofollow ) { ?> <meta name="robots" content="NOINDEX,NOFOLLOW" /><?php } ?>
- mb_send_mail関数のバグ対応
- lib/mail.php
必要であればやる。
- lib/mail.php
- ディレクトリ移動
元環境のログディレクトリやデータディレクトリを新環境に移して、新環境と元環境を入れ替え。
追加作業:スパム書き込み対策(2007-05-04)
このごろ海外からのスパム書き込みがやたら増えてきたので、下記を参考にスパムフィルタのライブラリを導入してみた。
参考:ARK-Web SandBox Wiki - PukiWiki/Akismetによるspam(スパム)防止機能
- WordPress.com から API-key を入手する
http://wordpress.com/api-keys/
ここでユーザ登録をする。英語だけど頑張って読む。 - akismetのクラスライブラリを入手する
入手元ページ
akismet.class.zip をダウンロードするだけ。作成/配布に携わる方々に感謝。
ちなみに上記はPHP4用。PHP5だったらまた別のを用意するべきだはず。 - ARK-Web SandBox Wikiさんのページからpukiwiki用ライブラリを入手する
俺が入手したのは、新しい方の「akismet_filter.php.1.2」。
ダウンロードリンクのあるページ
作者の Akio KONUMA さんに感謝。 - 取得ファイル中の必要箇所書き換え
- 入手したAPI-keyの部分を、上記のダウンロードページを参考にして書き加え。
- pukiwikiの lib/plugin.php に必要記述を書き加え。
- 入手/変更済みの各種ファイルをアップロード
lib/plugin.php
lib/akismet.class.php
lib/akismet_filter.php