Merge branch 'master' of git://github.com/openemr/openemr
[openemr.git] / library / user.inc
blobd9f3b1d6fdc69019e3e5be1ecce55b9946d9ed9c
1 <?php
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(dirname(__FILE__) . "/sql.inc");
8 require_once(dirname(__FILE__) . "/formdata.inc.php");
10 //This will return the user setting(s) from the 'users' table.
11 // $choice can be used to return only one specific user setting
12 // $user is the user id number in the 'users' table
13 function getUserSetting($label,$user=NULL) {
15   // if no user id is sent, then use the currently logged in user
16   if (!isset($user)) {
17     $user = $_SESSION['authUserID'];
18   }
19     
20   // Collect entry if it exist.
21   //  If does not exist, then look for a default entry.
22   //    If default entry does not exist, then return a '0'.
23   // setting.
24   $result = sqlQuery("SELECT setting_value FROM user_settings " .
25     "WHERE setting_user=? AND setting_label=?", array($user, $label) );
26   if (empty($result)) {
27     $result = sqlQuery("SELECT setting_value FROM user_settings " .
28       "WHERE setting_user='0' AND setting_label=?", array($label) );
29     if (empty($result)) {
30       return '0';
31     }
32   }
33   
34   // Only one value, so collect it
35   $tempResult = $result;
36   foreach($tempResult as $key=>$value) {
37     $result = $value;
38   }
39   
40   return $result;
43 //This will set a user setting
44 // $name is the setting name in the 'users' table
45 // $value is the setting value to be set in the 'users' table
46 // $user is the user id number in the 'users' table
47 function setUserSetting($label, $value, $user=NULL) {
49   // if no user id is sent, then use the currently logged in user
50   if (!isset($user)) {
51     $user = $_SESSION['authUserID'];
52   }
54   $newCustom=false;
55   $newDefault=false;
57   // Check for a custom settings
58   $row = sqlQuery("SELECT setting_value FROM user_settings " .
59     "WHERE setting_user=? AND setting_label=?", array($user, $label) );
60   if (empty($row)) {
61     $newCustom=true;
62   }
64   // Set the custom setting
65   if ($newCustom) {
66     sqlStatement("INSERT INTO user_settings " .
67       "(setting_user, setting_label, setting_value) " .
68       "VALUES (?,?,?)", array($user, $label, $value) );
69   }
70   else {
71     sqlStatement("UPDATE user_settings SET setting_value=? " .
72       "WHERE setting_user=? AND setting_label=?", array($value, $user, $label) );
73   }
75   // Check for a default settings
76   $row = sqlQuery("SELECT setting_value FROM user_settings " .
77     "WHERE setting_user='0' AND setting_label=?", array($label) );
78   if (empty($row)) {
79     $newDefault=true;
80   }
82   // Place a default setting if it does not already exist
83   if ($newDefault) {
84     sqlStatement("INSERT INTO user_settings " .
85       "(setting_user, setting_label, setting_value) " .
86       "VALUES ('0',?,?)", array($label, $value) );
87   }