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; }
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; } }
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]); } } } }
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); }