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?


All times are GMT. The time now is 07:34 AM.

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.01872 seconds
  • Memory Usage 1,765KB
  • 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
  • (2)bbcode_code_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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