- $chname_encoded = $q->url_encode( $line->[4] );
- $line->[5] = 'タイトルなし' if ( !$line->[5] );
- my $unix_6 = str2datetime( $line->[6] );
- my $unix_7 = str2datetime( $line->[7] );
-
- my $btime = $unix_6->strftime( '%Y%m%d%H%M%S' );
- my $etime = $unix_7->strftime( '%Y%m%d%H%M%S' );
- if ( $extra and $line->[1] =~ /^search_|^reserve_/ ) {
- my @ary = $dbh->selectrow_array(
- "SELECT title, exp FROM epg_timeline
- WHERE channel = '$line->[3]'
- AND start = '$btime'
- AND stop = '$etime' ");
-
- if ( $ary[0] ) {
- $ary[0] =~ s/無料≫//;
-
- if ( $ary[0] ne $line->[5] ) {
- my $count = $ary[0] =~ s/\Q$line->[5]\E//;
- if ( !$count ) {
- my $href = qq {<a href="rectool.pl?mode=edit&id=$line->[0]&suggest=auto">自動検索</a>};
- $ary[0] = qq {<span style="color: #FF4000">$ary[0]■$href■</span>};
+ # 地上波の場合、xx_yyyをxx_0に置換する
+ ( $line->{chtxt_0} = $line->{chtxt} ) =~ s/(\d+)_/$1_0/;
+ # chnameが無いとき(移動縁故など)、chtxtを代わりに使う
+ $line->{chname} =
+ $line->{chname} ||
+ $chtxt_0_chname{$line->{chtxt}} ||
+ $chtxt_0_chname{$line->{chtxt_0}};
+ if ( !$line->{chname} ) {
+ # chnameが無いとき、リンクを作成しない
+ $line->{chname} = $line->{chtxt};
+ $line->{chname_link} = qq {$line->{chname}</a>};
+ }
+ else {
+ $line->{chname_link} = qq {<a href="rectool.pl?mode=program&chtxt=$line->{chtxt}">$line->{chname}</a>};
+ }
+ $line->{title} = 'タイトルなし' if ( !$line->{title} );
+ $line->{tr_style} = '';
+ $line->{title_2} = '';
+ my $unix_b = str2datetime( $line->{btime} );
+ my $unix_e = str2datetime( $line->{etime} );
+
+ my $btime = $unix_b->strftime( '%Y%m%d%H%M%S' );
+ my $etime = $unix_e->strftime( '%Y%m%d%H%M%S' );
+ if ( $extra and $line->{type} =~ /^search_|^reserve_(?!running)/ ) {
+ #my @ary = $dbh->selectrow_array(
+ # "SELECT title, exp FROM epg_timeline
+ # WHERE channel = '$line->{chname}'
+ # AND start = '$btime'
+ # AND stop = '$etime' ");
+ #my @ary = ( $line->{epgtitle}, $line->{epgexp} );
+ my ( $epgtitle, $epgexp ) = ( $line->{epgtitle}, $line->{epgexp} );
+
+ if ( $epgtitle ) {
+ $epgtitle =~ s/無料≫//;
+
+ if ( $epgtitle ne $line->{title} ) {
+ # epgtitleとtitleが一致しない
+ # []に囲まれた部分を除去して比較
+ my @brackets = $line->{title} =~ /(\[.+\])+/;
+ my $epgtitle_nobrackets = $epgtitle;
+ my $title_nobrackets = $line->{title};
+ if ( @brackets && $epgtitle =~ /(\[.+\])+/ >= @brackets ) {
+ foreach ( @brackets ) {
+ $epgtitle_nobrackets =~ s/\Q$_\E//;
+ }
+ }
+ $title_nobrackets =~ s/(\[.+\])+//;
+ if ( !scalar $epgtitle_nobrackets =~ s/\Q$title_nobrackets\E// ) {
+ # epgtitleにtitleが含まれていない
+ my $href = qq {<a href="rectool.pl?mode=edit&id=$line->{id}&suggest=auto">自動検索</a>};
+ $epgtitle = qq {<span style="color: #FF4000">$epgtitle■$href■</span>};
+ }
+ else {
+ # epgtitleにtitleが含まれている
+ $epgtitle = $epgtitle_nobrackets;