public function getFollowedQuestions() { global $sDB, $sUser; $qF = array(); $res = $sDB->exec("SELECT `questions`.* FROM `notifications`\r\n LEFT JOIN `questions` ON `questions`.questionId = `notifications`.`questionId`\r\n WHERE `notifications`.`userId` = '" . $this->userId . "' ORDER BY `dateAdded` DESC;"); while ($row = mysql_fetch_object($res)) { $q = new Question($row->questionId, $row); if ($q->group() && $q->group()->getPermission($sUser, ACTION_VIEW_GROUP) == PERMISSION_DISALLOWED) { } array_push($qF, $q); } return $qF; }
function drawArgumentList(Question $q, $basePath) { global $sTemplate, $sUser, $sPermissions; $faction = $sUser->getFactionByQuestionId($q->questionId()); $onClickHandler = ""; if (!$sUser->isLoggedIn() && !$q->hasFlag(QUESTION_FLAG_PART_ALL)) { $onClickHandler = "wikiargument.raiseError(\"" . $sTemplate->getString("NOTICE_NEW_ARGUMENT_NOT_LOGGED_IN") . "\"); return false;"; } else { if ($sPermissions->getPermission($sUser, ACTION_NEW_ARGUMENT) == PERMISSION_DISALLOWED || $q->group() && $q->group()->getPermission($sUser, ACTION_NEW_ARGUMENT) == PERMISSION_DISALLOWED) { $onClickHandler = "wikiargument.raiseError(\"" . $sTemplate->getString("NOTICE_NEW_ARGUMENT_NO_PERMISSION") . "\"); return false;"; } } $content = "\n<div class = 'arguments'>\n <div class = 'arguments_pro'>"; foreach ($q->arguments(FILTER_PRO, SORT_SCORE) as $k => $v) { $content .= drawArgument($q, $v, $basePath); } $content .= "\n <a href = '" . $q->urlNewArgument(true) . "' onclick = '" . $onClickHandler . "'>\n <div class = 'button_argument button_new_argument_pro'><span>\n " . $sTemplate->getString("NEW_ARGUMENT") . "</span>\n </div>\n </a>"; $content .= "\n </div>\n <div class = 'arguments_con'>"; foreach ($q->arguments(FILTER_CON, SORT_SCORE) as $k => $v) { $content .= drawArgument($q, $v, $basePath); } $content .= "\n <a href = '" . $q->urlNewArgument(false) . "' onclick = '" . $onClickHandler . "'>\n <div class = 'button_argument button_new_argument_con'><span>\n " . $sTemplate->getString("NEW_ARGUMENT") . "</span>\n </div>\n </a>"; $content .= "\n </div>\n <div class = 'clear'></div>\n</div>\n<div class = 'clear'></div>\n "; echo $content; }
public function handlePacket() { global $sUser, $sDB, $sTemplate, $sLog, $sStatistics; $requestObj = $this->_requestObj; $response = $this->_response; $qId = $requestObj->getInt(array("data", "qId")); $aId = $requestObj->getInt(array("data", "aId")); $vote = $requestObj->getInt(array("data", "vote")); $question = new Question($qId); $argument = false; if ($aId) { $argument = new Argument($aId); } $response->opcode = SMSG_VOTE_RESPONSE; $response->data->result = 0; $response->data->qId = $qId; $response->data->aId = $aId; $response->data->vote = $vote; // check for valid question / argument if ($question->questionId() == 0 || $argument && $argument->argumentId() == -1) { $response->data->error = $sTemplate->getString("NOTICE_VOTE_NOT_LOGGED_IN"); return false; } // user login state if (!$sUser->isLoggedIn() && ($question->type() != QUESTION_TYPE_UNLISTED || !($question->flags() & QUESTION_FLAG_PART_ALL))) { $response->data->error = $sTemplate->getString("NOTICE_VOTE_NOT_LOGGED_IN"); return false; } // group validation if ($question->group() && $question->group()->getPermission($sUser, ACTION_VOTE) == PERMISSION_DISALLOWED) { $response->data->error = $sTemplate->getString("NOTICE_VOTE_NOT_LOGGED_IN"); return false; } // faction checkin if ($argument) { $faction = $sUser->getFactionByQuestionId($qId); if ($faction != $argument->type()) { $response->data->error = $sTemplate->getString("NOTICE_VOTE_NOT_CHECKED_IN"); } } $sStatistics->vote($question, $aId, $vote); $response->data->result = 1; // get new question score if ($aId == 0) { $question = new Question($qId); $response->data->score = $question->score(); } else { $argument = new Argument($aId); $response->data->score = $argument->score(); } }