From 2b24b710556163fbaab6123fc448f13f8fa018b6 Mon Sep 17 00:00:00 2001 From: Gabriel Jenik Date: Thu, 26 Jan 2023 07:13:27 -0300 Subject: [PATCH] Fixed issue #18562: Upload question type partially broken (#2811) Co-authored-by: lapiudevgit --- application/config/version.php | 2 +- application/controllers/UploaderController.php | 3 ++- application/helpers/qanda_helper.php | 4 ++-- assets/scripts/modaldialog.js | 2 +- assets/scripts/uploader.js | 4 ++-- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/application/config/version.php b/application/config/version.php index d3bb21271f2..08328dbd949 100644 --- a/application/config/version.php +++ b/application/config/version.php @@ -17,5 +17,5 @@ $config['buildnumber'] = ''; $config['updatable'] = true; $config['templateapiversion'] = 3; -$config['assetsversionnumber'] = '30274'; +$config['assetsversionnumber'] = '30275'; return $config; diff --git a/application/controllers/UploaderController.php b/application/controllers/UploaderController.php index cc008bc64a3..097e5e8339d 100644 --- a/application/controllers/UploaderController.php +++ b/application/controllers/UploaderController.php @@ -41,7 +41,7 @@ public function run($actionID) $aFieldMap = createFieldMap($oSurvey, 'short', false, false, $sLanguage); if (!isset($aFieldMap[$sFieldName])) { throw new CHttpException(400); // See for debug > 1 - } + } $sFileName = Yii::app()->request->getParam('filename', ''); // The file to delete fu_ or fu_tmp $sOriginalFileName = Yii::app()->request->getParam('name', ''); // Used for javascript return only $sMode = Yii::app()->request->getParam('mode'); @@ -130,6 +130,7 @@ public function run($actionID) //$filename = sanitize_filename($_FILES['uploadfile']['name']);// This remove all non alpha numeric characters and replaced by _ . Leave only one dot . $size = $_FILES['uploadfile']['size'] / 1024; $preview = Yii::app()->session['preview']; + // TODO: Remove this validation. It's already done at the start. $aFieldMap = createFieldMap($oSurvey, 'short', false, false, $sLanguage); if (!isset($aFieldMap[$sFieldName])) { throw new CHttpException(400); // See for debug > 1 diff --git a/application/helpers/qanda_helper.php b/application/helpers/qanda_helper.php index eedf483585c..23418107c17 100644 --- a/application/helpers/qanda_helper.php +++ b/application/helpers/qanda_helper.php @@ -2335,8 +2335,8 @@ function upload_$ia[1]() { var surveyid = '.Yii::app()->getConfig('surveyID').'; $(document).on("ready pjax:scriptcomplete", function(){ var fieldname = "'.$ia[1].'"; - var filecount = $("#"+fieldname+"_filecount").val(); - var json = $("#"+fieldname).val(); + var filecount = $("#java"+fieldname+"_filecount").val(); + var json = $("#java"+fieldname).val(); var show_title = "'.$aQuestionAttributes["show_title"].'"; var show_comment = "'.$aQuestionAttributes["show_comment"].'"; displayUploadedFiles(json, filecount, fieldname, show_title, show_comment); diff --git a/assets/scripts/modaldialog.js b/assets/scripts/modaldialog.js index 4e3b1ea13e6..de4f0fd5fa5 100644 --- a/assets/scripts/modaldialog.js +++ b/assets/scripts/modaldialog.js @@ -118,7 +118,7 @@ function displayUploadedFiles(jsonstring, filecount, fieldname, show_title, show for (i = 0; i < filecount; i++) { if (isValueInArray(image_extensions, jsonobj[i].ext)) - display += ''; + display += ''; else display += '
'; diff --git a/assets/scripts/uploader.js b/assets/scripts/uploader.js index d8a54a0d621..f699c99c02c 100644 --- a/assets/scripts/uploader.js +++ b/assets/scripts/uploader.js @@ -54,7 +54,7 @@ function doFileUpload() var previewblock = "
  • "; previewblock += "
    "; if (isValueInArray(image_extensions, json[i - 1].ext.toLowerCase())) - previewblock += ""; + previewblock += ""; else previewblock += "
    "; @@ -189,7 +189,7 @@ function doFileUpload() previewblock += "
    "; if (isValueInArray(image_extensions, metadata.ext.toLowerCase())) - previewblock += ""; + previewblock += ""; else previewblock += "
    "; previewblock += "" + escapeHtml(decodeURIComponent(metadata.name)) + "";