public function __construct(EQUESTIONS_BOL_Question $question, $optionTotal, array $listLimit = null, $uniqId = null) { parent::__construct(); $this->uniqId = empty($uniqId) ? uniqid('questionsAnswers_') : $uniqId; $this->question = $question; $this->limit = $listLimit; $this->startStamp = time(); $this->service = EQUESTIONS_BOL_Service::getInstance(); $this->userId = OW::getUser()->getId(); $this->attachment = $this->question->getAttachment(); $this->editMode = $this->service->isCurrentUserCanEdit($question); $settings = json_decode($this->question->settings, true); $this->poll = !$settings['allowAddOprions']; $this->optionTotal = $optionTotal; $this->viewMore = $this->optionTotal - (empty($this->limit[1]) ? $this->optionTotal : $this->limit[1]); $this->viewMore = $this->viewMore > 0 ? $this->viewMore : 0; $jsConstructor = $this->poll ? 'QUESTIONS_PollAnswers' : 'QUESTIONS_QuestionAnswers'; $js = UTIL_JsGenerator::newInstance()->newObject(array('QUESTIONS_AnswerListCollection', $this->uniqId), $jsConstructor); OW::getDocument()->addOnloadScript($js); $this->questionUrl = OW::getRouter()->urlForRoute('equestions-question', array('qid' => $this->question->id)); }