# disp_referrer.rb $Revision$ # -pv- # # 名称: # 本日のリンク元強化プラグイン # # 概要: # 本日のリンク元でサーチエンジンの検索文字の文字化けを直します。 # また、サーチエンジンの検索結果を他のリンク元の下にまとめて表示します(デフォルト時)。 # # 使い方: # 文字化けを直すのみ(表示はtDiaryの標準時と同様の並びにする)の場合は、tdiary.confに # 以下を追加してください。 # @options['disp_referrer.old'] = true # # 制限: # EUC-JPで表現できない文字は表示できません。 # # 著作権について: # Copyright (C) 2002 MUTOH Masao # You can redistribute it and/or modify it under GPL2. # =begin ChangeLog 2002-08-07 MUTOH Masao * 表示対象のずれの修正 * version 2.0.1 2002-08-06 MUTOH Masao * google, Yahoo, Infoseek, Lycos, goo, OCN, excite, msn, BIGLOBE, ODN, DIONからの内検索結果を、同アクセス数単位でリンク一覧の 下側にまとめて表示するようにした。従来の表示結果にしたい場合は @options['disp_referrer.old'] = trueを設定する。 * version 2.0.0 2002-07-24 MUTOH Masao * alltheweb対応 * jp.aol.com, aol.com対応 * 文字列変換の順序を変更 * version 1.1.0 2002-07-20 MUTOH Masao * version 1.0.0 =end require 'uconv' eval(<

#{referer_today}

\n] result << %Q[
    \n] data = Array.new num = 0 str = "" before_count = 0 before_url = "aaaaaa" before_table = nil search_table = nil first = true search_result = "" diary.each_referer( limit ) do |count, ref| if ref =~ /#{before_url}/ search_table = before_table same_before = true else search_tables.each do |table| table[1..-1].each do |url| if ref =~ /#{url[0]}/ search_table = table before_url = url[0] break end end end same_before = false end if search_table if (same_before and before_count == count) or first first = false if first else str.gsub!(/,$/, "") search_result << %Q[
  • #{before_count} x #{num} [#{before_table[0][0]}] #{CGI::escapeHTML( str )}
  • \n] num = 0 str = "" end str << diary.disp_referer( search_table[1..-1], ref ) str << "," num += 1 before_table = search_table before_count = count else if str != "" and before_table str.gsub!(/,$/, "") search_result << %Q[
  • #{before_count} x #{num} [#{before_table[0][0]}] #{CGI::escapeHTML( str )}
  • \n] num = 0 str = "" first = true end result << %Q[
  • #{count} #{CGI::escapeHTML( diary.disp_referer( @referer_table, ref ) )}
  • \n] end search_table = nil end result << "
    " result << search_result result + '
' end end