public function update(SensorType $st)
 {
     $query = "UPDATE `sensor_type` SET type_name='" . $st->getTypeName() . "', unit='" . $st->getUnit() . "' WHERE idsensor_type='" . $st->getIdsensorType() . "'";
     $this->con->openConnection();
     $this->con->executeRawQuery($query);
 }
示例#2
0
<?php

/* 
	Le code contenu dans cette page ne sera éxecuté qu'à l'activation du plugin 
	Vous pouvez donc l'utiliser pour créer des tables SQLite, des dossiers, ou executer une action
	qui ne doit se lancer qu'à l'installation ex :
*/
require_once 'Sensor.class.php';
$table = new Sensor();
$table->create();
require_once 'SensorType.class.php';
$table2 = new SensorType();
$table2->create();
$s1 = new Section();
$s1->setLabel('sensor');
$s1->save();
$s2 = new Section();
$s2->setLabel('sensortypes');
$s2->save();
$r1 = new Right();
$r1->setSection($s1->getId());
$r1->setRead('1');
$r1->setDelete('1');
$r1->setCreate('1');
$r1->setUpdate('1');
$r1->setRank('1');
$r1->save();
$r2 = new Right();
$r2->setSection($s2->getId());
$r2->setRead('1');
$r2->setDelete('1');
<?php

/* 
	Le code contenu dans cette page ne sera éxecuté qu'à la désactivation du plugin 
	Vous pouvez donc l'utiliser pour supprimer des tables SQLite, des dossiers, ou executer une action
*/
require_once 'Sensor.class.php';
require_once 'SensorType.class.php';
$table = new Sensor();
$table2 = new SensorType();
$table->drop();
$table2->drop();
$conf = new Configuration();
$conf->delete(array('key' => 'plugin_sensor_receptor_pin'));
$table_section = new Section();
$id_section = $table_section->load(array("label" => "sensor"))->getId();
$id_section2 = $table_section->load(array("label" => "sensortypes"))->getId();
$table_section->delete(array('label' => 'sensor'));
$table_section2->delete(array('label' => 'sensortypes'));
$table_right = new Right();
$table_right->delete(array('section' => $id_section));
$table_right->delete(array('section' => $id_section2));
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;
    }
}