Example #1
0
/**
 * Delete web scenario item and web scenario step item history and trends by given web scenario IDs.
 *
 * @param array $httpTestIds
 *
 * @return bool
 */
function deleteHistoryByHttpTestIds(array $httpTestIds)
{
    $itemIds = array();
    $dbItems = DBselect('SELECT hti.itemid' . ' FROM httptestitem hti' . ' WHERE ' . dbConditionInt('httptestid', $httpTestIds) . ' UNION ALL ' . 'SELECT hsi.itemid' . ' FROM httpstep hs,httpstepitem hsi' . ' WHERE hs.httpstepid=hsi.httpstepid' . ' AND ' . dbConditionInt('httptestid', $httpTestIds));
    while ($dbItem = DBfetch($dbItems)) {
        $itemIds[] = $dbItem['itemid'];
    }
    if ($itemIds) {
        return deleteHistoryByItemIds($itemIds);
    }
    return true;
}
Example #2
0
        $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();
        $result = deleteHistoryByItemIds($itemIds);
        if ($result) {
            foreach ($items as $item) {
                $host = reset($item['hosts']);
                add_audit(AUDIT_ACTION_UPDATE, AUDIT_RESOURCE_ITEM, _('Item') . ' [' . $item['key_'] . '] [' . $item['itemid'] . '] ' . _('Host') . ' [' . $host['name'] . '] ' . _('History cleared'));
            }
        }
        $result = DBend($result);
        if ($result) {
            uncheckTableRows(getRequest('hostid'));
        }
    }
    show_messages($result, _('History cleared'), _('Cannot clear history'));
} elseif (hasRequest('action') && getRequest('action') == 'item.massdelete' && hasRequest('group_itemid')) {
    DBstart();
    $group_itemid = getRequest('group_itemid');