Example #1
0
 public function questionAction()
 {
     //封装header
     $auth = Zend_Auth::getinstance();
     #获取auth用户实例
     $auth->getIdentity();
     #取得当前用户信息
     $email = $auth->getIdentity();
     $quser = new user();
     $qquestion = new question();
     $qanswer = new answer();
     $qcomment = new comment();
     $qask = new ask();
     $likec = new likeC();
     $likea = new likeA();
     $followq = new followQ();
     $user = $quser->getAllbyEmail($email);
     $header = array("UID" => $user[0]["UID"], "image" => $user[0]["image"]);
     $qtag = new tag();
     $QID = $this->getRequest()->getParam("QID");
     $tag = $qtag->getTagbyQID($QID);
     $Q = $qquestion->getAllbyQID($QID);
     $qtitle = $Q["qtitle"];
     $qtime = $qask->getAskTimebyQID($QID);
     $qcontent = $Q["Qcontent"];
     $answernum = $qanswer->getAnswernumbyQID($QID);
     $AIDs = $qanswer->getAIDsbyQID($QID);
     $ans_val[0][0] = 0;
     $comment[0][0] = 0;
     $answer[0][0] = 0;
     $com_val[0][0] = 0;
     for ($i = 0; $i < $answernum; $i++) {
         //第i个回答
         $AID = $AIDs[$i];
         $AUID = $qanswer->getUIDbyAID($AID);
         $auser = $quser->getAllbyUID($AUID);
         $Anickname = $auser["nickname"];
         $anow = $qanswer->getAllbyAID($AID);
         $acontent = $anow["AContent"];
         //print_r($anow);
         //print_r($acontent);
         $unow = $quser->getAllbyUID($AUID);
         $image = $unow["image"];
         $atime = $qanswer->getTimebyAID($AID);
         $ans_val[$i] = $atime;
         $commentnum = $qcomment->getCommentnumbyAID($AID);
         $CIDs = $qcomment->getCIDsbyAID($AID);
         $likeNum = $likea->getLikenumbyAID($AID);
         $comment = array();
         $com_val = array();
         for ($j = 0; $j < $commentnum; $j++) {
             //第j个评论
             $CID = $CIDs[$j];
             $CUID = $qcomment->getUIDbyCID($CID);
             $RUID = $qcomment->getRIDbyCID($CID);
             $ccontent = $qcomment->getContentbyCID($CID);
             $ctime = $qcomment->getTimebyCID($CID);
             $com_val[$j] = $ctime;
             $user = new user();
             $tmp = $user->getAllbyUID($CUID);
             $comment[$j] = array("CID" => $CID, "CUID" => $CUID, "RUID" => $RUID, "nickname" => $tmp['nickname'], "content" => $ccontent, "time" => $ctime);
         }
         if ($commentnum > 0) {
             array_multisort($com_val, SORT_DESC, $comment);
         }
         $answer[$i] = array("AID" => $AID, "AUID" => $AUID, "content" => $acontent, "image" => $image, "time" => $atime, "comment" => $comment, "commentnum" => $commentnum, "time" => $atime, "Anickname" => $Anickname, "likeNum" => $likeNum);
     }
     array_multisort($ans_val, SORT_DESC, $answer);
     $iscollect = false;
     //session_start();
     if (isset($_SESSION['user'])) {
         $loginuser = $_SESSION['user'];
     } else {
         $loginuser = array('UID' => -1);
     }
     $UID = $loginuser['UID'];
     $carr = $followq->getQIDsbyUID($UID);
     for ($i = 0; $i < count($carr); $i++) {
         if ($QID == $carr[$i]) {
             $iscollect = true;
             break;
         }
     }
     $question = array("QID" => $QID, "content" => $qcontent, "tag" => $tag, "answernum" => $answernum, "answer" => $answer, "title" => $qtitle, "time" => $qtime, "iscollect" => $iscollect);
     //HotQlist
     $hquestion = $qanswer->getMostAnsweredQID(1, 6);
     for ($i = 0; $i < count($hquestion); $i++) {
         $qq = $qquestion->getAllbyQID($hquestion[$i]);
         $HotQlist[$i]["QID"] = $qq["QID"];
         $HotQlist[$i]["title"] = $qq["qtitle"];
         $HotQlist[$i]["follownum"] = $followq->getFollownumbyQID($qq["QID"]);
         $HotQlist[$i]["answernum"] = $qanswer->getAnswernumbyQID($qq["QID"]);
     }
     //print_r($question["answer"][1]);
     //print_r($question["answer"][1]["comment"]);
     $this->view->hotQlist = $HotQlist;
     $this->view->question = $question;
     $this->view->header = $header;
     $this->render('qdetail');
 }
Example #2
0
 public function questionAction()
 {
     //封装header
     $auth = Zend_Auth::getinstance();
     #获取当前用户实例
     $UID = $auth->getIdentity();
     #取得当前用户信息
     if ($auth->hasIdentity() == false) {
         $this->render('index');
     }
     $quser = new user();
     $qquestion = new question();
     $qanswer = new answer();
     $qcomment = new comment();
     $user = $quser->getAllbyUID($UID);
     $header = array("UID" => $user["UID"], "image" => $user["image"]);
     $qtag = new tag();
     $tag = $qtag->getAllTags();
     $URL = index / question;
     //
     $QID = $this->getRequest()->getParam("QID");
     $Q = $qquestion->getAllbyQID($QID);
     $content = $Q["Qcontent"];
     $tag = $qtag->getTagbyQID($QID);
     $answernum = $qanswer->getAnswernumbyQID($QID);
     $AIDs = $qanswer->getAIDsbyQID($QID);
     for ($i = 0; $i < $answernum; $i++) {
         //第i个回答
         $AID = $AIDs[$i];
         $AUID = $qanswer->getUIDbyAID($AID);
         $anow = $qanswer->getAllbyAID($AID);
         $content = $anow["Acontent"];
         $unow = $quser->getAllbyUID($AUID);
         $image = $unow["image"];
         $time = $qanswer->getTimebyAID($AID);
         $ans_val[$i] = $time;
         $commentnum = $qcomment->getCommentnumbyAID($AID);
         $CIDs = $qcomment->getCIDsbyAID($AID);
         for ($j = 0; $j < $commentnum; $j++) {
             //第j个评论
             $CID = $CIDs[$j];
             $CUID = $qcomment->getUIDbyCID($CID);
             $RUID = $qcomment->getRIDbyCID($CID);
             $content = $qcomment->getContentbyCID($CID);
             $time = $qcomment->getTimebyCID($CID);
             $com_val[$j] = $time;
             $comment[$j] = array("CID" => $CID, "CUID" => $CUID, "RUID" => $RUID, "content" => $content, "time" => $time);
         }
         array_multisort($com_val, SORT_DESC, $comment);
         $answer[$i] = array("AID" => $AID, "AUID" => $AUID, "content" => $content, "image" => $image, "time" => $time, "commentnum" => $commentnum, "time" => $time);
     }
     array_multisort($ans_val, SORT_DESC, $answer);
     $question = array("QID" => $QID, "content" => $content, "tag" => $tag, "answernum" => $answernum, "answer" => $answer);
 }
Example #3
0
 public function tagAction()
 {
     if ($_GET) {
         $key = $this->getRequest()->getParam('tag', '');
         $P = $this->getRequest()->getParam('P', '1');
     }
     $perpage = 10;
     //question number per page
     $answer = new answer();
     $followQ = new followQ();
     $question = new question();
     $tag = new tag();
     $ask = new ask();
     $QID = $tag->getQIDsbyTag($key);
     $result = array();
     for ($i = 0; $i < count($QID); $i++) {
         $result[$i] = $question->getAllbyQID($QID[$i]);
         $result[$i]['time'] = $ask->getAskTimebyQID($result[$i]['QID']);
         $result[$i]['answernum'] = $answer->getAnswernumbyQID($result[$i]['QID']);
         $result[$i]['follownum'] = $followQ->getFollownumbyQID($result[$i]['QID']);
         $result[$i]['tag'] = $tag->getTagbyQID($result[$i]['QID']);
     }
     $answer = new answer();
     $likeA = new likeA();
     $user = new user();
     for ($i = 0; $i < count($result); $i++) {
         $maxansid = -1;
         $maxsum = -1;
         //the id of most liked answer, the like number of the answer
         $AID = $answer->getAIDsbyQID($QID[$i]);
         for ($j = 0; $j < count($AID); $j++) {
             $likenum = $likeA->getLikenumbyAID($AID[$j]);
             if ($likenum > $maxsum) {
                 $maxansid = $AID[$j];
                 $maxsum = $likenum;
             }
         }
         if ($maxansid != -1) {
             $result[$i]['AAbstract'] = $answer->getAbstractbyAID($maxansid);
             $tmp = $user->getAllbyUID($answer->getUIDbyAID($maxansid));
             $result[$i]['image'] = $tmp['image'];
         }
     }
     $sum = count($result);
     //divide into several pages
     $Pnum = floor($sum / $perpage);
     if ($sum % $perpage > 0) {
         $Pnum++;
     }
     $presult = array();
     $length = min($P * $perpage, $sum);
     for ($i = ($P - 1) * $perpage; $i < $length; $i++) {
         $presult[$i] = $result[$i];
     }
     $this->view->P = $P;
     $this->view->Pnum = $Pnum;
     $this->view->Qresult = $presult;
     $tmp = $tag->getAllTags();
     //warning: bad situation:$tmp[1] is empty,but $tmp[0] && $tmp[2] is exist
     $i = 0;
     foreach ($tmp as $a) {
         $result[$i++] = $a;
     }
     $this->view->tag = $result;
     //HotQlist
     $mans = new answer();
     $mquestion = new question();
     $mfollowq = new followQ();
     $hquestion = $mans->getMostAnsweredQID(1, 6);
     for ($i = 0; $i < count($hquestion); $i++) {
         $qq = $mquestion->getAllbyQID($hquestion[$i]);
         $HotQlist[$i]["QID"] = $qq["QID"];
         $HotQlist[$i]["title"] = $qq["qtitle"];
         $HotQlist[$i]["follownum"] = $mfollowq->getFollownumbyQID($qq["QID"]);
         $HotQlist[$i]["answernum"] = $mans->getAnswernumbyQID($qq["QID"]);
     }
     $lefter = array("hotQlist" => $HotQlist);
     $this->view->lefter = $lefter;
     $this->view->url = "/search/tag";
     $this->render('tagresult');
     //
 }
Example #4
0
<?php

require_once 'answer.php';
require_once 'question.php';
require_once 'comment.php';
$ins = new answer();
$res = $ins->getAIDsbyQID(2);
print_r($res);
$ins = new question();
$res = $ins->getAllbyQID(2);
print_r($res);
// $ins = new question();
// $res =$ins->getAIDsbyQID(1);
// print_r($res);