/** * 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]; }
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));