<% require 'cgi' require 'base/convinnerlink.rb' require 'webview/sql_func.rb' require 'webview/pref_httpquery.rb' require 'webview/indexview.rb' require 'user/login.rb' r = Apache.request cookie = nil user = nil message = nil l_login = nil begin cookie, user = auth_cookie2(r) rescue message = $!.message end pref = (user and user.preference_is_valid?) ? user.preference : Preference.new unless r.paramtable.to_a.empty? pref = CGIPreference.new(pref) pref.get_cgiinfo2(r) end level = 0 sv = nil srz = nil title = '' if r.paramtable['sv'] != nil sv = r.param('sv') level = 1 elsif r.paramtable['srz'] != nil srz = r.param('srz') level = 2 end combo = r.param('combo') combo_str = '' combo_str = '?combo=no_combo' if combo == 'no_combo' linkarray = nil begin call_wwwdb do |m| result = nil if pref.subview? fn = m.query("SELECT fullname FROM genre WHERE " + "id = '#{Mysql.quote(pref.subview)}'").fetch_row[0] linkarray = [ LinkArray::SamedirMain, [ fn, "./#{pref.subview}/" ], LinkArray::Toc ] title = ' > ' + fn elsif srz g, id = srz.split('/') gfn = m.query("SELECT fullname FROM genre WHERE " + "id = '#{Mysql.quote(g)}'").fetch_row[0] sfn = m.query("SELECT title FROM series WHERE genre = '#{Mysql.quote(g)}' " + "AND id = '#{Mysql.quote(id)}'").fetch_row[0] title = ' > ' + gfn + ' > ' + sfn linkarray = [ LinkArray::SamedirMain, [ gfn, "./#{g}/" ], [ sfn, "./#{srz}.html" ], LinkArray::Toc ] else linkarray = LinkArray::TocDefault end begin # $stderr << "SELECT last_modified FROM news " + # pref.last_modified_query(l_login) result = m.query("SELECT last_modified FROM news " + pref.last_modified_query(l_login)) rescue Preference::GenreQueryIsObsolate pref.make_genrequery pref.genrehash = PreferenceFunc.make_genrehash if not pref.instance_of?(CGIPreference) and user begin call_userdb_admin do |m| user.update_preference(m) end rescue $stderr << $!.dump if Debug_Flag exit! end end retry end # lm = Time.now.utc # テスト用 if result.num_rows == 0 lm = -1 else lm = SqlMiscFunc.sqltime_to_Time(result.fetch_row[0]) end cout_header_notmodify(r, lm) %> <% if lm.kind_of?(Time) %> <% end %><% if pref.instance_of?(CGIPreference) and not pref.offset_only? %><% else %><% end %> Stack-Style: Table of Contents<%= title %>

もくじ<%= title %>

<% # print CGI.escapeHTML(pref.inspect) cout_menubar(linkarray, pref, false) %>
<% if sv %>
<% elsif srz %> <% else %> <% end %>
表示するジャンル:
<% if sv or srz %> 固定(→指定する)<% else %> <% end %>
表示する種類:
<% if srz %> 固定(→指定する)<% else %> <% end %>
並べかた:
シリアル種類タイトルジャンル<% pref.item_num = 100 m.query("SELECT serial, genre, type, title FROM news " + "#{pref.where_query} #{pref.order_query} #{pref.limit_query}").each do |s, g, ty, ti| n = News.new n.serial = s n.genre = g n.type = ty n.title = ti # $stderr << n.inspect << "\n" %>
<%= n.serial %> <% cout_type(n.type) %> <%= n.title %> <% cout_genre(m, n.genre) end #query-each end #call-wwwdb %>
<% diff = pref.count_next_num if diff > 0 if sv cout_nextlink("./#{sv}/toc.html", pref.next_http_query, diff, combo) elsif srz cout_nextlink("./#{srz}/toc.html", pref.next_http_query, diff, combo) else cout_nextlink("./toc.rhtml", pref.next_http_query, diff, combo) end end %>
<% cout_footer(linkarray) %> <%= google_analystics_tag %> <% rescue $stderr << $! if Debug_Flag r.status_line = "404 Not Found" r.send_http_header exit else if level > 0 rewrite_buffer($stdout) { |str| print TextFormatter::convert_innerlink(str, level) } end end %>