Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Prevent Doubleposting Details »»
Prevent Doubleposting
Version: 1.0, by Xenon Xenon is offline
Developer Last Online: Oct 2023 Show Printable Version Email this Page

Version: 3.5.3 Rating:
Released: 09-19-2005 Last Update: 01-15-2007 Installs: 877
Uses Plugins
 
No support by the author.

When a User posts into a thread where he already has the lastpost, no new post will be added. The lastpost of him will be edited and the new text is put after his first message.
This will be done until the old post is older than 24 hours (you can change this timespan yourself)

Nothing more to say about that, it's the quite same as my vb3.0 version.

This Mod should run with 3.6 as well


** Please make sure you ENABLE this product after you install it - it is disabled by default. **

For vb 3.8 there are two alternative updates ;

https://vborg.vbsupport.ru/showthread.php?t=203705
https://vborg.vbsupport.ru/showthread.php?t=204177

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Благодарность от:
inphoenix

Comments
  #772  
Old 11-25-2007, 08:20 PM
Black Tiger's Avatar
Black Tiger Black Tiger is offline
 
Join Date: Apr 2004
Location: Netherlands
Posts: 957
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Question: Ik would like to have the "xxx added xx minutes and xx seconds later" in bold. Where (and how) is the best place to adjust this so it will be kept in bold after for example a future update of this mod? If possible ofcourse.
Reply With Quote
  #773  
Old 11-30-2007, 08:09 PM
Squiddy Squiddy is offline
 
Join Date: May 2006
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Installed on 3.6.8 and it works beautifully!
Reply With Quote
  #774  
Old 12-01-2007, 12:40 AM
Kalina's Avatar
Kalina Kalina is offline
 
Join Date: Mar 2005
Location: Canada
Posts: 99
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Black Tiger View Post
Question: Ik would like to have the "xxx added xx minutes and xx seconds later" in bold. Where (and how) is the best place to adjust this so it will be kept in bold after for example a future update of this mod? If possible ofcourse.
I posted the code to change that text, the code is quote above and it's also on the previous page, you can simply add the bold bbcode tags to what I have there.
Reply With Quote
  #775  
Old 12-01-2007, 03:27 PM
Black Tiger's Avatar
Black Tiger Black Tiger is offline
 
Join Date: Apr 2004
Location: Netherlands
Posts: 957
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thank you Kalina but unfortunately I'm not that good in php. Maybe you can help me a little bit further?
I presume you mean this part (I took the original one)
Code:
		$dpdataman->set_existing($doublepost);
		$doublepost['message'] = $doublepost['pagetext'] . "\n\n" . $vbulletin->userinfo['username'] . ' added ' . intval((TIMENOW - $doublepost['dateline'])/60) . ' Minutes and ' . ((TIMENOW - $doublepost['dateline']) % 60). ' Seconds later...' . $vbulletin->options['xen_dp_spacer'] . "\n\n" . $post['message'];
What or where should I change it? Should I just change it into this?
Code:
[ b]$dpdataman->set_existing($doublepost);
		$doublepost['message'] = $doublepost['pagetext'] . "\n\n" . $vbulletin->userinfo['username'] . ' added ' . intval((TIMENOW - $doublepost['dateline'])/60) . ' Minutes and ' . ((TIMENOW - $doublepost['dateline']) % 60). ' Seconds later...' . $vbulletin->options['xen_dp_spacer'] . "\n\n" . $post['message'][ /b];
Or should it be done another way?

Edit: I just see that the code tag doesnt prevent the code from being bold. I put the [ b] tag in front of $dpdataman and the [ /b] tag before the last ; and the end of the line. Ofcourse if this is correct I have to remove the whitespace before the b and the /b.
Reply With Quote
  #776  
Old 12-02-2007, 02:58 AM
Kalina's Avatar
Kalina Kalina is offline
 
Join Date: Mar 2005
Location: Canada
Posts: 99
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

BlackTiger, in my code posted above, you'd change this line:
PHP Code:
        $doublepost['message'] = $doublepost['pagetext'] . "\n\n[SIZE="1"][COLOR="Silver"]" $vbulletin->userinfo['username'] . ' added ' intval((TIMENOW $doublepost['dateline'])/60) . ' Minutes and ' . ((TIMENOW $doublepost['dateline']) % 60). ' Seconds later...' $vbulletin->options['xen_dp_spacer'] . "[/color][/size]\n\n" $post['message']; 
To

PHP Code:
        $doublepost['message'] = $doublepost['pagetext'] . "\n\n[SIZE="1"][COLOR="Silver"][b]" $vbulletin->userinfo['username'] . ' added ' intval((TIMENOW $doublepost['dateline'])/60) . ' Minutes and ' . ((TIMENOW $doublepost['dateline']) % 60). ' Seconds later...' $vbulletin->options['xen_dp_spacer'] . "[/b][/color][/size]\n\n" $post['message']; 
All I did was add the bold bbcode tags to my existing code from above. Hope that helps you.
Reply With Quote
  #777  
Old 12-02-2007, 01:10 PM
Black Tiger's Avatar
Black Tiger Black Tiger is offline
 
Join Date: Apr 2004
Location: Netherlands
Posts: 957
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Oke thanks I'm going to have a try, but I did not find the "[COLOR=\"Silver\"]" in the original plugin which I would like to keep as original as possible. But I will have a try then, thanks!
Reply With Quote
  #778  
Old 12-02-2007, 01:31 PM
Black Tiger's Avatar
Black Tiger Black Tiger is offline
 
Join Date: Apr 2004
Location: Netherlands
Posts: 957
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry, I tried but then my quickreply option will give errors. I don't have a [color= thing in my plugin, it looks exactly like I posted in my reply above.

I did it like this:
PHP Code:
$dpdataman->set_existing($doublepost);
        
$doublepost['message'] = $doublepost['pagetext'] . "\n\n" [b]" . $vbulletin->userinfo['username'] . ' added ' . intval((TIMENOW - $doublepost['dateline'])/60) . ' Minutes and ' . ((TIMENOW - $doublepost['dateline']) % 60). ' Seconds later...' . $vbulletin->options['xen_dp_spacer'] . "[/b"\n\n" $post['message']; 
So this is not the right way I'm doing something wrong but I don't know what.
I also tried at the same places without the " signs before or after the bold tags, but same problem occurs.
Reply With Quote
  #779  
Old 12-03-2007, 03:56 PM
Kalina's Avatar
Kalina Kalina is offline
 
Join Date: Mar 2005
Location: Canada
Posts: 99
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Black Tiger View Post
Sorry, I tried but then my quickreply option will give errors. I don't have a [color= thing in my plugin, it looks exactly like I posted in my reply above.

I did it like this:
PHP Code:
$dpdataman->set_existing($doublepost);
        
$doublepost['message'] = $doublepost['pagetext'] . "\n\n" [b]" . $vbulletin->userinfo['username'] . ' added ' . intval((TIMENOW - $doublepost['dateline'])/60) . ' Minutes and ' . ((TIMENOW - $doublepost['dateline']) % 60). ' Seconds later...' . $vbulletin->options['xen_dp_spacer'] . "[/b"\n\n" $post['message']; 
So this is not the right way I'm doing something wrong but I don't know what.
I also tried at the same places without the " signs before or after the bold tags, but same problem occurs.
There should not be a quote between the \n\n and [*b*] on neither side. I'll have to post the full code for you in a bit, I can't post a little example, it's getting parsed.
Reply With Quote
  #780  
Old 12-03-2007, 04:05 PM
Kadence Kadence is offline
 
Join Date: Nov 2004
Location: New Jersey
Posts: 29
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This may have been posted but I couldn't find it. How do you make moderators and admins immune to this?

Here's my current main engine code:
PHP Code:
// ########### Xenon's prevent doublepost modification #########

$vbulletin->GPC['xen_isdoublepost'] = false;

// parse custom conditions
$custcond true;
if (
trim($vbulletin->options['xen_dp_custcond']) != '')
{
    eval(
'$custcond = ((' $vbulletin->options['xen_dp_custcond'] . ') ? true : false);');
}


// at first check if there is at least the possibility to be a doublepost
if ($custcond AND $type != 'thread'
    
AND $dp_threadinfo['lastpost'] > TIMENOW $vbulletin->options['xen_dp_timespan'] * 60
    
AND $dp_threadinfo['lastposter'] == $vbulletin->userinfo['username']
    AND 
$dataman->fetch_field('attach') == 0)
{
    
// we are here, so we may have a doublepost -> do more exact checkings
    
$doublepost $vbulletin->db->query_first("
        SELECT post.*
        FROM " 
TABLE_PREFIX "post AS post
        LEFT JOIN " 
TABLE_PREFIX "deletionlog AS deletionlog ON(deletionlog.primaryid = post.postid AND type = 'post')
        WHERE post.threadid = 
$threadinfo[threadid]
            AND post.dateline > " 
. (TIMENOW $vbulletin->options['xen_dp_timespan'] * 60) . "
            AND post.visible = 1 AND deletionlog.primaryid IS NULL
            AND post.postid <> 
$post[postid]
        ORDER BY post.dateline DESC
        LIMIT 1
    "
);

    if (
$doublepost['userid'] == $vbulletin->userinfo['userid'] AND $doublepost['attach'] == 0)
    {
        
// we truely have a doublepost, now check if the merged post still fits the rules!
        
$dpdataman =& datamanager_init('Post'$vbulletinERRTYPE_ARRAY'threadpost');
        
$dpdataman->set_existing($doublepost);
        
$doublepost['message'] = $doublepost['pagetext'] . "\n" $vbulletin->options['xen_dp_spacer'] . "\n" $post['message'];

        
// set info
        
$dpdataman->set_info('preview'$post['preview']);
        
$dpdataman->set_info('parseurl'$post['parseurl']);
        
$dpdataman->set_info('posthash'$post['posthash']);
        
$dpdataman->set_info('forum'$foruminfo);
        
$dpdataman->set_info('thread'$dp_threadinfo);

        
// set options
        
$dpdataman->setr('showsignature'$post['signature']);
        
$dpdataman->setr('allowsmilie'$post['enablesmilies']);

        
// set data
        
$dpdataman->setr('pagetext'$doublepost['message']);
        
$dpdataman->setr('iconid'$post['iconid']);

        
$dpdataman->pre_save();
        if (!
$dpdataman->errors)
        {
            
// merged post is ok, so actually do the merging by editing old post
            
$vbulletin->GPC['xen_isdoublepost'] = true;

            if (
$vbulletin->options['xen_dp_bumpthread'])
            {
                
// bump thread, so change the post's dateline
                
$doublepost['dateline'] = TIMENOW;
                
$dpdataman->setr('dateline'$doublepost['dateline']);
            }
            
$dpdataman->save();

            
// as we have edited an old post, we can now delete the new created post
            
$postman =& datamanager_init('Post'$vbulletinERRTYPE_SILENT'threadpost');
            
$postman->set_existing($post);
            
$postman->delete($foruminfo['countposts'], $threadinfo['threadid'], $removaltype true, array('userid' => $vbulletin->userinfo['userid'], 'username' => $vbulletin->userinfo['username'], 'reason' => $vbulletin->options['xen_dp_editedby'], 'keepattachments' => false), false);
            unset(
$postman);

            
$doublepost['oldmessage'] = $post['message'];
            
$post $doublepost;
            
$id $post['postid'];

            
//now add edited by message
            
if ($vbulletin->options['xen_dp_editedby'] != '')
            {
                
$vbulletin->db->query_write("
                    REPLACE INTO " 
TABLE_PREFIX "editlog (postid, userid, username, dateline, reason)
                    VALUES (
$post[postid], " $vbulletin->userinfo['userid'] . ", '" addslashes($vbulletin->userinfo['username']) . "', " TIMENOW ", '" addslashes($vbulletin->options['xen_dp_editedby']) . "')
                "
);
            }

            
// last step update counters
            
build_thread_counters($post['threadid']);
            
build_forum_counters($foruminfo['forumid']);
        }
    }

Reply With Quote
  #781  
Old 12-03-2007, 04:13 PM
Kalina's Avatar
Kalina Kalina is offline
 
Join Date: Mar 2005
Location: Canada
Posts: 99
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

BlackTiger, here's the code to make it bold, if you don't want the size and silver color, simply remove those tags, don't add anything.

PHP Code:
// ########### Xenon's prevent doublepost modification #########

$vbulletin->GPC['xen_isdoublepost'] = false;

// parse custom conditions
$custcond true;
if (
trim($vbulletin->options['xen_dp_custcond']) != '')
{
    eval(
'$custcond = ((' $vbulletin->options['xen_dp_custcond'] . ') ? true : false);');
}


// at first check if there is at least the possibility to be a doublepost
if ($custcond AND $type != 'thread'
    
AND $dp_threadinfo['lastpost'] > TIMENOW $vbulletin->options['xen_dp_timespan'] * 60
    
AND $dp_threadinfo['lastposter'] == $vbulletin->userinfo['username']
    AND 
$dataman->fetch_field('attach') == 0)
{
    
// we are here, so we may have a doublepost -> do more exact checkings
    
$doublepost $vbulletin->db->query_first("
        SELECT post.*
        FROM " 
TABLE_PREFIX "post AS post
        LEFT JOIN " 
TABLE_PREFIX "deletionlog AS deletionlog ON(deletionlog.primaryid = post.postid AND type = 'post')
        WHERE post.threadid = 
$threadinfo[threadid]
            AND post.dateline > " 
. (TIMENOW $vbulletin->options['xen_dp_timespan'] * 60) . "
            AND post.visible = 1 AND deletionlog.primaryid IS NULL
            AND post.postid <> 
$post[postid]
        ORDER BY post.dateline DESC
        LIMIT 1
    "
);

    if (
$doublepost['userid'] == $vbulletin->userinfo['userid'] AND $doublepost['attach'] == 0)
    {
        
// we truely have a doublepost, now check if the merged post still fits the rules!
        
$dpdataman =& datamanager_init('Post'$vbulletinERRTYPE_ARRAY'threadpost');
        
$dpdataman->set_existing($doublepost);
        
$doublepost['message'] = $doublepost['pagetext'] . "\n\n[SIZE="1"][COLOR="Silver"][b]" $vbulletin->userinfo['username'] . ' added ' intval((TIMENOW $doublepost['dateline'])/60) . ' Minutes and ' . ((TIMENOW $doublepost['dateline']) % 60). ' Seconds later...' $vbulletin->options['xen_dp_spacer'] . "[/b][/COLOR][/SIZE]\n\n" $post['message'];

        
// set info
        
$dpdataman->set_info('preview'$post['preview']);
        
$dpdataman->set_info('parseurl'$post['parseurl']);
        
$dpdataman->set_info('posthash'$post['posthash']);
        
$dpdataman->set_info('forum'$foruminfo);
        
$dpdataman->set_info('thread'$dp_threadinfo);

        
// set options
        
$dpdataman->setr('showsignature'$post['signature']);
        
$dpdataman->setr('allowsmilie'$post['enablesmilies']);

        
// set data
        
$dpdataman->setr('pagetext'$doublepost['message']);
        
$dpdataman->setr('iconid'$post['iconid']);

        
$dpdataman->pre_save();
        if (!
$dpdataman->errors)
        {
            
// merged post is ok, so actually do the merging by editing old post
            
$vbulletin->GPC['xen_isdoublepost'] = true;

            if (
$vbulletin->options['xen_dp_bumpthread'])
            {
                
// bump thread, so change the post's dateline
                
$doublepost['dateline'] = TIMENOW;
                
$dpdataman->setr('dateline'$doublepost['dateline']);
            }
            
$dpdataman->save();

            
// as we have edited an old post, we can now delete the new created post
            
$postman =& datamanager_init('Post'$vbulletinERRTYPE_SILENT'threadpost');
            
$postman->set_existing($post);
            
$postman->delete($foruminfo['countposts'], $threadinfo['threadid'], $removaltype true, array('userid' => $vbulletin->userinfo['userid'], 'username' => $vbulletin->userinfo['username'], 'reason' => $vbulletin->options['xen_dp_editedby'], 'keepattachments' => false), false);
            unset(
$postman);

            
$doublepost['oldmessage'] = $post['message'];
            
$post $doublepost;
            
$id $post['postid'];

            
//now add edited by message
            
if ($vbulletin->options['xen_dp_editedby'] != '')
            {
                
$vbulletin->db->query_write("
                    REPLACE INTO " 
TABLE_PREFIX "editlog (postid, userid, username, dateline, reason)
                    VALUES (
$post[postid], " $vbulletin->userinfo['userid'] . ", '" addslashes($vbulletin->userinfo['username']) . "', " TIMENOW ", '" addslashes($vbulletin->options['xen_dp_editedby']) . "')
                "
);
            }

            
// last step update counters
            
build_thread_counters($post['threadid']);
            
build_forum_counters($foruminfo['forumid']);
        }
    }

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 04:13 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.09488 seconds
  • Memory Usage 2,461KB
  • 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
  • (2)bbcode_code
  • (6)bbcode_php
  • (2)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
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (1)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • 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