<?php

include dirname(__FILE__) . '/nocache.php';
include dirname(__FILE__) . '/session.php';
include dirname(__FILE__) . '/dbconfig.php';
include dirname(__FILE__) . '/utils.php';

function check() {
check_session();

$locale = getCurrentLang();

$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);

$sql = "SELECT u.member_id,ftp.* FROM userdata as u INNER JOIN ftp ON ftp.id=u.id AND ftp.del_flg='0' WHERE u.id=? AND u.del_flg='0'";
$stmt = $dbh->prepare($sql);
$stmt->execute(array($_SESSION['usr_id']));

$account = $stmt->fetch(PDO::FETCH_ASSOC);

$top = $account['dir'];
if (empty($top)) {
  $top = '/var/www/html';
}
if (!preg_match('"/$"', $top)) {
  $top .= '/';
}
$member_id = $account['member_id'];

$dir = '';
$off = 0;
$lim = 10;
$srt = 'file_u';
$tzoff = 0;
$filter = '';

if (isset($_GET['dir'])) {
  $dir = $_GET['dir'];
}
if (isset($_GET['limit'])) {
  $lim = $_GET['limit'] + 0;
  $_SESSION['data_limit'] = $lim;
}
if (isset($_GET['page'])) {
  $off = $lim * ($_GET['page'] - 1);
  $_SESSION['page'] = $_GET['page'];
}
if (isset($_GET['sort'])) {
  $srt = $_GET['sort'];
  $_SESSION['sort'] = $_GET['sort'];
}
if (isset($_GET['tzoff'])) {
  $tzoff = intval($_GET['tzoff']);
  $_SESSION['tzoff'] = $_GET['tzoff'];
}
if (isset($_GET['filter'])){
  $filter = $_GET['filter'];
  $_SESSION['filter'] = $filter;
}

$req = array( 'cmd' => 'ls', 'top' => $top, 'dir' => $dir, 'off' => $off, 'lim' => $lim, 'srt' => $srt, 'tzoff' => $tzoff, 'locale' => $locale, 'filter' => $filter );

$sql = "SELECT u.*, cap.gb as capacity_gb FROM userdata as u inner join capacity_master as cap on cap.id=u.capacity WHERE u.member_id=?";
$stmt = $dbh->prepare($sql);
$stmt->execute(array($member_id));
$result = $stmt->fetch(PDO::FETCH_ASSOC);

$req['file_number'] = $result['file'];
$req['use_data'] = $result['use_data'];
$req['use_data_disp'] = convUseData($result['use_data']);
$req['cap_per'] = calcCapPercent($result);

$currentDir = realpath($req['top'] . $req['dir']);
$currentDir = str_replace(realpath($req['top']),'',$currentDir);

$_SESSION['dir'] = $currentDir;

$pathlist = array( array('dir' => '', 'name'=> '/') );
$x = [];
foreach( explode('/', $currentDir) as $d ) {
  if (!empty($d)) {
    $x[] = $d;
    $pathlist[] = array( 'dir' => implode('/', $x), 'name' => $d . '/' );
  }
}

$req['pathlist'] = $pathlist;

$reqs = bin2hex(json_encode($req));

passthru("LANG=ja_JP.utf-8 /var/www/html/bin/getfiles.sh $reqs");
}

header('Content-Type: application/json');
wrap('check');

