vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Call to undefined function fetch_phrase (https://vborg.vbsupport.ru/showthread.php?t=295854)

dwooding 03-07-2013 03:57 AM

Call to undefined function fetch_phrase
 
I'm using a custom php script to create users in VBulletin 4.x. The scripts calls core VBulletin files, ex - require_once(CWD . '/includes/class_core.php');.

Unfortunately, when a username already exists, the script throws a fatal error:

Quote:

Fatal error: Call to undefined function fetch_phrase() in /home/xxxxx/public_html/members/includes/functions.php on line 4030
Line 4030 in the functions looks like this:

Code:

        // API only needs error phrase name and args.
        if (defined('VB_API') AND VB_API === true)
        {
                return $args;
        }

        $args[0] = fetch_phrase($args[0], 'error', '', false);  // line 4030
        if (sizeof($args) > 1)
        {
                return call_user_func_array('construct_phrase', $args);
        }
        else
        {
                return $args[0];
        }

Of course, the fetch_phrase function does exist, in /includes/functions_misc.php.

Within functions.php, the only time I see the fetch_phrase function get loaded is within the print_standard_redirect function

Code:

                        if (!function_exists('fetch_phrase'))
                        {
                                require_once(DIR . '/includes/functions_misc.php');
                        }

My take after looking around the functions.php file is that when an error occurs, there is an attempt to redirect ????

Given what I have shown, any idea on why I'm getting the "Call to ?" error message.

I'm using vBulletin 4.2.0 Patch Level 2.

Thanks.

Dave

Other related posts:

http://www.vbulletin.com/forum/forum...php-line-3518?

https://vborg.vbsupport.ru/showthrea...t=fetch_phrase

kh99 03-07-2013 12:23 PM

It seems strange that someone else was getting that error on the same line, but I don't understand why a missing phrase would be the problem.

I have the code for version 4.2.0PL2, and I have this code at line 4008:
Code:

if (!function_exists('fetch_phrase') AND !VB_API)
{
        require_once(DIR . '/includes/functions_misc.php');
}

It seems to me that the only way that could not load is if your script was defining VB_API as something other than 'true' (or if fetch_phrase was already loaded, of course).

In any case, if it were me, I'd put in some debug statements. For example, I'd probably put a die() right before the require_once and see if it's getting there at all. Or maybe comment out the 'if' line and the closing } and so it's always included, and see if that fixes it. (Of course those changes are just temporary, you'd remove them after you see what happens).

ForumsMods 03-07-2013 01:35 PM

You need to add this to your code:
PHP Code:

define('VB_API'false); 


kh99 03-07-2013 01:39 PM

Quote:

Originally Posted by ForumsMods (Post 2408512)
You need to add this to your code:
PHP Code:

define('VB_API'false); 


Yeah, that makes sense. That's done in init.php, but it could be that his script isn't including that.

ForumsMods 03-07-2013 02:13 PM

Yes.
This will always return false: !VB_API, because VB_API is not defined.
It is defined in includes/init.php which is included in includes/class_bootstrap.php and this is included in global.php.
And because he is not including any of the above files, VB_API is not defined.

kh99 03-07-2013 02:21 PM

Quote:

Originally Posted by ForumsMods (Post 2408519)
And because he is not including any of the above files, VB_API is not defined.

Oh right - I missed the first line where it said he was including class_core.php, and assumed he must be including global.php.

dwooding 03-08-2013 02:05 AM

You're great! Works perfect. Thanks. Dave


All times are GMT. The time now is 09:43 PM.

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.10380 seconds
  • Memory Usage 1,733KB
  • 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
  • (3)bbcode_code_printable
  • (2)bbcode_php_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (7)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