function getAnswersInCsvFormat($signupGadget) { $answersByUsersArray = $signupGadget->getAllAnswersByUsers(); $questions = $signupGadget->getAllQuestions(); // Print questions print "Sija;"; foreach ($questions as $question) { print $question->getQuestion() . ";"; } print "\n"; foreach ($answersByUsersArray as $userId => $answersByUser) { // Unconfirmed? if ($answersByUser == null) { print "-\r\n"; // Adds windows style line delimeter continue; } $answerRow = ""; $answerRow .= $answersByUser->getPosition() . ";"; // Print answers foreach ($questions as $questionId => $question) { $answerObject = $answersByUser->getAnswerToQuestion($questionId); $answerString = ""; if ($answerObject != null) { if ($question->getType() == "checkbox") { $answerString = CommonTools::arrayToReadableFormat($answerObject->getAnswer()); } else { $answerString = $answerObject->getAnswer(); } } $answerString = html_entity_decode($answerString, ENT_QUOTES); // Remove new line characters $answerString = stripslashes(str_replace("\r\n", "", $answerString)); // Windows $answerString = stripslashes(str_replace("\n", "", $answerString)); // Unix // Because semicolon is the line delimeter, rudely replace all the semicolons to commas $answerString = stripslashes(str_replace(";", ",", $answerString)); $answerRow .= $answerString . ";"; } // Remove the last semicolon $answerRow = substr($answerRow, 0, -1); print "{$answerRow}\r\n"; // Adds windows style line delimeter } }
/** * Converts array which includes Ids (positive integers) to sql query * format (which is (1, 2, 3, 5 ,7)) */ function idArrayToSql($array) { $arrayString = "("; $arrayString .= CommonTools::arrayToReadableFormat($array); $arrayString .= ")"; return $arrayString; }
$page->addContent("<form id=\"signup-button-form\" method=\"get\" action=\"" . $configurations->webRoot . "queue/" . $signupid . "\">"); // $page->addContent("<input type=\"hidden\" name=\"signupid\" value=\"$signupid\" />"); $page->addContent("<input id=\"signup-button\" value=\"Ilmoittaudu\" type=\"submit\" />"); $page->addContent("</form>"); $page->addContent("<div id=\"answers-container\">"); $page->addContent(SignupGadgetAnswerFormater::getAnswersInPrintableFormat($signupGadget)); $page->addContent("</div>"); } else { if ($signupGadget->isClosed()) { $page->addContent("<p class=\"signup-close\"><span>Ilmoittautuminen on sulkeutunut</span></p>"); $page->addContent("</div>"); $page->addContent(SignupGadgetAnswerFormater::getAnswersInPrintableFormat($signupGadget)); } else { $page->addContent("<p class=\"signup-not-yet-open\"><span>Ilmoittautuminen avautuu " . $signupGadget->getReadableOpeningTime() . "</span></p>"); $page->addContent("<p class=\"questions-on-signup-info\">Ilmoittautumisessa tullaan kysymään seuraavat kysymykset: "); $page->addContent("<ul>"); foreach ($signupGadget->getAllQuestions() as $question) { $questionString = ""; $questionString .= $question->getQuestion(); $type = $question->getType(); if ($type == "radio" || $type == "checkbox" || $type == "dropdown") { $questionString .= " (" . CommonTools::arrayToReadableFormat($question->getOptions()) . ")"; } $page->addContent("<li>{$questionString}</li>"); } $page->addContent("</ul>"); $page->addContent("</div>"); } } $page->printPage(); /* Functions */