Fix for the Open in New Window in Patient/Client->Patients search gui, take 2.
authorbradymiller <bradymiller@users.sourceforge.net>
Sun, 30 Jun 2013 19:18:37 +0000 (30 12:18 -0700)
committerbradymiller <bradymiller@users.sourceforge.net>
Sun, 30 Jun 2013 23:16:09 +0000 (30 16:16 -0700)
Documentation/OpenEMR_Backend_Spec.txt
interface/main/finder/dynamic_finder.php
interface/main/main_screen.php
library/authentication/login_operations.php

index 805b483..29fd3e9 100644 (file)
@@ -11,7 +11,6 @@ we will ALWAYS look for $_GET['auth'], if it is login we will do so, if it is lo
 authNewSession(username, md5sum of password, provider)
 returns boolean, is pass checks out or not.  if true, also sets:
        $_SESSION['authUser'] = current username logged in
-       $_SESSION['authPass'] = md5sum of logged in users password
        $_SESSION['authProvider'] = the current provider
        $_SESSION['authId'] = user Id number (record id)
 
index 99ed241..8447f58 100644 (file)
@@ -121,14 +121,8 @@ $(document).ready(function() {
 });
 
 function openNewTopWindow(pid) {
-<?php if (!empty($GLOBALS['restore_sessions'])) { ?>
- // Delete the session cookie by setting its expiration date in the past.
- // This forces the server to create a new session ID.
- var olddate = new Date();
- olddate.setFullYear(olddate.getFullYear() - 1);
- document.cookie = '<?php echo session_name() . '=' . session_id() ?>; path=/; expires=' + olddate.toGMTString();
-<?php } ?>
  document.fnew.patientID.value = pid;
+ top.restoreSession();
  document.fnew.submit();
 }
 
@@ -161,10 +155,6 @@ function openNewTopWindow(pid) {
 
 <!-- form used to open a new top level window when a patient row is clicked -->
 <form name='fnew' method='post' target='_blank' action='../main_screen.php?auth=login&site=<?php echo attr($_SESSION['site_id']); ?>'>
-<input type='hidden' name='authUser'       value='<?php echo attr($_SESSION['authUser']);        ?>' />
-<input type='hidden' name='authPass'       value='<?php echo attr($_SESSION['authPass']);        ?>' />
-<input type='hidden' name='authProvider'   value='<?php echo attr($_SESSION['authProvider']);    ?>' />
-<input type='hidden' name='languageChoice' value='<?php echo attr($_SESSION['language_choice']); ?>' />
 <input type='hidden' name='patientID'      value='0' />
 </form>
 
index 4cb1b3a..982b132 100644 (file)
@@ -25,6 +25,15 @@ $sanitize_all_escapes=true;
 require_once('../globals.php');
 require_once("$srcdir/formdata.inc.php");
 
+// Creates a new session id when load this outer frame
+// (allows creations of separate OpenEMR frames to view patients concurrently
+//  on different browser frame/windows)
+// This session id is used below in the restoreSession.php include to create a
+// session cookie for this specific OpenEMR instance that is then maintained
+// within the OpenEMR instance by calling top.restoreSession() whenever
+// refreshing or starting a new script.
+session_regenerate_id();
+
 $_SESSION["encounter"] = '';
 
 // Fetch the password expiration date
index 2ce5285..918b272 100644 (file)
@@ -100,7 +100,6 @@ function validate_user_password($username,&$password,$provider)
             $_SESSION['authUser'] = $username;
             $_SESSION['authGroup'] = $authGroup['name'];
             $_SESSION['authUserID'] = $userInfo['id'];
-            $_SESSION['authPass'] = $phash;
             $_SESSION['authProvider'] = $provider;
             $_SESSION['authId'] = $userInfo{'id'};
             $_SESSION['cal_ui'] = $userInfo['cal_ui'];
@@ -131,4 +130,4 @@ function verify_user_gacl_group($user)
     }
     return true;
 }
-?>
\ No newline at end of file
+?>