myfiles.json.php 2.19 KB
Newer Older
Richard Mansfield's avatar
Richard Mansfield committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
/**
 * This program is part of Mahara
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
 *
 * @package    mahara
 * @subpackage artefact-file
 * @author     Richard Mansfield <richard.mansfield@catalyst.net.nz>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL
 * @copyright  (C) 2006,2007 Catalyst IT Ltd http://catalyst.net.nz
 *
 */

define('INTERNAL', 1);
require(dirname(dirname(dirname(__FILE__))) . '/init.php');

30
31
//log_debug('myfiles.json.php');

Richard Mansfield's avatar
Richard Mansfield committed
32
33
34
$limit = param_integer('limit', null);
$offset = param_integer('offset', 0);
$folder = param_integer('folder', null);
Richard Mansfield's avatar
Richard Mansfield committed
35
36
$userid = $USER->get('id');

Richard Mansfield's avatar
Richard Mansfield committed
37
if ($folder) {
Richard Mansfield's avatar
Richard Mansfield committed
38
    $infolder = ' = ' . $folder;
Richard Mansfield's avatar
Richard Mansfield committed
39
40
}
else {
Richard Mansfield's avatar
Richard Mansfield committed
41
    $infolder = ' IS NULL';
Richard Mansfield's avatar
Richard Mansfield committed
42
43
44
}

$prefix = get_config('dbprefix');
45
$filedata = get_records_sql_array('SELECT a.id, a.artefacttype, a.mtime, f.name, f.size
Richard Mansfield's avatar
Richard Mansfield committed
46
47
48
        FROM ' . $prefix . 'artefact_file_files f
        INNER JOIN ' . $prefix . 'artefact a ON f.artefact = a.id
        WHERE a.owner = ' . $userid . '
49
50
        AND a.parent' . $infolder . '
        ORDER BY a.artefacttype DESC, f.name ASC', '');
Richard Mansfield's avatar
Richard Mansfield committed
51
52
53
54

if (!$filedata) {
    $filedata = array();
}
55
56
57
58
59
else {
    foreach ($filedata as $item) {
        $item->mtime = strftime(get_string('strftimedatetime'),strtotime($item->mtime));
    }
}
60

Richard Mansfield's avatar
Richard Mansfield committed
61
62
63
64
65
66
67
68
69
$result = array(
    'count'       => count($filedata),
    'limit'       => $limit,
    'offset'      => $offset,
    'data'        => $filedata,
    'error'       => false,
    'message'     => get_string('filelistloaded'),
);

70
log_debug($result);
71

Richard Mansfield's avatar
Richard Mansfield committed
72
73
74
75
json_headers();
print json_encode($result);

?>