Zeile 6 | Zeile 6 |
---|
* Website: http://mybb.com * License: http://mybb.com/about/license *
|
* Website: http://mybb.com * License: http://mybb.com/about/license *
|
* $Id: user.php 5828 2012-05-08 16:06:16Z Tomm $
| * $Id$
|
*/
// Disallow direct access to this file for security reasons
| */
// Disallow direct access to this file for security reasons
|
Zeile 90 | Zeile 90 |
---|
}
// Check for certain characters in username (<, >, &, commas and slashes)
|
}
// Check for certain characters in username (<, >, &, commas and slashes)
|
if(strpos($username, "<") !== false || strpos($username, ">") !== false || strpos($username, "&") !== false || my_strpos($username, "\\") !== false || strpos($username, ";") !== false || strpos($username, ",") !== false)
| if(strpos($username, "<") !== false || strpos($username, ">") !== false || strpos($username, "&") !== false || my_strpos($username, "\\") !== false || strpos($username, ";") !== false || strpos($username, ",") !== false || !validate_utf8_string($username, false, false))
|
{ $this->set_error("bad_characters_username"); return false;
| { $this->set_error("bad_characters_username"); return false;
|
Zeile 126 | Zeile 126 |
---|
return true; }
|
return true; }
|
|
|
/** * Verifies if a username is already in use or not. *
| /** * Verifies if a username is already in use or not. *
|
Zeile 136 | Zeile 136 |
---|
{ global $db;
|
{ global $db;
|
$username = &$this->data['username'];
$uid_check = "";
| $username = &$this->data['username'];
$uid_check = "";
|
if($this->data['uid']) { $uid_check = " AND uid!='{$this->data['uid']}'";
|
if($this->data['uid']) { $uid_check = " AND uid!='{$this->data['uid']}'";
|
} $query = $db->simple_select("users", "COUNT(uid) AS count", "LOWER(username)='".$db->escape_string(strtolower(trim($username)))."'{$uid_check}");
| }
$query = $db->simple_select("users", "COUNT(uid) AS count", "LOWER(username)='".$db->escape_string(strtolower(trim($username)))."'{$uid_check}");
|
$user_count = $db->fetch_field($query, "count"); if($user_count > 0) { $this->set_error("username_exists", array($username)); return true;
|
$user_count = $db->fetch_field($query, "count"); if($user_count > 0) { $this->set_error("username_exists", array($username)); return true;
|
}
| }
|
else { return false;
| else { return false;
|
Zeile 160 | Zeile 160 |
---|
/** * Verifies if a new password is valid or not.
|
/** * Verifies if a new password is valid or not.
|
* * @return boolean True when valid, false when invalid.
| * * @return boolean True when valid, false when invalid.
|
*/ function verify_password() {
| */ function verify_password() {
|
Zeile 183 | Zeile 183 |
---|
// First, see if there is one or more complex character(s) in the password. if(!preg_match("/^.*(?=.{".$mybb->settings['minpasswordlength'].",})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$/", $user['password'])) {
|
// First, see if there is one or more complex character(s) in the password. if(!preg_match("/^.*(?=.{".$mybb->settings['minpasswordlength'].",})(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).*$/", $user['password'])) {
|
$this->set_error('no_complex_characters');
| $this->set_error('no_complex_characters', array($mybb->settings['minpasswordlength']));
|
return false; } }
| return false; } }
|
Zeile 196 | Zeile 196 |
---|
}
// MD5 the password
|
}
// MD5 the password
|
$user['md5password'] = md5($user['password']);
| $user['md5password'] = md5($user['password']);
|
// Generate our salt $user['salt'] = generate_salt();
// Combine the password and salt $user['saltedpw'] = salt_password($user['md5password'], $user['salt']);
|
// Generate our salt $user['salt'] = generate_salt();
// Combine the password and salt $user['saltedpw'] = salt_password($user['md5password'], $user['salt']);
|
|
|
// Generate the user login key $user['loginkey'] = generate_loginkey();
| // Generate the user login key $user['loginkey'] = generate_loginkey();
|
Zeile 212 | Zeile 212 |
---|
/** * Verifies usergroup selections and other group details.
|
/** * Verifies usergroup selections and other group details.
|
* * @return boolean True when valid, false when invalid. */
| * * @return boolean True when valid, false when invalid. */
|
function verify_usergroup() { $user = &$this->data;
| function verify_usergroup() { $user = &$this->data;
|
Zeile 249 | Zeile 249 |
---|
if(is_banned_email($user['email'], true)) { $this->set_error('banned_email');
|
if(is_banned_email($user['email'], true)) { $this->set_error('banned_email');
|
return false;
| 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"))
| // 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"))
|
Zeile 261 | Zeile 261 |
---|
$this->set_error('email_already_in_use'); return false; }
|
$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");
|
// 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; }
/**
| return false; }
return true; }
/**
|
* Verifies if a website is valid or not. * * @return boolean True when valid, false when invalid.
| * Verifies if a website is valid or not. * * @return boolean True when valid, false when invalid.
|
Zeile 344 | Zeile 344 |
---|
$user = &$this->data; $birthday = &$user['birthday'];
|
$user = &$this->data; $birthday = &$user['birthday'];
|
|
|
if(!is_array($birthday)) { return true; }
|
if(!is_array($birthday)) { return true; }
|
|
|
// Sanitize any input we have $birthday['day'] = intval($birthday['day']); $birthday['month'] = intval($birthday['month']);
| // Sanitize any input we have $birthday['day'] = intval($birthday['day']); $birthday['month'] = intval($birthday['month']);
|
Zeile 359 | Zeile 359 |
---|
if($birthday['day'] != 0 || $birthday['month'] != 0) { if($birthday['day'] < 1 || $birthday['day'] > 31 || $birthday['month'] < 1 || $birthday['month'] > 12 || ($birthday['month'] == 2 && $birthday['day'] > 29))
|
if($birthday['day'] != 0 || $birthday['month'] != 0) { if($birthday['day'] < 1 || $birthday['day'] > 31 || $birthday['month'] < 1 || $birthday['month'] > 12 || ($birthday['month'] == 2 && $birthday['day'] > 29))
|
{ $this->set_error("invalid_birthday"); return false; }
| { $this->set_error("invalid_birthday"); return false; }
|
}
// Check if the day actually exists. $months = get_bdays($birthday['year']); if($birthday['day'] > $months[$birthday['month']-1])
|
}
// Check if the day actually exists. $months = get_bdays($birthday['year']); if($birthday['day'] > $months[$birthday['month']-1])
|
{ $this->set_error("invalid_birthday"); return false; }
| { $this->set_error("invalid_birthday"); return false; }
|
// Error if a year exists and the year is out of range if($birthday['year'] != 0 && ($birthday['year'] < (date("Y")-100)) || $birthday['year'] > date("Y"))
| // Error if a year exists and the year is out of range if($birthday['year'] != 0 && ($birthday['year'] < (date("Y")-100)) || $birthday['year'] > date("Y"))
|
Zeile 380 | Zeile 380 |
---|
return false; } else if($birthday['year'] == date("Y"))
|
return false; } else if($birthday['year'] == date("Y"))
|
{
| {
|
// Error if birth date is in future if($birthday['month'] > date("m") || ($birthday['month'] == date("m") && $birthday['day'] > date("d"))) { $this->set_error("invalid_birthday"); return false; }
|
// Error if birth date is in future if($birthday['month'] > date("m") || ($birthday['month'] == date("m") && $birthday['day'] > date("d"))) { $this->set_error("invalid_birthday"); return false; }
|
}
| }
|
// Error if COPPA is on, and the user hasn't verified their age / under 13 if($mybb->settings['coppa'] == "enabled" && ($birthday['year'] == 0 || !$birthday['year']))
| // Error if COPPA is on, and the user hasn't verified their age / under 13 if($mybb->settings['coppa'] == "enabled" && ($birthday['year'] == 0 || !$birthday['year']))
|
Zeile 395 | Zeile 395 |
---|
$this->set_error("invalid_birthday_coppa"); return false; }
|
$this->set_error("invalid_birthday_coppa"); return false; }
|
elseif($mybb->settings['coppa'] == "deny" && $birthday['year'] > (date("Y")-13))
| elseif(($mybb->settings['coppa'] == "deny" && $birthday['year'] > (date("Y")-13)) && !is_moderator())
|
{ $this->set_error("invalid_birthday_coppa2"); return false;
|
{ $this->set_error("invalid_birthday_coppa2"); return false;
|
}
| }
|
// Make the user's birthday field if($birthday['year'] != 0) { // If the year is specified, put together a d-m-y string $user['bday'] = $birthday['day']."-".$birthday['month']."-".$birthday['year'];
|
// Make the user's birthday field if($birthday['year'] != 0) { // If the year is specified, put together a d-m-y string $user['bday'] = $birthday['day']."-".$birthday['month']."-".$birthday['year'];
|
}
| }
|
elseif($birthday['day'] && $birthday['month'])
|
elseif($birthday['day'] && $birthday['month'])
|
{
| {
|
// If only a day and month are specified, put together a d-m string $user['bday'] = $birthday['day']."-".$birthday['month']."-"; }
| // If only a day and month are specified, put together a d-m string $user['bday'] = $birthday['day']."-".$birthday['month']."-"; }
|
Zeile 416 | Zeile 416 |
---|
{ // No field is specified, so return an empty string for an unknown birthday $user['bday'] = '';
|
{ // No field is specified, so return an empty string for an unknown birthday $user['bday'] = '';
|
}
| } return true; }
/** * Verifies if the birthday privacy option is valid or not. * * @return boolean True when valid, false when invalid. */ function verify_birthday_privacy() { $birthdayprivacy = &$this->data['birthdayprivacy']; $accepted = array( 'none', 'age', 'all');
if(!in_array($birthdayprivacy, $accepted)) { $this->set_error("invalid_birthday_privacy"); return false; }
|
return true; }
|
return true; }
|
|
|
/** * Verifies if the post count field is filled in correctly. *
| /** * Verifies if the post count field is filled in correctly. *
|
Zeile 428 | Zeile 449 |
---|
function verify_postnum() { $user = &$this->data;
|
function verify_postnum() { $user = &$this->data;
|
|
|
if($user['postnum'] < 0) { $this->set_error("invalid_postnum"); return false;
|
if($user['postnum'] < 0) { $this->set_error("invalid_postnum"); return false;
|
} return true; }
| }
return true; }
|
/** * Verifies if a profile fields are filled in correctly. *
| /** * Verifies if a profile fields are filled in correctly. *
|
Zeile 446 | Zeile 467 |
---|
function verify_profile_fields() { global $db;
|
function verify_profile_fields() { global $db;
|
|
|
$user = &$this->data; $profile_fields = &$this->data['profile_fields'];
|
$user = &$this->data; $profile_fields = &$this->data['profile_fields'];
|
|
|
// Loop through profile fields checking if they exist or not and are filled in. $userfields = array(); $comma = ''; $editable = '';
|
// Loop through profile fields checking if they exist or not and are filled in. $userfields = array(); $comma = ''; $editable = '';
|
|
|
if(!$this->data['profile_fields_editable'])
|
if(!$this->data['profile_fields_editable'])
|
{
| {
|
$editable = "editable=1"; }
|
$editable = "editable=1"; }
|
|
|
// Fetch all profile fields first. $options = array( 'order_by' => 'disporder' );
|
// Fetch all profile fields first. $options = array( 'order_by' => 'disporder' );
|
$query = $db->simple_select('profilefields', 'name, type, fid, required, maxlength', $editable, $options);
| $query = $db->simple_select('profilefields', 'name, postnum, type, fid, required, maxlength', $editable, $options);
|
// Then loop through the profile fields. while($profilefield = $db->fetch_array($query)) {
|
// Then loop through the profile fields. while($profilefield = $db->fetch_array($query)) {
|
| // Does this field have a minimum post count? if(!$this->data['profile_fields_editable'] && !empty($profilefield['postnum']) && $profilefield['postnum'] > $user['postnum']) { continue; }
|
$profilefield['type'] = htmlspecialchars_uni($profilefield['type']); $thing = explode("\n", $profilefield['type'], "2"); $type = trim($thing[0]);
| $profilefield['type'] = htmlspecialchars_uni($profilefield['type']); $thing = explode("\n", $profilefield['type'], "2"); $type = trim($thing[0]);
|
Zeile 490 | Zeile 517 |
---|
// Sort out multiselect/checkbox profile fields. $options = ''; if(($type == "multiselect" || $type == "checkbox") && is_array($profile_fields[$field]))
|
// Sort out multiselect/checkbox profile fields. $options = ''; if(($type == "multiselect" || $type == "checkbox") && is_array($profile_fields[$field]))
|
{ $expoptions = explode("\n", $thing[1]); $expoptions = array_map('trim', $expoptions);
| { $expoptions = explode("\n", $thing[1]); $expoptions = array_map('trim', $expoptions);
|
foreach($profile_fields[$field] as $value) { if(!in_array(htmlspecialchars_uni($value), $expoptions))
| foreach($profile_fields[$field] as $value) { if(!in_array(htmlspecialchars_uni($value), $expoptions))
|
Zeile 563 | Zeile 590 |
---|
} } $user['referrer_uid'] = $referrer['uid'];
|
} } $user['referrer_uid'] = $referrer['uid'];
|
|
|
return true; }
| return true; }
|
Zeile 575 | Zeile 602 |
---|
function verify_options() { global $mybb;
|
function verify_options() { global $mybb;
|
|
|
$options = &$this->data['options'];
// Verify yes/no options. $this->verify_yesno_option($options, 'allownotices', 1); $this->verify_yesno_option($options, 'hideemail', 0);
|
$options = &$this->data['options'];
// Verify yes/no options. $this->verify_yesno_option($options, 'allownotices', 1); $this->verify_yesno_option($options, 'hideemail', 0);
|
$this->verify_yesno_option($options, 'emailpmnotify', 0);
| |
$this->verify_yesno_option($options, 'receivepms', 1); $this->verify_yesno_option($options, 'receivefrombuddy', 0); $this->verify_yesno_option($options, 'pmnotice', 1);
| $this->verify_yesno_option($options, 'receivepms', 1); $this->verify_yesno_option($options, 'receivefrombuddy', 0); $this->verify_yesno_option($options, 'pmnotice', 1);
|
Zeile 591 | Zeile 617 |
---|
$this->verify_yesno_option($options, 'showavatars', 1); $this->verify_yesno_option($options, 'showquickreply', 1); $this->verify_yesno_option($options, 'showredirect', 1);
|
$this->verify_yesno_option($options, 'showavatars', 1); $this->verify_yesno_option($options, 'showquickreply', 1); $this->verify_yesno_option($options, 'showredirect', 1);
|
|
|
if($mybb->settings['postlayout'] == 'classic') { $this->verify_yesno_option($options, 'classicpostbit', 1);
| if($mybb->settings['postlayout'] == 'classic') { $this->verify_yesno_option($options, 'classicpostbit', 1);
|
Zeile 600 | Zeile 626 |
---|
{ $this->verify_yesno_option($options, 'classicpostbit', 0); }
|
{ $this->verify_yesno_option($options, 'classicpostbit', 0); }
|
|
|
if(array_key_exists('subscriptionmethod', $options)) { // Value out of range
| if(array_key_exists('subscriptionmethod', $options)) { // Value out of range
|
Zeile 620 | Zeile 646 |
---|
$options['dstcorrection'] = 0; } }
|
$options['dstcorrection'] = 0; } }
|
|
|
if($options['dstcorrection'] == 1) { $options['dst'] = 1;
| if($options['dstcorrection'] == 1) { $options['dst'] = 1;
|
Zeile 642 | Zeile 668 |
---|
{ $options['showcodebuttons'] = 1; }
|
{ $options['showcodebuttons'] = 1; }
|
|
|
if($this->method == "insert" || (isset($options['threadmode']) && $options['threadmode'] != "linear" && $options['threadmode'] != "threaded")) { if($mybb->settings['threadusenetstyle'])
| if($this->method == "insert" || (isset($options['threadmode']) && $options['threadmode'] != "linear" && $options['threadmode'] != "threaded")) { if($mybb->settings['threadusenetstyle'])
|
Zeile 782 | Zeile 808 |
---|
$this->set_error("missing_returndate"); return false; }
|
$this->set_error("missing_returndate"); return false; }
|
|
|
// Validate the return date lengths $user['away']['returndate'] = substr($returnday, 0, 2).'-'.substr($returnmonth, 0, 2).'-'.substr($returnyear, 0, 4); }
| // Validate the return date lengths $user['away']['returndate'] = substr($returnday, 0, 2).'-'.substr($returnmonth, 0, 2).'-'.substr($returnyear, 0, 4); }
|
Zeile 791 | Zeile 817 |
---|
/** * Verifies if a langage is valid for this user or not.
|
/** * Verifies if a langage is valid for this user or not.
|
*
| *
|
* @return boolean True when valid, false when invalid. */ function verify_language() { global $lang;
|
* @return boolean True when valid, false when invalid. */ function verify_language() { global $lang;
|
$language = &$this->data['language'];
// An invalid language has been specified?
| $language = &$this->data['language'];
// An invalid language has been specified?
|
if($language != '' && !$lang->language_exists($language)) { $this->set_error("invalid_language");
| if($language != '' && !$lang->language_exists($language)) { $this->set_error("invalid_language");
|
Zeile 808 | Zeile 834 |
---|
} return true; }
|
} return true; }
|
|
|
/** * Verifies if this is coming from a spam bot or not *
| /** * Verifies if this is coming from a spam bot or not *
|
Zeile 817 | Zeile 843 |
---|
function verify_checkfields() { $user = &$this->data;
|
function verify_checkfields() { $user = &$this->data;
|
|
|
// An invalid language has been specified? if($user['regcheck1'] !== "" || $user['regcheck2'] !== "true")
|
// An invalid language has been specified? if($user['regcheck1'] !== "" || $user['regcheck2'] !== "true")
|
{
| {
|
$this->set_error("invalid_checkfield"); return false; }
| $this->set_error("invalid_checkfield"); return false; }
|
Zeile 855 | Zeile 881 |
---|
else { unset($user['username']);
|
else { unset($user['username']);
|
}
| }
|
} if($this->method == "insert" || array_key_exists('usertitle', $user)) {
| } if($this->method == "insert" || array_key_exists('usertitle', $user)) {
|
Zeile 874 | Zeile 900 |
---|
$this->verify_email(); } if($this->method == "insert" || array_key_exists('website', $user))
|
$this->verify_email(); } if($this->method == "insert" || array_key_exists('website', $user))
|
{
| {
|
$this->verify_website(); } if($this->method == "insert" || array_key_exists('icq', $user))
| $this->verify_website(); } if($this->method == "insert" || array_key_exists('icq', $user))
|
Zeile 892 | Zeile 918 |
---|
if($this->method == "insert" || array_key_exists('postnum', $user)) { $this->verify_postnum();
|
if($this->method == "insert" || array_key_exists('postnum', $user)) { $this->verify_postnum();
|
}
| }
|
if($this->method == "insert" || array_key_exists('profile_fields', $user))
|
if($this->method == "insert" || array_key_exists('profile_fields', $user))
|
{
| {
|
$this->verify_profile_fields();
|
$this->verify_profile_fields();
|
}
| }
|
if($this->method == "insert" || array_key_exists('referrer', $user)) { $this->verify_referrer(); } if($this->method == "insert" || array_key_exists('options', $user))
|
if($this->method == "insert" || array_key_exists('referrer', $user)) { $this->verify_referrer(); } if($this->method == "insert" || array_key_exists('options', $user))
|
{
| {
|
$this->verify_options(); } if($this->method == "insert" || array_key_exists('regdate', $user))
| $this->verify_options(); } if($this->method == "insert" || array_key_exists('regdate', $user))
|
Zeile 920 | Zeile 946 |
---|
if($this->method == "insert" || array_key_exists('away', $user)) { $this->verify_away();
|
if($this->method == "insert" || array_key_exists('away', $user)) { $this->verify_away();
|
}
| }
|
if($this->method == "insert" || array_key_exists('language', $user))
|
if($this->method == "insert" || array_key_exists('language', $user))
|
{
| {
|
$this->verify_language();
|
$this->verify_language();
|
}
| }
|
if($this->method == "insert" && array_key_exists('regcheck1', $user) && array_key_exists('regcheck2', $user))
|
if($this->method == "insert" && array_key_exists('regcheck1', $user) && array_key_exists('regcheck2', $user))
|
{
| {
|
$this->verify_checkfields(); }
|
$this->verify_checkfields(); }
|
| if(array_key_exists('birthdayprivacy', $user)) { $this->verify_birthday_privacy(); }
|
$plugins->run_hooks("datahandler_user_validate", $this);
|
$plugins->run_hooks("datahandler_user_validate", $this);
|
|
|
// We are done validating, return. $this->set_validated(true); if(count($this->get_errors()) > 0)
| // We are done validating, return. $this->set_validated(true); if(count($this->get_errors()) > 0)
|
Zeile 979 | Zeile 1009 |
---|
"regdate" => intval($user['regdate']), "lastactive" => intval($user['lastactive']), "lastvisit" => intval($user['lastvisit']),
|
"regdate" => intval($user['regdate']), "lastactive" => intval($user['lastactive']), "lastvisit" => intval($user['lastvisit']),
|
"website" => $db->escape_string(htmlspecialchars($user['website'])),
| "website" => $db->escape_string(htmlspecialchars_uni($user['website'])),
|
"icq" => intval($user['icq']),
|
"icq" => intval($user['icq']),
|
"aim" => $db->escape_string(htmlspecialchars($user['aim'])), "yahoo" => $db->escape_string(htmlspecialchars($user['yahoo'])), "msn" => $db->escape_string(htmlspecialchars($user['msn'])),
| "aim" => $db->escape_string(htmlspecialchars_uni($user['aim'])), "yahoo" => $db->escape_string(htmlspecialchars_uni($user['yahoo'])), "msn" => $db->escape_string(htmlspecialchars_uni($user['msn'])),
|
"birthday" => $user['bday'], "signature" => $db->escape_string($user['signature']), "allownotices" => $user['options']['allownotices'],
| "birthday" => $user['bday'], "signature" => $db->escape_string($user['signature']), "allownotices" => $user['options']['allownotices'],
|
Zeile 992 | Zeile 1022 |
---|
"receivepms" => $user['options']['receivepms'], "receivefrombuddy" => $user['options']['receivefrombuddy'], "pmnotice" => $user['options']['pmnotice'],
|
"receivepms" => $user['options']['receivepms'], "receivefrombuddy" => $user['options']['receivefrombuddy'], "pmnotice" => $user['options']['pmnotice'],
|
"pmnotify" => $user['options']['emailpmnotify'],
| "pmnotify" => $user['options']['pmnotify'],
|
"showsigs" => $user['options']['showsigs'], "showavatars" => $user['options']['showavatars'], "showquickreply" => $user['options']['showquickreply'],
| "showsigs" => $user['options']['showsigs'], "showavatars" => $user['options']['showavatars'], "showquickreply" => $user['options']['showquickreply'],
|
Zeile 1031 | Zeile 1061 |
---|
"classicpostbit" => $user['options']['classicpostbit'], "usernotes" => '' );
|
"classicpostbit" => $user['options']['classicpostbit'], "usernotes" => '' );
|
|
|
if($user['options']['dstcorrection'] == 1)
|
if($user['options']['dstcorrection'] == 1)
|
{
| {
|
$this->user_insert_data['dst'] = 1;
|
$this->user_insert_data['dst'] = 1;
|
}
| }
|
else if($user['options']['dstcorrection'] == 0) { $this->user_insert_data['dst'] = 0; }
$plugins->run_hooks("datahandler_user_insert", $this);
|
else if($user['options']['dstcorrection'] == 0) { $this->user_insert_data['dst'] = 0; }
$plugins->run_hooks("datahandler_user_insert", $this);
|
|
|
$this->uid = $db->insert_query("users", $this->user_insert_data);
|
$this->uid = $db->insert_query("users", $this->user_insert_data);
|
|
|
$user['user_fields']['ufid'] = $this->uid;
|
$user['user_fields']['ufid'] = $this->uid;
|
|
|
$query = $db->simple_select("profilefields", "fid"); while($profile_field = $db->fetch_array($query))
|
$query = $db->simple_select("profilefields", "fid"); while($profile_field = $db->fetch_array($query))
|
{
| {
|
if(array_key_exists("fid{$profile_field['fid']}", $user['user_fields'])) { continue; } $user['user_fields']["fid{$profile_field['fid']}"] = ''; }
|
if(array_key_exists("fid{$profile_field['fid']}", $user['user_fields'])) { continue; } $user['user_fields']["fid{$profile_field['fid']}"] = ''; }
|
|
|
$db->insert_query("userfields", $user['user_fields'], false);
|
$db->insert_query("userfields", $user['user_fields'], false);
|
|
|
if($this->user_insert_data['referrer'] != 0) { $db->write_query("
| if($this->user_insert_data['referrer'] != 0) { $db->write_query("
|
Zeile 1108 | Zeile 1138 |
---|
$this->user_update_data['username'] = $db->escape_string($user['username']); } if(isset($user['saltedpw']))
|
$this->user_update_data['username'] = $db->escape_string($user['username']); } if(isset($user['saltedpw']))
|
{
| {
|
$this->user_update_data['password'] = $user['saltedpw']; $this->user_update_data['salt'] = $user['salt']; $this->user_update_data['loginkey'] = $user['loginkey'];
|
$this->user_update_data['password'] = $user['saltedpw']; $this->user_update_data['salt'] = $user['salt']; $this->user_update_data['loginkey'] = $user['loginkey'];
|
}
| }
|
if(isset($user['email']))
|
if(isset($user['email']))
|
{
| {
|
$this->user_update_data['email'] = $user['email']; } if(isset($user['postnum']))
| $this->user_update_data['email'] = $user['email']; } if(isset($user['postnum']))
|
Zeile 1122 | Zeile 1152 |
---|
$this->user_update_data['postnum'] = intval($user['postnum']); } if(isset($user['avatar']))
|
$this->user_update_data['postnum'] = intval($user['postnum']); } if(isset($user['avatar']))
|
{
| {
|
$this->user_update_data['avatar'] = $db->escape_string($user['avatar']); $this->user_update_data['avatartype'] = $db->escape_string($user['avatartype']); }
| $this->user_update_data['avatar'] = $db->escape_string($user['avatar']); $this->user_update_data['avatartype'] = $db->escape_string($user['avatartype']); }
|
Zeile 1137 | Zeile 1167 |
---|
if(isset($user['displaygroup'])) { $this->user_update_data['displaygroup'] = intval($user['displaygroup']);
|
if(isset($user['displaygroup'])) { $this->user_update_data['displaygroup'] = intval($user['displaygroup']);
|
}
| }
|
if(isset($user['usertitle']))
|
if(isset($user['usertitle']))
|
{
| {
|
$this->user_update_data['usertitle'] = $db->escape_string(htmlspecialchars_uni($user['usertitle']));
|
$this->user_update_data['usertitle'] = $db->escape_string(htmlspecialchars_uni($user['usertitle']));
|
}
| }
|
if(isset($user['regdate']))
|
if(isset($user['regdate']))
|
{
| {
|
$this->user_update_data['regdate'] = intval($user['regdate']); } if(isset($user['lastactive']))
| $this->user_update_data['regdate'] = intval($user['regdate']); } if(isset($user['lastactive']))
|
Zeile 1151 | Zeile 1181 |
---|
$this->user_update_data['lastactive'] = intval($user['lastactive']); } if(isset($user['lastvisit']))
|
$this->user_update_data['lastactive'] = intval($user['lastactive']); } if(isset($user['lastvisit']))
|
{
| {
|
$this->user_update_data['lastvisit'] = intval($user['lastvisit']); } if(isset($user['signature']))
| $this->user_update_data['lastvisit'] = intval($user['lastvisit']); } if(isset($user['signature']))
|
Zeile 1159 | Zeile 1189 |
---|
$this->user_update_data['signature'] = $db->escape_string($user['signature']); } if(isset($user['website']))
|
$this->user_update_data['signature'] = $db->escape_string($user['signature']); } if(isset($user['website']))
|
{ $this->user_update_data['website'] = $db->escape_string(htmlspecialchars($user['website'])); }
| { $this->user_update_data['website'] = $db->escape_string(htmlspecialchars_uni($user['website'])); }
|
if(isset($user['icq'])) { $this->user_update_data['icq'] = intval($user['icq']); } if(isset($user['aim'])) {
|
if(isset($user['icq'])) { $this->user_update_data['icq'] = intval($user['icq']); } if(isset($user['aim'])) {
|
$this->user_update_data['aim'] = $db->escape_string(htmlspecialchars($user['aim']));
| $this->user_update_data['aim'] = $db->escape_string(htmlspecialchars_uni($user['aim']));
|
} if(isset($user['yahoo']))
|
} if(isset($user['yahoo']))
|
{ $this->user_update_data['yahoo'] = $db->escape_string(htmlspecialchars($user['yahoo']));
| { $this->user_update_data['yahoo'] = $db->escape_string(htmlspecialchars_uni($user['yahoo']));
|
} if(isset($user['msn']))
|
} if(isset($user['msn']))
|
{ $this->user_update_data['msn'] = $db->escape_string(htmlspecialchars($user['msn']));
| { $this->user_update_data['msn'] = $db->escape_string(htmlspecialchars_uni($user['msn']));
|
} if(isset($user['bday'])) {
| } if(isset($user['bday'])) {
|
Zeile 1185 | Zeile 1215 |
---|
if(isset($user['birthdayprivacy'])) { $this->user_update_data['birthdayprivacy'] = $db->escape_string($user['birthdayprivacy']);
|
if(isset($user['birthdayprivacy'])) { $this->user_update_data['birthdayprivacy'] = $db->escape_string($user['birthdayprivacy']);
|
}
| }
|
if(isset($user['style'])) { $this->user_update_data['style'] = intval($user['style']); } if(isset($user['timezone']))
|
if(isset($user['style'])) { $this->user_update_data['style'] = intval($user['style']); } if(isset($user['timezone']))
|
{
| {
|
$this->user_update_data['timezone'] = $db->escape_string($user['timezone']); } if(isset($user['dateformat']))
| $this->user_update_data['timezone'] = $db->escape_string($user['timezone']); } if(isset($user['dateformat']))
|
Zeile 1226 | Zeile 1256 |
---|
$this->user_update_data['usernotes'] = $db->escape_string($user['usernotes']); } if(is_array($user['options']))
|
$this->user_update_data['usernotes'] = $db->escape_string($user['usernotes']); } if(is_array($user['options']))
|
{
| {
|
foreach($user['options'] as $option => $value) { $this->user_update_data[$option] = $value; }
|
foreach($user['options'] as $option => $value) { $this->user_update_data[$option] = $value; }
|
}
| }
|
if(array_key_exists('coppa_user', $user))
|
if(array_key_exists('coppa_user', $user))
|
{
| {
|
$this->user_update_data['coppauser'] = intval($user['coppa_user']);
|
$this->user_update_data['coppauser'] = intval($user['coppa_user']);
|
}
| }
|
// First, grab the old user details for later use. $old_user = get_user($user['uid']);
| // First, grab the old user details for later use. $old_user = get_user($user['uid']);
|
Zeile 1244 | Zeile 1274 |
---|
{ unset($this->user_update_data['pmnotice']); }
|
{ unset($this->user_update_data['pmnotice']); }
|
|
|
$plugins->run_hooks("datahandler_user_update", $this);
|
$plugins->run_hooks("datahandler_user_update", $this);
|
|
|
if(count($this->user_update_data) < 1 && empty($user['user_fields']))
|
if(count($this->user_update_data) < 1 && empty($user['user_fields']))
|
{ return false; }
| { return false; }
|
if(count($this->user_update_data) > 0) { // Actual updating happens here. $db->update_query("users", $this->user_update_data, "uid='{$user['uid']}'"); }
|
if(count($this->user_update_data) > 0) { // Actual updating happens here. $db->update_query("users", $this->user_update_data, "uid='{$user['uid']}'"); }
|
|
|
$cache->update_moderators(); if(isset($user['bday']) || isset($user['username'])) {
| $cache->update_moderators(); if(isset($user['bday']) || isset($user['username'])) {
|
Zeile 1303 | Zeile 1333 |
---|
$db->update_query("threads", $username_update, "uid='{$user['uid']}'"); $db->update_query("threads", $lastposter_update, "lastposteruid='{$user['uid']}'"); $db->update_query("forums", $lastposter_update, "lastposteruid='{$user['uid']}'");
|
$db->update_query("threads", $username_update, "uid='{$user['uid']}'"); $db->update_query("threads", $lastposter_update, "lastposteruid='{$user['uid']}'"); $db->update_query("forums", $lastposter_update, "lastposteruid='{$user['uid']}'");
|
|
|
$stats = $cache->read("stats"); if($stats['lastuid'] == $user['uid']) {
| $stats = $cache->read("stats"); if($stats['lastuid'] == $user['uid']) {
|