View Issue Details

This bug affects 1 person(s).
 10
IDProjectCategoryView StatusLast Update
18590Bug reportsSurvey takingpublic2023-01-30 18:14
Reporterduvemyster Assigned To 
PrioritynoneSeveritypartial_block 
Status ready for testingResolutionopen 
Product Version5.5.x 
Summary18590: Filenames containing an apostrophe (') cause uploaded file-list to unlist upon Resume later or Next then Previous
Description

On a file-upload question with a persistent token, upload a file that has an apostrophe in the filename (e.g., O'Malley.pdf), save, then click "Resume later". In my case this erases the file list that was showing with the fileupload question, leaving simply the title row. If there were multiple files in the list, then all of the files disappear from the list.

Next, then Previous is yielding the same disappeared filelist result.

Steps To Reproduce

Import the attached lss file, active it with a particpants table, and add a participant with a token.

Launch the survey and following instructions -- upload at least one file that contains an apostrophe (') in the filename (e.g., O'Malley.pdf), save, note the file(s) list correctly with the questions, now Resume later or Next then Previous, and note that the filelist disappears.

Expected result

The file-list should remain the same after use of "Resume later" or Next then Previous.

Actual result

The file-list disappears.

Additional Info

Things also get interesting with the response record:

  1. If one does nothing other than click "Resume later", then even though the files won't list onscreen anymore, they will still be included on the reponse at that point as long as the user does nothing else. If, however, they click Next / Next with the files in the unlisted state, then they will be removed from the reponse record (but left on the server).
  2. And, if one simply uploads their files and clicks Next the Submit (without Previous or Resume), then the files remain with the response record as intended.
TagsNo tags attached.
Bug heat10
Complete LimeSurvey version number (& build)Version 5.5.1+230103
I will donate to the project if issue is resolvedNo
BrowserMicrosoft Edge Version 108.0.1462.76 (Official build) (64-bit)
Database type & versionMariaDB mysqlnd 7.4.13
Server OS (if known)Linux
Webserver software & version (if known)Apache 2
PHP Version7.4.13

Users monitoring this issue

User List duvemyster

Activities

duvemyster

duvemyster

2023-01-11 06:38

reporter  

limesurvey_survey_554200.lss (29,633 bytes)   
<?xml version="1.0" encoding="UTF-8"?>
<document>
 <LimeSurveyDocType>Survey</LimeSurveyDocType>
 <DBVersion>495</DBVersion>
 <languages>
  <language>en</language>
 </languages>
 <groups>
  <fields>
   <fieldname>gid</fieldname>
   <fieldname>sid</fieldname>
   <fieldname>group_order</fieldname>
   <fieldname>randomization_group</fieldname>
   <fieldname>grelevance</fieldname>
  </fields>
  <rows>
   <row>
    <gid><![CDATA[612]]></gid>
    <sid><![CDATA[554215]]></sid>
    <group_order><![CDATA[1]]></group_order>
    <randomization_group/>
    <grelevance><![CDATA[1]]></grelevance>
   </row>
   <row>
    <gid><![CDATA[613]]></gid>
    <sid><![CDATA[554215]]></sid>
    <group_order><![CDATA[2]]></group_order>
    <randomization_group/>
    <grelevance/>
   </row>
  </rows>
 </groups>
 <group_l10ns>
  <fields>
   <fieldname>id</fieldname>
   <fieldname>gid</fieldname>
   <fieldname>group_name</fieldname>
   <fieldname>description</fieldname>
   <fieldname>language</fieldname>
   <fieldname>sid</fieldname>
   <fieldname>group_order</fieldname>
   <fieldname>randomization_group</fieldname>
   <fieldname>grelevance</fieldname>
  </fields>
  <rows>
   <row>
    <id><![CDATA[153]]></id>
    <gid><![CDATA[612]]></gid>
    <group_name><![CDATA[Upload some files.]]></group_name>
    <description/>
    <language><![CDATA[en]]></language>
    <sid><![CDATA[554215]]></sid>
    <group_order><![CDATA[1]]></group_order>
    <randomization_group/>
    <grelevance><![CDATA[1]]></grelevance>
   </row>
   <row>
    <id><![CDATA[154]]></id>
    <gid><![CDATA[613]]></gid>
    <group_name><![CDATA[Next Group]]></group_name>
    <description/>
    <language><![CDATA[en]]></language>
    <sid><![CDATA[554215]]></sid>
    <group_order><![CDATA[2]]></group_order>
    <randomization_group/>
    <grelevance/>
   </row>
  </rows>
 </group_l10ns>
 <questions>
  <fields>
   <fieldname>qid</fieldname>
   <fieldname>parent_qid</fieldname>
   <fieldname>sid</fieldname>
   <fieldname>gid</fieldname>
   <fieldname>type</fieldname>
   <fieldname>title</fieldname>
   <fieldname>preg</fieldname>
   <fieldname>other</fieldname>
   <fieldname>mandatory</fieldname>
   <fieldname>question_order</fieldname>
   <fieldname>scale_id</fieldname>
   <fieldname>same_default</fieldname>
   <fieldname>relevance</fieldname>
   <fieldname>modulename</fieldname>
   <fieldname>encrypted</fieldname>
   <fieldname>question_theme_name</fieldname>
   <fieldname>same_script</fieldname>
  </fields>
  <rows>
   <row>
    <qid><![CDATA[15230]]></qid>
    <parent_qid><![CDATA[0]]></parent_qid>
    <sid><![CDATA[554215]]></sid>
    <gid><![CDATA[612]]></gid>
    <type><![CDATA[|]]></type>
    <title><![CDATA[Q00]]></title>
    <other><![CDATA[N]]></other>
    <mandatory><![CDATA[N]]></mandatory>
    <question_order><![CDATA[1]]></question_order>
    <scale_id><![CDATA[0]]></scale_id>
    <same_default><![CDATA[0]]></same_default>
    <relevance><![CDATA[1]]></relevance>
    <encrypted><![CDATA[N]]></encrypted>
    <question_theme_name><![CDATA[file_upload]]></question_theme_name>
    <same_script><![CDATA[0]]></same_script>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <parent_qid><![CDATA[0]]></parent_qid>
    <sid><![CDATA[554215]]></sid>
    <gid><![CDATA[612]]></gid>
    <type><![CDATA[X]]></type>
    <title><![CDATA[G01Q02]]></title>
    <other><![CDATA[N]]></other>
    <mandatory><![CDATA[N]]></mandatory>
    <question_order><![CDATA[2]]></question_order>
    <scale_id><![CDATA[0]]></scale_id>
    <same_default><![CDATA[0]]></same_default>
    <relevance><![CDATA[1]]></relevance>
    <modulename/>
    <encrypted><![CDATA[N]]></encrypted>
    <question_theme_name><![CDATA[boilerplate]]></question_theme_name>
    <same_script><![CDATA[0]]></same_script>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <parent_qid><![CDATA[0]]></parent_qid>
    <sid><![CDATA[554215]]></sid>
    <gid><![CDATA[613]]></gid>
    <type><![CDATA[X]]></type>
    <title><![CDATA[G02Q03]]></title>
    <other><![CDATA[N]]></other>
    <mandatory><![CDATA[N]]></mandatory>
    <question_order><![CDATA[1]]></question_order>
    <scale_id><![CDATA[0]]></scale_id>
    <same_default><![CDATA[0]]></same_default>
    <relevance><![CDATA[1]]></relevance>
    <modulename/>
    <encrypted><![CDATA[N]]></encrypted>
    <question_theme_name><![CDATA[boilerplate]]></question_theme_name>
    <same_script><![CDATA[0]]></same_script>
   </row>
  </rows>
 </questions>
 <question_l10ns>
  <fields>
   <fieldname>id</fieldname>
   <fieldname>qid</fieldname>
   <fieldname>question</fieldname>
   <fieldname>help</fieldname>
   <fieldname>language</fieldname>
   <fieldname>script</fieldname>
  </fields>
  <rows>
   <row>
    <id><![CDATA[3371]]></id>
    <qid><![CDATA[15230]]></qid>
    <question><![CDATA[Upload some files. Makes sure at least one of them contains an apostrophe in the filename.]]></question>
    <help/>
    <language><![CDATA[en]]></language>
    <script/>
   </row>
   <row>
    <id><![CDATA[3372]]></id>
    <qid><![CDATA[15231]]></qid>
    <question><![CDATA[After uploading files and saving, confirm that at least one of the files in the list shown above contains an apostrophe, then click "Resume later" or "Next" followed by "Previous", and watch the file list above change to simply the title row.]]></question>
    <help/>
    <language><![CDATA[en]]></language>
    <script/>
   </row>
   <row>
    <id><![CDATA[3373]]></id>
    <qid><![CDATA[15232]]></qid>
    <question><![CDATA[Now click "Previous".]]></question>
    <help/>
    <language><![CDATA[en]]></language>
    <script/>
   </row>
  </rows>
 </question_l10ns>
 <question_attributes>
  <fields>
   <fieldname>qid</fieldname>
   <fieldname>attribute</fieldname>
   <fieldname>value</fieldname>
   <fieldname>language</fieldname>
  </fields>
  <rows>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[allowed_filetypes]]></attribute>
    <value><![CDATA[png, gif, doc, odt, jpg, jpeg, pdf, png, heic]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[cssclass]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[hidden]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[hide_tip]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[max_filesize]]></attribute>
    <value><![CDATA[10240]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[max_num_of_files]]></attribute>
    <value><![CDATA[5]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[min_num_of_files]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[page_break]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[random_group]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[save_as_default]]></attribute>
    <value><![CDATA[N]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[show_comment]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[show_title]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[statistics_graphtype]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15230]]></qid>
    <attribute><![CDATA[statistics_showgraph]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[cssclass]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[hidden]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[hide_tip]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[page_break]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[random_group]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[save_as_default]]></attribute>
    <value><![CDATA[N]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[statistics_graphtype]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[statistics_showgraph]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_action]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_countdown_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_disable_next]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_disable_prev]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_message_delay]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_message_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_timer_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_warning]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_warning_2]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_warning_2_display_time]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_warning_2_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_warning_2_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_warning_display_time]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_warning_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15231]]></qid>
    <attribute><![CDATA[time_limit_warning_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[cssclass]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[hidden]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[hide_tip]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[page_break]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[random_group]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[save_as_default]]></attribute>
    <value><![CDATA[N]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[statistics_graphtype]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[statistics_showgraph]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_action]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_countdown_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_disable_next]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_disable_prev]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_message_delay]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_message_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_timer_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_warning]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_warning_2]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_warning_2_display_time]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_warning_2_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_warning_2_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_warning_display_time]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_warning_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15232]]></qid>
    <attribute><![CDATA[time_limit_warning_style]]></attribute>
    <value/>
    <language/>
   </row>
  </rows>
 </question_attributes>
 <surveys>
  <fields>
   <fieldname>sid</fieldname>
   <fieldname>admin</fieldname>
   <fieldname>expires</fieldname>
   <fieldname>startdate</fieldname>
   <fieldname>adminemail</fieldname>
   <fieldname>anonymized</fieldname>
   <fieldname>faxto</fieldname>
   <fieldname>format</fieldname>
   <fieldname>savetimings</fieldname>
   <fieldname>template</fieldname>
   <fieldname>language</fieldname>
   <fieldname>additional_languages</fieldname>
   <fieldname>datestamp</fieldname>
   <fieldname>usecookie</fieldname>
   <fieldname>allowregister</fieldname>
   <fieldname>allowsave</fieldname>
   <fieldname>autonumber_start</fieldname>
   <fieldname>autoredirect</fieldname>
   <fieldname>allowprev</fieldname>
   <fieldname>printanswers</fieldname>
   <fieldname>ipaddr</fieldname>
   <fieldname>refurl</fieldname>
   <fieldname>publicstatistics</fieldname>
   <fieldname>publicgraphs</fieldname>
   <fieldname>listpublic</fieldname>
   <fieldname>htmlemail</fieldname>
   <fieldname>sendconfirmation</fieldname>
   <fieldname>tokenanswerspersistence</fieldname>
   <fieldname>assessments</fieldname>
   <fieldname>usecaptcha</fieldname>
   <fieldname>usetokens</fieldname>
   <fieldname>bounce_email</fieldname>
   <fieldname>attributedescriptions</fieldname>
   <fieldname>emailresponseto</fieldname>
   <fieldname>emailnotificationto</fieldname>
   <fieldname>tokenlength</fieldname>
   <fieldname>showxquestions</fieldname>
   <fieldname>showgroupinfo</fieldname>
   <fieldname>shownoanswer</fieldname>
   <fieldname>showqnumcode</fieldname>
   <fieldname>bouncetime</fieldname>
   <fieldname>bounceprocessing</fieldname>
   <fieldname>bounceaccounttype</fieldname>
   <fieldname>bounceaccounthost</fieldname>
   <fieldname>bounceaccountpass</fieldname>
   <fieldname>bounceaccountencryption</fieldname>
   <fieldname>bounceaccountuser</fieldname>
   <fieldname>showwelcome</fieldname>
   <fieldname>showprogress</fieldname>
   <fieldname>questionindex</fieldname>
   <fieldname>navigationdelay</fieldname>
   <fieldname>nokeyboard</fieldname>
   <fieldname>alloweditaftercompletion</fieldname>
   <fieldname>googleanalyticsstyle</fieldname>
   <fieldname>googleanalyticsapikey</fieldname>
   <fieldname>gsid</fieldname>
   <fieldname>showsurveypolicynotice</fieldname>
   <fieldname>tokenencryptionoptions</fieldname>
   <fieldname>ipanonymize</fieldname>
  </fields>
  <rows>
   <row>
    <sid><![CDATA[554215]]></sid>
    <admin><![CDATA[inherit]]></admin>
    <adminemail><![CDATA[inherit]]></adminemail>
    <anonymized><![CDATA[N]]></anonymized>
    <format><![CDATA[G]]></format>
    <savetimings><![CDATA[N]]></savetimings>
    <template><![CDATA[bootswatch]]></template>
    <language><![CDATA[en]]></language>
    <additional_languages/>
    <datestamp><![CDATA[N]]></datestamp>
    <usecookie><![CDATA[I]]></usecookie>
    <allowregister><![CDATA[N]]></allowregister>
    <allowsave><![CDATA[I]]></allowsave>
    <autonumber_start><![CDATA[0]]></autonumber_start>
    <autoredirect><![CDATA[I]]></autoredirect>
    <allowprev><![CDATA[Y]]></allowprev>
    <printanswers><![CDATA[I]]></printanswers>
    <ipaddr><![CDATA[N]]></ipaddr>
    <refurl><![CDATA[N]]></refurl>
    <publicstatistics><![CDATA[I]]></publicstatistics>
    <publicgraphs><![CDATA[I]]></publicgraphs>
    <listpublic><![CDATA[I]]></listpublic>
    <htmlemail><![CDATA[I]]></htmlemail>
    <sendconfirmation><![CDATA[I]]></sendconfirmation>
    <tokenanswerspersistence><![CDATA[Y]]></tokenanswerspersistence>
    <assessments><![CDATA[I]]></assessments>
    <usecaptcha><![CDATA[E]]></usecaptcha>
    <usetokens><![CDATA[N]]></usetokens>
    <bounce_email><![CDATA[inherit]]></bounce_email>
    <emailresponseto><![CDATA[inherit]]></emailresponseto>
    <emailnotificationto><![CDATA[inherit]]></emailnotificationto>
    <tokenlength><![CDATA[-1]]></tokenlength>
    <showxquestions><![CDATA[I]]></showxquestions>
    <showgroupinfo><![CDATA[I]]></showgroupinfo>
    <shownoanswer><![CDATA[I]]></shownoanswer>
    <showqnumcode><![CDATA[I]]></showqnumcode>
    <bounceprocessing><![CDATA[N]]></bounceprocessing>
    <showwelcome><![CDATA[N]]></showwelcome>
    <showprogress><![CDATA[I]]></showprogress>
    <questionindex><![CDATA[2]]></questionindex>
    <navigationdelay><![CDATA[-1]]></navigationdelay>
    <nokeyboard><![CDATA[I]]></nokeyboard>
    <alloweditaftercompletion><![CDATA[I]]></alloweditaftercompletion>
    <googleanalyticsstyle/>
    <googleanalyticsapikey/>
    <gsid><![CDATA[1]]></gsid>
    <showsurveypolicynotice><![CDATA[0]]></showsurveypolicynotice>
    <tokenencryptionoptions><![CDATA[{ "enabled":"Y","columns":{ "firstname":"N","lastname":"N","email":"N" } }]]></tokenencryptionoptions>
    <ipanonymize><![CDATA[N]]></ipanonymize>
   </row>
  </rows>
 </surveys>
 <surveys_languagesettings>
  <fields>
   <fieldname>surveyls_survey_id</fieldname>
   <fieldname>surveyls_language</fieldname>
   <fieldname>surveyls_title</fieldname>
   <fieldname>surveyls_description</fieldname>
   <fieldname>surveyls_welcometext</fieldname>
   <fieldname>surveyls_endtext</fieldname>
   <fieldname>surveyls_url</fieldname>
   <fieldname>surveyls_urldescription</fieldname>
   <fieldname>surveyls_email_invite_subj</fieldname>
   <fieldname>surveyls_email_invite</fieldname>
   <fieldname>surveyls_email_remind_subj</fieldname>
   <fieldname>surveyls_email_remind</fieldname>
   <fieldname>surveyls_email_register_subj</fieldname>
   <fieldname>surveyls_email_register</fieldname>
   <fieldname>surveyls_email_confirm_subj</fieldname>
   <fieldname>surveyls_email_confirm</fieldname>
   <fieldname>surveyls_dateformat</fieldname>
   <fieldname>surveyls_attributecaptions</fieldname>
   <fieldname>email_admin_notification_subj</fieldname>
   <fieldname>email_admin_notification</fieldname>
   <fieldname>email_admin_responses_subj</fieldname>
   <fieldname>email_admin_responses</fieldname>
   <fieldname>surveyls_numberformat</fieldname>
   <fieldname>attachments</fieldname>
   <fieldname>surveyls_policy_notice</fieldname>
   <fieldname>surveyls_policy_error</fieldname>
   <fieldname>surveyls_policy_notice_label</fieldname>
   <fieldname>surveyls_alias</fieldname>
  </fields>
  <rows>
   <row>
    <surveyls_survey_id><![CDATA[554215]]></surveyls_survey_id>
    <surveyls_language><![CDATA[en]]></surveyls_language>
    <surveyls_title><![CDATA[File Upload with Apostrophe]]></surveyls_title>
    <surveyls_description/>
    <surveyls_welcometext/>
    <surveyls_endtext/>
    <surveyls_url/>
    <surveyls_urldescription/>
    <surveyls_email_invite_subj><![CDATA[Invitation to participate in a survey]]></surveyls_email_invite_subj>
    <surveyls_email_invite><![CDATA[Dear {FIRSTNAME},

You have been invited to participate in a survey.

The survey is titled:
"{SURVEYNAME}"

"{SURVEYDESCRIPTION}"

To participate, please click on the link below.

Sincerely,

{ADMINNAME} ({ADMINEMAIL})

----------------------------------------------
Click here to do the survey:
{SURVEYURL}

If you do not want to participate in this survey and don't want to receive any more invitations please click the following link:
{OPTOUTURL}

If you are blacklisted but want to participate in this survey and want to receive invitations please click the following link:
{OPTINURL}]]></surveyls_email_invite>
    <surveyls_email_remind_subj><![CDATA[Reminder to participate in a survey]]></surveyls_email_remind_subj>
    <surveyls_email_remind><![CDATA[Dear {FIRSTNAME},

Recently we invited you to participate in a survey.

We note that you have not yet completed the survey, and wish to remind you that the survey is still available should you wish to take part.

The survey is titled:
"{SURVEYNAME}"

"{SURVEYDESCRIPTION}"

To participate, please click on the link below.

Sincerely,

{ADMINNAME} ({ADMINEMAIL})

----------------------------------------------
Click here to do the survey:
{SURVEYURL}

If you do not want to participate in this survey and don't want to receive any more invitations please click the following link:
{OPTOUTURL}]]></surveyls_email_remind>
    <surveyls_email_register_subj><![CDATA[Survey registration confirmation]]></surveyls_email_register_subj>
    <surveyls_email_register><![CDATA[Dear {FIRSTNAME},

You, or someone using your email address, have registered to participate in an online survey titled {SURVEYNAME}.

To complete this survey, click on the following URL:

{SURVEYURL}

If you have any questions about this survey, or if you did not register to participate and believe this email is in error, please contact {ADMINNAME} at {ADMINEMAIL}.]]></surveyls_email_register>
    <surveyls_email_confirm_subj><![CDATA[Confirmation of your participation in our survey]]></surveyls_email_confirm_subj>
    <surveyls_email_confirm><![CDATA[Dear {FIRSTNAME},

This email is to confirm that you have completed the survey titled {SURVEYNAME} and your response has been saved. Thank you for participating.

If you have any further questions about this email, please contact {ADMINNAME} on {ADMINEMAIL}.

Sincerely,

{ADMINNAME}]]></surveyls_email_confirm>
    <surveyls_dateformat><![CDATA[9]]></surveyls_dateformat>
    <email_admin_notification_subj><![CDATA[Response submission for survey {SURVEYNAME}]]></email_admin_notification_subj>
    <email_admin_notification><![CDATA[Hello,

A new response was submitted for your survey '{SURVEYNAME}'.

Click the following link to see the individual response:
{VIEWRESPONSEURL}

Click the following link to edit the individual response:
{EDITRESPONSEURL}

View statistics by clicking here:
{STATISTICSURL}]]></email_admin_notification>
    <email_admin_responses_subj><![CDATA[Response submission for survey {SURVEYNAME} with results]]></email_admin_responses_subj>
    <email_admin_responses><![CDATA[Hello,

A new response was submitted for your survey '{SURVEYNAME}'.

Click the following link to see the individual response:
{VIEWRESPONSEURL}

Click the following link to edit the individual response:
{EDITRESPONSEURL}

View statistics by clicking here:
{STATISTICSURL}


The following answers were given by the participant:
{ANSWERTABLE}]]></email_admin_responses>
    <surveyls_numberformat><![CDATA[0]]></surveyls_numberformat>
    <surveyls_policy_notice/>
    <surveyls_policy_notice_label/>
   </row>
  </rows>
 </surveys_languagesettings>
 <themes>
  <theme>
   <sid>554215</sid>
   <template_name>bootswatch</template_name>
   <config>
    <options>inherit</options>
   </config>
  </theme>
  <theme>
   <sid>554215</sid>
   <config>
    <options>inherit</options>
   </config>
  </theme>
 </themes>
 <themes_inherited>
  <theme>
   <sid>554215</sid>
   <template_name>bootswatch</template_name>
   <config>
    <options>
     <ajaxmode>off</ajaxmode>
     <brandlogo>off</brandlogo>
     <container>on</container>
     <brandlogofile>image::theme::files/logo.png</brandlogofile>
     <backgroundimage>off</backgroundimage>
     <backgroundimagefile>./files/pattern.png</backgroundimagefile>
     <animatebody>off</animatebody>
     <bodyanimation>fadeInRight</bodyanimation>
     <bodyanimationduration>500</bodyanimationduration>
     <animatequestion>off</animatequestion>
     <questionanimation>flipInX</questionanimation>
     <questionanimationduration>500</questionanimationduration>
     <animatealert>off</animatealert>
     <alertanimation>shake</alertanimation>
     <alertanimationduration>500</alertanimationduration>
     <font>noto</font>
     <bodybackgroundcolor>#ffffff</bodybackgroundcolor>
     <fontcolor>#444444</fontcolor>
     <questionbackgroundcolor>#ffffff</questionbackgroundcolor>
     <questionborder>on</questionborder>
     <questioncontainershadow>on</questioncontainershadow>
     <checkicon>f00c</checkicon>
     <animatecheckbox>on</animatecheckbox>
     <checkboxanimation>rubberBand</checkboxanimation>
     <checkboxanimationduration>500</checkboxanimationduration>
     <animateradio>on</animateradio>
     <radioanimation>zoomIn</radioanimation>
     <radioanimationduration>500</radioanimationduration>
     <zebrastriping>off</zebrastriping>
     <stickymatrixheaders>off</stickymatrixheaders>
     <greyoutselected>off</greyoutselected>
     <hideprivacyinfo>off</hideprivacyinfo>
     <crosshover>off</crosshover>
     <showpopups>1</showpopups>
    </options>
   </config>
  </theme>
  <theme>
   <sid>554215</sid>
   <config>
    <options>
     <ajaxmode>off</ajaxmode>
     <brandlogo>off</brandlogo>
     <container>on</container>
     <brandlogofile>image::theme::files/logo.png</brandlogofile>
     <backgroundimage>off</backgroundimage>
     <backgroundimagefile>./files/pattern.png</backgroundimagefile>
     <animatebody>off</animatebody>
     <bodyanimation>fadeInRight</bodyanimation>
     <bodyanimationduration>500</bodyanimationduration>
     <animatequestion>off</animatequestion>
     <questionanimation>flipInX</questionanimation>
     <questionanimationduration>500</questionanimationduration>
     <animatealert>off</animatealert>
     <alertanimation>shake</alertanimation>
     <alertanimationduration>500</alertanimationduration>
     <font>noto</font>
     <bodybackgroundcolor>#ffffff</bodybackgroundcolor>
     <fontcolor>#444444</fontcolor>
     <questionbackgroundcolor>#ffffff</questionbackgroundcolor>
     <questionborder>on</questionborder>
     <questioncontainershadow>on</questioncontainershadow>
     <checkicon>f00c</checkicon>
     <animatecheckbox>on</animatecheckbox>
     <checkboxanimation>rubberBand</checkboxanimation>
     <checkboxanimationduration>500</checkboxanimationduration>
     <animateradio>on</animateradio>
     <radioanimation>zoomIn</radioanimation>
     <radioanimationduration>500</radioanimationduration>
     <zebrastriping>off</zebrastriping>
     <stickymatrixheaders>off</stickymatrixheaders>
     <greyoutselected>off</greyoutselected>
     <hideprivacyinfo>off</hideprivacyinfo>
     <crosshover>off</crosshover>
     <showpopups>1</showpopups>
    </options>
   </config>
  </theme>
 </themes_inherited>
</document>
limesurvey_survey_554200.lss (29,633 bytes)   
duvemyster

duvemyster

2023-01-11 17:15

reporter   ~73436

Here's a test file and a simpler single-scenario use-case to reduces the number of steps necessary to replicate. A participant table / persistence is not required.

Import the attached lss file, active it, launch the survey and following instructions -- 1.) upload the test file, note the file(s) lists correctly with the questions, 2.) click Next, 3.) click Previous, and observe that the filelist disappears.

O'Malley's test file.pdf (26,638 bytes)
limesurvey_survey_623786.lss (27,876 bytes)   
<?xml version="1.0" encoding="UTF-8"?>
<document>
 <LimeSurveyDocType>Survey</LimeSurveyDocType>
 <DBVersion>495</DBVersion>
 <languages>
  <language>en</language>
 </languages>
 <groups>
  <fields>
   <fieldname>gid</fieldname>
   <fieldname>sid</fieldname>
   <fieldname>group_order</fieldname>
   <fieldname>randomization_group</fieldname>
   <fieldname>grelevance</fieldname>
  </fields>
  <rows>
   <row>
    <gid><![CDATA[616]]></gid>
    <sid><![CDATA[623786]]></sid>
    <group_order><![CDATA[1]]></group_order>
    <randomization_group/>
    <grelevance><![CDATA[1]]></grelevance>
   </row>
   <row>
    <gid><![CDATA[617]]></gid>
    <sid><![CDATA[623786]]></sid>
    <group_order><![CDATA[2]]></group_order>
    <randomization_group/>
    <grelevance/>
   </row>
  </rows>
 </groups>
 <group_l10ns>
  <fields>
   <fieldname>id</fieldname>
   <fieldname>gid</fieldname>
   <fieldname>group_name</fieldname>
   <fieldname>description</fieldname>
   <fieldname>language</fieldname>
   <fieldname>sid</fieldname>
   <fieldname>group_order</fieldname>
   <fieldname>randomization_group</fieldname>
   <fieldname>grelevance</fieldname>
  </fields>
  <rows>
   <row>
    <id><![CDATA[157]]></id>
    <gid><![CDATA[616]]></gid>
    <group_name><![CDATA[Upload some files.]]></group_name>
    <description/>
    <language><![CDATA[en]]></language>
    <sid><![CDATA[623786]]></sid>
    <group_order><![CDATA[1]]></group_order>
    <randomization_group/>
    <grelevance><![CDATA[1]]></grelevance>
   </row>
   <row>
    <id><![CDATA[158]]></id>
    <gid><![CDATA[617]]></gid>
    <group_name><![CDATA[Next Group]]></group_name>
    <description/>
    <language><![CDATA[en]]></language>
    <sid><![CDATA[623786]]></sid>
    <group_order><![CDATA[2]]></group_order>
    <randomization_group/>
    <grelevance/>
   </row>
  </rows>
 </group_l10ns>
 <questions>
  <fields>
   <fieldname>qid</fieldname>
   <fieldname>parent_qid</fieldname>
   <fieldname>sid</fieldname>
   <fieldname>gid</fieldname>
   <fieldname>type</fieldname>
   <fieldname>title</fieldname>
   <fieldname>preg</fieldname>
   <fieldname>other</fieldname>
   <fieldname>mandatory</fieldname>
   <fieldname>question_order</fieldname>
   <fieldname>scale_id</fieldname>
   <fieldname>same_default</fieldname>
   <fieldname>relevance</fieldname>
   <fieldname>modulename</fieldname>
   <fieldname>encrypted</fieldname>
   <fieldname>question_theme_name</fieldname>
   <fieldname>same_script</fieldname>
  </fields>
  <rows>
   <row>
    <qid><![CDATA[15236]]></qid>
    <parent_qid><![CDATA[0]]></parent_qid>
    <sid><![CDATA[623786]]></sid>
    <gid><![CDATA[616]]></gid>
    <type><![CDATA[|]]></type>
    <title><![CDATA[Q00]]></title>
    <other><![CDATA[N]]></other>
    <mandatory><![CDATA[N]]></mandatory>
    <question_order><![CDATA[1]]></question_order>
    <scale_id><![CDATA[0]]></scale_id>
    <same_default><![CDATA[0]]></same_default>
    <relevance><![CDATA[1]]></relevance>
    <encrypted><![CDATA[N]]></encrypted>
    <question_theme_name><![CDATA[file_upload]]></question_theme_name>
    <same_script><![CDATA[0]]></same_script>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <parent_qid><![CDATA[0]]></parent_qid>
    <sid><![CDATA[623786]]></sid>
    <gid><![CDATA[616]]></gid>
    <type><![CDATA[X]]></type>
    <title><![CDATA[G01Q02]]></title>
    <other><![CDATA[N]]></other>
    <mandatory><![CDATA[N]]></mandatory>
    <question_order><![CDATA[2]]></question_order>
    <scale_id><![CDATA[0]]></scale_id>
    <same_default><![CDATA[0]]></same_default>
    <relevance><![CDATA[1]]></relevance>
    <modulename/>
    <encrypted><![CDATA[N]]></encrypted>
    <question_theme_name><![CDATA[boilerplate]]></question_theme_name>
    <same_script><![CDATA[0]]></same_script>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <parent_qid><![CDATA[0]]></parent_qid>
    <sid><![CDATA[623786]]></sid>
    <gid><![CDATA[617]]></gid>
    <type><![CDATA[X]]></type>
    <title><![CDATA[G02Q03]]></title>
    <other><![CDATA[N]]></other>
    <mandatory><![CDATA[N]]></mandatory>
    <question_order><![CDATA[1]]></question_order>
    <scale_id><![CDATA[0]]></scale_id>
    <same_default><![CDATA[0]]></same_default>
    <relevance><![CDATA[1]]></relevance>
    <modulename/>
    <encrypted><![CDATA[N]]></encrypted>
    <question_theme_name><![CDATA[boilerplate]]></question_theme_name>
    <same_script><![CDATA[0]]></same_script>
   </row>
  </rows>
 </questions>
 <question_l10ns>
  <fields>
   <fieldname>id</fieldname>
   <fieldname>qid</fieldname>
   <fieldname>question</fieldname>
   <fieldname>help</fieldname>
   <fieldname>language</fieldname>
   <fieldname>script</fieldname>
  </fields>
  <rows>
   <row>
    <id><![CDATA[3377]]></id>
    <qid><![CDATA[15236]]></qid>
    <question><![CDATA[Upload some files. Makes sure at least one of them contains an apostrophe in the filename.]]></question>
    <help/>
    <language><![CDATA[en]]></language>
    <script/>
   </row>
   <row>
    <id><![CDATA[3378]]></id>
    <qid><![CDATA[15237]]></qid>
    <question><![CDATA[<ol>
<li>After uploading files and saving, confirm that at least one of the files in the list shown above contains an apostrophe,</li><li>then click "Next" followed by "Previous", and watch the file list above change to simply the title row.
</ol>]]></question>
    <help/>
    <language><![CDATA[en]]></language>
    <script/>
   </row>
   <row>
    <id><![CDATA[3379]]></id>
    <qid><![CDATA[15238]]></qid>
    <question><![CDATA[Now click "Previous".]]></question>
    <help/>
    <language><![CDATA[en]]></language>
    <script/>
   </row>
  </rows>
 </question_l10ns>
 <question_attributes>
  <fields>
   <fieldname>qid</fieldname>
   <fieldname>attribute</fieldname>
   <fieldname>value</fieldname>
   <fieldname>language</fieldname>
  </fields>
  <rows>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[allowed_filetypes]]></attribute>
    <value><![CDATA[png, gif, doc, odt, jpg, jpeg, pdf, png, heic]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[cssclass]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[hidden]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[hide_tip]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[max_filesize]]></attribute>
    <value><![CDATA[10240]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[max_num_of_files]]></attribute>
    <value><![CDATA[5]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[min_num_of_files]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[page_break]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[random_group]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[save_as_default]]></attribute>
    <value><![CDATA[N]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[show_comment]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[show_title]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[statistics_graphtype]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15236]]></qid>
    <attribute><![CDATA[statistics_showgraph]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[cssclass]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[hidden]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[hide_tip]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[page_break]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[random_group]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[save_as_default]]></attribute>
    <value><![CDATA[N]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[statistics_graphtype]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[statistics_showgraph]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_action]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_countdown_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_disable_next]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_disable_prev]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_message_delay]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_message_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_timer_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_warning]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_warning_2]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_warning_2_display_time]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_warning_2_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_warning_2_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_warning_display_time]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_warning_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15237]]></qid>
    <attribute><![CDATA[time_limit_warning_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[cssclass]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[hidden]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[hide_tip]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[page_break]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[random_group]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[save_as_default]]></attribute>
    <value><![CDATA[N]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[statistics_graphtype]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[statistics_showgraph]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_action]]></attribute>
    <value><![CDATA[1]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_countdown_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_disable_next]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_disable_prev]]></attribute>
    <value><![CDATA[0]]></value>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_message_delay]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_message_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_timer_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_warning]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_warning_2]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_warning_2_display_time]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_warning_2_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_warning_2_style]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_warning_display_time]]></attribute>
    <value/>
    <language/>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_warning_message]]></attribute>
    <value/>
    <language><![CDATA[en]]></language>
   </row>
   <row>
    <qid><![CDATA[15238]]></qid>
    <attribute><![CDATA[time_limit_warning_style]]></attribute>
    <value/>
    <language/>
   </row>
  </rows>
 </question_attributes>
 <surveys>
  <fields>
   <fieldname>sid</fieldname>
   <fieldname>admin</fieldname>
   <fieldname>expires</fieldname>
   <fieldname>startdate</fieldname>
   <fieldname>adminemail</fieldname>
   <fieldname>anonymized</fieldname>
   <fieldname>faxto</fieldname>
   <fieldname>format</fieldname>
   <fieldname>savetimings</fieldname>
   <fieldname>template</fieldname>
   <fieldname>language</fieldname>
   <fieldname>additional_languages</fieldname>
   <fieldname>datestamp</fieldname>
   <fieldname>usecookie</fieldname>
   <fieldname>allowregister</fieldname>
   <fieldname>allowsave</fieldname>
   <fieldname>autonumber_start</fieldname>
   <fieldname>autoredirect</fieldname>
   <fieldname>allowprev</fieldname>
   <fieldname>printanswers</fieldname>
   <fieldname>ipaddr</fieldname>
   <fieldname>refurl</fieldname>
   <fieldname>publicstatistics</fieldname>
   <fieldname>publicgraphs</fieldname>
   <fieldname>listpublic</fieldname>
   <fieldname>htmlemail</fieldname>
   <fieldname>sendconfirmation</fieldname>
   <fieldname>tokenanswerspersistence</fieldname>
   <fieldname>assessments</fieldname>
   <fieldname>usecaptcha</fieldname>
   <fieldname>usetokens</fieldname>
   <fieldname>bounce_email</fieldname>
   <fieldname>attributedescriptions</fieldname>
   <fieldname>emailresponseto</fieldname>
   <fieldname>emailnotificationto</fieldname>
   <fieldname>tokenlength</fieldname>
   <fieldname>showxquestions</fieldname>
   <fieldname>showgroupinfo</fieldname>
   <fieldname>shownoanswer</fieldname>
   <fieldname>showqnumcode</fieldname>
   <fieldname>bouncetime</fieldname>
   <fieldname>bounceprocessing</fieldname>
   <fieldname>bounceaccounttype</fieldname>
   <fieldname>bounceaccounthost</fieldname>
   <fieldname>bounceaccountpass</fieldname>
   <fieldname>bounceaccountencryption</fieldname>
   <fieldname>bounceaccountuser</fieldname>
   <fieldname>showwelcome</fieldname>
   <fieldname>showprogress</fieldname>
   <fieldname>questionindex</fieldname>
   <fieldname>navigationdelay</fieldname>
   <fieldname>nokeyboard</fieldname>
   <fieldname>alloweditaftercompletion</fieldname>
   <fieldname>googleanalyticsstyle</fieldname>
   <fieldname>googleanalyticsapikey</fieldname>
   <fieldname>gsid</fieldname>
   <fieldname>showsurveypolicynotice</fieldname>
   <fieldname>tokenencryptionoptions</fieldname>
   <fieldname>ipanonymize</fieldname>
  </fields>
  <rows>
   <row>
    <sid><![CDATA[623786]]></sid>
    <admin><![CDATA[inherit]]></admin>
    <adminemail><![CDATA[inherit]]></adminemail>
    <anonymized><![CDATA[N]]></anonymized>
    <format><![CDATA[G]]></format>
    <savetimings><![CDATA[N]]></savetimings>
    <template><![CDATA[bootswatch]]></template>
    <language><![CDATA[en]]></language>
    <additional_languages/>
    <datestamp><![CDATA[N]]></datestamp>
    <usecookie><![CDATA[I]]></usecookie>
    <allowregister><![CDATA[Y]]></allowregister>
    <allowsave><![CDATA[I]]></allowsave>
    <autonumber_start><![CDATA[0]]></autonumber_start>
    <autoredirect><![CDATA[I]]></autoredirect>
    <allowprev><![CDATA[Y]]></allowprev>
    <printanswers><![CDATA[I]]></printanswers>
    <ipaddr><![CDATA[N]]></ipaddr>
    <refurl><![CDATA[N]]></refurl>
    <publicstatistics><![CDATA[I]]></publicstatistics>
    <publicgraphs><![CDATA[I]]></publicgraphs>
    <listpublic><![CDATA[I]]></listpublic>
    <htmlemail><![CDATA[I]]></htmlemail>
    <sendconfirmation><![CDATA[I]]></sendconfirmation>
    <tokenanswerspersistence><![CDATA[N]]></tokenanswerspersistence>
    <assessments><![CDATA[I]]></assessments>
    <usecaptcha><![CDATA[E]]></usecaptcha>
    <usetokens><![CDATA[N]]></usetokens>
    <bounce_email><![CDATA[inherit]]></bounce_email>
    <emailresponseto><![CDATA[inherit]]></emailresponseto>
    <emailnotificationto><![CDATA[inherit]]></emailnotificationto>
    <tokenlength><![CDATA[15]]></tokenlength>
    <showxquestions><![CDATA[I]]></showxquestions>
    <showgroupinfo><![CDATA[I]]></showgroupinfo>
    <shownoanswer><![CDATA[I]]></shownoanswer>
    <showqnumcode><![CDATA[I]]></showqnumcode>
    <bounceprocessing><![CDATA[N]]></bounceprocessing>
    <showwelcome><![CDATA[N]]></showwelcome>
    <showprogress><![CDATA[I]]></showprogress>
    <questionindex><![CDATA[2]]></questionindex>
    <navigationdelay><![CDATA[-1]]></navigationdelay>
    <nokeyboard><![CDATA[I]]></nokeyboard>
    <alloweditaftercompletion><![CDATA[I]]></alloweditaftercompletion>
    <googleanalyticsstyle/>
    <googleanalyticsapikey/>
    <gsid><![CDATA[1]]></gsid>
    <showsurveypolicynotice><![CDATA[0]]></showsurveypolicynotice>
    <tokenencryptionoptions><![CDATA[{ "enabled":"Y","columns":{ "firstname":"N","lastname":"N","email":"N" } }]]></tokenencryptionoptions>
    <ipanonymize><![CDATA[N]]></ipanonymize>
   </row>
  </rows>
 </surveys>
 <surveys_languagesettings>
  <fields>
   <fieldname>surveyls_survey_id</fieldname>
   <fieldname>surveyls_language</fieldname>
   <fieldname>surveyls_title</fieldname>
   <fieldname>surveyls_description</fieldname>
   <fieldname>surveyls_welcometext</fieldname>
   <fieldname>surveyls_endtext</fieldname>
   <fieldname>surveyls_url</fieldname>
   <fieldname>surveyls_urldescription</fieldname>
   <fieldname>surveyls_email_invite_subj</fieldname>
   <fieldname>surveyls_email_invite</fieldname>
   <fieldname>surveyls_email_remind_subj</fieldname>
   <fieldname>surveyls_email_remind</fieldname>
   <fieldname>surveyls_email_register_subj</fieldname>
   <fieldname>surveyls_email_register</fieldname>
   <fieldname>surveyls_email_confirm_subj</fieldname>
   <fieldname>surveyls_email_confirm</fieldname>
   <fieldname>surveyls_dateformat</fieldname>
   <fieldname>surveyls_attributecaptions</fieldname>
   <fieldname>email_admin_notification_subj</fieldname>
   <fieldname>email_admin_notification</fieldname>
   <fieldname>email_admin_responses_subj</fieldname>
   <fieldname>email_admin_responses</fieldname>
   <fieldname>surveyls_numberformat</fieldname>
   <fieldname>attachments</fieldname>
   <fieldname>surveyls_policy_notice</fieldname>
   <fieldname>surveyls_policy_error</fieldname>
   <fieldname>surveyls_policy_notice_label</fieldname>
   <fieldname>surveyls_alias</fieldname>
  </fields>
  <rows>
   <row>
    <surveyls_survey_id><![CDATA[623786]]></surveyls_survey_id>
    <surveyls_language><![CDATA[en]]></surveyls_language>
    <surveyls_title><![CDATA[File Upload with Apostrophe]]></surveyls_title>
    <surveyls_description/>
    <surveyls_welcometext/>
    <surveyls_endtext/>
    <surveyls_url/>
    <surveyls_urldescription/>
    <surveyls_email_invite_subj><![CDATA[Invitation to participate in a survey]]></surveyls_email_invite_subj>
    <surveyls_email_invite><![CDATA[Dear {FIRSTNAME},

You have been invited to participate in a survey.

The survey is titled:
"{SURVEYNAME}"

"{SURVEYDESCRIPTION}"

To participate, please click on the link below.

Sincerely,

{ADMINNAME} ({ADMINEMAIL})

----------------------------------------------
Click here to do the survey:
{SURVEYURL}

If you do not want to participate in this survey and don't want to receive any more invitations please click the following link:
{OPTOUTURL}

If you are blacklisted but want to participate in this survey and want to receive invitations please click the following link:
{OPTINURL}]]></surveyls_email_invite>
    <surveyls_email_remind_subj><![CDATA[Reminder to participate in a survey]]></surveyls_email_remind_subj>
    <surveyls_email_remind><![CDATA[Dear {FIRSTNAME},

Recently we invited you to participate in a survey.

We note that you have not yet completed the survey, and wish to remind you that the survey is still available should you wish to take part.

The survey is titled:
"{SURVEYNAME}"

"{SURVEYDESCRIPTION}"

To participate, please click on the link below.

Sincerely,

{ADMINNAME} ({ADMINEMAIL})

----------------------------------------------
Click here to do the survey:
{SURVEYURL}

If you do not want to participate in this survey and don't want to receive any more invitations please click the following link:
{OPTOUTURL}]]></surveyls_email_remind>
    <surveyls_email_register_subj><![CDATA[Survey registration confirmation]]></surveyls_email_register_subj>
    <surveyls_email_register><![CDATA[Dear {FIRSTNAME},

You, or someone using your email address, have registered to participate in an online survey titled {SURVEYNAME}.

To complete this survey, click on the following URL:

{SURVEYURL}

If you have any questions about this survey, or if you did not register to participate and believe this email is in error, please contact {ADMINNAME} at {ADMINEMAIL}.]]></surveyls_email_register>
    <surveyls_email_confirm_subj><![CDATA[Confirmation of your participation in our survey]]></surveyls_email_confirm_subj>
    <surveyls_email_confirm><![CDATA[Dear {FIRSTNAME},

This email is to confirm that you have completed the survey titled {SURVEYNAME} and your response has been saved. Thank you for participating.

If you have any further questions about this email, please contact {ADMINNAME} on {ADMINEMAIL}.

Sincerely,

{ADMINNAME}]]></surveyls_email_confirm>
    <surveyls_dateformat><![CDATA[9]]></surveyls_dateformat>
    <email_admin_notification_subj><![CDATA[Response submission for survey {SURVEYNAME}]]></email_admin_notification_subj>
    <email_admin_notification><![CDATA[Hello,

A new response was submitted for your survey '{SURVEYNAME}'.

Click the following link to see the individual response:
{VIEWRESPONSEURL}

Click the following link to edit the individual response:
{EDITRESPONSEURL}

View statistics by clicking here:
{STATISTICSURL}]]></email_admin_notification>
    <email_admin_responses_subj><![CDATA[Response submission for survey {SURVEYNAME} with results]]></email_admin_responses_subj>
    <email_admin_responses><![CDATA[Hello,

A new response was submitted for your survey '{SURVEYNAME}'.

Click the following link to see the individual response:
{VIEWRESPONSEURL}

Click the following link to edit the individual response:
{EDITRESPONSEURL}

View statistics by clicking here:
{STATISTICSURL}


The following answers were given by the participant:
{ANSWERTABLE}]]></email_admin_responses>
    <surveyls_numberformat><![CDATA[0]]></surveyls_numberformat>
    <surveyls_policy_notice/>
    <surveyls_policy_notice_label/>
   </row>
  </rows>
 </surveys_languagesettings>
 <themes>
  <theme>
   <sid>623786</sid>
   <template_name>bootswatch</template_name>
   <config>
    <options>inherit</options>
   </config>
  </theme>
 </themes>
 <themes_inherited>
  <theme>
   <sid>623786</sid>
   <template_name>bootswatch</template_name>
   <config>
    <options>
     <ajaxmode>off</ajaxmode>
     <brandlogo>off</brandlogo>
     <container>on</container>
     <brandlogofile>image::theme::files/logo.png</brandlogofile>
     <backgroundimage>off</backgroundimage>
     <backgroundimagefile>./files/pattern.png</backgroundimagefile>
     <animatebody>off</animatebody>
     <bodyanimation>fadeInRight</bodyanimation>
     <bodyanimationduration>500</bodyanimationduration>
     <animatequestion>off</animatequestion>
     <questionanimation>flipInX</questionanimation>
     <questionanimationduration>500</questionanimationduration>
     <animatealert>off</animatealert>
     <alertanimation>shake</alertanimation>
     <alertanimationduration>500</alertanimationduration>
     <font>noto</font>
     <bodybackgroundcolor>#ffffff</bodybackgroundcolor>
     <fontcolor>#444444</fontcolor>
     <questionbackgroundcolor>#ffffff</questionbackgroundcolor>
     <questionborder>on</questionborder>
     <questioncontainershadow>on</questioncontainershadow>
     <checkicon>f00c</checkicon>
     <animatecheckbox>on</animatecheckbox>
     <checkboxanimation>rubberBand</checkboxanimation>
     <checkboxanimationduration>500</checkboxanimationduration>
     <animateradio>on</animateradio>
     <radioanimation>zoomIn</radioanimation>
     <radioanimationduration>500</radioanimationduration>
     <zebrastriping>off</zebrastriping>
     <stickymatrixheaders>off</stickymatrixheaders>
     <greyoutselected>off</greyoutselected>
     <hideprivacyinfo>off</hideprivacyinfo>
     <crosshover>off</crosshover>
     <showpopups>1</showpopups>
    </options>
   </config>
  </theme>
 </themes_inherited>
</document>
limesurvey_survey_623786.lss (27,876 bytes)   
duvemyster

duvemyster

2023-01-15 17:58

reporter   ~73466

Is there a way to add a script or a rule preventing upload of files with a filename containing an apostrophe (') in the meantime?

LarryF

LarryF

2023-01-16 17:58

reporter   ~73481

A problem created by the same/similar issue I believe :
A file saved with a quotation mark (") will be saved correctly, but when you click on the file in the response an error indicating the file wasn't found is returned.

I traced this behavior to "json_decode(urldecode($fieldDataJson), true)" (line 77 in the Response Model) which returned null for this file.
Obviously the name is stored in url format in the database (%22 for quotation marks) to avoid injections, and urldecode decodes it correctly, the problem as I see it is that the json structure is broken by the quotation marks.

gabrieljenik

gabrieljenik

2023-01-23 13:35

manager   ~73536

PR https://github.com/LimeSurvey/LimeSurvey/pull/2862

DenisChenu

DenisChenu

2023-01-23 13:48

developer   ~73539

NEEDED !

duvemyster

duvemyster

2023-01-30 18:14

reporter   ~73612

PR https://github.com/LimeSurvey/LimeSurvey/pull/2862 tests out wonderfully on Version 5.6.3+230130 with the modified file incorporated. Thank you @gabrieljenik !

Issue History

Date Modified Username Field Change
2023-01-11 06:38 duvemyster New Issue
2023-01-11 06:38 duvemyster File Added: limesurvey_survey_554200.lss
2023-01-11 13:50 gabrieljenik Status new => acknowledged
2023-01-11 15:36 duvemyster Issue Monitored: duvemyster
2023-01-11 15:36 duvemyster Bug heat 0 => 2
2023-01-11 17:15 duvemyster Note Added: 73436
2023-01-11 17:15 duvemyster File Added: O'Malley's test file.pdf
2023-01-11 17:15 duvemyster File Added: limesurvey_survey_623786.lss
2023-01-11 17:15 duvemyster Bug heat 2 => 4
2023-01-15 17:58 duvemyster Note Added: 73466
2023-01-16 17:58 gabrieljenik Assigned To => gabrieljenik
2023-01-16 17:58 gabrieljenik Status acknowledged => assigned
2023-01-16 17:58 LarryF Note Added: 73481
2023-01-16 17:58 LarryF Bug heat 4 => 6
2023-01-23 13:35 gabrieljenik Assigned To gabrieljenik => DenisChenu
2023-01-23 13:35 gabrieljenik Status assigned => ready for code review
2023-01-23 13:35 gabrieljenik Note Added: 73536
2023-01-23 13:35 gabrieljenik Bug heat 6 => 8
2023-01-23 13:48 DenisChenu Assigned To DenisChenu =>
2023-01-23 13:48 DenisChenu Status ready for code review => ready for testing
2023-01-23 13:48 DenisChenu Note Added: 73539
2023-01-23 13:48 DenisChenu Bug heat 8 => 10
2023-01-30 18:14 duvemyster Note Added: 73612