Index: includes/programs.php
===================================================================
RCS file: /var/lib/mythcvs/mythweb/includes/programs.php,v
retrieving revision 1.65
diff -u -r1.65 programs.php
--- includes/programs.php	6 Feb 2005 08:23:36 -0000	1.65
+++ includes/programs.php	21 Mar 2005 08:37:19 -0000
@@ -273,7 +273,7 @@
             #$endtime           = $data[12];  # Extracted a few lines earlier
             $this->hostname     = $data[16];
             #$this->sourceid    = $data[17];
-            #$this->cardid      = $data[18];
+            $this->cardid      = $data[18];
             #$this->inputid     = $data[19];
             $this->recpriority  = $data[20];
             $this->recstatus    = $data[21];
Index: themes/Default/programming.css
===================================================================
RCS file: /var/lib/mythcvs/mythweb/themes/Default/programming.css,v
retrieving revision 1.4
diff -u -r1.4 programming.css
--- themes/Default/programming.css	6 Feb 2005 08:23:36 -0000	1.4
+++ themes/Default/programming.css	21 Mar 2005 08:37:19 -0000
@@ -25,6 +25,24 @@
 .record_override_suppress { border: 2px dotted #D03060; }
 .record_override_record   { border: 2px solid  #00FF90; }
 
+/* There should be exactly one class in the next section corresponding to 
+    each possible value of RecStatus_Types as defined in 
+    includes/programs.php */
+.recording                { background-color: #00F000; }
+.willRecord               { background-color: #00F000; }
+.previousRecording        { background-color: #90B0A0; }
+.currentRecording         { background-color: #00F000; }
+.repeat                   { background-color: #90B0A0; }
+.earlierShowing           { background-color: #90B0A0; }
+.laterShowing             { background-color: #90B0A0; }
+.tooManyRecordings        { background-color: #60B0B0; }
+.cancelled                { background-color: #60B0B0; }
+.conflicting              { background-color: #FF0000; }
+.lowDiskSpace             { background-color: #60B0B0; }
+.tunerBusy                { background-color: #60B0B0; }
+.manualOverride           { background-color: #D03060; }
+.overlap                  { background-color: #FF0000; }
+
 .cat_Action         { background-color: #906020; }
 .cat_Adult          { background-color: #702020; }
 .cat_Animals        { background-color: #609060; }
Index: themes/Default/scheduled_recordings.php
===================================================================
RCS file: /var/lib/mythcvs/mythweb/themes/Default/scheduled_recordings.php,v
retrieving revision 1.43
diff -u -r1.43 scheduled_recordings.php
--- themes/Default/scheduled_recordings.php	1 Mar 2005 05:34:52 -0000	1.43
+++ themes/Default/scheduled_recordings.php	21 Mar 2005 08:37:19 -0000
@@ -1,6 +1,6 @@
 <?php
 /***                                                                        ***\
-    scheduled_recordings.php                 Last Updated: 2005.02.28 (xris)
+    scheduled_recordings.php                 Last Updated: 2005.02.08 (xris)
 
     This file defines a theme class for the scheduled recordings section.
     It must define one method.   documentation will be added someday.
@@ -67,51 +67,130 @@
     $prev_group = '';
     $cur_group  = '';
     foreach ($shows as $show) {
+    // Set the class to be used to display the recording status character
+        $rec_class = $show->recstatus;
+
     // Reset the command variable to a default URL
         $commands = array();
         $urlstr = 'chanid='.$show->chanid.'&starttime='.$show->starttime;
-    // Which class does this show fall into?
-        if ($show->recstatus == 'LowDiskSpace') {
-            $class = 'deactivated';
-            $commands[] = 'Not Enough Disk Space';
-        }
-        elseif ($show->recstatus == 'TunerBusy') {
-            $class = 'deactivated';
-            $commands[] = 'Tuner is busy';
-        }
-        if ($show->recstatus == 'PreviousRecording' || $show->recstatus == 'CurrentRecording') {
-            $class = 'duplicate';
-            $commands[] = '<a href="scheduled_recordings.php?record=yes&'.$urlstr.'">'.t('Record This').'</a>';
-            $commands[] = '<a href="scheduled_recordings.php?forget_old=yes&'.$urlstr.'">'.t('Forget Old').'</a>';
-        }
-        elseif ($show->recstatus == 'Conflict' || $show->recstatus == 'Overlap') {
-            $class   = 'conflict';
-            $commands[] = '<a href="scheduled_recordings.php?record=yes&'.$urlstr.'">'.t('Record This').'</a>';
-            $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'.$urlstr.'">'.t('Don\'t Record').'</a>';
-        }
-        elseif ($show->recstatus == 'WillRecord') {
-            $class   = 'scheduled';
-            $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'.$urlstr.'">'.t('Don\'t Record').'</a>';
-        // Offer to suppress any recordings that have enough info to do so.
-            if (preg_match('/\\S/', $show->title)
-                    && (preg_match('/\\S/', $show->programid.$show->subtitle.$show->description)))
-                $commands[] = '<a href="scheduled_recordings.php?never_record=yes&'.$urlstr.'">'.t('Never Record').'</a>';
-        }
-        elseif ($show->recstatus == 'ForceRecord') {
-            $class = 'scheduled';
-            $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'.$urlstr.'">'.t('Don\'t Record').'</a>';
-            $commands[] = '<a href="scheduled_recordings.php?default=yes&'.$urlstr.'">'.t('Default').'</a>';
-        }
-        elseif ($show->recstatus == 'ManualOverride' || $show->recstatus == 'Cancelled') {
-            $class   = 'deactivated';
-            $commands[] = '<a href="scheduled_recordings.php?record=yes&'.$urlstr.'">'.t('Activate').'</a>';
-            $commands[] = '<a href="scheduled_recordings.php?default=yes&'.$urlstr.'">'.t('Default').'</a>';
-        }
-        else {
-            $class   = 'deactivated';
-            $commands[] = '<a href="scheduled_recordings.php?record=yes&'.$urlstr.'">'.t('Activate').'</a>';
-            $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'.$urlstr.'">'.t('Don\'t Record').'</a>';
+        // Set the recording status character, class and any applicable
+        //  commands for each show
+        switch ($show->recstatus) {
+            case 'Recording':
+            case 'WillRecord':
+                $rec_char = $show->cardid;
+                $class   = 'scheduled';
+                $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'
+                              .$urlstr.'">'.t('Don\'t Record').'</a>';
+                // Offer to suppress any recordings that have enough info to
+                //  do so.
+                if (preg_match('/\\S/', $show->title) &&
+                    preg_match('/\\S/', $show->subtitle) &&
+                    preg_match('/\\S/', $show->description))
+                  $commands[] = '<a href="scheduled_recordings.php?'
+                                .'never_record=yes&'.$urlstr.'">'
+                                .t('Never Record').'</a>';
+                break;
+            case 'PreviousRecording':
+                $rec_char = "P";
+                $class = 'duplicate';
+                $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+                              .$urlstr.'">'.t('Record This').'</a>';
+                $commands[] = '<a href="scheduled_recordings.php?'
+                              .'forget_old=yes&'.$urlstr.'">'
+                              .t('Forget Old').'</a>';
+                break;
+            case 'CurrentRecording':
+                $rec_char = "R";
+                $class = 'duplicate';
+                $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+                              .$urlstr.'">'.t('Record This').'</a>';
+                $commands[] = '<a href="scheduled_recordings.php?'
+                              .'forget_old=yes&'.$urlstr.'">'
+                              .t('Forget Old').'</a>';
+                break;
+            case 'Repeat':
+                $rec_char = "r";
+                $class = 'duplicate';
+                break;
+            case 'EarlierShowing':
+                $rec_char = "E";
+                $class = 'deactivated';
+                break;
+            case 'TooManyRecordings':
+                $rec_char = "T";
+                $class = 'deactivated';
+                break;
+            case 'Cancelled':
+                $rec_char = "N";
+                $class = 'deactivated';
+                $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+                              .$urlstr.'">'.t('Activate').'</a>';
+                $commands[] = '<a href="scheduled_recordings.php?default=yes&'
+                              .$urlstr.'">'.t('Default').'</a>';
+                break;
+            case 'Conflict':
+                $rec_char = "C";
+                // We normally use the recstatus value as the name of the class
+                //  used when displaying the recording status character.
+                // However, there is already a class named 'conflict' so we
+                //  need to modify this specific recstatus to avoid a conflict.
+                $rec_class = "conflicting";
+                $class   = 'conflict';
+                $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+                              .$urlstr.'">'.t('Record This').'</a>';
+                $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'
+                              .$urlstr.'">'.t('Don\'t Record').'</a>';
+                break;
+            case 'LaterShowing':
+                $rec_char = "L";
+                $class = 'deactivated';
+                break;
+            case 'LowDiskSpace':
+                $rec_char = "K";
+                $class = 'deactivated';
+                $commands[] = 'Not Enough Disk Space';
+                break;
+            case 'TunerBusy':
+                $rec_char = "B";
+                $class = 'deactivated';
+                $commands[] = 'Tuner is busy';
+                break;
+            case 'Overlap':
+                $rec_char = "X";
+                $class = 'conflict';
+                $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+                              .$urlstr.'">'.t('Record This').'</a>';
+                $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'
+                              .$urlstr.'">'.t('Don\'t Record').'</a>';
+                break;
+            case 'ManualOverride':
+                $rec_char = "X";
+                $class   = 'deactivated';
+                $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+                              .$urlstr.'">'.t('Activate').'</a>';
+                $commands[] = '<a href="scheduled_recordings.php?default=yes&'
+                              .$urlstr.'">'.t('Default').'</a>';
+                break;
+            case 'ForcedRecording':
+                $rec_char = "F";
+                $class = 'scheduled';
+                $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'
+                              .$urlstr.'">'.t('Don\'t Record').'</a>';
+                $commands[] = '<a href="scheduled_recordings.php?default=yes&'
+                              .$urlstr.'">'.t('Default').'</a>';
+                break;
+            default:
+                $rec_char = "&nbsp;";
+                $rec_class = "";
+                $class   = 'deactivated';
+                $commands[] = '<a href="scheduled_recordings.php?record=yes&'
+                              .$urlstr.'">'.t('Activate').'</a>';
+                $commands[] = '<a href="scheduled_recordings.php?dontrec=yes&'
+                              .$urlstr.'">'.t('Don\'t Record').'</a>';
+                break;
         }
+
     // A program id counter for popup info
         if (show_popup_info) {
             static $program_id_counter = 0;
@@ -134,7 +213,7 @@
 
     // Print the content
 ?><tr class="<?php echo $class?>">
-<?php if ($group_field != '') echo "<td class=\"list\">&nbsp;</td>\n"; ?>
+<?php if ($group_field != '') echo "<td class=\"".$rec_class."\">$rec_char</td>\n"; ?>
     <td class="<?php echo $show->class?>"><?php
     // Window status text, for the mouseover
         $wstatus = strftime($_SESSION['time_format'], $show->starttime).' - '.strftime($_SESSION['time_format'], $show->endtime).' -- '
