summaryrefslogtreecommitdiffstats
path: root/lib/class
diff options
context:
space:
mode:
Diffstat (limited to 'lib/class')
-rw-r--r--lib/class/access.class.php11
-rw-r--r--lib/class/preference.class.php28
2 files changed, 38 insertions, 1 deletions
diff --git a/lib/class/access.class.php b/lib/class/access.class.php
index 3e8331e3..b46b248b 100644
--- a/lib/class/access.class.php
+++ b/lib/class/access.class.php
@@ -222,6 +222,8 @@ class Access {
*/
public static function check($type,$level) {
+ if (!Config::get('use_auth') || Config::get('demo_mode')) { return true; }
+
$level = intval($level);
// Switch on the type
@@ -235,6 +237,15 @@ class Access {
return false;
}
break;
+ case 'interface':
+ // Check their standard user level
+ if ($GLOBALS['user']->access >= $level) {
+ return true;
+ }
+ else {
+ return false;
+ }
+ break;
default:
return false;
break;
diff --git a/lib/class/preference.class.php b/lib/class/preference.class.php
index e2dc57d5..d4841483 100644
--- a/lib/class/preference.class.php
+++ b/lib/class/preference.class.php
@@ -148,7 +148,33 @@ class Preference {
return $results;
} // get_catagories
-
+
+ /**
+ * get_all
+ * This returns a nice flat array of all of the possible preferences for the specified user
+ */
+ public static function get_all($user_id) {
+
+ $user_id = Dba::escape($user_id);
+
+ if ($user_id != '-1') {
+ $user_limit = "AND `preference`.`catagory` != 'system'";
+ }
+
+ $sql = "SELECT `preference`.`name`,`preference`.`description`,`user_preference`.`value` FROM `preference` " .
+ " INNER JOIN `user_preference` ON `user_preference`.`preference`=`preference`.`id` " .
+ " WHERE `user_preference`.`user`='$user_id' AND `preference`.`catagory` != 'internal' $user_limit";
+ $db_results = Dba::query($sql);
+
+ $results = array();
+
+ while ($row = Dba::fetch_assoc($db_results)) {
+ $results[] = array('name'=>$row['name'],'level'=>$row['level'],'description'=>$row['description'],'value'=>$row['value']);
+ }
+
+ return $results;
+
+ } // get_all
/**
* insert