?> >CNY</option> <option value="CHF"<?php checkCurrency('CHF'); ?> >CHF</option> <option value="INR"<?php checkCurrency('INR'); ?> >INR</option> <option value="BRL"<?php checkCurrency('BRL'); ?> >BRL</option> <option value="other"<?php checkCurrency('other'); ?> ><?php echo installer_t('Other'); ?> </option> </select> <input type="text" name="currency2" id="currency2" style="width:120px;<?php if (!isset($_GET['currency']) || $_GET['currency'] != 'other') { echo 'display:none;'; } ?> " value="<?php getField('currency2', ''); ?> " />
} if (empty($_GET['to_dateval'])) { $_GET['to_dateval'] = date('Y-m-d'); } else { $_GET['to_dateval'] = strtr($_GET['to_dateval'], '/', '-'); } $request = new Api(); $request->add_request('getGraphicsInfo', array($_GET['device_id'], $_GET['option_id'], $_GET['from_dateval'], $_GET['to_dateval'])); $result = $request->send_request(); $listvalues = $result->getGraphicsInfo; /* ** $listvalues->config is an array containing informations about cost of KWh, hollow time slot ** and the actual currency. */ if (!empty($listvalues->config)) { $currency = checkCurrency($listvalues->config->{18}); } /* ** $listvalues->datas is an array containing consumption values concerning the actual device. ** it build $data to create a chart. It returns a string with '-@-' separators: ** [data for chart]-@-id_selected_option-@-name_selected_option-@-time_label */ if (!empty($listvalues->datas)) { /* Define Labels and colors */ switch ($_GET['option_id']) { case 6: $color = '#234CA5'; break; case 72: $color = '#FF321D'; break;
function mcAllowed() { $link = Link::get_link('domoleaf'); $listFloor = array(); $listRoom = array(); $listDevice = array(); $listSmartcmd = array(); $listApps = array(); $res = $this->conf_load(); $sql = 'SELECT floor_name, mcuser_floor.floor_id, mcuser_floor.floor_order FROM mcuser_floor JOIN floor ON mcuser_floor.floor_id=floor.floor_id WHERE mcuser_id=:user_id ORDER BY floor_order ASC'; $req = $link->prepare($sql); $req->bindValue(':user_id', $this->getId(), PDO::PARAM_INT); $req->execute() or die(error_log(serialize($req->errorInfo()))); while ($do = $req->fetch(PDO::FETCH_OBJ)) { $listFloor[$do->floor_id] = array('floor_name' => $do->floor_name, 'floor_id' => $do->floor_id, 'floor_order' => $do->floor_order); } $sql = 'SELECT room.room_name, room.room_id, mcuser_room.room_order, floor, mcuser_room.room_bgimg FROM room JOIN mcuser_room ON room.room_id=mcuser_room.room_id JOIN mcuser_floor ON room.floor=mcuser_floor.floor_id AND mcuser_floor.mcuser_id=mcuser_room.mcuser_id WHERE mcuser_room.mcuser_id=:user_id ORDER BY mcuser_floor.floor_order ASC, room_order ASC'; $req = $link->prepare($sql); $req->bindValue(':user_id', $this->getId(), PDO::PARAM_INT); $req->execute() or die(error_log(serialize($req->errorInfo()))); while ($do = $req->fetch(PDO::FETCH_OBJ)) { $listRoom[$do->room_id] = array('room_name' => $do->room_name, 'room_id' => $do->room_id, 'room_order' => $do->room_order, 'room_bgimg' => $do->room_bgimg, 'floor_id' => $do->floor); } $sql = 'SELECT room_device.name, room_device.room_device_id, room_device.room_id, room_order, mcuser_device.device_order, application_id, room_device.device_id, room_device.protocol_id, mcuser_device.device_bgimg FROM room_device JOIN device ON room_device.device_id=device.device_id JOIN mcuser_device ON room_device.room_device_id=mcuser_device.room_device_id JOIN mcuser_room ON room_device.room_id=mcuser_room.room_id AND mcuser_room.mcuser_id=mcuser_device.mcuser_id JOIN room ON room.room_id=room_device.room_id JOIN mcuser_floor ON room.floor=mcuser_floor.floor_id AND mcuser_floor.mcuser_id=mcuser_device.mcuser_id WHERE mcuser_device.mcuser_id=:user_id ORDER BY mcuser_floor.floor_order ASC, mcuser_room.room_order ASC, mcuser_device.device_order ASC'; $req = $link->prepare($sql); $req->bindValue(':user_id', $this->getId(), PDO::PARAM_INT); $req->execute() or die(error_log(serialize($req->errorInfo()))); while ($do = $req->fetch(PDO::FETCH_OBJ)) { $listDevice[$do->room_device_id] = array('room_id' => $do->room_id, 'application_id' => $do->application_id, 'device_id' => $do->device_id, 'protocol_id' => $do->protocol_id, 'name' => $do->name, 'room_device_id' => $do->room_device_id, 'device_order' => $do->device_order, 'device_bgimg' => $do->device_bgimg, 'device_opt' => array()); if (!in_array($do->application_id, $listApps)) { $listApps[] = $do->application_id; } } $sql = 'SELECT room_device.room_device_id, room_device.room_id, room_device.device_id, optiondef.option_id, if(optiondef.name' . $this->getLanguage() . ' = "", optiondef.name, optiondef.name' . $this->getLanguage() . ') as name, room_device_option.addr, room_device_option.addr_plus, dpt.dpt_id, dpt.unit, room_device_option.opt_value FROM room_device JOIN room_device_option ON room_device_option.room_device_id = room_device.room_device_id JOIN optiondef ON room_device_option.option_id = optiondef.option_id LEFT JOIN dpt ON room_device_option.dpt_id = dpt.dpt_id WHERE room_device_option.status = 1'; $req = $link->prepare($sql); $req->execute() or die(error_log(serialize($req->errorInfo()))); while ($do = $req->fetch(PDO::FETCH_OBJ)) { if (!empty($listDevice[$do->room_device_id])) { if ($do->option_id == 399) { $highCost = $res[14]->configuration_value; $lowCost = $res[15]->configuration_value; $lowField1 = $res[16]->configuration_value; $lowField2 = $res[17]->configuration_value; $currency = checkCurrency($res[18]->configuration_value); $diffTime = $this->profileTime(); $time = date('H', $_SERVER['REQUEST_TIME'] + $diffTime); $listDevice[$do->room_device_id]['device_opt'][$do->option_id] = array('option_id' => $do->option_id, 'name' => $do->name, 'addr' => $do->addr, 'addr_plus' => $do->addr_plus, 'dpt_id' => $do->dpt_id, 'unit' => $do->unit, 'opt_value' => $do->opt_value, 'highCost' => $highCost, 'lowCost' => $lowCost, 'lowField1' => $lowField1, 'lowField2' => $lowField2, 'currency' => $currency, 'time' => $time); } else { $listDevice[$do->room_device_id]['device_opt'][$do->option_id] = array('option_id' => $do->option_id, 'name' => $do->name, 'addr' => $do->addr, 'addr_plus' => $do->addr_plus, 'dpt_id' => $do->dpt_id, 'unit' => $do->unit, 'opt_value' => $do->opt_value); } } } $sql = 'SELECT smartcommand_id, name, mcuser_id, room_id FROM smartcommand_list WHERE mcuser_id=:user_id'; $req = $link->prepare($sql); $req->bindValue(':user_id', $this->getId(), PDO::PARAM_INT); $req->execute() or die(error_log(serialize($req->errorInfo()))); while ($do = $req->fetch(PDO::FETCH_OBJ)) { $listSmartcmd[$do->smartcommand_id] = array('smartcmd_id' => $do->smartcommand_id, 'name' => $do->name, 'user_id' => $do->mcuser_id, 'room_id' => $do->room_id); } return array('ListFloor' => $listFloor, 'ListRoom' => $listRoom, 'ListDevice' => $listDevice, 'ListSmartcmd' => $listSmartcmd, 'ListApp' => $listApps); }
/** * * @return Ambigous <multitype:, multitype:NULL > */ function mcReturn() { if (apcu_exists('mcReturn_' . $this->getId())) { return unserialize(apcu_fetch('mcReturn_' . $this->getId())); } $link = Link::get_link('domoleaf'); $res = $this->conf_load(); $list = array(); $sql = 'SELECT room_device_option.room_device_id, option_id, opt_value, addr_plus, room_device.device_id, dpt_id FROM room_device_option JOIN room_device ON room_device_option.room_device_id=room_device.room_device_id'; $req = $link->prepare($sql); $req->execute() or die(error_log(serialize($req->errorInfo()))); while ($do = $req->fetch(PDO::FETCH_OBJ)) { if ($do->option_id == 399) { $highCost = $res[14]->configuration_value; $lowCost = $res[15]->configuration_value; $lowField1 = $res[16]->configuration_value; $lowField2 = $res[17]->configuration_value; $currency = checkCurrency($res[18]->configuration_value); $diffTime = $this->profileTime(); $time = date('H', $_SERVER['REQUEST_TIME'] + $diffTime); $list[$do->device_id][$do->room_device_id][$do->option_id] = array('device_id' => $do->device_id, 'addr_plus' => $do->addr_plus, 'room_device_id' => $do->room_device_id, 'option_id' => $do->option_id, 'opt_value' => $do->opt_value, 'highCost' => $highCost, 'lowCost' => $lowCost, 'lowField1' => $lowField1, 'lowField2' => $lowField2, 'currency' => $currency, 'time' => $time); } else { $list[$do->device_id][$do->room_device_id][$do->option_id] = array('device_id' => $do->device_id, 'addr_plus' => $do->addr_plus, 'room_device_id' => $do->room_device_id, 'option_id' => $do->option_id, 'opt_value' => $do->opt_value); } } apcu_store('mcReturn_' . $this->getId(), serialize($list), 1); return $list; }