Ticket #1626: playback_groups.patch

File playback_groups.patch, 29.5 KB (added by derek@…, 15 years ago)

patch to allow playback group modifications via MythWeb

Line 
1Index: includes/programs.php
2===================================================================
3--- includes/programs.php       (revision 9646)
4+++ includes/programs.php       (working copy)
5@@ -261,6 +261,7 @@
6     var $is_movie;
7 
8     var $timestretch;
9+    var $playgroup;
10 
11     var $credits = array();
12 
13@@ -333,7 +334,8 @@
14             $this->recpriority     = $data[36];
15             $this->airdate         = date('Y-m-d', $data[37]);
16             $this->hasairdate      = $data[38];
17-            $this->timestretch     = $data[39];
18+            $this->playgroup       = $data[39];
19+            $this->timestretch     = '';            # Not printed by ToStringList()
20             $this->recpriority2    = $data[40];
21         // Assign the program flags
22             $this->has_commflag = ($progflags & 0x01) ? true : false;    // FL_COMMFLAG  = 0x01
23Index: includes/recording_schedules.php
24===================================================================
25--- includes/recording_schedules.php    (revision 9646)
26+++ includes/recording_schedules.php    (working copy)
27@@ -143,6 +143,7 @@
28     var $findid;
29     var $transcoder;
30     var $parentid;
31+    var $playgroup;
32 
33     var $texttype;
34     var $channel;
35@@ -251,7 +252,7 @@
36     // Update the type, in case it changed
37         $this->type = $new_type;
38     // Update the record
39-        $result = mysql_query('REPLACE INTO record (recordid,type,chanid,starttime,startdate,endtime,enddate,search,title,subtitle,description,profile,recpriority,category,maxnewest,inactive,maxepisodes,autoexpire,startoffset,endoffset,recgroup,dupmethod,dupin,station,seriesid,programid,autocommflag,findday,findtime,findid,autotranscode,transcoder,parentid,tsdefault,autouserjob1,autouserjob2,autouserjob3,autouserjob4) values ('
40+        $result = mysql_query('REPLACE INTO record (recordid,type,chanid,starttime,startdate,endtime,enddate,search,title,subtitle,description,profile,recpriority,category,maxnewest,inactive,maxepisodes,autoexpire,startoffset,endoffset,recgroup,dupmethod,dupin,station,seriesid,programid,autocommflag,findday,findtime,findid,autotranscode,transcoder,parentid,tsdefault,autouserjob1,autouserjob2,autouserjob3,autouserjob4,playgroup) values ('
41                                 .escape($this->recordid, true)             .','
42                                 .escape($this->type)                       .','
43                                 .escape($this->chanid)                     .','
44@@ -289,7 +290,8 @@
45                                 .escape($this->autouserjob1)               .','
46                                 .escape($this->autouserjob2)               .','
47                                 .escape($this->autouserjob3)               .','
48-                                .escape($this->autouserjob4)               .')')
49+                                .escape($this->autouserjob4)               .','
50+                               .escape($this->playgroup)                  .')')
51             or trigger_error('SQL Error: '.mysql_error(), FATAL);
52     // Get the id that was returned
53         $recordid = mysql_insert_id();
54@@ -512,4 +514,31 @@
55         echo '</select>';
56     }
57 
58+/**
59+ * prints a <select> of the various playback groups available
60+/**/
61+    function playgroup_select($this_playgroup, $name = 'playgroup', $js = '', $id = '')
62+    {
63+        static $playgroups = array();
64+        if(!sizeof($playgroups))
65+        {
66+            $res = mysql_query('SELECT name FROM playgroup');
67+            while($row = mysql_fetch_row($res))
68+                $playgroups[$row[0]] = $row[0];
69+            mysql_free_result($res);
70+        }
71 
72+        echo "<select name=\"$name\"";
73+        if(strlen($js))
74+           echo " onchange=\"$js\" id=\"playgroup_$id\" name=\"playgroup_$id\"";
75+        echo ">\n";
76+        foreach($playgroups as $playgroup)
77+        {
78+            echo "\t<option value=\"" . html_entities($playgroup) . '"';
79+            if($this_playgroup == $playgroup)
80+                echo ' SELECTED';
81+            echo '>' . html_entities($playgroup) . "</option>\n";
82+        }
83+        echo "</select>\n";
84+        return;
85+    }
86Index: includes/css.php
87===================================================================
88--- includes/css.php    (revision 9646)
89+++ includes/css.php    (working copy)
90@@ -31,14 +31,15 @@
91     // Scan the $Categories hash for any matches
92         else {
93             global $Categories;
94-            foreach ($Categories as $cat => $details) {
95-                if (!$details[1])
96-                    continue;
97-                if (preg_match('/'.$details[1].'/', $category)) {
98-                    $class[] = $cache[$category] = 'cat_'.$cat;
99-                    break;
100+            if(is_array($Categories))
101+                foreach ($Categories as $cat => $details) {
102+                    if (!$details[1])
103+                        continue;
104+                    if (preg_match('/'.$details[1].'/', $category)) {
105+                        $class[] = $cache[$category] = 'cat_'.$cat;
106+                        break;
107+                    }
108                 }
109-            }
110         }
111     // No category found?
112         if (!$cache[$category])
113Index: modules/settings/init.php
114===================================================================
115--- modules/settings/init.php   (revision 9646)
116+++ modules/settings/init.php   (working copy)
117@@ -23,5 +23,6 @@
118                                                         'channels'  => t('MythTV channel info'),
119                                                         'keys'      => t('MythTV key bindings'),
120                                                         'settings'  => t('MythTV settings table'),
121+                                                       'playgroup' => t('MythTV playback group editor')
122                                                        ),
123                                 );
124Index: modules/_shared/lang/English_GB.lang
125===================================================================
126--- modules/_shared/lang/English_GB.lang        (revision 9646)
127+++ modules/_shared/lang/English_GB.lang        (working copy)
128@@ -106,6 +106,7 @@
129 "Duplicates"
130 "Duration"
131 "Edit"
132+"Edit existing group"
133 "Edit keybindings on"
134 "Edit MythWeb and some MythTV settings."
135 "Edit settings for"
136@@ -182,6 +183,7 @@
137 "Listing &quot;Jump to&quot;"
138 "Listing Time Key"
139 "Listings"
140+"Load Group"
141 "Logs"
142 "Low"
143 "Manual"
144@@ -202,6 +204,7 @@
145 "MythTV channel info"
146 "MythTV global defaults"
147 "MythTV key bindings"
148+"MythTV playback group editor"
149 "MythTV settings table"
150 "MythTV Status"
151 "MythVideo Artwork Dir"
152@@ -244,6 +247,8 @@
153 "Past Year"
154 "People"
155 "People Search"
156+"Playback Group"
157+"Playback Group Editor"
158 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
159 "Please search for something."
160 "plot"
161@@ -414,6 +419,8 @@
162 "Showing all programs."
163     Showing all programmes.
164 "SI Units?"
165+"Skip Ahead"
166+"Skip Back"
167 "sourceid"
168 "Special Searches"
169 "Star character"
170@@ -434,10 +441,12 @@
171 "The requested recording schedule has been deleted."
172 "Thursday"
173 "Time"
174+"Time Stretch"
175 "Time Stretch Default"
176 "Timeslot size"
177 "title"
178 "Title"
179+"Title Match"
180 "Title Search"
181 "Today"
182 "Tomorrow"
183Index: modules/_shared/lang/French.lang
184===================================================================
185--- modules/_shared/lang/French.lang    (revision 9646)
186+++ modules/_shared/lang/French.lang    (working copy)
187@@ -161,6 +161,7 @@
188     Doublonner
189 "Duration"
190 "Edit"
191+"Edit existing group"
192 "Edit keybindings on"
193     Editer les touches sur
194 "Edit MythWeb and some MythTV settings."
195@@ -275,6 +276,7 @@
196     Lister Touches de temps
197 "Listings"
198     Liste
199+"Load Group"
200 "Logs"
201 "Low"
202     faible
203@@ -295,6 +297,7 @@
204 "MythTV channel info"
205 "MythTV global defaults"
206 "MythTV key bindings"
207+"MythTV playback group editor"
208 "MythTV settings table"
209 "MythTV Status"
210 "MythVideo Artwork Dir"
211@@ -347,6 +350,8 @@
212 "Past Year"
213 "People"
214 "People Search"
215+"Playback Group"
216+"Playback Group Editor"
217 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
218     Nous vous pr&eacute;venons que modifier les touches sans savoir ce que vous fa&icirc;tes peut s&eacute;rieusement endomager le fonctionnement de MythTV
219 "Please search for something."
220@@ -552,6 +557,8 @@
221 "Showing all programs."
222 "SI Units?"
223     Unités métriques?
224+"Skip Ahead"
225+"Skip Back"
226 "sourceid"
227 "Special Searches"
228 "Star character"
229@@ -584,12 +591,14 @@
230     Jeudi
231 "Time"
232     Heure
233+"Time Stretch"
234 "Time Stretch Default"
235 "Timeslot size"
236 "title"
237     Titre
238 "Title"
239     Titre
240+"Title Match"
241 "Title Search"
242 "Today"
243     Aujourd&acute;hui
244Index: modules/_shared/lang/Spanish.lang
245===================================================================
246--- modules/_shared/lang/Spanish.lang   (revision 9646)
247+++ modules/_shared/lang/Spanish.lang   (working copy)
248@@ -198,6 +198,7 @@
249     Duración
250 "Edit"
251     Editar
252+"Edit existing group"
253 "Edit keybindings on"
254     Editar Teclas en
255 "Edit MythWeb and some MythTV settings."
256@@ -332,6 +333,7 @@
257     Hora Listado
258 "Listings"
259     Listados
260+"Load Group"
261 "Logs"
262 "Low"
263     Bajo
264@@ -360,6 +362,7 @@
265 "MythTV global defaults"
266 "MythTV key bindings"
267     Vínculos Teclas MythTV
268+"MythTV playback group editor"
269 "MythTV settings table"
270 "MythTV Status"
271     Estado MythTV
272@@ -427,6 +430,8 @@
273     Gente
274 "People Search"
275     Búsqueda gente
276+"Playback Group"
277+"Playback Group Editor"
278 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
279     Tenga cuidado al alterar esta tabla sin saber lo que hace, puede romper el funcionamiento de MythTV
280 "Please search for something."
281@@ -654,6 +659,8 @@
282     Mostrando todos los programas
283 "SI Units?"
284     Â¿Unidades SI?
285+"Skip Ahead"
286+"Skip Back"
287 "sourceid"
288     id fuente
289 "Special Searches"
290@@ -692,6 +699,7 @@
291     Jueves
292 "Time"
293     Hora
294+"Time Stretch"
295 "Time Stretch Default"
296     Ajuste de tiempo por defecto
297 "Timeslot size"
298@@ -699,6 +707,7 @@
299     título
300 "Title"
301     Título
302+"Title Match"
303 "Title Search"
304     Buscar título
305 "Today"
306Index: modules/_shared/lang/Danish.lang
307===================================================================
308--- modules/_shared/lang/Danish.lang    (revision 9646)
309+++ modules/_shared/lang/Danish.lang    (working copy)
310@@ -179,6 +179,7 @@
311     Varighed
312 "Edit"
313     Ã†ndre
314+"Edit existing group"
315 "Edit keybindings on"
316     Rediger tastaturgenveje for
317 "Edit MythWeb and some MythTV settings."
318@@ -295,6 +296,7 @@
319     Programoversigt tid
320 "Listings"
321     Programoversigt
322+"Load Group"
323 "Logs"
324 "Low"
325     Lav
326@@ -318,6 +320,7 @@
327 "MythTV global defaults"
328 "MythTV key bindings"
329     MythTV taste indstillinger
330+"MythTV playback group editor"
331 "MythTV settings table"
332 "MythTV Status"
333 "MythVideo Artwork Dir"
334@@ -374,6 +377,8 @@
335 "Past Year"
336 "People"
337 "People Search"
338+"Playback Group"
339+"Playback Group Editor"
340 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
341     BemÊrk at ved at Êndre i denne tabel uden at vide hvad du laver, kan du ÞdelÊgge mythtvs funktioner.
342 "Please search for something."
343@@ -589,6 +594,8 @@
344 "Showing all programs."
345 "SI Units?"
346     SI enheder?
347+"Skip Ahead"
348+"Skip Back"
349 "sourceid"
350 "Special Searches"
351     Specielle sÞgninger
352@@ -624,6 +631,7 @@
353     Torsdag
354 "Time"
355     Tidspunkt
356+"Time Stretch"
357 "Time Stretch Default"
358     Standard Afspilnings hastighed
359 "Timeslot size"
360@@ -631,6 +639,7 @@
361     titel
362 "Title"
363     Titel
364+"Title Match"
365 "Title Search"
366 "Today"
367     I dag
368Index: modules/_shared/lang/Swedish.lang
369===================================================================
370--- modules/_shared/lang/Swedish.lang   (revision 9646)
371+++ modules/_shared/lang/Swedish.lang   (working copy)
372@@ -200,6 +200,7 @@
373     LÀngd
374 "Edit"
375     Redigera
376+"Edit existing group"
377 "Edit keybindings on"
378     Editera knappar pÃ¥
379 "Edit MythWeb and some MythTV settings."
380@@ -335,6 +336,7 @@
381     TV-tablÃ¥ tid
382 "Listings"
383     TV-tablÃ¥er
384+"Load Group"
385 "Logs"
386     Logg
387 "Low"
388@@ -364,6 +366,7 @@
389 "MythTV global defaults"
390 "MythTV key bindings"
391     MythTV tangentbindningar
392+"MythTV playback group editor"
393 "MythTV settings table"
394 "MythTV Status"
395     MythTV-status
396@@ -431,6 +434,8 @@
397     Person
398 "People Search"
399     Sök person
400+"Playback Group"
401+"Playback Group Editor"
402 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
403     OBS! Genom att Àndra dessa instÀllningar utan att veta vad du gör kan du allvarligt störa MythTVs funktionalitet.
404 "Please search for something."
405@@ -658,6 +663,8 @@
406     Visar alla program.
407 "SI Units?"
408     SI-enheter?
409+"Skip Ahead"
410+"Skip Back"
411 "sourceid"
412     kÀll-id
413 "Special Searches"
414@@ -696,6 +703,7 @@
415     Torsdag
416 "Time"
417     Tid
418+"Time Stretch"
419 "Time Stretch Default"
420     Förvalt tempo
421 "Timeslot size"
422@@ -703,6 +711,7 @@
423     titel
424 "Title"
425     Titel
426+"Title Match"
427 "Title Search"
428     Sök titel
429 "Today"
430Index: modules/_shared/lang/Dutch.lang
431===================================================================
432--- modules/_shared/lang/Dutch.lang     (revision 9646)
433+++ modules/_shared/lang/Dutch.lang     (working copy)
434@@ -200,6 +200,7 @@
435     Lengte
436 "Edit"
437     Bewerken
438+"Edit existing group"
439 "Edit keybindings on"
440     Toetsbindingen bewerken op
441 "Edit MythWeb and some MythTV settings."
442@@ -334,6 +335,7 @@
443     Weergave Tijd Gids
444 "Listings"
445     Programmagids
446+"Load Group"
447 "Logs"
448     Logboek
449 "Low"
450@@ -363,6 +365,7 @@
451 "MythTV global defaults"
452 "MythTV key bindings"
453     MythTV toetsbindingen
454+"MythTV playback group editor"
455 "MythTV settings table"
456 "MythTV Status"
457     MythTV status
458@@ -430,6 +433,8 @@
459     Personen
460 "People Search"
461     Personen zoeken
462+"Playback Group"
463+"Playback Group Editor"
464 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
465     Waarschuwing! Als u niet weet wat u doet, kan het veranderen van deze tabel de werking van MythTV ernstig verstoren.
466 "Please search for something."
467@@ -656,6 +661,8 @@
468     Alle programma's laten zien
469 "SI Units?"
470     SI eenheden?
471+"Skip Ahead"
472+"Skip Back"
473 "sourceid"
474     bron
475 "Special Searches"
476@@ -694,6 +701,7 @@
477     Donderdag
478 "Time"
479     Tijd
480+"Time Stretch"
481 "Time Stretch Default"
482     TimeStretch Standaard
483 "Timeslot size"
484@@ -701,6 +709,7 @@
485     titel
486 "Title"
487     Titel
488+"Title Match"
489 "Title Search"
490     Titel zoeken
491 "Today"
492Index: modules/_shared/lang/German.lang
493===================================================================
494--- modules/_shared/lang/German.lang    (revision 9646)
495+++ modules/_shared/lang/German.lang    (working copy)
496@@ -200,6 +200,7 @@
497     Dauer
498 "Edit"
499     Bearbeiten
500+"Edit existing group"
501 "Edit keybindings on"
502     Tastaturbelegung Àndern fÃŒr
503 "Edit MythWeb and some MythTV settings."
504@@ -332,6 +333,7 @@
505 "Listing Time Key"
506 "Listings"
507     TV Programm
508+"Load Group"
509 "Logs"
510     Logs
511 "Low"
512@@ -361,6 +363,7 @@
513 "MythTV global defaults"
514 "MythTV key bindings"
515     MythTV Tastaturbelegung
516+"MythTV playback group editor"
517 "MythTV settings table"
518 "MythTV Status"
519     MythTV Status
520@@ -427,6 +430,8 @@
521     Leute
522 "People Search"
523     Suche nach Darsteller
524+"Playback Group"
525+"Playback Group Editor"
526 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
527     Achtung! Falls diese Tabelle ohne das nötige Hintergrundwissen verÀndert wird, könnte MythTVs FunktionalitÀt nachhaltig gestört werden.
528 "Please search for something."
529@@ -654,6 +659,8 @@
530     Zeige alle Sendungen.
531 "SI Units?"
532     SI Einheiten?
533+"Skip Ahead"
534+"Skip Back"
535 "sourceid"
536     Source ID
537 "Special Searches"
538@@ -690,6 +697,7 @@
539     Donnerstag
540 "Time"
541     Zeit
542+"Time Stretch"
543 "Time Stretch Default"
544     Zeitraffer Vorgabewert
545 "Timeslot size"
546@@ -697,6 +705,7 @@
547     Titel
548 "Title"
549     Titel
550+"Title Match"
551 "Title Search"
552     Titel Suche
553 "Today"
554Index: modules/_shared/lang/Japanese.lang
555===================================================================
556--- modules/_shared/lang/Japanese.lang  (revision 9646)
557+++ modules/_shared/lang/Japanese.lang  (working copy)
558@@ -185,6 +185,7 @@
559     æ™‚é–“
560 "Edit"
561     ç·šé›†
562+"Edit existing group"
563 "Edit keybindings on"
564     ã‚­ãƒŒãƒã‚€ãƒ³ãƒ‰ç·šé›†å¯Ÿè±¡
565 "Edit MythWeb and some MythTV settings."
566@@ -312,6 +313,7 @@
567     äž€èŠ§ タむムキヌ
568 "Listings"
569     ç•ªçµ„è¡š
570+"Load Group"
571 "Logs"
572     ãƒ­ã‚°
573 "Low"
574@@ -337,6 +339,7 @@
575 "MythTV global defaults"
576 "MythTV key bindings"
577     MythTVキヌバむンド
578+"MythTV playback group editor"
579 "MythTV settings table"
580 "MythTV Status"
581     MythTVステヌタス
582@@ -399,6 +402,8 @@
583     ãƒ”ヌプル
584 "People Search"
585     ãƒ”ヌプルサヌチ
586+"Playback Group"
587+"Playback Group Editor"
588 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
589     èš­å®šé …目の意味がわからないずきは倉曎しないでください。MythTVが正垞に動䜜しなくなりたす。
590 "Please search for something."
591@@ -623,6 +628,8 @@
592     ã™ã¹ãŠã®ç•ªçµ„を衚瀺
593 "SI Units?"
594     SI単䜍を䜿甚する
595+"Skip Ahead"
596+"Skip Back"
597 "sourceid"
598 "Special Searches"
599     ã‚¹ãƒšã‚·ãƒ£ãƒ«æ€œçŽ¢
600@@ -659,6 +666,7 @@
601     æœšæ›œæ—¥
602 "Time"
603     æ”Ÿé€æ™‚é–“
604+"Time Stretch"
605 "Time Stretch Default"
606     ã‚¿ã‚€ãƒ ã‚¹ãƒˆãƒ¬ãƒƒãƒèš­å®š
607 "Timeslot size"
608@@ -666,6 +674,7 @@
609     ã‚¿ã‚€ãƒˆãƒ«
610 "Title"
611     ã‚¿ã‚€ãƒˆãƒ«
612+"Title Match"
613 "Title Search"
614     ã‚¿ã‚€ãƒˆãƒ«ã‚µãƒŒãƒ
615 "Today"
616Index: modules/_shared/lang/English.lang
617===================================================================
618--- modules/_shared/lang/English.lang   (revision 9646)
619+++ modules/_shared/lang/English.lang   (working copy)
620@@ -102,6 +102,7 @@
621 "Duplicates"
622 "Duration"
623 "Edit"
624+"Edit existing group"
625 "Edit keybindings on"
626 "Edit MythWeb and some MythTV settings."
627 "Edit settings for"
628@@ -177,6 +178,7 @@
629 "Listing &quot;Jump to&quot;"
630 "Listing Time Key"
631 "Listings"
632+"Load Group"
633 "Logs"
634 "Low"
635 "Manual"
636@@ -194,6 +196,7 @@
637 "MythTV channel info"
638 "MythTV global defaults"
639 "MythTV key bindings"
640+"MythTV playback group editor"
641 "MythTV settings table"
642 "MythTV Status"
643 "MythVideo Artwork Dir"
644@@ -234,6 +237,8 @@
645 "Past Year"
646 "People"
647 "People Search"
648+"Playback Group"
649+"Playback Group Editor"
650 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
651 "Please search for something."
652 "plot"
653@@ -402,6 +407,8 @@
654 "Showing all programs from the $1 group."
655 "Showing all programs."
656 "SI Units?"
657+"Skip Ahead"
658+"Skip Back"
659 "sourceid"
660 "Special Searches"
661 "Star character"
662@@ -422,10 +429,12 @@
663 "The requested recording schedule has been deleted."
664 "Thursday"
665 "Time"
666+"Time Stretch"
667 "Time Stretch Default"
668 "Timeslot size"
669 "title"
670 "Title"
671+"Title Match"
672 "Title Search"
673 "Today"
674 "Tomorrow"
675Index: modules/_shared/lang/Czech.lang
676===================================================================
677--- modules/_shared/lang/Czech.lang     (revision 9646)
678+++ modules/_shared/lang/Czech.lang     (working copy)
679@@ -135,6 +135,7 @@
680 "Duplicates"
681 "Duration"
682 "Edit"
683+"Edit existing group"
684 "Edit keybindings on"
685 "Edit MythWeb and some MythTV settings."
686 "Edit settings for"
687@@ -224,6 +225,7 @@
688 "Listing Time Key"
689 "Listings"
690     VÃœpisy
691+"Load Group"
692 "Logs"
693 "Low"
694 "Manual"
695@@ -245,6 +247,7 @@
696 "MythTV channel info"
697 "MythTV global defaults"
698 "MythTV key bindings"
699+"MythTV playback group editor"
700 "MythTV settings table"
701 "MythTV Status"
702 "MythVideo Artwork Dir"
703@@ -295,6 +298,8 @@
704 "Past Year"
705 "People"
706 "People Search"
707+"Playback Group"
708+"Playback Group Editor"
709 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
710 "Please search for something."
711 "plot"
712@@ -474,6 +479,8 @@
713 "Showing all programs from the $1 group."
714 "Showing all programs."
715 "SI Units?"
716+"Skip Ahead"
717+"Skip Back"
718 "sourceid"
719 "Special Searches"
720 "Star character"
721@@ -499,12 +506,14 @@
722 "Thursday"
723     ÄŒtvrtek
724 "Time"
725+"Time Stretch"
726 "Time Stretch Default"
727 "Timeslot size"
728 "title"
729     název
730 "Title"
731     Název
732+"Title Match"
733 "Title Search"
734 "Today"
735     Dnes
736Index: modules/_shared/lang/Finnish.lang
737===================================================================
738--- modules/_shared/lang/Finnish.lang   (revision 9646)
739+++ modules/_shared/lang/Finnish.lang   (working copy)
740@@ -197,6 +197,7 @@
741     Kesto
742 "Edit"
743     Muokkaa
744+"Edit existing group"
745 "Edit keybindings on"
746     Muokkaa nÀppÀinkomentoja
747 "Edit MythWeb and some MythTV settings."
748@@ -326,6 +327,7 @@
749     Listauksen AikanÀppÀin
750 "Listings"
751     Listaus
752+"Load Group"
753 "Logs"
754     Lokit
755 "Low"
756@@ -351,6 +353,7 @@
757 "MythTV global defaults"
758 "MythTV key bindings"
759     MythTV komennot
760+"MythTV playback group editor"
761 "MythTV settings table"
762 "MythTV Status"
763     MythTV Tila
764@@ -414,6 +417,8 @@
765 "People"
766 "People Search"
767     Haku NimellÀ
768+"Playback Group"
769+"Playback Group Editor"
770 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
771     Varoitus: NÀiden asetusten muokkaus voi haitata MythTV:n toimintaa.
772 "Please search for something."
773@@ -638,6 +643,8 @@
774     NÀytetÀÀn kaikki ohjelmat.
775 "SI Units?"
776     SI-yksiköt
777+"Skip Ahead"
778+"Skip Back"
779 "sourceid"
780 "Special Searches"
781     Edistynyt Haku
782@@ -675,6 +682,7 @@
783     Torstai
784 "Time"
785     Aika
786+"Time Stretch"
787 "Time Stretch Default"
788     Ajan SÀÀdön Oletus
789 "Timeslot size"
790@@ -682,6 +690,7 @@
791     Nimike
792 "Title"
793     Nimike
794+"Title Match"
795 "Title Search"
796     Haku NimikkeellÀ
797 "Today"
798Index: modules/_shared/lang/Slovenian.lang
799===================================================================
800--- modules/_shared/lang/Slovenian.lang (revision 9646)
801+++ modules/_shared/lang/Slovenian.lang (working copy)
802@@ -156,6 +156,7 @@
803     Duplikati
804 "Duration"
805 "Edit"
806+"Edit existing group"
807 "Edit keybindings on"
808     Zamenjaj bliÅŸnjico za
809 "Edit MythWeb and some MythTV settings."
810@@ -269,6 +270,7 @@
811     Seznam
812 "Listings"
813     Seznam
814+"Load Group"
815 "Logs"
816 "Low"
817     Nizka
818@@ -289,6 +291,7 @@
819 "MythTV channel info"
820 "MythTV global defaults"
821 "MythTV key bindings"
822+"MythTV playback group editor"
823 "MythTV settings table"
824 "MythTV Status"
825 "MythVideo Artwork Dir"
826@@ -341,6 +344,8 @@
827 "Past Year"
828 "People"
829 "People Search"
830+"Playback Group"
831+"Playback Group Editor"
832 "Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality."
833 "Please search for something."
834     Prosim poiščite kaj
835@@ -544,6 +549,8 @@
836 "Showing all programs."
837 "SI Units?"
838     SI enote
839+"Skip Ahead"
840+"Skip Back"
841 "sourceid"
842 "Special Searches"
843 "Star character"
844@@ -576,12 +583,14 @@
845     ÄŒetrtek
846 "Time"
847     ÄŒas
848+"Time Stretch"
849 "Time Stretch Default"
850 "Timeslot size"
851 "title"
852     Naslov
853 "Title"
854     Naslov
855+"Title Match"
856 "Title Search"
857 "Today"
858     Danes
859Index: modules/tv/schedules_custom.php
860===================================================================
861--- modules/tv/schedules_custom.php     (revision 9646)
862+++ modules/tv/schedules_custom.php     (working copy)
863@@ -100,6 +100,7 @@
864             $schedule->findday       = $_POST['findday'];
865             $schedule->autotranscode = $_POST['autotranscode'] ? 1 : 0;
866             $schedule->transcoder    = $_POST['transcoder'];
867+            $schedule->playgroup     = $_POST['playgroup'];
868         // Parse the findtime
869             $schedule->findtime      = trim($_POST['findtime']);
870             if ($schedule->findtime) {
871Index: modules/tv/schedules_manual.php
872===================================================================
873--- modules/tv/schedules_manual.php     (revision 9646)
874+++ modules/tv/schedules_manual.php     (working copy)
875@@ -87,6 +87,7 @@
876             $schedule->findtime    = date('H:m:s', $schedule->starttime);
877             $schedule->autotranscode = $_POST['autotranscode'] ? 1 : 0;
878             $schedule->transcoder  = $_POST['transcoder'];
879+            $schedule->playgroup   = $_POST['playgroup'];
880         // Figure out the title
881             $channel = $Channels[$_POST['channel']];
882             if (strcasecmp($_POST['title'], t('Use callsign')) == 0) {
883Index: modules/tv/detail.php
884===================================================================
885--- modules/tv/detail.php       (revision 9646)
886+++ modules/tv/detail.php       (working copy)
887@@ -132,6 +132,7 @@
888             $schedule->endoffset     = intval($_POST['endoffset']);
889             $schedule->autotranscode = $_POST['autotranscode'] ? 1 : 0;
890             $schedule->transcoder    = $_POST['transcoder'];
891+            $schedule->playgroup     = $_POST['playgroup'];
892             $schedule->tsdefault     = $_POST['timestretch'];
893         // Keep track of the parent recording for overrides
894             if ($_POST['record'] == rectype_override) {
895Index: modules/tv/tmpl/default/schedules_custom.php
896===================================================================
897--- modules/tv/tmpl/default/schedules_custom.php        (revision 9646)
898+++ modules/tv/tmpl/default/schedules_custom.php        (working copy)
899@@ -160,6 +160,8 @@
900                         echo ">$i</option>";
901                     }
902                     ?></select></dd>
903+                <dt><?php echo t('Playback Group') ?>:</dt>
904+                <dd><?php playgroup_select($schedule->playgroup) ?></dd>
905                 <dt><?php echo t('Check for duplicates in') ?>:</dt>
906                 <dd><select name="dupin"><?php
907                         echo '<option value="1"';
908Index: modules/tv/tmpl/default/schedules_manual.php
909===================================================================
910--- modules/tv/tmpl/default/schedules_manual.php        (revision 9646)
911+++ modules/tv/tmpl/default/schedules_manual.php        (working copy)
912@@ -113,6 +113,8 @@
913                         echo ">$i</option>";
914                     }
915                     ?></select></dd>
916+                <dt><?php echo t('Playback Group') ?>:</dt>
917+                <dd><?php playgroup_select($schedule->playgroup) ?></dd>
918                 <dt><?php echo t('Check for duplicates in') ?>:</dt>
919                 <dd><select name="dupin"><?php
920                         echo '<option value="1"';
921Index: modules/tv/tmpl/default/detail.php
922===================================================================
923--- modules/tv/tmpl/default/detail.php  (revision 9646)
924+++ modules/tv/tmpl/default/detail.php  (working copy)
925@@ -371,6 +371,8 @@
926                         echo ">$i</option>";
927                     }
928                     ?></select></dd>
929+                <dt><?php echo t('Playback Group') ?>:</dt>
930+                <dd><?php playgroup_select($schedule->playgroup) ?></dd>
931                 <dt><?php echo t('Time Stretch Default') ?>:</dt>
932                 <dd>
933                     <select name="timestretch">
934Index: modules/tv/tmpl/default/recorded.php
935===================================================================
936--- modules/tv/tmpl/default/recorded.php        (revision 9646)
937+++ modules/tv/tmpl/default/recorded.php        (working copy)
938@@ -68,6 +68,14 @@
939                    +'&chanid='+file.chanid+'&starttime='+file.starttime);
940     }
941 
942+    function set_playgroup(id) {
943+        var file = files[id];
944+        var sel  = get_element('playgroup_' + file.chanid + '.' + file.starttime);
945+        submit_url('<?php echo root ?>tv/recorded?ajax&playgroup='+
946+                    sel.options[sel.selectedIndex].value+
947+                    '&chanid='+file.chanid+'&starttime='+file.starttime);
948+    }
949+
950     function confirm_delete(id, forget_old) {
951         var file = files[id];
952         if (confirm("<?php echo t('Are you sure you want to delete the following show?') ?>\n\n     "+file.title+": "+file.subtitle)) {
953@@ -325,6 +333,9 @@
954              name="autoexpire_<?php echo $show->chanid, '.', $show->recstartts ?>"
955              <?php if ($show->auto_expire) echo ' CHECKED' ?> onchange="set_autoexpire(<?php echo $row ?>)" />
956             </span>
957+        <span style="padding-right: 25px"><?php echo strtolower(t('Playback Group')) ?>:&nbsp;
958+            <?php playgroup_select($show->playgroup, 'playgroup', "set_playgroup($row)", $show->chanid . '.' . $show->recstartts) ?>
959+            </span>
960         <?php echo t('has bookmark') ?>:&nbsp;
961             <b><?php echo $show->bookmark ? t('Yes') : t('No') ?></b>
962         </td>
963Index: modules/tv/recorded.php
964===================================================================
965--- modules/tv/recorded.php     (revision 9646)
966+++ modules/tv/recorded.php     (working copy)
967@@ -58,18 +58,27 @@
968 
969 // Auto-expire
970     isset($_GET['autoexpire']) or $_GET['autoexpire'] = $_POST['autoexpire'];
971-    if (isset($_GET['autoexpire']) && $_GET['chanid'] && $_GET['starttime']) {
972+    if (isset($_GET['autoexpire']) && $_GET['chanid'] && $_GET['starttime'])
973         $sh = $db->query('UPDATE recorded
974                              SET autoexpire = ?
975                            WHERE chanid = ? AND starttime = FROM_UNIXTIME(?)',
976                          $_GET['autoexpire'] ? 1 : 0,
977                          $_GET['chanid'],
978                          $_GET['starttime']);
979+// Playback group edit
980+    isset($_GET['playgroup']) or $_GET['playgroup'] = $_POST['playgroup'];
981+    if(isset($_GET['playgroup']) && $_GET['chanid'] && $_GET['starttime'])
982+        $sh = $db->query('UPDATE recorded
983+                             SET playgroup = ?
984+                           WHERE chanid = ? AND starttime = FROM_UNIXTIME(?)',
985+                         $_GET['playgroup'],
986+                         $_GET['chanid'],
987+                         $_GET['starttime']);
988+
989     // Exit early if we're in AJAX mode.
990-        if (isset($_GET['ajax'])) {
991-            echo 'success';
992-            exit;
993-        }
994+    if (isset($_GET['ajax'])) {
995+        echo 'success';
996+        exit;
997     }
998     else {
999         /** @todo need some sort of handler here for the non-ajax stuff */