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(); break; case 'auth_admin': $editable = $editable && $logged_in_user->isAdmin(); $value = $user->isAdmin(); 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::getObj($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) { global $mm; $db = $mm->database(); $user = Auth::getObj(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) { global $mm; $db = $mm->database(); $user = Auth::getObj(Login::isLoggedIn()); if (!$user->isAdmin()) { return false; } switch ($plugin) { case 'system': return $db->setSysConf($key, $value); default: return $db->setPluginConf($plugin, $key, $value); } } }