Exemplo n.º 1
0
 /**
  * Проверка полей формы
  *
  * @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;
 }