<?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
DATEDIFF(IFNULL(temp2.pend,temp1.fend),start)+1 as diff
FROM (
SELECT
  tz,
  NOW() as start,
  freeend_date  as fend
FROM
  userdata as u
WHERE
  u.member_id=:mids
) as temp1,
(
SELECT
  MAX(a.end_date) as pend
FROM
  activation as a
INNER JOIN
  userdata as u
ON
  u.id=a.used
WHERE
  u.member_id=:mids
AND
  a.end_date IS NOT NULL
AND
  a.del_flg='0'
) as temp2
EOF;

$stmt = $dbh->prepare($sql);
$params = array(':mids' => $_SESSION['member_id']);
$stmt->execute($params);

$result = $stmt->fetch(PDO::FETCH_ASSOC);

$result['member_id'] = $_SESSION['member_id'];
error_log(var_export($result,true));

$days = intval($result['diff']);
if ($days > 0) {
  $msg = sprintf(_("残り%d日で有効期間が満了します。"), $days);
} else {
  $msg = _("有効期間はすでに満了しています。");
}
if ($days < 1) {
  $days = 0;
}
$array = [
    'remain_day' => $msg,
    'remain_val' => $days
];

echo json_encode($array);
}

wrap('check');
