Index: playlist/station_playlist.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/playlist/station_playlist.module,v
retrieving revision 1.17
diff -u -p -r1.17 station_playlist.module
--- playlist/station_playlist.module	14 Dec 2008 19:11:13 -0000	1.17
+++ playlist/station_playlist.module	13 Jan 2009 04:59:49 -0000
@@ -128,21 +128,18 @@ function station_playlist_access($op, $n
 
   switch ($op) {
     case 'view':
-      return user_access('access content', $account);
-      break;
+      return TRUE;
 
     case 'create':
       return user_access('create playlists', $account);
-      break;
 
     case 'update':
     case 'delete':
       if (user_access('edit own playlists') && ($account->uid == $node->uid)) {
         return TRUE;
       }
-      break;
+      return FALSE;
   }
-  return FALSE;
 }
 
 /**
Index: program/station_program.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/program/station_program.module,v
retrieving revision 1.16
diff -u -p -r1.16 station_program.module
--- program/station_program.module	16 Dec 2008 10:44:41 -0000	1.16
+++ program/station_program.module	13 Jan 2009 04:59:49 -0000
@@ -66,27 +66,27 @@ function station_program_perm() {
  * Implementation of hook_access().
  */
 function station_program_access($op, $node, $account) {
+  if (user_access('administer programs', $account)) {
+    return TRUE;
+  }
+
   switch ($op) {
+    // Only users with 'administer programs' permissions can create or delete
+    // programs.
+
+    case 'view':
+      return TRUE;
+
     case 'update':
       if (user_access('edit program content', $account)) {
         return TRUE;
       }
-
       // Node owner and DJs can also edit the program.
       $djs = _station_schedule_program_load_djs($node->nid);
       if ($node->uid == $account->uid || isset($djs[$account->uid])) {
-        return user_access('edit own program content');
-      }
-      break;
-
-    case 'delete':
-    case 'create':
-    default:
-      // If the schedule is enabled, defer to that permision.
-      if (module_exists('station_schedule')) {
-        return user_access('administer schedule', $account);
+        return user_access('edit own program content', $account);
       }
-      return user_access('administer programs', $account);
+      return FALSE;
   }
 }
 
Index: schedule/station_schedule.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/schedule/station_schedule.module,v
retrieving revision 1.82
diff -u -p -r1.82 station_schedule.module
--- schedule/station_schedule.module	4 Jan 2009 12:03:15 -0000	1.82
+++ schedule/station_schedule.module	13 Jan 2009 04:59:49 -0000
@@ -229,6 +229,9 @@ function station_schedule_node_info() {
  */
 function station_schedule_access($op, $node, $account) {
   switch ($op) {
+    case 'view':
+      return TRUE;
+
     case 'update':
     case 'delete':
     case 'create':
