The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
[PORT] Who quoted me Plugin Details »» | |||||||||||||||||||||||||
This Plugin is a Port of Gamingforces vB 3.0 Mod
https://vborg.vbsupport.ru/showthrea...8&page=3&pp=15 [ Feature Description ] This is a very popular feature on my community since it allows people to easily track who's been quoting them. This is very useful because it allows you to easily check up on who's been replying to you! How does it work? 1. John quotes Paris in a reply and also quotes Nicole. 2. The hack recognizes that John's quoting Paris and Nicole and adds 2 entries to the quotedata table. 3. Paris and Nicole can see in their "Who Quoted Me?" page that John has quoted their post. 4. Paris wants to see the post with her quoted on and she clicks the link. She is brought to the post! 5. Everyone is happy and John enjoys a Chalupa from Taco Bell.* For such a useful feature, it's incredibly easy to install! You can easily modify the number of results to display for the user! Just change the $zig in the whoquotedme.php file! Supporters / CoAuthors Show Your Support
|
Comments |
#42
|
|||
|
|||
Yep, would love this to be updated for 3.6 aswell.
|
#43
|
|||
|
|||
any update on this product
very descent addon.. |
#44
|
|||
|
|||
I quickly edited the code to make it work with 3.6
Code:
if (preg_match('#\[quote=("|"|\'|)(.*)\\1\](<br>|<br />|\r\n|\n|\r)??(.*)(<br>|<br />|\r\n|\n|\r)??\[/quote\]#esiU',$post['message'])) { preg_match_all('#\[quote=("|"|\'|)(.*)\\1\]#esiU',$post['message'],$quotematch); $quotecount = count($quotematch[0]); $tempcount = 0; $quotearray = ''; while ($tempcount < $quotecount) { $xquotematch = strtolower($quotematch[0][$tempcount]); $xquotematch = str_replace('[quote=','',"$xquotematch"); $xquotematch = ereg_replace(';.*]$','',"$xquotematch"); $quoteduserid = $vbulletin->db->query_first("SELECT userid FROM ".TABLE_PREFIX."user WHERE username = '".addslashes(htmlspecialchars_uni($xquotematch))."'"); if (!strstr("$quotearray","x".$quoteduserid['userid']."")) { if ($quoteduserid['userid'] > 0) { $vbulletin->db->query_write("INSERT INTO ".TABLE_PREFIX."quotedatanew (quoted,quoter,postid,dateline) VALUES ('".$quoteduserid['userid']."','".$vbulletin->userinfo['userid']."','".$post['postid']."','".time()."')"); $quotearray = "".$quotearray.""."x".$quoteduserid['userid'].""; } } $tempcount++; } } If your using the prevent doublepost hack, then delete the who quoted me code and replace the preventdoublepost hack with the following.. In plugin Main Doublepost Prevent Engine Code:
$oldmessage = $post['message']; // ########### 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 post.dateline > " . (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 threadid = $threadinfo[threadid] AND post.dateline > " . (TIMENOW - $vbulletin->options['xen_dp_timespan'] * 60) . " AND visible = 1 AND deletionlog.primaryid IS NULL AND postid <> $post[postid] ORDER BY 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" . $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', $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']); } } } if (preg_match('#\[quote=("|"|\'|)(.*)\\1\](<br>|<br />|\r\n|\n|\r)??(.*)(<br>|<br />|\r\n|\n|\r)??\[/quote\]#esiU',$oldmessage)) { preg_match_all('#\[quote=("|"|\'|)(.*)\\1\]#esiU',$oldmessage,$quotematch); $quotecount = count($quotematch[0]); $tempcount = 0; $quotearray = ''; while ($tempcount < $quotecount) { $xquotematch = strtolower($quotematch[0][$tempcount]); $xquotematch = str_replace('[quote=','',"$xquotematch"); $xquotematch = ereg_replace(';.*]$','',"$xquotematch"); $quoteduserid = $vbulletin->db->query_first("SELECT userid FROM ".TABLE_PREFIX."user WHERE username = '".addslashes(htmlspecialchars_uni($xquotematch))."'"); if (!strstr("$quotearray","x".$quoteduserid['userid']."")) { if ($quoteduserid['userid'] > 0) { $vbulletin->db->query_write("INSERT INTO ".TABLE_PREFIX."quotedatanew (quoted,quoter,postid,dateline) VALUES ('".$quoteduserid['userid']."','".$vbulletin->userinfo['userid']."','".$post['postid']."','".time()."')"); $quotearray = "".$quotearray.""."x".$quoteduserid['userid'].""; } } $tempcount++; } } the whoquotedme.php needs to be rewritten and i gota add support so it dosen't display quotes from private forums.. I will do this when i get the time.. |
#45
|
|||
|
|||
would wait for stable version..
|
#46
|
|||
|
|||
i havent had any problems with the above code i posted
|
#47
|
|||
|
|||
does not work for me...
|
#48
|
|||
|
|||
I need this for 3.6.
|
#49
|
|||
|
|||
Then install it
|
#50
|
|||
|
|||
|
#51
|
|||
|
|||
Has this been tested on 3.6?
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|