Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 05-09-2010, 09:46 PM
Jaxel Jaxel is offline
 
Join Date: Sep 2005
Posts: 1,160
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Question about PM DataManager...

Okay, I have a comma delimited string.... "1,319" stored in $media['subscriptions']

I am using the following code:
Code:
if ($media['subscriptions'])
{
	$recipients = str_replace(',',';',$media['subscriptions']);

	$pmdm =& datamanager_init('PM', $vbulletin);
	$pmdm->set('fromuserid', $vbulletin->userinfo['userid']);
	$pmdm->set('fromusername', $vbulletin->userinfo['username']);
	$pmdm->set('title', "this is a test title");
	$pmdm->set('message', "this is a test message");
	$pmdm->overridequota = true;
	$pmdm->set_recipients($recipients, $botpermissions);
	$pmdm->set('dateline', TIMENOW);
	$pmdm->save();
}
When this code processes, I get the following error...

The following users were not found: 1, 319

Now I have several problems with this...

1 - user #1 DOES exist, as that is me, so this shouldn't be happening...
2 - 319 actually doesn't exist, however I would like it to IGNORE this error and send the message to the other users. Is this possible?

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

Okay... I got it working... sort of, I now have a new error...
Code:
if ($media['subscriptions'])
{
	$users = $vbulletin->db->query_read("SELECT username FROM " . TABLE_PREFIX . "user WHERE userid IN (".$media['subscriptions'].")");

	while ($user = $vbulletin->db->fetch_array($users))
	{
		$recipients[] = $user['username'];
	}

	$recipients = implode(';', $recipients);

	$dm =& datamanager_init('PM', $vbulletin);
	$dm->set('fromuserid', $vbulletin->userinfo['userid']);
	$dm->set('fromusername', $vbulletin->userinfo['username']);
	$dm->set('title', "this is a test title");
	$dm->set('message', "this is a test message");
	$dm->overridequota = true;
	$dm->set_recipients($recipients, $botpermissions);
	$dm->set('dateline', TIMENOW);
	$dm->save();
}


However, using this code, I have a new error...
Code:
INSERT INTO pmtext
	(fromuserid, fromusername, title, message, dateline, touserarray, pmtextid) VALUES
	(2, 'testaccount', 'this is a test title', 'this is a test message', 1273473635, 'a:1:{s:3:\"bcc\";a:1:{i:1;s:5:\"Jaxel\";}}', 2);

MySQL Error   : Duplicate entry '2' for key 1
Error Number  : 1062
Username      : testaccount
Classname     : vB_Database
MySQL Version : 

Stack Trace:

#0 vB_Database->halt() called in [path]/includes/class_core.php on line 421
#1 vB_Database->execute_query() called in [path]/includes/class_core.php on line 439
#2 vB_Database->query_write() called in [path]/includes/class_dm.php on line 740
#3 vB_DataManager->db_insert() called in [path]/includes/class_dm.php on line 890
#4 vB_DataManager->save() called in [path]/media/media_comment.php on line 80
#5 require_once([path]/media/media_comment.php) called in [path]/media_ajax.php on line 87

This error doesn't seem to make sense to me... It DOES process an insert in the database, and the PM goes through. This error pops up because for some odd reason it is running the insert code TWICE... which it shouldnt be doing.
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 04:57 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.03210 seconds
  • Memory Usage 2,161KB
  • 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
  • (3)bbcode_code
  • (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_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