Exemplo n.º 1
0
 /**
  * 创建情景模式
  * 
  * @param params    params
  */
 public static function _Create($params)
 {
     if (isset($params["time"]) && is_array($params["invokes"])) {
         $name = $params["time"];
         $db = Db::init();
         $email = $_GET["u"];
         $mid = $_GET["mid"];
         $user = $db->get_var("select name from user where email=\"{$email}\"");
         if (!isset($user)) {
             return Error::getRetString(10009);
         }
         //uuid无效
         if ($db->get_results('SELECT * FROM assistant WHERE time="' . $name . '" and mid="' . $mid . '";')) {
             //情景模式已经存在
             return Error::getRetString(31002);
             //情景模式名称已存在
         }
         $db->query('INSERT INTO assistant (time, mid) VALUES ("' . $name . '", "' . $mid . '")');
         $scene_id = $db->get_var('select assid from assistant where time="' . $name . '" and mid="' . $mid . '"');
         //定时控制
         _Timing::_Create(array("time" => $name, "email" => $email));
         //保存情景模式命令行
         $invokes = $params["invokes"];
         foreach ($invokes as $no => $cmdline) {
             //处理命令序列
             if (isset($cmdline["class"]) && isset($cmdline["method"]) && isset($cmdline["params"]) && isset($cmdline["params"]["mid"])) {
                 $did = strtoupper($cmdline["params"]["mid"]);
                 $mid = $db->get_var("select mid from mdevice where mid=\"{$mid}\"");
                 $db->query('INSERT INTO assi_info(`assid`,`order`,`cmdline`,`did`,`mid`) VALUES (' . $scene_id . ',' . $no . ',\'' . json_encode($cmdline) . '\',\'' . $did . '\',\'' . $mid . '\')');
             } else {
                 return Error::getRetString(31004);
                 //情景模式invoke列表格式错误。
             }
         }
         return Error::getRetString(0, array("assid" => $scene_id));
         //成功
     } else {
         return Error::getRetString(10007);
     }
 }
Exemplo n.º 2
0
<?php

require_once __DIR__ . "/../base/_Timing.php";
file_put_contents("./test.txt", "run\n", FILE_APPEND);
if (isset($_SERVER['argv'][1])) {
    $time = $_SERVER['argv'][1];
} else {
    $time = 'null';
}
if (isset($_SERVER['argv'][2])) {
    $email = $_SERVER['argv'][2];
} else {
    $email = '*****@*****.**';
}
if (isset($_SERVER['argv'][3])) {
    $param = $_SERVER['argv'][3];
} else {
    $param = 'null';
}
_Timing::_Enable(array("email" => $email, "time" => $time, "param" => $param));