You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							74 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
	
	
							74 lines
						
					
					
						
							2.4 KiB
						
					
					
				<?php
 | 
						|
/* For licensing terms, see /license.txt */
 | 
						|
 | 
						|
/**
 | 
						|
 * Responses to AJAX calls for the document upload
 | 
						|
 */
 | 
						|
require_once '../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'] : '';
 | 
						|
 | 
						|
        if (empty($recipients)) {
 | 
						|
            $resultList[] = ['error' => get_lang('YouMustSelectAtLeastOneDestinee')];
 | 
						|
            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);
 | 
						|
 | 
						|
                $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;
 | 
						|
 |