예제 #1
0
 /**
  * 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');
     }
 }
예제 #2
0
 /**
  * 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');
     }
 }
예제 #3
0
 /**
  * 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');
     }
 }