Example #1
0
?>
>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', '');
?>
" />
Example #2
0
}
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;
Example #3
0
    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);
    }
Example #4
0
    /**
     * 
     * @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;
    }