Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 09-05-2008, 04:00 PM
asandhanam asandhanam is offline
 
Join Date: Oct 2007
Posts: 57
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default update forum data from external application

Hi, I'm trying to update the forum table from an external application. Though data gets updated, obviously i don't see changes live because of the forum cache. I've posted a question already in general discussions & was advised to use the datamanager. My application is in coldfusion. I'm just wondering how to handle this. Any suggestions?
If i were to update using datamanager how do i do it? The only thing i'll be able to pass via url is the forumid.
I'm so stuck here and vbulletin is new ground to me. Any help is greatly appreciated.
thanks.
Reply With Quote
  #2  
Old 09-05-2008, 04:10 PM
Opserty Opserty is offline
 
Join Date: Apr 2007
Posts: 4,103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

<a href="http://www.vbulletin.com/docs/html/data_managers" target="_blank">Data Managers</a>
Reply With Quote
  #3  
Old 09-21-2008, 01:12 AM
asandhanam asandhanam is offline
 
Join Date: Oct 2007
Posts: 57
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I gathered snippets of code from previous posts and came up with this to update the forum table & reset cache. Trying to make this an include from my external app. I'm passing the forumid & the field to be updated.

<?
error_reporting(E_ALL & ~E_NOTICE);
include ('./global.php');
include (DIR . '/includes/adminfunctions_template.php');
include (DIR . '/includes/adminfunctions_forums.php');

$forum_num = $vbulletin->input->clean_gpc('g', 'f', TYPE_NOTRIM);
$sponsored = $vbulletin->input->clean_gpc('g', 's', TYPE_NOTRIM);

$forumdm =& datamanager_init('Forum', $vbulletin, ERRTYPE_STANDARD, 'forum');

$foruminfo = fetch_foruminfo($forum_num);

$forumdm->set_existing($foruminfo);
$forumdm->set('sponsored', $sponsored);

if ($forumdm->save())
echo "saved";
else
echo "error";

?>

Ofcourse i didn't expect it to work right away and so does it. Could someone point out whats wrong and guide me in the right direction.

Thanks.
Reply With Quote
  #4  
Old 09-22-2008, 10:24 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Not sure why you are using TYPE_NOTRIM. At least the forumid should be TYPE_INT or TYPE_UINT.

The reason your script is not working will be that 'sponsored' is not in the validfields array.
Reply With Quote
  #5  
Old 09-22-2008, 03:42 PM
asandhanam asandhanam is offline
 
Join Date: Oct 2007
Posts: 57
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for your response. I got the TYPE_NOTRIM from one of the previous posts. Where do i find this 'validfields' array?
Reply With Quote
  #6  
Old 09-22-2008, 03:54 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

class_dm_forum.php
Reply With Quote
  #7  
Old 09-22-2008, 04:38 PM
asandhanam asandhanam is offline
 
Join Date: Oct 2007
Posts: 57
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have this script within the includes folder & i tested till here
(../includes/test.php?f=3)

<?
error_reporting(E_ALL & ~E_NOTICE);
include ('./global.php');
include (DIR . '/includes/adminfunctions_template.php');
include (DIR . '/includes/adminfunctions_forums.php');

$forum_num = $vbulletin->input->clean_gpc('g', 'f', TYPE_UNIT);
echo $forum_num;
?>
The page comes up blank indicating error. I don't want to put the script within the admincp as that is a password protected region. As i need to be able to include this from my cfm app, i need this to be outside of admincp. what am i doing wrong? I new to vbulletin so pls help.
Reply With Quote
  #8  
Old 09-22-2008, 04:45 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can't put it in the /includes folder and then have your include lines call those other scripts in that manner. global.php is not in the includes folder. Why are you putting it in the /includes folder to test instead of the regular forum?
Reply With Quote
  #9  
Old 09-22-2008, 04:54 PM
asandhanam asandhanam is offline
 
Join Date: Oct 2007
Posts: 57
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Right. That was bad decision. I didn't have permissions to upload files to the root. I had to wait for my sys admin to grant permissions..i thought i'll try uploading it to includes folder & test in the mean while..
If i were to put it in root & test, what other class files will i have to include to get this to work. All i want to be able to do is update a new field that i added to the forum table, with the datamanager? Thanks a lot for your time.
BTW i've only tried to include the global.php thats in the root in my prev script. (include './global.php')? I just copied that part from the forum.php in admincp.

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

Thanks for your help so far. I moved it to the root & it included the core class files..It works till initiating the datamanager object. But saving part doesn't work yet. What other files need to be included to get it working?

<?

// ########################## REQUIRE BACK-END ############################
error_reporting(E_ALL & ~E_NOTICE);
@set_time_limit(0);
include ('./global.php');
include (DIR . '/includes/adminfunctions_template.php');
include (DIR . '/includes/adminfunctions_forums.php');
include (DIR . '/includes/class_core.php');
include (DIR . '/includes/class_dm.php');
include (DIR . '/includes/class_dm_forum.php');
include (DIR . '/includes/functions.php');


$forum_num = $vbulletin->input->clean_gpc('g', 'f', TYPE_UNIT);
$sponsored = $vbulletin->input->clean_gpc('g', 's', TYPE_BOOL);


$forumdm =& datamanager_init('Forum', $vbulletin, ERRTYPE_CP);

echo "initiated";

$foruminfo = fetch_foruminfo($forum_num);

$forumdm->set_existing($foruminfo);
//$forumdm->set('sponsored', $sponsored);
$forumdm->set('title_clean', 'new title');
//unset($forumdm);


if ($forumdm->save())
echo "saved";
else
echo "error";

?>

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

Update: Got it to work. For anyone who wants to know:

This file is placed in the root.

<?
// ########################## REQUIRE BACK-END ############################
error_reporting(E_ALL & ~E_NOTICE);
@set_time_limit(0);
include ('./global.php');
include (DIR . '/includes/adminfunctions_template.php');
include (DIR . '/includes/adminfunctions_forums.php');
include (DIR . '/includes/class_core.php');
include (DIR . '/includes/class_dm.php');
include (DIR . '/includes/class_dm_forum.php');
include (DIR . '/includes/functions.php');


$forum_num = $vbulletin->input->clean_gpc('g', 'f', TYPE_UNIT);


$forumdm =& datamanager_init('Forum', $vbulletin, ERRTYPE_CP);


$foruminfo = fetch_foruminfo($forum_num);


$forumdm->set_existing($foruminfo);
$forumdm->set('title_clean', 'new title');
$forumdm->save();
unset($forumdm);

?>

Thanks for your help vbulletin community.
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 08:19 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.06446 seconds
  • Memory Usage 2,235KB
  • 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)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