CHAT_OUTPUT_BEGIN
COMMAND_ID=SUPPORT-260920-PVEPRO-PERMISSION-PROBE-RCA-READONLY-716R5
STATUS=OK
RC=0
HOST=pve01
MODE=read-only
COMPONENT=pvepro-permission-probe-rca-readonly
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=ae1b7ad338972bbb7f0ac123023385e8bc3ade9b9b2ee2bc38dc1ac294069c5f
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=197b2e2b0efef65e993c880421caec4aafa9a68efc30bd3e5c72526ae81910af
SANITIZED_OUTPUT_SHA256=197b2e2b0efef65e993c880421caec4aafa9a68efc30bd3e5c72526ae81910af
OUTPUT_BEGIN
GUEST_QGA_TRANSPORT_RC=0
GUEST_EXITCODE=0
TRANSPORT_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
GUEST_OUTPUT_BEGIN\nXF_SHA=d0c10d91d743e0a541d9a1b201080491dae0a8b1757866f113ef707b83403219
SERVER_PHP_LINT_STATE_RC=0
SERVER_PHP_LINT_STATE_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SERVER_PHP_LINT_REFLECT_RC=0
SERVER_PHP_LINT_REFLECT_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
PERMISSION_STATE_RC=0
PERMISSION_STATE_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
PERMISSION_STATE_STDERR_BYTES=0
PERMISSION_STATE_OUTPUT_BEGIN
VISITOR_USER_ID=0\nVISITOR_PERMISSION_COMBINATION_ID=1\nVISITOR_HAS_general_view=true\nVISITOR_HAS_general_viewProfile=true\nVISITOR_HAS_forum_viewOthers=true\nUSER_GROUPS=[{"id":1,"title_sha256":"2ed52ce2083ecf6e72e527507e999a09018abef54808d1e9b7f98731406607ce"},{"id":2,"title_sha256":"2351ee992626bafb88f7985721ec0f56c7d2e242f753e542dee015f178fffea6"},{"id":3,"title_sha256":"35388e9f363dd162fc578afbef7005604b46f469b538cbf88f576aeec3f00299"},{"id":4,"title_sha256":"34d5166b62f8697fee6a7d193d637b1502aefa8f8c4a57f49839d9eda6799b32"}]\nGROUP_1_GLOBAL_PERMISSION_ROWS=[{"permission_group_id":"forum","permission_id":"viewContent","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"viewOthers","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"editProfile","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"search","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"submitWithoutApproval","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"useContactForm","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"usePush","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"view","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"viewMemberList","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"viewNode","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"viewProfile","permission_value":"allow","permission_value_int":0},{"permission_group_id":"profilePost","permission_id":"view","permission_value":"allow","permission_value_int":0}]\nGROUP_2_GLOBAL_PERMISSION_ROWS=[{"permission_group_id":"bookmark","permission_id":"view","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"contentVote","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"deleteOwnPost","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"editOwnPost","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"editOwnPostTimeLimit","permission_value":"use_int","permission_value_int":-1},{"permission_group_id":"forum","permission_id":"editOwnThreadTitle","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"markSolution","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"postReply","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"postThread","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"react","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"tagOwnThread","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"uploadAttachment","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"uploadVideo","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"viewAttachment","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"viewContent","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"viewOthers","permission_value":"allow","permission_value_int":0},{"permission_group_id":"forum","permission_id":"votePoll","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"changeUsername","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"createTag","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"editProfile","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"editSignature","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"maxMentionedUsers","permission_value":"use_int","permission_value_int":5},{"permission_group_id":"general","permission_id":"report","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"search","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"submitWithoutApproval","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"useContactForm","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"view","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"viewMemberList","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"viewNode","permission_value":"allow","permission_value_int":0},{"permission_group_id":"general","permission_id":"viewProfile","permission_value":"allow","permission_value_int":0},{"permission_group_id":"profilePost","permission_id":"view","permission_value":"allow","permission_value_int":0}]\nNODE_1_CONTENT_PERMISSION_ROWS=[]\nNODE_2_CONTENT_PERMISSION_ROWS=[]\nNODE_3_CONTENT_PERMISSION_ROWS=[]\nNODE_8_CONTENT_PERMISSION_ROWS=[]\nNODE_9_CONTENT_PERMISSION_ROWS=[]\nNODE_11_CONTENT_PERMISSION_ROWS=[]\nNODE_17_CONTENT_PERMISSION_ROWS=[]\nNODE_18_CONTENT_PERMISSION_ROWS=[]\nFORUM_2_EXISTS=true\nFORUM_2_CAN_VIEW=true\nFORUM_2_NODE_CACHE_SELECTED={"type":"NULL"}\nFORUM_2_NODE_CACHE_SHA256=28859e345f55ce45426724100617830af221bdf3e01f4333ee34ba58d2df4429\nFORUM_8_EXISTS=true\nFORUM_8_CAN_VIEW=false\nFORUM_8_NODE_CACHE_SELECTED={"type":"NULL"}\nFORUM_8_NODE_CACHE_SHA256=28859e345f55ce45426724100617830af221bdf3e01f4333ee34ba58d2df4429\nFORUM_9_EXISTS=true\nFORUM_9_CAN_VIEW=false\nFORUM_9_NODE_CACHE_SELECTED={"type":"NULL"}\nFORUM_9_NODE_CACHE_SHA256=28859e345f55ce45426724100617830af221bdf3e01f4333ee34ba58d2df4429\nFORUM_11_EXISTS=true\nFORUM_11_CAN_VIEW=false\nFORUM_11_NODE_CACHE_SELECTED={"type":"NULL"}\nFORUM_11_NODE_CACHE_SHA256=28859e345f55ce45426724100617830af221bdf3e01f4333ee34ba58d2df4429\nFORUM_17_EXISTS=true\nFORUM_17_CAN_VIEW=false\nFORUM_17_NODE_CACHE_SELECTED={"type":"NULL"}\nFORUM_17_NODE_CACHE_SHA256=28859e345f55ce45426724100617830af221bdf3e01f4333ee34ba58d2df4429\nFORUM_18_EXISTS=true\nFORUM_18_CAN_VIEW=false\nFORUM_18_NODE_CACHE_SELECTED={"type":"NULL"}\nFORUM_18_NODE_CACHE_SHA256=28859e345f55ce45426724100617830af221bdf3e01f4333ee34ba58d2df4429\nPERMISSION_COMBINATIONS=[{"permission_combination_id":1,"user_id":0,"user_group_list":"1"},{"permission_combination_id":3,"user_id":0,"user_group_list":"2"},{"permission_combination_id":4,"user_id":0,"user_group_list":"2,3"},{"permission_combination_id":5,"user_id":0,"user_group_list":"2,3,4"},{"permission_combination_id":6,"user_id":1,"user_group_list":"2,3,4"}]\nPERMISSION_CACHE_CONTENT_COLUMNS=["permission_combination_id","content_type","content_id","cache_value"]\nNODE_1_CACHE_ROWS=[{"permission_combination_id":1,"content_type":"node","content_id":1,"cache_sha256":"4bec2c76ac9f130abb1f5ea2adb6c09fad83598b881cf874e4bcd2fa36d372fe"},{"permission_combination_id":3,"content_type":"node","content_id":1,"cache_sha256":"4bec2c76ac9f130abb1f5ea2adb6c09fad83598b881cf874e4bcd2fa36d372fe"},{"permission_combination_id":4,"content_type":"node","content_id":1,"cache_sha256":"4bec2c76ac9f130abb1f5ea2adb6c09fad83598b881cf874e4bcd2fa36d372fe"},{"permission_combination_id":5,"content_type":"node","content_id":1,"cache_sha256":"4bec2c76ac9f130abb1f5ea2adb6c09fad83598b881cf874e4bcd2fa36d372fe"},{"permission_combination_id":6,"content_type":"node","content_id":1,"cache_sha256":"4bec2c76ac9f130abb1f5ea2adb6c09fad83598b881cf874e4bcd2fa36d372fe"}]\nNODE_2_CACHE_ROWS=[{"permission_combination_id":1,"content_type":"node","content_id":2,"cache_sha256":"1db2d92b6683fab36abb410478ea7864828287b034c4a1220b511dec129cd9b1"},{"permission_combination_id":3,"content_type":"node","content_id":2,"cache_sha256":"aae61963956180efdfaeb74a16f86df49e50f4c4f60a61f58352dc76bf8550f6"},{"permission_combination_id":4,"content_type":"node","content_id":2,"cache_sha256":"06e48530a9d18697dcb1ed6455218d7b6884507bbfff9a88eaf777b19ccaa72e"},{"permission_combination_id":5,"content_type":"node","content_id":2,"cache_sha256":"06e48530a9d18697dcb1ed6455218d7b6884507bbfff9a88eaf777b19ccaa72e"},{"permission_combination_id":6,"content_type":"node","content_id":2,"cache_sha256":"130f7985f1688afb3ec90c81573e91084152e2d0a53162565f013adcd577a299"}]\nNODE_3_CACHE_ROWS=[]\nNODE_8_CACHE_ROWS=[]\nNODE_9_CACHE_ROWS=[]\nNODE_11_CACHE_ROWS=[]\nNODE_17_CACHE_ROWS=[]\nNODE_18_CACHE_ROWS=[]\nNO_MUTATION=true\n
PERMISSION_STATE_OUTPUT_END
PERMISSION_SOURCE_SNIPPETS=[{"path":"/var/www/pvepro/src/XF/Entity/Forum.php","start":96,"sha256":"ddb39a34ff5fd30c660b518f4a45c7fadf04122be5d13f2280516f23fe8bbf1e","text":"\tpublic function canCreatePoll(&$error = null)\\n\t{\\n\t\treturn $this->TypeHandler->isThreadTypeCreatable('poll', $this);\\n\t}\\n\\n\tpublic function canViewThreadContent(): bool\\n\t{\\n\t\treturn \\XF::visitor()->hasNodePermission($this->node_id, 'viewContent');\\n\t}\\n\\n\tpublic function canViewDeletedThreads()\\n\t{\\n\t\treturn \\XF::visitor()->hasNodePermission($this->node_id, 'viewDeleted');\\n\t}\\n\\n\tpublic function canViewModeratedThreads()\\n\t{\\n\t\treturn \\XF::visitor()->hasNodePermission($this->node_id, 'viewModerated');\\n\t}\\n\\n\tpublic function canUploadAndManageAttachments()\\n\t{\\n\t\t$visitor = \\XF::visitor();"},{"path":"/var/www/pvepro/src/XF/Entity/Forum.php","start":101,"sha256":"3dc2b8ff5c5ea7bd3c4822e6e619962188500f72cce1c08290d0e251a8a69b09","text":"\tpublic function canViewThreadContent(): bool\\n\t{\\n\t\treturn \\XF::visitor()->hasNodePermission($this->node_id, 'viewContent');\\n\t}\\n\\n\tpublic function canViewDeletedThreads()\\n\t{\\n\t\treturn \\XF::visitor()->hasNodePermission($this->node_id, 'viewDeleted');\\n\t}\\n\\n\tpublic function canViewModeratedThreads()\\n\t{\\n\t\treturn \\XF::visitor()->hasNodePermission($this->node_id, 'viewModerated');\\n\t}\\n\\n\tpublic function canUploadAndManageAttachments()\\n\t{\\n\t\t$visitor = \\XF::visitor();\\n\\n\t\treturn ($visitor->user_id && $visitor->hasNodePermission($this->node_id, 'uploadAttachment'));\\n\t}\\n\\n\tpublic function canUploadVideos()"},{"path":"/var/www/pvepro/src/XF/Entity/Forum.php","start":106,"sha256":"76a6149417b8ae3acf5b3fb8aa8460374e307213d5aee0cf19b1bbfc05f70bdf","text":"\tpublic function canViewDeletedThreads()\\n\t{\\n\t\treturn \\XF::visitor()->hasNodePermission($this->node_id, 'viewDeleted');\\n\t}\\n\\n\tpublic function canViewModeratedThreads()\\n\t{\\n\t\treturn \\XF::visitor()->hasNodePermission($this->node_id, 'viewModerated');\\n\t}\\n\\n\tpublic function canUploadAndManageAttachments()\\n\t{\\n\t\t$visitor = \\XF::visitor();\\n\\n\t\treturn ($visitor->user_id && $visitor->hasNodePermission($this->node_id, 'uploadAttachment'));\\n\t}\\n\\n\tpublic function canUploadVideos()\\n\t{\\n\t\t$options = $this->app()->options();\\n\\n\t\tif (empty($options->allowVideoUploads['enabled']))\\n\t\t{"},{"path":"/var/www/pvepro/src/XF/Entity/Forum.php","start":439,"sha256":"246fbbf565d9c125c32fe9a72b0057837224d11ce188cedcb3ff224474a7b6c7","text":"\t\treturn (!$prefix || isset($this->prefix_cache[$prefix]));\\n\t}\\n\\n\tpublic function getNodeListExtras()\\n\t{\\n\t\tif (\\XF::visitor()->hasNodePermission($this->node_id, 'viewOthers'))\\n\t\t{\\n\t\t\t$output = [\\n\t\t\t\t'discussion_count' => $this->discussion_count,\\n\t\t\t\t'message_count'    => $this->message_count,\\n\t\t\t\t'hasNew'           => $this->isUnread(),\\n\t\t\t];\\n\\n\t\t\tif ($this->last_post_date)\\n\t\t\t{\\n\t\t\t\t$output['last_post_id'] = $this->last_post_id;\\n\t\t\t\t$output['last_post_date'] = $this->last_post_date;\\n\t\t\t\t$output['last_post_user_id'] = $this->last_post_user_id;\\n\t\t\t\t$output['last_post_username'] = $this->last_post_username;\\n\t\t\t\t$output['last_thread_id'] = $this->last_thread_id;\\n\t\t\t\t$output['last_thread_title'] = $this->app()->stringFormatter()->censorText($this->last_thread_title);\\n\t\t\t\t$output['last_thread_prefix_id'] = $this->last_thread_prefix_id;\\n\t\t\t\t$output['LastPostUser'] = $this->LastPostUser;"},{"path":"/var/www/pvepro/src/XF/Entity/Forum.php","start":681,"sha256":"61255e3d5c3e21701cd1dd66434d50648b6386391b9ccd3f3a7844f8c6276653","text":"\\n\tpublic function getNodeTypeApiData($verbosity = self::VERBOSITY_NORMAL, array $options = [])\\n\t{\\n\t\t$result = parent::getNodeTypeApiData();\\n\\n\t\tif (\\XF::visitor()->hasNodePermission($this->node_id, 'viewOthers'))\\n\t\t{\\n\t\t\t$result->includeExtra([\\n\t\t\t\t'is_unread' => $this->isUnread(),\\n\t\t\t\t'discussion_count' => $this->discussion_count,\\n\t\t\t\t'message_count' => $this->message_count,\\n\t\t\t\t'last_post_id' => $this->last_post_id,\\n\t\t\t\t'last_post_date' => $this->last_post_date,\\n\t\t\t\t'last_post_username' => $this->last_post_username,\\n\t\t\t\t'last_thread_id' => $this->last_thread_id,\\n\t\t\t\t'last_thread_title' => $this->app()->stringFormatter()->censorText($this->last_thread_title),\\n\t\t\t\t'last_thread_prefix_id' => $this->last_thread_prefix_id,\\n\t\t\t]);\\n\t\t}\\n\\n\t\t$this->TypeHandler->addTypeConfigToApiResult($this, $result, $verbosity, $options);\\n\\n\t\tif ($verbosity > self::VERBOSITY_NORMAL)"},{"path":"/var/www/pvepro/src/XF/Entity/Node.php","start":45,"sha256":"f529a67e7eea7aeaaa2aa763ca2f0fe6c468844bf966dfcc39b823a912338d0c","text":" */\\nclass Node extends Entity implements LinkableInterface, ViewableInterface\\n{\\n\tuse BookmarkTrait;\\n\\n\tpublic function canView(&$error = null)\\n\t{\\n\t\t/** @var AbstractNode $data */\\n\t\t$data = $this->Data;\\n\t\tif (!$data)\\n\t\t{\\n\t\t\treturn false;\\n\t\t}\\n\\n\t\treturn $data->canView($error);\\n\t}\\n\\n\tprotected function canBookmarkContent(&$error = null)\\n\t{\\n\t\treturn ($this->node_type_id == 'Page' && $this->canView($error));\\n\t}\\n\\n\tpublic function isSearchEngineIndexable(): bool"},{"path":"/var/www/pvepro/src/XF/PermissionCache.php","start":18,"sha256":"83682b6d6cd774d6b60bfd2d72099c03400cf0a67e071207e00d2ec55704f236","text":"\tpublic function __construct(AbstractAdapter $db)\\n\t{\\n\t\t$this->db = $db;\\n\t}\\n\\n\tpublic function getPermissionSet($permissionCombinationId)\\n\t{\\n\t\treturn new PermissionSet($this, $permissionCombinationId);\\n\t}\\n\\n\tpublic function getGlobalPerms($permissionCombinationId)\\n\t{\\n\t\t// value will be null if we failed to retrieve the permissions\\n\t\tif (array_key_exists($permissionCombinationId, $this->globalPerms))\\n\t\t{\\n\t\t\treturn $this->globalPerms[$permissionCombinationId];\\n\t\t}\\n\\n\t\t$cache = $this->db->fetchOne(\"\\n\t\t\tSELECT cache_value\\n\t\t\tFROM xf_permission_combination\\n\t\t\tWHERE permission_combination_id = ?\\n\t\t\", $permissionCombinationId);"},{"path":"/var/www/pvepro/src/XF/PermissionCache.php","start":96,"sha256":"9a73f7739703efac4ad1d89125e45a5ba275db71c7b5469935ba84d70a37ba82","text":"\t\t$this->contentPerms[$permissionCombinationId][$contentType][$contentId] = $cache;\\n\\n\t\treturn $cache;\\n\t}\\n\\n\tpublic function cacheAllContentPerms($permissionCombinationId, $contentType)\\n\t{\\n\t\tif (isset($this->globalCacheRun[$contentType][$permissionCombinationId]))\\n\t\t{\\n\t\t\treturn;\\n\t\t}\\n\t\t$this->globalCacheRun[$contentType][$permissionCombinationId] = true;\\n\\n\t\t$permsResult = $this->db->fetchPairs(\"\\n\t\t\tSELECT content_id, cache_value\\n\t\t\tFROM xf_permission_cache_content\\n\t\t\tWHERE permission_combination_id = ?\\n\t\t\t\tAND content_type = ?\\n\t\t\", [$permissionCombinationId, $contentType]);\\n\\n\t\tforeach ($permsResult AS $contentId => $cache)\\n\t\t{\\n\t\t\t$cache = $this->decodePermissionCache($cache);"},{"path":"/var/www/pvepro/src/XF/PermissionCache.php","start":119,"sha256":"f858e5eeea5f4858afe0028a9755e9152bb9e9dc30e0b71c81f181781e6fa3f4","text":"\\n\t\t\t$this->contentPerms[$permissionCombinationId][$contentType][$contentId] = $cache;\\n\t\t}\\n\t}\\n\\n\tpublic function cacheContentPermsByIds($permissionCombinationId, $contentType, array $contentIds)\\n\t{\\n\t\tif (!$contentIds)\\n\t\t{\\n\t\t\treturn;\\n\t\t}\\n\\n\t\tforeach ($contentIds AS $k => $contentId)\\n\t\t{\\n\t\t\tif (isset($this->contentPerms[$permissionCombinationId][$contentType][$contentId]))\\n\t\t\t{\\n\t\t\t\tunset($contentIds[$k]);\\n\t\t\t}\\n\t\t}\\n\t\tif (!$contentIds)\\n\t\t{\\n\t\t\treturn;\\n\t\t}"},{"path":"/var/www/pvepro/src/XF/PermissionCache.php","start":154,"sha256":"42a826655f3bb839d8dc5040d1e55b4950bb9ac287052234e8a4284165534621","text":"\\n\t\t\t$this->contentPerms[$permissionCombinationId][$contentType][$contentId] = $cache;\\n\t\t}\\n\t}\\n\\n\tpublic function cacheMultipleContentPermsForContent(array $permissionCombinationIds, $contentType, $contentId)\\n\t{\\n\t\tif (!$permissionCombinationIds)\\n\t\t{\\n\t\t\treturn;\\n\t\t}\\n\\n\t\t$permsResult = $this->db->fetchPairs(\"\\n\t\t\tSELECT permission_combination_id, cache_value\\n\t\t\tFROM xf_permission_cache_content\\n\t\t\tWHERE permission_combination_id IN (\" . $this->db->quote($permissionCombinationIds) . \")\\n\t\t\t\tAND content_type = ?\\n\t\t\t\tAND content_id = ?\\n\t\t\", [$contentType, $contentId]);\\n\\n\t\tforeach ($permsResult AS $permissionCombinationId => $cache)\\n\t\t{\\n\t\t\t$cache = $this->decodePermissionCache($cache);"},{"path":"/var/www/pvepro/src/XF/Repository/PermissionCombinationRepository.php","start":76,"sha256":"429db2743e8e412951196b3a59de919f708ef848a46e83e96aaf3f2ef619eae0","text":"\t\t}\\n\\n\t\treturn $combination;\\n\t}\\n\\n\tpublic function updatePermissionCombinationForUser(User $user, $buildOnCreate = true)\\n\t{\\n\t\t$combination = $this->getPermissionCombinationForUser($user);\\n\t\tif (!$combination->exists())\\n\t\t{\\n\t\t\t$combination->setOption('rebuild_permission_cache', $buildOnCreate);\\n\t\t\t$combination->save();\\n\t\t}\\n\\n\t\tif ($combination->permission_combination_id != $user->permission_combination_id)\\n\t\t{\\n\t\t\t$user->fastUpdate('permission_combination_id', $combination->permission_combination_id);\\n\t\t}\\n\\n\t\treturn $combination;\\n\t}\\n\\n\tpublic function hasUserSpecificPermissions($userId)"},{"path":"/var/www/pvepro/src/XF/Repository/PermissionCombinationRepository.php","start":81,"sha256":"4fec4370798eb11f995ade7a704717b70f93aa54d03d0c3bc04f3940a6e36201","text":"\tpublic function updatePermissionCombinationForUser(User $user, $buildOnCreate = true)\\n\t{\\n\t\t$combination = $this->getPermissionCombinationForUser($user);\\n\t\tif (!$combination->exists())\\n\t\t{\\n\t\t\t$combination->setOption('rebuild_permission_cache', $buildOnCreate);\\n\t\t\t$combination->save();\\n\t\t}\\n\\n\t\tif ($combination->permission_combination_id != $user->permission_combination_id)\\n\t\t{\\n\t\t\t$user->fastUpdate('permission_combination_id', $combination->permission_combination_id);\\n\t\t}\\n\\n\t\treturn $combination;\\n\t}\\n\\n\tpublic function hasUserSpecificPermissions($userId)\\n\t{\\n\t\tif (!$userId)\\n\t\t{\\n\t\t\treturn false;\\n\t\t}"},{"path":"/var/www/pvepro/src/XF/Repository/PermissionCombinationRepository.php","start":107,"sha256":"686e2f2e9b0fec141232647ac675ef17b4f52e83651cdecb0b33e1bbfe4e615c","text":"\t\t\tUNION ALL\\n\t\t\t(SELECT 1 FROM xf_permission_entry_content WHERE user_group_id = 0 AND user_id = ? LIMIT 1)\\n\t\t\", [$userId, $userId]);\\n\t}\\n\\n\tpublic function getPermissionCombinationsForUserGroup($userGroupId)\\n\t{\\n\t\t$groupCombinations = $this->finder(PermissionCombinationUserGroupFinder::class)\\n\t\t\t->where('user_group_id', $userGroupId)\\n\t\t\t->with('PermissionCombination', true)\\n\t\t\t->fetch();\\n\\n\t\treturn $groupCombinations->pluck(function ($groupCombination)\\n\t\t{\\n\t\t\treturn [$groupCombination->permission_combination_id, $groupCombination->PermissionCombination];\\n\t\t});\\n\t}\\n\\n\tpublic function deleteUnusedPermissionCombinations()\\n\t{\\n\t\t$db = $this->db();\\n\\n\t\t$preRegActionCondition = '';"}]
PERMISSION_WRITE_FLOW_HITS=[{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntryContent.php","line":17,"text":"* @property string $permission_value"},{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntryContent.php","line":18,"text":"* @property int $permission_value_int"},{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntryContent.php","line":20,"text":"class PermissionEntryContent extends Entity"},{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntryContent.php","line":28,"text":"$structure->shortName = 'XF:PermissionEntryContent';"},{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntryContent.php","line":38,"text":"'permission_value' => ['type' => self::STR, 'required' => true,"},{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntryContent.php","line":41,"text":"'permission_value_int' => ['type' => self::INT],"},{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntry.php","line":15,"text":"* @property string $permission_value"},{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntry.php","line":16,"text":"* @property int $permission_value_int"},{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntry.php","line":18,"text":"class PermissionEntry extends Entity"},{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntry.php","line":26,"text":"$structure->shortName = 'XF:PermissionEntry';"},{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntry.php","line":34,"text":"'permission_value' => ['type' => self::STR, 'required' => true,"},{"path":"/var/www/pvepro/src/XF/Entity/PermissionEntry.php","line":37,"text":"'permission_value_int' => ['type' => self::INT, 'default' => 0],"},{"path":"/var/www/pvepro/src/XF/Entity/User.php","line":1285,"text":"\\XF::permissionCache()->cacheContentPermsByIds($this->permission_combination_id, 'node', $nodeIds);"},{"path":"/var/www/pvepro/src/XF/Entity/User.php","line":1289,"text":"\\XF::permissionCache()->cacheAllContentPerms($this->permission_combination_id, 'node');"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/UserGroupController.php","line":8,"text":"use XF\\Repository\\PermissionEntryRepository;"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/UserGroupController.php","line":50,"text":"$entryRepo = $this->repository(PermissionEntryRepository::class);"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/NodeController.php","line":13,"text":"use XF\\Repository\\PermissionEntryRepository;"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/NodeController.php","line":34,"text":"$customPermissions = $this->repository(PermissionEntryRepository::class)->getContentWithCustomPermissions('node');"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/PermissionController.php","line":12,"text":"use XF\\Repository\\PermissionEntryRepository;"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/PermissionController.php","line":170,"text":"$customPermissions = $this->repository(PermissionEntryRepository::class)->getContentWithCustomPermissions('node');"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/PermissionController.php","line":283,"text":"* @return PermissionEntryRepository"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/PermissionController.php","line":287,"text":"return $this->repository(PermissionEntryRepository::class);"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/ToolsController.php","line":16,"text":"use XF\\Repository\\PermissionEntryRepository;"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/ToolsController.php","line":233,"text":"$permEntryRepo = $this->repository(PermissionEntryRepository::class);"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/ModeratorController.php","line":13,"text":"use XF\\Repository\\PermissionEntryRepository;"},{"path":"/var/www/pvepro/src/XF/Admin/Controller/ModeratorController.php","line":78,"text":"$permissionEntryRepo = $this->repository(PermissionEntryRepository::class);"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":6,"text":"use XF\\Entity\\PermissionEntry;"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":7,"text":"use XF\\Entity\\PermissionEntryContent;"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":10,"text":"use XF\\Finder\\PermissionEntryContentFinder;"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":11,"text":"use XF\\Finder\\PermissionEntryFinder;"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":137,"text":"$finder = $this->finder(PermissionEntryContentFinder::class);"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":145,"text":"$finder = $this->finder(PermissionEntryFinder::class);"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":177,"text":"$entry = $this->em()->create(PermissionEntryContent::class);"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":183,"text":"$entry = $this->em()->create(PermissionEntry::class);"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":195,"text":"$entry->permission_value = 'use_int';"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":196,"text":"$entry->permission_value_int = intval($value);"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":200,"text":"$entry->permission_value = $value;"},{"path":"/var/www/pvepro/src/XF/Service/UpdatePermissionsService.php","line":201,"text":"$entry->permission_value_int = 0;"}]
REFLECTION_RC=0
REFLECTION_STDERR_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
REFLECTION_OUTPUT_BEGIN
CLASS_XF_PermissionCache_EXISTS=true\nCTOR_XF_PermissionCache|required=1|total=1\nMETHOD_XF_PermissionCache=getPermissionSet|static=false|required=1|total=1\nMETHOD_XF_PermissionCache=cacheAllContentPerms|static=false|required=2|total=2\nMETHOD_XF_PermissionCache=cacheContentPermsByIds|static=false|required=3|total=3\nMETHOD_XF_PermissionCache=cacheMultipleContentPermsForContent|static=false|required=3|total=3\nCLASS_XF_Repository_PermissionCombination_EXISTS=true\nCTOR_XF_Repository_PermissionCombination|required=2|total=2\nMETHOD_XF_Repository_PermissionCombination=getPermissionCombinationForUser|static=false|required=1|total=2\nMETHOD_XF_Repository_PermissionCombination=getPermissionCombinationOrPlaceholder|static=false|required=1|total=2\nMETHOD_XF_Repository_PermissionCombination=updatePermissionCombinationForUser|static=false|required=1|total=2\nMETHOD_XF_Repository_PermissionCombination=hasUserSpecificPermissions|static=false|required=1|total=1\nMETHOD_XF_Repository_PermissionCombination=getPermissionCombinationsForUserGroup|static=false|required=1|total=1\nMETHOD_XF_Repository_PermissionCombination=deleteUnusedPermissionCombinations|static=false|required=0|total=0\nCLASS_XF_Repository_Permission_EXISTS=true\nCTOR_XF_Repository_Permission|required=2|total=2\nMETHOD_XF_Repository_Permission=getGlobalPermissionListData|static=false|required=0|total=0\nMETHOD_XF_Repository_Permission=getContentPermissionListData|static=false|required=1|total=1\nMETHOD_XF_Repository_Permission=findPermissionsForList|static=false|required=0|total=0\nMETHOD_XF_Repository_Permission=getPermissionsGrouped|static=false|required=0|total=0\nMETHOD_XF_Repository_Permission=getPermissionHandlers|static=false|required=0|total=0\nMETHOD_XF_Repository_Permission=getPermissionHandler|static=false|required=1|total=1\nCLASS_XF_Entity_PermissionEntry_EXISTS=true\nCTOR_XF_Entity_PermissionEntry|required=2|total=4\nMETHOD_XF_Entity_PermissionEntry=setAsSaved|static=false|required=2|total=2\nMETHOD_XF_Entity_PermissionEntry=clearCache|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntry=setOption|static=false|required=2|total=2\nMETHOD_XF_Entity_PermissionEntry=setOptions|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntry=resetOption|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntry=whenSaveable|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntry=addCascadedSave|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntry=removeCascadedSave|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntry=save|static=false|required=0|total=2\nMETHOD_XF_Entity_PermissionEntry=saveIfChanged|static=false|required=0|total=3\nMETHOD_XF_Entity_PermissionEntry=preSave|static=false|required=0|total=0\nCLASS_XF_Entity_PermissionEntryContent_EXISTS=true\nCTOR_XF_Entity_PermissionEntryContent|required=2|total=4\nMETHOD_XF_Entity_PermissionEntryContent=setAsSaved|static=false|required=2|total=2\nMETHOD_XF_Entity_PermissionEntryContent=clearCache|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntryContent=setOption|static=false|required=2|total=2\nMETHOD_XF_Entity_PermissionEntryContent=setOptions|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntryContent=resetOption|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntryContent=whenSaveable|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntryContent=addCascadedSave|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntryContent=removeCascadedSave|static=false|required=1|total=1\nMETHOD_XF_Entity_PermissionEntryContent=save|static=false|required=0|total=2\nMETHOD_XF_Entity_PermissionEntryContent=saveIfChanged|static=false|required=0|total=3\nMETHOD_XF_Entity_PermissionEntryContent=preSave|static=false|required=0|total=0\n
REFLECTION_OUTPUT_END
PERMISSION_STATE_PROBE_OK=true
TASK_COMPLETE=true
TASK_RESULT=PASS_PVEPRO_PERMISSION_PROBE_RCA
NO_MUTATION=true\nGUEST_OUTPUT_END
PERMISSION_PROBE_RCA_CLEAN=true
TASK_COMPLETE=true
TASK_RESULT=PASS_PVEPRO_PERMISSION_PROBE_RCA
NO_MUTATION=true
HOMELAB_RESULT_CONTRACT={"version":1,"command_id":"SUPPORT-260920-PVEPRO-PERMISSION-PROBE-RCA-READONLY-716R5","status":"OK","changes_made":false,"rollback_started":false,"rollback_restored":null}

OUTPUT_END
CHAT_OUTPUT_END
