/** * Handle request for email verification * Sends Verification code when you change email * Sends Verification code when you register */ private function _setEmailVerification() { $settings = fusion_get_settings(); $locale = fusion_get_locale(); require_once INCLUDES . "sendmail_include.php"; $userCode = hash_hmac("sha1", PasswordAuth::getNewPassword(), $this->_userEmail); $activationUrl = $settings['siteurl'] . "register.php?email=" . $this->_userEmail . "&code=" . $userCode; $message = str_replace("USER_NAME", $this->_userName, $locale['u152']); $message = str_replace("SITENAME", fusion_get_settings("sitename"), $message); $message = str_replace("SITEUSERNAME", fusion_get_settings("siteusername"), $message); $message = str_replace("USER_PASSWORD", $this->_newUserPassword, $message); $message = str_replace("ACTIVATION_LINK", $activationUrl, $message); $subject = str_replace("[SITENAME]", fusion_get_settings("sitename"), $locale['u151']); if (sendemail($this->_userName, $this->_userEmail, $settings['siteusername'], $settings['siteemail'], $subject, $message)) { $userInfo = base64_encode(serialize($this->data)); if (\defender::safe()) { dbquery("INSERT INTO " . DB_NEW_USERS . "\n\t\t\t\t\t(user_code, user_name, user_email, user_datestamp, user_info)\n\t\t\t\t\tVALUES\n\t\t\t\t\t('" . $userCode . "', '" . $this->data['user_name'] . "', '" . $this->data['user_email'] . "', NOW(), '" . $userInfo . "')\n\t\t\t\t\t"); } $this->_completeMessage = $locale['u150']; } else { \defender::stop(); $message = str_replace("[LINK]", "<a href='" . BASEDIR . "contact.php'><strong>", $locale['u154']); $message = str_replace("[/LINK]", "</strong></a>", $message); addNotice('danger', $locale['u153'] . "<br />" . $message); } }
public static function getNewRandomSalt($length = 12) { return sha1(PasswordAuth::getNewPassword($length)); }
} else { redirect(FUSION_SELF . $aidlink . "&error=1"); } $result = dbquery("SELECT user_id, user_name, user_email FROM " . DB_USERS . " WHERE " . $user_sql . " ORDER BY user_level DESC, user_id"); while ($data = dbarray($result)) { $loginPassIsReset = false; $adminPassIsReset = false; $adminPass = new PasswordAuth(); $newLoginPass = ""; $newAdminPass = $adminPass->getNewPassword(12); $adminPass->inputNewPassword = $newAdminPass; $adminPass->inputNewPassword2 = $newAdminPass; $adminPassIsReset = $adminPass->isValidNewPassword() === 0 ? true : false; if (isset($_POST['reset_login']) && $_POST['reset_login'] == 1) { $loginPass = new PasswordAuth(); $newLoginPass = $loginPass->getNewPassword(12); $loginPass->inputNewPassword = $newLoginPass; $loginPass->inputNewPassword2 = $newLoginPass; $message = str_replace(array("[USER_NAME]", "[NEW_PASS]", "[NEW_ADMIN_PASS]", "[ADMIN]", "[RESET_MESSAGE]"), array($data['user_name'], $newLoginPass, $newAdminPass, $userdata['user_name'], $reset_message), $locale['409']); $loginPassIsReset = $loginPass->isValidNewPassword() === 0 ? true : false; } else { $message = str_replace(array("[USER_NAME]", "[NEW_ADMIN_PASS]", "[ADMIN]", "[RESET_MESSAGE]"), array($data['user_name'], $newAdminPass, $userdata['user_name'], $reset_message), $locale['408']); $loginPassIsReset = true; } if ($loginPassIsReset && $adminPassIsReset && sendemail($data['user_name'], $data['user_email'], $userdata['user_name'], $userdata['user_email'], $locale['407'] . $settings['sitename'], $message)) { $result2 = dbquery("UPDATE " . DB_USERS . " SET\n\t\t\t\t\t\t" . ($newLoginPass ? "user_algo='" . $loginPass->getNewAlgo() . "', user_salt='" . $loginPass->getNewSalt() . "', \n\t\t\t\t\t\t\t\t\t\t\tuser_password='******', " : "") . "\n\t\t\t\t\t\tuser_admin_algo='" . $adminPass->getNewAlgo() . "', user_admin_salt='" . $adminPass->getNewSalt() . "', \n\t\t\t\t\t\tuser_admin_password='******'\n\t\t\t\t\tWHERE user_id='" . $data['user_id'] . "'"); $reset_success[] = array($data['user_id'], $data['user_name'], $data['user_email']); } else { $reset_failed[] = array($data['user_id'], $data['user_name'], $data['user_email']); } }
private function _setEmailVerification() { global $settings, $locale; require_once INCLUDES . "sendmail_include.php"; $userCode = hash_hmac("sha1", PasswordAuth::getNewPassword(), $this->_userEmail); $activationUrl = $settings['siteurl'] . "register.php?email=" . $this->_userEmail . "&code=" . $userCode; $message = str_replace("USER_NAME", $this->_userName, $locale['u152']); $message = str_replace("USER_PASSWORD", $this->_newUserPassword, $message); $message = str_replace("ACTIVATION_LINK", $activationUrl, $message); if (sendemail($this->_userName, $this->_userEmail, $settings['siteusername'], $settings['siteemail'], $locale['u151'], $message)) { $userInfo = serialize(array("user_name" => $this->_userName, "user_password" => $this->_newUserPasswordHash, "user_salt" => $this->_newUserPasswordSalt, "user_algo" => $this->_newUserPasswordAlgo, "user_email" => $this->_userEmail, "user_field_fields" => $this->_dbFields, "user_field_inputs" => $this->_dbValues)); $userInfo = addslash($userInfo); $result = dbquery("INSERT INTO " . DB_NEW_USERS . " (\n\t\t\t\t\tuser_code, user_name, user_email, user_datestamp, user_info\n\t\t\t\t) VALUES(\n\t\t\t\t\t'" . $userCode . "', '" . $this->_userName . "', '" . $this->_userEmail . "', '" . time() . "', '" . $userInfo . "'\n\t\t\t\t)"); $this->_completeMessage = $locale['u150']; } else { $this->_setError("email_activation", $locale['u153'] . "<br />" . $locale['u154']); } }
/** * Handle request for email verification * Sends Verification code when you change email * Sends Verification code when you register */ private function _setEmailVerification() { global $settings, $locale, $defender; require_once INCLUDES . "sendmail_include.php"; $userCode = hash_hmac("sha1", PasswordAuth::getNewPassword(), $this->_userEmail); $activationUrl = $settings['siteurl'] . "register.php?email=" . $this->_userEmail . "&code=" . $userCode; $message = str_replace("USER_NAME", $this->_userName, $locale['u152']); $message = str_replace("SITENAME", fusion_get_settings("sitename"), $message); $message = str_replace("SITEUSERNAME", fusion_get_settings("siteusername"), $message); $message = str_replace("USER_PASSWORD", $this->_newUserPassword, $message); $message = str_replace("ACTIVATION_LINK", $activationUrl, $message); $subject = str_replace("[SITENAME]", fusion_get_settings("sitename"), $locale['u151']); if (sendemail($this->_userName, $this->_userEmail, $settings['siteusername'], $settings['siteemail'], $subject, $message)) { $user_info = array(); $quantum = new QuantumFields(); $quantum->setCategoryDb(DB_USER_FIELD_CATS); $quantum->setFieldDb(DB_USER_FIELDS); $quantum->setPluginFolder(INCLUDES . "user_fields/"); $quantum->setPluginLocaleFolder(LOCALE . LOCALESET . "user_fields/"); $quantum->set_Fields(); $quantum->load_field_cats(); $quantum->setCallbackData($this->data); $fields_input = $quantum->return_fields_input(DB_USERS, 'user_id'); // how to update all the field tables without override its value? if (!empty($fields_input)) { foreach ($fields_input as $table_name => $fields_array) { $user_info += $fields_array; } } $userInfo = serialize($user_info); $userInfo = addslash($userInfo); $result = dbquery("INSERT INTO " . DB_NEW_USERS . "\n\t\t\t\t\t(user_code, user_name, user_email, user_datestamp, user_info)\n\t\t\t\t\tVALUES\n\t\t\t\t\t('" . $userCode . "', '" . $this->data['user_name'] . "', '" . $this->data['user_email'] . "', '" . time() . "', '" . $userInfo . "'\n\t\t\t\t\t)"); $this->_completeMessage = $locale['u150']; } else { $defender->stop(); $message = str_replace("[LINK]", "<a href='" . BASEDIR . "contact.php'><strong>", $locale['u154']); $message = str_replace("[/LINK]", "</strong></a>", $message); addNotice('danger', $locale['u153'] . "<br />" . $message); } }