本文整理汇总了PHP中Submission::setFile方法的典型用法代码示例。如果您正苦于以下问题:PHP Submission::setFile方法的具体用法?PHP Submission::setFile怎么用?PHP Submission::setFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Submission
的用法示例。
在下文中一共展示了Submission::setFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: postProcess
//.........这里部分代码省略.........
while ($i < count($parameter)) {
if (@preg_match($test, DefaultNormalizer::normalizeText($choice->getText())) !== false) {
break;
}
$test .= ' ' . $parameter[$i];
$i++;
}
$match = @preg_match($test, DefaultNormalizer::normalizeText($choice->getText()));
if ($match === false) {
$fail = true;
$pro->addMessage('"' . $test . '" ist kein gültiger regulärer Ausdruck.');
} elseif ($match == false) {
$fail = true;
$pro->addMessage('"' . $choice->getText() . '" entspricht nicht dem regulären Ausdruck "' . $test . '".');
}
break;
}
}
}
}
if ($fail) {
// received submission isn't correct
$pro->setStatus(409);
$res[] = $pro;
$this->app->response->setStatus(409);
continue;
}
// save the submission
#region Form to PDF
if ($pro->getSubmission() === null) {
$raw = $pro->getRawSubmission();
$exerciseName = '';
if ($raw !== null) {
$exerciseName = $raw->getExerciseName();
}
$answer = "";
if ($forms->getType() == 0) {
$answer = $formdata->getChoices()[0]->getText();
}
if ($forms->getType() == 1) {
$answer = $this->ChoiceIdToText($formdata->getChoices()[0]->getText(), $forms->getChoices());
}
if ($forms->getType() == 2) {
foreach ($formdata->getChoices() as $chosen) {
$answer .= $this->ChoiceIdToText($chosen->getText(), $forms->getChoices()) . '<br>';
}
}
$Text = "<h1>AUFGABE {$exerciseName}</h1>" . "<hr>";
if ($forms->getTask() !== null && trim($forms->getTask()) != '') {
$Text .= "<p>" . "<h2>Aufgabenstellung:</h2>" . $forms->getTask() . "</p>";
}
$Text .= "<p>" . "<h2>Antwort:</h2>" . $answer . "</p>";
$pdf = Pdf::createPdf($Text);
$pdf->setText($Text);
//echo Pdf::encodePdf($pdf);return;
$result = Request::routeRequest('POST', '/pdf', array(), Pdf::encodePdf($pdf), $this->_pdf, 'pdf');
// checks the correctness of the query
if ($result['status'] >= 200 && $result['status'] <= 299) {
$pdf = File::decodeFile($result['content']);
$pdf->setDisplayName($exerciseName . '.pdf');
$pdf->setTimeStamp($timestamp);
$pdf->setBody(null);
if (is_object($pro->getRawSubmission())) {
$submission = clone $pro->getRawSubmission();
} else {
$submission = new Submission();
}
$submission->setFile($pdf);
$submission->setExerciseId($eid);
$pro->setSubmission($submission);
} else {
$pro->setStatus(409);
$res[] = $pro;
$this->app->response->setStatus(409);
continue;
}
}
#endregion
$rawSubmission = $pro->getRawSubmission();
$rawFile = $rawSubmission->getFile();
$rawFile->setBody(Form::encodeForm($formdata), true);
$rawSubmission->setFile($rawFile);
$rawSubmission->setExerciseId($eid);
$pro->setRawSubmission($rawSubmission);
$pro->setStatus(201);
$res[] = $pro;
continue;
}
}
}
$this->app->response->setStatus(409);
$pro->setStatus(409);
$res[] = $pro;
}
if (!$arr && count($res) == 1) {
$this->app->response->setBody(Process::encodeProcess($res[0]));
} else {
$this->app->response->setBody(Process::encodeProcess($res));
}
}