vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.7 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=228)
-   -   Administrative and Maintenance Tools - Auto Bounce Messages Management (https://vborg.vbsupport.ru/showthread.php?t=181936)

AngelBlue 04-10-2009 03:59 AM

Quote:

Originally Posted by AngelBlue (Post 1566332)
I've added some code so that bouncing users now get:
* Popup PM notification set to YES
* Receive admin emails set to NO
* Recieve email PM notification set to NO
* Thread subscription mode set to "no email" (if it was previously set to instant, daily or weekly email)
* All their thread and forum subscriptions set to 'no email'.
* A PM to explain the above.

To do this, I replaced the code in your "Move Users To Bounce Usergroup" plugin with this:

Code:

$bounces = $vbulletin->db->query_read("
        SELECT messageid, toemail
        FROM " . TABLE_PREFIX . "sent_email
        WHERE bounced = 1
");

if ($vbulletin->db->num_rows($bounces) > 0)
{
        $toemails = array();
        $messageids = array();
       
        while ($bounce = $vbulletin->db->fetch_array($bounces))
        {
                $toemails[] = "'" . $bounce['toemail'] . "'";
                $messageids[] = $bounce['messageid'];
        }
        $toemails = array_unique($toemails);

        // start added code here... define data for PM data manager

        $tonames = array();
        $touids = array();
        $myuid = 1;
        $fromuser = fetch_userinfo($myuid);

        $message = "We tried to deliver an email to you, but unfortunately, it bounced. To prevent us sending more mail to you while your email provider is not accepting it, we have deactivated all the email-related features of your account. To reactivate your account, go to your UserCP, and update your email address. You will then get a confirmation email. Clicking on the link in this confirmation email should re-enable your account, at which point you will need to visit your UserCP options page to re-enable the email notifications you wish to use.";

        $affected = $vbulletin->db->query_read("SELECT userid,username FROM " . TABLE_PREFIX . "user WHERE email IN (" . implode(', ', $toemails) . ")");
        while ($affected = $vbulletin->db->fetch_array($affected)) {
                $tonames[] = $affected['username'];
                $touids[] = $affected['userid'];
        }
        $tonames = array_unique($tonames);
        $pmdm =& datamanager_init('PM', $vbulletin, ERRTYPE_SILENT);
        $pmdm->set('fromuserid', '1');
        $pmdm->set('fromusername', 'EmailBot');
        $pmdm->set_info('reciept', false);
        $pmdm->set_info('savecopy', false);
        $pmdm->set('title', 'Email Broken!');
        $pmdm->set('message', $message);
        $pmdm->set_recipients(implode(";",$tonames), $fromuser['permissions']);
        $pmdm->set('dateline', TIMENOW);
        $pmdm->save();

       
       
        // this is stock mod code to move them to the different usergroup.
        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET usergroupid = " .  $vbulletin->options['bm_usergroup'] . ", membergroupids = '', displaygroupid = 0 WHERE usergroupid NOT IN (" . $vbulletin->options['bm_excludeusergroups'] . ") AND email IN (" . implode(', ', $toemails) . ")");

        // and stock code to delete their message tracking info...
        $vbulletin->db->query_write("DELETE FROM " . TABLE_PREFIX . "sent_email WHERE messageid IN (" . implode(', ', $messageids) . ")");

        // continue custom code to update their user options...
        // stop them generating any more email!

        // pm popup = YES
        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET pmpopup = 1 WHERE email IN (" . implode(', ', $toemails) . ")");
       
        // send notification email on PM - NO
        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET options = (options - 4096) WHERE (options & 4096) AND email IN (" . implode(', ', $toemails) . ")");

        // admin email OFF
        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET options = (options - 16) WHERE (options & 16) AND email IN (" . implode(', ', $toemails) . ")");

        // set autosubscribe = without email WHERE autosubscribe_with_email
        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "user SET autosubscribe = 1 WHERE (autosubscribe > 1) AND email IN (" . implode(', ', $toemails) . ")");

        // set emailupdates = 0 for their thread subscriptions
        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "subscribethread SET emailupdate = 0 WHERE (emailupdate > 0) AND userid IN (" . implode(', ', $touids) . ")");

        // set emailupdates = 0 for their forum subscriptions
        $vbulletin->db->query_write("UPDATE " . TABLE_PREFIX . "subscribeforum SET emailupdate = 0 WHERE (emailupdate > 0) AND userid IN (" . implode(', ', $touids) . ")");

        // finish
        unset($toemails, $messageids);
}

$vbulletin->db->free_result($bounces);


Changed the lines listed in bold to avoid a 'only variables may be passed by reference' error when the hourly2 cleanup job runs. If you are using my patch, above, you should update. This error can prevent the running of that job, without alerting you.

Smitty 04-10-2009 04:58 AM

Quote:

Originally Posted by Alfa1 (Post 1693425)
If you update this hack, so that it works and does the following, then I will donate $100.

I'd throw in US$50. I deal with bounces daily and hate it.

Milad 04-10-2009 05:36 AM

Will continue beta 2 as soon as I have time.

wfouly 05-16-2009 03:03 AM

Uninstalled
it stop the all mail function of the forum
so members waiting email activation not activated

Adam_EOGamer 06-03-2009 01:32 PM

Just a warning before anyone else adds this
It automatically placed a link in the footer of your forum, which when clicked, goes to the Syrian medical society (or something), the webpage has a trojan virus on it.

Milad 06-03-2009 06:28 PM

1- Everyone knows that this hack adds credits in the footer, and is free to remove them.
2- How can you make such an accusation? My website (Syrian Medical Society) is reputable website, and have never been as a distribution for malwares.
Here are what google says about it:
safe browsing
unmask parasites says: This page seems to be <suspicious> because of the following line:

HTML Code:

document.write('<marquee onmouseover="this.stop()" onmouseout="this.start()" direction="right" scrollamount="3" scrolldelay="20" class="smallfont">آخر ما نُشر لدينا&nbsp;&nbsp;&nbsp;??&nbsp;&nbsp;&nbsp;<a href="http://www.syrianmeds.net/forum/topic12165-newpost.html" target="_blank" class="smallfont">الفيزيولوجيا المرضية</a>&nbsp;&nbsp;&nbsp;??&nbsp;&nbsp;&nbsp;<a href="http://www.syrianmeds.net/forum/topic12162-newpost.html" target="_blank" class="smallfont">جراحة 3</a>&nbsp;&nbsp;&nbsp;??&nbsp;&nbsp;&nbsp;<a href="http://www.syrianmeds.net/forum/topic12160-newpost.html" target="_blank" class="smallfont">دوري علامات الطب سنة تانية</a>&nbsp;&nbsp;&nbsp;??&nbsp;&nbsp;&nbsp;<a href="http://www.syrianmeds.net/forum/topic12159-newpost.html" target="_blank" class="smallfont">داخلية 4</a>&nbsp;&nbsp;&nbsp;??&nbsp;&nbsp;&nbsp;<a href="http://www.syrianmeds.net/forum/topic12158-newpost.html" target="_blank" class="smallfont">داخلية 2</a>&nbsp;&nbsp;&nbsp;??&nbsp;&nbsp;&nbsp;<a href="http://www.syrianmeds.net/forum/topic12157-newpost.html" target="_blank" class="smallfont">التشريح المرضي العام</a>&nbsp;&nbsp;&nbsp;??&nbsp;&nbsp;&nbsp;<a href="http://www.syrianmeds.net/forum/topic12156-newpost.html" target="_blank" class="smallfont">أدوية 1</a>&nbsp;&nbsp;&nbsp;??&nbsp;&nbsp;&nbsp;<a href="http://www.syrianmeds.net/forum/topic12155-newpost.html" target="_blank" class="smallfont">تشريح 2</a>&nbsp;&nbsp;&nbsp;??&nbsp;&nbsp;&nbsp;<a href="http://www.syrianmeds.net/forum/topic12149-newpost.html" target="_blank" class="smallfont">الصحة تطلب من الصيادلة سحب عدد من المستحضرات الدوائية لمخالفتها للمواصفات</a>&nbsp;&nbsp;&nbsp;??&nbsp;&nbsp;&nbsp;<a href="http://www.syrianmeds.net/forum/topic12147-newpost.html" target="_blank" class="smallfont">ألم شديد في القدم</a></marquee>');
Which prints the marquee section, without causing the page to fail in the XHTML validation.

So please, before you make such an accusation, have the evidence that supports your claim.

Alfa1 06-04-2009 07:46 AM

Quote:

Originally Posted by Adam_EOGamer (Post 1822724)
Just a warning before anyone else adds this
It automatically placed a link in the footer of your forum, which when clicked, goes to the Syrian medical society (or something), the webpage has a trojan virus on it.

The only mallware that there is, is your virus scanner. For some reason several virus scanners/ link scanners report a lot of sites, that have no problem whatsoever, as containing mallware, virus or troyan horses. This happened to a site of mine that was coded in prolog in 1998 and therefore contained exotic code antivira could not understand and therefor antivira classified it as a troyan horse. I assure you that it was not. There are a mass of examples to be found on the net. Antivirus programs are simply not fit to scan websites for 'suspect' scripts.

Milad 06-05-2009 09:14 PM

Statistics!

testebr 06-12-2009 03:53 PM

Stats? That cool, this feature will be released in next update?

Any ETA, Milad?

Thanks!

Hornstar 06-29-2009 08:55 AM

Quote:

Originally Posted by Milad (Post 1824157)
Statistics!

nice! any more word on this feature or any other updates on this mod? It is truly a fantastic modification which I hope to see continued!


All times are GMT. The time now is 05:50 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.01468 seconds
  • Memory Usage 1,791KB
  • 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
  • (1)bbcode_code_printable
  • (1)bbcode_html_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (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