Example code for a sample Project...of PHP Code Hypdrater
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

79 lines
2.6 KiB

<?php
declare(strict_types=1);
/**
* @author Robert Strutts <Bob_586@Yahoo.com>
* @copyright (c) 2025, Robert Strutts
* @license MIT
*/
namespace Project\controllers\app;
use CodeHydrater\bootstrap\registry as Reg;
/**
* Description of twilio_ctrl
*
* Twilio Setup, REQUIRES off_twilio.php to be turned on...
* Then define the sid and token
*
* @link https://github.com/twilio/twilio-php
* @link https://www.twilio.com/docs/messaging/quickstart
* @link https://www.twilio.com/docs/voice/twiml
*
*/
class twilio_ctrl {
private function get_caller() {
/** Get Callers Phone Number, if plus-sign (+) not found add it */
$caller_number = (isset($_REQUEST['From'])) ? $_REQUEST['From'] : false;
if ($caller_number !== false) {
$plus = substr($caller_number, 0, 1);
$caller_number = ($plus !== '+') ? "+" . $caller_number : $caller_number;
}
return $caller_number;
}
public function index() {
header("content-type: text/xml");
$response = Reg::get('di')->get_service('twilio_voice');
$caller_number = $this->get_caller();
// If the user entered digits, process their request
if (array_key_exists('Digits', $_POST)) {
switch ($_POST['Digits']) {
case 1:
$response->say('One moment and you will be connnected to Sales!');
// Do Sales Stuff
break;
case 2:
$response->say('Please hold for support!');
// Do Support Stuff
break;
default:
$response->say('Sorry, I don\'t understand that choice.');
}
} else {
// If no input was sent, use the <Gather> verb to collect user input
$gather = $response->gather(array('numDigits' => 1));
// use the <Say> verb to request input from the user
$gather->say('For sales, press 1. For support, press 2.');
// If the user doesn't enter input, loop
$response->redirect('/app/twilio/index');
}
echo $response;
}
public function send_sms(): string {
$twilio = Reg::get('di')->get_service('twilio_sms');
// Example: Send an SMS Text message to Cell Phone
$message = $twilio->messages->create(
'+15558675309', // To number GOES HERE
[
'from' => '+15017122661', // YOUR Twilio number HERE
'body' => 'Hello from Twilio!'
]
);
echo $message->body;
}
}