? station_319125_1.patch
Index: playlist/station_playlist.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/playlist/station_playlist.module,v
retrieving revision 1.14
diff -u -p -r1.14 station_playlist.module
--- playlist/station_playlist.module	26 May 2008 21:28:34 -0000	1.14
+++ playlist/station_playlist.module	22 Apr 2009 18:38:49 -0000
@@ -140,21 +140,15 @@ function station_playlist_access($op, $n
 
   switch ($op) {
     case 'view':
-      return user_access('access content');
-      break;
+      return TRUE;
 
     case 'create':
       return user_access('create playlists');
-      break;
 
     case 'update':
     case 'delete':
-      if (user_access('edit own playlists') && ($user->uid == $node->uid)) {
-        return TRUE;
-      }
-      break;
+      return (user_access('edit own playlists') && ($user->uid == $node->uid));
   }
-  return FALSE;
 }
 
 /**
Index: program/station_program.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/program/station_program.module,v
retrieving revision 1.13
diff -u -p -r1.13 station_program.module
--- program/station_program.module	17 Aug 2008 22:57:18 -0000	1.13
+++ program/station_program.module	22 Apr 2009 18:38:49 -0000
@@ -89,8 +89,22 @@ function station_program_admin_settings(
 function station_program_access($op, $node) {
   global $user;
 
+  if (user_access('administer programs')) {
+    return TRUE;
+  }
+
   switch ($op) {
+    // Only users with 'administer programs' permissions can create or delete
+    // programs.
+
+    case 'view':
+      return TRUE;
+
     case 'update':
+      // If the schedule is enabled, defer to that permision.
+      if (module_exists('station_schedule') && user_access('administer schedule')) {
+        return TRUE;
+      }
       if (user_access('edit program content')) {
         return TRUE;
       }
@@ -100,16 +114,7 @@ function station_program_access($op, $no
       if ($node->uid == $user->uid || isset($djs[$user->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');
-      }
-      return user_access('administer programs');
+      return FALSE;
   }
 }
 
Index: schedule/station_schedule.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/station/schedule/station_schedule.module,v
retrieving revision 1.75
diff -u -p -r1.75 station_schedule.module
--- schedule/station_schedule.module	17 Aug 2008 22:57:19 -0000	1.75
+++ schedule/station_schedule.module	22 Apr 2009 18:38:50 -0000
@@ -171,6 +171,9 @@ function station_schedule_access($op, $n
   global $user;
 
   switch ($op) {
+    case 'view':
+      return TRUE;
+
     case 'update':
     case 'delete':
     case 'create':
