コード例 #1
0
ファイル: slides.php プロジェクト: jbfavre/debian-zabbix
if ($data['screen']) {
    $data['elementId'] = getRequest('elementid');
    CProfile::update('web.slides.elementid', getRequest('elementid'), PROFILE_TYPE_ID);
} else {
    $data['elementId'] = CProfile::get('web.slides.elementid');
    $data['screen'] = get_slideshow_by_slideshowid($data['elementId'], PERM_READ);
    if (!$data['screen']) {
        // Redirect to slide show list.
        ob_end_clean();
        redirect('slideconf.php');
    }
}
$data['fullscreen'] = getRequest('fullscreen');
if ($data['screen']) {
    // get groups and hosts
    if (check_dynamic_items($data['elementId'], 1)) {
        $data['isDynamicItems'] = true;
        $data['pageFilter'] = new CPageFilter(['groups' => ['monitored_hosts' => true, 'with_items' => true], 'hosts' => ['monitored_hosts' => true, 'with_items' => true, 'DDFirstLabel' => _('not selected')], 'hostid' => getRequest('hostid'), 'groupid' => getRequest('groupid')]);
        $data['groupid'] = $data['pageFilter']->groupid;
        $data['hostid'] = $data['pageFilter']->hostid;
    }
    // get element
    $data['element'] = get_slideshow_by_slideshowid($data['elementId'], PERM_READ);
    $data['screen']['editable'] = (bool) get_slideshow_by_slideshowid($data['elementId'], PERM_READ_WRITE);
    if ($data['screen']['delay'] > 0) {
        $data['element']['delay'] = $data['screen']['delay'];
    }
    show_messages();
}
// refresh
$data['refreshMultiplier'] = CProfile::get('web.slides.rf_rate.' . WIDGET_SLIDESHOW, 1, $data['elementId']);
コード例 #2
0
    // if elementid is used to fetch an element, saving it in profile
    if (!$this->data['use_screen_name']) {
        CProfile::update('web.screens.elementid', $screen['screenid'], PROFILE_TYPE_ID);
    }
    // page header
    $screenWidget->addPageHeader(_('SCREENS'), array($headerForm, SPACE, get_icon('favourite', array('fav' => 'web.favorite.screenids', 'elname' => 'screenid', 'elid' => $screen['screenid'])), SPACE, get_icon('fullscreen', array('fullscreen' => $this->data['fullscreen']))));
    $screenWidget->addItem(BR());
    // append screens combobox to page header
    $headerForm = new CForm('get');
    $headerForm->setName('headerForm');
    $headerForm->addVar('fullscreen', $this->data['fullscreen']);
    $elementsComboBox = new CComboBox('elementid', $screen['screenid'], 'submit()');
    foreach ($this->data['screens'] as $dbScreen) {
        $elementsComboBox->addItem($dbScreen['screenid'], htmlspecialchars(get_node_name_by_elid($dbScreen['screenid'], null, NAME_DELIMITER) . $dbScreen['name']));
    }
    $headerForm->addItem(array(_('Screens') . SPACE, $elementsComboBox));
    if (check_dynamic_items($screen['screenid'], 0)) {
        $pageFilter = new CPageFilter(array('groups' => array('monitored_hosts' => true, 'with_items' => true), 'hosts' => array('monitored_hosts' => true, 'with_items' => true, 'DDFirstLabel' => _('Default')), 'hostid' => get_request('hostid', null), 'groupid' => get_request('groupid', null)));
        $_REQUEST['groupid'] = $pageFilter->groupid;
        $_REQUEST['hostid'] = $pageFilter->hostid;
        $headerForm->addItem(array(SPACE, _('Group'), SPACE, $pageFilter->getGroupsCB(true)));
        $headerForm->addItem(array(SPACE, _('Host'), SPACE, $pageFilter->getHostsCB(true)));
    }
    $screenWidget->addHeader($screen['name'], $headerForm);
    // append screens to widget
    $screenBuilder = new CScreenBuilder(array('screenid' => $screen['screenid'], 'mode' => SCREEN_MODE_PREVIEW, 'profileIdx' => 'web.screens', 'profileIdx2' => $screen['screenid'], 'groupid' => get_request('groupid'), 'hostid' => get_request('hostid'), 'period' => $this->data['period'], 'stime' => $this->data['stime']));
    $screenWidget->addItem($screenBuilder->show());
    CScreenBuilder::insertScreenStandardJs(array('timeline' => $screenBuilder->timeline, 'profileIdx' => $screenBuilder->profileIdx));
    $screenWidget->addItem(BR());
}
return $screenWidget;
コード例 #3
0
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
**/
$widget = (new CWidget())->setTitle(_('Screens'))->addItem((new CList())->addClass(ZBX_STYLE_OBJECT_GROUP)->addItem([(new CSpan())->addItem(new CLink(_('All screens'), 'screenconf.php')), '/', (new CSpan())->addClass(ZBX_STYLE_SELECTED)->addItem(new CLink($data['screen']['name'], 'screens.php?elementid=' . $data['screen']['screenid'] . '&fullscreen=' . $data['fullscreen']))]))->addItem((new CFilter('web.screens.filter.state'))->addNavigator());
$controls = (new CList())->addItem(new CComboBox('config', 'screens.php', 'redirect(this.options[this.selectedIndex].value);', ['screens.php' => _('Screens'), 'slides.php' => _('Slide shows')]));
// Append screens combobox to page header.
$form = (new CForm())->setName('headerForm')->addVar('fullscreen', $data['fullscreen']);
if (check_dynamic_items($data['screen']['screenid'], 0)) {
    $pageFilter = new CPageFilter(['groups' => ['monitored_hosts' => true, 'with_items' => true], 'hosts' => ['monitored_hosts' => true, 'with_items' => true, 'DDFirstLabel' => _('not selected')], 'hostid' => getRequest('hostid'), 'groupid' => getRequest('groupid')]);
    $_REQUEST['groupid'] = $pageFilter->groupid;
    $_REQUEST['hostid'] = $pageFilter->hostid;
    $controls->addItem([_('Group') . SPACE, $pageFilter->getGroupsCB()])->addItem([_('Host') . SPACE, $pageFilter->getHostsCB()]);
}
// page header
$controls->addItem($data['screen']['editable'] ? (new CButton('edit', _('Edit screen')))->onClick('redirect("screenedit.php?screenid=' . $data['screen']['screenid'] . '")') : null)->addItem(get_icon('favourite', ['fav' => 'web.favorite.screenids', 'elname' => 'screenid', 'elid' => $data['screen']['screenid']]))->addItem(get_icon('fullscreen', ['fullscreen' => $data['fullscreen']]));
$form->addItem($controls);
$widget->setControls($form);
// Append screens to widget.
$screenBuilder = new CScreenBuilder(['screenid' => $data['screen']['screenid'], 'mode' => SCREEN_MODE_PREVIEW, 'profileIdx' => 'web.screens', 'profileIdx2' => $data['screen']['screenid'], 'groupid' => getRequest('groupid'), 'hostid' => getRequest('hostid'), 'period' => $data['period'], 'stime' => $data['stime']]);
$widget->addItem((new CDiv($screenBuilder->show()))->addClass(ZBX_STYLE_TABLE_FORMS_CONTAINER));
CScreenBuilder::insertScreenStandardJs(['timeline' => $screenBuilder->timeline, 'profileIdx' => $screenBuilder->profileIdx]);
return $widget;
コード例 #4
0
ファイル: slides.php プロジェクト: phedders/zabbix
        $element_correct = 1;
    }
    if (!isset($first_element)) {
        $first_element = $row['elementid'];
    }
}
if (!isset($element_correct) && isset($first_element)) {
    $elementid = $first_element;
}
if (isset($elementid) && !slideshow_accessible($elementid, PERM_READ_ONLY)) {
    access_deny();
}
if ($cmbElements->ItemsCount() > 0) {
    $form->addItem(array(SPACE . S_SLIDESHOW . SPACE, $cmbElements));
}
if (2 != $_REQUEST['fullscreen'] && !empty($elementid) && check_dynamic_items($elementid, 1)) {
    if (!isset($_REQUEST['hostid'])) {
        $_REQUEST['groupid'] = $_REQUEST['hostid'] = 0;
    }
    $options = array('allow_all_hosts', 'monitored_hosts', 'with_items');
    if (!$ZBX_WITH_ALL_NODES) {
        array_push($options, 'only_current_node');
    }
    $params = array();
    foreach ($options as $option) {
        $params[$option] = 1;
    }
    $PAGE_GROUPS = get_viewed_groups(PERM_READ_ONLY, $params);
    $PAGE_HOSTS = get_viewed_hosts(PERM_READ_ONLY, $PAGE_GROUPS['selected'], $params);
    //SDI($_REQUEST['groupid'].' : '.$_REQUEST['hostid']);
    validate_group_with_host($PAGE_GROUPS, $PAGE_HOSTS);
コード例 #5
0
ファイル: screens.php プロジェクト: songyuanjie/zabbix-stats
 $form->addVar('fullscreen', $_REQUEST['fullscreen']);
 $cmbElements = new CComboBox('elementid', $screen['screenid'], 'submit()');
 foreach ($screens as $snum => $scr) {
     /**
      * Adding htmlspecialchars function to output of the screen name, so
      * that it would be available to use symbols like ">" in screen names
      * @see ZBX-2844
      * @author Konstantin Buravcov
      */
     $displayed_screen_name = htmlspecialchars(get_node_name_by_elid($scr['screenid'], null, ': ') . $scr['name']);
     $cmbElements->addItem($scr['screenid'], $displayed_screen_name);
 }
 $form->addItem(array(S_SCREENS . SPACE, $cmbElements));
 $screens_wdgt->addHeader($element_name, $form);
 // }}} HEADER
 if (2 != $_REQUEST['fullscreen'] && check_dynamic_items($screen['screenid'], 0)) {
     if (!isset($_REQUEST['hostid'])) {
         $_REQUEST['groupid'] = $_REQUEST['hostid'] = 0;
     }
     $options = array('allow_all_hosts', 'monitored_hosts', 'with_items');
     if (!$ZBX_WITH_ALL_NODES) {
         array_push($options, 'only_current_node');
     }
     $params = array();
     foreach ($options as $option) {
         $params[$option] = 1;
     }
     $PAGE_GROUPS = get_viewed_groups(PERM_READ_ONLY, $params);
     $PAGE_HOSTS = get_viewed_hosts(PERM_READ_ONLY, $PAGE_GROUPS['selected'], $params);
     //SDI($_REQUEST['groupid'].' : '.$_REQUEST['hostid']);
     validate_group_with_host($PAGE_GROUPS, $PAGE_HOSTS);