Go Back   vb.org Archive > vBulletin 5 Connect Discussion > vB5 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 10-07-2014, 09:19 PM
neilsimp1 neilsimp1 is offline
 
Join Date: Oct 2014
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Help with Datamanager/Sending Private Messages

Hi

I'm following instructions from https://vborg.vbsupport.ru/showthrea...ata+manager+pm to create a datamanager and send a PM.

Everything looks good in my code, I believe, except that I'm having trouble including/requiring the files:
core/includes/functions.php
core/includes/class_core.php
per http://www.vbulletin.com/docs/html/data_managers

the file I'm working from is located in /public/my/includes/myscript.php, so what I'm trying is:

PHP Code:
include('privateMessage.php');//script in same folder, this one loads fine

//then later on...
api_send_privateMessage($fromuserid$fromusername$title$message$recipient);
//which is located in privateMessage.php 
So in privateMessage.php:
PHP Code:
require_once(realpath(__DIR__).'/../../core/includes/functions.php');
require_once(
realpath(__DIR__).'/../../core/includes/class_core.php');    
    
function 
api_send_privateMessage($fromuserid$fromusername$title$message$recipients){
    
$pmdm =& datamanager_init('PM'$vbulletinERRTYPE_ARRAY);
    
$pmdm->set('fromuserid'$fromuserid);
    
$pmdm->set('fromusername'$fromusername);
    
$pmdm->set('title'$title);
    
$pmdm->set('message'$message);
    
$pmdm->set_recipients($recipients$botpermissions);
    
$pmdm->set('dateline'TIMENOW); 
    
$pmdm->save();
    
    return 
$pmdm->errors;

If I comment out the require_once's, I get an error saying that datamanager_init is not found, so I know it's calling the function correctly.


I've tried various combinations of pointing to functions.php and class_core.php, but I keep end up getting "Access denied." on a blank white page, without it ever completing and going to the next actual web page.


Can somebody point out my (hopefully) obvious mistake?
This has been driving me crazy, any help would be appreciated.
Reply With Quote
  #2  
Old 10-07-2014, 10:15 PM
ozzy47's Avatar
ozzy47 ozzy47 is offline
 
Join Date: Jul 2009
Location: USA
Posts: 10,929
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

That is a vB3 article, that will not work in vB5 it is completely different.
Reply With Quote
  #3  
Old 10-07-2014, 10:24 PM
Dead Eddie's Avatar
Dead Eddie Dead Eddie is offline
 
Join Date: Apr 2004
Location: at Home...
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Use the API

vB_Api_Content_Privatemessage::add()
Reply With Quote
  #4  
Old 10-07-2014, 10:51 PM
neilsimp1 neilsimp1 is offline
 
Join Date: Oct 2014
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks.
I looked all over to find something specific to vb5, but that was really all Google could get for me. Would you be able to point me where I can find documentation on that? Sorry, I'm just looking at vBulletin for the first time, so it's all new.
Reply With Quote
  #5  
Old 10-08-2014, 01:37 AM
Dead Eddie's Avatar
Dead Eddie Dead Eddie is offline
 
Join Date: Apr 2004
Location: at Home...
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by neilsimp1 View Post
Thanks.
I looked all over to find something specific to vb5, but that was really all Google could get for me. Would you be able to point me where I can find documentation on that? Sorry, I'm just looking at vBulletin for the first time, so it's all new.
Mostly just look at the code. There really isn't any developer documentation and the stuff on this site is user built.

This is an example of calling the text API (for a new thread). Should give you an idea of where to start (since, basically, you're creating a text node, with additional PM data). Read the comments on the API method I referenced above and, if you're still stuck, someone will likely try to help.
Reply With Quote
  #6  
Old 10-08-2014, 06:47 PM
TheAdminMarket's Avatar
TheAdminMarket TheAdminMarket is offline
 
Join Date: Jun 2013
Location: Thessaloniki, Greece
Posts: 511
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Haven't worked with vB5 but seems that you're missing something. You've in your code:
PHP Code:
$pmdm->set_recipients($recipients$botpermissions); 
but unless if I'm blind, can't see the value assigment for variable: $botpermissions. You must give admin permissions for PMs to be sure that it will bypass any restriction (eg total amount of PMs, PMs per xxx time)

For vB4 I was using:
PHP Code:
// Bypass message amount restrictions
$botpermissions['adminpermissions'] = 2;
$pmSystem->set_recipients($item["username"], $botpermissions); 
Reply With Quote
  #7  
Old 11-11-2014, 07:30 PM
neilsimp1 neilsimp1 is offline
 
Join Date: Oct 2014
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've done a bit more digging, and I believe I'm close with something like this:

PHP Code:
$data = array('sentto' => $recipients,
            
'msgRecipients' => $recipients,
            
'msgtype' 'message',
            
'title' => $title
            
'rawtext' => $message
            
'sender' => $fromuserid,
            
'contenttypeid' => 27);
        
$pm_library vB_Library::instance('Content_Privatemessage');

$options = array();        

$pm_library->add($data$options); 
But I'm getting the error below, pretty much no matter what I do with the parameters at this point.
I'm not sure if it's the $data or the $options array that's having the "Illegal offset" problems, evan after looking at /vb/library/content/privatemessage.php

Code:
Warning: Illegal offset type in isset or empty in .../vb/library/content/privatemessage.php on line 1723 Warning: Illegal offset type in .../vb/library/content/privatemessage.php on line 1787 Warning: Illegal offset type in .../vb/library/content/privatemessage.php on line 564 API Error
Error: database_cant_escape_param
Args:
array (
  0 => 'array',
)

Can anyone point me in the right direction?
Reply With Quote
  #8  
Old 11-12-2014, 01:25 AM
Dead Eddie's Avatar
Dead Eddie Dead Eddie is offline
 
Join Date: Apr 2004
Location: at Home...
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm just guessing here...but it looks like 'sentto' probably isn't formatted correctly.

If I were debugging it, I'd probably add a few var_dumps in vB_Library_Content_Privatemessage:add() around where it calls the checkFolders method and inspect the variables it's passing. You'll probably catch one that's dropping invalid data (I'd start with the one at line 555).
Reply With Quote
  #9  
Old 11-13-2014, 09:10 PM
neilsimp1 neilsimp1 is offline
 
Join Date: Oct 2014
Posts: 4
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I can't thank you enough...

Just got it working with:
PHP Code:
$recipients[0] = 1;//UserID of admin 
which before was [0]['userid']

And these options:
PHP Code:
$options['nl2br'] = true;
$options['skipDupCheck'] = true;
$options['skipNotification'] = true;
$options['skipFloodCheck'] = true
Now on to the next task - having the script create a user account.


Thanks again for the help!
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 12:13 AM.


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.08793 seconds
  • Memory Usage 2,266KB
  • 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_code
  • (7)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (9)post_thanks_box
  • (9)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (9)post_thanks_postbit_info
  • (9)postbit
  • (9)postbit_onlinestatus
  • (9)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