Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.31 KB | None | 0 0
  1. <?php
  2.  
  3. $jsonRequest = file_get_contents('php://input');
  4. $data = json_decode($jsonRequest, true);
  5.  
  6. if (empty($data) || (!isset($data))) {
  7.     die('Bad Request');
  8. }
  9.  
  10. $intentType = $data['request']['type'];
  11. $sessionId = $data['session']['sessionId'];
  12.  
  13. if ($intentType == 'LaunchRequest'){
  14.     $responseArray = [
  15.         'version' => '1.0',
  16.         'response' => [
  17.             'outputSpeech' => [
  18.                 'type' => 'SSML',
  19.                 'ssml' => "<speak>Dimmi cosa registrare</speak>"
  20.             ],
  21.             'reprompt' => [
  22.                 'outputSpeech' => [
  23.                     'type' => 'SSML',
  24.                     'ssml' => "<speak>Tempo di risposta esaurito</speak>"
  25.                 ]
  26.             ],
  27.             'shouldEndSession' => false
  28.         ]
  29.     ];
  30. } elseif ($intentType == 'IntentRequest'){
  31.     $dbhost = 'localhost';
  32.     $dbuser = 'pippopippino';
  33.     $dbpsw = '';
  34.     $dbname = 'pippopippino';
  35.  
  36.     // Create connection
  37.     $conn = new mysqli($dbhost, $dbuser, $dbpsw, $dbname);
  38.  
  39.     // Check connection
  40.     if ($conn->connect_error) {
  41.         //echo 'Connection failed: ' . $conn->connect_error;
  42.         $responseArray = [
  43.             'version' => '1.0',
  44.             'response' => [
  45.                 'outputSpeech' => [
  46.                     'type' => 'SSML',
  47.                     'ssml' => "<speak>Connessione alla base di dati fallita</speak>"
  48.                 ],
  49.                 'reprompt' => [
  50.                     'outputSpeech' => [
  51.                         'type' => 'SSML',
  52.                         'ssml' => "<speak>Tempo di risposta esaurito</speak>"
  53.                     ]
  54.                 ],
  55.                 'shouldEndSession' => false
  56.             ]
  57.         ];
  58.     }
  59.     else{
  60.         //'Connected successfully';
  61.     }
  62.    
  63.     $intentName = $data['request']['intent']['name'];
  64.     switch($intentName) {
  65.         case 'GetData':
  66.             if ($data['request']['intent']['slots']['azionePerMatricola']['value'] != ''){
  67.                 $azione = $data['request']['intent']['slots']['azionePerMatricola']['value'];
  68.                 if ($azione == '?'){
  69.                     $responseArray = [
  70.                         'version' => '1.0',
  71.                         'response' => [
  72.                             'outputSpeech' => [
  73.                                 'type' => 'SSML',
  74.                                 'ssml' => "<speak>Non ho capito riprova</speak>"
  75.                             ],
  76.                             'reprompt' => [
  77.                                 'outputSpeech' => [
  78.                                     'type' => 'SSML',
  79.                                     'ssml' => "<speak>Tempo di risposta esaurito</speak>"
  80.                                 ]
  81.                             ],
  82.                             'shouldEndSession' => false
  83.                         ]
  84.                     ];
  85.                 }
  86.                 else{
  87.                    
  88.                     $azione = strtolower($azione);
  89.                     $azioneSplittata = explode(' ', $azione);
  90.                     if (count($azioneSplittata) == 3){
  91.                         if (($azioneSplittata[0] == 'ingresso' || $azioneSplittata[0] == 'entrata' || $azioneSplittata[0] == 'uscita') && ctype_digit($azioneSplittata[2]) == true){
  92.                             $sql = "SELECT * FROM TPdipendenti WHERE Matricola = '" . $azioneSplittata[2] . "'";
  93.                             $result = $conn->query($sql);
  94.                             $row = mysqli_fetch_assoc($result);
  95.                             if ($result->num_rows > 0) {
  96.  
  97.                                 $sql = "INSERT INTO TPpresenze(IDdipendente, azione) VALUES ('" . $row['IDdipendente'] . "', '" . $azioneSplittata[0] . "')";
  98.  
  99.                                 if ($conn->query($sql) === TRUE) {
  100.                                     $responseArray = [
  101.                                         'version' => '1.0',
  102.                                         'response' => [
  103.                                             'outputSpeech' => [
  104.                                                 'type' => 'SSML',
  105.                                                 'ssml' => '<speak>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" /></speak>'
  106.                                             ],
  107.                                             'reprompt' => [
  108.                                                 'outputSpeech' => [
  109.                                                     'type' => 'SSML',
  110.                                                     'ssml' => "<speak>Tempo di risposta esaurito</speak>"
  111.                                                 ]
  112.                                             ],
  113.                                             'shouldEndSession' => true
  114.                                         ]
  115.                                     ];
  116.                                 } else {
  117.                                     //echo "Error: " . $sql . "<br>" . $conn->error;
  118.                                     $responseArray = [
  119.                                         'version' => '1.0',
  120.                                         'response' => [
  121.                                             'outputSpeech' => [
  122.                                                 'type' => 'SSML',
  123.                                                 'ssml' => "<speak>Ok azione inviata " . $azione . ' ma non sono riuscito ad inserire il record nel db</speak>'
  124.                                             ],
  125.                                             'reprompt' => [
  126.                                                 'outputSpeech' => [
  127.                                                     'type' => 'SSML',
  128.                                                     'ssml' => "<speak>Tempo di risposta esaurito</speak>"
  129.                                                 ]
  130.                                             ],
  131.                                             'shouldEndSession' => false
  132.                                         ]
  133.                                     ];
  134.                                 }
  135.  
  136.                             } else {
  137.                                 $responseArray = [
  138.                                     'version' => '1.0',
  139.                                     'response' => [
  140.                                         'outputSpeech' => [
  141.                                             'type' => 'SSML',
  142.                                             'ssml' => "<speak>Mi hai inviato la seguente azione " . $azione . " ma nella base di dati non ho trovato nessuno che lo possieda riprova</speak>"
  143.                                         ],
  144.                                         'reprompt' => [
  145.                                             'outputSpeech' => [
  146.                                                 'type' => 'SSML',
  147.                                                 'ssml' => "<speak>Tempo di risposta esaurito</speak>"
  148.                                             ]
  149.                                         ],
  150.                                         'shouldEndSession' => false
  151.                                     ]
  152.                                 ];
  153.                             }
  154.                         }
  155.                         else{
  156.                             $responseArray = [
  157.                                 'version' => '1.0',
  158.                                 'response' => [
  159.                                     'outputSpeech' => [
  160.                                         'type' => 'SSML',
  161.                                         'ssml' => "<speak>Non ho capito riprova</speak>"
  162.                                     ],
  163.                                     'reprompt' => [
  164.                                         'outputSpeech' => [
  165.                                             'type' => 'SSML',
  166.                                             'ssml' => "<speak>Tempo di risposta esaurito</speak>"
  167.                                         ]
  168.                                     ],
  169.                                     'shouldEndSession' => false
  170.                                 ]
  171.                             ];
  172.                         }
  173.                     }
  174.                     else{
  175.                         $responseArray = [
  176.                             'version' => '1.0',
  177.                             'response' => [
  178.                                 'outputSpeech' => [
  179.                                     'type' => 'SSML',
  180.                                     'ssml' => "<speak>Non ho capito riprova</speak>"
  181.                                 ],
  182.                                 'reprompt' => [
  183.                                     'outputSpeech' => [
  184.                                         'type' => 'SSML',
  185.                                         'ssml' => "<speak>Tempo di risposta esaurito</speak>"
  186.                                     ]
  187.                                 ],
  188.                                 'shouldEndSession' => false
  189.                             ]
  190.                         ];
  191.                     }
  192.                 }
  193.  
  194.             }
  195.             else{
  196.                 $responseArray = [
  197.                     'version' => '1.0',
  198.                     'response' => [
  199.                         'outputSpeech' => [
  200.                             'type' => 'SSML',
  201.                             'ssml' => "<speak>La chiave รจ null</speak>"
  202.                         ],
  203.                         'reprompt' => [
  204.                             'outputSpeech' => [
  205.                                 'type' => 'SSML',
  206.                                 'ssml' => "<speak>Tempo di risposta esaurito</speak>"
  207.                             ]
  208.                         ],
  209.                         'shouldEndSession' => false
  210.                     ]
  211.                 ];
  212.             }
  213.         break;
  214.     }
  215.    
  216. }
  217.  
  218. header ('Content-Type: application/json');
  219. if (!empty($responseArray)){
  220.     echo json_encode($responseArray);
  221. }
  222. else{
  223.     echo json_encode(json_decode("{}"));
  224. }
  225. $conn->close();
  226. die();
  227.  
  228. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement