show_messages($go_result, _('Items disabled'), null); } elseif ($_REQUEST['go'] == 'copy_to' && isset($_REQUEST['copy']) && isset($_REQUEST['group_itemid'])) { if (isset($_REQUEST['copy_targetid']) && $_REQUEST['copy_targetid'] > 0 && isset($_REQUEST['copy_type'])) { // host if ($_REQUEST['copy_type'] == 0) { $hosts_ids = $_REQUEST['copy_targetid']; } else { $hosts_ids = array(); $group_ids = $_REQUEST['copy_targetid']; $db_hosts = DBselect('SELECT DISTINCT h.hostid' . ' FROM hosts h,hosts_groups hg' . ' WHERE h.hostid=hg.hostid' . ' AND ' . dbConditionInt('hg.groupid', $group_ids)); while ($db_host = DBfetch($db_hosts)) { $hosts_ids[] = $db_host['hostid']; } } DBstart(); $go_result = copyItemsToHosts($_REQUEST['group_itemid'], $hosts_ids); $go_result = DBend($go_result); show_messages($go_result, _('Items copied'), _('Cannot copy items')); $_REQUEST['go'] = 'none2'; } else { show_error_message(_('No target selected.')); } } elseif ($_REQUEST['go'] == 'clean_history' && isset($_REQUEST['group_itemid'])) { DBstart(); $go_result = delete_history_by_itemid($_REQUEST['group_itemid']); DBexecute('UPDATE items SET lastvalue=null,lastclock=null,prevvalue=null WHERE ' . dbConditionInt('itemid', $_REQUEST['group_itemid'])); foreach ($_REQUEST['group_itemid'] as $id) { if (!($item = get_item_by_itemid($id))) { continue; } $host = get_host_by_hostid($item['hostid']);
show_messages($result, $messageSuccess, $messageFailed); } elseif (hasRequest('action') && getRequest('action') == 'item.masscopyto' && hasRequest('copy') && hasRequest('group_itemid')) { if (hasRequest('copy_targetid') && getRequest('copy_targetid') > 0 && hasRequest('copy_type')) { // hosts or templates if (getRequest('copy_type') == COPY_TYPE_TO_HOST || getRequest('copy_type') == COPY_TYPE_TO_TEMPLATE) { $hosts_ids = getRequest('copy_targetid'); } else { $hosts_ids = array(); $group_ids = getRequest('copy_targetid'); $db_hosts = DBselect('SELECT DISTINCT h.hostid' . ' FROM hosts h,hosts_groups hg' . ' WHERE h.hostid=hg.hostid' . ' AND ' . dbConditionInt('hg.groupid', $group_ids)); while ($db_host = DBfetch($db_hosts)) { $hosts_ids[] = $db_host['hostid']; } } DBstart(); $result = copyItemsToHosts(getRequest('group_itemid'), $hosts_ids); $result = DBend($result); if ($result) { uncheckTableRows(getRequest('hostid')); unset($_REQUEST['group_itemid']); } show_messages($result, _('Items copied'), _('Cannot copy items')); } else { show_error_message(_('No target selected.')); } } elseif (hasRequest('action') && getRequest('action') === 'item.massclearhistory' && hasRequest('group_itemid') && is_array(getRequest('group_itemid'))) { $result = false; $itemIds = getRequest('group_itemid'); $items = API::Item()->get(array('output' => array('itemid', 'key_'), 'itemids' => $itemIds, 'selectHosts' => array('name'), 'editable' => true)); if ($items) { DBstart();