--- D:/desk/invite-6.x-dev_ported.tar_/invite/invite.module	Thu Aug 28 03:12:36 2008
+++ D:/workspace/excello/sites/default/modules/invite/invite.module	Mon Sep 01 00:59:02 2008
@@ -597,7 +597,7 @@
   switch ($op) {
     case 'page':
     default:
-      $form += invite_page_form($remaining_invites, $edit);
+      $form += invite_page_form($form_state, $remaining_invites, $edit);
       break;
     case 'block':
       $form += invite_block_form($remaining_invites);
@@ -679,7 +679,7 @@
  * @return
  *   A form definition.
  */
-function invite_page_form($remaining_invites, $edit = array()) {
+function invite_page_form(&$form_state, $remaining_invites, $edit = array()) {
   global $user;
 
   // Remaining invites.
@@ -709,9 +709,9 @@
   if (!$edit) {
     $failed_emails = '';
     $allow_multiple = user_access('send mass invitations');
-    if (isset($_SESSION['invite_failed_emails'])) {
-      $failed_emails = implode("\n", (array)unserialize($_SESSION['invite_failed_emails']));
-      unset($_SESSION['invite_failed_emails']);
+    if (isset($form_state['storage']['invite_failed_emails'])) {
+      $failed_emails = implode("\n", (array)unserialize($form_state['storage']['invite_failed_emails']));
+      unset($form_state['storage']['invite_failed_emails']);
     }
     $form['email'] = array(
       '#title' => t('To'),
@@ -885,7 +885,7 @@
 function invite_form_validate($form, &$form_state) {
   global $user;
 
-  $emails = _invite_get_emails($form_state['values']['email']);
+  $emails = _invite_get_emails($form_state['values']['email'],$form_state);
 
   if (!$form_state['values']['resent']) {
     if (count($emails) > 0) {
@@ -946,7 +946,7 @@
  * @return
  *   Array of valid e-mail addresses.
  */
-function _invite_get_emails($string) {
+function _invite_get_emails($string,&$form_state) {
   $valid_emails = $failed_emails = array();
   $user = '[a-zA-Z0-9_\-\.\+\^!#\$%&*+\/\=\?\`\|\{\}~\']+';
   $domain = '(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.?)+';
@@ -968,7 +968,7 @@
   }
 
   if (count($failed_emails)) {
-    $_SESSION['invite_failed_emails'] = serialize($failed_emails);
+    $form_state['storage']['invite_failed_emails'] = serialize($failed_emails);
   }
 
   return $valid_emails;
@@ -1014,8 +1014,8 @@
   $num_failed = $num_succeeded = 0;
 
   // Get e-mails that failed validation.
-  if (isset($_SESSION['invite_failed_emails'])) {
-    $failed_emails = (array)unserialize($_SESSION['invite_failed_emails']);
+  if (isset($form_state['storage']['invite_failed_emails'])) {
+    $failed_emails = (array)unserialize($form_state['storage']['invite_failed_emails']);
     $num_failed = count($failed_emails);
   }
 
@@ -1065,7 +1065,7 @@
 
   // Store failed e-mails for re-display.
   if ($failed_emails) {
-    $_SESSION['invite_failed_emails'] = serialize($failed_emails);
+    $form_state['storage']['invite_failed_emails'] = serialize($failed_emails);
   }
 
   if ($num_succeeded) {
@@ -1082,6 +1082,7 @@
   }
   else if (user_access('track invitations') && $user->uid) {
     // Everything went well: redirect to pending invites page.
+    unset($form_state['storage']);
     $form_state['redirect'] = "user/$user->uid/invites/pending";
   }
 }
