/** * Проверка полей формы * * @param ModuleTopic_EntityTopic $oTopic * @return bool */ protected function checkTopicFields($oTopic) { $this->Security_ValidateSendForm(); $bOk = true; if (!$oTopic->_Validate()) { $this->Message_AddError($oTopic->_getValidateError(), $this->Lang_Get('error')); $bOk = false; } /** * Выполнение хуков */ $this->Hook_Run('check_link_fields', array('bOk' => &$bOk)); return $bOk; }
/** * Проверка полей формы * * @param ModuleTopic_EntityTopic $oTopic * @return bool */ protected function checkTopicFields($oTopic) { $this->Security_ValidateSendForm(); $bOk = true; if (!$oTopic->_Validate()) { $this->Message_AddError($oTopic->_getValidateError(), $this->Lang_Get('error')); $bOk = false; } /** * проверяем заполнение ответов только если еще никто не голосовал */ if ($oTopic->getQuestionCountVote() == 0) { /** * Проверяем варианты ответов */ $aAnswers = getRequest('answer', array()); foreach ($aAnswers as $key => $sAnswer) { $sAnswer = (string) $sAnswer; if (trim($sAnswer) == '') { unset($aAnswers[$key]); continue; } if (!func_check($sAnswer, 'text', 1, 100)) { $this->Message_AddError($this->Lang_Get('topic_question_create_answers_error'), $this->Lang_Get('error')); $bOk = false; break; } } $_REQUEST['answer'] = $aAnswers; /** * Ограничения на количество вариантов */ if (count($aAnswers) < 2) { $this->Message_AddError($this->Lang_Get('topic_question_create_answers_error_min'), $this->Lang_Get('error')); $bOk = false; } if (count($aAnswers) > 20) { $this->Message_AddError($this->Lang_Get('topic_question_create_answers_error_max'), $this->Lang_Get('error')); $bOk = false; } } /** * Выполнение хуков */ $this->Hook_Run('check_question_fields', array('bOk' => &$bOk)); return $bOk; }