-
Notifications
You must be signed in to change notification settings - Fork 228
/
Copy pathuploader.php
56 lines (49 loc) · 1.91 KB
/
uploader.php
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/stdf.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/CFile.php");
require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/uploader/uploader.php");
session_start();
$resource = __paramInit('string', null, 'resource');
$action = __paramInit('string', null, 'action');
if($resource) {
switch($action) {
case 'create':
if(is_array($_FILES['qqfile']) && !$_FILES['qqfile']['error']) {
$result = uploader::listener($resource);
} else {
$result['success'] = false;
switch ($_FILES['attachedfiles_file']['error']) {
case UPLOAD_ERR_FORM_SIZE:
case UPLOAD_ERR_INI_SIZE:
$result['error'] = "Ìàêñèìàëüíûé îáúåì ôàéëîâ: " . ConvertBtoMB($max_files_size);
break;
default:
$result['error'] = "Îøèáêà çàãðóçêè ôàéëà.";
break;
}
}
break;
case 'remove':
$files = __paramInit('array_int', null, 'files');
uploader::sremoveFiles($resource, $files);
$result['onComplete'] = uploader::getRemoveCallback(uploader::sgetTypeUpload($resource));
$result['success'] = true;
break;
default:
$result['success'] = false;
$result['error'] = 'Îøèáêà çàãðóçêè ôàéëà';
break;
}
} else {
$result['success'] = false;
$result['error'] = 'Îøèáêà çàãðóçêè ôàéëà';
}
//@todo: ãäå âñòðå÷àþòñÿ ðóññêèå ñèìâîëû ìû èç ïðåîáðàçóåì
//â unicode ïîñëåäîâàòåëüíîñòè ÷òîáû json_encode íå ðóãàëñÿ
foreach (array('onComplete', 'error') as $key) {
if (isset($result[$key])) {
$result[$key] = htmlentities($result[$key], NULL, 'CP1251');
}
}
header("Content-Type: text/html");
echo json_encode($result);