Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 08-18-2012, 12:42 PM
Gizmo99 Gizmo99 is offline
 
Join Date: Feb 2002
Location: London
Posts: 65
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Send a Auto Reply to PM

HiHi

Ok hacking this https://vborg.vbsupport.ru/showthread.php?t=116325 to work with 3.8

I get all options to work and menu etc, its just the sending of a PM !

Below is the plugin it uses hook location private_insertpm_complete

Everything works no problem just no pm sent to the sender

Tar

Giz

P.S will add as new plugin once fixed

PHP Code:
// get list of recipients the current user want's to send PMs to 

$recipients explode";"$pm['recipients'] );

$autoreplytitle trim($vbphrase['pm_autoreplyprefix']) . " " $pm['title'];
$forwardtitle trim($vbphrase['pm_autoreplyfwprefix']) . " " $pm['title'];

// for every single recipient, check if autorespond is activated, get the autorespond text and save the reply to the senders INBOX

foreach ( $recipients as $recipient )
{
  
$r $db->query_read"SELECT userid, pmautoreplystatus, pmautoreplytext, pmautoreplydate, pmautoreplyforward FROM " TABLE_PREFIX "user WHERE username='" addslashestrim($recipient) ) . "'" );
  
$rcpinfo $db->fetch_array($r);

  
$a explode"#"$rcpinfo['pmautoreplydate'] );
  
$tnow time();
  if ( ( 
strtotimetrim $a[0] ) ) < $tnow ) AND ( $tnow strtotimetrim $a[1] ) ) ) ) { $dateok true; } else { $dateok false; }
  if ( 
strlen$rcpinfo['pmautoreplydate'] ) < ) { $dateok true; }

if  ( ( 
$rcpinfo['pmautoreplystatus'] == "1" ) AND ( $dateok ) )
  {
    
$autoreplytext $rcpinfo['pmautoreplytext'];
    
$autoreplysendername $recipient;
    
$autoreplysenderid $rcpinfo['userid'];

    
// do some replacements of placeholders.
    // I rather use str_replace() instead of a eval() to prevent internal vars to be parsed!
    
$autoreplytext str_replace"{name}"trim$userinfo['username'] ), $autoreplytext );
    
$autoreplytext str_replace"{from}"trim$a[0] ), $autoreplytext );
    
$autoreplytext str_replace"{to}"trim$a[1] ), $autoreplytext );
    
    
// create the datamanager
    
$pmdm =& datamanager_init('PM'$vbulletinERRTYPE_ARRAY);

    
// set all required fields
    
$pmdm->set_info('savecopy',   false);
    
$pmdm->set_info('receipt',    false);
    
$pmdm->set_info('cantrackpm'false);
    
$pmdm->set_info('forward',    false);
    
$pmdm->set('fromuserid'$autoreplysenderid);
    
$pmdm->set('fromusername'$autoreplysendername);
    
$pmdm->setr('title'$autoreplytitle);
    
$pmdm->setr('message'$autoreplytext);
    
$pmdm->set_recipients($userinfo['username'], $permissions); 
    
$pmdm->set('dateline'TIMENOW);
    
    
// and save the autoreply :-)
    
$pmdm->pre_save();
    
    
// If no errors, save.
    
if ($pmdm->errors) {
    return 
$pmdm->errors;
    }else{
    
$pmdm->save();
    }
  }

  
// now check if the recipient wants to have the PM forwarded to someone else
  
if ( strlen$rcpinfo["pmautoreplyforward"] ) > )
  {
    
// create a new datamanager
    // we recycle the old variable for this....
    
$pmdm =& datamanager_init('PM'$vbulletinERRTYPE_ARRAY);

    
// set all required fields again
    
$pmdm->set_info('savecopy',   false);
    
$pmdm->set_info('receipt',    false);
    
$pmdm->set_info('cantrackpm'false);
    
$pmdm->set_info('forward',    false);
    
$pmdm->set('fromuserid'$autoreplysenderid);
    
$pmdm->set('fromusername'$autoreplysendername);
    
$pmdm->setr('title'$forwardtitle);
    
$pmfwtext "[quote=" $userinfo['username'] . "]" $pm['message'] . "[/quote]";
    
$pmdm->setr('message'$pmfwtext);
    
$pmdm->set_recipientsaddslashes$rcpinfo['pmautoreplyforward'] ), $permissions); 
    
$pmdm->set('dateline'TIMENOW);

    
// and save the forwarded PM
    
$pmdm->pre_save();

    if (empty(
$pmdm->errors))
    {
    
$pmdm->save();
    }

Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:43 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05208 seconds
  • Memory Usage 2,198KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete