<?php require_once 'KodiCmd.class.php'; // Suppression de la table du plugin $table = new KodiCmd(); //$table->drop(); $execQuery = $table->query('DROP TABLE yana_plugin_kodi'); $table_configuration = new configuration(); $table_configuration->getAll(); $table_configuration->remove('plugin_kodiCmd_api_url_kodi'); $table_configuration->remove('plugin_kodiCmd_api_timeout_kodi'); $table_configuration->remove('plugin_kodiCmd_api_recognition_status'); // suppression de la piece KODI $table_room = new Room(); $table_room->delete(array('name' => 'KODI')); // Recuperation de l'id et Suppression de la section $table_section = new Section(); $id_section = $table_section->load(array("label" => "kodi"))->getId(); $table_section->delete(array('label' => 'kodi')); // suppression des droits correspondant à la section $table_right = new Right(); $table_right->delete(array('section' => $id_section));
$kodi->setConfidence('0.8'); $kodi->setRoom($kodiRoomId); $kodi->save(); $kodi = new KodiCmd(); $kodi->setName('pause'); $kodi->setDescription('mettre en pause le media'); $kodi->setJson('"method":"Player.PlayPause","params":{"playerid":0},"id":"1"'); $kodi->setConfidence('0.8'); $kodi->setRoom($kodiRoomId); $kodi->save(); $kodi = new KodiCmd(); $kodi->setName('suivant'); $kodi->setDescription('média suivant'); $kodi->setJson('"method":"Player.GoTo","params":{"playerid":0,"to":"next"},"id":"1"'); $kodi->setConfidence('0.8'); $kodi->setRoom($kodiRoomId); $kodi->save(); $kodi = new KodiCmd(); $kodi->setName('précédant'); $kodi->setDescription('media précédent'); $kodi->setJson('"method":"Player.GoTo","params":{"playerid":0,"to":"previous"},"id":"1"'); $kodi->setConfidence('0.8'); $kodi->setRoom($kodiRoomId); $kodi->save(); $kodi = new KodiCmd(); $kodi->setName('info lecture en cours'); $kodi->setDescription('donne des infos'); $kodi->setJson('"method":"Player.GetItem","params":{"properties":["title","streamdetails"],"playerid":0},"id":"AudioGetItem"'); $kodi->setConfidence('0.8'); $kodi->setRoom($kodiRoomId); $kodi->save();
function kodiCmd_action_kodiCmd() { global $_, $conf, $myUser; switch ($_['action']) { case 'kodiCmd_delete_kodiCmd': if ($myUser->can('kodi', 'd')) { $kodiManager = new KodiCmd(); $kodiManager->delete(array('id' => $_['id'])); } header('location:setting.php?section=kodiCmd'); break; case 'kodiCmd_plugin_setting': $conf->put('plugin_kodiCmd_api_url_kodi', $_['api_url_kodi']); header('location: setting.php?section=preference&block=kodiCmd'); break; case 'kodiCmd_add_kodiCmd': if ($myUser->can('kodi', 'c')) { $kodiCmd = new KodiCmd(); $kodiCmd->setName($_['name']); $kodiCmd->setDescription($_['description']); $kodiCmd->setJson($_['kodiJsonCode']); $kodiCmd->setConfidence($_['confidence']); $kodiCmd->setRoom($_['room']); $kodiCmd->save(); } header('location:setting.php?section=kodiCmd'); break; case 'kodiCmd_edit_kodiCmd': if ($myUser->can('kodi', 'c')) { $kodiCmd = new KodiCmd(); $kodiCmd = $kodiCmd->getById($_['id']); $kodiCmd->setName($_['name']); $kodiCmd->setDescription($_['description']); $kodiCmd->setJson($_['kodiJsonCode']); $kodiCmd->setConfidence($_['confidence']); $kodiCmd->setRoom($_['room']); $kodiCmd->save(); } header('location:setting.php?section=kodiCmd'); break; case 'kodiCmd_change_state': global $_, $myUser; if ($myUser->can('kodi', 'u')) { $kodiCmd = new KodiCmd(); $kodiCmd = $kodiCmd->getById($_['engine']); $url = $conf->get('plugin_kodiCmd_api_url_kodi'); $timeOut = $conf->get('plugin_kodiCmd_api_timeout_kodi'); $recoStatus = $conf->get('plugin_kodiCmd_api_recognition_status'); $reqJSON = str_replace(chr(34), '%22', '{"jsonrpc":"2.0",' . html_entity_decode($kodiCmd->getJson()) . '}'); if ($recoStatus != '') { $conf->put('plugin_kodiCmd_api_recognition_status', date('H:i:s')); } if ($recoStatus != '' || !isset($_['webservice'])) { $affirmation = kodiCmd_send_json_request($url, $reqJSON, $timeOut); } if (!isset($_['webservice'])) { if ($affirmation != "OK") { echo "<script>\n alert('" . $affirmation . "');\n window.location.href = \"index.php?module=room&id=" . $kodiCmd->getRoom() . "\";\n </script>"; } else { header('location:index.php?module=room&id=' . $kodiCmd->getRoom()); } } else { if ($affirmation != "OK" && $recoStatus != '') { $response = array('responses' => array(array('type' => 'talk', 'sentence' => $affirmation))); $json = json_encode($response); echo $json == '[]' ? '{}' : $json; } } } else { $response = array('responses' => array(array('type' => 'talk', 'sentence' => 'Je ne vous connais pas, je refuse de faire ça!'))); echo json_encode($response); } break; case 'kodiCmd_recognition_status': $url = $conf->get('plugin_kodiCmd_api_url_kodi'); $timeOut = $conf->get('plugin_kodiCmd_api_timeout_kodi'); switch ($_['state']) { case '1': $conf->put('plugin_kodiCmd_api_recognition_status', date('H:i:s')); $json = '"method":"GUI.ShowNotification","params":{"title":"Reconnaissance Vocale","message":"Activée"},"id":"1"'; $json = urlencode(htmlspecialchars_decode($json)); $reqJSON = str_replace(chr(34), '%22', '{"jsonrpc":"2.0",' . html_entity_decode($json) . '}'); $retJSON = kodiCmd_send_json_request($url, $reqJSON, $timeOut); break; case '0': $conf->put('plugin_kodiCmd_api_recognition_status', ''); $json = '"method":"GUI.ShowNotification","params":{"title":"Reconnaissance Vocale","message":"Désactivée"},"id":"1"'; $json = urlencode(htmlspecialchars_decode($json)); $reqJSON = str_replace(chr(34), '%22', '{"jsonrpc":"2.0",' . html_entity_decode($json) . '}'); $retJSON = kodiCmd_send_json_request($url, $reqJSON, $timeOut); break; } break; } }