Bug#435911: vdradmin-am has broken support for tabbed browsers

Craig Sanders cas at taz.net.au
Sat Aug 4 03:21:08 UTC 2007


Package: vdradmin-am
Version: 3.5.3-3

vdradmin-am has some support for tabbed browsing, but it's broken. so
broken that it should just be scrapped and use plain HREF URLs rather
than javascript: URLs.


to reproduce an example of the problem:

1. click on "Channels" in sidebar.
2. click on the Blue "I" Circle ("Info" icon) next to one of the programs.
3. the program info will open in a new tab or window whether you want it to or
not.
4. switch to the tab, read the description, decide if you want to record the
program.

so far so good.  working as expected.

5. click on the Red Circle ("record" icon) in the program info tab.

here's where it's broken.  instead of bringing up the record form in the same
tab, it opens it back in the main tab (i.e. the tab displaying the channel
listing). 

it also closes the Info tab.

the URLs for the Record icon are like so:

javascript:void(opener.location.href='./vdradmin.pl?aktion=timer_new_form&epg_id=51695&vdr_id=5&referer=Li92ZHJhZG1pbi5wbD92ZHJfaWQ9NSZzdWJtaXQ9R28lMjEmYWt0aW9uPXByb2dfbGlzdCNpZDUxNjk1');window.close()


this is extremely annoying for two reasons:

a. you have to switch tabs to complete the recording
b. you have to wait for the channel listing to reload (which can take a long
time if you have several week's worth of programming info in VDR) after
you click on the "Save" button in the record form.




here's a suggestion: how about not using fancy javascript crap to open
and close windows/tabs. instead, assume that people are smart enough to
know how to use their browsers and middle-click on stuff they want in a
new tab - and are, <gasp!> actually capable of closing windows/tabs they
don't want any more all by themselves?

the javascript doesn't actually ADD anything.  it just makes it impossible
to use the features of a tabbed browser.  i.e. it's a NEGATIVE, not a
POSITIVE.  it detracts, not enhances.


patches enclosed:



--- epgsearch_list.html.orig	2006-12-08 22:21:10.000000000 +1100
+++ epgsearch_list.html	2007-08-04 13:11:45.280740000 +1000
@@ -238,7 +238,7 @@
 					<td class="col_center">
 						<div class="epg_title">
 							<?% IF infurl %?>
-								<a href="javascript:popup('<?% infurl %?>');" title="<?% gettext('More Information') %?>">
+								<a href="<?% infurl %?>" title="<?% gettext('More Information') %?>">
 							<?% END %?>
 							<?% title %?>
 							<?% IF infurl %?>





--- epgsearch_new.html.orig	2007-01-09 22:37:09.000000000 +1100
+++ epgsearch_new.html	2007-08-04 13:11:57.734852000 +1000
@@ -180,7 +180,7 @@
 							<td class="col_center">
 								<div class="epg_title">
 									<?% IF infurl %?>
-										<a href="javascript:popup('<?% infurl %?>');" title="<?% gettext('More Information') %?>">
+										<a href="<?% infurl %?>" title="<?% gettext('More Information') %?>">
 									<?% END %?>
 									<?% title %?>
 									<?% IF infurl %?>





--- prog_detail.html.orig	2006-09-01 20:40:35.000000000 +1000
+++ prog_detail.html	2007-08-04 13:13:58.288576000 +1000
@@ -34,7 +34,7 @@
 								<?% END %?>
 								<?% IF recurl %?>
 									<span class="action record">
-										<a href="javascript:void(opener.location.href='<?% recurl %?>');window.close()"><img src="bilder/rec_button.png" border="0" alt="<?% gettext('record') %?>" onmouseover="window.status='<?% gettext('record') %?>';return true" title="<?% gettext('record') %?>" /></a>
+										<a href="<?% recurl %?>"><img src="bilder/rec_button.png" border="0" alt="<?% gettext('record') %?>" onmouseover="window.status='<?% gettext('record') %?>';return true" title="<?% gettext('record') %?>" /></a>
 									</span>
 								<?% END %?>
 								<span class="action repeatings">





--- prog_list2.html.orig	2006-10-27 00:06:12.000000000 +1000
+++ prog_list2.html	2007-08-04 13:07:07.188900000 +1000
@@ -70,7 +70,7 @@
 					<td class="col_title">
 						<div class="epg_title">
 							<?% IF bc.infurl %?>
-								<a href="javascript:popup('<?% bc.infurl %?>');" title="<?% gettext('More Information') %?>">
+								<a href="<?% bc.infurl %?>" title="<?% gettext('More Information') %?>">
 							<?% END %?>
 							<?% bc.title %?>
 							<?% IF bc.infurl %?>
@@ -88,7 +88,7 @@
 					<td class="col_buttons">
 						<span class="action repeatings"><a href="vdradmin.pl?search=<?% bc.find_title %?>&amp;aktion=prog_summary&amp;submit=go11"><img src="bilder/find.png" border="0" alt="<?% gettext('Search for other show times') %?>" onmouseover="window.status='<?% gettext('Search for other show times') %?>';return true" title="<?% gettext('Search for other show times') %?>" /></a></span>
 						<?% IF bc.infurl %?>
-							<span class="action info"><a href="javascript:popup('<?% bc.infurl %?>');"><img src="bilder/info_button.png" border="0" title="<?% gettext('More Information') %?>" alt="info"/></a></span>
+							<span class="action info"><a href="<?% bc.infurl %?>"><img src="bilder/info_button.png" border="0" title="<?% gettext('More Information') %?>" alt="info"/></a></span>
 						<?% ELSE %?>
 							<span class="action info"><img src="bilder/info_button_disabled.png" border="0" title="<?% gettext('No Information') %?>" alt="noinfo"/></span>
 						<?% END %?>





--- prog_list.html.orig	2006-10-20 19:41:07.000000000 +1000
+++ prog_list.html	2007-08-04 13:05:51.015448000 +1000
@@ -64,7 +64,7 @@
 					<td class="col_title">
 						<div class="epg_title">
 						<?% IF bc.infurl %?>
-							<a href="javascript:popup('<?% bc.infurl %?>');" title="<?% gettext('More Information') %?>">
+							<a href="<?% bc.infurl %?>" title="<?% gettext('More Information') %?>">
 						<?% END %?>
 						<?% bc.title %?>
 						<?% IF bc.infurl %?>
@@ -80,7 +80,7 @@
 					<td class="col_buttons">
 						<span class="action repeatings"><a href="vdradmin.pl?search=<?% bc.find_title %?>&amp;aktion=prog_summary&amp;submit=go11"><img src="bilder/find.png" border="0" alt="<?% gettext('Search for other show times') %?>" onmouseover="window.status='<?% gettext('Search for other show times') %?>';return true" title="<?% gettext('Search for other show times') %?>" /></a></span>
 						<?% IF bc.infurl %?>
-							<span class="action info"><a href="javascript:popup('<?% bc.infurl %?>');" title="<?% gettext('More Information') %?>"><img src="bilder/info_button.png" border="0" alt="info" /></a></span>
+							<span class="action info"><a href="<?% bc.infurl %?>" title="<?% gettext('More Information') %?>"><img src="bilder/info_button.png" border="0" alt="info" /></a></span>
 						<?% ELSE %?>
 							<span class="action info"><img src="bilder/info_button_disabled.png" border="0" alt="noinfo" title="<?% gettext('No Information') %?>" /></span>
 						<?% END %?>





--- prog_summary2.html.orig	2006-10-20 19:41:07.000000000 +1000
+++ prog_summary2.html	2007-08-04 13:09:44.797006000 +1000
@@ -67,7 +67,7 @@
 				<td class="col_center">
 					<div class="epg_title">
 						<?% IF broadcast.summary %?>
-							<a href="javascript:popup('<?% broadcast.infurl %?>');" title="<?% gettext('More Information') %?>">
+							<a href="<?% broadcast.infurl %?>" title="<?% gettext('More Information') %?>">
 						<?% END %?>
 						<?% broadcast.title %?>
 						<?% IF broadcast.summary %?>
@@ -96,7 +96,7 @@
 						<?% END %?>
 						<span class="action repeatings"><a href="vdradmin.pl?search=<?% broadcast.find_title %?>&amp;aktion=prog_summary&amp;submit=go11"><img src="bilder/find.png" border="0" alt="<?% gettext('Search for other show times') %?>" onmouseover="window.status='<?% gettext('Search for other show times') %?>';return true" title="<?% gettext('Search for other show times') %?>" /></a></span>
 						<?% IF broadcast.summary %?>
-							<span class="action info"><a href="javascript:popup('<?% broadcast.infurl %?>');"><img src="bilder/info_button.png" border="0" alt="<?% gettext('More Information') %?>" onmouseover="window.status='<?% gettext('More Information') %?>';return true" title="<?% gettext('More Information') %?>" /></a></span>
+							<span class="action info"><a href="<?% broadcast.infurl %?>"><img src="bilder/info_button.png" border="0" alt="<?% gettext('More Information') %?>" onmouseover="window.status='<?% gettext('More Information') %?>';return true" title="<?% gettext('More Information') %?>" /></a></span>
 						<?% ELSE %?>
 							<span class="action info"><img src="bilder/info_button_disabled.png" border="0" alt="noinfo" title="<?% gettext('No Information') %?>" /></span>
 						<?% END %?>





--- prog_summary.html.orig	2006-10-20 19:41:07.000000000 +1000
+++ prog_summary.html	2007-08-04 13:08:41.536597000 +1000
@@ -79,7 +79,7 @@
 										</span>
 										<span class="action info">
 											<?% IF row.summary %?>
-												<a href="javascript:popup('<?% row.infurl %?>');"><img src="bilder/info_button.png" border="0" alt="<?% gettext('More Information') %?>" onmouseover="window.status='<?% gettext('More Information') %?>';return true" title="<?% gettext('More Information') %?>" /></a>
+												<a href="<?% row.infurl %?>"><img src="bilder/info_button.png" border="0" alt="<?% gettext('More Information') %?>" onmouseover="window.status='<?% gettext('More Information') %?>';return true" title="<?% gettext('More Information') %?>" /></a>
 											<?% ELSE %?>
 												<img src="bilder/info_button_disabled.png" border="0" alt="noinfo" title="<?% gettext('No Information') %?>" />
 											<?% END %?>
@@ -101,7 +101,7 @@
 									</div>
 									<div class="epg_title">
 										<?% IF row.summary %?>
-											<a href="javascript:popup('<?% row.infurl %?>');" title="<?% gettext('More Information') %?>" >
+											<a href="<?% row.infurl %?>" title="<?% gettext('More Information') %?>" >
 										<?% END %?>
 										<?% row.title %?>
 										<?% IF row.summary %?>





--- rec_list.html.orig	2007-01-07 22:55:27.000000000 +1100
+++ rec_list.html	2007-08-04 13:10:14.300533000 +1000
@@ -101,7 +101,7 @@
 						<?% IF rec.isfolder %?>
 							<a href="<?% rec.infurl %?>"><img align="middle" src="bilder/folder_video.png" border="0" alt="" />&nbsp;<?% rec.name %?></a>
 						<?% ELSE %?>
-							<a href="javascript:popup('<?% rec.infurl %?>');"><img align="middle" src="bilder/aktion.png" border="0" alt="" />&nbsp;<?% rec.name %?></a>
+							<a href="<?% rec.infurl %?>"><img align="middle" src="bilder/aktion.png" border="0" alt="" />&nbsp;<?% rec.name %?></a>
 						<?% END %?>
 					</td>
 					<td class="col_buttons">





--- timer_list.html.orig	2006-10-30 22:34:17.000000000 +1100
+++ timer_list.html	2007-08-04 13:12:10.219959000 +1000
@@ -302,7 +302,7 @@
 						<div <?% IF config.TM_TT_LIST %?>onmouseover="tip('VDR-<?% timer.id %?>'); return true;" onmouseout="untip(); return true;"<?% END %?>>
 							<?% IF timer.recording %?><img align="middle" src="bilder/rec.gif" border="0" alt="" />&nbsp;<?% END %?>
 							<?% IF timer.infurl %?>
-								<a href="javascript:popup('<?% timer.infurl %?>');"><?% timer.title %?></a>
+								<a href="<?% timer.infurl %?>"><?% timer.title %?></a>
 							<?% ELSE %?>
 								<?% timer.title %?>
 							<?% END %?>


craig

-- 
craig sanders <cas at taz.net.au>

I belong to no organized party.  I am a Democrat.
		-- Will Rogers




More information about the pkg-vdr-dvb-devel mailing list