2 // This program is free software; you can redistribute it and/or
3 // modify it under the terms of the GNU General Public License
4 // as published by the Free Software Foundation; either version 2
5 // of the License, or (at your option) any later version.
7 require_once("$srcdir/../interface/globals.php");
8 require_once("$srcdir/log.inc");
10 // Function called to set the global session variable for patient id (pid) number.
11 function setpid($new_pid) {
12 global $pid, $encounter;
14 // Escape $new_pid by forcing it to an integer to protect from sql injection
15 $new_pid_int = intval($new_pid);
16 // If the $new_pid was not an integer, then send an error to error log
17 if (!is_numeric($new_pid)) {
18 error_log("Critical OpenEMR Error: Attempt to set pid to following non-integer value was denied: ".$new_pid,0);
19 error_log("Requested pid ".$new_pid,0);
20 error_log("Returned pid ".$new_pid_int,0);
23 // Be careful not to clear the encounter unless the pid is really changing.
24 if (!isset($_SESSION['pid']) || $pid != $new_pid_int || $pid != $_SESSION['pid']) {
25 $_SESSION['encounter'] = $encounter = 0;
28 // Set pid to the escaped pid
29 $_SESSION['pid'] = $new_pid_int;
32 newEvent("view", $_SESSION["authUser"], $_SESSION["authProvider"], 1, $pid);