CHAT_OUTPUT_BEGIN
COMMAND_ID=SUPPORT-260918-GRAM-SUPPORT-PERMISSION-REGISTRY-RCA-BOOLFIX-515R2R1R1
STATUS=OK
RC=0
HOST=pve01
MODE=read-only
COMPONENT=gram-support-permission-registry-rca-boolfix
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=6991c6807b4dc54b75ca6a74d620d1e68656f1ea8f3c2574d67f92db41e023d1
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=false
RESULT_CONTRACT_VALID=true
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=0
CHANGES_MADE=false
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=NO_MUTATION
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=481a4f5e8ba00730fd118882be842fecb9587e540050fc75c2e972a6394bc382
SANITIZED_OUTPUT_SHA256=481a4f5e8ba00730fd118882be842fecb9587e540050fc75c2e972a6394bc382
OUTPUT_BEGIN
GRAM515R2R1R1_SAFE_REPORT={"classification":{"changes_made":false,"db_probe_7of7":true,"permission_defs_9_7of7":true,"send_attempts":0,"site_count_7":true,"staff_cache_missing_gramSupport_7of7":true},"core_source_scans":[{"core_scan":[{"line":9,"path":"src/XF/Job/PermissionRebuild.php","text":"class PermissionRebuild extends AbstractRebuildJob"},{"line":43,"path":"src/XF/Job/PermissionRebuild.php","text":"'SELECT permission_combination_id"},{"line":44,"path":"src/XF/Job/PermissionRebuild.php","text":"FROM xf_permission_combination"},{"line":45,"path":"src/XF/Job/PermissionRebuild.php","text":"WHERE permission_combination_id > ?"},{"line":46,"path":"src/XF/Job/PermissionRebuild.php","text":"ORDER BY permission_combination_id',"},{"line":54,"path":"src/XF/Job/PermissionRebuild.php","text":"$this->app->jobManager()->cancelUniqueJob('permissionRebuild');"},{"line":86,"path":"src/XF/Permission/AbstractContentPermissions.php","text":"$combinationId = $combination->permission_combination_id;"},{"line":93,"path":"src/XF/Permission/AbstractContentPermissions.php","text":"'permission_combination_id' => $combinationId,"},{"line":102,"path":"src/XF/Permission/AbstractContentPermissions.php","text":"'permission_combination_id = ? AND content_type = ?',"},{"line":70,"path":"src/XF/Permission/Builder.php","text":"$entries = $entryRepo->getGlobalPermissionEntriesGrouped();"},{"line":26,"path":"src/XF/Repository/AdminPermissionRepository.php","text":"public function rebuildAdminPermissionCache()"},{"line":31,"path":"src/XF/Repository/AdminPermissionRepository.php","text":"SELECT admin_permission_entry.user_id, admin_permission_entry.admin_permission_id"},{"line":32,"path":"src/XF/Repository/AdminPermissionRepository.php","text":"FROM xf_admin_permission_entry AS admin_permission_entry"},{"line":34,"path":"src/XF/Repository/AdminPermissionRepository.php","text":"(admin_permission.admin_permission_id = admin_permission_entry.admin_permission_id)"},{"line":90,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"if ($combination->permission_combination_id != $user->permission_combination_id)"},{"line":92,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$user->fastUpdate('permission_combination_id', $combination->permission_combination_id);"},{"line":106,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"(SELECT 1 FROM xf_permission_entry WHERE user_group_id = 0 AND user_id = ? LIMIT 1)"},{"line":108,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"(SELECT 1 FROM xf_permission_entry_content WHERE user_group_id = 0 AND user_id = ? LIMIT 1)"},{"line":121,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"return [$groupCombination->permission_combination_id, $groupCombination->PermissionCombination];"},{"line":132,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$preRegActionCondition = \"AND p.permission_combination_id <> \" . $db->quote($preRegCombination);"},{"line":136,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"SELECT p.permission_combination_id"},{"line":137,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"FROM xf_permission_combination AS p"},{"line":138,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"LEFT JOIN (SELECT DISTINCT u.permission_combination_id FROM xf_user AS u) AS up"},{"line":139,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"ON (p.permission_combination_id = up.permission_combination_id)"},{"line":140,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"WHERE up.permission_combination_id IS NULL"},{"line":142,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"AND p.permission_combination_id <> 1"},{"line":147,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$combinationCondition = 'permission_combination_id IN (' . $db->quote($combinationIds) . ')';"},{"line":149,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$db->delete('xf_permission_combination', $combinationCondition);"},{"line":150,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$db->delete('xf_permission_combination_user_group', $combinationCondition);"},{"line":161,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$guestCombination = $db->fetchRow('SELECT * FROM xf_permission_combination WHERE permission_combination_id = 1');"},{"line":165,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$db->insert('xf_permission_combination', ["},{"line":166,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"'permission_combination_id' => 1,"},{"line":172,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$db->insert('xf_permission_combination_user_group', ["},{"line":174,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"'permission_combination_id' => 1,"},{"line":16,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"$entries = $this->getGlobalPermissionEntriesGrouped(['user_group_id' => $userGroupId]);"},{"line":28,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"$entries = $this->getGlobalPermissionEntriesGrouped(['user_id' => $userId]);"},{"line":33,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"public function getGlobalPermissionEntriesGrouped(array $limits = [])"},{"line":53,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"FROM xf_permission_entry"},{"line":109,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"FROM xf_permission_entry_content"},{"line":184,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"FROM xf_permission_entry_content"},{"line":193,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"$this->deleteOrphanedPermissionEntries('xf_permission_entry');"},{"line":198,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"$this->deleteOrphanedPermissionEntries('xf_permission_entry_content');"},{"line":12,"path":"src/XF/Repository/PermissionRepository.php","text":"public function getGlobalPermissionListData()"},{"line":76,"path":"src/XF/Entity/AdminPermission.php","text":"'xf_admin_permission_entry',"},{"line":82,"path":"src/XF/Entity/AdminPermission.php","text":"$this->rebuildAdminPermissionCache();"},{"line":99,"path":"src/XF/Entity/AdminPermission.php","text":"'xf_admin_permission_entry',"},{"line":104,"path":"src/XF/Entity/AdminPermission.php","text":"$this->rebuildAdminPermissionCache();"},{"line":107,"path":"src/XF/Entity/AdminPermission.php","text":"protected function rebuildAdminPermissionCache()"},{"line":111,"path":"src/XF/Entity/AdminPermission.php","text":"\\XF::runOnce('adminPermissionCacheRebuild', function () use ($repo)"},{"line":113,"path":"src/XF/Entity/AdminPermission.php","text":"$repo->rebuildAdminPermissionCache();"},{"line":6,"path":"src/XF/Entity/Permission.php","text":"use XF\\Job\\PermissionRebuild;"},{"line":115,"path":"src/XF/Entity/Permission.php","text":"'xf_permission_entry',"},{"line":121,"path":"src/XF/Entity/Permission.php","text":"'xf_permission_entry_content',"},{"line":149,"path":"src/XF/Entity/Permission.php","text":"'xf_permission_entry',"},{"line":154,"path":"src/XF/Entity/Permission.php","text":"'xf_permission_entry_content',"},{"line":164,"path":"src/XF/Entity/Permission.php","text":"\\XF::runOnce('xfPermissionRebuild', function ()"},{"line":166,"path":"src/XF/Entity/Permission.php","text":"$this->app()->jobManager()->enqueueUnique('permissionRebuild', PermissionRebuild::class);"},{"line":11,"path":"src/XF/Entity/PermissionCacheContent.php","text":"* @property int $permission_combination_id"},{"line":16,"path":"src/XF/Entity/PermissionCacheContent.php","text":"class PermissionCacheContent extends Entity implements Proxyable"},{"line":20,"path":"src/XF/Entity/PermissionCacheContent.php","text":"* permission_combination_id: int|null,"},{"line":29,"path":"src/XF/Entity/PermissionCacheContent.php","text":"$values['permission_combination_id'] === null"},{"line":37,"path":"src/XF/Entity/PermissionCacheContent.php","text":"\\XF::app()->permissionCache()->setContentPerms("},{"line":38,"path":"src/XF/Entity/PermissionCacheContent.php","text":"$values['permission_combination_id'],"},{"line":48,"path":"src/XF/Entity/PermissionCacheContent.php","text":"$structure->shortName = 'XF:PermissionCacheContent';"},{"line":49,"path":"src/XF/Entity/PermissionCacheContent.php","text":"$structure->primaryKey = ['permission_combination_id', 'content_type', 'content_id'];"},{"line":51,"path":"src/XF/Entity/PermissionCacheContent.php","text":"'permission_combination_id' => ['type' => self::UINT, 'required' => true],"},{"line":12,"path":"src/XF/Entity/PermissionCombination.php","text":"* @property int|null $permission_combination_id"},{"line":25,"path":"src/XF/Entity/PermissionCombination.php","text":"* permission_combination_id: int|null,"},{"line":31,"path":"src/XF/Entity/PermissionCombination.php","text":"if ($values['permission_combination_id'] === null)"},{"line":36,"path":"src/XF/Entity/PermissionCombination.php","text":"\\XF::app()->permissionCache()->setGlobalPerms("},{"line":37,"path":"src/XF/Entity/PermissionCombination.php","text":"$values['permission_combination_id'],"},{"line":58,"path":"src/XF/Entity/PermissionCombination.php","text":"'permission_combination_id' => $this->permission_combination_id,"},{"line":64,"path":"src/XF/Entity/PermissionCombination.php","text":"'xf_permission_combination_user_group',"},{"line":65,"path":"src/XF/Entity/PermissionCombination.php","text":"'permission_combination_id = ?',"},{"line":66,"path":"src/XF/Entity/PermissionCombination.php","text":"$this->permission_combination_id"},{"line":70,"path":"src/XF/Entity/PermissionCombination.php","text":"$this->db()->insertBulk('xf_permission_combination_user_group', $groups);"},{"line":86,"path":"src/XF/Entity/PermissionCombination.php","text":"'xf_permission_combination_user_group',"},{"line":87,"path":"src/XF/Entity/PermissionCombination.php","text":"'permission_combination_id = ?',"},{"line":88,"path":"src/XF/Entity/PermissionCombination.php","text":"$this->permission_combination_id"},{"line":94,"path":"src/XF/Entity/PermissionCombination.php","text":"$structure->table = 'xf_permission_combination';"},{"line":96,"path":"src/XF/Entity/PermissionCombination.php","text":"$structure->primaryKey = 'permission_combination_id';"},{"line":98,"path":"src/XF/Entity/PermissionCombination.php","text":"'permission_combination_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":116,"path":"src/XF/Entity/PermissionCombination.php","text":"'conditions' => 'permission_combination_id',"},{"line":11,"path":"src/XF/Entity/PermissionCombinationUserGroup.php","text":"* @property int $permission_combination_id"},{"line":21,"path":"src/XF/Entity/PermissionCombinationUserGroup.php","text":"$structure->table = 'xf_permission_combination_user_group';"},{"line":23,"path":"src/XF/Entity/PermissionCombinationUserGroup.php","text":"$structure->primaryKey = ['user_group_id', 'permission_combination_id'];"},{"line":26,"path":"src/XF/Entity/PermissionCombinationUserGroup.php","text":"'permission_combination_id' => ['type' => self::UINT, 'required' => true],"},{"line":39,"path":"src/XF/Entity/PermissionCombinationUserGroup.php","text":"'conditions' => 'permission_combination_id',"},{"line":10,"path":"src/XF/Entity/PermissionEntry.php","text":"* @property int|null $permission_entry_id"},{"line":25,"path":"src/XF/Entity/PermissionEntry.php","text":"$structure->table = 'xf_permission_entry';"},{"line":27,"path":"src/XF/Entity/PermissionEntry.php","text":"$structure->primaryKey = 'permission_entry_id';"},{"line":29,"path":"src/XF/Entity/PermissionEntry.php","text":"'permission_entry_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":10,"path":"src/XF/Entity/PermissionEntryContent.php","text":"* @property int|null $permission_entry_id"},{"line":27,"path":"src/XF/Entity/PermissionEntryContent.php","text":"$structure->table = 'xf_permission_entry_content';"},{"line":29,"path":"src/XF/Entity/PermissionEntryContent.php","text":"$structure->primaryKey = 'permission_entry_id';"},{"line":31,"path":"src/XF/Entity/PermissionEntryContent.php","text":"'permission_entry_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":137,"path":"src/XF/Entity/PermissionInterfaceGroup.php","text":"$structure->table = 'xf_permission_interface_group';"},{"line":142,"path":"src/XF/Entity/PermissionInterfaceGroup.php","text":"'required' => 'please_enter_valid_permission_interface_group_id',"},{"line":143,"path":"src/XF/Entity/PermissionInterfaceGroup.php","text":"'unique' => 'permission_interface_group_ids_must_be_unique',"},{"line":52,"path":"src/XF/Entity/User.php","text":"* @property int $permission_combination_id_"},{"line":85,"path":"src/XF/Entity/User.php","text":"* @property int $permission_combination_id"},{"line":361,"path":"src/XF/Entity/User.php","text":"return \\XF::permissionCache()->getPermissionSet($this->permission_combination_id);"},{"line":370,"path":"src/XF/Entity/User.php","text":"? $this->getValue('permission_combination_id')"},{"line":1268,"path":"src/XF/Entity/User.php","text":"return $this->PermissionSet->hasGlobalPermission($group, $permission);"},{"line":1285,"path":"src/XF/Entity/User.php","text":"\\XF::permissionCache()->cacheContentPermsByIds($this->permission_combination_id, 'node', $nodeIds);"},{"line":1289,"path":"src/XF/Entity/User.php","text":"\\XF::permissionCache()->cacheAllContentPerms($this->permission_combination_id, 'node');"},{"line":1367,"path":"src/XF/Entity/User.php","text":"public function rebuildPermissionCombination()"},{"line":1681,"path":"src/XF/Entity/User.php","text":"$this->rebuildPermissionCombination();"},{"line":1684,"path":"src/XF/Entity/User.php","text":"if ($this->isChanged(['user_group_id', 'secondary_group_ids', 'permission_combination_id', 'user_state']))"},{"line":2341,"path":"src/XF/Entity/User.php","text":"'permission_combination_id' => ['type' => self::UINT, 'default' => 0, 'changeLog' => false],"},{"line":2392,"path":"src/XF/Entity/User.php","text":"'permission_combination_id' => false,"},{"line":2427,"path":"src/XF/Entity/User.php","text":"'conditions' => 'permission_combination_id',"}],"slug":"codevipe"},{"core_scan":[{"line":9,"path":"src/XF/Job/PermissionRebuild.php","text":"class PermissionRebuild extends AbstractRebuildJob"},{"line":43,"path":"src/XF/Job/PermissionRebuild.php","text":"'SELECT permission_combination_id"},{"line":44,"path":"src/XF/Job/PermissionRebuild.php","text":"FROM xf_permission_combination"},{"line":45,"path":"src/XF/Job/PermissionRebuild.php","text":"WHERE permission_combination_id > ?"},{"line":46,"path":"src/XF/Job/PermissionRebuild.php","text":"ORDER BY permission_combination_id',"},{"line":54,"path":"src/XF/Job/PermissionRebuild.php","text":"$this->app->jobManager()->cancelUniqueJob('permissionRebuild');"},{"line":86,"path":"src/XF/Permission/AbstractContentPermissions.php","text":"$combinationId = $combination->permission_combination_id;"},{"line":93,"path":"src/XF/Permission/AbstractContentPermissions.php","text":"'permission_combination_id' => $combinationId,"},{"line":102,"path":"src/XF/Permission/AbstractContentPermissions.php","text":"'permission_combination_id = ? AND content_type = ?',"},{"line":70,"path":"src/XF/Permission/Builder.php","text":"$entries = $entryRepo->getGlobalPermissionEntriesGrouped();"},{"line":26,"path":"src/XF/Repository/AdminPermissionRepository.php","text":"public function rebuildAdminPermissionCache()"},{"line":31,"path":"src/XF/Repository/AdminPermissionRepository.php","text":"SELECT admin_permission_entry.user_id, admin_permission_entry.admin_permission_id"},{"line":32,"path":"src/XF/Repository/AdminPermissionRepository.php","text":"FROM xf_admin_permission_entry AS admin_permission_entry"},{"line":34,"path":"src/XF/Repository/AdminPermissionRepository.php","text":"(admin_permission.admin_permission_id = admin_permission_entry.admin_permission_id)"},{"line":90,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"if ($combination->permission_combination_id != $user->permission_combination_id)"},{"line":92,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$user->fastUpdate('permission_combination_id', $combination->permission_combination_id);"},{"line":106,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"(SELECT 1 FROM xf_permission_entry WHERE user_group_id = 0 AND user_id = ? LIMIT 1)"},{"line":108,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"(SELECT 1 FROM xf_permission_entry_content WHERE user_group_id = 0 AND user_id = ? LIMIT 1)"},{"line":121,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"return [$groupCombination->permission_combination_id, $groupCombination->PermissionCombination];"},{"line":132,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$preRegActionCondition = \"AND p.permission_combination_id <> \" . $db->quote($preRegCombination);"},{"line":136,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"SELECT p.permission_combination_id"},{"line":137,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"FROM xf_permission_combination AS p"},{"line":138,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"LEFT JOIN (SELECT DISTINCT u.permission_combination_id FROM xf_user AS u) AS up"},{"line":139,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"ON (p.permission_combination_id = up.permission_combination_id)"},{"line":140,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"WHERE up.permission_combination_id IS NULL"},{"line":142,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"AND p.permission_combination_id <> 1"},{"line":147,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$combinationCondition = 'permission_combination_id IN (' . $db->quote($combinationIds) . ')';"},{"line":149,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$db->delete('xf_permission_combination', $combinationCondition);"},{"line":150,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$db->delete('xf_permission_combination_user_group', $combinationCondition);"},{"line":161,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$guestCombination = $db->fetchRow('SELECT * FROM xf_permission_combination WHERE permission_combination_id = 1');"},{"line":165,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$db->insert('xf_permission_combination', ["},{"line":166,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"'permission_combination_id' => 1,"},{"line":172,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"$db->insert('xf_permission_combination_user_group', ["},{"line":174,"path":"src/XF/Repository/PermissionCombinationRepository.php","text":"'permission_combination_id' => 1,"},{"line":16,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"$entries = $this->getGlobalPermissionEntriesGrouped(['user_group_id' => $userGroupId]);"},{"line":28,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"$entries = $this->getGlobalPermissionEntriesGrouped(['user_id' => $userId]);"},{"line":33,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"public function getGlobalPermissionEntriesGrouped(array $limits = [])"},{"line":53,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"FROM xf_permission_entry"},{"line":109,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"FROM xf_permission_entry_content"},{"line":184,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"FROM xf_permission_entry_content"},{"line":193,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"$this->deleteOrphanedPermissionEntries('xf_permission_entry');"},{"line":198,"path":"src/XF/Repository/PermissionEntryRepository.php","text":"$this->deleteOrphanedPermissionEntries('xf_permission_entry_content');"},{"line":12,"path":"src/XF/Repository/PermissionRepository.php","text":"public function getGlobalPermissionListData()"},{"line":76,"path":"src/XF/Entity/AdminPermission.php","text":"'xf_admin_permission_entry',"},{"line":82,"path":"src/XF/Entity/AdminPermission.php","text":"$this->rebuildAdminPermissionCache();"},{"line":99,"path":"src/XF/Entity/AdminPermission.php","text":"'xf_admin_permission_entry',"},{"line":104,"path":"src/XF/Entity/AdminPermission.php","text":"$this->rebuildAdminPermissionCache();"},{"line":107,"path":"src/XF/Entity/AdminPermission.php","text":"protected function rebuildAdminPermissionCache()"},{"line":111,"path":"src/XF/Entity/AdminPermission.php","text":"\\XF::runOnce('adminPermissionCacheRebuild', function () use ($repo)"},{"line":113,"path":"src/XF/Entity/AdminPermission.php","text":"$repo->rebuildAdminPermissionCache();"},{"line":6,"path":"src/XF/Entity/Permission.php","text":"use XF\\Job\\PermissionRebuild;"},{"line":115,"path":"src/XF/Entity/Permission.php","text":"'xf_permission_entry',"},{"line":121,"path":"src/XF/Entity/Permission.php","text":"'xf_permission_entry_content',"},{"line":149,"path":"src/XF/Entity/Permission.php","text":"'xf_permission_entry',"},{"line":154,"path":"src/XF/Entity/Permission.php","text":"'xf_permission_entry_content',"},{"line":164,"path":"src/XF/Entity/Permission.php","text":"\\XF::runOnce('xfPermissionRebuild', function ()"},{"line":166,"path":"src/XF/Entity/Permission.php","text":"$this->app()->jobManager()->enqueueUnique('permissionRebuild', PermissionRebuild::class);"},{"line":11,"path":"src/XF/Entity/PermissionCacheContent.php","text":"* @property int $permission_combination_id"},{"line":16,"path":"src/XF/Entity/PermissionCacheContent.php","text":"class PermissionCacheContent extends Entity implements Proxyable"},{"line":20,"path":"src/XF/Entity/PermissionCacheContent.php","text":"* permission_combination_id: int|null,"},{"line":29,"path":"src/XF/Entity/PermissionCacheContent.php","text":"$values['permission_combination_id'] === null"},{"line":37,"path":"src/XF/Entity/PermissionCacheContent.php","text":"\\XF::app()->permissionCache()->setContentPerms("},{"line":38,"path":"src/XF/Entity/PermissionCacheContent.php","text":"$values['permission_combination_id'],"},{"line":48,"path":"src/XF/Entity/PermissionCacheContent.php","text":"$structure->shortName = 'XF:PermissionCacheContent';"},{"line":49,"path":"src/XF/Entity/PermissionCacheContent.php","text":"$structure->primaryKey = ['permission_combination_id', 'content_type', 'content_id'];"},{"line":51,"path":"src/XF/Entity/PermissionCacheContent.php","text":"'permission_combination_id' => ['type' => self::UINT, 'required' => true],"},{"line":12,"path":"src/XF/Entity/PermissionCombination.php","text":"* @property int|null $permission_combination_id"},{"line":25,"path":"src/XF/Entity/PermissionCombination.php","text":"* permission_combination_id: int|null,"},{"line":31,"path":"src/XF/Entity/PermissionCombination.php","text":"if ($values['permission_combination_id'] === null)"},{"line":36,"path":"src/XF/Entity/PermissionCombination.php","text":"\\XF::app()->permissionCache()->setGlobalPerms("},{"line":37,"path":"src/XF/Entity/PermissionCombination.php","text":"$values['permission_combination_id'],"},{"line":58,"path":"src/XF/Entity/PermissionCombination.php","text":"'permission_combination_id' => $this->permission_combination_id,"},{"line":64,"path":"src/XF/Entity/PermissionCombination.php","text":"'xf_permission_combination_user_group',"},{"line":65,"path":"src/XF/Entity/PermissionCombination.php","text":"'permission_combination_id = ?',"},{"line":66,"path":"src/XF/Entity/PermissionCombination.php","text":"$this->permission_combination_id"},{"line":70,"path":"src/XF/Entity/PermissionCombination.php","text":"$this->db()->insertBulk('xf_permission_combination_user_group', $groups);"},{"line":86,"path":"src/XF/Entity/PermissionCombination.php","text":"'xf_permission_combination_user_group',"},{"line":87,"path":"src/XF/Entity/PermissionCombination.php","text":"'permission_combination_id = ?',"},{"line":88,"path":"src/XF/Entity/PermissionCombination.php","text":"$this->permission_combination_id"},{"line":94,"path":"src/XF/Entity/PermissionCombination.php","text":"$structure->table = 'xf_permission_combination';"},{"line":96,"path":"src/XF/Entity/PermissionCombination.php","text":"$structure->primaryKey = 'permission_combination_id';"},{"line":98,"path":"src/XF/Entity/PermissionCombination.php","text":"'permission_combination_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":116,"path":"src/XF/Entity/PermissionCombination.php","text":"'conditions' => 'permission_combination_id',"},{"line":11,"path":"src/XF/Entity/PermissionCombinationUserGroup.php","text":"* @property int $permission_combination_id"},{"line":21,"path":"src/XF/Entity/PermissionCombinationUserGroup.php","text":"$structure->table = 'xf_permission_combination_user_group';"},{"line":23,"path":"src/XF/Entity/PermissionCombinationUserGroup.php","text":"$structure->primaryKey = ['user_group_id', 'permission_combination_id'];"},{"line":26,"path":"src/XF/Entity/PermissionCombinationUserGroup.php","text":"'permission_combination_id' => ['type' => self::UINT, 'required' => true],"},{"line":39,"path":"src/XF/Entity/PermissionCombinationUserGroup.php","text":"'conditions' => 'permission_combination_id',"},{"line":10,"path":"src/XF/Entity/PermissionEntry.php","text":"* @property int|null $permission_entry_id"},{"line":25,"path":"src/XF/Entity/PermissionEntry.php","text":"$structure->table = 'xf_permission_entry';"},{"line":27,"path":"src/XF/Entity/PermissionEntry.php","text":"$structure->primaryKey = 'permission_entry_id';"},{"line":29,"path":"src/XF/Entity/PermissionEntry.php","text":"'permission_entry_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":10,"path":"src/XF/Entity/PermissionEntryContent.php","text":"* @property int|null $permission_entry_id"},{"line":27,"path":"src/XF/Entity/PermissionEntryContent.php","text":"$structure->table = 'xf_permission_entry_content';"},{"line":29,"path":"src/XF/Entity/PermissionEntryContent.php","text":"$structure->primaryKey = 'permission_entry_id';"},{"line":31,"path":"src/XF/Entity/PermissionEntryContent.php","text":"'permission_entry_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],"},{"line":137,"path":"src/XF/Entity/PermissionInterfaceGroup.php","text":"$structure->table = 'xf_permission_interface_group';"},{"line":142,"path":"src/XF/Entity/PermissionInterfaceGroup.php","text":"'required' => 'please_enter_valid_permission_interface_group_id',"},{"line":143,"path":"src/XF/Entity/PermissionInterfaceGroup.php","text":"'unique' => 'permission_interface_group_ids_must_be_unique',"},{"line":52,"path":"src/XF/Entity/User.php","text":"* @property int $permission_combination_id_"},{"line":85,"path":"src/XF/Entity/User.php","text":"* @property int $permission_combination_id"},{"line":361,"path":"src/XF/Entity/User.php","text":"return \\XF::permissionCache()->getPermissionSet($this->permission_combination_id);"},{"line":370,"path":"src/XF/Entity/User.php","text":"? $this->getValue('permission_combination_id')"},{"line":1268,"path":"src/XF/Entity/User.php","text":"return $this->PermissionSet->hasGlobalPermission($group, $permission);"},{"line":1285,"path":"src/XF/Entity/User.php","text":"\\XF::permissionCache()->cacheContentPermsByIds($this->permission_combination_id, 'node', $nodeIds);"},{"line":1289,"path":"src/XF/Entity/User.php","text":"\\XF::permissionCache()->cacheAllContentPerms($this->permission_combination_id, 'node');"},{"line":1367,"path":"src/XF/Entity/User.php","text":"public function rebuildPermissionCombination()"},{"line":1681,"path":"src/XF/Entity/User.php","text":"$this->rebuildPermissionCombination();"},{"line":1684,"path":"src/XF/Entity/User.php","text":"if ($this->isChanged(['user_group_id', 'secondary_group_ids', 'permission_combination_id', 'user_state']))"},{"line":2341,"path":"src/XF/Entity/User.php","text":"'permission_combination_id' => ['type' => self::UINT, 'default' => 0, 'changeLog' => false],"},{"line":2392,"path":"src/XF/Entity/User.php","text":"'permission_combination_id' => false,"},{"line":2427,"path":"src/XF/Entity/User.php","text":"'conditions' => 'permission_combination_id',"}],"slug":"newfi"}],"interface_group_state":[{"rows":[{"addon_id":"Gram/Support","display_order":1000,"interface_group_id":"gramSupport","is_moderator":0}],"slug":"codevipe"},{"rows":[{"addon_id":"Gram/Support","display_order":1000,"interface_group_id":"gramSupport","is_moderator":0}],"slug":"dsmods"},{"rows":[{"addon_id":"Gram/Support","display_order":1000,"interface_group_id":"gramSupport","is_moderator":0}],"slug":"gamevipe"},{"rows":[{"addon_id":"Gram/Support","display_order":1000,"interface_group_id":"gramSupport","is_moderator":0}],"slug":"hkmods"},{"rows":[{"addon_id":"Gram/Support","display_order":1000,"interface_group_id":"gramSupport","is_moderator":0}],"slug":"kingofwolk"},{"rows":[{"addon_id":"Gram/Support","display_order":1000,"interface_group_id":"gramSupport","is_moderator":0}],"slug":"zakrutim"},{"rows":[{"addon_id":"Gram/Support","display_order":1000,"interface_group_id":"gramSupport","is_moderator":0}],"slug":"newfi"}],"registry_and_combination_state":[{"addon_permission_data_files":{"permission_interface_groups.xml":{"bytes":192,"contains_gramSupport":true,"present":true,"sha256":"f54be0d872f43813e0f57d75a73420da70d37091f408d3cbdf9e943d4f67c1ad"},"permissions.xml":{"bytes":1432,"contains_gramSupport":true,"present":true,"sha256":"c0cf9d60702b670355f3f0928e0afde20a5c7becf065536c3487289211a4bbee"}},"permission_tables":["xf_permission","xf_permission_cache_content","xf_permission_combination","xf_permission_combination_user_group","xf_permission_entry","xf_permission_entry_content","xf_permission_interface_group"],"registry":[{"bytes":95,"contains_GramSupport":true,"contains_gramSupport":false,"key":"addOns","sha256":"eedf40269890cee3c36c869cb7000a6e5302529ad410f10cf14d5a05f9fd2ef1","top_level_keys":["Gram/Support","Workers2/PostboxPolicy","XF"]}],"slug":"codevipe","staff":[{"cache_bytes":2517,"cache_has_gramSupport":false,"cache_sha256":"2986831367f0ac442e19b5955044a0327a800f20c46155584d148666c9a9aec1","cache_top_level_keys":[],"combo_user_group_list":"2,3,4","combo_user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","gramSupport_cache":null,"is_admin":true,"is_moderator":true,"permission_combination_id_sha256":"e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683","primary_group_id":2,"secondary_group_ids":"3,4","user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"}]},{"addon_permission_data_files":{"permission_interface_groups.xml":{"bytes":192,"contains_gramSupport":true,"present":true,"sha256":"f54be0d872f43813e0f57d75a73420da70d37091f408d3cbdf9e943d4f67c1ad"},"permissions.xml":{"bytes":1432,"contains_gramSupport":true,"present":true,"sha256":"c0cf9d60702b670355f3f0928e0afde20a5c7becf065536c3487289211a4bbee"}},"permission_tables":["xf_permission","xf_permission_cache_content","xf_permission_combination","xf_permission_combination_user_group","xf_permission_entry","xf_permission_entry_content","xf_permission_interface_group"],"registry":[{"bytes":95,"contains_GramSupport":true,"contains_gramSupport":false,"key":"addOns","sha256":"eedf40269890cee3c36c869cb7000a6e5302529ad410f10cf14d5a05f9fd2ef1","top_level_keys":["Gram/Support","Workers2/PostboxPolicy","XF"]}],"slug":"dsmods","staff":[{"cache_bytes":2526,"cache_has_gramSupport":false,"cache_sha256":"4212b0b60852d1382cde8cc09d26d9bda8d5f8bf24d10d4be58aa4e16e531565","cache_top_level_keys":[],"combo_user_group_list":"2,3,4","combo_user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","gramSupport_cache":null,"is_admin":true,"is_moderator":true,"permission_combination_id_sha256":"e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683","primary_group_id":2,"secondary_group_ids":"3,4","user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"}]},{"addon_permission_data_files":{"permission_interface_groups.xml":{"bytes":192,"contains_gramSupport":true,"present":true,"sha256":"f54be0d872f43813e0f57d75a73420da70d37091f408d3cbdf9e943d4f67c1ad"},"permissions.xml":{"bytes":1432,"contains_gramSupport":true,"present":true,"sha256":"c0cf9d60702b670355f3f0928e0afde20a5c7becf065536c3487289211a4bbee"}},"permission_tables":["xf_permission","xf_permission_cache_content","xf_permission_combination","xf_permission_combination_user_group","xf_permission_entry","xf_permission_entry_content","xf_permission_interface_group"],"registry":[{"bytes":95,"contains_GramSupport":true,"contains_gramSupport":false,"key":"addOns","sha256":"eedf40269890cee3c36c869cb7000a6e5302529ad410f10cf14d5a05f9fd2ef1","top_level_keys":["Gram/Support","Workers2/PostboxPolicy","XF"]}],"slug":"gamevipe","staff":[{"cache_bytes":2526,"cache_has_gramSupport":false,"cache_sha256":"4212b0b60852d1382cde8cc09d26d9bda8d5f8bf24d10d4be58aa4e16e531565","cache_top_level_keys":[],"combo_user_group_list":"2,3,4","combo_user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","gramSupport_cache":null,"is_admin":true,"is_moderator":true,"permission_combination_id_sha256":"e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683","primary_group_id":2,"secondary_group_ids":"3,4","user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"}]},{"addon_permission_data_files":{"permission_interface_groups.xml":{"bytes":192,"contains_gramSupport":true,"present":true,"sha256":"f54be0d872f43813e0f57d75a73420da70d37091f408d3cbdf9e943d4f67c1ad"},"permissions.xml":{"bytes":1432,"contains_gramSupport":true,"present":true,"sha256":"c0cf9d60702b670355f3f0928e0afde20a5c7becf065536c3487289211a4bbee"}},"permission_tables":["xf_permission","xf_permission_cache_content","xf_permission_combination","xf_permission_combination_user_group","xf_permission_entry","xf_permission_entry_content","xf_permission_interface_group"],"registry":[{"bytes":95,"contains_GramSupport":true,"contains_gramSupport":false,"key":"addOns","sha256":"eedf40269890cee3c36c869cb7000a6e5302529ad410f10cf14d5a05f9fd2ef1","top_level_keys":["Gram/Support","Workers2/PostboxPolicy","XF"]}],"slug":"hkmods","staff":[{"cache_bytes":2526,"cache_has_gramSupport":false,"cache_sha256":"4212b0b60852d1382cde8cc09d26d9bda8d5f8bf24d10d4be58aa4e16e531565","cache_top_level_keys":[],"combo_user_group_list":"2,3,4","combo_user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","gramSupport_cache":null,"is_admin":true,"is_moderator":true,"permission_combination_id_sha256":"e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683","primary_group_id":2,"secondary_group_ids":"3,4","user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"}]},{"addon_permission_data_files":{"permission_interface_groups.xml":{"bytes":192,"contains_gramSupport":true,"present":true,"sha256":"f54be0d872f43813e0f57d75a73420da70d37091f408d3cbdf9e943d4f67c1ad"},"permissions.xml":{"bytes":1432,"contains_gramSupport":true,"present":true,"sha256":"c0cf9d60702b670355f3f0928e0afde20a5c7becf065536c3487289211a4bbee"}},"permission_tables":["xf_permission","xf_permission_cache_content","xf_permission_combination","xf_permission_combination_user_group","xf_permission_entry","xf_permission_entry_content","xf_permission_interface_group"],"registry":[{"bytes":95,"contains_GramSupport":true,"contains_gramSupport":false,"key":"addOns","sha256":"75cde1920175751989c915647ce0b7c9bc43f3455ef4ccd0fac85bdeeb65a0b1","top_level_keys":["Gram/Support","Workers2/PostboxPolicy","XF"]}],"slug":"kingofwolk","staff":[{"cache_bytes":2530,"cache_has_gramSupport":false,"cache_sha256":"5ba76aaa2def782deeec5b54d24d723cc2d5c501da7574c6735039dcb5539855","cache_top_level_keys":[],"combo_user_group_list":"2,3,4","combo_user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","gramSupport_cache":null,"is_admin":true,"is_moderator":true,"permission_combination_id_sha256":"e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683","primary_group_id":2,"secondary_group_ids":"3,4","user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"}]},{"addon_permission_data_files":{"permission_interface_groups.xml":{"bytes":192,"contains_gramSupport":true,"present":true,"sha256":"f54be0d872f43813e0f57d75a73420da70d37091f408d3cbdf9e943d4f67c1ad"},"permissions.xml":{"bytes":1432,"contains_gramSupport":true,"present":true,"sha256":"c0cf9d60702b670355f3f0928e0afde20a5c7becf065536c3487289211a4bbee"}},"permission_tables":["xf_permission","xf_permission_cache_content","xf_permission_combination","xf_permission_combination_user_group","xf_permission_entry","xf_permission_entry_content","xf_permission_interface_group"],"registry":[{"bytes":95,"contains_GramSupport":true,"contains_gramSupport":false,"key":"addOns","sha256":"eedf40269890cee3c36c869cb7000a6e5302529ad410f10cf14d5a05f9fd2ef1","top_level_keys":["Gram/Support","Workers2/PostboxPolicy","XF"]}],"slug":"zakrutim","staff":[{"cache_bytes":2526,"cache_has_gramSupport":false,"cache_sha256":"4212b0b60852d1382cde8cc09d26d9bda8d5f8bf24d10d4be58aa4e16e531565","cache_top_level_keys":[],"combo_user_group_list":"2,3,4","combo_user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","gramSupport_cache":null,"is_admin":true,"is_moderator":true,"permission_combination_id_sha256":"e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683","primary_group_id":2,"secondary_group_ids":"3,4","user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"}]},{"addon_permission_data_files":{"permission_interface_groups.xml":{"bytes":192,"contains_gramSupport":true,"present":true,"sha256":"f54be0d872f43813e0f57d75a73420da70d37091f408d3cbdf9e943d4f67c1ad"},"permissions.xml":{"bytes":1432,"contains_gramSupport":true,"present":true,"sha256":"c0cf9d60702b670355f3f0928e0afde20a5c7becf065536c3487289211a4bbee"}},"permission_tables":["xf_permission","xf_permission_cache_content","xf_permission_combination","xf_permission_combination_user_group","xf_permission_entry","xf_permission_entry_content","xf_permission_interface_group"],"registry":[{"bytes":227,"contains_GramSupport":true,"contains_gramSupport":false,"key":"addOns","sha256":"04905462a275923fe321e4f49e860d2d70a60188687599b99064df8ef2627cfb","top_level_keys":["Gram/Support","Newfi/Dogs","Newfi/Events","Newfi/Portal","Workers2/PostboxPolicy","XF","XFMG","XFRM"]}],"slug":"newfi","staff":[{"cache_bytes":4767,"cache_has_gramSupport":false,"cache_sha256":"0e802df20b9d1147107c110d976767409217a7f5cd2bef66a89b8b7cb4547a47","cache_top_level_keys":[],"combo_user_group_list":"2,3,4","combo_user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b","gramSupport_cache":null,"is_admin":true,"is_moderator":true,"permission_combination_id_sha256":"e7f6c011776e8db7cd330b54174fd76f7d0216b612387a5ffcfb81e6f0919683","primary_group_id":2,"secondary_group_ids":"3,4","user_id_sha256":"6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b"}]}],"schema_version":1,"scope":"READ_ONLY_GRAM_SUPPORT_PERMISSION_REGISTRY_AND_BUILDER_RCA","site_count":7,"transport":{"vm160":{"guest_stderr_present":false,"inner_rc":0,"ok":true,"transport_rc":0,"transport_stderr_bytes":0,"transport_stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"vm210":{"guest_stderr_present":false,"inner_rc":0,"ok":true,"transport_rc":0,"transport_stderr_bytes":0,"transport_stderr_sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}}}
GRAM515R2R1R1_DECISION=PASS_PERMISSION_REGISTRY_RCA_EVIDENCE_CAPTURED
GRAM515R2R1R1_NEXT_GATE=REVIEW_EXACT_UPSTREAM_CACHE_OR_METADATA_FIX
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260918-GRAM-SUPPORT-PERMISSION-REGISTRY-RCA-BOOLFIX-515R2R1R1","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}

OUTPUT_END
CHAT_OUTPUT_END
