Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Terms of service problem

edited April 2007 in Vanilla 1.0 Help
Hi,

I've installed Vanilla yesterday and everything ran very smooth. I downloaded a couple of extentions, styles and the swedish language pack and I'm very happy with the result.

I've got one little problem though. When I use english it works fine but in swedish the "terms of service" link on the register page give me this error in the pop-up:

Fatal error: Call to undefined function: geturl() in /home/nerstuse/public_html/forum/languages/Swedish/definitions.php on line 746
I've checked the swedish definitions and there are both defenitions of termsofservice and termsofservice body. I can't find the function geturl() in either the termsofservice.php or in the definitions.php

How can I fix this?

Thanks in advance!

Alfred

Comments

  • Geturl is in library/Vanilla/Vanilla.Functions.php or library/Framework/Framework.Functions.php...

    My guess is the language file calls the function before it is actually included in code...
  • Yeah, sounds like that might be the problem. The problem is actually not in the translations for the terms of service, but in the translations for the Guest Welcome Message extension, which in turn used the GetUrl function. I've removed the error-causing translations from the file.

    So the answer is: Download the Swedish language file again, and replace the old one with the new one, and everything will be fine.

    Sorry about the inconvenience. :)
  • I didn't originally have this problem, but today it suddenly appeared out of nowhere. Whenever I click on the Terms of Service link, I get the following error:

    Fatal error: Call to undefined function: geturl() in /home/xxx/yyy.com/forum/languages/English/definitions.php on line 24

    Line 24 in that definitions.php file refers to the following lines:

    $Context->Dictionary["GuestWelcome"] = "<strong>Welcome Guest!</strong>
    <br />Want to take part in these discussions? If you have an account, <a href=\"".GetUrl($Configuration, "people.php")."\">sign in now</a>.
    <br />If you don't have an account, <a href=\"".GetUrl($Configuration, "people.php", "", "", "", "", "PostBackAction=ApplyForm")."\">apply for one now</a>.";


    If I move those lines to the bottom of the definitions.php file, then the error code will say "Line 587" -- this is proving those lines are the root problem.

    But the only way to get them translated is to put the English version in the English definitions.php and ditto for all other languages (in my case, Japanese). If you delete those two lines, you can add anything else you like to the English definitions.php file, and the Terms of Service will come up just fine. So I think this is a Vanilla bug. I mean, it shouldn't cough up an error simply because you put a couple GetUrl functions in English definitions.php!

    So what I've done is reword those lines, excluding the URLs, as follows:

    $Context->Dictionary["GuestWelcome"] = "<strong>Welcome Guest!</strong>
    <br />Want to post? If you have an account, sign in now.
    <br />If you don't have an account, click the 'Sign In' text link in the upper right area of this page.";


    But I don't have to do that for my Japanese definitions.php because it still pulls up the Terms of Service just fine, even with the GetUrl functions in it!

    So at this stage I am wondering, how can I put a URL inside definitions.php without using the GetUrl function?
  • MarkMark Vanilla Staff
    That's wierd. At the time that file loads, the geturl function should have already been loaded...
  • where do i download the swdish languagepack?

    thanks!
Sign In or Register to comment.