<?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();

$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 
  u.id,
  u.file,
  u.use_data,
  IF(cm.capacity < cm2.capacity, cm2.id, cm.id) as capacity,
  IF(cm.capacity < cm2.capacity, cm2.gb, cm.gb) as capacity_gb,
  CONVERT_TZ(u.ftp_lastupdate,'UTC',u.tz) as lastupdate,
  u.info_read,
  u.personal_info_read,
  u.is_first
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 capacity_master as cm ON cm.id=u.capacity
INNER JOIN capacity_master as cm2 ON cm2.id=IFNULL(act.capacity,0)
where u.member_id=:mids
EOF;

$stmt = $dbh->prepare($sql);
$params = array(':mids' => $_SESSION['member_id']);
$stmt->execute($params);

$result = $stmt->fetch(PDO::FETCH_ASSOC);

$sql = <<<END
SELECT 1 FROM information WHERE del_flg='0' and id>:g
UNION
SELECT 1 FROM personal_info WHERE del_flg='0' and id>:p and user_id=:uid
END;

$stmt = $dbh->prepare($sql);
$stmt->execute(array(
  ':uid' => $result['id'],
  ':g'   => $result['info_read'],
  ':p'   => $result['personal_info_read']
));
$read = $stmt->fetch(PDO::FETCH_ASSOC);

$array = [
    'last_update' => $result['lastupdate'],
    'file_number' => (int)$result['file'],
    'use_data' => (int)$result['use_data'],
    'capacity' => (int)$result['capacity'],
    'capacity_gb' => (int)$result['capacity_gb'],
    'use_data_disp' => convUseData($result['use_data']),
    'cap_per' => calcCapPercent($result),
    'info_stat' => empty($read) ? 'none' : 'more',
    'is_first' => (int)$result['is_first']
];

echo json_encode($array);
}

wrap('check');

