View Issue Details

This issue affects 1 person(s).
 2
IDProjectCategoryView StatusLast Update
20842Bug reportsConditionspublic2026-11-08 13:28
Reporterc_schmitz Assigned Toc_schmitz  
PrioritynoneSeverityminor 
Status resolvedResolutionfixed 
Summary20842: Survey logic overview no longer shows array_filter equations of List (Radio) and List (Dropdown) answer options
Description

Since 7.0.7 the survey logic overview (and Check logic of a question) no longer shows the array_filter / array_filter_exclude equations on the answer options of List (Radio) and List (Dropdown) questions. The answer rows only show [VALUE: 0]. The filtering itself still works when taking the survey.

Cause (application/helpers/expressions/em_manager_helper.php):

  • Commit e92f93ba0b (Fixed issue 20593: Array filter on single choice does not work, first in 7.0.7) changed the row ids of list answer options to Q{qid}_S{aid}, and Q{qid}_Cother for Other (lines 3844 and 3858).
  • ShowSurveyLogicFile() still builds the old id at line 10234: $rowdivid = $sgqas[0] . $ansInfo[1]; (e.g. Q51878A).
  • So isset($LEM->subQrelInfo[$qid][$rowdivid]) at line 10240 is never true for list questions.

Suggested fix: for types L and ! build the id like line 3858 (look up the aid by qid, scale and code; Q{qid}_Cother for Other), or map it through $LEM->q2subqInfo[$qid]["subqs"].

The Cloud code has the same lines.

Steps To Reproduce
  1. Import the sample survey ls2_cascading_array_filter.lss (manual page Check survey logic - Advanced, Cascading logic).
  2. Open Tools => Survey logic overview (or Check logic for Q05).
  3. Look at the answer rows of Q04 (array_filter Q02) and Q05 (array_filter Q01, array_filter_exclude Q02).

Expected: each answer row shows its filter equation after [VALUE: 0], e.g. ((! is_empty(Q01_A.NAOK)) && (is_empty(Q02_A.NAOK))), as in LimeSurvey 3 to 6, so misspelled filter variables show in red.
Actual: only [VALUE: 0] (screenshot).

TagsNo tags attached.
Attached Files
logic-overview-Q05.png (54,260 bytes)   
logic-overview-Q05.png (54,260 bytes)   
Bug heat2
Complete LimeSurvey version number (& build)7.9.1
I will donate to the project if issue is resolvedNo
Browsernot relevant
Database type & versionnot relevant
Server OS (if known)not relevant
Webserver software & version (if known)not relevant
PHP Versionnot relevant
Git branch / Pull Request URLN/A

Relationships

related to 20593 closedDenisChenu Array filter on single choice don't work anymore 

Users monitoring this issue

There are no users monitoring this issue.

Activities

c_schmitz

c_schmitz

2026-11-08 13:28

administrator   ~87215

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

Related Changesets

LimeSurvey: master a263107c

2026-11-08 12:06

c_schmitz


Details Diff
Fixed issue 20842: Survey logic overview no longer showed the array filter equations of the answer options of list questions
Dev The logic file looked the filters up under the old answer row id Q{qid}{code}, they are stored under Q{qid}_S{aid} since the fix for 20593
Affected Issues
20842
mod - application/helpers/expressions/em_manager_helper.php Diff File
add - tests/data/surveys/limesurvey_survey_208421_list_array_filter_logic_file.lss Diff File
add - tests/unit/helpers/SurveyLogicFileListArrayFilterTest.php Diff File

Issue History

Date Modified Username Field Change
2026-11-08 10:44 c_schmitz New Issue
2026-11-08 10:44 c_schmitz File Added: logic-overview-Q05.png
2026-11-08 11:51 c_schmitz Relationship added related to 20593
2026-11-08 12:19 c_schmitz Assigned To => c_schmitz
2026-11-08 12:19 c_schmitz Status new => resolved
2026-11-08 12:19 c_schmitz Resolution open => fixed
2026-11-08 13:28 c_schmitz Changeset attached => LimeSurvey master a263107c
2026-11-08 13:28 c_schmitz Note Added: 87215
2026-11-08 13:28 guest Bug heat 0 => 2