Пример #1
0
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;
}
Пример #2
0
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);
}
Пример #3
0
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;
}