pukiwiki1.4/plugin/good.inc.php の履歴差分(No.1)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
* good.inc.php(オリジナル) [#v894f09c]

- [[まろやかCGI:http://www.s-ht.com/~jackal/index.php]]さんの Good or Bad をPukiwikiに導入する。
- コメント表示部分をformで囲まないように変更する必要があるので、pcommentの返信(reply)機能は使えなくなる。

** PukiWiki上の記述例 [#lb54c9d8]

 - goodのみ &good(sandbox001);
 - good+bad &goodbad(sandbox002);
 - good+bad+comment &goodbadc(sandbox003);

** ダウンロード [#g27ecebd]

- [[Good or Bad:http://www.s-ht.com/~jackal/index.php?mode=dl&cgi=gob]] シェアウェア
- 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

** 手順 [#r5db1ad9]

- Good or Badの「設置方法」参照して設置する
-- CORESERVERの場合 gob/ [777] 、session/ [777] にしないと動かないかも。

- plugin/ に good.inc.php goodbad.inc.php goodbadc.inc.php をアップロード
-- これで手動でならボタンを呼び出すことができるようになる

** コメント時に自動でgood.inc.phpを呼び出す [#sc8d040a]

- 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]]');
 


** 課題 [#z46e4f71]

- 出力結果がclassの違いでしかないので、できればgood.inc.phpにまとめたい…。
- リクエスト数が多すぎる
-- コメント一覧を開いただけで大量リクエストになってしまうので、下記のようにして一覧では表示されないように対策。
 - var gobObj = $('div.gob');
 + var gobObj = $('.pcomment div.gob');

* コメント [#p9ec71cf]

#pcomment