/**
  * 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());
     }