Go Back   vb.org Archive > vBulletin 5 Connect Discussion > vB5 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 08-26-2014, 06:59 PM
DisasterDotCom DisasterDotCom is offline
 
Join Date: Feb 2013
Posts: 37
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Script to add thread?

Does anyone have a sample PHP script I can build off of that let's you add a thread? I'm not an advanced coder, but I can hack through a script once I have it to make it do what I need. I REALLY appreciate it. Thanks!
Reply With Quote
  #2  
Old 08-26-2014, 09:49 PM
Dead Eddie's Avatar
Dead Eddie Dead Eddie is offline
 
Join Date: Apr 2004
Location: at Home...
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

From the script:

PHP Code:
            $result = array();
            
$textData = array(
                
'title'                  => $input['title'],
                
'parentid'               => $input['parentid'],
                
'rawtext'                => $input['text'],
                
'userid'                 => $user['userid'],
                
'authorname'             => $user['username'],
                
'created'                => $time,
                
'iconid'                 => $input['iconid'],
                
'prefixid'               => $input['prefixid'],
                
'hvinput'                => $input['hvinput'],
            );

            
// sets publishdate
            
$textData += $this->getArticleInput();

            if (!empty(
$_POST['setfor']))
            {
                
$textData['setfor'] = intval($_POST['setfor']);
            }

            
$options = array(
                
'facebook' => $this->getFacebookOptionsForAddNode(),
            );

            
// We need to convert WYSIWYG html here and run the img check
            
if (isset($textData['rawtext']))
            {
                
$tmpText $api->callApi('bbcode''convertWysiwygTextToBbcode', array($textData['rawtext'], $options));
                if ((
$phrase vB5_Frontend_Controller_Bbcode::verifyImgCheck($tmpText)) !== true)
                {
                    
$results['error'] = $phrase;
                    
$this->sendAsJson($results);
                    return;
                }
            }

            
$nodeId $api->callApi('content_text''add', array($textData$options));
            
$this->handleErrorsForAjax($result$nodeId); 
Reply With Quote
  #3  
Old 08-28-2014, 02:58 AM
DisasterDotCom DisasterDotCom is offline
 
Join Date: Feb 2013
Posts: 37
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks! I guess I was looking to see if anyone had a complete script, including the wrapper to allow the security access to do the post.
Reply With Quote
  #4  
Old 08-28-2014, 03:27 AM
Dead Eddie's Avatar
Dead Eddie Dead Eddie is offline
 
Join Date: Apr 2004
Location: at Home...
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
including the wrapper to allow the security access to do the post.
Maybe it's late and I'm tired, but I'm not sure what you're looking for here.
Reply With Quote
  #5  
Old 09-01-2014, 02:38 AM
Dead Eddie's Avatar
Dead Eddie Dead Eddie is offline
 
Join Date: Apr 2004
Location: at Home...
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Here's basically the same thing being called from an internal script.

PHP Code:
<?php

//stolen from index.php
define('VB_ENTRY'1);
require_once(
'includes/vb5/autoloader.php');
vB5_Autoloader::register(dirname(__FILE__));

$app vB5_Frontend_Application::init('config.php');

error_reporting(E_ALL E_STRICT);

$config vB5_Config::instance();
if (!
$config->report_all_php_errors) {
    
error_reporting(E_ALL & ~(E_NOTICE E_STRICT));
}

$api Api_InterfaceAbstract::instance();

$input = [
    
'title'        =>    'Posting through the API',
    
'rawtext'    =>    'My really cool API Post',
    
'nodeid'    =>    0,
    
'parentid'    =>    3,
    
'channelid'    =>    3,
    
'ret'        =>    '',
    
'tags'        =>    '',
    
'reason'    =>    '',
    
'iconid'    =>    '',
    
'prefixid'    =>    '',
    
'hvinput'    =>    '',
    
'subtype'    =>    '',
    
'userid'    =>    '1',
    
'username'    =>    'User',
];

$options = [];

$nodeId $api->callApi('content_text''add', [$input$options]);


if(!
is_int($nodeId))
{
    
print_r($nodeId);
    exit;
}
print 
'Node '$nodeId ' created successfully';
This is still just an example of the frontend calling the API. Is this what you're looking for? Or are you trying to call it externally?
Reply With Quote
  #6  
Old 09-08-2014, 02:11 AM
DisasterDotCom DisasterDotCom is offline
 
Join Date: Feb 2013
Posts: 37
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I'm trying to call it externally. Basically, I have a third party that wants to automatically post notifications to a specific forum on our site. These notifications will include a title and content, and will all be posted by the same user. I'd like them to post a JSON object to a script, and have that script post it into vBulletin.
Reply With Quote
  #7  
Old 09-13-2014, 11:17 AM
Dead Eddie's Avatar
Dead Eddie Dead Eddie is offline
 
Join Date: Apr 2004
Location: at Home...
Posts: 196
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't *see* anything internal to the application that accepts a JSON request and converts it to something the API can consume.

That's not to say it's not there, I just haven't come across it.

So, you'd have to write your own code to accept the request & convert it from JSON to something the API can chew on if you wanted to go that route. If you do that, you'd likely have to manage security with them. Or, have them call the API in the traditional way.
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 06:28 AM.


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.07219 seconds
  • Memory Usage 2,255KB
  • 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
  • (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
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)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