--- C:/Users/Dane Powell/Desktop/cas.module	Tue May 26 09:48:08 2009
+++ C:/Users/Dane Powell/Desktop/cas2.module	Tue May 26 10:00:23 2009
@@ -286,8 +286,15 @@
       );
       $user = user_save($user, $user_up);
       
-      module_invoke_all('user', 'login', NULL, $user);
+      $edit = array();
+      if (module_exists('persistent_login') && $_SESSION['cas_remember']) {
+        $edit['persistent_login'] = 1;
+      }
+      module_invoke_all('user', 'login', $edit, $user);
       drupal_set_message(t(variable_get('cas_login_message', 'Logged in via CAS as %cas_username.'), array('%cas_username' => $user->name)));
+      if($edit['persistent_login'] == 1) {
+        drupal_set_message(t('You will remain logged in on this computer even after you close your browser.'));
+      }
       watchdog('user', 'Session opened for %name.', array('%name' => $user->name));
       // We can't count on the menu because we're changing login states.
       cas_login_page();
@@ -474,6 +481,15 @@
     '#description' => t('Hide password field on the edit user form.'),
   );
   
+  if (module_exists('persistent_login')) 
+    $form['account']['cas_allow_rememberme'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Users can stay logged in between sessions')
+    '#default_value' => variable_get('cas_allow_rememberme', 0),
+    '#description' => t('If Persistent Login is enabled, users can choose to stay logged in between browser sessions'),
+    );
+  }
+  
   $form['account']['cas_auto_assigned_role'] = array(
     '#type' => 'select',
     '#title' => t('Auto-assign users to the role(s)'),
@@ -725,7 +741,7 @@
           // NOTE: special care needs to be taken because on pages with forms,
           // such as node and comment submission pages, the $edit variable
           // might already be set.
-          $output .= l(t('Login'), 'cas');
+          $output .= drupal_get_form('cas_login_form');
           $output .= "</div>\n";
           $block['subject'] = t('User Login');
           $block['content'] = $output;
@@ -733,6 +749,26 @@
         return $block;
     }
   }
+}
+
+function cas_login_form($form_state)
+{
+  $form['submit'] = array('#type' => 'submit', '#value' => t('Log in via CAS'));
+  if(module_exists('persistent_login') && variable_get('cas_allow_rememberme',0)) {
+    $form['remember'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Remember me'),
+      '#default_value' => 0,
+    );
+  }
+  return $form;
+}
+
+function cas_login_form_submit($form, &$form_state) {
+  if($form_state['values']['remember']) {
+    $_SESSION['cas_remember'] = 1;
+  }
+  $form_state['redirect'] = 'cas';
 }
 
 /**
