Ticket #2075: settings.patch

File settings.patch, 8.5 KB (added by jochen, 18 years ago)

settings.patch Ver. 1.0

  • modules/settings/init.php

     
    2121                                 'links'       => array('session'   => t('MythWeb session settings'),
    2222                                                        'mythweb'   => t('MythTV global defaults'),
    2323                                                        'channels'  => t('MythTV channel info'),
     24                                                        'chanlist'  => t('Sort Channels'),
    2425                                                        'keys'      => t('MythTV key bindings'),
    2526                                                        'settings'  => t('MythTV settings table'),
    2627                                                       ),
  • modules/settings/chanlist.php

     
     1<?php
     2/**
     3 * Configure MythTV Channels
     4 *
     5 * @url         $URL: http://svn.mythtv.org/svn/trunk/mythplugins/mythweb/modules/settings/channels.php $
     6 * @date        $Date: 2006-06-24 21:03:10 +0200 (Sa, 24 Jun 2006) $
     7 * @version     $Revision: 10290 $
     8 * @author      $Author: xris $
     9 * @license     GPL
     10 *
     11 * @package     MythWeb
     12 * @subpackage  Settings
     13 *
     14/**/
     15
     16// Save?
     17    if ($_POST['listhiddenchannels']) {
     18    // Parse the post variables and save each group of channel info
     19        $arrvis = explode("|",$_POST['listvisiblechannels']);
     20        $arrhid = explode("|",$_POST['listhiddenchannels']);
     21       
     22        $cnt = 0;
     23        for ($i=0;$i<sizeof($arrvis)-1;$i++)
     24        {
     25          $cnt++;
     26          $chanid = trim($arrvis[$i]);
     27 
     28            // Not deleting so grab values that can be empty
     29                $query = 'UPDATE channel SET channum       = ?,
     30                                             visible       = ?';
     31                $query_params[] = $cnt;
     32                $query_params[] = '1';
     33        // Submit the query
     34            $db->query($query.' WHERE chanid=?',
     35                       $query_params,
     36                       $chanid
     37                      );
     38            unset($query_params);
     39            //echo "chid: $chanid  &nbsp;&nbsp;&nbsp; nr: $cnt <br>";
     40        }
     41       
     42        for ($i=0;$i<sizeof($arrhid)-1;$i++)
     43        {
     44          $chanid = trim($arrhid[$i]);
     45            // Not deleting so grab values that can be empty
     46                $query = 'UPDATE channel SET visible = ?';
     47                $query_params[] = '0';
     48        // Submit the query
     49            $db->query($query.' WHERE chanid=?',
     50                       $query_params,
     51                       $chanid
     52                      );
     53            unset($query_params);
     54
     55
     56        }
     57    }
     58
     59// Load all of the channel data from the database
     60    $Channels = array();
     61    $sh = $db->query('SELECT * FROM channel WHERE visible = \'1\' ORDER BY CAST(channum AS SIGNED);');
     62    while ($row = $sh->fetch_assoc()) {
     63        $Channels[] = $row;
     64    }
     65    $sh->finish();
     66
     67    $ChannelsHidden = array();
     68    $sh = $db->query('SELECT * FROM channel WHERE visible = \'0\' ORDER BY CAST(channum AS SIGNED);');
     69    while ($row = $sh->fetch_assoc()) {
     70        $ChannelsHidden[] = $row;
     71    }
     72    $sh->finish();
     73
     74// Load the class for this page
     75    require_once tmpl_dir.'chanlist.php';
     76
     77// Exit
     78    exit;
     79
  • modules/settings/tmpl/default/chanlist.php

     
     1<?php
     2/**
     3 * Configure MythTV Channel info
     4 *
     5 * @url         $URL: http://svn.mythtv.org/svn/trunk/mythplugins/mythweb/modules/settings/tmpl/default/channels.php $
     6 * @date        $Date: 2006-06-24 21:03:10 +0200 (Sa, 24 Jun 2006) $
     7 * @version     $Revision: 10290 $
     8 * @author      $Author: xris $
     9 * @license     GPL
     10 *
     11 * @package     MythWeb
     12 * @subpackage  Settings
     13 *
     14/**/
     15
     16// Set the desired page title
     17    $page_title = 'MythWeb - '.t('Configure Channels');
     18
     19// Print the page header
     20    require 'modules/_shared/tmpl/'.tmpl.'/header.php';
     21
     22    echo t('Please be warned that by altering this table without knowing what you are doing, you could seriously disrupt mythtv functionality.');
     23?>
     24
     25<script>
     26function showidx()
     27{
     28  var selvis = document.getElementById("visiblechannels");
     29  var myidx = document.getElementById("myindex");
     30  var idx = selvis.selectedIndex;
     31 
     32  myidx.innerHTML = idx + 1;
     33
     34}
     35
     36function showchan()
     37{
     38  var selvis = document.getElementById("visiblechannels");
     39  var selhid = document.getElementById("hiddenchannels");
     40  var idx = selhid.selectedIndex;
     41 
     42  while (idx >= 0)
     43  {
     44   var newEintrag = document.createElement("option");
     45   newEintrag.text = selhid[idx].text;
     46   newEintrag.value = selhid[idx].value;
     47   selvis.add(newEintrag, null);
     48   selhid.remove(idx);
     49   idx = selhid.selectedIndex;
     50  }
     51  showidx();
     52}
     53
     54function hidechan()
     55{
     56  var selvis = document.getElementById("visiblechannels");
     57  var selhid = document.getElementById("hiddenchannels");
     58  var idx = selvis.selectedIndex;
     59 
     60  while (idx >= 0)
     61  {
     62   var newEintrag = document.createElement("option");
     63   newEintrag.text = selvis[idx].text;
     64   newEintrag.value = selvis[idx].value;
     65   selhid.add(newEintrag, null);
     66   selvis.remove(idx);
     67   idx = selvis.selectedIndex;
     68  }
     69
     70  showidx();
     71}
     72
     73function moveup()
     74{
     75  var selvis = document.getElementById("visiblechannels");
     76  var idx = selvis.selectedIndex;
     77 
     78  if (idx > 0)
     79  {
     80   var tmp
     81   tmp = selvis[idx].text;
     82   selvis[idx].text = selvis[idx-1].text;
     83   selvis[idx-1].text = tmp;
     84   
     85   tmp = selvis[idx].value
     86   selvis[idx].value = selvis[idx-1].value;
     87   selvis[idx-1].value = tmp;
     88   
     89   selvis.selectedIndex = idx - 1;
     90  }
     91  showidx();
     92}
     93
     94function movedown()
     95{
     96  var selvis = document.getElementById("visiblechannels");
     97  var idx = selvis.selectedIndex;
     98  var max = selvis.length;
     99 
     100  if (idx >= 0 && idx < max - 1)
     101  {
     102   var tmp
     103   tmp = selvis[idx].text;
     104   selvis[idx].text = selvis[idx+1].text;
     105   selvis[idx+1].text = tmp;
     106   
     107   tmp = selvis[idx].value
     108   selvis[idx].value = selvis[idx+1].value;
     109   selvis[idx+1].value = tmp;
     110   
     111   selvis.selectedIndex = idx + 1;
     112  }
     113  showidx();
     114}
     115
     116function saveit()
     117{
     118  var selvis = document.getElementById("visiblechannels");
     119  var selhid = document.getElementById("hiddenchannels");
     120  var cntvis = selvis.length;
     121  var cnthid = selhid.length;
     122  var listvis = document.getElementById("listvisiblechannels");
     123  var listhid = document.getElementById("listhiddenchannels");
     124  var myform = document.getElementById("myform");
     125  var wrt = 0, lst = "";
     126 
     127  for(i=0;i<cntvis;i++)
     128  {
     129    wrt = selvis[i].value;
     130    lst = lst + wrt + "|";
     131  } 
     132  listvis.value = lst;
     133  lst = "";
     134  wrt = 0;
     135 
     136  for(i=0;i<cnthid;i++)
     137  {
     138    wrt = selhid[i].value;
     139    lst = lst + wrt + "|";
     140  } 
     141  listhid.value = lst;
     142 
     143  myform.submit();
     144}
     145
     146
     147
     148</script>
     149
     150
     151<form class="form" method="post" id="myform" action="<?php echo root ?>settings/chanlist">
     152<center>
     153
     154<table>
     155<tr>
     156<td>Visible Channels</td>
     157<td></td>
     158<td>Hidden Channels</td>
     159</tr>
     160
     161<tr>
     162<td>
     163<select multiple id=visiblechannels name=visiblechannels size=30 onclick="javascript:showidx()">
     164<?php
     165foreach ($Channels as $channel) {
     166?>
     167<option value="<?php echo $channel['chanid']; ?> "><?php echo $channel['name']; ?></option>
     168<?php
     169}
     170?>
     171</select>
     172</td>
     173<td>
     174<div id=myindex>0</div>
     175<br><br>
     176
     177<input type=button onclick="javascript:hidechan()" value="--&gt; hide channel"><br>
     178<input type=button onclick="javascript:showchan()" value="&lt;-- show channel"><br>
     179<br><br>
     180<input type=button onclick="javascript:moveup()" value="move up"><br>
     181<input type=button onclick="javascript:movedown()" value="move down"><br>
     182</td>
     183<td>
     184<select multiple id=hiddenchannels name=hiddenchannels size=30>
     185<?php
     186foreach ($ChannelsHidden as $channel) {
     187?>
     188<option value="<?php echo $channel['chanid']; ?> "><?php echo $channel['name']; ?></option>
     189<?php
     190}
     191?>
     192</select>
     193</td>
     194</tr>
     195</table>
     196
     197
     198<p align="center">
     199<input type="hidden" name="listvisiblechannels" id="listvisiblechannels" value="">
     200<input type="hidden" name="listhiddenchannels" id="listhiddenchannels" value="">
     201
     202<input type="button" onclick="javascript:saveit()" name="save" value="<?php echo t('Save') ?>">
     203</p>
     204
     205</form>
     206<?php
     207
     208// Print the page footer
     209    require 'modules/_shared/tmpl/'.tmpl.'/footer.php';
     210