Call to undefined method vB_HumanVerify_Abstract

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • NSanityHD
    New Member
    • Jan 2016
    • 15
    • 3.8.x

    Call to undefined method vB_HumanVerify_Abstract

    After installing some modifications and upgrading to vBulletin 3.8.11 (I don't really like vB4+) and installing some SEO module, spam prevention and Google/Facebook login products, when someone goes to register they get a fatal error. :/ I've included screenshots of the error and the list of products installed.

    I thank anyone who can help!


    EDIT: I should note that I followed the documentation on Google to the letter and yet I'm getting this issue. This is what is on line 8 - 14:

    PHP Code:
    class vB_HumanVerify_New_Recaptcha extends vB_HumanVerify_Abstract
    {
        public static 
    $verify_url 'https://www.google.com/recaptcha/api/siteverify';

        function 
    vB_HumanVerify_New_Recaptcha(&$registry)
        {
            
    parent::vB_HumanVerify_Abstract($registry);
        } 
    PHP Code:
            parent::vB_HumanVerify_Abstract($registry); 
    ^ being line 14.
    Last edited by NSanityHD; Wed 3 Oct '18, 5:01am.
  • Wayne Luke
    vBulletin Technical Support Lead
    • Aug 2000
    • 74132

    #2
    That isn't vBulletin 3.8.11 code. Newer versions of PHP do not allow constructors to have the same name as the class they are constructing. The new code should look like this:

    Code:
    class vB_HumanVerify_Recaptcha extends vB_HumanVerify_Abstract
    {
        /**
        * Constructor
        *
        * [USER="147035"]return[/USER]   void
        */
        function __construct(&$registry)
        {
            parent::__construct($registry);
        }
    Translations provided by Google.

    Wayne Luke
    The Rabid Badger - a vBulletin Cloud demonstration site.
    vBulletin 5 API

    Comment

    • NSanityHD
      New Member
      • Jan 2016
      • 15
      • 3.8.x

      #3
      Originally posted by Wayne Luke
      That isn't vBulletin 3.8.11 code. Newer versions of PHP do not allow constructors to have the same name as the class they are constructing. The new code should look like this:

      Code:
      class vB_HumanVerify_Recaptcha extends vB_HumanVerify_Abstract
      {
      /**
      * Constructor
      *
      * [USER="147035"]return[/USER] void
      */
      function __construct(&$registry)
      {
      parent::__construct($registry);
      }
      What would I do to resolve this then? I've had to disable the reCaptcha and use questions instead for now. :/

      Comment

      • Wayne Luke
        vBulletin Technical Support Lead
        • Aug 2000
        • 74132

        #4
        Replace your files with the default vBulletin files in the 3.8.11 package. If it is from an addon, you'll need to update it to current coding standards.
        Translations provided by Google.

        Wayne Luke
        The Rabid Badger - a vBulletin Cloud demonstration site.
        vBulletin 5 API

        Comment

        widgetinstance 262 (Related Topics) skipped due to lack of content & hide_module_if_empty option.
        Working...