/** * Delete Media types * * {@source} * @access public * @static * @since 1.8 * @version 1 * * @param array $mediatypes * @param array $mediatypes[0,...]['mediatypeids'] * @return boolean */ public static function delete($mediatypeids) { global $USER_DETAILS; if (USER_TYPE_SUPER_ADMIN != $USER_DETAILS['type']) { self::exception(ZBX_API_ERROR_PERMISSIONS, S_CMEDIATYPE_ERROR_ONLY_SUPER_ADMIN_CAN_DELETE_MEDIATYPES); } $mediatypeids = zbx_toArray($mediatypeids); try { self::BeginTransaction(__METHOD__); $options = array('mediatypeids' => $mediatypeids, 'output' => API_OUTPUT_EXTEND, 'preservekeys' => 1); $actions = CAction::get($options); if (!empty($actions)) { $action = reset($actions); self::exception(ZBX_API_ERROR_PARAMETERS, S_MEDIATYPE_USED_BY_ACTIONS . ' ' . $action['name']); } DB::delete('media', DBcondition('mediatypeid', $mediatypeids)); DB::delete('alerts', DBcondition('mediatypeid', $mediatypeids)); DB::delete('media_type', DBcondition('mediatypeid', $mediatypeids)); self::EndTransaction(true, __METHOD__); return array('mediatypeids' => $mediatypeids); } catch (APIException $e) { self::EndTransaction(false, __METHOD__); $error = $e->getErrors(); $error = reset($error); self::setError(__METHOD__, $e->getCode(), $error); return false; } }
$cmbSource->addItem(EVENT_SOURCE_DISCOVERY, S_DISCOVERY); $cmbSource->addItem(EVENT_SOURCE_AUTO_REGISTRATION, S_AUTO_REGISTRATION); $form->addItem(array(S_EVENT_SOURCE, SPACE, $cmbSource)); $numrows = new CDiv(); $numrows->setAttribute('name', 'numrows'); $action_wdgt->addHeader(S_ACTIONS_BIG, $form); $action_wdgt->addHeader($numrows); // table $form = new CForm(); $form->setName('actions'); $tblActions = new CTableInfo(S_NO_ACTIONS_DEFINED); $tblActions->setHeader(array(new CCheckBox('all_items', null, "checkAll('" . $form->getName() . "','all_items','g_actionid');"), make_sorting_header(S_NAME, 'name'), S_CONDITIONS, S_OPERATIONS, make_sorting_header(S_STATUS, 'status'))); $sortfield = getPageSortField('name'); $sortorder = getPageSortOrder(); $options = array('output' => API_OUTPUT_EXTEND, 'filter' => array('eventsource' => array($_REQUEST['eventsource'])), 'select_conditions' => API_OUTPUT_EXTEND, 'select_operations' => API_OUTPUT_EXTEND, 'editable' => 1, 'sortfield' => $sortfield, 'sortorder' => $sortorder, 'limit' => $config['search_limit'] + 1); $actions = CAction::get($options); // sorting && paging order_result($actions, $sortfield, $sortorder); $paging = getPagingLine($actions); //------- foreach ($actions as $anum => $action) { $conditions = array(); order_result($action['conditions'], 'conditiontype', ZBX_SORT_DOWN); foreach ($action['conditions'] as $cnum => $condition) { $conditions[] = array(get_condition_desc($condition['conditiontype'], $condition['operator'], $condition['value']), BR()); } $operations = array(); order_result($action['operations'], 'operationtype', ZBX_SORT_DOWN); foreach ($action['operations'] as $onum => $operation) { $operations[] = array(get_operation_desc(SHORT_DESCRITION, $operation), BR()); }