Saving Settings In Dashboard Throws Error; Permalink Issues - Vanilla v2.1a
Vanilla Version: 2.1a10p1
Theme: Bitter Sweet (comes pre-loaded with Vanilla 2.1)
My Forum: Link
ISSUE-1: When I save 'Banner' and 'Registration' settings in my Vanilla forum Dashboard, the page goes blank with this error (or at least something similar - - line number changes):
Fatal error: Call to undefined method Gdn_ConfigurationModel::FilterForm() in /home/xxxx/public_html/pages/library/core/class.form.php on line 1754
I haven't checked saving other settings - - but I am sure some will show errors like this.
ISSUE-2: The permalink to the most recent post in a category on the categories page is broken, but is fine elsewhere.
Every category's meta on the Categories index has this -- 'Most recent: POST TITLE HERE' -- right? The link to the post is broken (I mean, the URLs aren't pretty).
For example, it's like this:example.com/discussion/1/Nerd%20Pages%20%E2%80%93%20How%20To's And Docs Test Page
When it's like this elsehere:example.com/discussion/1/nerd-pages-how-tos-and-docs-test-page#Item_1
ISSUE-3: I have this in my config.php file:
$Configuration['Vanilla']['Comments']['AutoOffset'] = FALSE;
But the URLs to my discussions are still like this:example.com/discussion/1/nerd-pages-how-tos-and-docs-test-page#Item_1
Best Answer
-
Todd Vanilla Staff
I've fixed that bug on the master branch. You can see the fix is:
$Data = $this->FormValues(); if (method_exists($this->_Model, 'FilterForm')) $Data = $this->_Model->FilterForm($this->FormValues());
0
Answers
oh boy... ok, I'll see if I can answer Issue 1 first...
Call to undefined method Gdn_ConfigurationModel::FilterForm()
What you need to do is find the configuration model. I don't know version 2.1 that well, but I can imagine it's in the libraries folder or in the 'models' folder of the Vanilla 2.1 installation.
As soon as you've found the exact Gdn_ConfigurationModel class, figure out if there is a function called 'FilterForm' it might be something like 'FilterForms' or like 'Filter' (can't imagine why, but ok...). Then it is a typo in the public_html/pages/library/core/class.form.php file.
In other cases open the file public_html/pages/library/core/class.form.php and see what kind of code is there on and around line 1754 (5 lines above, 5 lines under line 1754). Try to figure out what the 'logic' of the code is.
There was an error rendering this rich post.
Thanks for chipping in,
This is line 1754:
$Data = $this->_Model->FilterForm($this->FormValues());
I compared the 'class.form.php' in v2.1a with the one in the current stable release v2.0.18.4. I was able to fix it by copying over the changed code. ($Data is short for something, so that 'something'.)
But this is not a long term solution. This is beyond any logic to me as I don't know PHP at all. But I am still trying to figure it out.
EDIT: I tried changing 'FilterForm' to 'FilterForms'. That did not work.
EDIT-2: This function (or whatever you call it):
Is related to this line in the same file:
I had no way, but to fix it like this...
In '/vanilla-root/library/core/class.form.php'
Remove this line
In about line 1768, change this:
to this:
@Todd : I really want to bring this to your notice (please read the first post in this topic - - all the issues are there). Also, please do let me know if it's best to report these on GitHub (Issues).
Hope you can fix it the better way!
Please keep in mind that you are using an alpha version of Vanilla. There are going to be a lot of bugs in it. This code is bleeding, bleeding edge.
You can feel free to report them on github, but definitely not on here.
@Todd : Now, what do you think about my fix? Is it okay? I made those changes by referring to class.form.php in the current stable release.
I've fixed that bug on the master branch. You can see the fix is:
Thanks! I hope the other two issues will be fixed soon. And by the way, I'm loving Vanilla Forums v2.1a better. :-)