Changeset 12996

Show
Ignore:
Timestamp:
06/01/08 21:16:13 (5 years ago)
Author:
hio
Message:

System::WebClient?, 発言時は最新のログに飛ぶように.

Location:
lang/perl/tiarra/trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/tiarra/trunk/mini.conf

    r12927 r12996  
    6868  # 複数のネットワークに接続したい場合は多重定義して下さい。 
    6969  name: ircnet 
    70   name: mafu 
    7170  name: irc2ch 
    7271 
     
    10099  # このサーバーの要求するパスワード。省略可能。 
    101100  #password: hoge 
    102 } 
    103  
    104 mafu { 
    105   host: irc.mikage.to 
    106   port: 6667 
    107101} 
    108102 
  • lang/perl/tiarra/trunk/module/Auto/FetchTitle/Plugin/ExtractHeading.pm

    r12284 r12996  
    221221      status     => 503, 
    222222      url        => 'http://www.nicovideo.jp/*', 
     223      recv_limit => 10*1024, 
    223224      extract    => sub{ 
    224225        if( m{<div class="mb16p4 TXT12">\s*<p>現在ニコニコ動画は(メンテナンス中)です。</p>\s*<p>(.*?)<br />}s ) 
  • lang/perl/tiarra/trunk/module/System/WebClient.pm

    r12925 r12996  
    2424use Scalar::Util qw(weaken); 
    2525 
    26 our $VERSION = '0.03'; 
     26our $VERSION = '0.04'; 
    2727 
    2828our $DEBUG = 0; 
     
    3535# 認証毎で既読情報を保持(とりあえず共通で保持まで実装). 
    3636# sharedモードの時はセッション内でのみ保持. 
     37 
     38=begin COMMENT 
     39 
     40System::WebClient - ブラウザ上でログを見たり発言したりできるようにする Tiarra モジュール. 
     41 
     42 / 
     43   #==> [POST/_post_list] ENTER. 
     44   #==> [GET/_gen_list]   /log/*/* を一覧. 
     45 /log/<network>/<channel>/ 
     46   #==> [POST/_post_log] 発言. 
     47   #==> [GET/_gen_log]   ログの閲覧. 
     48   #==> ?r=XXX ==> ここまでは見たからこれの次から表示. 
     49   #==> ?x=XXX ==> 最新を表示するけれど,ここまではみたから表示しない. 
     50 /log/<network>/<channel>/info 
     51   #==> [POST/_post_chan_info] TOPIC/JOIN/PART/DELETE. 
     52   #==> [GET/_gen_chan_info]   チャンネル情報表示. 
     53 /style/style.css 
     54   #==> 空のCSSファイル. 
     55 <それ以外> 
     56   #==> 404. 
     57 
     58(*) 存在するけれど閲覧許可のないページであっても,  
     59    403 (Forbidden) ではなく 404 (Not Found) を返す. 
     60(*) ENTER: チャンネル情報を作成. この情報はそこにチャンネルがある(あった)ということを 
     61           保持していて, PART後も残るため過去ログが閲覧できる. 
     62(*) DELETE: 保持しているチャンネル情報を削除. 
     63            そのチャンネルの情報がもういらないのなら, 存在していたことを削除できる. 
     64 
     65=end COMMENT 
     66 
     67=cut 
    3768 
    38691; 
     
    11761207        my $channame_label = $this->_escapeHTML($channame); 
    11771208        $channame_label =~ s/^![0-9A-Z]{5}/!/; 
    1178         my $ref = $pack->{anchor} ? "?r=$pack->{anchor}" : ''; 
     1209        my $ref = $pack->{anchor} ? "?x=$pack->{anchor}" : ''; 
    11791210        if( $is_pc ) 
    11801211        { 
     
    13731404  $rindex ||= 0; 
    13741405  # $rindex も含めてindex系は [0..$#$recent] の範囲の値. 
     1406  if( my $xtoken = $cgi->{x} ) 
     1407  { 
     1408    my $re = qr/\Q$xtoken\E\z/; 
     1409    foreach my $i ($rindex..$#$recent ) 
     1410    { 
     1411      my $info = $recent->[$i]; 
     1412      my $anchor = "L.$info->{ymd}.$info->{lineno}"; 
     1413      if( $anchor =~ $re ) 
     1414      { 
     1415        if( $i < $#$recent ) 
     1416        { 
     1417          $rindex = $i + 1; 
     1418        }else 
     1419        { 
     1420          $rindex = $#$recent; 
     1421        } 
     1422        last; 
     1423      } 
     1424    } 
     1425  } 
    13751426 
    13761427  my $last; 
     
    14941545  <input type="submit" value="発言/更新" /><br /> 
    14951546<&NAME_INPUT_RAW> 
    1496 <input type="hidden" name="r" size="10" value="<&RTOKEN>" /> 
     1547<input type="hidden" name="x" size="10" value="<&RTOKEN>" /> 
    14971548</p> 
    14981549</form> 
     
    15021553<p> 
    15031554[ 
    1504 <a href="./?r=<&NEXT_RTOKEN>" accesskey="*">更新</a>[*] | 
     1555<a href="./?x=<&NEXT_RTOKEN>" accesskey="*">更新</a>[*] | 
    15051556<a href="<&TOP_PATH>" accesskey="0">List</a>[0] | 
    15061557<a href="info" accesskey="#">info</a>[#]