Craft\AmForms_SubmissionsController::_uploadFilesForField PHP Method

_uploadFilesForField() private method

Upload files for an Asset field.
private _uploadFilesForField ( craft\FieldModel $field, &$submission, array $fieldsContent )
$field craft\FieldModel
$fieldsContent array
    private function _uploadFilesForField($field, &$submission, $fieldsContent)
    {
        $uploadedFiles = array();
        // Get folder
        $folderId = $field->getFieldType()->resolveSourcePath();
        // Single file upload
        if (!empty($_FILES[$field->handle]['name'])) {
            // Upload file
            $file = $_FILES[$field->handle];
            $fileId = $this->_uploadFile($file, $folderId);
            if (is_numeric($fileId)) {
                $uploadedFiles[] = $fileId;
            }
        } elseif (isset($fieldsContent['filesNames']) && isset($fieldsContent['filesNames'][$field->handle])) {
            foreach ($fieldsContent['filesNames'][$field->handle] as $fileName) {
                foreach ($_FILES as $key => $possibleFile) {
                    if (isset($possibleFile['name']) && $possibleFile['name'] == $fileName) {
                        // Upload file
                        $fileId = $this->_uploadFile($possibleFile, $folderId);
                        if (is_numeric($fileId)) {
                            $uploadedFiles[] = $fileId;
                            // Remove from $_FILES so we can't find again if we have more than one multiple file upload field
                            unset($_FILES[$key]);
                        }
                    }
                }
            }
        }
        // Add files to submission
        $submission->getContent()->setAttribute($field->handle, $uploadedFiles);
    }