Ticket #8383: set_channels.php

File set_channels.php, 4.5 KB (added by joliver@…, 15 years ago)

set_channels.php (whole file, no diff - sorry. lines 18-35 relevant)

Line 
1<?php
2/**
3 * Configure MythTV Channels
4 *
5 * @url $URL: http://svn.mythtv.org/svn/tags/release-0-23-rc2/mythplugins/mythweb/modules/tv/set_channels.php $
6 * @date $Date: 2009-09-11 22:15:43 -0700 (Fri, 11 Sep 2009) $
7 * @version $Revision: 21798 $
8 * @author $Author: kormoc $
9 * @license GPL
10 *
11 * @package MythWeb
12 * @subpackage Settings
13 *
14/**/
15
16// Save?
17 if ($_POST['save']) {
18 // Parse the post variables and save each group of channel info
19 foreach (array_keys($_POST) as $key) {
20 $query_params = array();
21 // First, delete any unwanted channels
22
23 if (preg_match('/^delete_(\\d+)$/', $key, $match)) {
24 list($match, $chanid) = $match;
25 $query = 'DELETE FROM channel';
26 }
27
28 // Figure out the chanid, or leave
29 elseif (!preg_match('/^channum_(\\d+)$/', $key, $match)) continue; // leave
30
31 else {
32 list($match, $chanid) = $match;
33
34 // Not deleting so grab values that can be empty
35 $query = 'UPDATE channel SET xmltvid = ?,
36 freqid = ?,
37 finetune = ?,
38 videofilters = ?,
39 brightness = ?,
40 contrast = ?,
41 colour = ?,
42 hue = ?,
43 recpriority = ?,
44 commmethod = ?,
45 useonairguide = ?,
46 visible = ?';
47 $query_params[] = $_POST['xmltvid_'.$chanid];
48 $query_params[] = $_POST['freqid_'.$chanid];
49 $query_params[] = $_POST['finetune_'.$chanid];
50 $query_params[] = $_POST['videofilters_'.$chanid];
51 $query_params[] = $_POST['brightness_'.$chanid];
52 $query_params[] = $_POST['contrast_'.$chanid];
53 $query_params[] = $_POST['colour_'.$chanid];
54 $query_params[] = $_POST['hue_'.$chanid];
55 $query_params[] = $_POST['recpriority_'.$chanid];
56 $query_params[] = empty($_POST['commfree_'.$chanid]) ? -1 : -2;
57 $query_params[] = empty($_POST['useonairguide_'.$chanid]) ? 0 : 1;
58 $query_params[] = empty($_POST['visible_'.$chanid]) ? 0 : 1;
59 // next, the fields that need to have a value, so we won't change them if they were emptied
60 if ($_POST['channum_'.$chanid]) {
61 $query .= ',channum=?';
62 $query_params[] = $_POST['channum_'.$chanid];
63 }
64 if ($_POST['callsign_'.$chanid]) {
65 $query .= ',callsign=?';
66 $query_params[] = $_POST['callsign_'.$chanid];
67 }
68 if ($_POST['name_'.$chanid]) {
69 $query .= ',name=?';
70 $query_params[] = $_POST['name_'.$chanid];
71 }
72 }
73 // Submit the query
74 $db->query($query.' WHERE chanid=?',
75 $query_params,
76 $chanid
77 );
78 }
79 // Do a reschedule to refresh scheduled recordings;
80 MythBackend::find()->rescheduleRecording();
81 }
82
83// Sortby
84 if ($_GET['sortby'])
85 $_SESSION['tv']['set']['chan_sort'] = $_GET['sortby'];
86 switch ($_SESSION['tv']['set']['chan_sort']) {
87 case 'callsign':
88 case 'name':
89 $sortby = $_SESSION['tv']['set']['chan_sort'];
90 break;
91 case 'channum':
92 case 'xmltvid':
93 case 'freqid':
94 $sortby = $_SESSION['tv']['set']['chan_sort'].' + 0, '.$_SESSION['tv']['set']['chan_sort'];
95 break;
96 case 'sourceid':
97 $sortby = $_SESSION['tv']['set']['chan_sort'].', channum';
98 break;
99 default:
100 $sortby = 'channum + 0, channum';
101 }
102
103// Load all of the channel data from the database
104 $Channels = array();
105 $sh = $db->query('SELECT * FROM channel ORDER BY '.$sortby);
106 while ($row = $sh->fetch_assoc()) {
107 $Channels[] = $row;
108 }
109 $sh->finish();
110
111// These settings affect all of mythtv
112 $Settings_Hosts = t('All Hosts');