function login_func($xmlrpc_params) { global $db, $lang, $theme, $plugins, $mybb, $session, $settings, $cache, $time, $mybbgroups, $mobiquo_config, $user, $register; $lang->load("member"); $input = Tapatalk_Input::filterXmlInput(array('username' => Tapatalk_Input::STRING, 'password' => Tapatalk_Input::STRING, 'anonymous' => Tapatalk_Input::INT, 'push' => Tapatalk_Input::STRING), $xmlrpc_params); $logins = login_attempt_check(1); $login_text = ''; if (!username_exists($input['username'])) { my_setcookie('loginattempts', $logins + 1); $status = 2; $response = new xmlrpcval(array('result' => new xmlrpcval(0, 'boolean'), 'result_text' => new xmlrpcval(strip_tags($lang->error_invalidpworusername), 'base64'), 'status' => new xmlrpcval($status, 'string')), 'struct'); return new xmlrpcresp($response); } $query = $db->simple_select("users", "loginattempts", "LOWER(username)='" . my_strtolower($input['username_esc']) . "'", array('limit' => 1)); $loginattempts = $db->fetch_field($query, "loginattempts"); $errors = array(); $user = validate_password_from_username($input['username'], $input['password']); $correct = false; if (!$user['uid']) { if (validate_email_format($input['username'])) { $mybb->settings['username_method'] = 1; $user = validate_password_from_username($input['username'], $input['password']); } if (!$user['uid']) { my_setcookie('loginattempts', $logins + 1); $db->update_query("users", array('loginattempts' => 'loginattempts+1'), "LOWER(username) = '" . my_strtolower($input['username_esc']) . "'", 1, true); if ($mybb->settings['failedlogincount'] != 0 && $mybb->settings['failedlogintext'] == 1) { $login_text = $lang->sprintf($lang->failed_login_again, $mybb->settings['failedlogincount'] - $logins); } $errors[] = $lang->error_invalidpworusername . $login_text; } else { $correct = true; } } else { $correct = true; } if (!empty($errors)) { return xmlrespfalse(implode(" :: ", $errors)); } else { if ($correct) { $register = 0; return tt_login_success(); } } return xmlrespfalse("Invalid login details"); }
} } $query = $db->simple_select("users", "uid, username, email, hideemail", "uid='" . $mybb->get_input('uid', MyBB::INPUT_INT) . "'"); $to_user = $db->fetch_array($query); if (!$to_user['username']) { error($lang->error_invalidusername); } if ($to_user['hideemail'] != 0) { error($lang->error_hideemail); } $errors = array(); if ($mybb->user['uid']) { $mybb->input['fromemail'] = $mybb->user['email']; $mybb->input['fromname'] = $mybb->user['username']; } if (!validate_email_format($mybb->input['fromemail'])) { $errors[] = $lang->error_invalidfromemail; } if (empty($mybb->input['fromname'])) { $errors[] = $lang->error_noname; } if (empty($mybb->input['subject'])) { $errors[] = $lang->error_no_email_subject; } if (empty($mybb->input['message'])) { $errors[] = $lang->error_no_email_message; } if ($mybb->settings['captchaimage'] && $mybb->user['uid'] == 0) { require_once MYBB_ROOT . 'inc/class_captcha.php'; $captcha = new captcha(); if ($captcha->validate_captcha() == false) {
/** * 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; }
if ($mybb->usergroup['canuploadavatars'] == 0) { error_no_permission(); } $avatar = upload_avatar(); if ($avatar['error']) { $avatar_error = $avatar['error']; } else { if ($avatar['width'] > 0 && $avatar['height'] > 0) { $avatar_dimensions = $avatar['width'] . "|" . $avatar['height']; } $updated_avatar = array("avatar" => $avatar['avatar'] . '?dateline=' . TIME_NOW, "avatardimensions" => $avatar_dimensions, "avatartype" => "upload"); $db->update_query("users", $updated_avatar, "uid='" . $mybb->user['uid'] . "'"); } } else { $mybb->input['avatarurl'] = trim($mybb->get_input('avatarurl')); if (validate_email_format($mybb->input['avatarurl']) != false) { // Gravatar $mybb->input['avatarurl'] = my_strtolower($mybb->input['avatarurl']); // If user image does not exist, or is a higher rating, use the mystery man $email = md5($mybb->input['avatarurl']); $s = ''; if (!$mybb->settings['maxavatardims']) { $mybb->settings['maxavatardims'] = '100x100'; // Hard limit of 100 if there are no limits } // Because Gravatars are square, hijack the width list($maxwidth, $maxheight) = explode("x", my_strtolower($mybb->settings['maxavatardims'])); $maxheight = (int) $maxwidth; // Rating? $types = array('g', 'pg', 'r', 'x'); $rating = $mybb->settings['useravatarrating'];
/** * Verifies if an MSN Messenger address is valid or not. * * @return boolean True when valid, false when invalid. */ function verify_msn() { $msn =& $this->data['msn']; if ($msn != '' && validate_email_format($msn) == false) { $this->set_error("invalid_msn_address"); return false; } return true; }
/* empty nick */ if (strlen($username) < 3) { $errors[$i] = $MSG_LANG_NEW['no_blank_user']; $i++; } $first_name = strip_tags($first_name); $last_name = strip_tags($last_name); if ($first_name == "") { $errors[$i] = $MSG_LANG_NEW['no_blank_first']; $i++; } if ($last_name == "") { $errors[$i] = $MSG_LANG_NEW['no_blank_last']; $i++; } $is_valid = validate_email_format($email); if (!$is_valid) { $errors[$i] = $MSG_LANG_NEW['invalid_email']; $i++; } if ($city == "") { $_POST['city'] = "Undefined"; $city = "Undefined"; } if ($state == "") { $errors[$i] = $MSG_LANG_NEW['err_select_state']; $i++; } if ($country == "") { $errors[$i] = $MSG_LANG_NEW['err_select_country']; $i++;