In all honesty, it may, but that's sort of a catch'all with the final else { } statement.
Also, it looks like the HTML tags were stripped out of that too. Let me see if I can edit it and fix it.
There's a significant performance feature/bug in the way this extension has been written.
The logic summarised (psuedo code):
$members = GetMembers(SELECT * FROM MEMBERS)
for each ($member in $members) {
$role = GetRole(SELECT * FROM ROLES WHERE $member(roleId) == roleId)
PrintMember($member, $role)
}
OK, that's not real code, nor is it from the extension. But the logic is the same... this extension performs a new SQL query for *EVERY* member that it prints on the page.
There's 1 query to fetch the members, and 1 query per member.
If you have 10 members, you have 11 queries. If you have 400 members, you have a page with 401 queries.
For now, I think it's best to simply comment out the role query and HTML stuff. You'll see the page work wonderfully fast as a result.
If there a way to contribute the modifications I have done to resolve this back to the community? Are extensions covered by GPL or anything that means I can publish my work without breaking copyright?
I'd say the best thing to do would be to try and make contact with the extension author to discuss your updates. If you cant get any response from them and they seem to have disappeared completely we can see about giving you control of the addon if you wished.
Found a bug in your $Menu->AddTab calls, when somebody translates $Context->Dictionary['Members'] the Tab does not show up. The second parameter of AddTab has to be 'Members'. I don't exactly know why though, I'm trying to find out at the moment.
[edit]sorry, the error lay in using the Page Managment Addon ;)[/edit]
Another error -- table headers are given a <td> tag instead of a <th> tag.
What's happening with this plugin? I know how it is to work on something for free and all (I maintain a plugin for Wordpress), but there have been solutions posted here to some of the plugin's errors and it still hasn't been updated. All the author needs to do is just drop in the fixes. Is the author AWOL?
Greetings. I am new to Vanilla so perhaps this is an easy issue to solve. Thanks in advance for any help.
With Memberspage extension active (which seems to work well, by the way) if I click "Log Out" in the upper right corner of any page I get the following error:
Fatal error: Call to undefined method: stdClass->addtab() in /usr/home/**domain**/www/htdocs/forum/extensions/MembersPage/default.php on line 51
Any guidance?
Thanks
The error I mentioned above seems to be related to the setting allowing non-members to view the new Members tab that this add-on creates. If I allow non-members to view the tab, then the "Sign Out" function of Vanilla works, but now "Sign In" does not. I will try completely removing the member test if statements from the add-on and see what happens.
Update on my reported error, it was solved by loading the MembersPage extension first and then all other extensions. There was some conflict with something else I am running that was solved by loading this one first.
Next request: Currently if there is an applicant awaiting membership approval that user name shows up on the member page as a "Member." I'd like to either have them show up as "Applicant" or not show up at all.
Comments
so you haven't to change
elseif($eMembersConfig['NameCell'] == 1 && $rows['ShowName'] != 1) { $toreturn .= 'n/a'; }
on your way. But to
else { $toreturn .= 'n/a'; }
It should do the same, doesn't it?
on your way,
The logic summarised (psuedo code):
$members = GetMembers(SELECT * FROM MEMBERS) for each ($member in $members) { $role = GetRole(SELECT * FROM ROLES WHERE $member(roleId) == roleId) PrintMember($member, $role) }
OK, that's not real code, nor is it from the extension. But the logic is the same... this extension performs a new SQL query for *EVERY* member that it prints on the page.
There's 1 query to fetch the members, and 1 query per member.
If you have 10 members, you have 11 queries.
If you have 400 members, you have a page with 401 queries.
For now, I think it's best to simply comment out the role query and HTML stuff. You'll see the page work wonderfully fast as a result.
If there a way to contribute the modifications I have done to resolve this back to the community?
Are extensions covered by GPL or anything that means I can publish my work without breaking copyright?
What's happening with this plugin? I know how it is to work on something for free and all (I maintain a plugin for Wordpress), but there have been solutions posted here to some of the plugin's errors and it still hasn't been updated. All the author needs to do is just drop in the fixes. Is the author AWOL?
Next request: Currently if there is an applicant awaiting membership approval that user name shows up on the member page as a "Member." I'd like to either have them show up as "Applicant" or not show up at all.
Thanks for any tips!
Posted: Monday, 6 August 2007 at 8:13AM