Version: 1.0, by Xenon
Developer Last Online: Oct 2023
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. **
i would love it if when someone double posts and it is merged it would time stamp the merge
The problem with that is whatever time would only be relevant to a particular time zone. So people in other TZ's would only be confused. You might want to consider that. Some people suggested adding the time difference so it would be like (added 1hr later...)
// 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\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'];
// 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);
Can someone give me a step by step in dummies terms to make this happen on my forum. This includes any actions i would need to do with my FTP and files on the server. I just do not know what to do, sorry. help?