Example #1
0
 /**
  * Verifies if a message for a PM is valid.
  *
  * @return boolean True when valid, false when invalid.
  */
 function verify_message()
 {
     $message =& $this->data['message'];
     // No message, return an error.
     if (trim_blank_chrs($message) == '') {
         $this->set_error("missing_message");
         return false;
     }
     return true;
 }
Example #2
0
     if (!preg_match("/^.*(?=.{" . $mybb->settings['minpasswordlength'] . ",})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).*\$/", $password)) {
         echo json_encode($lang->complex_password_fails);
     } else {
         // Return nothing but an OK password if passes regex
         echo json_encode("true");
     }
     exit;
 } else {
     if ($mybb->input['action'] == "username_availability") {
         if (!verify_post_check($mybb->get_input('my_post_key'), true)) {
             xmlhttp_error($lang->invalid_post_code);
         }
         require_once MYBB_ROOT . "inc/functions_user.php";
         $username = $mybb->get_input('username');
         // Fix bad characters
         $username = trim_blank_chrs($username);
         $username = str_replace(array(unichr(160), unichr(173), unichr(0xca), dec_to_utf8(8238), dec_to_utf8(8237), dec_to_utf8(8203)), array(" ", "-", "", "", "", ""), $username);
         // Remove multiple spaces from the username
         $username = preg_replace("#\\s{2,}#", " ", $username);
         header("Content-type: application/json; charset={$charset}");
         if (empty($username)) {
             echo json_encode($lang->banned_characters_username);
             exit;
         }
         // Check if the username belongs to the list of banned usernames.
         $banned_username = is_banned_username($username, true);
         if ($banned_username) {
             echo json_encode($lang->banned_username);
             exit;
         }
         // Check for certain characters in username (<, >, &, and slashes)
Example #3
0
 /**
  * Verifies if an email address is valid or not.
  *
  * @return boolean True when valid, false when invalid.
  */
 function verify_email()
 {
     global $mybb;
     $user =& $this->data;
     // Check if an email address has actually been entered.
     if (trim_blank_chrs($user['email']) == '') {
         $this->set_error('missing_email');
         return false;
     }
     // Check if this is a proper email address.
     if (!validate_email_format($user['email'])) {
         $this->set_error('invalid_email_format');
         return false;
     }
     // Check banned emails
     if (is_banned_email($user['email'], true)) {
         $this->set_error('banned_email');
         return false;
     }
     // Check signed up emails
     // Ignore the ACP because the Merge System sometimes produces users with duplicate email addresses (Not A Bug)
     if ($mybb->settings['allowmultipleemails'] == 0 && !defined("IN_ADMINCP")) {
         $uid = 0;
         if (isset($user['uid'])) {
             $uid = $user['uid'];
         }
         if (email_already_in_use($user['email'], $uid)) {
             $this->set_error('email_already_in_use');
             return false;
         }
     }
     // If we have an "email2", verify it matches the existing email
     if (isset($user['email2']) && $user['email'] != $user['email2']) {
         $this->set_error("emails_dont_match");
         return false;
     }
     return true;
 }
Example #4
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;
 }
Example #5
0
            $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_1_second, $mybb->usergroup['emailfloodtime']);
        } elseif ($remaining_time < 60) {
            $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_seconds, $mybb->usergroup['emailfloodtime'], $remaining_time);
        } elseif ($remaining_time > 60 && $remaining_time < 120) {
            $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_1_minute, $mybb->usergroup['emailfloodtime']);
        } else {
            $remaining_time_minutes = ceil($remaining_time / 60);
            $lang->error_emailflooding = $lang->sprintf($lang->error_emailflooding_minutes, $mybb->usergroup['emailfloodtime'], $remaining_time_minutes);
        }
        error($lang->error_emailflooding);
    }
}
$errors = array();
$mybb->input['message'] = trim_blank_chrs($mybb->get_input('message'));
$mybb->input['subject'] = trim_blank_chrs($mybb->get_input('subject'));
$mybb->input['email'] = trim_blank_chrs($mybb->get_input('email'));
if ($mybb->request_method == "post") {
    // Verify incoming POST request
    verify_post_check($mybb->get_input('my_post_key'));
    $plugins->run_hooks('contact_do_start');
    // Validate input
    if (empty($mybb->input['subject'])) {
        $errors[] = $lang->contact_no_subject;
    }
    if (strlen($mybb->input['subject']) > $mybb->settings['contact_maxsubjectlength'] && $mybb->settings['contact_maxsubjectlength'] > 0) {
        $errors[] = $lang->sprintf($lang->subject_too_long, $mybb->settings['contact_maxsubjectlength'], strlen($mybb->input['subject']));
    }
    if (empty($mybb->input['message'])) {
        $errors[] = $lang->contact_no_message;
    }
    if (strlen($mybb->input['message']) > $mybb->settings['contact_maxmessagelength'] && $mybb->settings['contact_maxmessagelength'] > 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']);
     $post['message'] = utf8_handle_4byte_string($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 (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;
 }