Inactivating PHPBB account

Do not post support requests, bug reports or feature requests. Discuss phpBB here. Non-phpBB related discussion goes in General Discussion!
Suggested Hosts
Post Reply
az2000
Registered User
Posts: 37
Joined: Mon Dec 14, 2009 10:54 pm

Inactivating PHPBB account

Post by az2000 »

There should be a one-button way for a user to inactivate their account.

I've read a few threads about this, and the usual response is "if an account is deleted, the deleted posts will screw up the flow of conversations." But, that seems to miss the point. There should be a way to abandon an account without going through a lot of gyrations like scrambling the password and setting the email to gibberish (which isn't easy when the forum tests for a valid MX record, and can even lead to an unintentional person getting the confirmation email).

In my mind, a one-button inactivation would be good for disabling PMs and emails, logins, and removing all personal information about the individual (avatar, signature, location, web site, email address, etc.).

But, perhaps the most valuable thing would be to display a notification next to all posts by that user that they abandoned their account.

I've seen a few PHPBB forums claiming to have 30,000 members. I think that's extremely fraudulent when they have only 20-30 people browsing forums at any given point. I suspect that if accounts could be inactivated (and their "last logged in: n days ago" were displayed), it would tell an entirely different story about those 30,000 members.

Summary:

1. Easy way for users to disable their accounts. I.e., an easy way to "do the right thing."
2. More emphasis on keeping forum owners honest about the activity level of their boards (display "disabled" or "last logged in n days ago" next to each posting).
Pony99CA
Registered User
Posts: 4783
Joined: Thu Sep 30, 2004 3:13 pm
Location: Hollister, CA
Name: Steve
Contact:

Re: Inactivating PHPBB account

Post by Pony99CA »

az2000 wrote:There should be a one-button way for a user to inactivate their account.

I've read a few threads about this, and the usual response is "if an account is deleted, the deleted posts will screw up the flow of conversations." But, that seems to miss the point.
No, I think that you're missing the point. An admin can delete a user's account without deleting the posts. That won't break the flow, and the user's account will be effectively disabled and no personal information will be shown (except the user name, and, if you don't like that, the admin could change the user's name before deleting the user).

You have to ask an admin to do that, though. If an admin won't delete the account, what are the odds that he'll allow the user to disable his account? (NOTE: An admin can also deactivate a user, but I'm not sure if that hides the user information.)
az2000 wrote:In my mind, a one-button inactivation would be good for disabling PMs and emails, logins, and removing all personal information about the individual (avatar, signature, location, web site, email address, etc.).
All that stuff will disappear upon deleting the account.
az2000 wrote:But, perhaps the most valuable thing would be to display a notification next to all posts by that user that they abandoned their account.
Deleting the account displays the user name in the "guest" font, letting people know that the user is not registered. If that's not enough, as I mentioned above, the admin can change the user's name before deleting him, so he could change the user name to say "Deactivated User".
az2000 wrote:I've seen a few PHPBB forums claiming to have 30,000 members. I think that's extremely fraudulent when they have only 20-30 people browsing forums at any given point. I suspect that if accounts could be inactivated (and their "last logged in: n days ago" were displayed), it would tell an entirely different story about those 30,000 members.
That's true, but so what? Those members could have registered back in the day or could even be spammers if people just ban them instead of delete them. Assuming they aren't spammers, that site did get that number of people, so what's the problem? It's like a hit counter on a Web site that never gets reset.
az2000 wrote:1. Easy way for users to disable their accounts. I.e., an easy way to "do the right thing."
Currently that would require a MOD. However, as I said above, if the board admin isn't willing to delete the user, what are the odds that he'll activate this feature?
az2000 wrote:2. More emphasis on keeping forum owners honest about the activity level of their boards (display "disabled" or "last logged in n days ago" next to each posting).
If you look in the Member List (in ProSilver), the rightmost column shows when the user was last active. In both ProSilver and SubSilver2, the user's profile entry shows the last visited date. So it's not like this information is difficult to find (it's one click away by clicking the user name next to the post) assuming that the admin allows you to view the Member List or user profiles.

In summary, phpBB allows seeing when the user was last active and a user can get their account deactivated by sending an E-mail to the admin, so I see no reason for this feature.

Steve
Silicon Valley Pocket PC (http://www.svpocketpc.com)
Creator of manage_bots and spoof_user (ask me)
Need hosting for a small forum with full cPanel & MySQL access? Contact me or PM me.
User avatar
Oyabun1
Former Team Member
Posts: 23162
Joined: Sun May 17, 2009 1:05 pm
Location: Australia
Name: Bill

Re: Inactivating PHPBB account

Post by Oyabun1 »

az2000 wrote: 1. Easy way for users to disable their accounts. I.e., an easy way to "do the right thing."
Do you really think many people would use such a “feature”? In my experience the vast majority of people don’t make a conscious decision to leave a forum it’s just their interests or circumstances change or they find better sites and then they just don’t log in again. Therefore, it is very unlikely that people would ever think to revisit a forum just so they could deactivate their account. What are they supposed to gain by doing that?
az2000 wrote:2. More emphasis on keeping forum owners honest about the activity level of their boards (display "disabled" or "last logged in n days ago" next to each posting).
There's a MOD for that, Last Visit in Viewtopic.
                      Support Request Template
3.0.x: Knowledge Base Styles Support MOD Requests
3.1.x: Knowledge BaseStyles SupportExtension Requests
massivedesign
Registered User
Posts: 6
Joined: Sat Mar 12, 2011 4:29 am

Re: Inactivating PHPBB account

Post by massivedesign »

I have had a few users wish to take their ball and leave on my forum. No biggie, I just tell them to change their email address to nobody@nobody.com. The site will then re-send out a re-activation email to that new email address... Poof, account deactivated.
User avatar
Lumpy Burgertushie
Registered User
Posts: 67894
Joined: Mon May 02, 2005 3:11 am
Contact:

Re: Inactivating PHPBB account

Post by Lumpy Burgertushie »

I don't understand the problem here. 99% of the time, people that don't want to be members of your board anymore simply do not come back. problem solved.

if they don't come back, they have no way of knowing whether their account is active or not.


robert
I'm baaaaaccckkkk. still doing work on donation basis. PM your needs.

Premium phpBB 3.3 Styles by PlanetStyles.net

If nobody is in the forest, does a tree really fall?
Pony99CA
Registered User
Posts: 4783
Joined: Thu Sep 30, 2004 3:13 pm
Location: Hollister, CA
Name: Steve
Contact:

Re: Inactivating PHPBB account

Post by Pony99CA »

massivedesign wrote:I have had a few users wish to take their ball and leave on my forum. No biggie, I just tell them to change their email address to nobody@nobody.com. The site will then re-send out a re-activation email to that new email address... Poof, account deactivated.
Bad idea. First, nobody.com is a real domain, so you could theoretically be spamming an innocent person. You should use example.com as the domain; that's the official test domain.

Second, why not just deactivate them in the ACP yourself?
Lumpy Burgertushie wrote:I don't understand the problem here. 99% of the time, people that don't want to be members of your board anymore simply do not come back. problem solved.
The original post alluded to the reason. They don't want anything associated with "them". If they don't do as the OP suggested, all of their profile information will still be visible until the board goes away or the admin prunes inactivate users.

Yes, it's probably stupid, but I can't control what other people want. That's why I suggested changing the user name and deleting the account (but keeping the posts); that gets rid of PMs (maybe not sent PMs that the recipient has read, though) and profile information and disassociates the user's name from the posts.

Steve
Silicon Valley Pocket PC (http://www.svpocketpc.com)
Creator of manage_bots and spoof_user (ask me)
Need hosting for a small forum with full cPanel & MySQL access? Contact me or PM me.
User avatar
Auridesion
Registered User
Posts: 16
Joined: Thu Mar 24, 2011 1:21 pm
Location: Dallas, Texas
Name: Jo Wilson
Contact:

Re: Inactivating PHPBB account

Post by Auridesion »

I pretty much agree with everything that Pony99CA had to say on this subject.

I'd like to further add (directed at the OP): I think your suggestion could potentially do more harm than good. I'm the type of webmaster who tries to idiot proof everything, and the sad truth is there are a lot of people who don't always pay attention to messy things like an "are you sure you wish to carry out this operation?" warning. I've encountered every type of novice user, and dealt with trouble shooting on a lot of ID10T errors. Once, a user accidentally deleted their avatar because they weren't paying attention to the fact that they selected the "delete image" checkbox without first replacing it with a different image.

I could see a lot of people accidentally deactivating their account. And, in order to make sure that no one deactivates without REALLY meaning to do so... well, there should probably be a whole lot of warning, and some extra steps in the process to make sure people know that they're about to deactivate their account. And, in that case, it might actually just be easier to ask the admin(s) to deactivate their account.

For forums which actually prune their content, almost everything you said is rather a non-issue. Because if the last time that user was online was over a year ago, then most of their posts would probably already be pruned because they belonged in older topics. For the few topics that are much older but still alive, everything Pony mentioned is totally relevant. It is possible to delete without losing the user's posts.

And, if you want to kick it up a notch from Steve's (Pony's) suggestion to change the username of said user, here's something else you could do:

Create a new group via the ACP. Call it, "The Defectors" (or something lame like, "I want to deactivate my account") and make it an open group. You can give this group a special rank/rank-image that says something snazzy like "I'm totally defecting!" (or maybe something lame like "Requested Account Deactivation"). Users who want to deactivate their own account can freely join this group (assuming you made it an open group), and once in it, the board admin responsible for managing users can delete the account as Steve suggested, or simply deactivate the account.
"We're all mad here." -- The Cheshire Cat
Pony99CA
Registered User
Posts: 4783
Joined: Thu Sep 30, 2004 3:13 pm
Location: Hollister, CA
Name: Steve
Contact:

Re: Inactivating PHPBB account

Post by Pony99CA »

As a follow-up, I just accidentally stumbled upon the Delete self account MOD. It's beta code, but might be what the OP is looking for.

Steve
Silicon Valley Pocket PC (http://www.svpocketpc.com)
Creator of manage_bots and spoof_user (ask me)
Need hosting for a small forum with full cPanel & MySQL access? Contact me or PM me.
User avatar
Volksdevil
Registered User
Posts: 2414
Joined: Sun Oct 03, 2010 2:03 pm
Location: Lancashire, UK
Name: Neil
Contact:

Re: Inactivating PHPBB account

Post by Volksdevil »

Interesting...I've been looking for something like this myself. For my site i needed a way for users to 'deactivate' or 'reactivate' themselves. My site doesn't have forums as such, it's more based on user profiles...so people need to remove their profiles if they wish. It just allows a nicer way for a user (active or not) to email you through a nice form to request activation/deactivation.

I've done something extremely simple to get what I needed. It also gives users the option to recommend you to a friend, ideal for when they are reactivating. I can't guarantee that this is a good/safe way. Backup before using. I'm no coder in all honesty so it can probably be improved.

Save this as deactivate.php and put it in your forum root, change all CAPITALS

Code: Select all

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');     

page_header('TITLE_HERE');

if(count($_POST)) {
# This section nukes nasty code that a malicious
# party may attempt to inject into the form

foreach(array('friendmail1','friendmail2','friendmail3','email','name','tmessage') as $key) $_POST[$key] = strip_tags($_POST[$key]);
if(!is_secure($_POST)) { die("Asta la vista Hacker");}

# This section sends an email to you when 
# the form is used

// Your email address (for copies to be sent to you)
$emailto = "INSERT YOUR EMAIL ADDY"; 

// Your email subject text
$esubject = "CHOOSE AN EMAIL SUBJECT"; 

// The email text for copies sent to you
$emailtext = "
Username: $_POST[username].
Name: $_POST[name].
Email: $_POST[email]
Found through: $_POST[found]

Enquiry:
$_POST[enquiry]


$_POST[tmessage]

";

# This sends the email to you

@mail("$emailto", $esubject, $emailtext, "From: $_POST[email]");

# This section sends to the recipients

// Target page after successful submission
// Change DEACTIVATED.PHP to suit

$thankyoupage = "http://www.YOUR WEBSITE.COM/deactivated.php"; 

// Change the subject text below to suit

$tsubject = "Check this website, $_POST[name]";

// Change the text below for the email 
// Don't change any "$_POST[value]" items

$ttext = "
Hello there,

A friend, family member or colleague of yours, $_POST[name] , whose email address is $_POST[email] thought you may like to visit our website.

http://www.YOUR WEBSITE.COM.

SOME MORE TEXT ABOUT YOUR SITE

We hope you find our site of interest as $_POST[name] has.

Many thanks.
All at http://www.YOUR SITE.COM


";


# This emails the recommendation to the addresses submitted
@mail("$_POST[friendmail],$_POST[friendmail2],$_POST[friendmail3]", $tsubject, $ttext, "FROM: $_POST[email]");

# After successful processing, the thank you page
header("Location: $thankyoupage");
exit;

}

# Don't change anything below

function is_secure($ar) {
$reg = "/(Content-Type|Bcc|MIME-Version|Content-Transfer-Encoding)/i";
if(!is_array($ar)) { return preg_match($reg,$ar);}
$incoming = array_values_recursive($ar);
foreach($incoming as $k=>$v) if(preg_match($reg,$v)) return false;
return true;
}

function array_values_recursive($array) {
$arrayValues = array();
foreach ($array as $key=>$value) {
if (is_scalar($value) || is_resource($value)) {
$arrayValues[] = $value;
$arrayValues[] = $key;
}
elseif (is_array($value)) {
$arrayValues[] = $key;
$arrayValues = array_merge($arrayValues, array_values_recursive($value));
}
}
return $arrayValues;
}
$template->set_filenames(array(
    'body' => 'deactivate.htm',
));

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
Save this as deactivated.php and put in the same root folder, no need to change anything.

Code: Select all

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

page_header('DONE!!!');

$template->set_filenames(array(
    'body' => 'deactivated.htm',
));

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_footer();
?>
Save this as deactivate.htm and put in your style/templates folder. Change CAPITALS in first one

Code: Select all

<!-- INCLUDE overall_header.html -->
<meta name="robots" content="noindex,nofollow" />
<script type="text/javascript" src="http://www.YOUR WEBSITE.COM/scripts/activation.js" /></script>

<h2>Account activation/deactivation</h2>

<div class="panel">
   <div class="inner"><span class="corners-top"><span></span></span>

   <div class="content">
		
	<p>If you would like to Activate or Deactivate your account, please fill out the form below.</p><hr />
<p>If you are deactivating, maybe we can help? Did you know that you can block users from sending you messages for example?<br />View our <a href="http://www.YOURWEBSITE.COM/faq.php" />FAQ page</a> or email us as YOUR EMAIL ADDY.</p>
		
<form name="contact" class="form" action="http://www.YOUR WEBSITE.COM/deactivate.php" method="post" style="text-align: center">
<p><b>Site username</b> <span id="username">- Required</span><br />
<input size="25" name="username" maxlength="50" rows="1" cols="25" style="color:#0066ff;" /></p>

<p><b>First name</b> <span id="name">- Required</span><br />
<input size="25" name="name" maxlength="50" rows="1" cols="25" style="color:#0066ff;" /></p>

<p><b>Email</b> <span id="email">- Required</span><br />
<input size="25" name="email" maxlength="100" rows="1" cols="25" style="color:#0066ff;" /></p>

<p><b>Found us how</b> <span id="found">- Required</span><br />
<input size="38" name="found" maxlength="100" onfocus="this.value=''" value="" style="color:#0066ff;" /></p>

<p><b>Notes - Optional</b><br />
<textarea size="25" name="enquiry" maxlength="500" rows="3" tabindex="0" cols="25" style="color:#0066ff;" /></textarea></p>

<p>Tell a friend about us - Optional<br />
<input size="38" name="friendmail" maxlength="50" onfocus="this.value=''" value="Friends email (optional)" style="color:#0066ff;" /></p>

<p>
<input onclick="return CheckTheForm();" type="submit" value="Send request" alt="Send" title="Send" style="font-weight:700" id="contactform">
</p>
</form>
   </div>

   <span class="corners-bottom"><span></span></span></div>
</div>

<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->
Save this as deactivated.htm and put in same folder as above file.

Code: Select all

<!-- INCLUDE overall_header.html -->
<meta name="robots" content="noindex,nofollow" />

<h2>Done!</h2>

<div class="panel">
   <div class="inner"><span class="corners-top"><span></span></span>

   <div class="content">
		
	<p>Thank you for your request. We shall deal with it as speedily as we can.</p>

</div>

   <span class="corners-bottom"><span></span></span></div>
</div>

<!-- INCLUDE jumpbox.html -->
<!-- INCLUDE overall_footer.html -->
Create a folder in your root called 'scripts' and save the below as activation.js then upload it to the new scripts folder.

Code: Select all

function reset() {
document.contact.name.value="";
document.contact.username.value="";
document.contact.email.value="";
document.contact.enquiry.value="";
document.contact.found.value="";
}

function CheckTheForm() { 
    var result = true; 
    var msg=""; 
        
    if (document.contact.username.value=="") { 
        msg+="Please enter your Username! \n"; 
        document.contact.username.focus(); 
        document.getElementById('username').style.color="red"; 
        result = false; 
   
    } 
    if (document.contact.name.value=="") { 
        msg+="Please enter your First name! \n"; 
        document.contact.name.focus(); 
        document.getElementById('name').style.color="red"; 
        result = false; 
   
    } 
    if (document.contact.email.value=="") { 
        msg+="Please enter your Email address! \n"; 
        document.contact.email.focus(); 
        document.getElementById('email').style.color="red"; 
        result = false; 
        
    } 
    if (document.contact.found.value=="") { 
        msg+="Please enter how you Found us! \n"; 
        document.contact.found.focus(); 
        document.getElementById('found').style.color="red"; 
        result = false; 
        
    } 

    if(msg==""){ 
    return result; 
    }{ 
    alert(msg) 
    return result; 
    } 
} 
Go to style/template/ucp_profile_reg_details.html and find:

Code: Select all

<fieldset class="submit-buttons">
	{S_HIDDEN_FIELDS}<input type="reset" value="{L_RESET}" name="reset" class="button2" />&nbsp; 
	<input type="submit" name="submit" value="{L_SUBMIT}" class="button1" />
	{S_FORM_TOKEN}
</fieldset>
</form>
After add this but change YOUR WEBSITE.COM: This adds a deactivate account option when viewing ucp/Edit account settings.

Code: Select all

<div class="panel">
	<div class="inner"><span class="corners-top"><span></span></span>

	<fieldset>
		<dl><dt>
		<strong>Account Deactivation:</strong><br />
Deactivating means you will only be able to view as a guest, to reactivate simply go to log in and follow the instructions.
		</dt>
<dd>&nbsp;</dd>
<dd>
<center><input type="submit" class="button2" value="Deactivate" onclick="window.location='http://www.YOUR WEBSITE.COM/deactivate.php'; return true;"></center></dd>


	</dl>
	</fieldset>

	<span class="corners-bottom"><span></span></span></div>
</div>
Now go to language/your language/common.php and find:

Code: Select all

'ACTIVE_ERROR'               => 'The specified username is currently inactive. If you have problems activating your account, please contact a board administrator.',
Change it to this, but change the CYOUR WEBSITE.COM

Code: Select all

'ACTIVE_ERROR'					=> 'Account currently inactive. Please <a href="http://www.YOUR WEBSITE.COM/deactivate.php" rel="nofollow" />Click Here</a> to reactivate your account.',
That's what I've done anyway, probably a crap way to do it :oops: :lol: But it may help someone.
My phpBB Extensions
Finally found great Website Hosting from Image KUALO!
Do NOT use 123-reg.co.uk - Incapable of running phpBB!
:ugeek: TekNeil - Streamer on Mixer | My Volkswagen Corrado G60
Post Reply

Return to “phpBB Discussion”