protected function doAction() { $profile = ['graphid' => 'web.favorite.graphids', 'itemid' => 'web.favorite.graphids', 'screenid' => 'web.favorite.screenids', 'slideshowid' => 'web.favorite.screenids', 'sysmapid' => 'web.favorite.sysmapids']; $object = $this->getInput('object'); $objectid = $this->getInput('objectid'); $data = []; DBstart(); $result = CFavorite::add($profile[$object], $objectid, $object); $result = DBend($result); if ($result) { $data['main_block'] = '$("addrm_fav").title = "' . _('Remove from favourites') . '";' . "\n" . '$("addrm_fav").onclick = function() { rm4favorites("' . $object . '", "' . $objectid . '"); }' . "\n" . 'switchElementClass("addrm_fav", "btn-add-fav", "btn-remove-fav");'; } else { $data['main_block'] = ''; } $this->setResponse(new CControllerResponseData($data)); }
$pageFilter = new CPageFilter(array('groups' => array('real_hosts' => true, 'with_graphs' => true), 'hosts' => array('with_graphs' => true), 'groupid' => getRequest('groupid'), 'hostid' => getRequest('hostid'), 'graphs' => array('templated' => 0), 'graphid' => getRequest('graphid'))); /* * Ajax */ if (hasRequest('filterState')) { CProfile::update('web.charts.filter.state', getRequest('filterState'), PROFILE_TYPE_INT); } if (isset($_REQUEST['favobj'])) { if (getRequest('favobj') === 'timelinefixedperiod' && hasRequest('favid')) { CProfile::update('web.screens.timelinefixed', getRequest('favid'), PROFILE_TYPE_INT); } if (str_in_array($_REQUEST['favobj'], array('itemid', 'graphid'))) { $result = false; DBstart(); if ($_REQUEST['favaction'] == 'add') { $result = CFavorite::add('web.favorite.graphids', $_REQUEST['favid'], $_REQUEST['favobj']); if ($result) { echo '$("addrm_fav").title = "' . _('Remove from favourites') . '";' . "\n"; echo '$("addrm_fav").onclick = function() { rm4favorites("graphid", "' . $_REQUEST['favid'] . '"); }' . "\n"; } } elseif ($_REQUEST['favaction'] == 'remove') { $result = CFavorite::remove('web.favorite.graphids', $_REQUEST['favid'], $_REQUEST['favobj']); if ($result) { echo '$("addrm_fav").title = "' . _('Add to favourites') . '";' . "\n"; echo '$("addrm_fav").onclick = function() { add2favorites("graphid", "' . $_REQUEST['favid'] . '"); }' . "\n"; } } $result = DBend($result); if ($page['type'] == PAGE_TYPE_JS && $result) { echo 'switchElementClass("addrm_fav", "iconminus", "iconplus");'; }
/* * Filter */ if (isset($_REQUEST['favobj'])) { if ($_REQUEST['favobj'] == 'filter') { CProfile::update('web.screens.filter.state', $_REQUEST['favstate'], PROFILE_TYPE_INT); } if ($_REQUEST['favobj'] == 'timeline') { if (isset($_REQUEST['elementid']) && isset($_REQUEST['period'])) { navigation_bar_calc('web.screens', $_REQUEST['elementid'], true); } } if (str_in_array($_REQUEST['favobj'], array('screenid', 'slideshowid'))) { $result = false; if ($_REQUEST['favaction'] == 'add') { $result = CFavorite::add('web.favorite.screenids', $_REQUEST['favid'], $_REQUEST['favobj']); if ($result) { echo '$("addrm_fav").title = "' . _('Remove from favourites') . '";' . "\n" . '$("addrm_fav").onclick = function() { rm4favorites("' . $_REQUEST['favobj'] . '", "' . $_REQUEST['favid'] . '", 0); }' . "\n"; } } elseif ($_REQUEST['favaction'] == 'remove') { $result = CFavorite::remove('web.favorite.screenids', $_REQUEST['favid'], $_REQUEST['favobj']); if ($result) { echo '$("addrm_fav").title = "' . _('Add to favourites') . '";' . "\n" . '$("addrm_fav").onclick = function() { add2favorites("' . $_REQUEST['favobj'] . '", "' . $_REQUEST['favid'] . '"); }' . "\n"; } } if ($page['type'] == PAGE_TYPE_JS && $result) { echo 'switchElementsClass("addrm_fav", "iconminus", "iconplus");'; } } // saving fixed/dynamic setting to profile if ($_REQUEST['favobj'] == 'timelinefixedperiod') {
} if ($page['type'] == PAGE_TYPE_JS && $result) { $innerHTML = make_favorite_maps(); $innerHTML = $innerHTML->toString(); echo '$("hat_favmap").update(' . zbx_jsvalue($innerHTML) . ');'; $menu = array(); $submenu = array(); echo 'page_submenu["menu_sysmaps"] = ' . zbx_jsvalue(make_sysmap_submenu()) . ';'; } } if (str_in_array($_REQUEST['favobj'], array('screenid', 'slideshowid'))) { $result = false; if ($_REQUEST['favaction'] == 'add') { zbx_value2array($_REQUEST['favid']); foreach ($_REQUEST['favid'] as $sourceid) { $result = CFavorite::add('web.favorite.screenids', $sourceid, $_REQUEST['favobj']); } } elseif ($_REQUEST['favaction'] == 'remove') { $result = CFavorite::remove('web.favorite.screenids', $_REQUEST['favid'], $_REQUEST['favobj']); } if ($page['type'] == PAGE_TYPE_JS && $result) { $innerHTML = make_favorite_screens(); $innerHTML = $innerHTML->toString(); echo '$("hat_favscr").update(' . zbx_jsvalue($innerHTML) . ');'; $menu = array(); $submenu = array(); echo 'page_submenu["menu_screens"] = ' . zbx_jsvalue(make_screen_submenu()) . ';'; } } } if ($page['type'] == PAGE_TYPE_JS || $page['type'] == PAGE_TYPE_HTML_BLOCK) {
// groups CProfile::update('web.dashconf.groups.grpswitch', $_REQUEST['grpswitch'], PROFILE_TYPE_INT); if ($_REQUEST['grpswitch'] == 1) { // show groups $groupIds = getRequest('groupids', array()); $result = true; DBstart(); $result &= CFavorite::remove('web.dashconf.groups.groupids'); foreach ($groupIds as $groupId) { $result &= CFavorite::add('web.dashconf.groups.groupids', $groupId); } // hide groups $hideGroupIds = getRequest('hidegroupids', array()); $result &= CFavorite::remove('web.dashconf.groups.hide.groupids'); foreach ($hideGroupIds as $hideGroupId) { $result &= CFavorite::add('web.dashconf.groups.hide.groupids', $hideGroupId); } DBend($result); } // hosts $_REQUEST['maintenance'] = getRequest('maintenance', 0); CProfile::update('web.dashconf.hosts.maintenance', $_REQUEST['maintenance'], PROFILE_TYPE_INT); // triggers $_REQUEST['trgSeverity'] = getRequest('trgSeverity', array()); $_REQUEST['extAck'] = getRequest('extAck', 0); CProfile::update('web.dashconf.triggers.severity', implode(';', array_keys($_REQUEST['trgSeverity'])), PROFILE_TYPE_STR); CProfile::update('web.dashconf.events.extAck', $_REQUEST['extAck'], PROFILE_TYPE_INT); } jSredirect('dashboard.php'); } elseif (hasRequest('cancel')) { ob_end_clean();
} $data = getFavouriteMaps(); $data = $data->toString(); echo ' jQuery("#' . WIDGET_FAVOURITE_MAPS . '").html(' . CJs::encodeJson($data) . '); jQuery(".menuPopup").remove(); jQuery("#favouriteMaps").data("menu-popup", ' . CJs::encodeJson(CMenuPopupHelper::getFavouriteMaps()) . ');'; break; // favourite screens, slideshows // favourite screens, slideshows case 'screenid': case 'slideshowid': if ($favouriteAction == 'add') { zbx_value2array($favouriteId); foreach ($favouriteId as $id) { $result &= CFavorite::add('web.favorite.screenids', $id, $favouriteObject); } } elseif ($favouriteAction == 'remove') { $result &= CFavorite::remove('web.favorite.screenids', $favouriteId, $favouriteObject); } $data = getFavouriteScreens(); $data = $data->toString(); echo ' jQuery("#' . WIDGET_FAVOURITE_SCREENS . '").html(' . CJs::encodeJson($data) . '); jQuery(".menuPopup").remove(); jQuery("#favouriteScreens").data("menu-popup", ' . CJs::encodeJson(CMenuPopupHelper::getFavouriteScreens()) . ');'; break; } DBend($result); } if ($page['type'] == PAGE_TYPE_JS || $page['type'] == PAGE_TYPE_HTML_BLOCK) {
protected function doAction() { $object = $this->getInput('object'); $operation = $this->getInput('operation'); $objectids = $this->getInput('objectids'); $data = []; $result = true; DBstart(); switch ($object) { // favourite graphs case 'itemid': case 'graphid': zbx_value2array($objectids); foreach ($objectids as $id) { if ($operation == 'create') { $result &= CFavorite::add('web.favorite.graphids', $id, $object); } elseif ($operation == 'delete') { $result &= CFavorite::remove('web.favorite.graphids', $id, $object); } } $graphs = getFavouriteGraphs(); $graphs = $graphs->toString(); $data['main_block'] = 'jQuery("#' . WIDGET_FAVOURITE_GRAPHS . '").html(' . CJs::encodeJson($graphs) . ');' . 'jQuery(".action-menu").remove();' . 'jQuery("#favouriteGraphs").data(' . '"menu-popup", ' . CJs::encodeJson(CMenuPopupHelper::getFavouriteGraphs()) . ');'; break; // favourite maps // favourite maps case 'sysmapid': zbx_value2array($objectids); foreach ($objectids as $id) { if ($operation == 'create') { $result &= CFavorite::add('web.favorite.sysmapids', $id, $object); } elseif ($operation == 'delete') { $result &= CFavorite::remove('web.favorite.sysmapids', $id, $object); } } $maps = getFavouriteMaps(); $maps = $maps->toString(); $data['main_block'] = 'jQuery("#' . WIDGET_FAVOURITE_MAPS . '").html(' . CJs::encodeJson($maps) . ');' . 'jQuery(".action-menu").remove();' . 'jQuery("#favouriteMaps").data(' . '"menu-popup", ' . CJs::encodeJson(CMenuPopupHelper::getFavouriteMaps()) . ');'; break; // favourite screens, slideshows // favourite screens, slideshows case 'screenid': case 'slideshowid': zbx_value2array($objectids); foreach ($objectids as $id) { if ($operation == 'create') { $result &= CFavorite::add('web.favorite.screenids', $id, $object); } elseif ($operation == 'delete') { $result &= CFavorite::remove('web.favorite.screenids', $id, $object); } } $screens = getFavouriteScreens(); $screens = $screens->toString(); $data['main_block'] = 'jQuery("#' . WIDGET_FAVOURITE_SCREENS . '").html(' . CJs::encodeJson($screens) . ');' . 'jQuery(".action-menu").remove();' . 'jQuery("#favouriteScreens").data(' . '"menu-popup", ' . CJs::encodeJson(CMenuPopupHelper::getFavouriteScreens()) . ');'; break; default: $data['main_block'] = ''; } DBend($result); $this->setResponse(new CControllerResponseData($data)); }