Changeset 3336712
- Timestamp:
- 07/30/2025 02:59:16 PM (7 months ago)
- Location:
- dialbunny/trunk
- Files:
-
- 1 added
- 4 edited
-
app.php (modified) (4 diffs)
-
dialbunny.php (modified) (1 diff)
-
lib/controllers/dashboard.php (modified) (1 diff)
-
lib/controllers/webcalling.php (modified) (4 diffs)
-
lib/views/dashboard/ai_assistant.php (added)
Legend:
- Unmodified
- Added
- Removed
-
dialbunny/trunk/app.php
r3328438 r3336712 73 73 </div> 74 74 <div class="menu-item show menu-accordion"> 75 <a class="menu-link" href="<?php echo esc_url(wp_nonce_url($dialbunnyDashboardUrl.'&dashboardpage= voiceassistant', 'DialBunny', 'user_nonce')); ?>">75 <a class="menu-link" href="<?php echo esc_url(wp_nonce_url($dialbunnyDashboardUrl.'&dashboardpage=aiassistant', 'DialBunny', 'user_nonce')); ?>"> 76 76 <span class="menu-link"> 77 77 <span class="menu-bullet"> … … 167 167 echo 'Inbound Calls'; 168 168 break; 169 case ' voiceassistant':169 case 'aiassistant': 170 170 echo 'AI Assistant'; 171 171 break; … … 231 231 include(plugin_dir_path(__FILE__) . 'lib/views/dashboard/inbound.php'); 232 232 break; 233 case 'voiceassistant': 234 include(plugin_dir_path(__FILE__) . 'lib/views/dashboard/voice_assistant.php'); 235 break; 236 case 'messagesassistant': 237 include(plugin_dir_path(__FILE__) . 'lib/views/dashboard/messages_assistant.php'); 233 case 'aiassistant': 234 include(plugin_dir_path(__FILE__) . 'lib/views/dashboard/ai_assistant.php'); 238 235 break; 239 236 case 'calendar': … … 395 392 </div> 396 393 <div class="menu-item show menu-accordion"> 397 <a class="menu-link text-dark" href="<?php echo esc_url(wp_nonce_url($dialbunnyDashboardUrl.'&dashboardpage= voiceassistant', 'DialBunny', 'user_nonce')); ?>">394 <a class="menu-link text-dark" href="<?php echo esc_url(wp_nonce_url($dialbunnyDashboardUrl.'&dashboardpage=aiassistant', 'DialBunny', 'user_nonce')); ?>"> 398 395 <span class="menu-link"> 399 396 <span class="menu-bullet"> -
dialbunny/trunk/dialbunny.php
r3328438 r3336712 4 4 Plugin URI: https://dialbunny.com/ 5 5 Description: Easily manage inbound and outbound phone calls and text messages 6 Version: 1.1. 26 Version: 1.1.3 7 7 Author:DialBunny 8 8 Author URI: https://dialbunny.com -
dialbunny/trunk/lib/controllers/dashboard.php
r3325864 r3336712 110 110 if (isset($_POST['busy'])) { $rawdata['ai_busy'] = sanitize_textarea_field(wp_unslash($_POST['busy'])); } else { $rawdata['ai_busy'] = 0; } 111 111 if (isset($_POST['timetable'])) { $rawdata['ai_timetable'] = sanitize_textarea_field(wp_unslash($_POST['timetable'])); } else { $rawdata['ai_timetable'] = 0; } 112 if (isset($_POST['id'])) { $rawdata['id'] = sanitize_textarea_field(wp_unslash($_POST['id'])); } else { $rawdata['id'] = 0; } 113 if (isset($_POST['greeting'])) { $rawdata['greeting'] = sanitize_textarea_field(wp_unslash($_POST['greeting'])); } else { $rawdata['greeting'] = 0; } 114 if (isset($_POST['voice'])) { $rawdata['voice'] = sanitize_textarea_field(wp_unslash($_POST['voice'])); } else { $rawdata['voice'] = 0; } 112 if (isset($_POST['twilio_sid'])) { $rawdata['twilio_sid'] = sanitize_textarea_field(wp_unslash(str_replace(' ', '', $_POST['twilio_sid']))); } else { $rawdata['twilio_sid'] = ''; } 113 if (isset($_POST['vapi_sip'])) { $rawdata['vapi_sip'] = sanitize_textarea_field(wp_unslash(str_replace(' ', '', $_POST['vapi_sip']))); } else { $rawdata['vapi_sip'] = ''; } 114 if (isset($_POST['radio'])) { $rawdata['voice_company'] = sanitize_textarea_field(wp_unslash($_POST['radio'])); } else { $rawdata['voice_company'] = 'twilio'; } 115 if (!empty($_POST['greeting'])) { $rawdata['greeting'] = sanitize_textarea_field(wp_unslash($_POST['greeting'])); } else { $rawdata['greeting'] = 'Hi! Ask me anything!'; } 116 if (!empty($_POST['voice'])) { $rawdata['voice'] = sanitize_textarea_field(wp_unslash($_POST['voice'])); } else { $rawdata['voice'] = 'en-US-Journey-O'; } 117 if (isset($_POST['messages'])) { $rawdata['ai_messages'] = sanitize_textarea_field(wp_unslash($_POST['messages'])); } else { $rawdata['ai_messages'] = 0; } 115 118 $json_data = wp_json_encode($rawdata); 116 119 $data['voice_assistant'] = $json_data; -
dialbunny/trunk/lib/controllers/webcalling.php
r3325864 r3336712 24 24 // Direct database query used below – $wpdb->prepare() is always used to prevent SQL injection. 25 25 $result = $wpdb->get_row($wpdb->prepare("SELECT web_token FROM {$wpdb->prefix}dialbunny_phone_details WHERE user = %d AND token_created >= (NOW() - INTERVAL 15 MINUTE) LIMIT 1",$user_id)); // phpcs:ignore WordPress.DB.DirectDatabaseQuery 26 // AND token_created >= (NOW() - INTERVAL 15 MINUTE) 26 27 27 28 if (isset($opened_item[0]->web_token)) { … … 262 263 $response->say($sayText); 263 264 // AI assistant response 264 if ($voiceAssistantData['ai_timetable'] == 1 && isset($voiceAssistantData['id']) && isset($voiceAssistantData['greeting']) && isset($voiceAssistantData['voice'])) 265 { 266 $connect = $response->connect(); 267 $connect->assistant([ 268 'id' => $voiceAssistantData['id'], 269 'welcomeGreeting' => $voiceAssistantData['greeting'], 270 'voice' => $voiceAssistantData['voice'], 271 ]); 265 if ($voiceAssistantData['ai_timetable'] == 1) 266 { 267 if ($voiceAssistantData['voice_company'] === 'twilio') { 268 if (empty($voiceAssistantData['twilio_sid'])) { $response->say("No valid Twilio SID key was saved. Goodbye."); echo $response; exit; } 269 $connect = $response->connect(); 270 $connect->assistant([ 271 'id' => $voiceAssistantData['twilio_sid'], 272 'welcomeGreeting' => $voiceAssistantData['greeting'], 273 'voice' => $voiceAssistantData['voice'], 274 ]); 275 } 276 elseif ($voiceAssistantData['voice_company'] === 'vapi') 277 { 278 if (empty($voiceAssistantData['vapi_sip'])) { $response->say("No valid Vapi SIP key was saved. Goodbye."); echo $response; exit; } 279 $response->dial()->sip($voiceAssistantData['vapi_sip']); 280 } 272 281 } 273 282 // Twilio expects raw XML, Twilio will fail to parse this response if escaped … … 291 300 292 301 // AI assistant response 293 if ($voiceAssistantData['ai_initiated'] == 1 && isset($voiceAssistantData['id']) && isset($voiceAssistantData['greeting']) && isset($voiceAssistantData['voice'])) 294 { 295 $connect = $response->connect(); 296 $connect->assistant([ 297 'id' => $voiceAssistantData['id'], 298 'welcomeGreeting' => $voiceAssistantData['greeting'], 299 'voice' => $voiceAssistantData['voice'], 300 ]); 302 if ($voiceAssistantData['ai_initiated'] == 1) 303 { 304 if ($voiceAssistantData['voice_company'] === 'twilio') { 305 if (empty($voiceAssistantData['twilio_sid'])) { $response->say("No valid Twilio SID key was saved. Goodbye."); echo $response; exit; } 306 $connect = $response->connect(); 307 $connect->assistant([ 308 'id' => $voiceAssistantData['twilio_sid'], 309 'welcomeGreeting' => $voiceAssistantData['greeting'], 310 'voice' => $voiceAssistantData['voice'], 311 ]); 312 } 313 elseif ($voiceAssistantData['voice_company'] === 'vapi') 314 { 315 if (empty($voiceAssistantData['vapi_sip'])) { $response->say("No valid Vapi SIP key was saved. Goodbye."); echo $response; exit; } 316 $response->dial()->sip($voiceAssistantData['vapi_sip']); 317 } 301 318 } 302 319 … … 315 332 316 333 // AI assistant response 317 if ($voiceAssistantData['ai_busy'] == 1 && isset($voiceAssistantData['id']) && isset($voiceAssistantData['greeting']) && isset($voiceAssistantData['voice'])) 318 { 319 $connect = $response->connect(); 320 $connect->assistant([ 321 'id' => $voiceAssistantData['id'], 322 'welcomeGreeting' => $voiceAssistantData['greeting'], 323 'voice' => $voiceAssistantData['voice'], 324 ]); 334 if ($voiceAssistantData['ai_busy'] == 1) 335 { 336 if ($voiceAssistantData['voice_company'] === 'twilio') { 337 if (empty($voiceAssistantData['twilio_sid'])) { $response->say("No valid Twilio SID key was saved. Goodbye."); echo $response; exit; } 338 $connect = $response->connect(); 339 $connect->assistant([ 340 'id' => $voiceAssistantData['twilio_sid'], 341 'welcomeGreeting' => $voiceAssistantData['greeting'], 342 'voice' => $voiceAssistantData['voice'], 343 ]); 344 } 345 elseif ($voiceAssistantData['voice_company'] === 'vapi') 346 { 347 if (empty($voiceAssistantData['vapi_sip'])) { $response->say("No valid Vapi SIP key was saved. Goodbye."); echo $response; exit; } 348 $response->dial()->sip($voiceAssistantData['vapi_sip']); 349 } 325 350 } 326 351
Note: See TracChangeset
for help on using the changeset viewer.