function createOrganizationAsterisk($domain, $country) { require_once "apps/features_code/libs/paloSantoFeaturesCode.class.php"; //validamos que la organizacion que intentamos crear realmente exista $query = "SELECT code FROM organization WHERE domain=?"; $result = $this->_DB->getFirstRowQuery($query, true, array($domain)); if ($result == false) { $this->errMsg = $result === false ? $this->_DB->errMsg : _tr("Organization doesn't exist"); } else { $orgCode = $result["code"]; } $pFC = new paloFeatureCodePBX($this->_DB, $domain); // 1.-Seateamos las configuracions generales para la organizacion en la base de datos // (sip_settings,iax_settings,voicemail_settings,globals,features_codes) // 2.-Creamos dentro de asterisk directorios que van a ser usados por la organizacion // 3.-Inclumos los archivos recien creados en con la sentencias include dentro del archivo // extensions.conf y extensions_globals.conf // TODO: No se escriben los archivos de configuracion de la organizacion dentro del plan de marcado // hasta que el superadmin cree al admin de la organizacion recien creada if ($this->setGeneralSettingFirstTime($domain, $orgCode, $country)) { if ($pFC->insertPaloFeatureDB()) { if ($this->setReloadDialplan($domain)) { //realizamos la $sComando = '/usr/bin/elastix-helper asteriskconfig createOrganizationAst ' . escapeshellarg($domain) . ' 2>&1'; $output = $ret = NULL; exec($sComando, $output, $ret); if ($ret != 0) { $this->errMsg = implode('', $output); return FALSE; } return true; } else { $this->errMsg = _tr("Error trying set organizations properties") . $this->errMsg; } } else { $this->errMsg = _tr("Error trying set Features Codes") . $pFC->errMsg; } } else { $this->errMsg = _tr("Error trying set general settings asterisk. ") . $this->errMsg; } return false; }