Esempio n. 1
0
 /**
  * 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);
     }
 }
Esempio n. 2
0
 public static function getNewRandomSalt($length = 12)
 {
     return sha1(PasswordAuth::getNewPassword($length));
 }
Esempio n. 3
0
 } 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']);
     }
 }
Esempio n. 5
0
 /**
  * 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);
     }
 }