Exemple #1
0
 /**
  * log in a user
  * @param string $uname username as entered in the login form
  * @param string $pwd password entered in the login form
  * @return object icms_member_user_Object {@link icms_member_user_Object} reference to the logged in user. FALSE if failed to log in
  */
 public function loginUser($uname, $pwd)
 {
     $icmspass = new icms_core_Password();
     if (strstr($uname, '@')) {
         $uname = self::icms_getLoginFromUserEmail($uname);
     }
     /*		$is_expired = $icmspass->passExpired($uname);
     		if ($is_expired == 1) {
     			redirect_header(ICMS_URL . '/user.php?op=resetpass&uname=' . $uname, 5, _US_PASSEXPIRED, false);
     		} */
     $pwd = $icmspass->verifyPass($pwd, $uname);
     $table = new icms_db_legacy_updater_Table('users');
     if ($table->fieldExists('loginname')) {
         $criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item('loginname', $uname));
     } elseif ($table->fieldExists('login_name')) {
         $criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item('login_name', $uname));
     } else {
         $criteria = new icms_db_criteria_Compo(new icms_db_criteria_Item('uname', $uname));
     }
     $criteria->add(new icms_db_criteria_Item('pass', $pwd));
     $user = $this->_uHandler->getObjects($criteria, false);
     if (!$user || count($user) != 1) {
         $user = false;
         return $user;
     }
     return $user[0];
 }
Exemple #2
0
global $icmsConfigUser;
if ($password == '' || $password2 == '') {
	redirect_header('user.php?op=resetpass', 3, sprintf(_US_SORRYMUSTENTERPASS, icms::$user->getVar('uname')), FALSE);
}
if ((isset($password)) && ($password !== $password2)) {
	redirect_header('user.php?op=resetpass', 3, sprintf(_US_PASSNOTSAME, ''), FALSE);
} elseif (($password !== '') && (strlen($password) < $icmsConfigUser['minpass'])) {
	redirect_header('user.php?op=resetpass', 2, sprintf(_US_PWDTOOSHORT, $icmsConfigUser['minpass']), FALSE);
}

if (!icms::$user) {
	redirect_header('user.php', 2, sprintf(_US_SORRYNOTFOUND, 3, ''), FALSE);
} else {
	$icmspass = new icms_core_Password();

	if (!$icmspass->verifyPass($c_password, icms::$user->getVar('login_name'))) {
		redirect_header('user.php?op=resetpass', 2, _US_SORRYINCORRECTPASS);
	}

	$pass = $icmspass->encryptPass($password);
	$xoopsMailer = new icms_messaging_Handler();
	$xoopsMailer->useMail();
	$xoopsMailer->setTemplate('resetpass2.tpl');
	$xoopsMailer->assign('SITENAME', $icmsConfig['sitename']);
	$xoopsMailer->assign('ADMINMAIL', $icmsConfig['adminmail']);
	$xoopsMailer->assign('SITEURL', ICMS_URL.'/');
	$xoopsMailer->assign('IP', $_SERVER['REMOTE_ADDR']);
	$xoopsMailer->setToUsers(icms::$user->getVar('uid'));
	$xoopsMailer->setFromEmail($icmsConfig['adminmail']);
	$xoopsMailer->setFromName($icmsConfig['sitename']);
	$xoopsMailer->setSubject(sprintf(_US_PWDRESET, ICMS_URL));