We are no longer offering accounts on this server. Consider https://gitlab.freedesktop.org/ as a place to host projects.

Commit 529b2f66 authored by mattl's avatar mattl

deleteuser script changed to deleteprofile

Delete remote profiles by providing their ID if known, or you can
provide their profile URI with --uri=https://...

Useful for cleaning up old, long gone and no longer desired profiles
and their notices.
parent f9f7c467
......@@ -20,15 +20,16 @@
define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
$shortoptions = 'i::n::y';
$longoptions = array('id=', 'nickname=', 'yes');
$shortoptions = 'i::n::u::y';
$longoptions = array('id=', 'nickname=', 'uri=', 'yes');
deleteuser.php [options]
deletes a user from the database
deleteprofile.php [options]
deletes a profile from the database
-i --id ID of the user
-n --nickname nickname of the user
-i --id ID of the profile
-n --nickname nickname of a local user
-u --uri OStatus profile URI (only remote users, requires OStatus plugin)
-y --yes do not wait for confirmation
......@@ -37,25 +38,34 @@ require_once INSTALLDIR.'/scripts/commandline.inc';
if (have_option('i', 'id')) {
$id = get_option_value('i', 'id');
$user = User::getKV('id', $id);
if (empty($user)) {
print "Can't find user with ID $id\n";
$profile = Profile::getKV('id', $id);
if (!$profile instanceof Profile) {
print "Can't find profile with ID $id\n";
} else if (have_option('n', 'nickname')) {
$nickname = get_option_value('n', 'nickname');
$user = User::getKV('nickname', $nickname);
if (empty($user)) {
if (!$user instanceof User) {
print "Can't find user with nickname '$nickname'\n";
$profile = $user->getProfile();
} else if (have_option('u', 'uri')) {
$uri = get_option_value('u', 'uri');
$oprofile = Ostatus_profile::getKV('uri', $uri);
if (!$oprofile instanceof Ostatus_profile) {
print "Can't find profile with URI '$uri'\n";
$profile = $oprofile->localProfile();
} else {
print "You must provide either an ID or a nickname.\n";
print "You must provide either an ID, a URI or a nickname.\n";
if (!have_option('y', 'yes')) {
print "About to PERMANENTLY delete user '{$user->nickname}' ({$user->id}). Are you sure? [y/N] ";
print "About to PERMANENTLY delete profile '".$profile->getNickname()."' ({$profile->id}). Are you sure? [y/N] ";
$response = fgets(STDIN);
if (strtolower(trim($response)) != 'y') {
print "Aborting.\n";
......@@ -64,5 +74,5 @@ if (!have_option('y', 'yes')) {
print "Deleting...";
print "DONE.\n";
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment