function sensor_action_sensor() { global $_, $conf, $myUser; //Mise à jour des droits $myUser->loadRight(); switch ($_['action']) { case 'sensor_delete_sensor': if ($myUser->can('sensor', 'd')) { $sensorManager = new Sensor(); $sensorManager->delete(array('id' => $_['id'])); header('location:setting.php?section=sensor'); } else { header('location:setting.php?section=sensor&error=Vous n\'avez pas le droit de faire ça!'); } break; case 'sensor_plugin_setting': $conf->put('plugin_sensor_receptor_pin', $_['receptorPin']); header('location: setting.php?section=preference&block=sensor'); break; case 'sensor_add_sensor': //Vérifie si on veut modifier ou ajouter un capteur $right_toverify = isset($_['id']) ? 'u' : 'c'; if ($myUser->can('sensor', $right_toverify)) { $sensor = new Sensor(); //Si modification on charge la ligne au lieu de la créer if ($right_toverify == "u") { $sensor = $sensor->load(array("id" => $_['id'])); } $sensor->setName($_['nameSensor']); $sensor->setDescription($_['descriptionSensor']); $sensor->setRadioCode($_['radioCodeSensor']); $sensor->setRoom($_['roomSensor']); $sensor->setType($_['typeSensor']); $sensor->save(); header('location:setting.php?section=sensor'); } else { header('location:setting.php?section=sensor&error=Vous n\'avez pas le droit de faire ça!'); } break; case 'sensor_delete_type': if ($myUser->can('sensortypes', 'd')) { $sensorTypeManager = new SensorType(); $sensorTypeManager->delete(array('id' => $_['id'])); header('location:setting.php?section=sensortypes'); } else { header('location:setting.php?section=sensortypes&error=Vous n\'avez pas le droit de faire ça!'); } break; case 'sensor_add_type': //Vérifie si on veut modifier ou ajouter un capteur $right_toverify = isset($_['id']) ? 'u' : 'c'; if ($myUser->can('sensortypes', $right_toverify)) { $sensorType = new SensorType(); //Si modification on charge la ligne au lieu de la créer if ($right_toverify == "u") { $sensorType = $sensorType->load(array("id" => $_['id'])); } $sensorType->setName($_['nameSensorType']); $sensorType->save(); header('location:setting.php?section=sensortypes'); } else { header('location:setting.php?section=sensortypes&error=Vous n\'avez pas le droit de faire ça!'); } break; case 'UPDATE_ENGINE_STATE': $sensor = new Sensor(); $sensor = $sensor->load(array("radioCode" => $_SERVER['argv'][2])); $sensor->setValue($_SERVER['argv'][3]); $sensor->setPositive($_SERVER['argv'][4]); $sensor->setLastrcv(time()); $sensor->save(); break; case 'sensor_change_state': global $_, $myUser; if ($myUser->can('sensor', 'u')) { $sensor = new Sensor(); $sensor = $sensor->getById($_['engine']); Event::emit('sensor_change_state', array('sensor' => $sensor, 'state' => $_['state'])); if (!isset($_['webservice'])) { header('location:index.php?module=room&id=' . $sensor->getRoom()); } else { $affirmations = array('A vos ordres!', 'Bien!', 'Oui commandant!', 'Avec plaisir!', 'J\'aime vous obéir!', 'J\'y cours !', 'Certainement!', 'Je fais ça sans tarder!', 'oui maîtresse !', 'Oui chef!'); $affirmation = $affirmations[rand(0, count($affirmations) - 1)]; $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' => 'mais t\'es qui toi ?, je refuse de faire ça!'))); echo json_encode($response); } break; } }