<?php
include dirname(__FILE__) . '/nocache.php';

include dirname(__FILE__) . '/dbconfig.php';
include dirname(__FILE__) . '/error.php';
include dirname(__FILE__) . '/utils.php';

include dirname(__FILE__) . '/session.php';

function check() {
check_session();

setTextDomain('myapps');

$options = array(PDO::MYSQL_ATTR_INIT_COMMAND=>"SET CHARACTER SET 'utf8'");
$dbh = new PDO(DB_DSN, DB_USER, DB_PASSWORD, $options);

$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

setTimezone($dbh);

error_reporting(E_ALL & ~E_NOTICE);

$sql = <<<EOF
select
  IF(s.session < s2.session, s2.mqtt_limit, s.mqtt_limit) as mqtt_limit
from userdata as u
LEFT OUTER JOIN activation as act
ON act.used=u.id
AND act.del_flg='0'
AND act.plan_id>0
AND act.start_date <= NOW()
AND NOW() < act.end_date
inner join session_master as s on s.id=u.session
inner join session_master as s2 on s2.id=IFNULL(act.session,0)
where u.member_id=:mids
EOF;
$stmt = $dbh->prepare($sql);
$stmt->execute(array(':mids' => $_SESSION['member_id']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$mqtt_limit = $row['mqtt_limit'];

$sql = "select distinct a.serial,s.host from mqtt_auth as a inner join mqtt_host as s on s.id=a.server and s.del_flg='0' where a.member_id=:mids and a.del_flg='0'";

$stmt = $dbh->prepare($sql);
$params = array(':mids' => $_SESSION['member_id']);
$stmt->execute($params);

$result = $stmt->fetchall(PDO::FETCH_ASSOC);

$server = '';
$list = array();
foreach( $result as $item ) {
  $list[] = $item['serial'];
  $server = $item['host'];
}

$array = [
    'mqtt_enable' => count($result)>0,
    'mqtt_limit'  => $mqtt_limit,
    'mqtt_serials' => $list,
    'mqtt_server' => $server
];

echo json_encode($array);
}

wrap('check');
