Go Back   vb.org Archive > Community Discussions > Modification Requests/Questions (Unpaid)
  #1  
Old 02-24-2019, 09:28 PM
qmm qmm is offline
 
Join Date: Feb 2019
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default vBulletin 5 Request - Functionality to create a new thread from external script

Hi,

I have a type of framework on-top of vbulletin, we recently did an upgrade from 3.8 all the way to 5.5.0 for responsive forum themes
In our framework, we are able to save a new thread in the forum using datamanager through, let us say, my-codebase/save-new-thread.php where you can pass parameters, it's broken to run as is in the new upgraded forum

Is there an out-of-the-box solution to this using existing codebase that I have not yet found that can be included in the script and replace the datamanager?
I'm keen on trying to stay away from core editing and kind of new in the vbulletin codebase

Apologies if this might already be there, I have not yet found it personally or found how threads are created in the forum itself through code
Thanks in advance
Reply With Quote
  #2  
Old 02-25-2019, 01:36 PM
delicjous's Avatar
delicjous delicjous is offline
 
Join Date: Nov 2014
Posts: 352
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi,

there is no script yet.

Would be nice to see your script because there are a lot of open questions....

-Who is posting the new threads?
-Where is this script based (another cms or folder)?
-Would it be possible to use vB-cms for this?
Reply With Quote
  #3  
Old 02-26-2019, 07:20 AM
qmm qmm is offline
 
Join Date: Feb 2019
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by delicjous View Post
Hi,

there is no script yet.

Would be nice to see your script because there are a lot of open questions....

-Who is posting the new threads?
-Where is this script based (another cms or folder)?
-Would it be possible to use vB-cms for this?
Hi, thanks for the reply

Current script looks like this (used in vB3.8):
PHP Code:
    if (!($foruminfo verify_id('forum'100falsetrue)))
    return 
0;
    
$dataman =& datamanager_init('Thread_FirstPost'$vbulletinERRTYPE_ARRAY'threadpost');
    
$dataman->set('userid'$vbulletin->userinfo['userid']);
    
$dataman->set('forumid'100);
    
$dataman->set('prefixid''PREFIXED');
    
$dataman->set('title''thread title');
    
$dataman->set('pagetext''thread content');
    
$dataman->set('allowsmilie'1);
    
$dataman->set('visible'1);
    
$dataman->set_info('forum'$foruminfo);
    
$dataman->set_info('is_automated'true);

    
$dataman->pre_save();
    if (
$dataman->errors)
        return 
0;

    
$threadid $dataman->save(); 
I did check this earlier, I want to achieve something like it but excluded putting user password and base it on the global $vbulletin->userinfo as user is already logged in and the data is available
https://vborg.vbsupport.ru/showthread.php?t=326890

In regards of the questions:
1. The current logged in user, which can be accessed by the global variable
2. The forum has its own folder and the script is accessed through another subfolder on the same level. Etc /www/forums and /www/scripts/script.php
3. Is vbCMS available in 5.5.0?


Edit;
I got it working using the following code:
PHP Code:
define('CSRF_PROTECTION'false);

vB5_Autoloader::register('../');
vB5_Frontend_Application::init('config.php');
$api Api_InterfaceAbstract::instance();

$user  $api->callApi('user''fetchUserinfo', array());
  
$data = array(
    
'hvinput'  => '',
    
'title'  => 'title',
    
'rawtext' => 'text',
    
'prefixid' => 'prefixid',
    
'parentid' => 100,
    
'channelid' => 100,
    
'userid' => $user['userid'],
    
'authorname' => $user['username'],
    
'nl2br' => false,
    
'htmlstate' => 'off',
    
'disable_bbcode' => false
);
    
$options = array(
    
'skipDupCheck' => true
);
    
$nodeId $api->callApi('content_text''add', array($data$options)); 
Reply With Quote
Благодарность от:
delicjous
  #4  
Old 02-27-2019, 03:20 AM
delicjous's Avatar
delicjous delicjous is offline
 
Join Date: Nov 2014
Posts: 352
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by qmm View Post
In regards of the questions:
1. The current logged in user, which can be accessed by the global variable
2. The forum has its own folder and the script is accessed through another subfolder on the same level. Etc /www/forums and /www/scripts/script.php
Congrats, you got it!

Quote:
Originally Posted by qmm View Post
3. Is vbCMS available in 5.5.0?
vB5 have a build in cms. You could use articles and you could create as many pages you like and place all available widgets on that pages.

So if you just need a page without any other cms you should use a vB page and create a widget to post something. You could use the entire API in widgets and don't need to init the config...
Reply With Quote
  #5  
Old 03-11-2019, 02:58 PM
romaine's Avatar
romaine romaine is offline
 
Join Date: Jan 2015
Posts: 70
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by qmm View Post
Hi, thanks for the reply

Current script looks like this (used in vB3.8):
PHP Code:
    if (!($foruminfo verify_id('forum'100falsetrue)))
    return 
0;
    
$dataman =& datamanager_init('Thread_FirstPost'$vbulletinERRTYPE_ARRAY'threadpost');
    
$dataman->set('userid'$vbulletin->userinfo['userid']);
    
$dataman->set('forumid'100);
    
$dataman->set('prefixid''PREFIXED');
    
$dataman->set('title''thread title');
    
$dataman->set('pagetext''thread content');
    
$dataman->set('allowsmilie'1);
    
$dataman->set('visible'1);
    
$dataman->set_info('forum'$foruminfo);
    
$dataman->set_info('is_automated'true);

    
$dataman->pre_save();
    if (
$dataman->errors)
        return 
0;

    
$threadid $dataman->save(); 
I did check this earlier, I want to achieve something like it but excluded putting user password and base it on the global $vbulletin->userinfo as user is already logged in and the data is available
https://vborg.vbsupport.ru/showthread.php?t=326890

In regards of the questions:
1. The current logged in user, which can be accessed by the global variable
2. The forum has its own folder and the script is accessed through another subfolder on the same level. Etc /www/forums and /www/scripts/script.php
3. Is vbCMS available in 5.5.0?


Edit;
I got it working using the following code:
PHP Code:
define('CSRF_PROTECTION'false);

vB5_Autoloader::register('../');
vB5_Frontend_Application::init('config.php');
$api Api_InterfaceAbstract::instance();

$user  $api->callApi('user''fetchUserinfo', array());
  
$data = array(
    
'hvinput'  => '',
    
'title'  => 'title',
    
'rawtext' => 'text',
    
'prefixid' => 'prefixid',
    
'parentid' => 100,
    
'channelid' => 100,
    
'userid' => $user['userid'],
    
'authorname' => $user['username'],
    
'nl2br' => false,
    
'htmlstate' => 'off',
    
'disable_bbcode' => false
);
    
$options = array(
    
'skipDupCheck' => true
);
    
$nodeId $api->callApi('content_text''add', array($data$options)); 
Thanks for sharing useful code, the important thing in your post is how to connect to vB database, the rest I could use a custom code to insert what I want into my vB database.
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 07:50 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.06691 seconds
  • Memory Usage 2,271KB
  • 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
  • (4)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (1)post_thanks_box_bit
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete