/** * 创建情景模式 * * @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); } }
<?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));