public function parse($entityBody) { if (substr_compare($entityBody, 'data=%7B', 0)) { $entityDecoded = urldecode($entityBody); } else { $entityDecoded = $entityBody; //already decoded } //string starts with "data=" $entity2 = substr($entityDecoded, 5); $this->jsonDecoded = json_decode($entity2, true); $this->form = new \Stratum\Model\Form(); $this->form->parse_mapping(); $formResult = new \Stratum\Model\FormResult(); $formResult->init($this->jsonDecoded, $this->form); $questions = $this->mapQuestions($this->jsonDecoded, $this->form); $formResult->set("questions", $questions); //$formResult->dump(); return $formResult; }
public function parse($entityBody) { if (substr_compare($entityBody, 'data=%7B', 0)) { $entityDecoded = urldecode($entityBody); } else { $entityDecoded = $entityBody; //already decoded } //string starts with "data=" $entity2 = substr($entityDecoded, 5); $this->jsonDecoded = json_decode($entity2, true); $this->setupForm(); $formResult = new \Stratum\Model\FormResult(); $formResult->init($this->jsonDecoded, $this->form); $questions = $this->mapQuestions($this->jsonDecoded, $this->form); $formResult->set("questions", $questions); //$formResult->dump(); $responses = Storage::disk('local')->put($formResult->get("respondentId") . "_decoded.json", json_encode($formResult->get("response"), JSON_PRETTY_PRINT)); return $formResult; }