예제 #1
0
 /**
  * Verifies a post message.
  *
  * @param string The message content.
  */
 function verify_message()
 {
     global $mybb;
     $post =& $this->data;
     $post['message'] = trim_blank_chrs($post['message']);
     // Do we even have a message at all?
     if (my_strlen($post['message']) == 0) {
         $this->set_error("missing_message");
         return false;
     } else {
         if (strlen($post['message']) > $mybb->settings['maxmessagelength'] && $mybb->settings['maxmessagelength'] > 0 && !is_moderator($post['fid'], "", $post['uid'])) {
             $this->set_error("message_too_long", array($mybb->settings['maxmessagelength'], strlen($post['message'])));
             return false;
         } else {
             if (!isset($post['fid'])) {
                 $post['fid'] = 0;
             }
             if (!$mybb->settings['mycodemessagelength']) {
                 // Check to see of the text is full of MyCode
                 require_once MYBB_ROOT . "inc/class_parser.php";
                 $parser = new postParser();
                 $message = $parser->text_parse_message($post['message']);
                 if (my_strlen($message) < $mybb->settings['minmessagelength'] && $mybb->settings['minmessagelength'] > 0 && !is_moderator($post['fid'], "", $post['uid'])) {
                     $this->set_error("message_too_short", array($mybb->settings['minmessagelength']));
                     return false;
                 }
             } else {
                 if (my_strlen($post['message']) < $mybb->settings['minmessagelength'] && $mybb->settings['minmessagelength'] > 0 && !is_moderator($post['fid'], "", $post['uid'])) {
                     $this->set_error("message_too_short", array($mybb->settings['minmessagelength']));
                     return false;
                 }
             }
         }
     }
     return true;
 }
예제 #2
0
     $parser_options['allow_imgcode'] = 0;
 }
 $parsed_sig = $parser->parse_message($mybb->get_input('signature'), $parser_options);
 if ($mybb->settings['sigimgcode'] == 0 && $mybb->settings['sigsmilies'] != 1 && substr_count($parsed_sig, "<img") > 0 || ($mybb->settings['sigimgcode'] == 1 || $mybb->settings['sigsmilies'] == 1) && substr_count($parsed_sig, "<img") > $mybb->settings['maxsigimages']) {
     if ($mybb->settings['sigimgcode'] == 1) {
         $imgsallowed = $mybb->settings['maxsigimages'];
     } else {
         $imgsallowed = 0;
     }
     $lang->too_many_sig_images2 = $lang->sprintf($lang->too_many_sig_images2, $imgsallowed);
     $error = inline_error($lang->too_many_sig_images . " " . $lang->too_many_sig_images2);
     $mybb->input['preview'] = 1;
 } else {
     if ($mybb->settings['siglength'] > 0) {
         if ($mybb->settings['sigcountmycode'] == 0) {
             $parsed_sig = $parser->text_parse_message($mybb->get_input('signature'));
         } else {
             $parsed_sig = $mybb->get_input('signature');
         }
         $parsed_sig = preg_replace("#\\s#", "", $parsed_sig);
         $sig_length = my_strlen($parsed_sig);
         if ($sig_length > $mybb->settings['siglength']) {
             $lang->sig_too_long = $lang->sprintf($lang->sig_too_long, $mybb->settings['siglength']);
             if ($sig_length - $mybb->settings['siglength'] > 1) {
                 $lang->sig_too_long .= $lang->sprintf($lang->sig_remove_chars_plural, $sig_length - $mybb->settings['siglength']);
             } else {
                 $lang->sig_too_long .= $lang->sig_remove_chars_singular;
             }
             $error = inline_error($lang->sig_too_long);
         }
     }
예제 #3
0
파일: usercp.php 프로젝트: GeorgeLVP/mybb
if ($mybb->input['action'] == "do_editsig" && $mybb->request_method == "post") {
    $parser_options = array('allow_html' => $mybb->settings['sightml'], 'filter_badwords' => 1, 'allow_mycode' => $mybb->settings['sigmycode'], 'allow_smilies' => $mybb->settings['sigsmilies'], 'allow_imgcode' => $mybb->settings['sigimgcode'], "filter_badwords" => 1);
    $parsed_sig = $parser->parse_message($mybb->input['signature'], $parser_options);
    if ($mybb->settings['sigimgcode'] == 0 && $mybb->settings['sigsmilies'] != 1 && substr_count($parsed_sig, "<img") > 0 || ($mybb->settings['sigimgcode'] == 1 || $mybb->settings['sigsmilies'] == 1) && substr_count($parsed_sig, "<img") > $mybb->settings['maxsigimages']) {
        if ($mybb->settings['sigimgcode'] == 1) {
            $imgsallowed = $mybb->settings['maxsigimages'];
        } else {
            $imgsallowed = 0;
        }
        $lang->too_many_sig_images2 = $lang->sprintf($lang->too_many_sig_images2, $imgsallowed);
        $error = inline_error($lang->too_many_sig_images . " " . $lang->too_many_sig_images2);
        $mybb->input['preview'] = 1;
    } else {
        if ($mybb->settings['siglength'] > 0) {
            if ($mybb->settings['sigcountmycode'] == 0) {
                $parsed_sig = $parser->text_parse_message($mybb->input['signature']);
            } else {
                $parsed_sig = $mybb->input['signature'];
            }
            $parsed_sig = preg_replace("#\\s#", "", $parsed_sig);
            $sig_length = my_strlen($parsed_sig);
            if ($sig_length > $mybb->settings['siglength']) {
                $lang->sig_too_long = $lang->sprintf($lang->sig_too_long, $mybb->settings['siglength']);
                if ($sig_length - $mybb->settings['siglength'] > 1) {
                    $lang->sig_too_long .= $lang->sprintf($lang->sig_remove_chars_plural, $sig_length - $mybb->settings['siglength']);
                } else {
                    $lang->sig_too_long .= $lang->sig_remove_chars_singular;
                }
                $error = inline_error($lang->sig_too_long);
            }
        }