array(T_ZBX_STR, O_MAND,P_SYS, NOT_EMPTY, NULL), "media"=> array(T_ZBX_INT, O_OPT, P_SYS, NULL, NULL), "mediatypeid"=> array(T_ZBX_INT, O_OPT, P_SYS, DB_ID, 'isset({add})'), "sendto"=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY, 'isset({add})'), "period"=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY, 'isset({add})'), "active"=> array(T_ZBX_STR, O_OPT, NULL, NOT_EMPTY, 'isset({add})'), "severity"=> array(T_ZBX_INT, O_OPT, NULL, NOT_EMPTY, NULL), /* actions */ "add"=> array(T_ZBX_STR, O_OPT, P_SYS|P_ACT, NULL, NULL), /* other */ "form"=> array(T_ZBX_STR, O_OPT, P_SYS, NULL, NULL), "form_refresh"=>array(T_ZBX_STR, O_OPT, NULL, NULL, NULL) ); check_fields($fields); insert_js_function('add_media'); if(isset($_REQUEST['add'])){ if( !validate_period($_REQUEST['period']) ){ error("Icorrect time period"); } else{ $severity = 0; $_REQUEST['severity'] = get_request('severity',array()); foreach($_REQUEST['severity'] as $id) $severity |= 1 << $id; echo ''; } } echo SBR; if(isset($_REQUEST['media']) && !isset($_REQUEST['form_refresh'])){ $rq_severity = get_request('severity',63); $severity = array(); for($i=0; $i<6; $i++){ if($rq_severity & exp(log(2)*$i)) $severity[$i] = $i; } } else{ $severity = get_request('severity',array(0,1,2,3,4,5)); } $media = get_request('media',-1); $sendto = get_request('sendto',''); $mediatypeid = get_request('mediatypeid',0); $active = get_request('active',0); $period = get_request('period','1-7,00:00-23:59'); $frmMedia = new CFormTable(S_NEW_MEDIA); $frmMedia->SetHelp("web.media.php"); $frmMedia->AddVar("media",$media); $frmMedia->AddVar("dstfrm",$_REQUEST["dstfrm"]); $cmbType = new CComboBox("mediatypeid",$mediatypeid); $types=DBselect('SELECT mediatypeid,description '. ' FROM media_type'. ' WHERE '.DBin_node('mediatypeid'). ' ORDER BY type'); while($type=DBfetch($types)){ $cmbType->AddItem( $type["mediatypeid"], get_node_name_by_elid($type["mediatypeid"]).$type["description"] ); } $frmMedia->AddRow(S_TYPE,$cmbType); $frmMedia->AddRow(S_SEND_TO,new CTextBox("sendto",$sendto,20)); $frmMedia->AddRow(S_WHEN_ACTIVE,new CTextBox("period",$period,48)); $frm_row = array(); for($i=0; $i<=5; $i++){ array_push($frm_row, array( new CCheckBox( "severity[$i]", str_in_array($i,$severity)?'yes':'no', null, /* action */ $i), /* value */ get_severity_description($i) ), BR()); } $frmMedia->AddRow(S_USE_IF_SEVERITY,$frm_row); $cmbStat = new CComboBox("active",$active); $cmbStat->AddItem(0,S_ENABLED); $cmbStat->AddItem(1,S_DISABLED); $frmMedia->AddRow("Status",$cmbStat); $frmMedia->AddItemToBottomRow(new CButton("add", ($media > -1)?S_SAVE:S_ADD)); $frmMedia->AddItemToBottomRow(SPACE); $frmMedia->AddItemToBottomRow(new CButtonCancel(null, 'close_window();')); $frmMedia->Show(); include_once "include/page_footer.php"; ?>