Ticket #6993: mythweb_ch_by_ch2.patch
File mythweb_ch_by_ch2.patch, 35.1 KB (added by , 14 years ago) |
---|
-
includes/config.php
44 44 if (!isset($_SESSION['guide_favonly'])) 45 45 $_SESSION['guide_favonly'] = false; 46 46 47 if (!isset($_SESSION['guide_ch_by_ch_fmt'])) 48 $_SESSION['guide_ch_by_ch_fmt'] = false; 49 define('guide_ch_by_ch_fmt', $_SESSION['guide_ch_by_ch_fmt']); 50 51 if (!isset($_SESSION['guide_ch_by_ch_channels_per_row'])) 52 $_SESSION['guide_ch_by_ch_channels_per_row'] = 4; 53 47 54 // The size of timeslots, in seconds (1800 = 30 minutes) 48 55 if ($_SESSION['timeslot_size'] < 300) { 49 56 switch (tmpl) { -
skins/elkin/tv_list.css
18 18 background-color: #EEEEEE; 19 19 white-space: nowrap; 20 20 } 21 .x-channel img { 21 .x-channel img, 22 .x-channel-by-channel img { 22 23 position: relative; 23 24 top: -4px; 24 25 vertical-align: middle; 26 max-height: 4em; 25 27 } 26 28 .x-channel a { 27 29 display: block; … … 33 35 font-size: 200%; 34 36 } 35 37 38 .x-channel-by-channel { 39 width: 20em; 40 vertical-align: top; 41 background-color: #EEEEEE; 42 } 43 44 .x-channel-by-channel table { 45 width: 100%; 46 } 47 48 .x-channel-by-channel ul { 49 list-style: none; 50 padding: 5px; 51 } 52 53 .x-channel-by-channel li { 54 list-style-image: none; 55 list-style-position: inside; 56 padding: 5px 5px 5px 10px; 57 background-position: 0% 50%; 58 background-repeat: no-repeat; 59 color: #404040; 60 font-weight: bold; 61 } 62 63 .x-channel-by-channel a { 64 color: #404040; 65 display: inline; 66 text-align: center; 67 } 68 69 .x-channel-by-channel .previous { 70 color: grey; 71 font-weight: normal; 72 } 73 74 .x-channel-by-channel .ongoing { 75 color: orange; 76 } 77 78 .x-channel-by-channel .starttime { 79 float: left 80 } 81 82 .x-channel-by-channel .title { 83 display: block; 84 margin-left: 3.1em; 85 } 86 36 87 #list_head { 37 88 width: 80%; 38 89 margin: 1em auto; -
skins/default/tv_list.css
19 19 background-color: #202a49; 20 20 white-space: nowrap; 21 21 } 22 .x-channel img { 22 .x-channel img, 23 .x-channel-by-channel img { 23 24 position: relative; 24 25 top: -4px; 25 26 vertical-align: middle; 26 max-width: 70px; 27 max-height: 30px; 27 max-height: 4em; 28 28 } 29 29 .x-channel a { 30 30 display: block; … … 36 36 font-size: 200%; 37 37 } 38 38 39 .x-channel-by-channel { 40 width: 20em; 41 vertical-align: top; 42 background-color: #202a49; 43 } 44 45 .x-channel-by-channel table { 46 width: 100%; 47 } 48 49 .x-channel-by-channel ul { 50 list-style: none; 51 padding: 5px; 52 } 53 54 .x-channel-by-channel li { 55 list-style-image: none; 56 list-style-position: inside; 57 padding: 5px 5px 5px 10px; 58 background-position: 0% 50%; 59 background-repeat: no-repeat; 60 font-weight: bold; 61 } 62 63 .x-channel-by-channel a { 64 display: inline; 65 text-align: center; 66 } 67 68 .x-channel-by-channel .previous { 69 color: grey; 70 font-weight: normal; 71 } 72 73 .x-channel-by-channel .ongoing { 74 color: orange; 75 } 76 77 .x-channel-by-channel .starttime { 78 float: left 79 } 80 81 .x-channel-by-channel .title { 82 display: block; 83 margin-left: 3.1em; 84 } 85 39 86 #list_head { 40 87 width: 80%; 41 88 margin: 1em auto; -
skins/grey/style.css
212 212 #category_legend_popup table { 213 213 font-size: 9pt; 214 214 } 215 216 /* I don't think we have a single image with a border in the default template, so disable it */ 217 a img { 218 border: 0px; 219 } -
skins/grey/tv_list.css
1 /* 2 * 3 * Styles used in /tv/list 4 * 5 /*/ 6 7 .right_arrow { 8 float: right; 9 } 10 .left_arrow { 11 float: left; 12 } 13 14 .x-channel { 15 width: 8em; 16 padding: 0 !important; 17 vertical-align: middle; 18 background-color: #505050; 19 white-space: nowrap; 20 } 21 .x-channel img, 22 .x-channel-by-channel img { 23 position: relative; 24 top: -4px; 25 vertical-align: middle; 26 max-height: 4em; 27 } 28 .x-channel a { 29 display: block; 30 text-align: center; 31 padding: 5px; 32 } 33 .x-channel .x-preferred { 34 margin-left: 5px; 35 font-size: 200%; 36 } 37 38 .x-channel-by-channel { 39 width: 20em; 40 vertical-align: top; 41 background-color: #505050; 42 } 43 44 .x-channel-by-channel table { 45 width: 100%; 46 } 47 48 .x-channel-by-channel ul { 49 list-style: none; 50 padding: 5px; 51 } 52 53 .x-channel-by-channel li { 54 list-style-image: none; 55 list-style-position: inside; 56 padding: 5px 5px 5px 10px; 57 background-position: 0% 50%; 58 background-repeat: no-repeat; 59 font-weight: bold; 60 } 61 62 .x-channel-by-channel a { 63 display: inline; 64 text-align: center; 65 } 66 67 .x-channel-by-channel .previous { 68 color: grey; 69 font-weight: normal; 70 } 71 72 .x-channel-by-channel .ongoing { 73 color: orange; 74 } 75 76 .x-channel-by-channel .starttime { 77 float: left 78 } 79 80 .x-channel-by-channel .title { 81 display: block; 82 margin-left: 3.1em; 83 } 84 85 #list_head { 86 width: 80%; 87 margin: 1em auto; 88 } 89 90 91 #x_current_time { 92 font-size: 150%; 93 margin-top: .25em; 94 float: left; 95 } 96 97 #x-jumpto { 98 float: right; 99 } 100 #x-jumpto td { 101 padding: .35em 1em; 102 vertical-align: middle; 103 white-space: nowrap; 104 } 105 #x-jumpto td.x-jumpto { 106 font-size: 110%; 107 font-weight: bold; 108 } 109 #x-jumpto td.x-hour select { 110 text-align: right; 111 } 112 #x-jumpto .x-day select { 113 text-align: center; 114 } 115 116 #x-jumpto a img { 117 vertical-align: middle; 118 height: 16px; 119 width: 16px; 120 margin-top: -2px; 121 } 122 #x-jumpto a { 123 height: 20px; 124 width: 20px; 125 padding: 2px; 126 border: 1px solid #7b8; 127 background-color: #263; 128 } 129 #x-jumpto a:hover { 130 border: 1px solid #9da; 131 background-color: #485; 132 } -
skins/haze_dark/tv_list.css
1 /* 2 * 3 * Styles used in /tv/list 4 * 5 /*/ 6 7 .right_arrow { 8 float: right; 9 } 10 .left_arrow { 11 float: left; 12 } 13 14 .x-channel { 15 width: 8em; 16 padding: 0 !important; 17 vertical-align: middle; 18 white-space: nowrap; 19 } 20 .x-channel img, 21 .x-channel-by-channel img { 22 position: relative; 23 top: -4px; 24 vertical-align: middle; 25 max-height: 4em; 26 } 27 .x-channel a { 28 display: block; 29 text-align: center; 30 padding: 5px; 31 } 32 .x-channel .x-preferred { 33 margin-left: 5px; 34 font-size: 200%; 35 } 36 37 .x-channel-by-channel { 38 width: 20em; 39 vertical-align: top; 40 } 41 42 .x-channel-by-channel table { 43 width: 100%; 44 } 45 46 .x-channel-by-channel ul { 47 list-style: none; 48 padding: 5px; 49 } 50 51 .x-channel-by-channel li { 52 list-style-image: none; 53 list-style-position: inside; 54 padding: 5px 5px 5px 10px; 55 background-position: 0% 50%; 56 background-repeat: no-repeat; 57 font-weight: bold; 58 } 59 60 .x-channel-by-channel a { 61 display: inline; 62 text-align: center; 63 } 64 65 .x-channel-by-channel .previous { 66 color: grey; 67 font-weight: normal; 68 } 69 70 .x-channel-by-channel .ongoing { 71 color: orange; 72 } 73 74 .x-channel-by-channel .starttime { 75 float: left 76 } 77 78 .x-channel-by-channel .title { 79 display: block; 80 margin-left: 3.1em; 81 } 82 83 #list_head { 84 width: 80%; 85 margin: 1em auto; 86 } 87 88 89 #x_current_time { 90 font-size: 150%; 91 margin-top: .25em; 92 float: left; 93 } 94 95 #x-jumpto { 96 float: right; 97 } 98 #x-jumpto td { 99 padding: .35em 1em; 100 vertical-align: middle; 101 white-space: nowrap; 102 } 103 #x-jumpto td.x-jumpto { 104 font-size: 110%; 105 font-weight: bold; 106 107 } 108 #x-jumpto td.x-hour { 109 } 110 #x-jumpto td.x-hour select { 111 text-align: right; 112 } 113 #x-jumpto .x-day select { 114 text-align: center; 115 } 116 117 #x-jumpto a img { 118 vertical-align: middle; 119 height: 16px; 120 width: 16px; 121 margin-top: -2px; 122 } 123 #x-jumpto a { 124 height: 20px; 125 width: 20px; 126 padding: 2px; 127 } -
skins/haze_light/tv_list.css
1 /* 2 * 3 * Styles used in /tv/list 4 * 5 /*/ 6 7 .right_arrow { 8 float: right; 9 } 10 .left_arrow { 11 float: left; 12 } 13 14 .x-channel { 15 width: 8em; 16 padding: 0 !important; 17 vertical-align: middle; 18 white-space: nowrap; 19 } 20 .x-channel img, 21 .x-channel-by-channel img { 22 position: relative; 23 top: -4px; 24 vertical-align: middle; 25 max-height: 4em; 26 } 27 .x-channel a { 28 display: block; 29 text-align: center; 30 padding: 5px; 31 } 32 .x-channel .x-preferred { 33 margin-left: 5px; 34 font-size: 200%; 35 } 36 37 .x-channel-by-channel { 38 width: 20em; 39 vertical-align: top; 40 } 41 42 .x-channel-by-channel table { 43 width: 100%; 44 } 45 46 .x-channel-by-channel ul { 47 list-style: none; 48 padding: 5px; 49 } 50 51 .x-channel-by-channel li { 52 list-style-image: none; 53 list-style-position: inside; 54 padding: 5px 5px 5px 10px; 55 background-position: 0% 50%; 56 background-repeat: no-repeat; 57 font-weight: bold; 58 } 59 60 .x-channel-by-channel a { 61 display: inline; 62 text-align: center; 63 } 64 65 .x-channel-by-channel .previous { 66 color: grey; 67 font-weight: normal; 68 } 69 70 .x-channel-by-channel .ongoing { 71 color: orange; 72 } 73 74 .x-channel-by-channel .starttime { 75 float: left 76 } 77 78 .x-channel-by-channel .title { 79 display: block; 80 margin-left: 3.1em; 81 } 82 83 #list_head { 84 width: 80%; 85 margin: 1em auto; 86 } 87 88 89 #x_current_time { 90 font-size: 150%; 91 margin-top: .25em; 92 float: left; 93 } 94 95 #x-jumpto { 96 float: right; 97 } 98 #x-jumpto td { 99 padding: .35em 1em; 100 vertical-align: middle; 101 white-space: nowrap; 102 } 103 #x-jumpto td.x-jumpto { 104 font-size: 110%; 105 font-weight: bold; 106 107 } 108 #x-jumpto td.x-hour { 109 } 110 #x-jumpto td.x-hour select { 111 text-align: right; 112 } 113 #x-jumpto .x-day select { 114 text-align: center; 115 } 116 117 #x-jumpto a img { 118 vertical-align: middle; 119 height: 16px; 120 width: 16px; 121 margin-top: -2px; 122 } 123 #x-jumpto a { 124 height: 20px; 125 width: 20px; 126 padding: 2px; 127 } -
modules/tv/set_session.php
29 29 $_SESSION['recorded_pixmaps'] = $_POST['recorded_pixmaps'] ? true : false; 30 30 if (isset($_POST['file_url_override'])) $_SESSION['file_url_override'] = trim(preg_replace('#^file://#', '', $_POST['file_url_override'])); 31 31 // Guide Settings 32 $_SESSION['guide_favonly'] = $_POST['guide_favonly'] ? true : false; 33 $_SESSION['timeslot_size'] = max(5, intVal($_POST['timeslot_size'])) * 60; 34 $_SESSION['num_time_slots'] = max(3, intVal($_POST['num_time_slots'])); 35 $_SESSION['timeslot_blocks'] = max(1, intVal($_POST['timeslot_blocks'])); 36 $_SESSION['timeslotbar_skip'] = max(1, intVal($_POST['timeslotbar_skip'])); 37 $_SESSION['max_stars'] = max(3, intVal($_POST['max_stars'])); 38 $_SESSION['star_character'] = $_POST['star_character']; 39 $_SESSION['recorded_paging'] = $_POST['recorded_paging']; 32 $_SESSION['guide_favonly'] = $_POST['guide_favonly'] ? true : false; 33 $_SESSION['guide_ch_by_ch_fmt'] = $_POST['guide_ch_by_ch_fmt'] ? true : false; 34 $_SESSION['guide_ch_by_ch_channels_per_row'] = max(2, intVal($_POST['guide_ch_by_ch_channels_per_row'])); 35 $_SESSION['timeslot_size'] = max(5, intVal($_POST['timeslot_size'])) * 60; 36 $_SESSION['num_time_slots'] = max(3, intVal($_POST['num_time_slots'])); 37 $_SESSION['timeslot_blocks'] = max(1, intVal($_POST['timeslot_blocks'])); 38 $_SESSION['timeslotbar_skip'] = max(1, intVal($_POST['timeslotbar_skip'])); 39 $_SESSION['max_stars'] = max(3, intVal($_POST['max_stars'])); 40 $_SESSION['star_character'] = $_POST['star_character']; 41 $_SESSION['recorded_paging'] = $_POST['recorded_paging']; 40 42 } -
modules/tv/list.php
32 32 $list_starttime -= $list_starttime % (timeslot_size * timeslot_blocks); 33 33 34 34 // Setup the time slots 35 $list_endtime = $list_starttime; 36 $Timeslots = array(); 37 for ($i = 0; $i < num_time_slots; $i++) { 38 $Timeslots[] = $list_endtime; 39 $list_endtime += timeslot_size; // skip to the next timeslot 35 if (!guide_ch_by_ch_fmt) { 36 $list_endtime = $list_starttime; 37 $Timeslots = array(); 38 for ($i = 0; $i < num_time_slots; $i++) { 39 $Timeslots[] = $list_endtime; 40 $list_endtime += timeslot_size; // skip to the next timeslot 41 } 40 42 } 43 // Show programs until 4 am the next day if channel by channel 44 else 45 $list_endtime = mktime(4, 0, 0, date("m", $list_starttime), date("d", $list_starttime)+1, date("Y", $list_starttime)); 41 46 42 47 // Set a session variable so other sections know how to get back to this particular page 43 48 $_SESSION['list_time'] = $list_starttime; … … 49 54 load_all_program_data($list_starttime, $list_endtime); 50 55 51 56 // Are we an ajax request? 52 if ($_REQUEST['ajax'] )57 if ($_REQUEST['ajax'] and !guide_ch_by_ch_fmt) 53 58 require_once tmpl_dir.'list_data.php'; 59 elseif ($_REQUEST['ajax'] and guide_ch_by_ch_fmt) 60 require_once tmpl_dir.'list_ch_by_ch.php'; 54 61 else 55 62 require_once tmpl_dir.'list.php'; 56 63 -
modules/tv/classes/Channel.php
77 77 $timeslots_left = theme_num_time_slots; 78 78 $timeslot_size = theme_timeslot_size; 79 79 } else { 80 $timeslots_left = num_time_slots;81 $timeslot_size = timeslot_size;80 $timeslots_left = guide_ch_by_ch_fmt ? 28 * 36 : num_time_slots; 81 $timeslot_size = guide_ch_by_ch_fmt ? 300 : timeslot_size; 82 82 } 83 83 84 84 foreach (array_keys($this->programs) as $key) { … … 103 103 if ($length >= 0.5) { 104 104 $timeslots_used = ceil($length); 105 105 require tmpl_dir.'list_cell_nodata.php'; 106 $start_time += $timeslots_used * timeslot_size;106 $start_time += $timeslots_used * $timeslot_size; 107 107 if ($timeslots_left < $timeslots_used) 108 108 $timeslots_used = $timeslots_left; 109 109 $timeslots_left -= $timeslots_used; -
modules/tv/tmpl/default/list_ch_by_ch.php
1 <?php 2 // UTF-8 content 3 @header("Content-Type: text/html; charset=utf-8"); 4 ?> 5 6 <div id="list_head" class="clearfix"> 7 <form class="form" id="program_listing" action="<?php echo root_url ?>tv/list" method="get"> 8 <div id="x_current_time"><?php 9 echo t('Currently Browsing: $1', strftime($_SESSION['date_statusbar'], $list_starttime)) 10 ?></div> 11 <table id="x-jumpto" class="commandbox commands" border="0" cellspacing="0" cellpadding="0"> 12 <tr> 13 <td class="x-jumpto"><?php echo t('Jump To') ?>:</td> 14 <td class="x-hour"><?php hour_select('id="hour_select" onchange="list_update($(\'hour_select\')[$(\'hour_select\').selectedIndex].value);"') ?></td> 15 <td class="x-day"> 16 <a class="link" onclick="list_update(<?php echo $list_starttime - (24 * 60 * 60); ?>);"> 17 <img src="<?php echo skin_url ?>img/left.gif" alt="<?php echo t('left'); ?>"> 18 </a> 19 <?php date_select('id="date_select" onchange="list_update($(\'date_select\')[$(\'date_select\').selectedIndex].value);"') ?> 20 <a class="link" onclick="list_update(<?php echo $list_starttime + (24 * 60 * 60); ?>);"> 21 <img src="<?php echo skin_url ?>img/right.gif" alt="<?php echo t('right'); ?>"> 22 </a> 23 </td> 24 </tr> 25 </table> 26 </form> 27 </div> 28 29 <div id="list_content"> 30 <center> 31 <table border="0" cellpadding="4" cellspacing="2" class="list small"> 32 <?php 33 $channel_count = 0; 34 $displayed_channels = array(); 35 36 // Go through each channel and load/print its info - use references to avoid "copy" overhead 37 foreach ($Callsigns as $chanid) { 38 $channel = $Channels[$chanid]; 39 // Ignore channels with no number 40 if (strlen($channel->channum) < 1) 41 continue; 42 // Ignore invisible channels 43 if ($channel->visible == 0) 44 continue; 45 // Skip already-displayed channels 46 if ($displayed_channels[$channel->channum][$channel->callsign]) 47 continue; 48 $displayed_channels[$channel->channum][$channel->callsign] = 1; 49 // Start on a new row? 50 if ($channel_count % $_SESSION['guide_ch_by_ch_channels_per_row'] == 0) { 51 echo '<tr>'; 52 } 53 // Count this channel 54 $channel_count++; 55 // Print the data 56 ?> 57 <td class="x-channel-by-channel"> 58 <table> 59 <tr><td> 60 <a href="<?php echo root ?>tv/channel/<?php echo $channel->chanid, '/', $list_starttime ?>" 61 title="<?php 62 echo t('Details for: $1', 63 html_entities($channel->name).'; '.$channel->channum) 64 ?>"> 65 <?php if ($_SESSION["show_channel_icons"] == true && !empty($channel->icon)) { ?> 66 <center><img src="<?php echo $channel->icon ?>" style="padding:5px;"> 67 <?php } ?> 68 <br> 69 <?php echo ($_SESSION["prefer_channum"] ? $channel->callsign : $channel->channum), "\n" ?></center> 70 </a> 71 </td></tr> 72 <?php 73 echo '<tr><td><ul>'; 74 // Let the channel object figure out how to display its programs 75 $channel->display_programs($list_starttime, $list_endtime); 76 echo '</ul></td></tr>'; 77 if ($channel_count % $_SESSION['guide_ch_by_ch_channels_per_row'] == 0) 78 echo '</tr>'; 79 ?> 80 </table> 81 </td> 82 <?php 83 } 84 ?> 85 </tr> 86 </table> 87 </center> 88 </div> -
modules/tv/tmpl/default/set_session.php
45 45 <th><?php echo t('Only display favourite channels') ?>:</th> 46 46 <td ><input class="radio" type="checkbox" title="In the program listing, only show channels marked as favourite channels" name="guide_favonly"<?php if ($_SESSION['guide_favonly']) echo ' CHECKED' ?>></td> 47 47 </tr><tr> 48 <th><?php echo t('Use \'channel-by-channel\' format') ?>:</th> 49 <td ><input class="radio" type="checkbox" title="In the program listing, show channels in a \'channel-by-channel\' format" name="guide_ch_by_ch_fmt"<?php if ($_SESSION['guide_ch_by_ch_fmt']) echo ' CHECKED' ?>></td> 50 </tr><tr> 51 <th><?php echo t('Number of channels per row in \'channel-by-channel\' format') ?>:</th> 52 <td><input type="text" size="5" name="guide_ch_by_ch_channels_per_row" value="<?php echo intVal($_SESSION['guide_ch_by_ch_channels_per_row']) ?>"></td> 53 </tr><tr> 48 54 <th><?php echo t('Max star rating for movies') ?>:</th> 49 55 <td><input type="text" size="5" name="max_stars" value="<?php echo intVal($_SESSION['max_stars']) ?>"></td> 50 56 </tr><tr> -
modules/tv/tmpl/default/list_cell_nodata.php
1 <?php if (!guide_ch_by_ch_fmt){ ?> 1 2 <td class="small tv_Unknown" colspan="<?php echo _or($timeslots_used,1); ?>" valign="top"><?php echo t('NO DATA') ?></td> 3 <?php } ?> -
modules/tv/tmpl/default/list_cell_program.php
4 4 $program_id_counter++; 5 5 // then, we just display the info 6 6 $percent = intVal($timeslots_used * 96 / num_time_slots); 7 ?> 8 <td class="small <?php echo $program->css_class; ?>" colspan="<?php echo $timeslots_used ?>" style="width: <?php echo $percent; ?>%" valign="top"><?php 7 8 $extra_class = ''; 9 if (guide_ch_by_ch_fmt) 10 { 11 if ($program->starttime < time() and $program->endtime >= time()) 12 $extra_class = 'ongoing'; 13 elseif ($program->starttime < time()) 14 $extra_class = 'previous'; 15 16 echo "<li class=\"small $program->css_class $extra_class\">"; 17 } 18 else 19 echo "<td class=\"small $program->css_class\" colspan=\"$timeslots_used)\" style=\"width: $percent%\" valign=\"top\">"; 20 9 21 // hdtv? 10 22 if ($program->hdtv && $percent > 5) 11 23 echo '<span class="hdtv_icon">HD</span>'; 12 24 // Start printing the link to record this show 25 if (guide_ch_by_ch_fmt) 26 echo "<div class=\"starttime\">" . strftime($_SESSION['time_format'], $program->starttime).':</div><div class="title">'; 27 13 28 echo '<a id = "program-'.$program->chanid.'-'.$program->starttime.'" 14 class = "program "29 class = "program '.$extra_class.'" 15 30 onmouseover = "currently_hovered_id = this.id; details_delay_timer_id = setTimeout(function () {load_tool_tip(\'program-'.$program->chanid.'-'.$program->starttime.'\',\''.$program->chanid.'\',\''.$program->starttime.'\');}, 250);" 16 31 onmouseout = "currently_hovered_id = null; clearTimeout( details_delay_timer_id ); details_delay_timer_id = null;" 17 32 href = "'.root_url.'tv/detail/'.$program->chanid.'/'.$program->starttime.'">'; 18 // Is this program 'Already in Progress'? 19 if ($program->starttime < $GLOBALS['list_starttime']) 20 echo '<img src="'.skin_url.'img/left_sm.png" class="left_arrow" alt="'.t('left').'">'; 21 // Does this program 'Continue'? 22 if ($program->endtime > $GLOBALS['list_endtime']) 23 echo '<img src="'.skin_url.'img/right_sm.png" class="right_arrow" alt="'.t('right').'">'; 24 if ($percent > 5) { 25 echo $program->title; 26 if (strlen($program->subtitle) > 0) { 27 if ($percent > 8) 28 echo ":<br>$program->subtitle"; 29 else 30 echo ': ...'; 33 34 if (!guide_ch_by_ch_fmt) { 35 // Is this program 'Already in Progress'? 36 if ($program->starttime < $GLOBALS['list_starttime']) 37 echo '<img src="'.skin_url.'img/left_sm.png" class="left_arrow" alt="'.t('left').'">'; 38 // Does this program 'Continue'? 39 if ($program->endtime > $GLOBALS['list_endtime']) 40 echo '<img src="'.skin_url.'img/right_sm.png" class="right_arrow" alt="'.t('right').'">'; 41 42 if ($percent > 5) { 43 echo $program->title; 44 if (strlen($program->subtitle) > 0) { 45 if ($percent > 8) 46 echo ":<br>$program->subtitle"; 47 else 48 echo ': ...'; 49 } 31 50 } 51 else 52 echo '...'; 32 53 } 33 else 34 echo '...'; 54 else { 55 echo $program->title; 56 if (strlen($program->subtitle) > 0) 57 echo ": $program->subtitle"; 58 } 59 35 60 // Finish off the link 36 61 echo '</a>'; 37 62 … … 61 86 if ($parens) 62 87 echo "<BR>($parens)"; 63 88 64 ?></td> 89 if (guide_ch_by_ch_fmt) 90 echo '</div></li>'; 91 else 92 echo '</td>'; 93 ?> -
modules/tv/tmpl/default/list.php
79 79 </script> 80 80 81 81 <div id="list_content"> 82 <?php require_once tmpl_dir.'list_data.php'; ?> 82 <?php 83 if (guide_ch_by_ch_fmt) 84 require_once tmpl_dir.'list_ch_by_ch.php'; 85 else 86 require_once tmpl_dir.'list_data.php'; 87 ?> 83 88 </div> 84 89 <?php 85 90 // Print the page footer -
modules/_shared/lang/English_GB.lang
450 450 "None" 451 451 "Not Listed" 452 452 "Notes" 453 "Number of channels per row in 'channel-by-channel' format" 453 454 "Number of episodes" 454 455 "Number of shows" 455 456 "Number of Songs" … … 824 825 "Upcoming Recordings" 825 826 "Update" 826 827 "Update Recording Settings" 828 "Use 'channel-by-channel' format" 827 829 "Use callsign" 828 830 "Use date/time" 829 831 "useonairguide" -
modules/_shared/lang/Spanish.lang
679 679 "Not Listed" 680 680 "Notes" 681 681 Notas 682 "Number of channels per row in 'channel-by-channel' format" 682 683 "Number of episodes" 683 684 Número de episodios 684 685 "Number of shows" … … 1145 1146 Actualizar 1146 1147 "Update Recording Settings" 1147 1148 Actualizar Ajustes Grabación 1149 "Use 'channel-by-channel' format" 1148 1150 "Use callsign" 1149 1151 Usar nombre canal 1150 1152 "Use date/time" -
modules/_shared/lang/Swedish.lang
796 796 "Not Listed" 797 797 "Notes" 798 798 Anteckningar 799 "Number of channels per row in 'channel-by-channel' format" 800 Antal kanaler per rad i tablÃ¥-format 799 801 "Number of episodes" 800 802 Antal avsnitt 801 803 "Number of shows" … … 1397 1399 Uppdatera 1398 1400 "Update Recording Settings" 1399 1401 Uppdatera inspelningsinstÀllningar 1402 "Use 'channel-by-channel' format" 1403 AnvÀnd tablÃ¥-format 1400 1404 "Use callsign" 1401 1405 AnvÀnd kanalnamn 1402 1406 "Use date/time" -
modules/_shared/lang/Dutch.lang
583 583 "Not Listed" 584 584 "Notes" 585 585 Opmerkingen 586 "Number of channels per row in 'channel-by-channel' format" 586 587 "Number of episodes" 587 588 "Number of shows" 588 589 "Number of Songs" … … 1031 1032 Aanpassen 1032 1033 "Update Recording Settings" 1033 1034 Opname-instellingen Vernieuwen 1035 "Use 'channel-by-channel' format" 1034 1036 "Use callsign" 1035 1037 Zender gebruiken 1036 1038 "Use date/time" -
modules/_shared/lang/Catalan.lang
607 607 "Not Listed" 608 608 "Notes" 609 609 Notes 610 "Number of channels per row in 'channel-by-channel' format" 610 611 "Number of episodes" 611 612 Nombre d'episodis 612 613 "Number of shows" … … 1075 1076 Actualitzar 1076 1077 "Update Recording Settings" 1077 1078 Actualitzar ajustos d'enregistrament 1079 "Use 'channel-by-channel' format" 1078 1080 "Use callsign" 1079 1081 Usar nom del canal 1080 1082 "Use date/time" -
modules/_shared/lang/French.lang
827 827 Non affiché 828 828 "Notes" 829 829 Notes 830 "Number of channels per row in 'channel-by-channel' format" 830 831 "Number of episodes" 831 832 Nombre d'épisodes 832 833 "Number of shows" … … 1462 1463 Rafraîchir 1463 1464 "Update Recording Settings" 1464 1465 Actualiser les paramÚtres d'enregistrement 1466 "Use 'channel-by-channel' format" 1465 1467 "Use callsign" 1466 1468 Utiliser l'indicatif 1467 1469 "Use date/time" -
modules/_shared/lang/Danish.lang
586 586 "Not Listed" 587 587 "Notes" 588 588 BemÊrkninger 589 "Number of channels per row in 'channel-by-channel' format" 589 590 "Number of episodes" 590 591 Antal episoder 591 592 "Number of shows" … … 1041 1042 Opdatér 1042 1043 "Update Recording Settings" 1043 1044 Opdatér optagelsesindstillinger 1045 "Use 'channel-by-channel' format" 1044 1046 "Use callsign" 1045 1047 Brug kaldenavn 1046 1048 "Use date/time" -
modules/_shared/lang/German.lang
770 770 Nicht im TV-Programm 771 771 "Notes" 772 772 Hinweise 773 "Number of channels per row in 'channel-by-channel' format" 773 774 "Number of episodes" 774 775 Anzahl Folgen 775 776 "Number of shows" … … 1356 1357 Aktualisieren 1357 1358 "Update Recording Settings" 1358 1359 Speichern 1360 "Use 'channel-by-channel' format" 1359 1361 "Use callsign" 1360 1362 Kurzname verwenden 1361 1363 "Use date/time" -
modules/_shared/lang/Japanese.lang
585 585 "Not Listed" 586 586 "Notes" 587 587 åè 588 "Number of channels per row in 'channel-by-channel' format" 588 589 "Number of episodes" 589 590 é²ç»æ° 590 591 "Number of shows" … … 1045 1046 æŽæ° 1046 1047 "Update Recording Settings" 1047 1048 é²ç»èšå®ãä¿å 1049 "Use 'channel-by-channel' format" 1048 1050 "Use callsign" 1049 1051 ã³ãŒã«ãµã€ã³ã䜿çšãã 1050 1052 "Use date/time" -
modules/_shared/lang/English.lang
445 445 "None" 446 446 "Not Listed" 447 447 "Notes" 448 "Number of channels per row in 'channel-by-channel' format" 448 449 "Number of episodes" 449 450 "Number of shows" 450 451 "Number of Songs" … … 817 818 "Upcoming Recordings" 818 819 "Update" 819 820 "Update Recording Settings" 821 "Use 'channel-by-channel' format" 820 822 "Use callsign" 821 823 "Use date/time" 822 824 "useonairguide" -
modules/_shared/lang/Czech.lang
484 484 ŜádnÃœ 485 485 "Not Listed" 486 486 "Notes" 487 "Number of channels per row in 'channel-by-channel' format" 487 488 "Number of episodes" 488 489 "Number of shows" 489 490 "Number of Songs" … … 867 868 NadcházejÃcà nahrávky 868 869 "Update" 869 870 "Update Recording Settings" 871 "Use 'channel-by-channel' format" 870 872 "Use callsign" 871 873 "Use date/time" 872 874 "useonairguide" -
modules/_shared/lang/Polish.lang
522 522 Brak 523 523 "Not Listed" 524 524 "Notes" 525 "Number of channels per row in 'channel-by-channel' format" 525 526 "Number of episodes" 526 527 "Number of shows" 527 528 "Number of Songs" … … 937 938 Uaktualnij 938 939 "Update Recording Settings" 939 940 Uaktualnij Ustawienia Nagrywania 941 "Use 'channel-by-channel' format" 940 942 "Use callsign" 941 943 UÅŒyj CALLSIGN? 942 944 "Use date/time" -
modules/_shared/lang/Slovenian.lang
758 758 "Not Listed" 759 759 "Notes" 760 760 Opombe 761 "Number of channels per row in 'channel-by-channel' format" 761 762 "Number of episodes" 762 763 Å tevilo epizod 763 764 "Number of shows" … … 1331 1332 Posodobi 1332 1333 "Update Recording Settings" 1333 1334 Posodobi snemalne nastavitve 1335 "Use 'channel-by-channel' format" 1334 1336 "Use callsign" 1335 1337 Uporabi kratico 1336 1338 "Use date/time" -
modules/_shared/lang/Finnish.lang
787 787 "Not Listed" 788 788 "Notes" 789 789 Viesti 790 "Number of channels per row in 'channel-by-channel' format" 790 791 "Number of episodes" 791 792 Jaksojen lukumÀÀrÀ 792 793 "Number of shows" … … 1379 1380 PÀivitÀ 1380 1381 "Update Recording Settings" 1381 1382 PÀivitÀ nauhoitusasetukset 1383 "Use 'channel-by-channel' format" 1382 1384 "Use callsign" 1383 1385 KÀytÀ lempinimeÀ 1384 1386 "Use date/time"