当前位置: 首页>>代码示例>>PHP>>正文


PHP uint_in_array函数代码示例

本文整理汇总了PHP中uint_in_array函数的典型用法代码示例。如果您正苦于以下问题:PHP uint_in_array函数的具体用法?PHP uint_in_array怎么用?PHP uint_in_array使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了uint_in_array函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: array

     }
 } else {
     if (isset($_REQUEST['add_dependence']) && isset($_REQUEST['new_dependence'])) {
         if (!isset($_REQUEST['dependencies'])) {
             $_REQUEST['dependencies'] = array();
         }
         foreach ($_REQUEST['new_dependence'] as $triggerid) {
             if (!uint_in_array($triggerid, $_REQUEST['dependencies'])) {
                 array_push($_REQUEST['dependencies'], $triggerid);
             }
         }
     } else {
         if (isset($_REQUEST['del_dependence']) && isset($_REQUEST['rem_dependence'])) {
             if (isset($_REQUEST['dependencies'])) {
                 foreach ($_REQUEST['dependencies'] as $key => $val) {
                     if (!uint_in_array($val, $_REQUEST['rem_dependence'])) {
                         continue;
                     }
                     unset($_REQUEST['dependencies'][$key]);
                 }
             }
         } else {
             if ($_REQUEST['go'] == 'massupdate' && isset($_REQUEST['mass_save']) && isset($_REQUEST['g_triggerid'])) {
                 show_messages();
                 $result = false;
                 $visible = get_request('visible', array());
                 $_REQUEST['dependencies'] = get_request('dependencies', array());
                 $options = array('triggerids' => $_REQUEST['g_triggerid'], 'select_dependencies' => 1, 'output' => API_OUTPUT_EXTEND, 'editable' => 1);
                 $triggers = CTrigger::get($options);
                 DBstart();
                 foreach ($triggers as $tnum => $db_trig) {
开发者ID:songyuanjie,项目名称:zabbix-stats,代码行数:31,代码来源:triggers.php

示例2: profile_type

function profile_type($type, $profile_type)
{
    $profile_type = strtolower($profile_type);
    switch ($profile_type) {
        case 'array':
            $result = uint_in_array($type, array(PROFILE_TYPE_ARRAY_ID, PROFILE_TYPE_ARRAY_INT, PROFILE_TYPE_ARRAY_STR));
            break;
        case 'id':
            $result = uint_in_array($type, array(PROFILE_TYPE_ID, PROFILE_TYPE_ARRAY_ID));
            break;
        case 'int':
            $result = uint_in_array($type, array(PROFILE_TYPE_INT, PROFILE_TYPE_ARRAY_INT));
            break;
        case 'str':
            $result = uint_in_array($type, array(PROFILE_TYPE_STR, PROFILE_TYPE_ARRAY_STR));
            break;
        case 'unknown':
            $result = $type == PROFILE_TYPE_UNKNOWN;
            break;
        default:
            $result = false;
    }
    return $result;
}
开发者ID:rennhak,项目名称:zabbix,代码行数:24,代码来源:profiles.inc.php

示例3: update_user_group

function update_user_group($usrgrpid, $name, $users_status, $gui_access, $api_access, $debug_mode, $users = array(), $rights = array())
{
    global $USER_DETAILS;
    $sql = 'SELECT * ' . ' FROM usrgrp ' . ' WHERE name=' . zbx_dbstr($name) . ' AND usrgrpid<>' . $usrgrpid . ' AND ' . DBin_node('usrgrpid', get_current_nodeid(false));
    if (DBfetch(DBselect($sql))) {
        error("Group '{$name}' already exists");
        return 0;
    }
    $result = DBexecute('UPDATE usrgrp SET name=' . zbx_dbstr($name) . ' WHERE usrgrpid=' . $usrgrpid);
    if (!$result) {
        return $result;
    }
    // must come before adding user to group
    $result &= change_group_status($usrgrpid, $users_status);
    $result &= change_group_gui_access($usrgrpid, $gui_access);
    $result &= change_group_api_access($usrgrpid, $api_access);
    $result &= change_group_debug_mode($usrgrpid, $debug_mode);
    if (!$result) {
        return $result;
    }
    //-------
    $grant = true;
    if ($gui_access == GROUP_GUI_ACCESS_DISABLED || $users_status == GROUP_STATUS_DISABLED) {
        $grant = !uint_in_array($USER_DETAILS['userid'], $users);
    }
    if ($grant) {
        $result = DBexecute('DELETE FROM users_groups WHERE usrgrpid=' . $usrgrpid);
        foreach ($users as $userid => $name) {
            $result = add_user_to_group($userid, $usrgrpid);
            if (!$result) {
                return $result;
            }
        }
    } else {
        error(S_USER_CANNOT_DISABLE_ITSELF);
        return false;
    }
    $result = DBexecute('DELETE FROM rights WHERE groupid=' . $usrgrpid);
    foreach ($rights as $right) {
        $id = get_dbid('rights', 'rightid');
        $result = DBexecute('INSERT INTO rights (rightid,groupid,permission,id)' . ' VALUES (' . $id . ',' . $usrgrpid . ',' . $right['permission'] . ',' . $right['id'] . ')');
        if (!$result) {
            return $result;
        }
    }
    return $result;
}
开发者ID:phedders,项目名称:zabbix,代码行数:47,代码来源:users.inc.php

示例4: delete_template_triggers

function delete_template_triggers($hostid, $templateids = null, $unlink_mode = false)
{
    zbx_value2array($templateids);
    $triggers = get_triggers_by_hostid($hostid);
    while ($trigger = DBfetch($triggers)) {
        if ($trigger['templateid'] == 0) {
            continue;
        }
        if ($templateids != null) {
            $db_tmp_hosts = get_hosts_by_triggerid($trigger["templateid"]);
            $tmp_host = DBfetch($db_tmp_hosts);
            if (!uint_in_array($tmp_host["hostid"], $templateids)) {
                continue;
            }
        }
        if ($unlink_mode) {
            if (DBexecute('UPDATE triggers SET templateid=0 WHERE triggerid=' . $trigger['triggerid'])) {
                info('Trigger "' . $trigger["description"] . '" unlinked');
            }
        } else {
            delete_trigger($trigger["triggerid"]);
        }
    }
    return TRUE;
}
开发者ID:rennhak,项目名称:zabbix,代码行数:25,代码来源:triggers.inc.php

示例5: CFormList

$itemFormList = new CFormList('itemFormList');
// append type to form list
$copyTypeComboBox = new CComboBox('copy_type', $this->data['copy_type'], 'submit()');
$copyTypeComboBox->addItem(0, _('Hosts'));
$copyTypeComboBox->addItem(1, _('Host groups'));
$itemFormList->addRow(_('Target type'), $copyTypeComboBox);
// append targets to form list
$targetList = array();
if ($this->data['copy_type'] == 0) {
    $groupComboBox = new CComboBox('copy_groupid', $this->data['copy_groupid'], 'submit()');
    foreach ($this->data['groups'] as $group) {
        $groupComboBox->addItem($group['groupid'], $group['name']);
    }
    $itemFormList->addRow(_('Group'), $groupComboBox);
    foreach ($this->data['hosts'] as $host) {
        array_push($targetList, array(new CCheckBox('copy_targetid[' . $host['hostid'] . ']', uint_in_array($host['hostid'], $this->data['copy_targetid']), null, $host['hostid']), SPACE, $host['name'], BR()));
    }
} else {
    foreach ($this->data['groups'] as $group) {
        array_push($targetList, array(new CCheckBox('copy_targetid[' . $group['groupid'] . ']', uint_in_array($group['groupid'], $this->data['copy_targetid']), null, $group['groupid']), SPACE, $group['name'], BR()));
    }
}
$itemFormList->addRow(_('Target'), !empty($targetList) ? $targetList : SPACE);
// append tabs to form
$itemTab = new CTabView();
$itemTab->addTab('itemTab', count($this->data['group_itemid']) . ' ' . _('elements copy to ...'), $itemFormList);
$itemForm->addItem($itemTab);
// append buttons to form
$itemForm->addItem(makeFormFooter(new CSubmit('copy', _('Copy')), new CButtonCancel(url_param('groupid') . url_param('hostid') . url_param('config'))));
$itemWidget->addItem($itemForm);
return $itemWidget;
开发者ID:quanta-computing,项目名称:debian-packages,代码行数:31,代码来源:configuration.item.copy.php

示例6: CLink

    }
    if ($db_item['value_type'] == ITEM_VALUE_TYPE_FLOAT || $db_item['value_type'] == ITEM_VALUE_TYPE_UINT64) {
        $actions = new CLink(S_GRAPH, 'history.php?action=showgraph&itemid=' . $db_item['itemid'], 'action');
    } else {
        $actions = new CLink(S_HISTORY, 'history.php?action=showvalues&period=3600&itemid=' . $db_item['itemid'], 'action');
    }
    array_push($app_rows, new CRow(array(is_show_subnodes() ? $db_host['item_cnt'] ? SPACE : get_node_name_by_elid($db_item['itemid']) : null, $_REQUEST['hostid'] ? NULL : ($db_host['item_cnt'] ? SPACE : $db_item['host']), str_repeat(SPACE, 6) . $description, $lastclock, new CCol($lastvalue), $change, $actions)));
}
unset($app_rows);
unset($db_host);
foreach ($db_hosts as $hostid => $db_host) {
    if (!isset($tab_rows[$hostid])) {
        continue;
    }
    $app_rows = $tab_rows[$hostid];
    if (uint_in_array(0, $_REQUEST['applications']) || isset($show_all_apps)) {
        $url = '?close=1&applicationid=0' . url_param('groupid') . url_param('hostid') . url_param('applications') . url_param('select');
        $link = new CLink(new CImg('images/general/opened.gif'), $url);
        //			$link = new CLink(new CImg('images/general/opened.gif'),$url,null,"javascript: return updater.onetime_update('".ZBX_PAGE_MAIN_HAT."','".$url."');");
    } else {
        $url = '?open=1&applicationid=0' . url_param('groupid') . url_param('hostid') . url_param('applications') . url_param('select');
        $link = new CLink(new CImg('images/general/closed.gif'), $url);
        //			$link = new CLink(new CImg('images/general/closed.gif'),$url,null,"javascript: return updater.onetime_update('".ZBX_PAGE_MAIN_HAT."','".$url."');");
    }
    $col = new CCol(array($link, SPACE, bold(S_MINUS_OTHER_MINUS), SPACE . '(' . $db_host['item_cnt'] . SPACE . S_ITEMS . ')'));
    $col->SetColSpan(5);
    $table->AddRow(array(get_node_name_by_elid($db_host['hostid']), $_REQUEST['hostid'] > 0 ? NULL : $db_host['host'], $col));
    foreach ($app_rows as $row) {
        $table->AddRow($row);
    }
}
开发者ID:rennhak,项目名称:zabbix,代码行数:31,代码来源:latest.php

示例7: DBend

                    /*				if($result){
                    					add_audit(AUDIT_ACTION_DELETE,AUDIT_RESOURCE_HOST_GROUP,
                    					S_HOST_GROUP.' ['.$group['name'].' ] ['.$group['groupid'].']');
                    				}*/
                }
                $result = DBend($result);
                show_messages(true, S_GROUP_DELETED, S_CANNOT_DELETE_GROUP);
            } else {
                if (str_in_array($_REQUEST['go'], array('activate', 'disable'))) {
                    $result = true;
                    $status = $_REQUEST['go'] == 'activate' ? HOST_STATUS_MONITORED : HOST_STATUS_NOT_MONITORED;
                    $groups = get_request('groups', array());
                    $db_hosts = DBselect('select h.hostid, hg.groupid ' . ' from hosts_groups hg, hosts h' . ' where h.hostid=hg.hostid ' . ' and h.status in (' . HOST_STATUS_MONITORED . ',' . HOST_STATUS_NOT_MONITORED . ')' . ' and ' . DBin_node('h.hostid'));
                    DBstart();
                    while ($db_host = DBfetch($db_hosts)) {
                        if (!uint_in_array($db_host['groupid'], $groups)) {
                            continue;
                        }
                        $host = get_host_by_hostid($db_host['hostid']);
                        $result &= update_host_status($db_host['hostid'], $status);
                        /*			add_audit(AUDIT_ACTION_UPDATE,AUDIT_RESOURCE_HOST,
                        				'Old status ['.$host['status'].'] '.'New status ['.$status.']');*/
                    }
                    $result = DBend($result);
                    show_messages($result, S_HOST_STATUS_UPDATED, S_CANNOT_UPDATE_HOST);
                    unset($_REQUEST['activate']);
                }
            }
        }
    }
}
开发者ID:phedders,项目名称:zabbix,代码行数:31,代码来源:hostgroups.php

示例8: delete_template_graphs

function delete_template_graphs($hostid, $templateids = null, $unlink_mode = false)
{
    zbx_value2array($templateids);
    $db_graphs = get_graphs_by_hostid($hostid);
    while ($db_graph = DBfetch($db_graphs)) {
        if ($db_graph['templateid'] == 0) {
            continue;
        }
        if (!is_null($templateids)) {
            $tmp_hhosts = get_hosts_by_graphid($db_graph['templateid']);
            $tmp_host = DBfetch($tmp_hhosts);
            if (!uint_in_array($tmp_host['hostid'], $templateids)) {
                continue;
            }
        }
        if ($unlink_mode) {
            if (DBexecute('UPDATE graphs SET templateid=0 WHERE graphid=' . $db_graph['graphid'])) {
                info('Graph "' . $db_graph['name'] . '" unlinked');
            }
        } else {
            delete_graph($db_graph['graphid']);
        }
    }
}
开发者ID:phedders,项目名称:zabbix,代码行数:24,代码来源:graphs.inc.php

示例9: draw

 public function draw()
 {
     $start_time = microtime(true);
     set_image_header();
     $this->column = uint_in_array($this->type, array(GRAPH_TYPE_COLUMN, GRAPH_TYPE_COLUMN_STACKED));
     $this->fullSizeX = $this->sizeX;
     $this->fullSizeY = $this->sizeY;
     if ($this->sizeX < 300 || $this->sizeY < 200) {
         $this->showLegend(0);
     }
     $this->calcShifts();
     $this->sizeX -= $this->shiftXleft + $this->shiftXright + $this->shiftlegendright + $this->shiftXCaptionLeft + $this->shiftXCaptionRight;
     $this->sizeY -= $this->shiftY + $this->shiftYLegend + $this->shiftYCaptionBottom + $this->shiftYCaptionTop;
     $this->calcSeriesWidth();
     $this->calcMiniMax();
     $this->correctMiniMax();
     if (function_exists('imagecolorexactalpha') && function_exists('imagecreatetruecolor') && @imagecreatetruecolor(1, 1)) {
         $this->im = imagecreatetruecolor($this->fullSizeX, $this->fullSizeY);
     } else {
         $this->im = imagecreate($this->fullSizeX, $this->fullSizeY);
     }
     $this->initColors();
     $this->drawRectangle();
     $this->drawHeader();
     $this->drawGrid();
     $this->drawSideValues();
     $this->drawLogo();
     $this->drawLegend();
     $count = 0;
     if ($this->column) {
         $start = $this->shiftXleft + $this->shiftXCaptionLeft + floor($this->seriesDistance / 2);
     } else {
         $start = $this->sizeY + $this->shiftY + $this->shiftYCaptionTop - floor($this->seriesDistance / 2);
     }
     foreach ($this->series as $key => $series) {
         foreach ($series as $num => $serie) {
             $axis = $serie['axis'];
             $value = $serie['value'];
             $color = $this->getColor($this->seriesColor[$num], $this->opacity);
             if ($this->column) {
                 imagefilledrectangle($this->im, $start, $this->sizeY + $this->shiftY + $this->shiftYCaptionTop - round($this->sizeY / $this->maxValue[$axis] * $value), $start + $this->columnWidth, $this->sizeY + $this->shiftY + $this->shiftYCaptionTop, $color);
                 imagerectangle($this->im, $start, $this->sizeY + $this->shiftY + $this->shiftYCaptionTop - round($this->sizeY / $this->maxValue[$axis] * $value), $start + $this->columnWidth, $this->sizeY + $this->shiftY + $this->shiftYCaptionTop, $this->getColor('Black No Alpha'));
             } else {
                 imagefilledrectangle($this->im, $this->shiftXleft + $this->shiftXCaptionLeft, $start - $this->columnWidth, $this->shiftXleft + $this->shiftXCaptionLeft + round($this->sizeX / $this->maxValue[$axis] * $value), $start, $color);
                 imagerectangle($this->im, $this->shiftXleft + $this->shiftXCaptionLeft, $start - $this->columnWidth, $this->shiftXleft + $this->shiftXCaptionLeft + round($this->sizeX / $this->maxValue[$axis] * $value), $start, $this->getColor('Black No Alpha'));
             }
             $start = $this->column ? $start + $this->columnWidth : $start - $this->columnWidth;
         }
         $count++;
         if ($this->column) {
             $start = $count * ($this->seriesWidth + $this->seriesDistance) + $this->shiftXleft + $this->shiftXCaptionLeft + floor($this->seriesDistance / 2);
         } else {
             $start = $this->sizeY + $this->shiftY + $this->shiftYCaptionTop - $count * ($this->seriesWidth + $this->seriesDistance) - floor($this->seriesDistance / 2);
         }
     }
     $str = sprintf('%0.2f', microtime(true) - $start_time);
     $str = _s('Generated in %s sec', $str);
     $strSize = imageTextSize(6, 0, $str);
     imageText($this->im, 6, 0, $this->fullSizeX - $strSize['width'] - 5, $this->fullSizeY - 5, $this->getColor('Gray'), $str);
     unset($this->items, $this->data);
     imageOut($this->im);
 }
开发者ID:SandipSingh14,项目名称:Zabbix_,代码行数:62,代码来源:CBarGraphDraw.php

示例10: get_regexp_form

function get_regexp_form()
{
    $frm_title = S_REGULAR_EXPRESSION;
    if (isset($_REQUEST['regexpid']) && !isset($_REQUEST["form_refresh"])) {
        $sql = 'SELECT re.* ' . ' FROM regexps re ' . ' WHERE ' . DBin_node('re.regexpid') . ' AND re.regexpid=' . $_REQUEST['regexpid'];
        $regexp = DBfetch(DBSelect($sql));
        $frm_title .= ' [' . $regexp['name'] . ']';
        $rename = $regexp['name'];
        $test_string = $regexp['test_string'];
        $expressions = array();
        $sql = 'SELECT e.* ' . ' FROM expressions e ' . ' WHERE ' . DBin_node('e.expressionid') . ' AND e.regexpid=' . $regexp['regexpid'] . ' ORDER BY e.expression_type';
        $db_exps = DBselect($sql);
        while ($exp = DBfetch($db_exps)) {
            $expressions[] = $exp;
        }
    } else {
        $rename = get_request('rename', '');
        $test_string = get_request('test_string', '');
        $expressions = get_request('expressions', array());
    }
    $tblRE = new CTable('', 'nowrap');
    $tblRE->addStyle('border-left: 1px #AAA solid; border-right: 1px #AAA solid; background-color: #EEE; padding: 2px; padding-left: 6px; padding-right: 6px;');
    $tblRE->addRow(array(S_NAME, new CTextBox('rename', $rename, 60)));
    $tblRE->addRow(array(S_TEST_STRING, new CTextArea('test_string', $test_string, 66, 5)));
    $tabExp = new CTableInfo();
    $td1 = new CCol(S_EXPRESSION);
    $td1->addStyle('background-color: #CCC;');
    $td2 = new CCol(S_EXPECTED_RESULT);
    $td2->addStyle('background-color: #CCC;');
    $td3 = new CCol(S_RESULT);
    $td3->addStyle('background-color: #CCC;');
    $tabExp->setHeader(array($td1, $td2, $td3));
    $final_result = !empty($test_string);
    foreach ($expressions as $id => $expression) {
        $results = array();
        $paterns = array($expression['expression']);
        if (!empty($test_string)) {
            if ($expression['expression_type'] == EXPRESSION_TYPE_ANY_INCLUDED) {
                $paterns = explode($expression['exp_delimiter'], $expression['expression']);
            }
            if (uint_in_array($expression['expression_type'], array(EXPRESSION_TYPE_TRUE, EXPRESSION_TYPE_FALSE))) {
                if ($expression['case_sensitive']) {
                    $results[$id] = ereg($paterns[0], $test_string);
                } else {
                    $results[$id] = eregi($paterns[0], $test_string);
                }
                if ($expression['expression_type'] == EXPRESSION_TYPE_TRUE) {
                    $final_result &= $results[$id];
                } else {
                    $final_result &= !$results[$id];
                }
            } else {
                $results[$id] = true;
                $tmp_result = false;
                if ($expression['case_sensitive']) {
                    foreach ($paterns as $pid => $patern) {
                        $tmp_result |= zbx_stristr($test_string, $patern) !== false;
                    }
                } else {
                    foreach ($paterns as $pid => $patern) {
                        $tmp_result |= zbx_strstr($test_string, $patern) !== false;
                    }
                }
                $results[$id] &= $tmp_result;
                $final_result &= $results[$id];
            }
        }
        if (isset($results[$id]) && $results[$id]) {
            $exp_res = new CSpan(S_TRUE_BIG, 'green bold');
        } else {
            $exp_res = new CSpan(S_FALSE_BIG, 'red bold');
        }
        $expec_result = expression_type2str($expression['expression_type']);
        if (EXPRESSION_TYPE_ANY_INCLUDED == $expression['expression_type']) {
            $expec_result .= ' (' . S_DELIMITER . "='" . $expression['exp_delimiter'] . "')";
        }
        $tabExp->addRow(array($expression['expression'], $expec_result, $exp_res));
    }
    $td = new CCol(S_COMBINED_RESULT, 'bold');
    $td->setColSpan(2);
    if ($final_result) {
        $final_result = new CSpan(S_TRUE_BIG, 'green bold');
    } else {
        $final_result = new CSpan(S_FALSE_BIG, 'red bold');
    }
    $tabExp->addRow(array($td, $final_result));
    $tblRE->addRow(array(S_RESULT, $tabExp));
    $tblFoot = new CTableInfo(null);
    $td = new CCol(array(new CButton('save', S_SAVE)));
    $td->setColSpan(2);
    $td->addStyle('text-align: right;');
    $td->addItem(SPACE);
    $td->addItem(new CButton('test', S_TEST));
    if (isset($_REQUEST['regexpid'])) {
        $td->addItem(SPACE);
        $td->addItem(new CButton('clone', S_CLONE));
        $td->addItem(SPACE);
        $td->addItem(new CButtonDelete(S_DELETE_REGULAR_EXPRESSION_Q, url_param('form') . url_param('config') . url_param('regexpid')));
    }
    $td->addItem(SPACE);
//.........这里部分代码省略.........
开发者ID:rennhak,项目名称:zabbix,代码行数:101,代码来源:forms.inc.php

示例11: elseif

    }
} elseif (isset($_REQUEST['delete']) && isset($_REQUEST['triggerid'])) {
    DBstart();
    $result = API::Trigger()->delete($_REQUEST['triggerid']);
    $result = DBend($result);
    show_messages($result, _('Trigger deleted'), _('Cannot delete trigger'));
    clearCookies($result, $_REQUEST['hostid']);
    if ($result) {
        unset($_REQUEST['form'], $_REQUEST['triggerid']);
    }
} elseif (isset($_REQUEST['add_dependency']) && isset($_REQUEST['new_dependency'])) {
    if (!isset($_REQUEST['dependencies'])) {
        $_REQUEST['dependencies'] = array();
    }
    foreach ($_REQUEST['new_dependency'] as $triggerid) {
        if (!uint_in_array($triggerid, $_REQUEST['dependencies'])) {
            array_push($_REQUEST['dependencies'], $triggerid);
        }
    }
} elseif ($_REQUEST['go'] == 'massupdate' && isset($_REQUEST['mass_save']) && isset($_REQUEST['g_triggerid'])) {
    $visible = get_request('visible', array());
    // update triggers
    $triggersToUpdate = array();
    foreach ($_REQUEST['g_triggerid'] as $triggerid) {
        $trigger = array('triggerid' => $triggerid);
        if (isset($visible['priority'])) {
            $trigger['priority'] = get_request('priority');
        }
        if (isset($visible['dependencies'])) {
            $trigger['dependencies'] = zbx_toObject(get_request('dependencies', array()), 'triggerid');
        }
开发者ID:SandipSingh14,项目名称:Zabbix_,代码行数:31,代码来源:triggers.php

示例12: StartElement

 function StartElement($parser, $name, $attrs)
 {
     $this->element_data = '';
     if (!isset($this->root)) {
         if ($name == XML_TAG_ZABBIX_EXPORT) {
             if (isset($attrs['version'])) {
                 if ($attrs['version'] == '1.0') {
                     $this->root = true;
                     return;
                 } else {
                     error(S_UNSUPPORTED_VERSION_OF_IMPORTED_DATA);
                 }
             }
         }
         error(S_UNSUPPORTED_FILE_FORMAT);
         $this->root = false;
     } else {
         if (!$this->root) {
             return false;
         }
     }
     $data =& $this->data[$name];
     foreach ($attrs as $id => $val) {
         $attrs[$id] = html_entity_decode($val);
     }
     switch ($name) {
         case XML_TAG_HOST:
             $this->main_node = array($name);
             $this->sub_node = null;
             $data = $attrs;
             $data['groups'] = array();
             $data['skip'] = false;
             $sql = 'SELECT hostid ' . ' FROM hosts' . ' WHERE host=' . zbx_dbstr($data['name']) . ' AND status IN (' . HOST_STATUS_MONITORED . ',' . HOST_STATUS_NOT_MONITORED . ',' . HOST_STATUS_TEMPLATE . ')' . ' AND ' . DBin_node('hostid', get_current_nodeid(false));
             if ($host_data = DBfetch(DBselect($sql))) {
                 /* exist */
                 if ($this->host['exist'] == 1) {
                     $data['skip'] = true;
                     info('Host [' . $data['name'] . '] skipped - user rule');
                     break;
                     // case
                 }
                 if (!isset($this->available_hosts[$host_data['hostid']])) {
                     error('Host [' . $data['name'] . '] skipped - Access deny.');
                     break;
                     // case
                 }
                 $data['hostid'] = $host_data['hostid'];
                 $data['templates'] = get_templates_by_hostid($host_data['hostid']);
                 $data['groups'] = get_groupids_by_host($host_data['hostid']);
             } else {
                 /* missed */
                 if ($this->host['missed'] == 1) {
                     /* skip */
                     $data['skip'] = true;
                     info('Host [' . $data['name'] . '] skipped - user rule');
                     break;
                     // case
                 }
                 if (!uint_in_array(get_current_nodeid(), $this->available_nodes)) {
                     error('Host [' . $data['name'] . '] skipped - access denied.');
                     break;
                     // case
                 }
                 $data['templates'] = array();
                 $data['hostid'] = add_host($data['name'], 10050, HOST_STATUS_TEMPLATE, 0, '', '', 0, array(), 'no', '', 623, -1, 2, '', '', null, array());
             }
             break;
             // case
         // case
         case XML_TAG_GRAPH:
             $data = $attrs;
             $data['items'] = array();
             $this->sub_node = null;
             array_push($this->main_node, $name);
             break;
             // case
         // case
         case XML_TAG_DEPENDENCY:
             // checks if trigger has been skipped
             if (str_in_array($attrs['description'], $this->data[XML_TAG_DEPENDENCIES]['skip'])) {
                 info('Trigger [' . $attrs['description'] . '] dependency update skipped - user rule');
                 break;
             }
             // searches trigger by host name & trigger description
             if (!($trigger_down = get_trigger_by_description($attrs['description']))) {
                 error('Trigger [' . $attrs['description'] . '] dependency update skipped - trigger not found');
                 break;
             }
             $data['triggerid_down'] = $trigger_down['triggerid'];
             $data['triggerid_up'] = array();
             $this->sub_node = null;
             array_push($this->main_node, $name);
             break;
         case XML_TAG_HOSTPROFILE:
         case XML_TAG_HOSTPROFILE_EXT:
         case XML_TAG_TEMPLATE:
         case XML_TAG_ITEM:
         case XML_TAG_TRIGGER:
         case XML_TAG_DEPENDS:
         case XML_TAG_GRAPH_ELEMENT:
//.........这里部分代码省略.........
开发者ID:phedders,项目名称:zabbix,代码行数:101,代码来源:import.inc.php

示例13: get_viewed_nodes

function get_viewed_nodes($options = array())
{
    global $USER_DETAILS;
    global $ZBX_LOCALNODEID, $ZBX_AVAILABLE_NODES;
    $config = select_config();
    $def_options = array('allow_all' => 0);
    $options = zbx_array_merge($def_options, $options);
    $result = array('selected' => 0, 'nodes' => array(), 'nodeids' => array());
    if (!defined('ZBX_NOT_ALLOW_ALL_NODES')) {
        $result['nodes'][0] = array('nodeid' => 0, 'name' => S_ALL_S);
    }
    $available_nodes = get_accessible_nodes_by_user($USER_DETAILS, PERM_READ_LIST, PERM_RES_DATA_ARRAY);
    $available_nodes = get_tree_by_parentid($ZBX_LOCALNODEID, $available_nodes, 'masterid');
    //remove parent nodes
    // $selected_nodeids = get_request('selected_nodes', CProfile::get('web.nodes.selected', array($USER_DETAILS['node']['nodeid'])));
    $selected_nodeids = get_request('selected_nodes', get_node_profile(array($USER_DETAILS['node']['nodeid'])));
    // +++ Fill $result['NODEIDS'], $result['NODES'] +++
    $nodes = array();
    $nodeids = array();
    foreach ($selected_nodeids as $num => $nodeid) {
        if (isset($available_nodes[$nodeid])) {
            $result['nodes'][$nodeid] = array('nodeid' => $available_nodes[$nodeid]['nodeid'], 'name' => $available_nodes[$nodeid]['name'], 'masterid' => $available_nodes[$nodeid]['masterid']);
            $nodeids[$nodeid] = $nodeid;
        }
    }
    // --- ---
    $switch_node = get_request('switch_node', CProfile::get('web.nodes.switch_node', -1));
    if (!isset($available_nodes[$switch_node]) || !uint_in_array($switch_node, $selected_nodeids)) {
        //check switch_node
        $switch_node = 0;
    }
    $result['nodeids'] = $nodeids;
    if (!defined('ZBX_NOT_ALLOW_ALL_NODES')) {
        $result['selected'] = $switch_node;
    } else {
        if (!empty($nodeids)) {
            $result['selected'] = $switch_node > 0 ? $switch_node : array_shift($nodeids);
        }
    }
    return $result;
}
开发者ID:songyuanjie,项目名称:zabbix-stats,代码行数:41,代码来源:nodes.inc.php

示例14: get_screen_item_form


//.........这里部分代码省略.........
                        $caption = '(' . $nodeName . ') ' . $caption;
                    }
                }
                $form->addVar('resourceid', $id);
                $textfield = new Ctextbox('caption', $caption, 60, 'yes');
                $selectbtn = new Cbutton('select', S_SELECT, "javascript: return PopUp('popup.php?writeonly=1&dstfrm=" . $form->getName() . "&dstfld1=resourceid&dstfld2=caption&srctbl=sysmaps&srcfld1=sysmapid&srcfld2=name',400,450);");
                $selectbtn->setAttribute('onmouseover', "javascript: this.style.cursor = 'pointer';");
                $form->addRow(S_PARAMETER, array($textfield, SPACE, $selectbtn));
            } else {
                if ($resourcetype == SCREEN_RESOURCE_PLAIN_TEXT) {
                    // Plain text
                    $options = array('itemids' => $resourceid, 'select_hosts' => array('hostid', 'host'), 'output' => API_OUTPUT_EXTEND);
                    $items = CItem::get($options);
                    $caption = '';
                    $id = 0;
                    if (!empty($items)) {
                        $id = $resourceid;
                        $item = reset($items);
                        $item['host'] = reset($item['hosts']);
                        $caption = item_description($item);
                        $nodeName = get_node_name_by_elid($item['itemid']);
                        if (!zbx_empty($nodeName)) {
                            $caption = '(' . $nodeName . ') ' . $caption;
                        }
                    }
                    $form->addVar('resourceid', $id);
                    $textfield = new CTextbox('caption', $caption, 75, 'yes');
                    $selectbtn = new CButton('select', S_SELECT, "javascript: return PopUp('popup.php?writeonly=1&dstfrm=" . $form->getName() . "&dstfld1=resourceid&dstfld2=caption&srctbl=plain_text&srcfld1=itemid&srcfld2=description',800,450);");
                    $selectbtn->setAttribute('onmouseover', "javascript: this.style.cursor = 'pointer';");
                    $form->addRow(S_PARAMETER, array($textfield, SPACE, $selectbtn));
                    $form->addRow(S_SHOW_LINES, new CNumericBox('elements', $elements, 2));
                    $form->addRow(S_SHOW_TEXT_AS_HTML, new CCheckBox('style', $style, null, 1));
                } else {
                    if (uint_in_array($resourcetype, array(SCREEN_RESOURCE_HOSTGROUP_TRIGGERS, SCREEN_RESOURCE_HOST_TRIGGERS))) {
                        // Status of triggers
                        $caption = '';
                        $id = 0;
                        if (SCREEN_RESOURCE_HOSTGROUP_TRIGGERS == $resourcetype) {
                            if ($resourceid > 0) {
                                $options = array('groupids' => $resourceid, 'output' => API_OUTPUT_EXTEND, 'editable' => 1);
                                $groups = CHostgroup::get($options);
                                foreach ($groups as $gnum => $group) {
                                    $caption = get_node_name_by_elid($group['groupid'], true, ':') . $group['name'];
                                    $id = $resourceid;
                                }
                            }
                            $form->addVar('resourceid', $id);
                            $textfield = new CTextbox('caption', $caption, 60, 'yes');
                            $selectbtn = new CButton('select', S_SELECT, "javascript: return PopUp('popup.php?writeonly=1&dstfrm=" . $form->getName() . "&dstfld1=resourceid&dstfld2=caption&srctbl=host_group&srcfld1=groupid&srcfld2=name',800,450);");
                            $selectbtn->setAttribute('onmouseover', "javascript: this.style.cursor = 'pointer';");
                            $form->addRow(S_GROUP, array($textfield, SPACE, $selectbtn));
                        } else {
                            if ($resourceid > 0) {
                                $options = array('hostids' => $resourceid, 'output' => API_OUTPUT_EXTEND, 'editable' => 1);
                                $hosts = CHost::get($options);
                                foreach ($hosts as $hnum => $host) {
                                    $caption = get_node_name_by_elid($host['hostid'], true, ':') . $host['host'];
                                    $id = $resourceid;
                                }
                            }
                            $form->addVar('resourceid', $id);
                            $textfield = new CTextbox('caption', $caption, 60, 'yes');
                            $selectbtn = new CButton('select', S_SELECT, "javascript: return PopUp('popup.php?writeonly=1&dstfrm=" . $form->getName() . "&dstfld1=resourceid&dstfld2=caption&srctbl=hosts&srcfld1=hostid&srcfld2=host',800,450);");
                            $selectbtn->setAttribute('onmouseover', "javascript: this.style.cursor = 'pointer';");
                            $form->addRow(S_HOST, array($textfield, SPACE, $selectbtn));
                        }
开发者ID:songyuanjie,项目名称:zabbix-stats,代码行数:67,代码来源:screens.inc.php

示例15: zbx_uint_array_intersect

function zbx_uint_array_intersect(&$array1, &$array2)
{
    $result = array();
    foreach ($array1 as $key => $value) {
        if (uint_in_array($value, $array2)) {
            $result[$key] = $value;
        }
    }
    return $result;
}
开发者ID:itnihao,项目名称:Zabbix_,代码行数:10,代码来源:func.inc.php


注:本文中的uint_in_array函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。