Import unix passwords for svn access, and fix passwrod/password typo.

This commit is contained in:
2013-11-12 14:28:32 +01:00
parent 365f8ad981
commit 76e4aaf429
4 changed files with 33 additions and 2 deletions

View File

@@ -24,10 +24,11 @@ require_once $gfwww.'include/squal_pre.php';
require_once 'storage.php';
// (A)ctive, (P)ending, (S)uspended ,(D)eleted
$res = db_query_params ('SELECT user_id,user_pw,user_name,realname,email,add_date,timezone FROM users WHERE status=$1 ORDER BY user_id', array('A'));
$res = db_query_params ('SELECT user_id,user_pw,unix_pw,user_name,realname,email,add_date,timezone FROM users WHERE status=$1 ORDER BY user_id', array('A'));
$user_ids = &util_result_column_to_array ($res, "user_id");
$user_pws = &util_result_column_to_array ($res, "user_pw");
$unix_pws = &util_result_column_to_array ($res, "unix_pw");
$user_names = &util_result_column_to_array ($res, "user_name");
$user_realnames = &util_result_column_to_array ($res, "realname");
$user_emails = &util_result_column_to_array ($res, "email");
@@ -41,6 +42,7 @@ for ($i = 0; $i < count ($user_names); $i++)
$muser = new MigrateUser();
$muser->id = $user_ids[$i];
$muser->password = $user_pws[$i];
$muser->unix_password = $unix_pws[$i];
$muser->name = $user_names[$i];
$muser->realname = trim($user_realnames[$i]);
$muser->email = $user_emails[$i];

View File

@@ -122,12 +122,40 @@ foreach ($musers as $muser)
->setActor($user)
->createNewUser($user, $email_object);
/* profile */
$profile = $user->loadUserProfile();
$profile->setTitle('');
$profile->setBlurb('');
$user->save();
/* set password */
$envelope = new PhutilOpaqueEnvelope($muser->password);
id(new PhabricatorUserEditor())
->setActor($user)
->changePassword($user, $envelope, true);
/* set unix password */
$htaccess_hash = $muser->unix_password;
if($htaccess_hash) {
$field_list = PhabricatorCustomField::getObjectFields(
$user,
PhabricatorCustomField::ROLE_APPLICATIONTRANSACTIONS);
$fields = $field_list->getFields();
$htaccess_field = idx($fields, 'std:user:htaccess_password_hash');
$old_value = $htaccess_field->getOldValueForApplicationTransactions();
$xaction = id(new PhabricatorUserTransaction())
->setTransactionType(PhabricatorTransactions::TYPE_CUSTOMFIELD)
->setMetadataValue('customfield:key', $htaccess_field->getFieldKey())
->setOldValue($old_value)
->setNewValue($htaccess_hash);
$editor = id(new PhabricatorUserProfileEditor())
->setActor($user)
->setContentSource($xaction->getContentSource());
$editor->applyTransactions($user, array($xaction));
}
/* log imported user */
$importedusers[$username] = $importeduser;
$usedemails[strtolower($email)] = $username;

View File

@@ -84,7 +84,7 @@ set maniphest.priorities
set user.custom-field-definitions
{
"htaccess_passowrd_hash":{"name":"htaccess passowrd hash","type":"text","hidden":true}
"htaccess_password_hash":{"name":"htaccess password hash","type":"text","hidden":true}
}
Disable irrelevant applications

View File

@@ -52,6 +52,7 @@ class MigrateUser {
public $date;
public $timezone;
public $password;
public $unix_password;
}
class MigrateImportedUser {