Ejemplo n.º 1
0
<?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));
Ejemplo n.º 2
0
$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();
Ejemplo n.º 3
0
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;
    }
}