Call to a member function getGUID() on a non-object (0.87 1.7.2 trunc)

Hi Kevin, i've been testing your flexgroupprofile plugin on 1.7.2, but i get the following error, which i didn't get in the 1.7.1 version on the same system:

[24-Aug-2010 06:55:12] PHP Fatal error:  Call to a member function getGUID() on a non-object in /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/models/model.php on line 466
[24-Aug-2010 06:55:12] PHP Stack trace:
[24-Aug-2010 06:55:12] PHP   1. {main}() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/engine/handlers/action_handler.php:0
[24-Aug-2010 06:55:12] PHP   2. action() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/engine/handlers/action_handler.php:18
[24-Aug-2010 06:55:12] PHP   3. include() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/engine/lib/actions.php:67
[24-Aug-2010 06:55:12] PHP   4. form_set_form_definition() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/actions/manage_form.php:29
[24-Aug-2010 07:09:24] PHP WARNING: 2010-08-24 07:09:24 (UTC): "Missing argument 1 for flexgroupprofile_get_profile_form(), called in /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/views/default/form/search_results_simple.php on line 31 and defined" in file /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/flexgroupprofile/models/model.php (line 19)
[24-Aug-2010 07:09:24] PHP Fatal error:  Call to a member function getGUID() on a non-object in /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/views/default/form/search_results_simple.php on line 46
[24-Aug-2010 07:09:24] PHP Stack trace:
[24-Aug-2010 07:09:24] PHP   1. {main}() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/search_results_simple.php:0
[24-Aug-2010 07:09:24] PHP   2. elgg_view() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/search_results_simple.php:24
[24-Aug-2010 07:09:24] PHP   3. include() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/engine/lib/views.php:245

 

  • Try changing that line from

    $form->owner_guid = $user->getGUID();

    to

    $form->owner_guid = get_loggedin_userid();

  • That is

    /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/models/model.php on line 466

  • Tx, after doing so, i got:

    [24-Aug-2010 07:47:27] PHP WARNING: 2010-08-24 07:47:27 (UTC): "Missing argument 1 for flexgroupprofile_get_profile_form(), called in /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/views/default/form/search_results_simple.php on line 31 and defined" in file /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/flexgroupprofile/models/model.php (line 19)
    [24-Aug-2010 07:47:27] PHP Fatal error:  Call to a member function getGUID() on a non-object in /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/views/default/form/search_results_simple.php on line 46
    [24-Aug-2010 07:47:27] PHP Stack trace:
    [24-Aug-2010 07:47:27] PHP   1. {main}() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/search_results_simple.php:0
    [24-Aug-2010 07:47:27] PHP   2. elgg_view() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/search_results_simple.php:24
    [24-Aug-2010 07:47:27] PHP   3. include() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/engine/lib/views.php:245
    [24-Aug-2010 07:48:00] PHP WARNING: 2010-08-24 07:48:00 (UTC): "Missing argument 1 for flexgroupprofile_get_profile_form(), called in /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/views/default/form/search_results_simple.php on line 31 and defined" in file /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/flexgroupprofile/models/model.php (line 19)
    [24-Aug-2010 07:48:00] PHP Fatal error:  Call to a member function getGUID() on a non-object in /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/views/default/form/search_results_simple.php on line 46
    [24-Aug-2010 07:48:00] PHP Stack trace:
    [24-Aug-2010 07:48:00] PHP   1. {main}() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/search_results_simple.php:0
    [24-Aug-2010 07:48:00] PHP   2. elgg_view() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/mod/form/search_results_simple.php:24
    [24-Aug-2010 07:48:00] PHP   3. include() /Applications/XAMPP/xamppfiles/htdocs/Camp2Go/engine/lib/views.php:245

  • According to that stack trace, you are attempting to search on a group but have defined no group profile form definition.

    I doubt that has anything to do with Elgg 1.7.2.

  • This exact configuration was fine in 1.7.1.

    Can i send you some screenshots of the form configurations somehow?

  • No, sorry that won't help.

    At some point I'll do my own testing with 1.7.2 when it is released. However, as I said, I doubt that this has anything to do with Elgg 1.7.2.

    In the mean time if you want to do your own research, you could try to figure out why the system cannot find any group profile form definition. Are you certain that one exists and has the correct access level (eg. public if you are logged out)?

  • Could this by any chance have something to do with:

    Ticket #2412

  • That seems highly unlikely to me. The group profile definitions are not associated with any specific group.

  • I'm absolutely positive that there's a definition and that it has the correct access level.

    I'll try to debug and revert my demosite to 1.7.1 until the problem has been located.

    tx for now

  • Kevin, i have some new info on this subject.
    I can break it also in my 1.7.1 version.

    If there's only one group profile form definition and it has a non blank Profile Category, then a click on a tag in the groups form (so in effect a search) results in this same error.

    The following code from search_results_simple.php does a call to flexgroupprofile_get_profile_form without parameters and then it breaks.

    if ($type == 'user') {
         // load flexprofile model
         require_once(dirname(dirname(dirname(dirname(dirname(__FILE__))))) . "/flexprofile/models/model.php");
         $form = flexprofile_get_profile_form();
    } else if ($type == 'group') {
         // load flexgroupprofile model
         require_once(dirname(dirname(dirname(dirname(dirname(__FILE__))))) . "/flexgroupprofile/models/model.php");
         $form = flexgroupprofile_get_profile_form();
         set_context('groups');
    } else if ($type == 'file') {
         // load flexgroupprofile model
         require_once(dirname(dirname(dirname(dirname(dirname(__FILE__))))) . "/flexfile/models/model.php");
         $form = flexfile_get_file_form();
         set_context('file');
    } else {
        $form_id = (int) get_input('form_id',0);
        $form = get_entity($form_id);
    }

    So the reason it didn't break in my 1.7.1 version in the first place, was because there (in that database) i have a default  group form definition with a blank Profile Catagory.

    Is this by design?

Form and related plugins

Form and related plugins

User-generated content, flexible user and group profiles, registration forms, custom file forms