Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. /**
  2. * Implementation of hook_menu().
  3. */
  4.  
  5. function survey_json_exporter_menu() {
  6. $items['survey_json_exporter'] = array(
  7. 'access callback' => true, // available to all
  8. 'page callback' => 'survey_json_exporter',
  9. 'delivery callback' => 'drupal_json_output'
  10. );
  11.  
  12. return $items;
  13. }
  14.  
  15. function survey_json_exporter($form, &$fstate)
  16. {
  17. module_load_include('inc', 'webform', 'includes/webform.submissions');
  18.  
  19. $returningJSON = new stdClass();
  20.  
  21. $Surveys = [];
  22.  
  23. //TODO - > Loop All Surveys.
  24. $submissions = webform_get_submissions(70535);
  25.  
  26. // Load components for each node.
  27. $surveycomponents = db_select('webform_component')
  28. ->fields('webform_component')
  29. ->condition('nid', 70535)
  30. ->orderBy('weight')
  31. ->orderBy('name')
  32. ->execute()
  33. ->fetchAllAssoc('cid', PDO::FETCH_ASSOC);
  34.  
  35. foreach ($submissions as &$submission) {
  36. $submissionObj = new stdClass();
  37. $submissionObj->SubmissionID = $submission->sid;
  38. $submissionObj->SerialNumber = $submission->serial;
  39. $submissionObj->DateSubmitted = $submission->submitted;
  40.  
  41. $SumbissionQA = [];
  42. while ($surveyanswer = current($submission->data)) {
  43. $componentName = $surveycomponents[key($submission->data)]['name'];
  44. $submissionSurveyAnswers = new stdClass();
  45. $submissionSurveyAnswers->Question = $componentName;
  46. $submissionSurveyAnswers->Answer = $surveyanswer[0];
  47. $SumbissionQA[] = $submissionSurveyAnswers;
  48. next($submission->data);
  49. }
  50.  
  51. $submissionObj->SubmissionData =$SumbissionQA;
  52. $Surveys[]=$submissionObj;
  53. }
  54.  
  55. $returningJSON->Surveys = $Surveys;
  56.  
  57. return drupal_json_output($returningJSON);
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement