Merge pull request #1722 from leechguy/refactor

[Refactor Branch] Updated function declaration to reflect change in abstract base class
Don't count in the loop as PHP recounts each iteration
Changing of group membership did not work properly because ismember was not checked to be set
Clean up of permission presentation