--- premium/premium.module	2008-08-03 02:26:20.000000000 -0400
+++ premium_6.4/premium.module	2008-09-27 16:41:36.000000000 -0400
@@ -6,16 +6,14 @@
 /**
  * Implementation of hook_menu()
  */
-function premium_menu($may_cache) {
+function premium_menu() {
   $items = array();
-  if ($may_cache) {
-    $items[] = array('path' => 'admin/settings/premium',
-      'title' => t('Premium'),
-      'description' => t('Settings for access control to premium content.'),
-      'callback' => 'drupal_get_form',
-      'callback arguments' => 'premium_settings',
-      'access' => user_access('administer site configuration'));
-  }
+  $items['admin/settings/premium'] = array(
+    'title' => 'Premium',
+    'description' => 'Settings for access control to premium content.',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('premium_settings'),
+    'access arguments' => array('administer site configuration'));
   return $items;
 }
  
@@ -39,7 +37,7 @@ function premium_cron() {
  */
 function premium_nodeapi(&$node, $op, $teaser) {
   $node->premium = _premium_node($node);
-  $node->premium_access = _premium_access($node, $teaser);
+  $node->premium_access = _premium_access($node, $teaser, $account);
 
   switch ($op) {
     case 'load':
@@ -84,7 +82,7 @@ function premium_node_operations() {
 /**
  * Callback for hook_node_operations()
  */
-function _premium_node_operations_premium($nids, $premium = 0) {
+function _premium_node_operations_premium(&$form_state, $nids, $premium = 0) {
   foreach($nids as $nid) {
     $node = node_load($nid);
     _premium_set_premium($node, $premium);
@@ -97,7 +95,7 @@ function _premium_node_operations_premiu
  * Add the Premium checkbox to the node editing options and default settings
  * The Premium flag will behave like other options (published, promote, etc)
  */
-function premium_form_alter($form_id, &$form) {
+function premium_form_alter(&$form, &$form_state, $form_id) {
   $type = $form['type']['#value'];
   $title = t('Access restricted for non-premium users');
   switch ($form_id) {
@@ -285,19 +283,19 @@ function _premium_node($node) {
 /**
  * Establish premium visibility settings for a node
  */
-function _premium_access($node, $teaser) {
+function _premium_access($node, $teaser, $account) {
   if (isset($node->premium_access)) return $node->premium_access;
 
   // Access is granted or revoked explicitly.
   foreach (module_implements('premium_access') as $name) {
     $function = $name .'_premium_access';
-    if (is_bool($access = $function($user, $node))) {
+    if (is_bool($function($account, $node))) {
       return $access;
     }
   }
 
   // Not viewing the body, or it's not premium, or user has privileges.
-  if ($teaser || !$node->premium || user_access('access premium content')) {
+  if ($teaser || !$node->premium || user_access('access premium content', $account)) {
     return TRUE;
   }
 
