Please upgrade here. These earlier versions are no longer being updated and have security issues.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.
Importer Tweak: Allow "reset" password type
Some forums use crazy and/or random password hashing algorithms (I'm looking at you SMF.) Since these hashing methods aren't supported by Vanilla, the only viable password type to use for an import is "reset", but the importer has a small bug that prevents this from working very well. I'm including two small code changes for applications/dashboard/models/class.importmodel.php that fix this issue. Could you include these changes in the next update?
In AuthenticateAdminUser(), replace
In AuthenticateAdminUser(), replace
$Result = $PasswordHash->CheckPassword($OverwritePassword, GetValue('Password', $Data), $this->GetPasswordHashMethod());with
if ($this->GetPasswordHashMethod() == 'reset') { $Result = true; } else { $Result = $PasswordHash->CheckPassword($OverwritePassword, GetValue('Password', $Data), $this->GetPasswordHashMethod()); }In InsertUserTable(), replace
// Set the admin user flag. $AdminEmail = GetValue('OverwriteEmail', $this->Data); $this->Query('update :_User set Admin = 1 where Email = :Email', array(':Email' => $AdminEmail));with
// If doing a password reset, save out the new admin password: if ($this->GetPasswordHashMethod() == 'reset') { $PasswordHash = new Gdn_PasswordHash(); $Hash = $PasswordHash->HashPassword(GetValue('OverwritePassword', $this->Data)); // write it out. $AdminEmail = GetValue('OverwriteEmail', $this->Data); $this->Query('update :_User set Admin = 1, Password = :Hash, HashMethod = "vanilla" where Email = :Email', array(':Hash' => $Hash, ':Email' => $AdminEmail)); } else { // Set the admin user flag. $AdminEmail = GetValue('OverwriteEmail', $this->Data); $this->Query('update :_User set Admin = 1 where Email = :Email', array(':Email' => $AdminEmail)); }
0
Comments
and, when will the export tool be included in the admin dashboard?
Vanilla Forums COO [GitHub, Twitter, About.me]
@bobtheman. I want to get this in eventually, but there is a tonne of higher priority stuff right now.
Here is what I have come up with so far.
Followed all the instructions above but met a problem with the following lines:
// Set the admin user flag.
$AdminEmail = GetValue('OverwriteEmail', $this->Data);
$this->Query('update :_User set Admin = 1 where Email = :Email', array(':Email' => $AdminEmail));
In Vanilla 2 these lines do not exist together. They have been changed and moved around. Therefore the instructions here need to be updated as they no longer apply to those of us who use Vanilla 2.
Please update this as I suspect it has caused many people alot of heartache. I will be migrating to my SMF forum to Vanilla the minute I can be sure that there is an effective method to export.
Looking forward to it.
There was an error rendering this rich post.