本文整理汇总了PHP中Process::setTarget方法的典型用法代码示例。如果您正苦于以下问题:PHP Process::setTarget方法的具体用法?PHP Process::setTarget怎么用?PHP Process::setTarget使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Process
的用法示例。
在下文中一共展示了Process::setTarget方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: postSubmission
//.........这里部分代码省略.........
$found = true;
break;
}
}
if (!$found && count($exerciseFileTypes) > 0) {
$submission->addMessage("falscher Dateityp \nGefunden: " . $mimeType . " ." . $foundExtension . "\nErlaubt: " . implode(',', $types));
$res[] = $submission;
$this->app->response->setStatus(409);
unlink($filePath);
continue;
}
unlink($filePath);
}
} else {
if ($result2['status'] != 404) {
$submission->addMessage("Interner Fehler");
$res[] = $submission;
$this->app->response->setStatus(409);
continue;
}
}
// process submission
if ($processors !== null) {
if (!is_array($processors)) {
$processors = array($processors);
}
foreach ($processors as $pro) {
$component = $pro->getTarget();
if ($process->getExercise() === null) {
$process->setExercise($pro->getExercise());
}
$process->setParameter($pro->getParameter());
$process->setAttachment($pro->getAttachment());
$process->setTarget($pro->getTarget());
$process->setWorkFiles($pro->getWorkFiles());
//echo Process::encodeProcess($process)."_______";// return;
$result = Request::post($component->getAddress() . '/process', array(), Process::encodeProcess($process));
//echo $result['content'].'_______';
if ($result['status'] >= 200 && $result['status'] <= 299) {
$process = Process::decodeProcess($result['content']);
} else {
$fail = true;
$submission->addMessage("Beim Verarbeiten der Einsendung ist ein Fehler aufgetreten");
if (isset($result['content'])) {
$content = Process::decodeProcess($result['content']);
$submission->setStatus($content->getStatus());
$submission->addMessages($content->getMessages());
}
break;
}
}
}
if ($fail) {
if (isset($submission)) {
$submission->setFile(null);
}
$res[] = $submission;
$this->app->response->setStatus(409);
continue;
}
// upload submission
$uploadSubmission = $process->getSubmission();
if ($uploadSubmission === null) {
$uploadSubmission = $process->getRawSubmission();
if ($uploadSubmission->getFile() != null) {
$file = $uploadSubmission->getFile();
示例2: addCourse
/**
* Adds the component to a course
*
* Called when this component receives an HTTP POST request to
* /course(/).
*/
public function addCourse()
{
Logger::Log('starts POST AddCourse', LogLevel::DEBUG);
$header = $this->app->request->headers->all();
$body = $this->app->request->getBody();
$courses = Course::decodeCourse($body);
$processes = array();
if (!is_array($courses)) {
$courses = array($courses);
}
foreach ($courses as $course) {
$process = new Process();
$exercise = new Exercise();
$exercise->setCourseId($course->getId());
$process->setExercise($exercise);
$component = new Component();
$component->setId($this->_conf->getId());
$process->setTarget($component);
$processes[] = $process;
}
foreach ($this->_postProcess as $_link) {
$result = Request::routeRequest('POST', '/process', $header, Process::encodeProcess($processes), $_link, 'process');
// checks the correctness of the query
if ($result['status'] >= 200 && $result['status'] <= 299) {
$this->app->response->setStatus(201);
if (isset($result['headers']['Content-Type'])) {
$this->app->response->headers->set('Content-Type', $result['headers']['Content-Type']);
}
} else {
/* if ($courses->getId()!==null){
$this->deleteCourse($courses->getId());
}*/
Logger::Log('POST AddCourse failed', LogLevel::ERROR);
$this->app->response->setStatus(isset($result['status']) ? $result['status'] : 409);
$this->app->response->setBody(Course::encodeCourse($courses));
$this->app->stop();
}
}
$this->app->response->setBody(Course::encodeCourse($courses));
}
示例3: addCourse
/**
* Adds the component to a course
*
* Called when this component receives an HTTP POST request to
* /course(/).
*/
public function addCourse()
{
Logger::Log('starts POST AddCourse', LogLevel::DEBUG);
$body = $this->app->request->getBody();
// die Daten der Veranstaltung kommen über den Aufrufkörper rein
$courses = Course::decodeCourse($body);
$processes = array();
if (!is_array($courses)) {
$courses = array($courses);
}
// wenn die Komponente direkt in mehrere Veranstaltungen eingetragen werden soll,
// wird das Eintragen für alle vorgenommen
foreach ($courses as $course) {
// ab hier wird der neue Eintrag zusammengestellt
$process = new Process();
$exercise = new Exercise();
$exercise->setCourseId($course->getId());
$process->setExercise($exercise);
$component = new Component();
$component->setId($this->_conf->getId());
$process->setTarget($component);
// und nun wird gesammelt
$processes[] = $process;
}
// die erstellten Einträge können nun an den Zuständigen geschickt werden
foreach ($this->_postProcess as $_link) {
$result = Request::routeRequest('POST', '/process', array(), Process::encodeProcess($processes), $_link, 'process');
// checks the correctness of the query
if ($result['status'] >= 200 && $result['status'] <= 299) {
// wenn der Erstellvorgang erfolgreich war, können wir dies melden
$this->app->response->setStatus(201);
if (isset($result['headers']['Content-Type'])) {
$this->app->response->headers->set('Content-Type', $result['headers']['Content-Type']);
}
} else {
// der Eintrag konnte nicht erstellt werden
/* if ($courses->getId()!==null){
$this->deleteCourse($courses->getId());
}*/
Logger::Log('POST AddCourse failed', LogLevel::ERROR);
// gibt den Status der "Erstellanfrage" zurück oder eine 409 und zusätzlich
// das eingehende Veranstaltungsobjekt
$this->app->response->setStatus(isset($result['status']) ? $result['status'] : 409);
$this->app->response->setBody(Course::encodeCourse($courses));
$this->app->stop();
}
}
// die bearbeiteten Veranstaltungen können nun zur Ausgabe hinzugefügt werden
$this->app->response->setBody(Course::encodeCourse($courses));
}