Add a scary 'experimental feture' warning & are-you-sure prompt on moveuser.php

As with deleteuser.php, can pass -y to bypass the prompt if you're sure.
This commit is contained in:
Brion Vibber 2011-01-19 15:13:46 -08:00
parent 64844473f8
commit 4026e208c2
2 changed files with 14 additions and 2 deletions

View File

@ -161,7 +161,7 @@ class DeleteaccountAction extends Action
if ($this->trimmed('iamsure') != $iamsure ) { if ($this->trimmed('iamsure') != $iamsure ) {
// TRANS: Notification for user about the text that must be input to be able to delete a user account. // TRANS: Notification for user about the text that must be input to be able to delete a user account.
// TRANS: %s is the text that needs to be input. // TRANS: %s is the text that needs to be input.
$this->_error = sprintf(_('You must write "%s" exactly in the box.', $iamsure)); $this->_error = sprintf(_('You must write "%s" exactly in the box.'), $iamsure);
$this->showPage(); $this->showPage();
return; return;
} }

View File

@ -19,7 +19,7 @@
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..')); define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
$shortoptions = 'i:n:r:w:'; $shortoptions = 'i:n:r:w:y';
$longoptions = array('id=', 'nickname=', 'remote=', 'password='); $longoptions = array('id=', 'nickname=', 'remote=', 'password=');
$helptext = <<<END_OF_MOVEUSER_HELP $helptext = <<<END_OF_MOVEUSER_HELP
@ -30,6 +30,7 @@ Move a local user to a remote account.
-n --nickname nickname of the user to move -n --nickname nickname of the user to move
-r --remote Full ID of remote users -r --remote Full ID of remote users
-w --password Password of remote user -w --password Password of remote user
-y --yes do not wait for confirmation
Remote user identity must be a Webfinger (nickname@example.com) or Remote user identity must be a Webfinger (nickname@example.com) or
an HTTP or HTTPS URL (http://example.com/social/site/user/nickname). an HTTP or HTTPS URL (http://example.com/social/site/user/nickname).
@ -51,6 +52,17 @@ try {
$password = get_option_value('w', 'password'); $password = get_option_value('w', 'password');
if (!have_option('y', 'yes')) {
print "WARNING: EXPERIMENTAL FEATURE! Moving accounts will delete data from the source site.\n";
print "\n";
print "About to PERMANENTLY move user '{$user->nickname}' to $remote. Are you sure? [y/N] ";
$response = fgets(STDIN);
if (strtolower(trim($response)) != 'y') {
print "Aborting.\n";
exit(0);
}
}
$qm = QueueManager::get(); $qm = QueueManager::get();
$qm->enqueue(array($user, $remote, $password), 'acctmove'); $qm->enqueue(array($user, $remote, $password), 'acctmove');