vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.5 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=113)
-   -   [PORT] Who quoted me Plugin (https://vborg.vbsupport.ru/showthread.php?t=103768)

FatalCure 08-27-2006 07:35 AM

Yep, would love this to be updated for 3.6 aswell.

Aeolian 10-28-2006 04:04 PM

any update on this product :)
very descent addon..

Steve123 11-28-2006 08:03 PM

I quickly edited the code to make it work with 3.6

Code:

if (preg_match('#\[quote=(&quot;|"|\'|)(.*)\\1\](<br>|<br />|\r\n|\n|\r)??(.*)(<br>|<br />|\r\n|\n|\r)??\[/quote\]#esiU',$post['message']))
{

    preg_match_all('#\[quote=(&quot;|"|\'|)(.*)\\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++;
        }

}

I also disallowed [ ] ; in usernames..

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=(&quot;|"|\'|)(.*)\\1\](<br>|<br />|\r\n|\n|\r)??(.*)(<br>|<br />|\r\n|\n|\r)??\[/quote\]#esiU',$oldmessage))
{

    preg_match_all('#\[quote=(&quot;|"|\'|)(.*)\\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++;
        }

}

It seems to work for me..

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..

Aeolian 12-04-2006 09:57 PM

would wait for stable version.. :(

Steve123 12-04-2006 10:06 PM

Quote:

Originally Posted by Aeolian (Post 1131998)
would wait for stable version.. :(

i havent had any problems with the above code i posted

Aeolian 12-23-2006 05:09 PM

Quote:

Originally Posted by Steve123 (Post 1132009)
i havent had any problems with the above code i posted

does not work for me...

noonespecial 02-12-2007 07:57 PM

I need this for 3.6.

Exitilus 02-13-2007 12:37 AM

Then install it :)

Cithiz 03-29-2007 07:09 AM

Quote:

Originally Posted by noonespecial (Post 1180940)
I need this for 3.6.

me too :) Please upgrade it.

nicolerork 04-12-2007 05:39 PM

Has this been tested on 3.6?

Tralala 04-15-2007 09:57 AM

I just tested on 3.6.4 and it did *not* work for me.

techhouse 05-12-2007 08:21 AM

Nice mod!
Can anybody port this mod to 3.6 ?

Carlos2 05-29-2007 06:58 PM

It doesn work for 3.6???

Carlos2 06-11-2007 02:53 AM

Anyboy knows another plugin that have the same WHO QUOTE ME? This doesnt work for 3.6

dasaybz 04-16-2008 06:17 PM

Has anyone ever thought of revisiting this hack for later versions?

TimberFloorAu 05-22-2008 03:13 AM

Any chance of getting this done for 3.7 ?

Our members are screaming for a port.

:)

Elenna 05-30-2008 01:44 PM

I've been looking for something like this for a long while, but would prefer it use custom tags, not Quote tags.

i.e. [page]Elenna[/page] would send a PM and/or email (recipent's option) letting them know that someone is trying to get ahold of them. Or, if people end up using nicknames, [page=Elenna]Ele[/page]

Shovel has been trying to work on that request in this thread, but so far nothing has come of it:
https://vborg.vbsupport.ru/showthread.php?t=171589

A (custom built) site I frequent uses something like this. People are able to put other people's "items" in their favorites, and also comment on them. The creator gets a private message notifying them that someone has put something in their favorites, or commented on it, etc. This also works in their posts, by writing something like [name of item](pattern) or [name of person](person).

KrukaaN 07-10-2008 08:23 PM

I´ve made a port of this one for 3.6.8 but i don´t know how to put it in the mod´s database. Can I just post it in this thread or?

acast 09-02-2008 04:41 PM

[QUOTE=Steve123;1127537]I quickly edited the code to make it work with 3.6

Code:

if (preg_match('#\[quote=(&quot;|"|\'|)(.*)\\1\](<br>|<br />|\r\n|\n|\r)??(.*)(<br>|<br />|\r\n|\n|\r)??\[/quote\]#esiU',$post['message']))
{

    preg_match_all('#\[quote=(&quot;|"|\'|)(.*)\\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++;
        }

}

I also disallowed [ ] ; in usernames..

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=(&quot;|"|\'|)(.*)\\1\](<br>|<br />|\r\n|\n|\r)??(.*)(<br>|<br />|\r\n|\n|\r)??\[/quote\]#esiU',$oldmessage))
{

    preg_match_all('#\[quote=(&quot;|"|\'|)(.*)\\1\]#esiU',$oldmessage,$quotematch);

 
    $quotecount = count($quotematch[0]);
    $tempcount = 0;
    $quotearray = '';

        while ($tempcount < $quotecount)
        {
        $xquotematch = strtolower($quotematch[0][$tempcount]);
        $xquotematch = str_replace('

       
Quote:

       
       
               
       
       

                       

                       
                               

                                        Originally Posted by ,'',"$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++;
        }

}

                       
                       

               


Quote:

Originally Posted by ,'',"$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

It seems to work for me..

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..

Where do i have to put that code??

Elenna 09-09-2008 09:42 PM

Quote:

Originally Posted by acast (Post 1612923)
Where do i have to put that code??

It looks to be the code in the Who Quoted Me plugin. You can either edit the XML file before importing it, or enter the Plugin Manager and edit the plugin directly.

dasaybz 02-11-2009 05:29 PM

Is there anyway of making this happen? Preferable for 3.7?

Elenna 04-22-2009 03:58 PM

I have it working in 3.7, using the code here:
https://vborg.vbsupport.ru/showpost....7&postcount=43

(copy and paste the code and replace the code in the "Who Quoted Me?" plugin)


This doesn't seem to work when someone uses the Quote button, or hand-type it in. This seems to require the post ID to work.

For example:

Works:
[quote=Elenna;7482946]....[/quote]

Does Not Work:
[quote=Elenna].....[/quote]

goycarden 07-24-2009 10:02 AM

is there a similiar Addon for 3.8.x ?
Or does this one works also fine?

choccyclaire 08-10-2009 10:13 PM

Just trying to play around with this now.

The basis of it still works on 3.8 using the amended code from a few pages back.

Only issues I am having is the layout on the whoquotedme.php page itself.

The usercp shell options part on the left is very dodgy.

I assume the php file needs to be altered. Anyone? :(

Alfa1 12-28-2009 04:45 PM

It would be nice to see this ported to vb4. Nexia?

ToNetU 01-10-2010 04:35 PM

Quote:

Originally Posted by Alfa1 (Post 1940588)
It would be nice to see this ported to vb4. Nexia?

+1 ..

Mangia 04-08-2010 07:52 PM

I would also like to see a port of this for vb4.

AcidX 05-10-2010 02:53 PM

vb 4? :(

Hubert Poo 06-26-2010 06:37 PM

I'd like to back up the calls for a port of this to 4.0.

On one forum I used this was absolutely indispensable.

toneee 08-26-2010 08:54 AM

+1 for version 4 too

FatalCure 09-28-2010 11:15 AM

vb4?

thespi 12-03-2010 11:58 PM

another vb4!

Alfa1 12-04-2010 01:43 AM

You can vote for it here, so that vbulletin will get this by default: http://tracker.vbulletin.com/browse/VBIV-8606

FreshFroot 12-04-2010 06:40 AM

Quote:

Originally Posted by Alfa1 (Post 2129043)
You can vote for it here, so that vbulletin will get this by default: http://tracker.vbulletin.com/browse/VBIV-8606

Why should we? So vB4 can be a copy of what Xenforo does by default... ya right...

Heck they can't even release 4.1 without 2 patches within the first week. And you expect them to install this as a default. Man you are nuts no offense, but your living in some dream land.

Alfa1 12-04-2010 11:01 AM

Well thanks. lol.

Many people above are asking for a vb4 port of this mod from 2005. It doesnt seem to be happening. So the alternative is to vote for it.
XF shows how well this function works for participation. Just like this mod shows it.

vb4 will probably stay a mess until the rewrite is done.
XF will need a few years to mature though it remains to be seen if it will ever offer the functionality I need. Kier sets his own course and that seems to exclude some very important functions. So that dream isnt coming true either.
I may just build my own dream...

renlok 12-15-2010 07:10 PM

Btw people I need this for my site so I'm going to start working on making a port for vb4 I assume as the developer hasen't been online for 4 years he wont mind. When im done ill post it.

I seem to be doing quite well with the making plugins that should be default :p

https://vborg.vbsupport.ru/showthread.php?t=255285 hope you find it useful

Alfa1 12-15-2010 10:45 PM

Please make a vb3.8 version.

JohorBahru 08-30-2011 01:48 PM

hope to have a 3.8.x version!


All times are GMT. The time now is 01:33 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.01399 seconds
  • Memory Usage 1,877KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_code_printable
  • (8)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (38)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete