summaryrefslogtreecommitdiff
path: root/src/lib/DB.class.php
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2012-01-07 08:21:00 -0800
committerLuke Shumaker <LukeShu@sbcglobal.net>2012-01-07 10:20:28 -0800
commit464f4d3497617fadb9d7752868f1175849cfa6d2 (patch)
tree0771bd935b30971bf2c244b6f158ed7496b644e5 /src/lib/DB.class.php
parent3d64793a1ee45857856be1cd71c3a0a040a3e869 (diff)
Refactor to separate the framework from the app; drop message stuff, this app is just user management. Add a json view for individual usersHEADmaster
Diffstat (limited to 'src/lib/DB.class.php')
-rw-r--r--src/lib/DB.class.php164
1 files changed, 0 insertions, 164 deletions
diff --git a/src/lib/DB.class.php b/src/lib/DB.class.php
deleted file mode 100644
index ac8dafe..0000000
--- a/src/lib/DB.class.php
+++ /dev/null
@@ -1,164 +0,0 @@
-<?php
-require_once('Auth.class.php');
-require_once('Login.class.php');
-require_once('Database.class.php');
-
-class DB {
- public static function set($table, $unit, $key, $value, $orig_value) {
- $value_base = $orig_value;
-
- $doit = true;
- $forked = false;
- $have_old = ($value_base!==null);
- if ($have_old) {
- $we_changed_it = $value_base != $value;
- if ($we_changed_it) {
- $value_fork = $this->getConfString($key);
- $someone_else_changed_it =
- $value_fork != $value_base;
- if ($someone_else_changed_it) {
- if ($value == $value_fork) {
- // we might as well not have
- $we_changed_it = false;
- } else {
- $forked = true;
- }
- }
- }
- if (!$we_changed_it) {
- $doit = false;// nothing to do
- }
- }
- if ($doit) {
- return $this->setConf($key, $value);
- }
- if ($forked) {
- return $value_fork;
- }
- }
-
- public static function get($table, $unit, $key) {
- switch ($table) {
- case 'conf':
- case 'plugins':
- return self::admin_get($unit, $key);
- break;
- case 'users':
- return self::user_get($unit, $key);
- break;
- default:
- return false;
- }
- }
- public static function raw_set($table, $unit, $key, $value) {
- switch ($table) {
- case 'conf':
- case 'plugins':
- return self::admin_get($unit, $key, $value);
- break;
- case 'users':
- return self::user_set($unit, $key, $value);
- break;
- default:
- return false;
- }
- }
-
- private static function user_get($uid, $key) {
- $user = Auth::getInstance($uid);
- $logged_in_user = Auth::getInstance(Login::isLoggedIn());
-
- $post_key = $key."[$uid]";
- @$value = $_POST[$post_key];
- $editable = $user->canEdit();
-
- switch ($key) {
- case 'auth_uid':
- $value = $user->getUID();
- $editable = false;
- break;
- case 'auth_name':
- $value = $user->getName();
- break;
- case 'auth_user':
- $editable = $editable && $logged_in_user->isAdmin();
- $value = $user->isUser()?'true':'false';
- break;
- case 'auth_admin':
- $editable = $editable && $logged_in_user->isAdmin();
- $value = $user->isAdmin()?'true':'false';
- break;
- case 'auth_delete':
- $editable = $editable && $logged_in_user->isAdmin();
- $value = 'false';
- break;
- default:
- $value = $user->getConf($key);
- if ($value===false) $value='';
- break;
- }
-
- return array('value'=>$value,
- 'post_key'=>$post_key,
- 'editable'=>$editable);
- }
- private static function user_set($uid, $key, $value) {
- $user = Auth::getInstance($uid);
-
- switch ($key) {
- case 'auth_uid':
- return false;
- break;
- case 'auth_name':
- return $user->setName($value);
- break;
- case 'auth_user':
- return $user->setUser($value=='true');
- break;
- case 'auth_admin':
- return $user->setAdmin($value=='true');
- break;
- case 'auth_delete':
- if ($value=='true') return $user->delete();
- default:
- return $user->setConf($key, $value);
- break;
- }
- }
-
- private static function admin_get($plugin, $key) {
- $db = Database::getInstance();
- $user = Auth::getInstance(Login::isLoggedIn());
- if ($user->isAdmin()) {
- $editable = true;
- switch ($plugin) {
- case 'system':
- $value = $db->getSysConf($key);
- break;
- default:
- $value = $db->getPluginConf($plugin, $key);
- break;
- }
- } else {
- $editable = false;
- $value = false;
- }
-
- return array('value'=>$value,
- 'post_key'=>'to be implemented',// FIXME
- 'editable'=>$editable);
- }
- private static function admin_set($plugin, $key, $value) {
- $db = Database::getInstance();
- $user = Auth::getInstance(Login::isLoggedIn());
- if (!$user->isAdmin()) {
- return false;
- }
- switch ($plugin) {
- case 'system':
- return $db->setSysConf($key, $value);
- default:
- return $db->setPluginConf($plugin, $key, $value);
- }
- }
-}