public function addFeedbackAction() { $homeworkId = $this->params()->fromRoute('homework_id'); $userId = $this->params()->fromRoute('user_id'); $form = new FeedbackForm(); $form->get('homework_id')->setValue($homeworkId); $form->get('user_id')->setValue($userId); $request = $this->getRequest(); if ($request->isPost()) { $feedback = new HomeworkAnswers(); $form->setData($request->getPost()); if ($form->isValid()) { $data = $form->getData(); $feedback->exchangeArray($data); $this->getHomeworkAnswersTable()->updateFeedback($data['homework_id'], $data['user_id'], $data['feedback']); return $this->redirect()->toRoute('teacher/homeworks'); } } return array('form' => $form, 'homeworkId' => $homeworkId, 'userId' => $userId); }
public function addHomeworkAnswerAction() { $auth = new AuthenticationService(); $user = $auth->getIdentity(); $homeworkId = $this->params()->fromRoute('id'); $form = new HomeworkAnswerForm(); $form->get('homework_id')->setValue($homeworkId); $form->get('user_id')->setValue($user->id); $request = $this->getRequest(); if ($request->isPost()) { $homeworkAnswer = new HomeworkAnswers(); $post = array_merge_recursive($this->getRequest()->getPost()->toArray(), $this->getRequest()->getFiles()->toArray()); $form->setData($post); if ($form->isValid()) { $adapter = new \Zend\File\Transfer\Adapter\Http(); if (!$adapter->isValid()) { $error = array(); foreach ($adapter->getMessages() as $key => $row) { $error[] = $row; } $form->setMessages(array('fileupload' => $error)); } else { $adapter->setDestination($this->getServiceLocator()->get('Config')['homework_dir']); if ($adapter->receive()) { $event = $this->getEvent(); $request = $event->getRequest(); $router = $event->getRouter(); $uri = $router->getRequestUri(); $baseUrl = sprintf('%s://%s%s', $uri->getScheme(), $uri->getHost(), $request->getBaseUrl()); $adapterFileName = $adapter->getFileName(); $filesName = $baseUrl . '/uploads/homework/' . substr(preg_replace('/\\.\\/public\\/uploads\\/homework/', '', $adapter->getFileName()), 1); $post['url'] = $filesName; $homeworkAnswer->exchangeArray($post); $this->getHomeworkAnswersTable()->saveHomeworkAnswer($homeworkAnswer); return $this->redirect()->toRoute('student/homework', array('id' => $homeworkId)); // tuleks midagi paremat välja mõelda } } } } return array('form' => $form, 'id' => $homeworkId); }