vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Recipients (PM) (https://vborg.vbsupport.ru/showthread.php?t=283179)

SiSoft 05-19-2012 01:20 PM

Recipients (PM)
 
Hi,
I want to disable receiving PMs to some members who have specific values in some users fields
But I can't find the right variables to do that, can any one help me ?

Thank you.

kh99 05-20-2012 02:39 PM

You could do something like this: create a plugin using hook pmdata_presave and code like:

PHP Code:

foreach ($this->info['recipients'] as $u)
{
    
$user fetch_userinfo($u['userid']); // Note: need to do this because $this->info['recipients'] does not contain profile fields
    
if (some check of fields in $user)
    {
        
$this->errors[] = "Can't send PM to user " $user['username'];
    }



SiSoft 05-20-2012 04:56 PM

Thanks a lot it works, but I have just a little problem, when I do an If condition on both user's fields (the sender & the reciever) it doesn't work
like

PHP Code:

if($vbulletin->userinfo['field1']=="XX"){
foreach (
$this->info['recipients'] as $u){
    
$user fetch_userinfo($u['userid']); // Note: need to do this because $this->info['recipients'] does not contain profile fields
    
if ($user['field1']=="YY")
    {
        
$this->errors[] = "Can't send PM to user " $user['username'];
    }
}



kh99 05-20-2012 06:28 PM

You should probably do something like this:
Code:

$fromuserid = intval($this->fetch_field('fromuserid'));
$fromuser = fetch_userinfo($fromuserid);
if(is_array($fromuser) AND $fromuser['field1']=="XX"){
// etc


I'm pretty sure the $fromuser will always be equivalent to $vbulletin->userinfo, but the rest of the pm datamanager code is written without making that assumption, so it's probably best to stay with that.


All times are GMT. The time now is 11:51 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.00981 seconds
  • Memory Usage 1,720KB
  • 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
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete