vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB5 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=263)
-   -   Abstract API Init Problem (https://vborg.vbsupport.ru/showthread.php?t=325243)

devoidfeast 06-13-2017 02:58 PM

Abstract API Init Problem
 
Ciao,

i am trying to integrate an external php script with vbulletin 5, i searched the forum and web for possible solutions and i found some but i think either they were incomplete or i was not good enough to understand.

here is the code snippet from vbulletin official post.

Code:

$vbpath = '/var/www/html';
 
define('CSRF_PROTECTION', false);
require_once($vbpath . '/includes/vb5/autoloader.php');
vB5_Autoloader::register($vbpath);
vB5_Frontend_Application::init('config.php');

in my case everything works ok until the config file is loaded. the last line always greet me with the following error

HTML Code:

<head>
        <title>System Error</title>
</head>
<body>
        <h1> A System Error has occured.</h1>
        <p> The software is experiencing a systems error.</p>
        <p> You should attempt to repeat your last action. If this error occurs again, please contact the <a href="mailto:dbmaster@example.com">site administrator</a>.</p>

vbulletin Ver: 5.3.0

am i doing it right?

thanks!!

noypiscripter 06-13-2017 06:04 PM

Enable debug mode to see the actual error.

http://vb5support.com/reference/debug_mode

devoidfeast 06-13-2017 06:44 PM

Quote:

Originally Posted by noypiscripter (Post 2587506)
Enable debug mode to see the actual error.

http://vb5support.com/reference/debug_mode

nailed it. thanks vergara!!!

noypiscripter 06-14-2017 05:34 PM

Glad to help. But what was the error? This might help others if you mention what the error was and how you fixed it.

devoidfeast 06-14-2017 10:25 PM

Quote:

Originally Posted by noypiscripter (Post 2587524)
Glad to help. But what was the error? This might help others if you mention what the error was and how you fixed it.

Ciao vergara,
it was a stupid error, i was running lampp as my test server and i was running the custom script using the local php where mysql extension was missing. debug mode told me that mysql_init() is what..:p and i quickly resolved the problem but then again things got restrained back to their normal state and everything was chaos and still it is.


Code:

$vbpath = "/var/www/html";

define('CSRF_PROTECTION', false);

require_once($vbpath . '/includes/vb5/autoloader.php');

vB5_Autoloader::register($vbpath);

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

$username = 'admin';

$password = 'admin123';

$api = Api_InterfaceAbstract::instance();

$loginInfo = $api->callApi('user', 'login', [$username, $password]);

$rememberThisUser = true;

vB5_Auth::setLoginCookies($loginInfo, '', $rememberThisUser);

$options = [];

$wakht = time();

$input =  [
        'publisheddate' =>$wakht,
        'userid' => 1,
        'authorname' => 'admin',
        'description' => 'wonderful world but for what?',
        'pagetext' => '',
        'rawtext' => 'i wonder how would i get posted, he do not know how to do it.they should switch vbulletin to python..:(',
        'title' => 'i will be a shining thread if!!',
        'htmltitle' => 'i will be a shining thread if!!',
        'parentid' => 3,
        'created' => $wakht,
        'lastcontent' => $wakht,
        'lastcontentauthor' => 'admin',
        'lastauthorid' => 1,
        'hvinput'=>'',

        ];

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


print("done?");

OutPut:

Code:

PHP Notice:  Undefined index: host in /var/www/html/core/vb/request/web.php on line 272
PHP Notice:  Undefined index: host in /var/www/html/core/vb/request/web.php on line 274
PHP Notice:  Undefined index: REQUEST_METHOD in /var/www/html/includes/api/interface/collapsed.php on line 105
PHP Notice:  Undefined index: sessionhash in /var/www/html/includes/vb5/auth.php on line 26
PHP Notice:  Undefined index: password in /var/www/html/includes/vb5/auth.php on line 36
PHP Notice:  Undefined index: userid in /var/www/html/includes/vb5/auth.php on line 36

here is the output of $logingInfo.

Code:

Array
(
    [0] => Array
        (
            [0] => unexpected_error
            [1] => Invalid value for vB_dB_Type_UInt constructor. Value must be numeric (hex notation allowed).
        )

)

any help??

noypiscripter 06-16-2017 04:15 AM

Did it show the error stack trace showing the file and line number where that unexpected_error is coming from?

devoidfeast 06-16-2017 01:20 PM

Quote:

Originally Posted by noypiscripter (Post 2587552)
Did it show the error stack trace showing the file and line number where that unexpected_error is coming from?

ciao vergara,
thank you for the response,no it do not show in fact when i access the script through a browser every thing works well, the table entries are created, but it fails in terminal. do i need to set extra bits in input data? because in terminal the script fails to execute the login call and return an unexpected error.

cheers!

devoidfeast 06-19-2017 06:27 PM

finally i made it work...here is how i did it..

PHP Code:


$vbpath 
"/var/www/html";

define("CSRF_PROTECTION"false);

require_once(
$vbpath "/includes/vb5/autoloader.php");

vB5_Autoloader::register($vbpath);

vB5_Frontend_Application::init("config.php");

vB::getDbAssertor()->delete("session", array("sessionhash" => vB::getCurrentSession()->get("dbsessionhash")));

$username vB_String::htmlSpecialCharsUni("ADMIN");

$userinfo vB::getDbAssertor()->getRow("user", array("username" => $username));

$auth array_intersect_key($userinfoarray_flip(["userid","secret","lastvisit""lastactivity"]));

$loginInfo vB_User::processNewLogin($auth);

vB5_Auth::setLoginCookies($loginInfo,"",false);

$api Api_InterfaceAbstract::instance();

$options = [];

$wakht time();

$input =  [
        
"publisheddate" =>$wakht,
        
"userid" => 1,
        
"authorname" => "ADMIN",
        
"description" => "dsdf",
        
"pagetext" => "",
        
"rawtext" => "OK OK OK OK ",
        
"title" => "j  TEA TIME!",
        
"htmltitle" => "BLAAAAH BLAAH!",
        
"parentid" => 3,
        
"created" => $wakht,
        
"lastcontent" => $wakht,
        
"lastcontentauthor" => "ADMIN",
        
"lastauthorid" => 1,
        
"hvinput"=>"",

    ];

$nodee $api->callApi("content_text""add", [$input$options]);

// for some reasons that i was not able to figure out the post is added as guest so i had to updated the node.

$changes = array(
        
'authorname'=> $username,
        
'lastcontentauthor'=> $username,
);

vB::getDbAssertor()->update('vBForum:node'$changes, array('nodeid' => $nodee));

vB_Cache::allCacheEvent("nodeChg_" .$nodee); 



All times are GMT. The time now is 03:04 AM.

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.02118 seconds
  • Memory Usage 1,765KB
  • 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
  • (4)bbcode_code_printable
  • (1)bbcode_html_printable
  • (1)bbcode_php_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (8)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