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

Reply
 
Thread Tools Display Modes
  #1  
Old 07-15-2008, 10:34 PM
adairen adairen is offline
 
Join Date: Jun 2008
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Using data manager outside forum directory

Hello,

I'm currently running an application script that involves a function that will create a new thread on my forum. The script seems to run if I put the php file inside the root directory of my forum but if I try to move the file anywhere else on the server, it doesn't work. I'm using require() function with the correct paths pointing to the global.php and includes.

Directory structure of when myfile.php works:
/test/forumstest/myfile.php (works)
/test/forumstest/application/myfile.php (doesn't work)
/test/application/myfile.php (doesn't work)

Heres the code:
Code:
// CREATE THREAD IN PUBLIC RECRUITING
$forumURL = "/var/www/html/test/forumstest"; // no forward slash
require_once($forumURL.'/global.php');
require_once($forumURL.'/includes/class_dm.php');
require_once($forumURL.'/includes/class_dm_threadpost.php');
require_once($forumURL.'/includes/functions_databuild.php');
$threaddm =& datamanager_init('Thread_FirstPost', $vbulletin, ERRTYPE_ARRAY, 'threadpost');

/* vars */
$forumid = 31; // can also be a number ;) $forumdid= 12;
$title = $charNames.' '.$charClass;
$pagetext = $message;
$foruminfo = fetch_foruminfo($forumid);
$threaddm->set_info('forum', $foruminfo);

/* strip */
$forum_id = (int)$forum_id;
$pagetext = (string)strip_tags($pagetext);
$title = (string)strip_tags($title); //

$threaddm->set('forumid', $foruminfo['forumid']);
$threaddm->set('userid', 3963);
$threaddm->set('title', $title);
$threaddm->set('pagetext', $pagetext);
$threaddm->set('allowsmilie', 1);
$threaddm->set('visible', 1);
$threaddm->set('dateline', TIMENOW);

$threaddm->pre_save();

if (count($threaddm->errors) > 0) {
    print_r($threaddm->errors);
}
else {
    $threaddm->save(); 
	build_forum_counters($forum_id);
	echo 'Yay!';
}
Reply With Quote
  #2  
Old 07-16-2008, 01:26 AM
MoT3rror MoT3rror is offline
 
Join Date: Mar 2007
Posts: 423
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

PHP Code:
// CREATE THREAD IN PUBLIC RECRUITING
$forumURL "/var/www/html/test/forumstest"// no forward slash
$curdir getcwd ();
chdir($forumURL);
require_once(
'./global.php');
chdir ($curdir);
require_once(
DIR '/includes/class_dm.php');
require_once(
DIR '/includes/class_dm_threadpost.php');
require_once(
DIR '/includes/functions_databuild.php');
$threaddm =& datamanager_init('Thread_FirstPost'$vbulletinERRTYPE_ARRAY'threadpost');

/* vars */
$forumid 31// can also be a number ;) $forumid= 12;
$title $charNames ' ' $charClass;
$pagetext $message;
$foruminfo fetch_foruminfo($forumid);
$threaddm->set_info('forum'$foruminfo);

/* strip *///What is it with the (int) AND (string)
$forum_id = (int)$forum_id;
$pagetext = (string)strip_tags($pagetext);
$title = (string)strip_tags($title); //



$threaddm->set('forumid'$foruminfo['forumid']);
$threaddm->set('userid'3963);
$threaddm->set('title'$title);
$threaddm->set('pagetext'$pagetext);
$threaddm->set('allowsmilie'1);
$threaddm->set('visible'1);
$threaddm->set('dateline'TIMENOW);

$threaddm->pre_save();

if (
count($threaddm->errors) > 0) {
    
print_r($threaddm->errors);
}
else {
    
$threaddm->save(); 
    
build_forum_counters($forum_id);
    echo 
'Yay!';

Reply With Quote
  #3  
Old 07-16-2008, 06:55 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

It's better to change the directory back to normal at the end of your little bit of script - it may stop a few nasty bugs.
Reply With Quote
  #4  
Old 07-18-2008, 03:45 AM
adairen adairen is offline
 
Join Date: Jun 2008
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the examples. I'll test them out.
Reply With Quote
  #5  
Old 11-27-2008, 12:19 AM
ULFSoft ULFSoft is offline
 
Join Date: Jul 2008
Location: web
Posts: 19
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by MoT3rror View Post
PHP Code:
// CREATE THREAD IN PUBLIC RECRUITING
$forumURL "/var/www/html/test/forumstest"// no forward slash
$curdir getcwd ();
chdir($forumURL);
require_once(
'./global.php');
chdir ($curdir);
require_once(
DIR '/includes/class_dm.php');
require_once(
DIR '/includes/class_dm_threadpost.php');
require_once(
DIR '/includes/functions_databuild.php');
$threaddm =& datamanager_init('Thread_FirstPost'$vbulletinERRTYPE_ARRAY'threadpost');

/* vars */
$forumid 31// can also be a number ;) $forumid= 12;
$title $charNames ' ' $charClass;
$pagetext $message;
$foruminfo fetch_foruminfo($forumid);
$threaddm->set_info('forum'$foruminfo);

/* strip *///What is it with the (int) AND (string)
$forum_id = (int)$forum_id;
$pagetext = (string)strip_tags($pagetext);
$title = (string)strip_tags($title); //



$threaddm->set('forumid'$foruminfo['forumid']);
$threaddm->set('userid'3963);
$threaddm->set('title'$title);
$threaddm->set('pagetext'$pagetext);
$threaddm->set('allowsmilie'1);
$threaddm->set('visible'1);
$threaddm->set('dateline'TIMENOW);

$threaddm->pre_save();

if (
count($threaddm->errors) > 0) {
    
print_r($threaddm->errors);
}
else {
    
$threaddm->save(); 
    
build_forum_counters($forum_id);
    echo 
'Yay!';

Thank u for this code.
It's work.
But i have a problem.
If i set HTML Tags on 'pagetext', it will delete Tags!!!
I set the HTML permission to True on the destination forum, but ...

what can i to do?!
(sry for my bad english)
Reply With Quote
  #6  
Old 01-16-2009, 04:25 AM
kensandell kensandell is offline
 
Join Date: Jan 2009
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

See the following:
http://us2.php.net/strip-tags

Now view your code:
/* strip *///What is it with the (int) AND (string)
$forum_id = (int)$forum_id;
$pagetext = (string)strip_tags($pagetext);
$title = (string)strip_tags($title); //

If you change $pagetext = ... to:
$pagetext = (string)$pagetext;

Does this resolve the stripping of tags?
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 02:33 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.03959 seconds
  • Memory Usage 2,247KB
  • 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
  • (1)bbcode_code
  • (2)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (6)post_thanks_box
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)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