Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- header ('Content-Type: application/json');
- function response($outputSpeech, $shouldEndSession = false)
- {
- return json_encode([
- 'version' => '1.0',
- 'response' => [
- 'outputSpeech' => [
- 'type' => 'SSML',
- 'ssml' => "<speak>" . $outputSpeech . "</speak>"
- ],
- 'reprompt' => [
- 'outputSpeech' => [
- 'type' => 'SSML',
- 'ssml' => "<speak>Tempo di risposta esaurito</speak>"
- ]
- ],
- 'shouldEndSession' => $shouldEndSession
- ]
- ]);
- }
- $jsonRequest = file_get_contents('php://input');
- $data = json_decode($jsonRequest, true);
- if (empty($data) || (!isset($data))) {
- echo response('Bad request', true);
- die('Bad Request');
- }
- $intentType = $data['request']['type'];
- $sessionId = $data['session']['sessionId'];
- if ($intentType == 'LaunchRequest'){
- echo response('Dimmi cosa registrare', false);
- die();
- } elseif ($intentType == 'IntentRequest'){
- $dbhost = 'localhost';
- $dbuser = 'ilmiobottelegram';
- $dbpsw = '';
- $dbname = 'my_ilmiobottelegram';
- // Create connection
- $conn = new mysqli($dbhost, $dbuser, $dbpsw, $dbname);
- // Check connection
- if ($conn->connect_error) {
- //echo 'Connection failed: ' . $conn->connect_error;
- echo response('Connessione alla base di dati fallita', false);
- die();
- }
- $intentName = $data['request']['intent']['name'];
- switch($intentName) {
- case 'GetData':
- if ($data['request']['intent']['slots']['azionePerMatricola']['value'] != '') {
- $azione = $data['request']['intent']['slots']['azionePerMatricola']['value'];
- if ($azione == '?') {
- echo response('Non ho capito riprova', false);
- die();
- } else {
- $azione = strtolower($azione);
- $azioneSplittata = explode(' ', $azione);
- if (count($azioneSplittata) == 3) {
- if (
- (
- $azioneSplittata[0] == 'ingresso' ||
- $azioneSplittata[0] == 'entrata' ||
- $azioneSplittata[0] == 'uscita'
- ) &&
- ctype_digit($azioneSplittata[2]) == true
- ) {
- $sql = "SELECT * FROM TPdipendenti WHERE Matricola = '" . $azioneSplittata[2] . "'";
- $result = $conn->query($sql);
- $row = mysqli_fetch_assoc($result);
- if ($result->num_rows > 0) {
- $sql = "INSERT INTO TPpresenze(IDdipendente, azione) VALUES ('" . $row['IDdipendente'] . "', '" . $azioneSplittata[0] . "')";
- if ($conn->query($sql) === TRUE) {
- echo response('Ok azione inviata ' . $azione . ' e ho trovato corrispondenza nella base di dati e ho inserito il record nel db<audio src="https://ilmiobottelegram.altervista.org/alexaSuccessRing.mp3" />', true);
- die();
- } else {
- echo response('Ok azione inviata ' . $azione . ' ma non sono riuscito ad inserire il record nel db', false);
- die();
- //echo "Error: " . $sql . "<br>" . $conn->error;
- }
- } else {
- echo response('Mi hai inviato la seguente azione ' . $azione . ' ma nella base di dati non ho trovato nessuno che lo possieda riprova', false);
- die();
- }
- } else {
- echo response('Non ho capito riprova', false);
- die();
- }
- } else {
- echo response('Non ho capito riprova', false);
- die();
- }
- }
- } else{
- echo response('La chiave è null', true);
- die();
- }
- break;
- default:
- echo response('Nome intent ' . $intentName . ' non trovato', false);
- die();
- }
- }
- echo response('Ho dimenticato di gestire qualcosa', false);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement