Remove sync_directory which creates directory.js I made a better one called directory.lua so this is now obsolete.

This commit is contained in:
Mark Crane 2012-11-11 07:28:54 +00:00
parent e1f443b783
commit d07bad5240
1 changed files with 0 additions and 231 deletions

View File

@ -3333,237 +3333,6 @@ if (!function_exists('phone_letter_to_number')) {
}
if (!function_exists('sync_directory')) {
function sync_directory() {
global $domain_uuid, $db;
$tmp = "include(\"config.js\");\n";
$tmp .= "//var sounds_dir\n";
$tmp .= "var admin_pin = \"\";\n";
$tmp .= "var search_type = \"\";\n";
$tmp .= "//var tmp_dir\n";
$tmp .= "var digitmaxlength = 0;\n";
$tmp .= "var timeoutpin = 5000;\n";
$tmp .= "var timeouttransfer = 5000;\n";
$tmp .= "\n";
$tmp .= "var dtmf = new Object( );\n";
$tmp .= "dtmf.digits = \"\";\n";
$tmp .= "\n";
$tmp .= "function mycb( session, type, obj, arg ) {\n";
$tmp .= " try {\n";
$tmp .= " if ( type == \"dtmf\" ) {\n";
$tmp .= " console_log( \"info\", \"digit: \"+obj.digit+\"\\n\" );\n";
$tmp .= " if ( obj.digit == \"#\" ) {\n";
$tmp .= " //console_log( \"info\", \"detected pound sign.\\n\" );\n";
$tmp .= " exit = true;\n";
$tmp .= " return( false );\n";
$tmp .= " }\n";
$tmp .= " if ( obj.digit == \"*\" ) {\n";
$tmp .= " //console_log( \"info\", \"detected pound sign.\\n\" );\n";
$tmp .= " exit = true;\n";
$tmp .= " return( false );\n";
$tmp .= " }\n";
$tmp .= " dtmf.digits += obj.digit;\n";
$tmp .= " if ( dtmf.digits.length >= digitmaxlength ) {\n";
$tmp .= " exit = true;\n";
$tmp .= " return( false );\n";
$tmp .= " }\n";
$tmp .= " }\n";
$tmp .= " } catch (e) {\n";
$tmp .= " console_log( \"err\", e+\"\\n\" );\n";
$tmp .= " }\n";
$tmp .= " return( true );\n";
$tmp .= "} //end function mycb\n";
$tmp .= "\n";
$tmp .= "function directory_search(search_type) {\n";
$tmp .= "\n";
$tmp .= " digitmaxlength = 3;\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-enter_person.wav\");\n";
$tmp .= " if (search_type == \"last_name\") {\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-last_name.wav\", mycb, \"dtmf\");\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-to_search_by.wav\", mycb, \"dtmf\");\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-first_name.wav\", mycb, \"dtmf\");\n";
$tmp .= " }\n";
$tmp .= " if (search_type == \"first_name\") {\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-first_name.wav\", mycb, \"dtmf\");\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-to_search_by.wav\", mycb, \"dtmf\");\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-last_name.wav\", mycb, \"dtmf\");\n";
$tmp .= " }\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-press.wav\", mycb, \"dtmf\");\n";
$tmp .= " session.execute(\"say\", \"en name_spelled iterated 1\");\n";
$tmp .= " session.collectInput( mycb, dtmf, timeoutpin );\n";
$tmp .= " var dtmf_search = dtmf.digits;\n";
$tmp .= " //console_log( \"info\", \"--\" + dtmf.digits + \"--\\n\" );\n";
$tmp .= " if (dtmf_search == \"1\") {\n";
$tmp .= " //console_log( \"info\", \"press 1 detected: \" + dtmf.digits + \"\\n\" );\n";
$tmp .= " //console_log( \"info\", \"press 1 detected: \" + search_type + \"\\n\" );\n";
$tmp .= " if (search_type == \"last_name\") {\n";
$tmp .= " //console_log( \"info\", \"press 1 detected last_name: \" + search_type + \"\\n\" );\n";
$tmp .= " search_type = \"first_name\";\n";
$tmp .= " }\n";
$tmp .= " else {\n";
$tmp .= " //console_log( \"info\", \"press 1 detected first_name: \" + search_type + \"\\n\" );\n";
$tmp .= " search_type = \"last_name\";\n";
$tmp .= " }\n";
$tmp .= " dtmf_search = \"\";\n";
$tmp .= " dtmf.digits = \"\";\n";
$tmp .= " directory_search(search_type);\n";
$tmp .= " return;\n";
$tmp .= " }\n";
$tmp .= " console_log( \"info\", \"first 3 letters of first or last name: \" + dtmf.digits + \"\\n\" );\n";
$tmp .= "\n";
$tmp .= " //session.execute(\"say\", \"en name_spelled pronounced mark\");\n";
$tmp .= " //<action application=\"say\" data=\"en name_spelled iterated \${destination_number}\"/>\n";
$tmp .= " //session.execute(\"say\", \"en number iterated 12345\");\n";
$tmp .= " //session.execute(\"say\", \"en number pronounced 1001\");\n";
$tmp .= " //session.execute(\"say\", \"en short_date_time pronounced [timestamp]\");\n";
$tmp .= " //session.execute(\"say\", \"en CURRENT_TIME pronounced CURRENT_TIME\");\n";
$tmp .= " //session.execute(\"say\", \"en CURRENT_DATE pronounced CURRENT_DATE\");\n";
$tmp .= " //session.execute(\"say\", \"en CURRENT_DATE_TIME pronounced CURRENT_DATE_TIME\");\n";
$tmp .= "\n";
$tmp .= "\n";
$tmp .= " //take each name and convert it to the equivalent number in php when this file is generated\n";
$tmp .= " //then test each number see if it matches the user dtmf search keys\n";
$tmp .= "\n";
$tmp .= " var result_array = new Array();\n";
$tmp .= " var x = 0;\n";
//get a list of extensions and the users assigned to them
$sql = "select * from v_extensions ";
$sql .= "where domain_uuid = '$domain_uuid' ";
$sql .= "and enabled = 'true'; ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$x = 0;
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as &$row) {
$extension = $row["extension"];
$effective_caller_id_name = $row["effective_caller_id_name"];
//$user_list = $row["user_list"];
//$user_list = trim($user_list, "|");
//$username_array = explode ("|", $user_list);
foreach ($username_array as &$username) {
if (strlen($username) > 0) {
$sql = "select * from v_users ";
$sql .= "where domain_uuid = '$domain_uuid' ";
$sql .= "and username = '$username' ";
$sql .= "and user_enabled = 'true' ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$tmp_result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($tmp_result as &$row_tmp) {
$user_first_name = $row_tmp["user_first_name"];
$user_last_name = $row_tmp["user_last_name"];
if ($user_first_name == "na") { $user_first_name = ""; }
if ($user_last_name == "na") { $user_last_name = ""; }
if ($user_first_name == "admin") { $user_first_name = ""; }
if ($user_last_name == "admin") { $user_last_name = ""; }
if ($user_first_name == "superadmin") { $user_first_name = ""; }
if ($user_last_name == "superadmin") { $user_last_name = ""; }
if (strlen($user_first_name.$user_last_name) == 0) {
$name_array = explode (" ", $effective_caller_id_name);
$user_first_name = $name_array[0];
if (count($name_array) > 1) {
$user_last_name = $name_array[1];
}
}
break; //limit to 1 row
}
$f1 = phone_letter_to_number(substr($user_first_name, 0,1));
$f2 = phone_letter_to_number(substr($user_first_name, 1,1));
$f3 = phone_letter_to_number(substr($user_first_name, 2,1));
$l1 = phone_letter_to_number(substr($user_last_name, 0,1));
$l2 = phone_letter_to_number(substr($user_last_name, 1,1));
$l3 = phone_letter_to_number(substr($user_last_name, 2,1));
//echo $sql." extension: $extension first_name $user_first_name last_name $user_last_name $tmp<br />";
$tmp .= " if (search_type == \"first_name\" && dtmf_search == \"".$f1.$f2.$f3."\" || search_type == \"last_name\" && dtmf_search == \"".$l1.$l2.$l3."\") {\n";
$tmp .= " result_array[x]=new Array()\n";
$tmp .= " result_array[x]['first_name'] =\"".$user_first_name."\";\n";
$tmp .= " result_array[x]['last_name'] =\"".$user_last_name."\";\n";
$tmp .= " result_array[x]['extension'] = \"".$extension."\";\n";
$tmp .= " //console_log( \"info\", \"found: ".$user_first_name." ".$user_last_name."\\n\" );\n";
$tmp .= " x++;\n";
$tmp .= " }\n";
}
}
}
unset ($prep_statement);
$tmp .= "\n";
$tmp .= "\n";
$tmp .= " //say the number of results that matched\n";
$tmp .= " \$result_count = result_array.length;\n";
$tmp .= " session.execute(\"say\", \"en number iterated \"+\$result_count);\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-result_match.wav\", mycb, \"dtmf\");\n";
$tmp .= "\n";
$tmp .= " //clear values\n";
$tmp .= " dtmf_search = 0;\n";
$tmp .= " dtmf.digits = '';\n";
$tmp .= "\n";
$tmp .= " if (\$result_count == 0) {\n";
$tmp .= " //session.execute(\"transfer\", \"*347 XML ".$_SESSION["context"]."\");\n";
$tmp .= " directory_search(search_type);\n";
$tmp .= " return;\n";
$tmp .= " }\n";
$tmp .= "\n";
$tmp .= " session.execute(\"set\", \"tts_engine=flite\");\n";
$tmp .= " session.execute(\"set\", \"tts_voice=rms\"); //rms //kal //awb //slt\n";
$tmp .= " session.execute(\"set\", \"playback_terminators=#\");\n";
$tmp .= " //session.speak(\"flite\",\"kal\",\"Thanks for.. calling\");\n";
$tmp .= "\n";
$tmp .= " i=1;\n";
$tmp .= " for ( i in result_array ) {\n";
$tmp .= "\n";
$tmp .= " //say first name and last name is at extension 1001\n";
$tmp .= " //session.execute(\"speak\", result_array[i]['first_name']);\n";
$tmp .= " //session.execute(\"speak\", result_array[i]['last_name']);\n";
$tmp .= " session.execute(\"say\", \"en name_spelled pronounced \"+result_array[i]['first_name']);\n";
$tmp .= " session.execute(\"sleep\", \"500\");\n";
$tmp .= " session.execute(\"say\", \"en name_spelled pronounced \"+result_array[i]['last_name']);\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-at_extension.wav\", mycb, \"dtmf\");\n";
$tmp .= " session.execute(\"say\", \"en number pronounced \"+result_array[i]['extension']);\n";
$tmp .= "\n";
$tmp .= " //to select this entry press 1\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-to_select_entry.wav\", mycb, \"dtmf\");\n";
$tmp .= " session.streamFile( sounds_dir+\"/en/us/callie/directory/48000/dir-press.wav\", mycb, \"dtmf\");\n";
$tmp .= " session.execute(\"say\", \"en number iterated 1\");\n";
$tmp .= "\n";
$tmp .= " //console_log( \"info\", \"first name: \" + result_array[i]['first_name'] + \"\\n\" );\n";
$tmp .= " //console_log( \"info\", \"last name: \" + result_array[i]['last_name'] + \"\\n\" );\n";
$tmp .= " //console_log( \"info\", \"extension: \" + result_array[i]['extension'] + \"\\n\" );\n";
$tmp .= "\n";
$tmp .= " //if 1 is pressed then transfer the call\n";
$tmp .= " dtmf.digits = session.getDigits(1, \"#\", 3000);\n";
$tmp .= " if (dtmf.digits == \"1\") {\n";
$tmp .= " console_log( \"info\", \"directory: call transfered to: \" + result_array[i]['extension'] + \"\\n\" );\n";
$tmp .= " session.execute(\"transfer\", result_array[i]['extension']+\" XML ".$_SESSION["context"]."\");\n";
$tmp .= " }\n";
$tmp .= "\n";
$tmp .= " }\n";
$tmp .= "}\n";
$tmp .= "\n";
$tmp .= "\n";
$tmp .= "if ( session.ready() ) {\n";
$tmp .= " session.answer();\n";
$tmp .= " search_type = \"last_name\";\n";
$tmp .= " directory_search(search_type);\n";
$tmp .= " session.hangup(\"NORMAL_CLEARING\");\n";
$tmp .= "}\n";
$tmp .= "";
//write the file
$fout = fopen($switch_scripts_dir."/directory.js","w");
fwrite($fout, $tmp);
fclose($fout);
} //end sync_directory
} //end if function exists
if (!function_exists('save_ivr_menu_xml')) {
function save_ivr_menu_xml() {
global $db, $domain_uuid;