} if ($USER['email'] == null) { $ERRORS[] = 'E-mail address was blank.'; } elseif (preg_match('/^[a-z0-9_+.]{1,64}@([a-z0-9-.]*){1,}\\.[a-z]{1,5}$/i', $USER['email']) == false) { $ERRORS[] = 'Invalid e-mail address specified.'; } if (sizeof($ERRORS) > 0) { draw_errors($ERRORS); } else { // Create an user and set some base attrs. $new_user = new User($db); $new_user->setUserName($USER['user_name']); $new_user->setRegisteredIpAddr($_SERVER['REMOTE_ADDR']); $new_user->setPassword($USER['password']); $new_user->setCurrentSaltExpiration($new_user->sysdate()); $new_user->setLastActivity($new_user->sysdate()); $new_user->setAccessLevel('user'); $new_user->setEmail($USER['email']); $new_user->setAge($USER['age']); $new_user->setGender($USER['gender']); $new_user->setProfile($USER['profile']); $new_user->setCurrency($APP_CONFIG['starting_funds']); $new_user->setUserTitle('User'); $new_user->setTextareaPreference('tinymce'); $new_user->setDatetimeCreated($new_user->sysdate()); $new_user->setDatetimeLastPost($new_user->sysdate()); $new_user->setPasswordResetRequested($new_user->sysdate()); $new_user->setTimezoneId(54); // 54 = UTC $new_user->setDatetimeFormatId(1); // Y-m-d H:i:s
/** * Set logged_user value * * @access public * @param User $value * @param boolean $remember Remember this user * @param boolean $set_last_activity_time Turned off in case of feed login * @return null * @throws DBQueryError */ function setLoggedUser(User $user, $remember = false, $set_last_activity_time = true, $set_cookies = true) { trace(__FILE__, 'setLoggedUser():begin'); if ($set_last_activity_time) { $user->setLastActivity(DateTimeValueLib::now()); trace(__FILE__, 'setLoggedUser():user->save()'); $user->save(); } // if if ($set_cookies) { $expiration = $remember ? config_option('remember_login_lifetime', 3600) : 3600; Cookie::setValue('id' . TOKEN_COOKIE_NAME, $user->getId(), $expiration); Cookie::setValue(TOKEN_COOKIE_NAME, $user->getTwistedToken(), $expiration); if ($remember) { Cookie::setValue('remember' . TOKEN_COOKIE_NAME, 1, $expiration); } else { Cookie::unsetValue('remember' . TOKEN_COOKIE_NAME); } // if } // if trace(__FILE__, 'setLoggedUser():end'); $this->logged_user = $user; }
/** * Set logged_user value * * @access public * @param User $value * @param boolean $remember Remember this user for 2 weeks (configurable) * @param DateTimeValue $set_last_activity_time Set last activity time. This property is turned off in case of feed * login for instance * @return null * @throws DBQueryError */ function setLoggedUser(User $user, $remember = false, $set_last_activity_time = true) { if ($set_last_activity_time) { $user->setLastActivity(DateTimeValueLib::now()); $user->save(); } // if $expiration = $remember ? REMEMBER_LOGIN_LIFETIME : SESSION_LIFETIME; Cookie::setValue('id' . TOKEN_COOKIE_NAME, $user->getId(), $expiration); Cookie::setValue(TOKEN_COOKIE_NAME, $user->getTwistedToken(), $expiration); if ($remember) { Cookie::setValue('remember' . TOKEN_COOKIE_NAME, 1, $expiration); } else { Cookie::unsetValue('remember' . TOKEN_COOKIE_NAME); } // if $this->logged_user = $user; }
/** * Set logged_user value * * @access public * @param User $value * @param boolean $remember Remember this user for 2 weeks (configurable) * @param DateTimeValue $set_last_activity_time Set last activity time. This property is turned off in case of feed * login for instance * @return null * @throws DBQueryError */ function setLoggedUser(User $user, $remember = false, $set_last_activity_time = true, $set_cookies = true) { if ($set_last_activity_time) { $last_activity_mod_timestamp = array_var($_SESSION, 'last_activity_mod_timestamp', null); if (!$last_activity_mod_timestamp || $last_activity_mod_timestamp < time() - 60 * 10) { $user->setLastActivity(DateTimeValueLib::now()); // Disable updating user info $old_updated_on = $user->getUpdatedOn(); $user->setUpdatedOn(DateTimeValueLib::now()); $user->setUpdatedOn($old_updated_on); $user->save(); $_SESSION['last_activity_mod_timestamp'] = time(); } } // if if ($set_cookies) { $expiration = $remember ? REMEMBER_LOGIN_LIFETIME : SESSION_LIFETIME; Cookie::setValue('id', $user->getId(), $expiration); Cookie::setValue('token', $user->getTwistedToken(), $expiration); Cookie::setValue('cn', md5(array_var($_SERVER, 'REMOTE_ADDR', ""))); if ($remember) { Cookie::setValue('remember', 1, $expiration); } else { Cookie::unsetValue('remember'); } // if } $this->logged_user = $user; }