Portions created by the Initial Developer are Copyright (C) 2008-2012 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ $vars = <<=2;+=.1;%(1400,0,350,440)","var_cat":"Defaults","var_enabled":"true","var_description":""}, {"var_name":"sit","var_value":"%(274,0,913.8);%(274,0,1370.6);%(380,0,1776.7)","var_cat":"Defaults","var_enabled":"true","var_description":""}, {"var_name":"sip_tls_version","var_value":"tlsv1","var_cat":"SIP","var_enabled":"true","var_description":"U0lQIGFuZCBUTFMgc2V0dGluZ3Mu"}, {"var_name":"internal_auth_calls","var_value":"true","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""}, {"var_name":"internal_sip_port","var_value":"5060","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""}, {"var_name":"internal_tls_port","var_value":"5061","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""}, {"var_name":"internal_ssl_enable","var_value":"false","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""}, {"var_name":"internal_ssl_dir","var_value":"\$\${base_dir}/conf/ssl","var_cat":"SIP Profile: Internal","var_enabled":"true","var_description":""}, {"var_name":"external_auth_calls","var_value":"false","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""}, {"var_name":"external_sip_port","var_value":"5080","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""}, {"var_name":"external_tls_port","var_value":"5081","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""}, {"var_name":"external_ssl_enable","var_value":"false","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""}, {"var_name":"external_ssl_dir","var_value":"\$\${base_dir}/conf/ssl","var_cat":"SIP Profile: External","var_enabled":"true","var_description":""}, {"var_name":"use_profile","var_value":"internal","var_cat":"Defaults","var_enabled":"true","var_description":""}, {"var_name":"default_language","var_value":"en","var_cat":"Defaults","var_enabled":"true","var_description":""}, {"var_name":"default_dialect","var_value":"us","var_cat":"Defaults","var_enabled":"true","var_description":""}, {"var_name":"default_voice","var_value":"callie","var_cat":"Defaults","var_enabled":"true","var_description":""}, {"var_name":"ajax_refresh_rate","var_value":"3000","var_cat":"Defaults","var_enabled":"true","var_description":""}, {"var_name":"xml_cdr_archive","var_value":"dir","var_cat":"Defaults","var_enabled":"true","var_description":""}, {"var_name":"ringback","var_value":"\$\${us-ring}","var_cat":"Defaults","var_enabled":"true","var_description":""}, {"var_name":"transfer_ringback","var_value":"\$\${us-ring}","var_cat":"Defaults","var_enabled":"true","var_description":""}, {"var_name":"record_ext","var_value":"wav","var_cat":"Defaults","var_enabled":"true","var_description":""} ] EOD; // Set country depend variables as country code and international direct dialing code (exit code) if (!function_exists('set_country_vars')) { function set_country_vars($db, $x) { $country_list = <<prepare(check_sql($sql)); if ($prep_statement) { $prep_statement->execute(); $result = $prep_statement->fetchAll(PDO::FETCH_ASSOC); if ( count($result)> 0) { $country_iso = $result[0]["value"]; } } unset($prep_statement, $sql, $result); if ( $country_iso===NULL ) return; $countries = json_decode($country_list, true); $found = false; foreach($countries as $country) { if ( $country["isocode"]==$country_iso ) { $found = true; break; } } if ( !$found ) { return; } // Set default Country ISO code $sql = "select count(*) as num_rows from v_vars "; $sql .= "where var_name = 'default_country' "; $sql .= "and var_cat = 'Defaults' "; $prep_statement = $db->prepare(check_sql($sql)); if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); if ($row['num_rows'] == 0) { $sql = "insert into v_vars "; $sql .= "("; $sql .= "var_uuid, "; $sql .= "var_name, "; $sql .= "var_value, "; $sql .= "var_cat, "; $sql .= "var_enabled, "; $sql .= "var_order, "; $sql .= "var_description "; $sql .= ")"; $sql .= "values "; $sql .= "("; $sql .= "'".uuid()."', "; $sql .= "'default_country', "; $sql .= "'".$country["isocode"]."', "; $sql .= "'Defaults', "; $sql .= "'true', "; $sql .= "'".$x."', "; $sql .= "'' "; $sql .= ");"; $db->exec(check_sql($sql)); unset($sql, $row); $x++; } } unset($prep_statement, $sql); // Set default Country code $sql = "select count(*) as num_rows from v_vars "; $sql .= "where var_name = 'default_countrycode' "; $sql .= "and var_cat = 'Defaults' "; $prep_statement = $db->prepare(check_sql($sql)); if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); if ($row['num_rows'] == 0) { $sql = "insert into v_vars "; $sql .= "("; $sql .= "var_uuid, "; $sql .= "var_name, "; $sql .= "var_value, "; $sql .= "var_cat, "; $sql .= "var_enabled, "; $sql .= "var_order, "; $sql .= "var_description "; $sql .= ")"; $sql .= "values "; $sql .= "("; $sql .= "'".uuid()."', "; $sql .= "'default_countrycode', "; $sql .= "'".$country["countrycode"]."', "; $sql .= "'Defaults', "; $sql .= "'true', "; $sql .= "'".$x."', "; $sql .= "'' "; $sql .= ");"; $db->exec(check_sql($sql)); unset($sql, $row); $x++; } } unset($prep_statement, $sql); // Set default International Direct Dialing code $sql = "select count(*) as num_rows from v_vars "; $sql .= "where var_name = 'default_exitcode' "; $sql .= "and var_cat = 'Defaults' "; $prep_statement = $db->prepare(check_sql($sql)); if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); if ($row['num_rows'] == 0) { $sql = "insert into v_vars "; $sql .= "("; $sql .= "var_uuid, "; $sql .= "var_name, "; $sql .= "var_value, "; $sql .= "var_cat, "; $sql .= "var_enabled, "; $sql .= "var_order, "; $sql .= "var_description "; $sql .= ")"; $sql .= "values "; $sql .= "("; $sql .= "'".uuid()."', "; $sql .= "'default_exitcode', "; $sql .= "'".$country["exitcode"]."', "; $sql .= "'Defaults', "; $sql .= "'true', "; $sql .= "'".$x."', "; $sql .= "'' "; $sql .= ");"; $db->exec(check_sql($sql)); unset($sql, $row); $x++; } } unset($prep_statement, $sql); unset($countries); } } $x = 1; //if there are no variables in the vars table then add them if ($domains_processed == 1) { $result = json_decode($vars, true); foreach($result as $row) { $sql = "select count(*) as num_rows from v_vars "; $sql .= "where var_name = '".$row['var_name']."' "; $sql .= "and var_cat = '".$row['var_cat']."' "; $prep_statement = $db->prepare(check_sql($sql)); if ($prep_statement) { $prep_statement->execute(); $row2 = $prep_statement->fetch(PDO::FETCH_ASSOC); if ($row2['num_rows'] == 0) { $sql = "insert into v_vars "; $sql .= "("; $sql .= "var_uuid, "; $sql .= "var_name, "; $sql .= "var_value, "; $sql .= "var_cat, "; $sql .= "var_enabled, "; $sql .= "var_order, "; $sql .= "var_description "; $sql .= ") "; $sql .= "values "; $sql .= "("; $sql .= "'".uuid()."', "; $sql .= "'".$row['var_name']."', "; $sql .= "'".$row['var_value']."', "; $sql .= "'".$row['var_cat']."', "; $sql .= "'".$row['var_enabled']."', "; $sql .= "'".$x."', "; $sql .= "'".$row['var_description']."' "; $sql .= ");"; $db->exec($sql); unset($sql); $x++; } } unset($prep_statement, $row2); } unset($result, $row); } //adjust the variables required variables if ($domains_processed == 1) { //set variables that depend on the number of domains if (count($_SESSION['domains']) > 1) { //disable the domain and domain_uuid for systems with multiple domains $sql = "update v_vars set "; $sql .= "var_enabled = 'false' "; $sql .= "where (var_name = 'domain' or var_name = 'domain_uuid') "; $db->exec(check_sql($sql)); unset($sql); } else { //set the domain_uuid $sql = "select count(*) as num_rows from v_vars "; $sql .= "where var_name = 'domain_uuid' "; $prep_statement = $db->prepare($sql); if ($prep_statement) { $prep_statement->execute(); $row = $prep_statement->fetch(PDO::FETCH_ASSOC); if ($row['num_rows'] == 0) { $sql = "insert into v_vars "; $sql .= "("; $sql .= "var_uuid, "; $sql .= "var_name, "; $sql .= "var_value, "; $sql .= "var_cat, "; $sql .= "var_enabled, "; $sql .= "var_order, "; $sql .= "var_description "; $sql .= ")"; $sql .= "values "; $sql .= "("; $sql .= "'".uuid()."', "; $sql .= "'domain_uuid', "; $sql .= "'".$domain_uuid."', "; $sql .= "'Defaults', "; $sql .= "'true', "; $sql .= "'999', "; $sql .= "'' "; $sql .= ");"; $db->exec(check_sql($sql)); unset($sql); } unset($prep_statement, $row); } } //set country code variables set_country_vars($db, $x); //save the vars.xml file save_var_xml(); } ?>