/** * 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; }
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)
/** * 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; }
/** * 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; }
$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; }