summaryrefslogtreecommitdiffstats
path: root/frontends/php/include
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/php/include')
-rw-r--r--frontends/php/include/classes/ctable.inc.php1
-rw-r--r--frontends/php/include/hosts.inc.php31
-rw-r--r--frontends/php/include/perm.inc.php5
3 files changed, 23 insertions, 14 deletions
diff --git a/frontends/php/include/classes/ctable.inc.php b/frontends/php/include/classes/ctable.inc.php
index 1ef4957d..53c60763 100644
--- a/frontends/php/include/classes/ctable.inc.php
+++ b/frontends/php/include/classes/ctable.inc.php
@@ -23,6 +23,7 @@
/* public */
function CCol($item=NULL,$class=NULL){
parent::CTag("td","yes");
+
$this->AddItem($item);
$this->SetClass($class);
}
diff --git a/frontends/php/include/hosts.inc.php b/frontends/php/include/hosts.inc.php
index 2b120406..468b3b3e 100644
--- a/frontends/php/include/hosts.inc.php
+++ b/frontends/php/include/hosts.inc.php
@@ -195,10 +195,11 @@ require_once "include/items.inc.php";
}
- if(DBfetch(DBselect(
- "select * from hosts where host=".zbx_dbstr($host).
- ' and '.DBin_node('hostid', get_current_nodeid(false)).
- (isset($hostid) ? ' and hostid<>'.$hostid : '')
+ if(DBfetch(DBselect('SELECT h.host '.
+ ' FROM hosts h '.
+ ' WHERE h.host='.zbx_dbstr($host).
+ ' AND '.DBin_node('h.hostid', get_current_nodeid(false)).
+ (isset($hostid)?' AND h.hostid<>'.$hostid:'')
)))
{
error("Host '$host' already exists");
@@ -207,25 +208,29 @@ require_once "include/items.inc.php";
if(is_null($hostid)){
$hostid = get_dbid("hosts","hostid");
- $result = DBexecute("insert into hosts".
- " (hostid,proxy_hostid,host,port,status,useip,dns,ip,disable_until,available)".
- " values ($hostid,$proxy_hostid,".zbx_dbstr($host).",$port,$status,$useip,".zbx_dbstr($dns).",".zbx_dbstr($ip).",0,"
- .HOST_AVAILABLE_UNKNOWN.")");
+ $result = DBexecute('insert into hosts '.
+ ' (hostid,proxy_hostid,host,port,status,useip,dns,ip,disable_until,available) '.
+ ' values ('.$hostid.','.$proxy_hostid.','.zbx_dbstr($host).','.$port.','.$status.','.$useip.','.zbx_dbstr($dns).','.zbx_dbstr($ip).',0,'
+ .HOST_AVAILABLE_UNKNOWN.')');
}
else{
if(check_circle_host_link($hostid, $templates)){
error("Circle link can't be created");
return false;
}
-
- $result = DBexecute("update hosts set proxy_hostid=$proxy_hostid,host=".zbx_dbstr($host).",".
- "port=$port,useip=$useip,dns=".zbx_dbstr($dns).",ip=".zbx_dbstr($ip)." where hostid=$hostid");
+ $result = DBexecute('UPDATE hosts SET proxy_hostid='.$proxy_hostid.
+ ',host='.zbx_dbstr($host).
+ ',port='.$port.
+ ',status='.$status.
+ ',useip='.$useip.
+ ',dns='.zbx_dbstr($dns).
+ ',ip='.zbx_dbstr($ip).
+ ' WHERE hostid='.$hostid);
update_host_status($hostid, $status);
}
- foreach($templates as $id => $name)
- {
+ foreach($templates as $id => $name){
$hosttemplateid = get_dbid('hosts_templates', 'hosttemplateid');
if(!($result = DBexecute('insert into hosts_templates values ('.$hosttemplateid.','.$hostid.','.$id.')')))
break;
diff --git a/frontends/php/include/perm.inc.php b/frontends/php/include/perm.inc.php
index e96b77bc..4c15b0f5 100644
--- a/frontends/php/include/perm.inc.php
+++ b/frontends/php/include/perm.inc.php
@@ -185,6 +185,7 @@
}
function get_accessible_hosts_by_user(&$user_data,$perm,$perm_mode=null,$perm_res=null,$nodeid=null,$cache=1){
+ global $DB_TYPE;
static $available_hosts;
if(is_null($perm_res)) $perm_res = PERM_RES_STRING_LINE;
@@ -228,6 +229,8 @@ COpt::counter_up('perm');
$where = ' where '.implode(' and ',$where);
else
$where = '';
+
+ $sortorder = (isset($DB_TYPE) && (($DB_TYPE == 'MYSQL') || ($DB_TYPE == 'SQLITE3')))?' DESC ':'';
$sql = 'SELECT DISTINCT n.nodeid,n.name as node_name,h.hostid,h.host, min(r.permission) as permission,ug.userid '.
' FROM hosts h '.
@@ -238,7 +241,7 @@ COpt::counter_up('perm');
' LEFT JOIN nodes n ON '.DBid2nodeid('h.hostid').'=n.nodeid '.
$where.
' GROUP BY h.hostid,n.nodeid,n.name,h.host,ug.userid '.
- ' ORDER BY n.name,n.nodeid, h.host, permission desc, userid desc';
+ ' ORDER BY n.name,n.nodeid, h.host, permission '.$sortorder.', userid '.$sortorder;
$db_hosts = DBselect($sql);