function getDefaultSettings($domain, $tech) { require_once "apps/general_settings/libs/paloSantoGlobalsPBX.class.php"; $arrExtension = array(); $queryV = "SELECT attach,context,deletevoicemail,saycid,envelope,emailsubject,emailbody from voicemail_settings where organization_domain=?"; $resultV = $this->_DB->getFirstRowQuery($queryV, true, array($domain)); if ($resultV == false) { $this->errMsg .= _tr("Error getting voicemail default settings") . $this->_DB->errMsg; } else { $arrExtension["vmcontext"] = isset($resultV["context"]) ? $resultV["context"] : null; $arrExtension["vmattach"] = isset($resultV["attach"]) ? $resultV["attach"] : null; $arrExtension["vmdelete"] = isset($resultV["deletevoicemail"]) ? $resultV["deletevoicemail"] : null; $arrExtension["vmsaycid"] = isset($resultV["saycid"]) ? $resultV["saycid"] : null; $arrExtension["vmenvelope"] = isset($resultV["envelope"]) ? $resultV["envelope"] : null; $arrExtension["vmemailsubject"] = isset($resultV["emailsubject"]) ? $resultV["emailsubject"] : null; $arrExtension["vmemailbody"] = isset($resultV["emailbody"]) ? $resultV["emailbody"] : null; } $arrExtension["vmx_locator"] = "disabled"; $arrExtension["vmx_use"] = "both"; $arrExtension["vmx_operator"] = "on"; $pGPBX = new paloGlobalsPBX($this->_DB, $domain); $arrExtension["ring_timer"] = $pGPBX->getGlobalVar("RINGTIMER"); $arrExtension["language"] = $pGPBX->getGlobalVar("LANGUAGE"); return $arrExtension; }
function setParameterUserExtension($domain, $type, $exten, $secret, $fullname, $email) { $pDevice = new paloDevice($domain, $type, $this->_DB); if ($pDevice->errMsg != "") { $this->errMsg = _tr("Error getting settings from extension user") . $pDevice->errMsg; return false; } $pGPBX = new paloGlobalsPBX($this->_DB, $domain); $arrProp["elastix_user"] = strstr($email, '@', true); $arrProp = array(); $arrProp["fullname"] = $fullname; //$arrProp["elastix_user"]=strstr($email, '@', true); //en un futuro se tiene pensado usar como name para el dispositivo de usario su username //$arrProp["name"]=$exten; $arrProp["name"] = strstr($email, '@', true); $arrProp["exten"] = $exten; $arrProp['secret'] = $secret; $arrProp["vmpassword"] = $exten; $arrProp["vmemail"] = $email; $arrProp["record_in"] = "on_demand"; $arrProp["record_out"] = "on_demand"; $arrProp["callwaiting"] = "no"; $arrProp["rt"] = $pGPBX->getGlobalVar("RINGTIMER"); $arrProp["create_vm"] = $pGPBX->getGlobalVar("CREATE_VM"); $result = $pDevice->tecnologia->getDefaultSettings($domain); $arrOpt = array_merge($result, $arrProp); if (empty($arrOpt["context"])) { $arrOpt["context"] = "from-internal"; } if (empty($arrOpt["host"])) { $arrOpt["host"] = "dynamic"; } $arrOpt["create_elxweb_device"] = "yes"; //a esto se le agrega el codigo de la organizacion $arrOpt["alias"] = strstr($email, '@', true); //$arrOpt["alias"]=$exten; return $arrOpt; }
private function setGeneralSettingFirstTime($domain, $codeOrg, $country) { require_once "apps/general_settings/libs/paloSantoGlobalsPBX.class.php"; include_once "libs/paloSantoPBX.class.php"; global $arrConf; $source_file = "/var/www/elastixdir/asteriskconf/globals.conf"; $pGlobals = new paloGlobalsPBX($this->_DB, $domain); $res = $pGlobals->insertDBGlobals($country); if ($res == false) { $this->errMsg = $pGlobals->errMsg; return false; } $reslng = $pGlobals->getGlobalVar("LANGUAGE"); if ($reslng != false) { $language = $reslng; } //sip , iax , voicemail //llenado de tablas tech_settings usando como referencia lo configurado en tech_general $psip = new paloSip($this->_DB); $piax = new paloIax($this->_DB); $pvoicemail = new paloVoicemail($this->_DB); foreach (array("sip", "iax", "voicemail") as $tech) { if ($tech == "voicemail") { $query = "SELECT * from " . $tech . "_general"; $arrConfig = $this->_DB->getFirstRowQuery($query, true); } else { $query = "SELECT property_name, property_val from " . $tech . "_general"; $arrConfig = $this->_DB->fetchTable($query, true); } if ($arrConfig === false) { $this->errMsg = $this->_DB->errMsg; return false; } elseif (count($arrConfig) == 0) { $this->errMsg = _tr("Don't exist default parameters ") . $tech . "_general"; return false; } $arrSettings = array(); foreach ($arrConfig as $key => $value) { if ($tech == "voicemail") { if (isset($value) && $value != "") { $arrSettings[$key] = $value; } } else { if (isset($value["property_val"]) && $value["property_val"] != "") { $arrSettings[$value["property_name"]] = $value["property_val"]; } } } $arrSettings["organization_domain"] = $domain; $arrSettings["code"] = $codeOrg; if (!empty($language)) { $arrSettings["language"] = $language; } $result = ${"p" . $tech}->insertDefaultSettings($arrSettings); if ($result == false) { $this->errMsg = ${"p" . $tech}->errMsg; return false; } } //settings de la organizacion que crearan cierto plan de marcado por default //una ruta de salida por default $query = "insert into outbound_route (routename,outcid_mode,mohsilence,seq,organization_domain) VALUES (?,?,?,?,?)"; if ($this->_DB->genQuery($query, array("out_9", "off", "default", "1", $domain)) == false) { $this->errMsg = "Error creating outbound_route. " . $this->_DB->errMsg; return false; } //obtenemos el id de la ruta creada $result = $this->_DB->getFirstRowQuery("SELECT LAST_INSERT_ID()", false); if ($result != false) { $outboundid = $result[0]; $query = "insert into outbound_route_dialpattern (outbound_route_id,prefix,match_pattern,seq) VALUES (?,?,?,?)"; if ($this->_DB->genQuery($query, array($outboundid, "9", ".", "1")) == false) { $this->errMsg = "Error creating outbound_route. " . $this->_DB->errMsg; return false; } } //TODO:falta asignarle una truncal de salida. Esto no se puede hacer porque aun no se le //ha permitido salida por ninguna truncal a la organizacion return true; }