Import unix passwords for svn access, and fix passwrod/password typo.
This commit is contained in:
@@ -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];
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -52,6 +52,7 @@ class MigrateUser {
|
||||
public $date;
|
||||
public $timezone;
|
||||
public $password;
|
||||
public $unix_password;
|
||||
}
|
||||
|
||||
class MigrateImportedUser {
|
||||
|
Reference in New Issue
Block a user