Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 11-07-2012, 01:48 AM
tblancha tblancha is offline
 
Join Date: Jun 2009
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Fatal error: vBulletin datastore cache incomplete or corrupt in [path]\includes\init.

Hello,

I've upgraded to 4.2.0 and when I run the following code, I get an error stating:

Fatal error: vBulletin datastore cache incomplete or corrupt in
[path]\includes\init.php on line 252



Above that message is the message: vBulletin datastore error caused by one or more of the following:

1.You may have uploaded vBulletin files without also running the vBulletin
upgrade script. If you have not run the upgrade script, do so now.

2.The datastore cache may have been corrupted. Run Rebuild Bitfields
from tools.php, which you can upload from the do_not_upload
folder of the vBulletin package.



I've done steps 1 and 2 and still no luck.

Also, I noticed in the results of the print_r command, it shows the message "Sorry, the board is unavailable at the moment while we are testing some
functionality.


We will be back soon..." which is used when I turn off the forums. However my forum is now turned back on after I applied the 4.2.0 upgrade.


Here's the code I'm running (the issue occurs at the line where I use the datamanager_init call):

<?php
include_once("global.php");

echo "current working directory before going into function is: " . CWD ;

$email = "userMom@myforum.com";
$useridq = $vbulletin->db->query_first_slave("SELECT userid FROM "
. TABLE_PREFIX . "user WHERE email='{$email}'");
$syd_userinfo = fetch_userinfo($useridq['userid'], 0, 0);

echo "<br> given the email, it found this as the user id: " . $useridq['userid'] . " <br>";

doit();

echo "done";

function doit()
{
define('VB_AREA', 'External');
define('SKIP_SESSIONCREATE', 0);
define('SKIP_USERINFO', 1);
define('CWD', './../forums/' );
echo "current working directory in function is: " . CWD ;
require(CWD . '/includes/init.php');
require(CWD . '/includes/functions_misc.php');

echo "right after require <br>";

global $vbulletin;
echo "right after global vbulletin and db declaration <br>";
echo "right before datamanager stuff <br>";
$newuser =& datamanager_init('User', $vbulletin, ERRTYPE_ARRAY);

echo "right after newuser assigned reference to datamanager <br>";

$newuser->set('username', 'pookie');
$newuser->set('email', 'pookie@mydomain.com');
$newuser->set('password', '*******');
$newuser->set('usergroupid', 2);

echo "right before presave <br>";
$newuser->pre_save();
echo "right after presave <br>";
if(empty($newuser->errors))
{
echo "would have saved";

}
else
{
echo "no bueno. it would not have saved";
print_r( $newuser->errors);
}


}

?>

*********************************

I appreciate your help because I don't know what to do from here.


Thanks
Reply With Quote
  #2  
Old 11-07-2012, 02:31 AM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

global.php (which you've included at the beginning) includes init.php, so I don't think that you want to include init.php again in your doit() function. And even if you were going to do that, I don't think it would work to include it inside a function unless you declare some variables as global before the include.

Edit: oh, just for the record:

Quote:
Also, I noticed in the results of the print_r command, it shows the message "Sorry, the board is unavailable at the moment while we are testing some
functionality.


We will be back soon..." which is used when I turn off the forums. However my forum is now turned back on after I applied the 4.2.0 upgrade.

The text of that message is an option, and all the options are stored somewhere in the $vbulletin object, so you're probably just seeing that.
Reply With Quote
  #3  
Old 11-07-2012, 11:38 AM
tblancha tblancha is offline
 
Join Date: Jun 2009
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok, I did get rid of the function and the error messages have disappeared. I have to admit the fact that I got them makes me feel my install and database might be suspect.

Why can't we include and do things in functions? It sure makes for ugly, hard to read code.

Anyway, I'm whining but am very grateful that you responded to my post.

I just hope my database and vbulletin features are stable.

Thank you!
Reply With Quote
  #4  
Old 11-07-2012, 12:53 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, I think we just have to accept that vbulletin wasn't designed to be used as part of something else. But as I mentioned before, I believe you *can* use it in a function, you just need to figure out which variables to declare "global" before the include of global.php.
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 02:33 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.03660 seconds
  • Memory Usage 2,184KB
  • 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)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)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