Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Un-Activated User Management Details »»
Un-Activated User Management
Version: 2.5.2, by sabret00the sabret00the is offline
Developer Last Online: Apr 2010 Show Printable Version Email this Page

Version: 3.0.1 Rating:
Released: 06-03-2004 Last Update: 04-21-2005 Installs: 36
 
No support by the author.

although i know this works manually, it's untested via cron

Quote:
Originally Posted by AmyKhar
This hack will email a warning to members who have not activated their account and then delete them. It can run via cron, and is a pretty darn easy hack to install.

Features:
1. Emails users after 3 days and reminds them to activate their accounts.


2. Emails users after 5 days and lets them know their account will be deleted if they do not activate.

3. Emails users after 8 days with a final warning.

4. Deletes un-activated members after 10 days.
it still does exactly the same but this time for vb3

oh yeah, it emails you to tell you who was deleted, emailed so you're always informed.

if you got a big board you can't live without this, it stops the crap from piling up.

anything messes up, i can't take responsibility i'm afraid so back up before you try it.

#########################################
Add-On:
#########################################
if you like your templates in your admin cp neat then do this:
in "includes/adminfunctions_template.php" find
PHP Code:
    'subscription' => $vbphrase['group_paid_subscriptions'], 
add below
PHP Code:
    'activationemail' => ActivationEmail
now save and close cos you're done :cheeky: :bored:

[high]wol stuff been removed due to the fact this should now be in the cron directory and thus won't show up anyway[/high]

and now like the days of our youth where everything was free and our mum would have dinner on the table for us, you're done.

[high]this was a fantastic vb2 hack and was made with blood, sweat and tears by Amy, she deserves all the credit for doing a fantastic job and then giving me permission to release this, so please if you install this should your gratitude in her direction as without her it would've been impossible.

the two critical bugs that a/ it wasn't sending the activationid and b/ it was deleting users who didn't change their email correctly, have been squashed by Psico[/high]

v2.1: Boofo killed 2 bugs
v2.2: more bugs killed by Boofo
v2.3: bugs killed by psico
v2.3a: bugs killed by sv1cec
v2.4: changed activation code when one exists already removed (sv1cec)
v2.4: better cron logging (me)
v2.4: table prefix bug found by jlurken, fixed by moi
v2.5: email reminder sent to your inbox thanks to sv1vec, improved logging, removed redundant code.
v2.5.2: fixed table prefixes.


[high]YOU WILL NOW NEED TO EDIT THE FILE TO MAKE SURE IT WORKS, IT'S CLEARLY MARKED ON LINE 21[/high]

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #22  
Old 06-08-2004, 05:56 AM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by psico
What happend if a user change his email and make a mistake? This user would lost his account in ten days??
sadly yes, however feel free to add the functionality you require.
Reply With Quote
  #23  
Old 06-08-2004, 06:05 AM
PranK PranK is offline
 
Join Date: Apr 2003
Location: Sydney, Aus
Posts: 163
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sabret00the
i saw a post by someone the other day that said they had 200 members unconfirmed, to think something like this could've seduced em into completing their registration.
I got close to 1000...

Thanks heaps for this, its great!

Christian
Reply With Quote
  #24  
Old 06-08-2004, 06:29 AM
Yahhoon23 Yahhoon23 is offline
 
Join Date: Dec 2003
Posts: 59
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by psico
What happend if a user change his email and make a mistake? This user would lost his account in ten days??
I think this hack have to check if this user is a new registration or an email change, for obvious reasons

Great hack dude!
Anyone have any info on how to accomplish this. You are right that it should check, but my skills in vb aren't good enough to do this without help
Reply With Quote
  #25  
Old 06-08-2004, 06:36 AM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

at a quick glance you'd need to edit this
PHP Code:
    $userArray=$DB_site->query("
        SELECT username,user.userid,email,joindate,activationid 
        FROM user
        LEFT JOIN useractivation ON (user.userid=useractivation.userid)
        WHERE user.usergroupid=3
    "
); 
make it select the posts column as well and then include the clause to say

PHP Code:
        WHERE user.usergroupid=3
AND posts 
i'll take a proper loook when i wake up, as right now i need a little sleep
Reply With Quote
  #26  
Old 06-08-2004, 06:38 AM
Bryan Ex's Avatar
Bryan Ex Bryan Ex is offline
 
Join Date: Feb 2004
Location: Canada
Posts: 233
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Maybe I'm not following the process here but would it not allow for 10 ten days for correction? While it's certainly possible to loose an occasional member, if they are even semi-active they will know they did not receive the activation notice, the usergroup permissions would not have changed to allow regular member access, plus they would have to make the same exact error in their email address twice to change it. Just seems like pretty slim odds to me.
Reply With Quote
  #27  
Old 06-14-2004, 02:18 PM
Bryan Ex's Avatar
Bryan Ex Bryan Ex is offline
 
Join Date: Feb 2004
Location: Canada
Posts: 233
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

User activationid's are not being included in the email notices for my board. Is this query correct as there is no activationid field in the user table;

PHP Code:
        SELECT username,user.userid,email,joindate,activationid 
        FROM user
        LEFT JOIN useractivation ON 
(user.userid=useractivation.userid)
        
WHERE user.usergroupid=
Reply With Quote
  #28  
Old 06-15-2004, 07:04 AM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i'm looking into this now, the query is correct as it pulls the column correctly but it's just coming up null, i should have an update by the end of the day.
Reply With Quote
  #29  
Old 06-15-2004, 07:43 AM
Bryan Ex's Avatar
Bryan Ex Bryan Ex is offline
 
Join Date: Feb 2004
Location: Canada
Posts: 233
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Okay... cool. The other thing I was wondering about is it doesn't seem to list in the cron log files unless I run it manually. It's certainly working as I have no unactivated accounts over the time limit... just no logs to indicate it. Anything that I would need to change to have it running from my includes/cron/ directory? I compared log_cron_action to another script that was being logged and they seem the same to me.
Reply With Quote
  #30  
Old 07-21-2004, 09:39 AM
psico psico is offline
 
Join Date: Oct 2001
Location: Buenos Aires, Argentina
Posts: 117
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Bryan Ex
User activationid's are not being included in the email notices for my board. Is this query correct as there is no activationid field in the user table;

PHP Code:
        SELECT username,user.userid,email,joindate,activationid 
        FROM user
        LEFT JOIN useractivation ON 
(user.userid=useractivation.userid)
        
WHERE user.usergroupid=
This is the solution for this problem, I?ve got it from activate.php:

IN manageActivation.php
Under this:
PHP Code:
         while ($user=$DB_site->fetch_array($userArray))
        { 
Insert this code:
PHP Code:
        // make random number
        
if (empty($user['activationid']))
        { 
//none exists so create one
                
$user['activationid'] = vbrand(0100000000);
                
$DB_site->query("
                        INSERT INTO " 
TABLE_PREFIX "useractivation
                        VALUES
                        (NULL , 
$user[userid], " TIMENOW ", $user[activationid], 0, 2)
                "
);
                echo (
"ActivationID created to "$user[username]."<br>");
        }
        else
        {
                
$user['activationid'] = vbrand(0100000000);
                
$DB_site->query("
                        UPDATE " 
TABLE_PREFIX "useractivation SET
                        dateline = " 
TIMENOW ",
                        activationid = 
$user[activationid]
                        WHERE userid = 
$user[userid] AND type = 0
                "
);
                echo (
"ActivationID updated to "$user[username]."<br>");
        } 
There is another problem with this hack, if someone change the email address the account is deleted inmediatly because the registration date is more than 10 days old...this is CRITICAL!

So the quick solution to this is to change the query like this:

Code:
 SELECT username,user.userid,email,joindate,activationid
				FROM user
				LEFT JOIN useractivation ON (user.userid=useractivation.userid)
				WHERE user.usergroupid=3 AND user.posts = 0
So if the user have 1 or more posts the account is not deleted.

See ya.
Reply With Quote
  #31  
Old 07-21-2004, 10:05 AM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

completely forgot about htis, i'll issue an update thank you psico
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 12:11 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06940 seconds
  • Memory Usage 2,357KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_code
  • (8)bbcode_php
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete