diff options
| author | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-01-16 14:58:49 +0000 |
|---|---|---|
| committer | osmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-01-16 14:58:49 +0000 |
| commit | b8f80958d84e04ed70e74144f53ecece18f61b9b (patch) | |
| tree | 33d029fe52de98bf50f3b351c80a3917d96c0c5b /frontends/php/include/users.inc.php | |
| parent | 9371c281a1846fc1781e03aaf2e9687ff00fadf5 (diff) | |
- Frontend improvements. (Eugene)
git-svn-id: svn://svn.zabbix.com/trunk@2530 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'frontends/php/include/users.inc.php')
| -rw-r--r-- | frontends/php/include/users.inc.php | 117 |
1 files changed, 116 insertions, 1 deletions
diff --git a/frontends/php/include/users.inc.php b/frontends/php/include/users.inc.php index 10e6cb94..ac9dfca6 100644 --- a/frontends/php/include/users.inc.php +++ b/frontends/php/include/users.inc.php @@ -28,8 +28,20 @@ error("Insufficient permissions"); return 0; } - + if($alias==""){ + error("Incorrect Alias name"); + return 0; + } + + $sql="select * from users where alias='$alias'"; + $result=DBexecute($sql); + if(DBnum_rows($result)>0) + { + error("User '$alias' already exists"); + return 0; + } + $passwd=md5($passwd); $sql="insert into users (name,surname,alias,passwd,url,autologout,lang,refresh) values ('$name','$surname','$alias','$passwd','$url',$autologout,'$lang',$refresh)"; return DBexecute($sql); @@ -45,6 +57,19 @@ return 0; } + if($alias==""){ + error("incorrect alias name"); + return 0; + } + + $sql="select * from users where alias='$alias' and userid<>$userid"; + $result=DBexecute($sql); + if(DBnum_rows($result)>0) + { + error("User '$alias' already exists"); + return 0; + } + if($passwd=="") { $sql="update users set name='$name',surname='$surname',alias='$alias',url='$url',autologout=$autologout,lang='$lang',refresh=$refresh where userid=$userid"; @@ -103,4 +128,94 @@ } return $result; } + + function add_user_group($name,$users) + { + if(!check_right("Host","A",0)) + { + error("Insufficient permissions"); + return 0; + } + + if($name==""){ + error("Incorrect group name"); + return 0; + } + + $sql="select * from usrgrp where name='$name'"; + $result=DBexecute($sql); + if(DBnum_rows($result)>0) + { + error("Group '$name' already exists"); + return 0; + } + + $sql="insert into usrgrp (name) values ('$name')"; + $result=DBexecute($sql); + if(!$result) + { + return $result; + } + + $usrgrpid=DBinsert_id($result,"usrgrp","usrgrpid"); + + update_user_groups($usrgrpid,$users); + + return $result; + } + + function update_user_group($usrgrpid,$name,$users) + { + if(!check_right("Host","U",0)) + { + error("Insufficient permissions"); + return 0; + } + + if($name==""){ + error("Incorrect group name"); + return 0; + } + + $sql="select * from usrgrp where name='$name' and usrgrpid<>$usrgrpid"; + $result=DBexecute($sql); + if(DBnum_rows($result)>0) + { + error("Group '$name' already exists"); + return 0; + } + + $sql="update usrgrp set name='$name' where usrgrpid=$usrgrpid"; + $result=DBexecute($sql); + if(!$result) + { + return $result; + } + + update_user_groups($usrgrpid,$users); + + return $result; + } + + function delete_user_group($usrgrpid) + { + $sql="delete from users_groups where usrgrpid=$usrgrpid"; + DBexecute($sql); + $sql="delete from usrgrp where usrgrpid=$usrgrpid"; + return DBexecute($sql); + } + + function update_user_groups($usrgrpid,$users) + { + $count=count($users); + + $sql="delete from users_groups where usrgrpid=$usrgrpid"; + DBexecute($sql); + + for($i=0;$i<$count;$i++) + { + $sql="insert into users_groups (usrgrpid,userid) values ($usrgrpid,".$users[$i].")"; + DBexecute($sql); + } + } ?> |
