Gossamer Forum
Home : Products : Gossamer Forum : Discussion :

Error: Edit Action: User Signup

Quote Reply
Error: Edit Action: User Signup
When poking around in the GF admin, I clicked on: Edit Action: User Signup

and got a fatal error. Does this have to do with my servers settings?

error:
A fatal error has occured:

Can't use string ("user_signup.html") as a HASH ref while "strict refs" in use at /big/dom/xcurvemag/cgi-bin/gforum/admin/GForum/Do.pm line 98.




Last edited by:

Evoir: Dec 24, 2001, 11:45 AM
Quote Reply
Re: [Evoir] Error: Edit Action: User Signup In reply to
Hi,

No this seems to be a bug. To fix, replace your admin/GForum/Do.pm with the attached file.

Cheers,

Alex
--
Gossamer Threads Inc.
Quote Reply
Re: [Alex] Error: Edit Action: User Signup In reply to
hmm. I downloaded and replaced the Do.pm file.

Now I get another error.

Error: Unable to load module: GForum::Do. Reason:

Compilation failed in require at /big/dom/xcurvemag/cgi-bin/gforum/admin/GT/Template.pm line 631. ,
Error: No subroutine 'GForum::Do::tpl_get' in 'GForum.pm'

Last edited by:

Evoir: Dec 24, 2001, 12:15 PM
Quote Reply
Re: [Alex] Error: Edit Action: User Signup In reply to
I'm still getting the second error.
Quote Reply
Re: [Alex] Error: Edit Action: User Signup In reply to
Unsure still getting the error. Are you sure this is the correct fix?
Quote Reply
Re: [Evoir] Error: Edit Action: User Signup In reply to
The quickest solution is to change line 98 from:

while (my ($name, $value) = each %{$function->{page}}) {

...to:

no strict 'refs';
while (my ($name, $value) = each %{$function->{page}}) {

(Not a great way but it works (I think))

Last edited by:

RedRum: Dec 27, 2001, 3:06 PM
Quote Reply
Re: [Evoir] Error: Edit Action: User Signup In reply to
Or another way that works for me is to change:

Code:
while (my ($name, $value) = each %{$function->{page}}) {
push @pages, { name => $name, page => $value };
}
$function->{pages} = \@pages;
delete $function->{page};
}

to

Code:
if (ref $function->{page} eq 'HASH') {
while (my ($name, $value) = each %{$function->{page}}) {
push @pages, { name => $name, page => $value };
}
$function->{pages} = \@pages;
delete $function->{page};
}


Edit: Whoops thats the same way Alex did it so it should work - are you sure you pasted it right?



Last edited by:

RedRum: Dec 27, 2001, 3:16 PM