/** * Add an answer. * * @return void */ public function addAction($pagekey = null, $redirect = null) { $undourl = '<p><a href="' . $this->di->get('url')->create($redirect) . '">Ångra</p>'; $formundo = new \Anax\HTMLForm\CFormCommentUndo($redirect); $formundo->setDI($this->di); $formundo->check(); $undourl = $formundo->getHTML(); $url = $this->url->create('users/login'); if (isset($_SESSION['user'])) { $answerform = new \Anax\HTMLForm\CFormAnswerAdd($pagekey, $redirect); $answerform->setDI($this->di); $answerform->check(); $this->di->views->add('answer/addform', ['title' => "Skriv ett svar", 'content' => $answerform->getHTML() . $undourl], 'main'); } else { $this->di->views->add('default/link', ['anchor' => "Logga in för att svara", 'url' => $url], 'main'); } }
/** * Add an answer. * * @return void */ public function addAction($pagekey = null, $redirect = null) { $redirect = 'question/view/' . $pagekey; $undourl = '<p><a href="' . $this->di->get('url')->create($redirect) . '">Cancel</p>'; $formundo = new \Anax\HTMLForm\CFormCommentUndo($redirect); $formundo->setDI($this->di); $formundo->check(); $undourl = $formundo->getHTML(); $url = $this->url->create('users/login'); $baseurl = $this->url->create(''); if (isset($_SESSION['user'])) { $answerform = new \Anax\HTMLForm\CFormAnswerAdd($pagekey, $redirect, $baseurl); $answerform->setDI($this->di); $answerform->check(); $this->theme->setTitle("Write an answer"); $this->di->views->add('answer/addform', ['title' => "Write an answer", 'content' => $answerform->getHTML() . $undourl], 'main'); } else { $this->di->views->add('default/link', ['anchor' => "Sign in to answer", 'url' => $url], 'main'); } }
/** * View all answers * */ public function viewAction($idQuestion = null, $redirect = '', $authorId) { $this->initialize(); // get query string $sortBy = 'created'; if ($this->request->getGet('sort-by') && $this->request->getGet('sort-by') == ('score' || 'created')) { $sortBy = $this->request->getGet('sort-by'); } $answers = $this->answers->findAllAndSort($idQuestion, $sortBy, 'project_'); #$answers = $this->answers->findAll($idQuestion); foreach ($answers as $answer) { // Set if answer is the one in the get $user = $this->users->getUserById($answer->getProperties()['userId']); $isAuthenticated = $user[0]->isAuthenticated(); //$username = $user[0]->getProperties()['username']; //$image = $user[0]->getProperties()['image']; if ($this->di->request->getGet('edit-answer') && $answer->getProperties()['id'] == $this->di->request->getGet('edit-answer')) { $answerId = $this->di->request->getGet('edit-answer'); $url = current(explode('?', $this->di->request->getCurrentUrl())); $redirect = $this->url->create($url); $value = $answer->getProperties()['content']; $updateForm = new \Anax\HTMLForm\CFormAnswerEdit($answerId, $value, $redirect); $updateForm->setDI($this->di); $status = $updateForm->check(); $this->dispatcher->forward(['controller' => 'answers', 'action' => 'edit', 'params' => [$answer->getProperties()['id'], $redirect]]); } else { $score = $this->scores; $this->views->add('answers/answer', ['answer' => $answer, 'user' => $user, 'idQuestion' => $idQuestion, 'user' => $user, 'authorId' => $authorId, 'score' => $score], 'main'); } $this->dispatcher->forward(['controller' => 'comments', 'action' => 'view', 'params' => [$answer->getProperties()['id'], 'answer', $redirect]]); } if ($this->users->isAuthenticated()) { $form = new \Anax\HTMLForm\CFormAnswerAdd($idQuestion, $redirect); $form->setDI($this->di); $status = $form->check(); $this->views->add('answers/form', ['content' => $form->getHTML()], 'main'); } }