function createFieldForm($goto, $destination, $faxes, $arrDetect, $music) { $pDB = new paloDB(generarDSNSistema("asteriskuser", "elxpbx")); $oneToTen = generateOptionNum(1, 10); $oneToFifteen = generateOptionNum(1, 15); $twoToTen = generateOptionNum(2, 10); $arrLng = getLanguagePBX(); $arrMusic = array("" => _tr("-don't music-")); foreach ($music as $key => $value) { $arrMusic[$key] = $value; } $arrFormElements = array("description" => array("LABEL" => _tr('Description'), "DESCRIPTION" => _tr("IN_description"), "REQUIRED" => "yes", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "did_number" => array("LABEL" => _tr("DID Number"), "DESCRIPTION" => _tr("IN_didnumber"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "cid_number" => array("LABEL" => _tr("Caller ID Number"), "DESCRIPTION" => _tr("IN_calleridnumber"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "alertinfo" => array("LABEL" => _tr("Alert Info"), "DESCRIPTION" => _tr("IN_alertinfo"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:100px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "cid_prefix" => array("LABEL" => _tr("CID Name Prefix"), "DESCRIPTION" => _tr("IN_cidnameprefix"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:100px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "moh" => array("LABEL" => _tr("Music On Hold"), "DESCRIPTION" => _tr("IN_moh"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrMusic, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "delay_answer" => array("LABEL" => _tr("Pause Before Answer"), "DESCRIPTION" => _tr("IN_pausebeforeanswer"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:100px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "max_attempt" => array("LABEL" => _tr("Max Attempts"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $oneToTen, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "min_length" => array("LABEL" => _tr("Min Length"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $oneToFifteen, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "language" => array("LABEL" => _tr("Language"), "DESCRIPTION" => _tr("IN_language"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrLng, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "goto" => array("LABEL" => _tr("Destine"), "DESCRIPTION" => _tr("IN_destiny"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $goto, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "destination" => array("LABEL" => _tr(""), "DESCRIPTION" => _tr("IN_destiny"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $destination, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "primanager" => array("LABEL" => _tr("Privacy Manager"), "DESCRIPTION" => _tr("IN_privacymanager"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => array("yes" => _tr("Yes"), "no" => "No"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "ringing" => array("LABEL" => _tr("Signal RINGING"), "DESCRIPTION" => _tr("IN_signalring"), "REQUIRED" => "no", "INPUT_TYPE" => "CHECKBOX", "INPUT_EXTRA_PARAM" => "", "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "fax_time" => array("LABEL" => _tr("Fax Detection Time"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $oneToTen, "VALIDATION_TYPE" => "numeric", "VALIDATION_EXTRA_PARAM" => ""), "fax_type" => array("LABEL" => _tr("Fax Detection Type"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrDetect, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "fax_detect" => array("LABEL" => _tr("Activate Fax Detection"), "DESCRIPTION" => _tr("IN_activatefaxdetection"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => array("yes" => _tr("Yes"), "no" => "No"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "fax_destiny" => array("LABEL" => _tr("Fax Extension"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $faxes, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => "")); return $arrFormElements; }
function createFieldForm($arrTZ) { $arrLang = getLanguagePBX(); $arrFormElements = array("gen_audio_codec" => array("LABEL" => _tr("Allowed Audio Codecs"), "DESCRIPTION" => _tr("Allow codecs in order of preference"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => "", "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "gen_video_codec" => array("LABEL" => _tr("Allowed Video Codecs"), "DESCRIPTION" => _tr("Allow codecs in order of preference"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => "", "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "gen_LANGUAGE" => array("LABEL" => _tr("language"), "DESCRIPTION" => _tr("Default language setting for all users/peers"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrLang, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => "")); return $arrFormElements + createSipForm($arrLang) + createIaxForm($arrLang) + createVMForm($arrLang, $arrTZ); }
/** esta funcion solo es llamada al momento de crear una nueva organizacion dentro del sisitema */ function insertDBGlobals($country) { if ($this->validateGlobalsPBX() == false) { return false; } $query = "INSERT INTO globals values (?,?,?)"; $arrLngPBX = getLanguagePBX(); $arrTZPBX = $this->getToneZonePBX(); //de acuerdo al pais al que pertenece la organizacion se seleccion el //pais y el TONEZONE del mismo, en caso de no existir entre los que se //encuantrarn configurados en el servidor asterisk, se escogen los valoras por //default $language = $tonezone = ""; $arrSettings = getCountrySettings($country); if ($arrSettings != false) { if ($arrSettings["language"] != "") { if (array_key_exists($arrSettings["language"], $arrLngPBX)) { $language = $arrSettings["language"]; } } if ($arrSettings["tonezone"] != "") { if (array_key_exists($arrSettings["tonezone"], $arrTZPBX)) { $tonezone = $arrSettings["tonezone"]; } } } //acabamos de crear la organizacion y llenamos con los valores //default de las globales $arrProp = $this->getAllGlobalSettings(); if ($arrProp === false) { return false; } else { foreach ($arrProp as $property) { switch ($property["variable"]) { case "LANGUAGE": $value = empty($language) ? $property["value"] : $language; break; case "TONEZONE": $value = empty($tonezone) ? $property["value"] : $tonezone; break; case "MIXMON_DIR": $value = empty($property["value"]) ? "" : $property["value"] . $this->domain . "/"; break; case "VMX_CONTEXT": $value = empty($property["value"]) ? "" : $this->code . "-" . $property["value"]; break; case "VMX_TIMEDEST_CONTEXT": $value = empty($property["value"]) ? "" : $this->code . "-" . $property["value"]; break; case "VMX_LOOPDEST_CONTEXT": $value = empty($property["value"]) ? "" : $this->code . "-" . $property["value"]; break; case "TRANSFER_CONTEXT": $value = empty($property["value"]) ? "" : $this->code . "-" . $property["value"]; break; default: $value = isset($property["value"]) ? $property["value"] : ""; break; } $insert = $this->_DB->genQuery($query, array($this->domain, $property["variable"], $value)); if ($insert == false) { $this->errMsg = _tr("Problem setting globals variables") . $this->_DB->errMsg; break; } } return $insert; } }
function createFieldForm($pDB, $domain) { $pOutbound = new paloSantoOutbound($pDB, $domain); $arrMusic = $pOutbound->getMoHClass($domain); if ($arrMusic == false) { $arrMusic = array("default" => _tr("Default")); } $arrYesNo = array("yes" => _tr("Yes"), "no" => _tr("No")); //time_group $query = "SELECT name,id from time_group where organization_domain=?"; $result = $pDB->fetchTable($query, true, array($domain)); $arrtg = array("" => _tr("-- Permanent Route --")); if ($result != false) { foreach ($result as $value) { $arrtg[$value["id"]] = $value["name"]; } } $arrLang = getLanguagePBX(); $arrFormElements = array("routename" => array("LABEL" => _tr('Route Name'), "DESCRIPTION" => _tr("OU_routename"), "REQUIRED" => "yes", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "outcid" => array("LABEL" => _tr("Route CID"), "DESCRIPTION" => _tr("OU_outcid"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "routepass" => array("LABEL" => _tr("Route Password"), "DESCRIPTION" => _tr("OU_routepass"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:100px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "mohsilence" => array("LABEL" => _tr("Music On Hold"), "DESCRIPTION" => _tr("OU_musiconhold"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrMusic, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "time_group_id" => array("LABEL" => _tr("Time Group"), "DESCRIPTION" => _tr("OU_timegroup"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrtg, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "prepend_digit__" => array("LABEL" => _tr("prepend digit"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:60px;text-align:center;"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "pattern_prefix__" => array("LABEL" => _tr("pattern prefix"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:30px;text-align:center;"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "pattern_pass__" => array("LABEL" => _tr("pattern pass"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:150px;text-align:center;"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "match_cid__" => array("LABEL" => _tr("match cid"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:150px;text-align:center;"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => "")); return $arrFormElements; }
function createFieldForm($tech = null) { $arrTech = array("sip" => strtoupper("Sip"), "iax2" => strtoupper("Iax2")); $arrRings = range("1", "120"); $arrRings[""] = _tr("Default"); $arrYesNo = array("yes" => _tr("Yes"), "no" => _tr("No")); $arrYesNod = array("noset" => "", "yes" => _tr("Yes"), "no" => _tr("No")); $arrWait = array("no" => _tr("Disabled"), "yes" => _tr("Enabled")); $arrRecord = array("on_demand" => _tr("On demand"), "always" => _tr("Always"), "never" => _tr("Never")); $arrScreen = array("no" => _tr("disabled"), "memory" => "memory", "nomemory" => "nomemory"); $arrDictate = array("no" => _tr("disabled"), "yes" => _tr("enabled")); $arrDictFor = array("ogg" => "ogg", "gsm" => "gsm", "wav" => "wav"); $arrLang = getLanguagePBX(); $arrFormElements = array("exten" => array("LABEL" => _tr('Extension'), "DESCRIPTION" => _tr("EX_extension"), "REQUIRED" => "yes", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "numeric", "VALIDATION_EXTRA_PARAM" => ""), "technology" => array("LABEL" => _tr("Technology"), "DESCRIPTION" => _tr("EX_technology"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrTech, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "secret" => array("LABEL" => _tr("Secret"), "DESCRIPTION" => _tr("EX_secret"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "out_clid" => array("LABEL" => _tr("Outbound CID"), "DESCRIPTION" => _tr("EX_outboundcid"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "language" => array("LABEL" => _tr("Language Code"), "DESCRIPTION" => _tr("EX_languagecode"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrLang, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "ring_timer" => array("LABEL" => _tr("Ringtimer"), "DESCRIPTION" => _tr("EX_ringtimer"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrRings, "VALIDATION_TYPE" => "numeric", "VALIDATION_EXTRA_PARAM" => ""), "call_waiting" => array("LABEL" => _tr("Call Waiting"), "DESCRIPTION" => _tr("EX_callwaiting"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrWait, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "record_in" => array("LABEL" => _tr("Record Incoming"), "DESCRIPTION" => _tr("EX_recordincoming"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrRecord, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "record_out" => array("LABEL" => _tr("Record Outgoing"), "DESCRIPTION" => _tr("EX_recordooutgoing"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrRecord, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "vmpassword" => array("LABEL" => _tr("Voicemail Password"), "DESCRIPTION" => _tr("EX_voicemailpassword"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "numeric", "VALIDATION_EXTRA_PARAM" => ""), "vmemail" => array("LABEL" => _tr("Voicemail Email"), "DESCRIPTION" => _tr("EX_voicemailemail"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "email", "VALIDATION_EXTRA_PARAM" => ""), "vmattach" => array("LABEL" => _tr("Email Attachment"), "DESCRIPTION" => _tr("EX_emailattachment"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrYesNo, "VALIDATION_TYPE" => "ereg", "VALIDATION_EXTRA_PARAM" => "^(yes|no){1}\$"), "vmsaycid" => array("LABEL" => _tr("Play CID"), "DESCRIPTION" => _tr("EX_playcid"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrYesNo, "VALIDATION_TYPE" => "ereg", "VALIDATION_EXTRA_PARAM" => "^(yes|no){1}\$"), "vmenvelope" => array("LABEL" => _tr("Play Envelope"), "DESCRIPTION" => _tr("EX_playenvelope"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrYesNo, "VALIDATION_TYPE" => "ereg", "VALIDATION_EXTRA_PARAM" => "^(yes|no){1}\$"), "vmdelete" => array("LABEL" => _tr("Delete Voicemail"), "DESCRIPTION" => _tr("EX_deletevoicemail"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrYesNo, "VALIDATION_TYPE" => "ereg", "VALIDATION_EXTRA_PARAM" => "^(yes|no){1}\$"), "vmoptions" => array("LABEL" => _tr("Voicemail Options"), "DESCRIPTION" => _tr("EX_voicemailoptions"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXTAREA", "INPUT_EXTRA_PARAM" => array("style" => "width:737px;resize:none"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => "", "ROWS" => "2", "COLS" => "1"), "vmcontext" => array("LABEL" => _tr("Voicemail Context"), "DESCRIPTION" => _tr("EX_voicemailcontext"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "vmemailsubject" => array("LABEL" => _tr("Email Subject"), "DESCRIPTION" => _tr("EX_emailsubject"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:300px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "vmemailbody" => array("LABEL" => _tr("Email Body"), "DESCRIPTION" => _tr("EX_emailbody"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXTAREA", "INPUT_EXTRA_PARAM" => array("style" => "width:500px;resize:none"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => "", "ROWS" => "4", "COLS" => "1"), "clid_name" => array("LABEL" => _tr("CID Name"), "DESCRIPTION" => _tr("EX_cidname"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "clid_number" => array("LABEL" => _tr("CID Number"), "DESCRIPTION" => _tr("EX_cidnumber"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "dictate" => array("LABEL" => _tr("Dictate Service"), "DESCRIPTION" => _tr("EX_dictateservice"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrDictate, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "dictformat" => array("LABEL" => _tr("Dictate Format"), "DESCRIPTION" => _tr("EX_dictateformat"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrDictFor, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "dictemail" => array("LABEL" => _tr("Dictate Email"), "DESCRIPTION" => _tr("EX_dictateemail"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "email", "VALIDATION_EXTRA_PARAM" => ""), "screen" => array("LABEL" => _tr("Screen Call"), "DESCRIPTION" => _tr("EX_screencall"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrScreen, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "vmx_operator" => array("LABEL" => _tr("Go to Operator"), "DESCRIPTION" => _tr("EX_gotooperador"), "REQUIRED" => "no", "INPUT_TYPE" => "CHECKBOX", "INPUT_EXTRA_PARAM" => "", "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "vmx_extension_0" => array("LABEL" => _tr("Opcion 0"), "DESCRIPTION" => _tr("EX_voicemailoption0"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "vmx_extension_1" => array("LABEL" => _tr("Opcion 1"), "DESCRIPTION" => _tr("EX_voicemailoption1"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "vmx_extension_2" => array("LABEL" => _tr("Opcion 2"), "DESCRIPTION" => _tr("EX_voicemailoption2"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:200px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "vmx_use" => array("LABEL" => _tr("Use When"), "DESCRIPTION" => _tr("EX_when"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => array("unavailable" => _tr("Unavailable"), "busy" => _tr("Busy"), "both" => _tr("Unavailable & busy")), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "vmx_locator" => array("LABEL" => _tr("Use Locator"), "DESCRIPTION" => _tr("EX_uselocator"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => array("enabled" => _tr("Enabled"), "disabled" => _tr("Disabled")), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => "")); if (isset($tech)) { if ($tech == "sip") { $arrFormElements = array_merge($arrFormElements, createSipForm()); } elseif ($tech == "iax2") { $arrFormElements = array_merge($arrFormElements, createIaxForm()); } } return $arrFormElements; }
function createForm() { $DND[] = array("id" => 'radio1', "label" => _tr('Enable'), "value" => "yes"); $DND[] = array("id" => 'radio2', "label" => _tr('Disable'), "value" => "no"); $CW[] = array("id" => 'radio3', "label" => _tr('Enable'), "value" => "yes"); $CW[] = array("id" => 'radio4', "label" => _tr('Disable'), "value" => "no"); $CF[] = array("id" => 'radio5', "label" => _tr('Enable'), "value" => "yes"); $CF[] = array("id" => 'radio6', "label" => _tr('Disable'), "value" => "no"); $CFU[] = array("id" => 'radio7', "label" => _tr('Enable'), "value" => "yes"); $CFU[] = array("id" => 'radio8', "label" => _tr('Disable'), "value" => "no"); $CFB[] = array("id" => 'radio9', "label" => _tr('Enable'), "value" => "yes"); $CFB[] = array("id" => 'radio10', "label" => _tr('Disable'), "value" => "no"); $record_incoming[] = array("id" => 'radio11', "label" => _tr('Always'), "value" => "always"); $record_incoming[] = array("id" => 'radio12', "label" => _tr('Never'), "value" => "never"); $record_incoming[] = array("id" => 'radio13', "label" => _tr('On-Demand'), "value" => "on_demand"); $record_outgoing[] = array("id" => 'radio14', "label" => _tr('Always'), "value" => "always"); $record_outgoing[] = array("id" => 'radio15', "label" => _tr('Never'), "value" => "never"); $record_outgoing[] = array("id" => 'radio16', "label" => _tr('On-Demand'), "value" => "on_demand"); $status[] = array("id" => 'radio17', "label" => _tr('Enable'), "value" => "yes"); $status[] = array("id" => 'radio18', "label" => _tr('Disable'), "value" => "no"); $email_attachment[] = array("id" => 'radio19', "label" => _tr('Yes'), "value" => "yes"); $email_attachment[] = array("id" => 'radio20', "label" => 'NO', "value" => "no"); $PCID[] = array("id" => 'radio21', "label" => _tr('Yes'), "value" => "yes"); $PCID[] = array("id" => 'radio22', "label" => 'NO', "value" => "no"); $play_envelope[] = array("id" => 'radio23', "label" => _tr('Yes'), "value" => "yes"); $play_envelope[] = array("id" => 'radio24', "label" => 'NO', "value" => "no"); $delete_vmail[] = array("id" => 'radio25', "label" => _tr('Yes'), "value" => "yes"); $delete_vmail[] = array("id" => 'radio26', "label" => 'NO', "value" => "no"); $arrLang = getLanguagePBX(); $arrForm = array("secretExtension" => array("LABEL" => _tr("Secret extension:"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("class" => "mail"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "doNotDisturb" => array("LABEL" => _tr("Do Not Disturb:"), "DESCRIPTION" => _tr("Enable/Disable the Don't Disturb"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $DND, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "callWaiting" => array("LABEL" => _tr("Call Waiting :"), "DESCRIPTION" => _tr("Enable/Disable the call waiting"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $CW, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "callForwardOpt" => array("LABEL" => _tr("Call Forward:"), "DESCRIRPTION" => _tr("Enable/Disable the call waiting"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $CF, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "callForwardUnavailableOpt" => array("LABEL" => _tr("Call Forward on Unavailable:"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $CFU, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "callForwardBusyOpt" => array("LABEL" => _tr("Call Forward on Busy:"), "DESCRIPTION" => _tr("Enable/Disable the call fordward on busy"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $CFB, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "callForwardInp" => array("LABEL" => _tr(""), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("class" => "form-control", "placeholder" => "12345"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "callForwardUnavailableInp" => array("LABEL" => _tr(""), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("class" => "form-control", "placeholder" => "12345"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "callForwardBusyInp" => array("LABEL" => _tr(""), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("class" => "form-control", "placeholder" => "12345"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "recordIncoming" => array("LABEL" => _tr("Record Incoming:"), "DESCRIRPTION" => _tr("Selects the frequency with that uses this option"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $record_incoming, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "recordOutgoing" => array("LABEL" => _tr("Record Outgoing:"), "DESCRIRPTION" => _tr("Selects the frequency with that uses this option"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $record_outgoing, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "status_vm" => array("LABEL" => _tr("Status:"), "DESCRIRPTION" => _tr("Enable/Disable the Voicemail Configuration"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $status, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "email_vm" => array("LABEL" => _tr("Email:"), "DESCRIRPTION" => _tr("Defines the email"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("class" => "form-control", "placeholder" => "Enter email"), "VALIDATION_TYPE" => "email", "VALIDATION_EXTRA_PARAM" => ""), "password_vm" => array("LABEL" => _tr("Password:"******"DESCRIPTION" => _tr("Defines your password"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("class" => "form-control", "placeholder" => "Password"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "language_vm" => array("LABEL" => _tr("Language:"), "DESCRIPTION" => _tr("Select the language for voice recording"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrLang, "INPUT_EXTRA_PARAM_OPTIONS" => array("class" => "form-control input-sm"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "emailAttachment_vm" => array("LABEL" => _tr("Email Attachment:"), "DESCRIPTION" => _tr("Allow attachment files to mail"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $email_attachment, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "playCid_vm" => array("LABEL" => _tr("Play CID:"), "DESCRIPTION" => _tr("Enable/Disable the play CID Option"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $PCID, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "playEnvelope_vm" => array("LABEL" => _tr("Play Envelope:"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $play_envelope, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => ""), "deleteVmail" => array("LABEL" => _tr("Delete Vmail:"), "DESCRIPTION" => _tr("Enable/Disable the delete Vmail"), "REQUIRED" => "no", "INPUT_TYPE" => "OPTION", "INPUT_EXTRA_PARAM" => $delete_vmail, "VALIDATION_TYPE" => "", "VALIDATION_EXTRA_PARAM" => "")); return $arrForm; }
function createFieldForm($arrTone, $arrMOH, $arrZoneMessage) { $arrRCstat = array("ENABLED" => _tr("Enabled"), "DISABLED" => _tr("Disabled")); $arrRings = array("" => _tr("Default")) + range(1, 120); //TODO: obtener la lista de codecs de audio soportados por el servidor //se los puede hacer con el comando en consola de asterisk "module show like format" or "core show codecs audio" //por ahora se pone los que vienes con la instalacion de asterisk $arrRCFormat = array("WAV" => "WAV", "wav" => "wav", "ulaw" => "ulaw", "alaw" => "alaw", "sln" => "sln", "gsm" => "gsm", "g729" => "g729"); $arrYesNO = array(_tr("yes") => _tr("YES"), "no" => "NO"); $arrLng = getLanguagePBX(); $arrFormElements = array("DIAL_OPTIONS" => array("LABEL" => _tr('Asterisk Dial Options'), "DESCRIPTION" => _tr("GS_asteriskdialoptions"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:80px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "TRUNK_OPTIONS" => array("LABEL" => _tr('Asterisk Dial Options in Trunk'), "DESCRIPTION" => _tr("GS_asteriskdialoptionsintrunk"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("style" => "width:80px"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "RECORDING_STATE" => array("LABEL" => _tr('Enabled/Disabled Call Recording'), "DESCRIPTION" => _tr("GS_enable/disablecall"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrRCstat, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "MIXMON_FORMAT" => array("LABEL" => _tr('Call Recording Format'), "DESCRIPTION" => _tr("GS_callrecordingformat"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrRCFormat, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "RINGTIMER" => array("LABEL" => _tr('Ringtime before Voicemail'), "DESCRIPTION" => _tr("GS_ringtimebeforevoicemail"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrRings, "VALIDATION_TYPE" => "numeric", "VALIDATION_EXTRA_PARAM" => ""), "TONEZONE" => array("LABEL" => _tr('Country Tonezone'), "DESCRIPTION" => _tr("GS_countrytonezone"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrTone, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "LANGUAGE" => array("LABEL" => _tr('Language'), "DESCRIPTION" => _tr("GS_language"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrLng, "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "DIRECTORY" => array("LABEL" => _tr('Search in Directory by'), "DESCRIPTION" => _tr("GS_searchdirectoryby"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => array(_tr("first") => _tr("surname"), _tr("last") => _tr("first name"), _tr("both") => _tr("both")), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "DIRECTORY_OPT_EXT" => array("LABEL" => _tr('Say Extension with name'), "DESCRIPTION" => _tr("GS_sayextensionwithname"), "REQUIRED" => "no", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => array("e" => _tr("Yes"), "" => "No"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), "CREATE_VM" => array("LABEL" => _tr('Create Voicemail with extension'), "DESCRIPTION" => _tr("GS_createvoicemailwithextension"), "REQUIRED" => "yes", "INPUT_TYPE" => "SELECT", "INPUT_EXTRA_PARAM" => $arrYesNO, "VALIDATION_TYPE" => "ereg", "VALIDATION_EXTRA_PARAM" => "^(yes|no){1}\$")); $arrFormElements = array_merge(createSipForm($arrMOH), $arrFormElements); $arrFormElements = array_merge(createIaxForm(), $arrFormElements); $arrFormElements = array_merge(createVMForm($arrZoneMessage), $arrFormElements); return $arrFormElements; }