Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 04-15-2012, 04:21 PM
Kyojii Kyojii is offline
 
Join Date: Jun 2008
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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?
Reply With Quote
  #2  
Old 04-15-2012, 07:24 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #3  
Old 04-15-2012, 08:49 PM
Kyojii Kyojii is offline
 
Join Date: Jun 2008
Posts: 78
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #4  
Old 04-15-2012, 10:43 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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...
Reply With Quote
Reply


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 08:31 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.03630 seconds
  • Memory Usage 2,187KB
  • Queries Executed 13 (?)
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
  • (2)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)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_postinfo_query
  • fetch_postinfo
  • 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