summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-08-06 08:07:12 +0000
committerartem <artem@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-08-06 08:07:12 +0000
commitad1a369bf8eea09ea538004977728308ecdbea01 (patch)
tree4f8793f1351fece538593818e2ebd39a912f8a95
parent944f390978cb23baf6db90f5809d8ad18d37ecb5 (diff)
downloadzabbix-ad1a369bf8eea09ea538004977728308ecdbea01.tar.gz
zabbix-ad1a369bf8eea09ea538004977728308ecdbea01.tar.xz
zabbix-ad1a369bf8eea09ea538004977728308ecdbea01.zip
- [DEV-137] fixes in screens (Artem)
git-svn-id: svn://svn.zabbix.com/trunk@5878 97f52cf1-0a1b-0410-bd0e-c28be96e8082
-rw-r--r--frontends/php/include/blocks.inc.php3
-rw-r--r--frontends/php/include/db.inc.php2
-rw-r--r--frontends/php/include/screens.inc.php4
-rw-r--r--frontends/php/screens.php45
4 files changed, 29 insertions, 25 deletions
diff --git a/frontends/php/include/blocks.inc.php b/frontends/php/include/blocks.inc.php
index fcd127d5..c8826467 100644
--- a/frontends/php/include/blocks.inc.php
+++ b/frontends/php/include/blocks.inc.php
@@ -449,7 +449,7 @@ return $table;
function make_latest_issues(){
global $USER_DETAILS;
- $available_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY,PERM_RES_IDS_ARRAY);
+// $available_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY,PERM_RES_IDS_ARRAY);
$available_triggers = get_accessible_triggers(PERM_READ_ONLY,PERM_RES_IDS_ARRAY);
$scripts_by_hosts = get_accessible_scripts_by_hosts($available_hosts);
@@ -479,6 +479,7 @@ function make_latest_issues(){
' AND h.status='.HOST_STATUS_MONITORED.
' AND t.value='.TRIGGER_VALUE_TRUE.
' ORDER BY t.lastchange DESC';
+//SDI($sql);
$result = DBselect($sql);
while($row=DBfetch($result)){
diff --git a/frontends/php/include/db.inc.php b/frontends/php/include/db.inc.php
index 2dcec73f..15a12348 100644
--- a/frontends/php/include/db.inc.php
+++ b/frontends/php/include/db.inc.php
@@ -730,6 +730,8 @@ else {
function DBcondition($fieldname, &$array, $notin=false){
global $DB;
$condition = '';
+
+//if(!is_array($array)) SDI('OPA: '.$fieldname.' : '.$array);
$in = $notin?' NOT IN ':' IN ';
$concat = $notin?' AND ':' OR ';
diff --git a/frontends/php/include/screens.inc.php b/frontends/php/include/screens.inc.php
index 2fb7b9ce..18bacbf9 100644
--- a/frontends/php/include/screens.inc.php
+++ b/frontends/php/include/screens.inc.php
@@ -30,7 +30,7 @@
if(DBfetch(DBselect('SELECT screenid FROM screens WHERE screenid='.$screenid.' AND '.DBin_node('screenid', get_current_nodeid($perm))))){
$result = true;
- $available_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_ONLY,PERM_RES_IDS_ARRAY);
+ $available_hosts = get_accessible_hosts_by_user($USER_DETAILS,$perm,PERM_RES_IDS_ARRAY);
$db_result = DBselect('SELECT * FROM screens_items WHERE screenid='.$screenid);
while(($ac_data = DBfetch($db_result)) && $result){
@@ -51,6 +51,8 @@
case SCREEN_RESOURCE_PLAIN_TEXT:
if(!isset($itemid))
$itemid = array($ac_data['resourceid']);
+ else if(!is_array($itemid))
+ $itemid = array($itemid);
if(DBfetch(DBselect('SELECT itemid '.
' FROM items '.
diff --git a/frontends/php/screens.php b/frontends/php/screens.php
index 94a172c5..e3e8402f 100644
--- a/frontends/php/screens.php
+++ b/frontends/php/screens.php
@@ -129,22 +129,24 @@ include_once 'include/page_header.php';
$form->SetMethod('get');
$form->AddVar('fullscreen',$_REQUEST['fullscreen']);
+ if(isset($_REQUEST['period'])) $form->AddVar('period', $_REQUEST['period']);
+ if(isset($_REQUEST['stime'])) $form->AddVar('stime', $_REQUEST['stime']);
$cmbConfig = new CComboBox('config', $config, 'submit()');
$cmbConfig->AddItem(0, S_SCREENS);
$cmbConfig->AddItem(1, S_SLIDESHOWS);
- $form->AddItem($cmbConfig);
+ $form->AddItem(array(S_SHOW.SPACE,$cmbConfig));
$cmbElements = new CComboBox('elementid',$elementid,'submit()');
unset($screen_correct);
unset($first_screen);
if( 0 == $config ){
- $result = DBselect('select screenid as elementid,name '.
- ' from screens '.
- ' where '.DBin_node('screenid').
- ' order by name'
+ $result = DBselect('SELECT screenid as elementid, name '.
+ ' FROM screens '.
+ ' WHERE '.DBin_node('screenid').
+ ' ORDER BY name'
);
while($row=DBfetch($result)){
if(!screen_accessible($row['elementid'], PERM_READ_ONLY))
@@ -183,13 +185,11 @@ include_once 'include/page_header.php';
if(isset($elementid)){
if(0 == $config){
- if(!screen_accessible($elementid, PERM_READ_ONLY))
- access_deny();
+ if(!screen_accessible($elementid, PERM_READ_ONLY)) access_deny();
$element = get_screen_by_screenid($elementid);
}
else{
- if(!slideshow_accessible($elementid, PERM_READ_ONLY))
- access_deny();
+ if(!slideshow_accessible($elementid, PERM_READ_ONLY)) access_deny();
$element = get_slideshow_by_slideshowid($elementid);
}
@@ -198,8 +198,13 @@ include_once 'include/page_header.php';
}
}
- if($cmbElements->ItemsCount() > 0)
- $form->AddItem($cmbElements);
+ if(0 == $config){
+ if($cmbElements->ItemsCount() > 0) $form->AddItem(array(SPACE.S_SCREENS.SPACE,$cmbElements));
+ }
+ else{
+ if($cmbElements->ItemsCount() > 0) $form->AddItem(array(SPACE.S_SLIDESHOW.SPACE,$cmbElements));
+ }
+
if((2 != $_REQUEST['fullscreen']) && (0 == $config) && !empty($elementid) && check_dynamic_items($elementid)){
if(!isset($_REQUEST['hostid'])){
@@ -211,15 +216,9 @@ include_once 'include/page_header.php';
validate_group_with_host(PERM_READ_ONLY,$options);
- $availiable_groups = get_accessible_groups_by_user($USER_DETAILS,PERM_READ_LIST);
- $availiable_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_LIST,PERM_RES_IDS_ARRAY);
+ $available_groups = get_accessible_groups_by_user($USER_DETAILS,PERM_READ_LIST);
+ $available_hosts = get_accessible_hosts_by_user($USER_DETAILS,PERM_READ_LIST,PERM_RES_IDS_ARRAY);
- $r_form = new CForm();
- $r_form->SetMethod('get');
- if(isset($_REQUEST['fullscreen'])) $r_form->AddVar('fullscreen', $_REQUEST['fullscreen']);
- if(isset($_REQUEST['period'])) $r_form->AddVar('period', $_REQUEST['period']);
- if(isset($_REQUEST['stime'])) $r_form->AddVar('stime', $_REQUEST['stime']);
-
$cmbGroup = new CComboBox('groupid',$_REQUEST['groupid'],'submit()');
$cmbHosts = new CComboBox('hostid',$_REQUEST['hostid'],'submit()');
@@ -228,7 +227,7 @@ include_once 'include/page_header.php';
$sql = 'SELECT DISTINCT g.groupid, g.name '.
' FROM groups g, hosts_groups hg, hosts h, items i '.
- ' WHERE g.groupid in ('.$availiable_groups.') '.
+ ' WHERE g.groupid in ('.$available_groups.') '.
' AND hg.groupid=g.groupid '.
' AND h.status='.HOST_STATUS_MONITORED.
' AND h.hostid=i.hostid '.
@@ -243,7 +242,7 @@ include_once 'include/page_header.php';
);
}
- $r_form->AddItem(array(S_GROUP.SPACE,$cmbGroup));
+ $form->AddItem(array(SPACE.S_GROUP.SPACE,$cmbGroup));
if($_REQUEST['groupid'] > 0){
$sql = ' SELECT DISTINCT h.hostid,h.host '.
@@ -273,8 +272,8 @@ include_once 'include/page_header.php';
);
}
- $r_form->AddItem(array(SPACE.S_HOST.SPACE,$cmbHosts));
- $p_elements[] = get_table_header($text,array($form,$r_form));
+ $form->AddItem(array(SPACE.S_HOST.SPACE,$cmbHosts));
+ $p_elements[] = get_table_header($text,$form);
}
else if(2 != $_REQUEST['fullscreen']){
$p_elements[] = get_table_header($text,$form);