Skip to content

Commit

Permalink
Fixed issue #08396: Sub Question code TIME with Save timings survey :…
Browse files Browse the repository at this point in the history
… unable to export survey

Dev: adding table prefix for all field
Dev: keep PHP<5.3 compatibility
  • Loading branch information
Shnoulle committed Nov 20, 2013
1 parent c21e236 commit 06344fd
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions application/helpers/admin/exportresults_helper.php
Expand Up @@ -296,22 +296,28 @@ public function loadSurveyResults(SurveyObj $survey, $iLimit, $iOffset, $iMaximu

// Get info about the survey
$aSelectFields=Yii::app()->db->schema->getTable('{{survey_' . $survey->id . '}}')->getColumnNames();

// Allways add Table prefix : see bug #08396 . Don't use array_walk for PHP < 5.3 compatibility
foreach ($aSelectFields as &$sField)
$sField ="{{survey_{$survey->id}}}.".$sField;
$oRecordSet = Yii::app()->db->createCommand()->from('{{survey_' . $survey->id . '}}');
if (tableExists('tokens_'.$survey->id) && array_key_exists ('token',Survey_dynamic::model($survey->id)->attributes) && hasSurveyPermission($survey->id,'tokens','read'))
{
$oRecordSet->leftJoin('{{tokens_' . $survey->id . '}} tokentable','tokentable.token={{survey_' . $survey->id . '}}.token');
$aTokenFields=Yii::app()->db->schema->getTable('{{tokens_' . $survey->id . '}}')->getColumnNames();
$aSelectFields=array_merge($aSelectFields,array_diff($aTokenFields, array('token')));
$aSelectFields=array_diff($aSelectFields, array('token'));
$aSelectFields[]='{{survey_' . $survey->id . '}}.token';
foreach ($aTokenFields as &$sField)
$sField ="token.".$sField;
$aSelectFields=array_merge($aSelectFields,array_diff($aTokenFields, array('token.token')));
//$aSelectFields=array_diff($aSelectFields, array('{{survey_{$survey->id}}}.token'));
//$aSelectFields[]='{{survey_' . $survey->id . '}}.token';
}
if ($survey->info['savetimings']=="Y") {
$oRecordSet->leftJoin("{{survey_" . $survey->id . "_timings}} survey_timings", "{{survey_" . $survey->id . "}}.id = survey_timings.id");
$aTimingFields=Yii::app()->db->schema->getTable("{{survey_" . $survey->id . "_timings}}")->getColumnNames();
$aSelectFields=array_merge($aSelectFields,array_diff($aTimingFields, array('id')));
$aSelectFields=array_diff($aSelectFields, array('id'));
$aSelectFields[]='{{survey_' . $survey->id . '}}.id';
foreach ($aTimingFields as &$sField)
$sField ="survey_timings.".$sField;
$aSelectFields=array_merge($aSelectFields,array_diff($aTimingFields, array('survey_timings.id')));
//$aSelectFields=array_diff($aSelectFields, array('{{survey_{$survey->id}}}.id'));
//$aSelectFields[]='{{survey_' . $survey->id . '}}.id';
}

if ($sFilter!='')
Expand Down

0 comments on commit 06344fd

Please sign in to comment.