Esempio n. 1
0
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");
}
Esempio n. 2
0
     }
 }
 $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) {
Esempio n. 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;
 }
Esempio n. 4
0
     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'];
Esempio n. 5
0
 /**
  * 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++;