vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Using data manager outside forum directory (https://vborg.vbsupport.ru/showthread.php?t=185446)

adairen 07-15-2008 10:34 PM

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!';
}


MoT3rror 07-16-2008 01:26 AM

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!';



Dismounted 07-16-2008 06:55 AM

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.

adairen 07-18-2008 03:45 AM

Thanks for the examples. I'll test them out. :)

ULFSoft 11-27-2008 12:19 AM

Quote:

Originally Posted by MoT3rror (Post 1576432)
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)

kensandell 01-16-2009 04:25 AM

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?


All times are GMT. The time now is 09:27 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.01381 seconds
  • Memory Usage 1,761KB
  • 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
  • (1)bbcode_code_printable
  • (2)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)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