Пример #1
0
 public function indexAction()
 {
     $objAnswer = new Questionanswer_Model_Answer(array());
     //get user id
     $viewer = Engine_Api::_()->user()->getViewer();
     $this->view->user_id = $viewer->getIdentity();
     $limit = $this->_getParam('max');
     if (!is_numeric($limit) || $limit <= 0) {
         $limit = 5;
     }
     $topFriendAnswers = $objAnswer->getTopFriendAnswers($limit);
     $topFriendAnswers_array = array();
     if (is_array($topFriendAnswers) && count($topFriendAnswers) > 0) {
         foreach ($topFriendAnswers as $topFriendAnswer) {
             $auser = null;
             $table = Engine_Api::_()->getDbtable('users', 'user');
             $select = $table->select()->where('user_id = ?', $topFriendAnswer['user_id']);
             $auser = $table->fetchRow($select);
             $topFriendAnswer['user_photo'] = $this->view->htmlLink($auser, $this->view->itemPhoto($auser, 'thumb.icon', $auser->getTitle(), array('style' => 'float:left')), array('class' => 'topanswers_thumb'));
             $topFriendAnswer['user_link'] = $this->view->htmlLink($auser->getHref(), $auser->getTitle());
             $topFriendAnswers_array[] = $topFriendAnswer;
         }
     } else {
         return $this->setNoRender();
     }
     $this->view->topFriendAnswers = $topFriendAnswers_array;
 }
Пример #2
0
 public function listAction()
 {
     //get object
     $objQuestion = new Questionanswer_Model_Question(array());
     $objQuestionVote = new Questionanswer_Model_Questionvotes(array());
     $objAnswer = new Questionanswer_Model_Answer(array());
     $_user_id = $this->_helper->api()->user()->getViewer()->getIdentity();
     if (!$_user_id) {
         $_user_id = 0;
     }
     //get user id
     $user_id = $_POST['user_id'];
     $_category = $_POST['category'];
     $_page = $_POST['page'];
     $_search_query = "";
     $_search = $_POST['search'];
     $_question_id = $_POST['qid'];
     // SEARCH QUESTION
     if (!empty($_search)) {
         //$_search = htmlentities(stripslashes($_search));
         $_search_arr = explode(" ", $_search);
         $_searchs = array();
         foreach ($_search_arr as $item) {
             if ($item != "") {
                 $_searchs[] = $item;
             }
         }
         $_search_query = implode("%", $_searchs);
         $_search_query = "%" . $_search_query . "%";
         $_search_query = addslashes($_search_query);
     }
     if ($_page <= 0) {
         $_page = 1;
     }
     //get question
     $questions_per_page = 5;
     $total_questions = $objQuestion->countQuestion($_question_id, $user_id, $_category, $_search_query);
     $page_vars = make_page($total_questions, $questions_per_page, $_page);
     $question_array = $objQuestion->getQuestions($_question_id, $user_id, $_category, $_search_query, $questions_per_page, $page_vars[0]);
     if (count($question_array) > 0) {
         $questions_list = array();
         $i = 0;
         foreach ($question_array as $question_info) {
             //get user picture
             $qsuser = null;
             $table = Engine_Api::_()->getDbtable('users', 'user');
             $select = $table->select()->where('user_id = ?', $question_info['user_id']);
             $qsuser = $table->fetchRow($select);
             $question_info['user_photo'] = $this->view->htmlLink($qsuser, $this->view->itemPhoto($qsuser, 'thumb.icon', $qsuser->getTitle(), array('class' => 'qa_photo', 'style' => 'float:left')), array('class' => 'f1'));
             //check user voted
             $is_vote = $objQuestionVote->getQuestionVotesByUserIdAndQuestionId($_user_id, $question_info['question_id']);
             if ($_user_id && $_user_id != $question_info['user_id'] && $is_vote == 0) {
                 $is_vote = "1";
             } else {
                 $is_vote = "0";
             }
             $question_info['is_allowed'] = $is_vote;
             //get answer of question
             $answers_array = $objAnswer->getAnswers($question_info['question_id'], 0, 0);
             $answers_list = array();
             foreach ($answers_array as $answer_info) {
                 $auser = null;
                 $table = Engine_Api::_()->getDbtable('users', 'user');
                 $select = $table->select()->where('user_id = ?', $answer_info['user_id']);
                 $auser = $table->fetchRow($select);
                 $answer_info['user_photo'] = $this->view->htmlLink($auser, $this->view->itemPhoto($auser, 'thumb.icon', $auser->getTitle(), array('class' => 'qa_photo', 'style' => 'float:left')), array('class' => 'f1'));
                 $answers_list[] = $answer_info;
             }
             $questions_list[$i]['answers_list'] = $answers_list;
             $questions_list[$i]['question'] = $question_info;
             $i++;
         }
     }
     if ($total_questions == 0) {
         echo '{"result":"norecord", "message":"No data found!"}';
         die;
     } else {
         $page_info = array("p" => $page_vars[1], "maxpage" => $page_vars[2], "p_start" => $page_vars[0] + 1, "p_end" => $page_vars[0] + $total_questions, "total_records" => $total_questions);
         echo json_encode(array("result" => $total_questions, "page_info" => $page_info, "threads_info" => $questions_list));
         die;
     }
 }
Пример #3
0
 public function editanswerAction()
 {
     $objAnswer = new Questionanswer_Model_Answer(array());
     $id = $this->_getParam('id', null);
     $this->view->form = $form = new Questionanswer_Form_Admin_Manage_EditAnswer();
     $answer = $objAnswer->getAnswerById($id);
     // Posting form
     if ($this->getRequest()->isPost()) {
         if ($form->isValid($this->getRequest()->getPost())) {
             $data_array = $form->getValues();
             $date_updated = date('Y-m-d H:i:s');
             $objAnswer->updateAnswer($id, $data_array['content'], $date_updated);
         }
         $this->_forward('success', 'utility', 'core', array('smoothboxClose' => true, 'parentRefresh' => true, 'format' => 'smoothbox', 'messages' => array('Answer Edited.')));
     } else {
         foreach ($form->getElements() as $name => $element) {
             if (isset($answer[$name])) {
                 $element->setValue($answer[$name]);
             }
         }
     }
 }
Пример #4
0
 public function deleteQuestion($question_id)
 {
     //delete answers
     Questionanswer_Model_Answer::deleteAnswerByQuestion($question_id);
     //delete question
     $table = Engine_Api::_()->getDbTable('questions', 'Questionanswer');
     $where = $table->getAdapter()->quoteInto('question_id = ?', $question_id);
     $table->delete($where);
 }