Top > diary > 2006-08-23

完成と思っても次の日には気になるところがポロポロと… Edit

 minicalendar_viewer.inc.phpの改造点を整理して公開しようとしてるわけですが、自分のサイトとしては問題なくても万人が同じ環境で使用するわけではないので、その辺をちょっぴり考慮すると気になる所が出てくる出てくる (..;

  • コメントのカウント値を取得する方法として、変更(update)回数を利用していますが、このサイトの日記コメントページは編集制限をしている事からコメント以外の変更(update)は殆ど無いとして考えていました。
    だけど、編集制限を行わず利用する場合、直接編集をしてコメント以外の方法で書換えが行われるので、その度にカウントが上がってしまいます。(これでも良いと思う人もいるでしょうけど)
     そこで、リスト構造(行頭に-、--、--- が付く)の行を検出してカウントするコードを追加しました。
    define('PLUGIN_MINICALENDAR_VIEWER_COMMENT_COUNT_CHANGE',TRUE);	//コメントのカウント方法変更。TRUE=ページソースを読込んで数える:FALSE=ページ変更回数を取得する
      0
      1
      2
      3
      4
      5
      6
      7
      8
      9
    
    $comment_count = 0;
    if(is_page($wikinotepage,$reload=FALSE)){		//taru 06.08.23 if~
    	if(PLUGIN_MINICALENDAR_VIEWER_COMMENT_COUNT_CHANGE === TRUE) {
    		$note_source = get_source($wikinotepage);
    		foreach ($note_source as $line_chk) {
    			if (preg_match("/^\-{1,3}/", $line_chk)) $comment_count++;
    		}
    	} else {
    		$comment_count = log_count('update',$wikinotepage);
    	}
    }
  • (書き途中で寝てましたorz続きは今晩にでも…)
  • 日記の補助としてサイドバーにComment、Trackback のリンクが出るようにminicalendar_viewer.inc.phpから一部コード抜き取ったプラグインを使っています。
    この使い方だと設定値が変わったり、コード変更をする度に書き換えるという手間が出てきます。
    そこで対策として
    1. minicalendar_viewer.inc.phpにプラグインをまとめてしまう(オプションの追加)
      しかし、オプションを追加するには完全に構造変更が必要(オプションの位置が固定だから)
    2. 追加したプラグイン(diary_opt.inc.php(名前適当))の処理をminicalendar_viewer.inc.phpからのユーザー関数読込みにする。
      これが無難っぽいですね。
  • wikinoteの設定で自動新規作成を解除した場合、ページの無いリンク状態になります。(?をクリックで作成)自動新規作成を解除している場合は、(編集制限も解除する必要があります。)
    1. この場合、テンプレートにコメントを設定し「元ページのリンクを自動的に先頭につける」を有効にすると新規作成(?のリンクをクリック)で作れるが、最初のコメント記入者にコメントクリックで新規作成させるのは微妙なのかも。
    2. サイドバー用に追加したプラグイン(diary_opt.inc.php)にアクションプラグインを追加してクリックでwikinoteの自動新規作成を実行する。(編集制限を解除する必要は無くなる。)

Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes