summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLester Caine <lester@lsces.co.uk>2026-06-06 22:07:08 +0100
committerLester Caine <lester@lsces.co.uk>2026-06-06 22:07:08 +0100
commit5e7db08bf0b29843a80205a023157ae3e218d211 (patch)
tree35a42bbf51a9ea7f8d598b4f24e70da37547114f
parent67c559e6af5d63bd605d24d41dec7c8b79a441d3 (diff)
downloadliberty-5e7db08bf0b29843a80205a023157ae3e218d211.tar.gz
liberty-5e7db08bf0b29843a80205a023157ae3e218d211.tar.bz2
liberty-5e7db08bf0b29843a80205a023157ae3e218d211.zip
liberty: fix null mUserId in LibertyXrefType JOIN conditions
Same pattern as contact: direct mUserId string interpolation produces 'purm.user_id=' with no value for anonymous users (null mUserId), causing Firebird -104 Token unknown. Four occurrences fixed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
-rw-r--r--includes/classes/LibertyXrefType.php8
1 files changed, 4 insertions, 4 deletions
diff --git a/includes/classes/LibertyXrefType.php b/includes/classes/LibertyXrefType.php
index d54e0c4..9ee67d8 100644
--- a/includes/classes/LibertyXrefType.php
+++ b/includes/classes/LibertyXrefType.php
@@ -132,7 +132,7 @@ class LibertyXrefType extends LibertyBase {
$result = $gBitSystem->mDb->query(
"SELECT g.* FROM `".BIT_DB_PREFIX."liberty_xref_group` g
LEFT OUTER JOIN `".BIT_DB_PREFIX."users_roles_map` purm
- ON purm.`user_id` = ".$gBitUser->mUserId." AND purm.`role_id` = g.`role_id`
+ ON purm.`user_id` = ".(int)($gBitUser->mUserId ?? 0)." AND purm.`role_id` = g.`role_id`
WHERE g.`content_type_guid` = '$contentTypeGuid' AND g.`sort_order` > 0
AND (g.`role_id` IN(".implode(',', array_fill(0, count($roles), '?')).") OR purm.`user_id` = ?)
ORDER BY g.`sort_order`",
@@ -166,7 +166,7 @@ class LibertyXrefType extends LibertyBase {
JOIN `".BIT_DB_PREFIX."liberty_xref_group` t
ON t.`x_group` = g.`x_group` AND t.`content_type_guid` = '$contentTypeGuid'
LEFT OUTER JOIN `".BIT_DB_PREFIX."users_roles_map` purm
- ON purm.`user_id` = ".$gBitUser->mUserId." AND purm.`role_id` = g.`role_id`
+ ON purm.`user_id` = ".(int)($gBitUser->mUserId ?? 0)." AND purm.`role_id` = g.`role_id`
WHERE g.`content_type_guid` = '$contentTypeGuid' AND t.`sort_order` = 0
AND (g.`role_id` IN(".implode(',', array_fill(0, count($roles), '?')).") OR purm.`user_id` = ?)
ORDER BY g.`item`",
@@ -264,7 +264,7 @@ class LibertyXrefType extends LibertyBase {
"SELECT DISTINCT g.`template`
FROM `".BIT_DB_PREFIX."liberty_xref_item` g
LEFT OUTER JOIN `".BIT_DB_PREFIX."users_roles_map` purm
- ON purm.`user_id` = ".$gBitUser->mUserId." AND purm.`role_id` = g.`role_id`
+ ON purm.`user_id` = ".(int)($gBitUser->mUserId ?? 0)." AND purm.`role_id` = g.`role_id`
WHERE g.`content_type_guid` = '$contentTypeGuid'
AND (g.`role_id` IN(".implode(',', array_fill(0, count($roles), '?')).") OR purm.`user_id` = ?)
ORDER BY g.`template`",
@@ -299,7 +299,7 @@ class LibertyXrefType extends LibertyBase {
ON t.`x_group` = r.`x_group` AND t.`content_type_guid` = '$contentTypeGuid'
LEFT JOIN `".BIT_DB_PREFIX."liberty_xref` d ON d.`content_id` = ? AND d.`item` = r.`item`
LEFT OUTER JOIN `".BIT_DB_PREFIX."users_roles_map` purm
- ON purm.`user_id` = ".$gBitUser->mUserId." AND purm.`role_id` = r.`role_id`
+ ON purm.`user_id` = ".(int)($gBitUser->mUserId ?? 0)." AND purm.`role_id` = r.`role_id`
WHERE r.`content_type_guid` = '$contentTypeGuid' AND t.`sort_order` = 0
AND (r.`role_id` IN(".implode(',', array_fill(0, count($roles), '?')).") OR purm.`user_id` = ?)
ORDER BY r.`item`",