good.inc.php#
- まろやかCGIさん(サイト消滅)の Good or Bad をPukiwikiに導入する。
- コメント表示部分をformで囲まないように変更する必要があるので、pcommentの返信(reply)機能は使えなくなる。
PukiWiki上の記述例#
- goodのみ &good(sandbox001);
- good+bad &goodbad(sandbox002);
- good+bad+comment &goodbadc(sandbox003);
ダウンロード#
- Good or Bad シェアウェア
- good.inc.zip Pukiwikiでgobを使うためのプラグイン。Good or Bad管理画面では全機能有効にしておいて、CSSで押せるボタンを変える。
- good.inc.php Goodのみ表示
- goodbad.inc.php GoodとBad
- goodbadc.inc.php GoodとBadとコメント
- images パズドラ攻略Wikiで使っているボタン画像
- gob.css
- Good or Badの「設置方法」参照して設置する
- CORESERVERの場合 gob/ [777] 、session/ [777] にしないと動かないかも。
- plugin/ に good.inc.php goodbad.inc.php goodbadc.inc.php をアップロード
- これで手動でならボタンを呼び出すことができるようになる
コメント時に自動でgood.inc.phpを呼び出す#
- pcomment.inc.php
- コメント部分をフォームタグの外に出す
if ($dir) {
return '<div>' .
'<p>' . $recent . ' ' . $link . '</p>' . "\n" .
+ $comments . "\n" .
$form_start .
- $comments . "\n" .
$form .
$form_end .
'</div>' . "\n";
} else {
return '<div>' .
+ $comments. "\n" .
$form_start .
$form .
- $comments. "\n" .
$form_end .
'<p>' . $recent . ' ' . $link . '</p>' . "\n" .
'</div>' . "\n";
}
- コメントをする度に新しいidでボタンが表示されるようにする
日時+ランダムな文字列+IPアドレスの一部を使い、同じ人が同じ日時にコメントしたとしてもidが被らない(はず)。
「お名前」部分を乗っ取っているので、あまり良くないかも・・・
// ----
+
+ $ip_address = $_SERVER['REMOTE_ADDR'];
+
+ $cip = preg_replace("/(\d+)\.(\d+)\.(\d+)\.(\d+)/","$4",$ip_address);
+
+ $str_md5 = substr(md5($ip_address), 0, 30);
+
+ $id_md5 = md5($str_md5 /*. 任意の文字列 */);
+ $id = substr(base64_encode($id_md5), 0, 3);
+
+ $id_display = '[id:' . $id . $cip . ']';
+
+ // ----
+
+ $good_date = substr(md5(date(YmdHis)), 0, 6);
+
+ define('PLUGIN_PCOMMENT_FORMAT_NAME', '&color(#999){$name' .$id_display . '&good('. $good_date .'-'. $id . $cip .');' .'};');
- define('PLUGIN_PCOMMENT_FORMAT_NAME', '[[$name]]');
- 出力結果がclassの違いでしかないので、できればgood.inc.phpにまとめたい…。
- リクエスト数が多すぎる