summaryrefslogtreecommitdiffstats
path: root/frontends/php/include/users.inc.php
diff options
context:
space:
mode:
authorosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-01-16 14:58:49 +0000
committerosmiy <osmiy@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-01-16 14:58:49 +0000
commitb8f80958d84e04ed70e74144f53ecece18f61b9b (patch)
tree33d029fe52de98bf50f3b351c80a3917d96c0c5b /frontends/php/include/users.inc.php
parent9371c281a1846fc1781e03aaf2e9687ff00fadf5 (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.php117
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);
+ }
+ }
?>