Ejemplo n.º 1
0
    $page = 1;
    $limit = $sjConfig['max_files_per_page'];
    $offset = 0;
    if (!empty($_REQUEST['page']) && is_numeric($_REQUEST['page']) && $_REQUEST['page'] > 1) {
        $page = (int) $_REQUEST['page'];
        $offset = ($page - 1) * $limit + 1;
    }
    $fs = new iFilesystem();
    $result = $fs->setI18n($_SYSTEM['i18n'])->readDir($realpath, '!r', array('sort' => true, 'offset' => $offset, 'limit' => $limit));
    $data = array();
    foreach ($result as $file) {
        $info = $fs->getPathInfo($file);
        $is_dir = is_dir($file);
        if ($info['basename'][0] == '.') {
            $filename = $info['basename'];
            $extension = '';
        } else {
            $filename = $is_dir ? $info['basename'] : $info['filename'];
            $extension = !$is_dir && isset($info['extension']) ? $info['extension'] : '';
        }
        $data[] = array('basename' => $info['basename'], 'name' => $filename, 'size' => $is_dir ? '' : $fs->formatSize($file) . 'b', 'modified_at' => $fs->formatDate(filemtime($file)), 'type' => $extension, 'is_dir' => $is_dir, 'mode' => $fs->getMode($file));
    }
    $_RESULT['files'] = array('cur_dir' => $cur_dir ? $cur_dir : '', 'source' => $data);
} catch (sjException $e) {
    if ($_SYSTEM['is_ajax']) {
        $_RESULT['response']['status'] = 'error';
        $_RESULT['response']['msg'] = $e->getMessage();
    } else {
        throw $e;
    }
}