12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- /* For licensing terms, see /license.txt */
- /**
- * Responses to AJAX calls for the document upload
- */
- require_once __DIR__.'/../global.inc.php';
- require_once api_get_path(SYS_CODE_PATH).'dropbox/dropbox_functions.inc.php';
- $action = $_REQUEST['a'];
- switch ($action) {
- case 'upload_file':
- api_protect_course_script(true);
- // User access same as upload.php
- $is_allowed_to_edit = api_is_allowed_to_edit(null, true);
- $recipients = isset($_POST['recipients']) ? $_POST['recipients'] : '';
- $id = isset($_GET['id']) ? (int) $_GET['id'] : 0;
- if (empty($recipients) && empty($id)) {
- $resultList[] = ['error' => get_lang('YouMustSelectAtLeastOneDestinee')];
- echo json_encode(['files' => $resultList]);
- exit;
- }
- $work = null;
- if (!empty($id)) {
- $work = new Dropbox_SentWork($id);
- if (empty($work)) {
- $resultList[] = ['error' => get_lang('Error')];
- echo json_encode(['files' => $resultList]);
- exit;
- }
- }
- if (!empty($_FILES)) {
- $files = $_FILES['files'];
- $fileList = [];
- foreach ($files as $name => $array) {
- $counter = 0;
- foreach ($array as $data) {
- $fileList[$counter][$name] = $data;
- $counter++;
- }
- }
- $resultList = [];
- foreach ($fileList as $file) {
- $globalFile = [];
- $globalFile['files'] = $file;
- /** @var Dropbox_SentWork $result */
- $result = store_add_dropbox($file, $work);
- $json = array();
- if (!empty($result)) {
- $json['name'] = Display::url(
- api_htmlentities($result->title),
- api_htmlentities(api_get_path(WEB_CODE_PATH).'dropbox/index.php?'.api_get_cidreq()),
- array('target' => '_blank')
- );
- $json['url'] = api_get_path(WEB_CODE_PATH).'dropbox/index.php?'.api_get_cidreq();
- $json['size'] = format_file_size($result->filesize);
- $json['type'] = api_htmlentities($file['type']);
- $json['result'] = Display::return_icon(
- 'accept.png',
- get_lang('Uploaded')
- );
- } else {
- $json['result'] = Display::return_icon(
- 'exclamation.png',
- get_lang('Error')
- );
- }
- $resultList[] = $json;
- }
- echo json_encode(['files' => $resultList]);
- }
- exit;
- break;
- }
- exit;
|