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.
error page import after installation
Have run the installer.php as well as uploaded and set up files manually but don't get beyond this one: as soon as I log in, I get hit with this
error:
A fatal, non-recoverable error has occurred
Technical information (for support personel):
Error Message: Failed to import file "controls/forum".
Affected Elements: Page.Import();
For additional support documentation, visit the Lussumo Documentation website at: lussumo.com/support
- Tables in the database are created
- file permissions are set
- checked the forum
- read the trouble shooting advice
- PHP Version 4.3.10
- MySQL 4.0.18
Not sure what else to do - any idea?
Thanks
Christoph
0
This discussion has been closed.
Comments
http://ccgi.absolutz.plus.com/haliki
Every file in the root of vanilla has a corresponding "control file" in the "controls" directory. The control file contains controls which are rendered on the page.
When a page loads in Vanilla, it runs through some basic page setup stuff, and then it includes the control file that corresponds with that page's name.
So, if you're looking at "some_file_name.php", it will need to include the "controls/some_file_name.php" file. I get the current file's name by using a server-configured php function, like this:
$this->SelfUrl = basename(ForceString(@$_SERVER['PHP_SELF'], "index.php"));
Basically, I'm telling the page to get it's own page name (aka "SelfUrl"). The $_SERVER['PHP_SELF'] value is a server configured value that tells you what the current url is.
The ForceString function is given two values - the value given by the server as PHP_SELF and a "default" value. If the server defined value comes back empty, then the forcestring function will return the "default value", in this case "index.php".
The basename function strips the file name off the url given by $_SERVER['PHP_SELF'] and returns it.
So, it looks like this is what's happening:
Your server is returning something like http://ccgi.absolutz.plus.com/haliki/ as PHP_SELF. This is already incorrect, since it should be returning something like http://ccgi.absolutz.plus.com/haliki/index.php regardless of whether the index.php is visible in the url or not. The ForceString function is then just spitting that value back out, and then basename is then stripping the haliki off the url and returning it. Then my code attempts to include a file named "controls/haliki", which is obviously incorrect - and we get our error.
There is a quick fix I can give you to make it work, but I'm telling you that this is definitely a server configuration problem. Web server tech support people will ALWAYS blame problems on php scripts if they find out that your problem involves one in any way. It's just easier for them to say, "Not our fault" and move on to "helping" the next person.
To fix it, I'd do something like this (unless someone else has a better idea):
Open up library/Utility.Context.class.php.
Add the following line below line 72, so 72 and 73 appear like so:
$this->SelfUrl = basename(ForceString(@$_SERVER['PHP_SELF'], "index.php")); if ($this->SelfUrl == "haliki") $this->SelfUrl = "index.php";
Keep in mind that I haven't tested this fix, so it might not work immediately and we may have to tweak it a bit - but if my assumptions are correct, it should work just fine.