dear cslaughter,
I have found out the bug and fixed. The reason of login error stay in the function:
public static function query($sortOrder = array(), $filterBy = array())
which stay in Userfactory.php
This function will run the query as below when you do the login:
SELECT user.userId,
userName,
userTypeId,
loggedIn,
email,
user.homePageId,
pages.title AS homePage,
lastAccessed,
newUserWizard,
retired,
CSPRNG,
UserPassword AS password,
group.groupId,
group.group,
IFNULL(group.libraryQuota, 0) AS libraryQuota
FROM user
INNER JOIN lkusergroup
ON lkusergroup.userId = user.userId
INNER JOIN group
ON group.groupId = lkusergroup.groupId
AND isUserSpecific = 1
INNER JOIN pages
ON pages.pageId = user.homePageId
WHERE 1 = 1
AND user.userName = :userName ORDER BY userName
The result is always empty since the condition pages.pageId = user.homePageId cannot be satisfied. During install, when we add the admin user, a default information of this one was set in data.sql. So I have 2 solutions for you:
- you can manually change the homePageId of admin user in user table to 29.
- or you can change the line
(1, 1, ‘xibo_admin’, ‘21232f297a57a5a743894a0e4a801fc3’, 1, NOW(), ‘’, 42, 0);
in data.sql to
(1, 1, ‘xibo_admin’, ‘21232f297a57a5a743894a0e4a801fc3’, 1, NOW(), ‘’, 29, 0);
Page ID 42 is not available.
Hope this explanation will help you.