vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Sending a user a pm. (https://vborg.vbsupport.ru/showthread.php?t=281587)

Kyojii 04-15-2012 04:21 PM

Sending a user a pm.
 
So I made this code,
Code:

$from = 0;
$fromname = '';
$title = 'Test PM';
$message = 'this is a test pm';
$sendpermissions = array(
        pmpermissions => 7,
        pmsendmax => 0,
        pmquota => 0,
        pmthrottlequantity => 0,
);

$pmdm = datamanager_init('PM', $vbulletin, ERRTYPE_ARRAY);
$pmdm->set('fromuserid', $from);
$pmdm->set('fromusername', $fromname);
$pmdm->setr('title', $title);
$pmdm->set_recipients($vbulletin->userinfo['username'], $sendpermissoins);
$pmdm->setr('message', $message);
$pmdm->set('dateline', TIMENOW);
$pmdm->save();

This should send you a pm when you load this page. Which actually it does. The problem is the info is being put into the _pmtext table but not the _pm table. So it makes the pm record it just never inserts the pm into the users inbox thus they never knew it came or even existed. Does anyone know why this is?

kh99 04-15-2012 07:24 PM

You've misspelled "$sendpermissions" when you use it in set_recipients, but I'm not sure that's the issue or not. You could call pre_save() and check to see if the array $pmdm->errors is not empty, and if it isn't look at the contents somehow, and hopefully that will tell you the problem.

Kyojii 04-15-2012 08:49 PM

Nope, I fixed the typo and ran pre_save, and $pmdm->errors was empty. The entry still got put in the the database however only one of the 2 required like before.

This does seem to be a permissions related problem though. However I'm unsure which permissions from the default $permissions are needed, I don't want to use $permissions and pass in the users permissions because the pm is not coming from a user. But when using $permissions it worked as intended.

--------------- Added [DATE]1334528266[/DATE] at [TIME]1334528266[/TIME] ---------------

So after copying my permissions to $sendpermissions and removing variables one at a time, the only value that needs to be present in the permissions array is the following.

Code:

$sendpermissions = array(
        adminpermissions => 3,
);

However I'm unsure what that 3 represents. It shouldn't be an issue though.

kh99 04-15-2012 10:43 PM

Yeah, I don't understand what's going on. The only place in class_dm_pm.php that I see it using the adminpermission value is if the sending user is ignored by the recipient, then the adminpermission can override it. But you seem to be setting the from userid to 0 - I'm kind of surprised that even works. Oh well...


All times are GMT. The time now is 09:37 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.01754 seconds
  • Memory Usage 1,715KB
  • 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
  • (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