The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Prevent Doubleposting Details »» | |||||||||||||||||||||||||
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
|
Благодарность от: | ||
inphoenix |
Comments |
#1072
|
|||
|
|||
edit: disregard, i looked a little further back and found out :P
|
#1073
|
||||
|
||||
it worked, then it stopped working.... i'm reinstalling again, and trying them one mod at a time.
|
#1074
|
|||
|
|||
i'm not getting any time notations between the posts... help please!
|
#1075
|
||||
|
||||
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', $vbulletin, ERRTYPE_ARRAY, 'threadpost');
$dpdataman->set_existing($doublepost);
$doublepost['message'] = $doublepost['pagetext'] . "\n[SIZE=\"1\"][COLOR=\"DarkSlateGray\"]" . '-----Added '.date("j/n/Y"). ' at '.Date("h : i : s").'-----'.$vbulletin->options['xen_dp_spacer'] . "[/color][/size]\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', $vbulletin, ERRTYPE_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']);
}
}
}
$doublepost['message'] = $doublepost['pagetext'] . "\n[SIZE=\"1\"][COLOR=\"DarkSlateGray\"]" . '-----Added '.date("j/n/Y"). ' at '.Date("h : i : s").'-----'.$vbulletin->options['xen_dp_spacer'] . "[/color][/size]\n" . $post['message']; |
#1076
|
|||
|
|||
Import in manage products..!!!I must anything else....?
|
#1077
|
||||
|
||||
Read the big red note in the first post
|
#1078
|
||||
|
||||
Nice to see you still follow this thread It's much appreciated.
Can I ask you where you did the dirty part for the AJAX? Does this mean that instead of the screen pausing saying it will merge the post, and then does so upon refresh, it just merges at that point? Where do I insert that code? In the same place I did the first edit? |
#1079
|
||||
|
||||
Yes, it merges the post instantly (like here at vb.org).
It involves changes to the actual plugin code and also vbulletin_quick_reply.js |
#1080
|
|||
|
|||
Care to share those improvements?
|
#1081
|
||||
|
||||
I'm glad to see I'm not the only one on this....lol....I was about say the same thing....lol...
I've seen something similar to this working pretty good on vB.org and I always feel like I really need something like it on my board. But after reading tons of pages I just can't figure out how. As Xenon seems to be out of this for a long time why not take over it for improvements ? |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|