View Issue Details

This issue affects 1 person(s).
 6
IDProjectCategoryView StatusLast Update
20739Bug reportsOtherpublic2026-10-01 12:33
Reporterhelmcode Assigned Toeusweisker  
PrioritynoneSeveritypartial_block 
Status closedResolutionfixed 
Summary20739: Copying a survey from the admin UI silently drops all panel integration URL parameters
Description

When a survey is copied from the admin interface, the entries in survey_url_parameters
(Survey settings -> Panel integration -> URL parameters) are not copied. The copy is created
with no URL parameters at all, and no warning is shown. The source survey is unaffected.

This only affects the admin UI copy. The other two ways of duplicating a survey do carry the
parameters over correctly, which is what makes it look like a regression rather than a design
decision:

  • copy_survey in RemoteControl 2 still goes through surveyGetXMLData()
    (application/helpers/remotecontrol/remotecontrol_handle.php) and keeps them, correctly
    remapped to the new survey's own questions.
  • LSS export followed by import keeps them as well: the export is unconditional
    (application/helpers/export_helper.php) and the import remaps targetqid / targetsqid
    (application/helpers/import_helper.php).

The impact is that whoever duplicates a survey template has to retype every URL parameter by
hand, and nothing tells them it is missing. Where the parameters feed a panel integration, the
copy will silently ignore the incoming parameters until someone notices, because parameter
matching at runtime is a plain isset($_GET[...]) lookup and an absent row simply never matches.

Steps To Reproduce

Steps To Reproduce

  1. Create a survey with at least one question.
  2. Go to Survey settings -> Panel integration and add one or more URL parameters. Optionally
    map them to a target question.
  3. Save, and confirm the parameters are listed.
  4. Copy the survey from the admin UI.
  5. Open the copy and go to Survey settings -> Panel integration.

Expected: the copy has the same URL parameters, remapped to its own questions (this is what
RemoteControl's copy_survey and LSS export/import both do).

Actual: the copy has no URL parameters at all.

Additional Information
The admin copy path is SurveyAdministrationController::actionCopy, which instantiates
LimeSurvey\Models\Services\CopySurvey. That service copies languages, groups and questions,
assessments, quotas, conditions, permissions, resources and plugin settings, but never touches
survey_url_parameters:

grep -c url_parameters application/models/services/CopySurvey.php
0

Verified on 6.17.18, and the same file on master shows no reference to the table either, so
upgrading does not fix it. The regression appears to date from 6.16.5, when the admin copy was
moved from the export/import path to this native service.

Workarounds, for anyone who lands here: duplicate through RemoteControl 2 copy_survey, or
export the survey to .lss and import it back.
(Write here what happened instead)

TagsNo tags attached.
Bug heat6
Complete LimeSurvey version number (& build)6.17.18 (no build number set; dbversion 651)
I will donate to the project if issue is resolvedNo
Browser
Database type & versionMySQL 8.0.45
Server OS (if known)
Webserver software & version (if known)
PHP Version8.3.33

Users monitoring this issue

There are no users monitoring this issue.

Activities

Haythem

Haythem

2026-09-30 13:32

developer   ~86107

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

guest

guest

2026-09-30 18:02

viewer   ~86122

Fix committed to master branch: http://bugs.limesurvey.org/plugin.php?page=Source/view&id=40636

LimeBot

LimeBot

2026-10-01 12:33

administrator   ~86158

Fixed in Release 7.5.0+261001

Related Changesets

LimeSurvey: master a4770ac1

2026-09-30 18:02

haythemCH

Committer: GitHub


Details Diff
Fixed issue 20739: Copying survey from admin ui doesnt copy the surv… (05377) Affected Issues
20739
mod - application/controllers/SurveyAdministrationController.php Diff File
mod - application/models/services/CopySurvey.php Diff File
mod - application/models/services/CopySurveyOptions.php Diff File
mod - application/models/services/CopySurveyResult.php Diff File
mod - application/views/surveyAdministration/copySurveyResult_view.php Diff File
mod - application/views/surveyAdministration/partial/_modalCopySurvey.php Diff File
mod - tests/unit/helpers/CopySurveyTest.php Diff File

Issue History

Date Modified Username Field Change
2026-09-30 08:22 helmcode New Issue
2026-09-30 10:49 Haythem Assigned To => Haythem
2026-09-30 10:49 Haythem Status new => assigned
2026-09-30 13:18 Haythem Status assigned => ready for code review
2026-09-30 13:32 Haythem Status ready for code review => ready for testing
2026-09-30 13:32 Haythem Note Added: 86107
2026-09-30 13:32 Haythem Bug heat 0 => 2
2026-09-30 17:29 eusweisker Assigned To Haythem => eusweisker
2026-09-30 17:29 eusweisker Status ready for testing => in testing
2026-09-30 18:02 haythemCH Changeset attached => LimeSurvey master a4770ac1
2026-09-30 18:02 guest Note Added: 86122
2026-09-30 18:02 guest Bug heat 2 => 4
2026-09-30 18:02 eusweisker Status in testing => resolved
2026-09-30 18:02 eusweisker Resolution open => fixed
2026-10-01 12:33 LimeBot Note Added: 86158
2026-10-01 12:33 LimeBot Status resolved => closed
2026-10-01 12:33 LimeBot Bug heat 4 => 6