* * Jeedom is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Jeedom is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Jeedom. If not, see <http://www.gnu.org/licenses/>. */ require_once dirname(__FILE__) . "/../../../../core/php/core.inc.php"; if (!jeedom::apiAccess(init('apikey'))) { connection::failed(); echo 'Clef API non valide, vous n\'etes pas autorisé à effectuer cette action (jeeZwave)'; die; } if (isset($_GET['test'])) { echo 'OK'; die; } if (isset($_GET['stopOpenzwave'])) { config::save('allowStartDeamon', 0, 'openzwave'); openzwave::stopDeamon(); die; } if (isset($_GET['startOpenzwave'])) { log::add('openzwave', 'debug', 'Restart Zwave deamon');
try { $IP = getClientIp(); $request = init('request'); if ($request == '') { $request = file_get_contents("php://input"); } log::add('api', 'info', $request . ' - IP :' . $IP); $jsonrpc = new jsonrpc($request); if (!mySqlIsHere()) { throw new Exception('Mysql non lancé', -32001); } if ($jsonrpc->getJsonrpc() != '2.0') { throw new Exception('Requête invalide. Version Jsonrpc invalide : ' . $jsonrpc->getJsonrpc(), -32001); } $params = $jsonrpc->getParams(); if (!jeedom::apiAccess($params['apikey']) && !jeedom::apiAccess($params['api'])) { connection::failed(); throw new Exception('Clé API invalide', -32001); } connection::success('api'); /* * ************************config*************************** */ if ($jsonrpc->getMethod() == 'config::byKey') { $jsonrpc->makeSuccess(config::byKey($params['key'], $params['plugin'], $params['default'])); } if ($jsonrpc->getMethod() == 'config::save') { $jsonrpc->makeSuccess(config::save($params['key'], $params['value'], $params['plugin'])); } if (isset($params['plugin']) && $params['plugin'] != '') { log::add('api', 'info', 'Demande pour le plugin : ' . secureXSS($params['plugin'])); include_file('core', $params['plugin'], 'api', $params['plugin']); } else {