diff --git a/runtime/history/CONTEXT-AUTO-20260909T081701Z.json b/runtime/history/CONTEXT-AUTO-20260909T081701Z.json new file mode 100644 index 00000000..36bbdd4b --- /dev/null +++ b/runtime/history/CONTEXT-AUTO-20260909T081701Z.json @@ -0,0 +1 @@ +{"schema_version":1,"channel":"homelab-runtime","command_id":"CONTEXT-AUTO-20260909T081701Z","status":"OK","rc":0,"host":"pve01","mode":"read-only","component":"cluster-context","started_at_utc":"2026-09-09T08:17:01Z","finished_at_utc":"2026-09-09T08:17:02Z","reference_register_checked":true,"reference_sha256":"5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66","error_register_checked":true,"error_register_sha256":"3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0","changes_made":false,"sanitized":true,"secrets_included":false,"private_addresses_included":false,"output":"AUTOMATIC_CLUSTER_CONTEXT_REFRESH=OK"} diff --git a/runtime/history/CONTEXT-AUTO-20260909T081701Z.txt b/runtime/history/CONTEXT-AUTO-20260909T081701Z.txt new file mode 100644 index 00000000..9bc7ff6d --- /dev/null +++ b/runtime/history/CONTEXT-AUTO-20260909T081701Z.txt @@ -0,0 +1,162 @@ +CHAT_OUTPUT_BEGIN +COMMAND_ID=CONTEXT-AUTO-[PRIVATE_IP]701Z +STATUS=OK +RC=0 +HOST=pve01 +COMPONENT=cluster-context +REFERENCE_SHA[PRIVATE_IP]e5154c41cb[PRIVATE_IP]aca68090be[PRIVATE_IP]bf[PRIVATE_IP]df[PRIVATE_IP] +ERROR_REGISTER_SHA[PRIVATE_IP]ec0f527ed3afeed[PRIVATE_IP]ee[PRIVATE_IP]bbfb[PRIVATE_IP]af4ba7ba0 +OUTPUT_BEGIN +GENERATED_AT_UTC=[PRIVATE_IP]T08:17:01Z +Cluster information +------------------- +Name: homelab +Config Version: 3 +Transport: knet +Secure auth: on + +Quorum information +------------------ +Date: Wed Sep [PRIVATE_IP] 2026 +Quorum provider: corosync_votequorum +Nodes: 3 +Node ID: [PRIVATE_IP] +Ring ID: 1.130 +Quorate: Yes + +Votequorum information +---------------------- +Expected votes: 3 +Highest expected: 3 +Total votes: 3 +Quorum: 2 +Flags: Quorate + +Membership information +---------------------- + Nodeid Votes Name +[PRIVATE_IP] [PRIVATE_IP].11 (local) +[PRIVATE_IP] [PRIVATE_IP].13 +[PRIVATE_IP] [PRIVATE_IP].12 + +Membership information +---------------------- + Nodeid Votes Name + 1 1 pve01 (local) + 2 1 pve03 + 3 1 pve02 +[{"cpu":[PRIVATE_IP]829535,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/110","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":110},{"cpu":[PRIVATE_IP]275364,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/111","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":111},{"cpu":[PRIVATE_IP][PRIVATE_IP],"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/112","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":112},{"cpu":0,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/113","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":113},{"cpu":[PRIVATE_IP]37595,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"edge-vm","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":130},{"cpu":[PRIVATE_IP]49551,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/150","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"snikket","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":150},{"cpu":[PRIVATE_IP]926432,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/160","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"forum-prod","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":160},{"cpu":[PRIVATE_IP]32748,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/170","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"core-apps","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":170},{"cpu":[PRIVATE_IP]71782,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/171","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"monitoring","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":171},{"cpu":[PRIVATE_IP]018107,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/190","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"homelab-ops-worker","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":190},{"cpu":[PRIVATE_IP]49551,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/210","maxcpu":2,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"newfi-prod","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":206364,"vmid":210},{"cpu":[PRIVATE_IP]018107,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/211","maxcpu":2,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"newfi-staging","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":402291,"vmid":211},{"cpu":0,"disk":0,"diskread":0,"diskwrite":0,"id":"qemu/9130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":0,"memhost":0,"name":"edge-cold-standby","netin":0,"netout":0,"node":"pve02","status":"stopped","template":0,"type":"qemu","uptime":0,"vmid":9130},{"cgroup-mode":2,"cpu":[PRIVATE_IP]35986,"disk":[PRIVATE_IP],"id":"node/pve02","level":"","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve02","status":"online","type":"node","uptime":[PRIVATE_IP]},{"cgroup-mode":2,"cpu":[PRIVATE_IP]98354,"disk":[PRIVATE_IP],"id":"node/pve01","level":"","maxcpu":24,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve01","status":"online","type":"node","uptime":[PRIVATE_IP]},{"cgroup-mode":2,"cpu":[PRIVATE_IP]23482,"disk":[PRIVATE_IP],"id":"node/pve03","level":"","maxcpu":8,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve03","status":"online","type":"node","uptime":[PRIVATE_IP]},{"content":"backup,vztmpl,iso,import","disk":[PRIVATE_IP],"id":"storage/pve02/local","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"backup,vztmpl,iso,import","disk":[PRIVATE_IP],"id":"storage/pve01/local","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"backup,vztmpl,iso,import","disk":[PRIVATE_IP],"id":"storage/pve03/local","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve02/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve01/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve03/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"id":"network/pve02/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve02","status":"ok","type":"network"},{"id":"network/pve01/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve01","status":"ok","type":"network"},{"id":"network/pve03/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve03","status":"ok","type":"network"}] +Name Type Status Total (KiB) Used (KiB) Available (KiB) % +local dir active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 20.55% +local-lvm lvmthin active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 9.50% + UNIT LOAD ACTIVE SUB DESCRIPTION +● homelab-backup-retention-gc.service loaded failed failed Homelab owner-aware cloud retention GC + +Legend: LOAD → Reflects whether the unit definition was properly loaded. + ACTIVE → The high-level unit activation state, i.e. generalization of SUB. + SUB → The low-level unit activation state, values depend on unit type. + +1 loaded units listed. +NEXT LEFT LAST PASSED UNIT ACTIVATES +Wed [PRIVATE_IP] 11:17:12 MSK 9s Wed [PRIVATE_IP] 11:16:12 MSK 50s ago homelab-private-vpn-hosts-health.timer homelab-private-vpn-hosts-health.service +Wed [PRIVATE_IP] 11:17:59 MSK 56s Wed [PRIVATE_IP] 11:16:54 MSK 8s ago homelab-router-watchdog.timer homelab-router-watchdog.service +Wed [PRIVATE_IP] 11:18:54 MSK 1min 51s Wed [PRIVATE_IP] 11:03:54 MSK 13min ago homelab-pve03-staging-capacity-health.timer homelab-pve03-staging-capacity-health.service +Wed [PRIVATE_IP] 11:18:54 MSK 1min 51s Wed [PRIVATE_IP] 11:13:54 MSK 3min 8s ago homelab-smartctl-textfile.timer homelab-smartctl-textfile.service +Wed [PRIVATE_IP] 11:18:54 MSK 1min 51s Wed [PRIVATE_IP] 11:13:54 MSK 3min 8s ago netbird-peers-health.timer netbird-peers-health.service +Wed [PRIVATE_IP] 11:21:17 MSK 4min 15s Wed [PRIVATE_IP] 11:16:12 MSK 50s ago homelab-health-metrics.timer homelab-health-metrics.service +Wed [PRIVATE_IP] 11:21:54 MSK 4min 51s Wed [PRIVATE_IP] 11:11:54 MSK 5min ago skladchik-reports-monitor-supervisor.timer skladchik-reports-monitor-supervisor.service +Wed [PRIVATE_IP] 11:24:16 MSK 7min Wed [PRIVATE_IP] 11:09:16 MSK 7min ago prometheus-node-exporter-apt.timer prometheus-node-exporter-apt.service +Wed [PRIVATE_IP] 11:25:38 MSK 8min Wed [PRIVATE_IP] 11:10:38 MSK 6min ago prometheus-node-exporter-nvme.timer prometheus-node-exporter-nvme.service +Wed [PRIVATE_IP] 11:30:00 MSK 12min Wed [PRIVATE_IP] 09:30:08 MSK 1h 46min ago homelab-app-cloud-quorum-queue.timer homelab-app-cloud-quorum-queue.service +Wed [PRIVATE_IP] 11:30:00 MSK 12min Wed [PRIVATE_IP] 11:15:02 MSK 2min 0s ago homelab-incident-journal.timer homelab-incident-journal.service +Wed [PRIVATE_IP] 11:30:08 MSK 13min Wed [PRIVATE_IP] 11:15:08 MSK 1min 54s ago homelab-disk-space-health.timer homelab-disk-space-health.service +Wed [PRIVATE_IP] 11:30:33 MSK 13min Wed [PRIVATE_IP] 11:15:16 MSK 1min 46s ago homelab-external-probe-vps-health.timer homelab-external-probe-vps-health.service +Wed [PRIVATE_IP] 11:30:43 MSK 13min Wed [PRIVATE_IP] 11:16:12 MSK 50s ago homelab-duty-admin-v2.timer homelab-duty-admin-v2.service +Wed [PRIVATE_IP] 11:31:21 MSK 14min Wed [PRIVATE_IP] 11:03:32 MSK 13min ago homelab-mkdocs-auto-refresh.timer homelab-mkdocs-auto-refresh.service +Wed [PRIVATE_IP] 11:31:24 MSK 14min Wed [PRIVATE_IP] 11:15:32 MSK 1min 30s ago homelab-forum-snuffleupagus-health.timer homelab-forum-snuffleupagus-health.service +Wed [PRIVATE_IP] 11:33:10 MSK 16min Wed [PRIVATE_IP] 11:00:08 MSK 16min ago homelab-reference-refresh.timer homelab-reference-refresh.service +Wed [PRIVATE_IP] 11:36:15 MSK 19min Wed [PRIVATE_IP] 11:06:54 MSK 10min ago homelab-backup-audit.timer homelab-backup-audit.service +Wed [PRIVATE_IP] 12:06:34 MSK 49min Wed [PRIVATE_IP] 11:00:54 MSK 16min ago homelab-control-backup.timer homelab-control-backup.service +Wed [PRIVATE_IP] 12:29:55 MSK 1h 12min Wed [PRIVATE_IP] 06:20:16 MSK 4h 56min ago homelab-mailru-trash-gc.timer homelab-mailru-trash-gc.service +Wed [PRIVATE_IP] 12:34:54 MSK 1h 17min Wed [PRIVATE_IP] 08:34:34 MSK 2h 42min ago homelab-vm-cloud-quorum-queue.timer homelab-vm-cloud-quorum-queue.service +Wed [PRIVATE_IP] 15:18:28 MSK 4h 1min Tue [PRIVATE_IP] 19:13:19 MSK 16h ago apt-daily.timer apt-daily.service +Wed [PRIVATE_IP] 16:35:54 MSK 5h 18min Wed [PRIVATE_IP] 10:35:54 MSK 41min ago homelab-vps-identity-audit.timer homelab-vps-identity-audit.service +Wed [PRIVATE_IP] 16:47:32 MSK 5h 30min Tue [PRIVATE_IP] 16:47:32 MSK 18h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service +Wed [PRIVATE_IP] 17:13:10 MSK 5h 56min Wed [PRIVATE_IP] 11:06:00 MSK 11min ago homelab-evidence-root.timer homelab-evidence-root.service +Thu [PRIVATE_IP] 00:00:00 MSK 12h Wed [PRIVATE_IP] 00:00:07 MSK 11h ago dpkg-db-backup.timer dpkg-db-backup.service +Thu [PRIVATE_IP] 00:12:22 MSK 12h Wed [PRIVATE_IP] 00:41:12 MSK 10h ago logrotate.timer logrotate.service +Thu [PRIVATE_IP] 00:14:17 MSK 12h Wed [PRIVATE_IP] 00:08:54 MSK 11h ago homelab-storage-capacity.timer homelab-storage-capacity.service +Thu [PRIVATE_IP] 00:15:12 MSK 12h Wed [PRIVATE_IP] 00:11:32 MSK 11h ago homelab-evidence-catalog.timer homelab-evidence-catalog.service +Thu [PRIVATE_IP] 00:16:01 MSK 12h Wed [PRIVATE_IP] 00:06:07 MSK 11h ago homelab-docker-health.timer homelab-docker-health.service +Thu [PRIVATE_IP] 00:16:50 MSK 12h Wed [PRIVATE_IP] 00:14:16 MSK 11h ago homelab-quality-gate.timer homelab-quality-gate.service +Thu [PRIVATE_IP] 01:22:35 MSK 14h Wed [PRIVATE_IP] 05:22:58 MSK 5h 54min ago pve-daily-update.timer pve-daily-update.service +Thu [PRIVATE_IP] 03:21:39 MSK 16h Wed [PRIVATE_IP] 03:34:04 MSK 7h ago homelab-backup-retention-gc.timer homelab-backup-retention-gc.service +Thu [PRIVATE_IP] 05:54:58 MSK 18h Wed [PRIVATE_IP] 07:54:16 MSK 3h 22min ago man-db.timer man-db.service +Thu [PRIVATE_IP] 06:36:17 MSK 19h Wed [PRIVATE_IP] 06:54:42 MSK 4h 22min ago apt-daily-upgrade.timer apt-daily-upgrade.service +Thu [PRIVATE_IP] 07:01:18 MSK 19h Wed [PRIVATE_IP] 07:04:54 MSK 4h 12min ago homelab-drift-check.timer homelab-drift-check.service +Thu [PRIVATE_IP] 07:29:10 MSK 20h Wed [PRIVATE_IP] 07:35:42 MSK 3h 41min ago homelab-service-registry-check.timer homelab-service-registry-check.service +Thu [PRIVATE_IP] 07:44:09 MSK 20h Wed [PRIVATE_IP] 07:48:02 MSK 3h 29min ago homelab-runbook-generate.timer homelab-runbook-generate.service +Thu [PRIVATE_IP] 07:55:04 MSK 20h Wed [PRIVATE_IP] 07:51:32 MSK 3h 25min ago homelab-alerting-health.timer homelab-alerting-health.service +Thu [PRIVATE_IP] 07:56:50 MSK 20h Wed [PRIVATE_IP] 07:52:32 MSK 3h 24min ago homelab-dependency-map-check.timer homelab-dependency-map-check.service +Thu [PRIVATE_IP] 08:00:02 MSK 20h Wed [PRIVATE_IP] 07:55:16 MSK 3h 21min ago homelab-desired-state-sync.timer homelab-desired-state-sync.service +Thu [PRIVATE_IP] 08:01:45 MSK 20h Wed [PRIVATE_IP] 08:14:24 MSK 3h 2min ago homelab-overall-health.timer homelab-overall-health.service +Thu [PRIVATE_IP] 08:02:41 MSK 20h Wed [PRIVATE_IP] 08:05:54 MSK 3h 11min ago homelab-duty-admin-report.timer homelab-duty-admin-report.service +Thu [PRIVATE_IP] 08:13:09 MSK 20h Wed [PRIVATE_IP] 08:24:08 MSK 2h 52min ago homelab-final-readiness-gate.timer homelab-final-readiness-gate.service +Thu [PRIVATE_IP] 08:24:32 MSK 21h Wed [PRIVATE_IP] 08:12:08 MSK 3h 4min ago homelab-kuma-monitor-policy.timer homelab-kuma-monitor-policy.service +Thu [PRIVATE_IP] 08:31:30 MSK 21h Wed [PRIVATE_IP] 08:40:33 MSK 2h 36min ago homelab-secret-exposure-guard.timer homelab-secret-exposure-guard.service +Thu [PRIVATE_IP] 08:37:17 MSK 21h Wed [PRIVATE_IP] 08:27:54 MSK 2h 49min ago homelab-capacity-risk.timer homelab-capacity-risk.service +Thu [PRIVATE_IP] 08:38:48 MSK 21h Wed [PRIVATE_IP] 08:46:15 MSK 2h 30min ago homelab-cluster-passport.timer homelab-cluster-passport.service +Thu [PRIVATE_IP] 08:59:12 MSK 21h Wed [PRIVATE_IP] 08:55:16 MSK 2h 21min ago homelab-golden-state-index.timer homelab-golden-state-index.service +Thu [PRIVATE_IP] 10:15:00 MSK 22h Wed [PRIVATE_IP] 10:15:08 MSK 1h 1min ago skladchik-reports-monitor-monthly-selftest-watch.timer skladchik-reports-monitor-monthly-selftest-watch.service +Sun [PRIVATE_IP] 03:10:21 MSK 3 days Sun [PRIVATE_IP] 03:11:16 MSK 3 days ago e2scrub_all.timer e2scrub_all.service +Sun [PRIVATE_IP] 03:10:35 MSK 3 days Sun [PRIVATE_IP] 03:10:50 MSK 3 days ago xfs_scrub_all.timer xfs_scrub_all.service +Sun [PRIVATE_IP] 07:35:54 MSK 3 days Sun [PRIVATE_IP] 07:57:53 MSK 3 days ago homelab-rotating-boot-drill.timer homelab-rotating-boot-drill.service +Mon [PRIVATE_IP] 00:10:37 MSK 4 days Mon [PRIVATE_IP] 00:08:52 MSK 2 days ago homelab-secret-sanity.timer homelab-secret-sanity.service +Mon [PRIVATE_IP] 00:30:41 MSK 4 days Mon [PRIVATE_IP] 00:39:53 MSK 2 days ago fstrim.timer fstrim.service +- - - - prometheus-node-exporter-ipmitool-sensor.timer prometheus-node-exporter-ipmitool-sensor.service +- - - - prometheus-node-exporter-mellanox-hca-temp.timer prometheus-node-exporter-mellanox-hca-temp.service +- - - - prometheus-node-exporter-smartmon.timer prometheus-node-exporter-smartmon.service + +58 timers listed. +RUNTIME_MANIFEST_ID=df[PRIVATE_IP]ac9b5abd[PRIVATE_IP]b[PRIVATE_IP]d89496fb2bde[PRIVATE_IP] +EXPERIMENT_ID=5462ee[PRIVATE_IP]ebe[PRIVATE_IP]feb2ad[PRIVATE_IP]1ad87bbac0b8108 +COLLECTION_START_AT=[PRIVATE_IP]T[PRIVATE_IP]:00 +FIRST_COMPLETE_D1_CLOSE=[PRIVATE_IP]T[PRIVATE_IP]:00 +PRODUCTION_LAUNCH_ALLOWED=False +EXECUTION_AUTHORITY=False +RISK_AUTHORITY=False +STAGE_A_HEALTH=AWAITING_PRIMARY_FINALITY +FORENSIC_PREVIOUS_EPOCH_PRESERVED=YES + +## NEWFI_TASK6_AUTH_CHECKPOINT_V[PRIVATE_IP] +- Scope: historical accepted AUTH test, not a current SMTP connection test. +- Newfi approved SMTP account/sender: aleisaev@yandex.ru. +- Endpoint used by accepted test: smtp.yandex.ru:465 with certificate verification; single PLAIN initial response accepted with code 235. +- Evidence: incident ledger ### NEWFI_TASK6_YANDEX_AUTH_V2_OBSERVATION and ### NEWFI_TASK6_AUTH_PROOF_CLOSE_V1. +- No password file written, no application configuration changed, no mail sent by the accepted AUTH test. +- Persistent transport installation and application delivery are not proven by this checkpoint. Task6 is not complete. +- AUTH challenge and missing-file incidents closed; launch/session incident remains OPEN with original cause unproven. +- This update does not change VM211, VM160, routing, board state or Git. +- Other incidents and infrastructure health were not assessed. + + +## NEWFI_PRIVATE_STRUCTURE92_WRONG_MARKER_SCOPE_[PRIVATE_IP] CLOSURE +- Status: CLOSED +- RCA: NEWFI92 inspected the pve01 NEWFI90 attempt marker, which had not been finalized because the outer shell exited immediately after the guest returned RC3 following its successful rollback. The guest marker contained the true final rollback state. +- Correction: NEWFI93 required both the guest FINISHED/ROLLED_BACK record and a fresh exact demo-state readback before reconciling the outer NEWFI90 marker. NEWFI92 itself never reserved an attempt or mutated state. + + +## NEWFI_PRIVATE_NEWFI95_NESTED_TRIPLE_QUOTE_PARSE_[PRIVATE_IP] +- Status: OPEN +- Command: NEWFI95 +- Symptom: after the content-structure precheck passed, the pve03 Python wrapper failed to parse at the PHP line beginning with $root. No Portal discovery or application mutation was reached. +- RCA: an outer raw triple-single-quoted guest Python payload contained an inner raw triple-single-quoted PHP payload. The inner delimiter terminated the outer Python string, causing PHP source to be parsed as Python. +- Safety: NEWFI95 was read-only, created no attempt marker, and did not reach the intended nested guest execution. Do not replay NEWFI95. + + +## NEWFI_PRIVATE_NEWFI95_NESTED_TRIPLE_QUOTE_PARSE_[PRIVATE_IP] CLOSURE +- Status: CLOSED +- RCA: an inner triple-single-quoted PHP literal terminated the outer triple-single-quoted Python guest payload in NEWFI95. The wrapper therefore failed parsing before the intended Portal discovery executed. +- Correction: NEWFI96 removed the nested Python payload layer entirely and passed one Python program directly to VM211 through qm guest exec stdin. The read-only Portal contract completed with QGA exit 0 and the implementation worktree remained unchanged. +OUTPUT_END +CHAT_OUTPUT_END diff --git a/runtime/latest.json b/runtime/latest.json index aa9e21f7..36bbdd4b 100644 --- a/runtime/latest.json +++ b/runtime/latest.json @@ -1,38 +1 @@ -{ - "schema_version": 1, - "channel": "homelab-runtime", - "command_id": "SUPPORT-260909-GRAM-XF-NATIVE-SEMANTICS-037", - "status": "OK", - "rc": 0, - "host": "pve01", - "mode": "read-only", - "component": "gram-support-xenforo-native-integration-semantics-narrow", - "started_at_utc": "2026-09-09T08:09:06Z", - "finished_at_utc": "2026-09-09T08:09:11Z", - "reference_register_checked": true, - "reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66", - "error_register_checked": true, - "error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0", - "command_sha256": "f7151cd3d0195a1caf8d3c561c68d469562a5187f2f33ccef8dcee0974c235cf", - "duplicate_failed_command_blocked": false, - "block_reason": null, - "execution_started": true, - "change_declared": false, - "result_contract_valid": true, - "result_contract_status": null, - "result_contract_error": null, - "command_rc": 0, - "changes_made": false, - "rollback_started": false, - "rollback_restored": null, - "mutation_outcome": "NO_MUTATION", - "sanitized": true, - "secrets_included": false, - "private_addresses_included": false, - "raw_evidence_retained_locally": true, - "raw_evidence_sha256": "a2cf4b3c42bdd850539984ba27145149c38efce20018666d7bab9f293fa9f534", - "sanitized_output_sha256": "a2cf4b3c42bdd850539984ba27145149c38efce20018666d7bab9f293fa9f534", - "output_truncated_in_json": false, - "full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt", - "output": "ERROR_REGISTER_CHECK=OK\nREFERENCE_CHECK=OK\nAUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED\nRUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d\nSUPPORT037_NATIVE_SEMANTICS={\"state\":\"OK\",\"host\":\"forum-prod\",\"representatives\":[{\"label\":\"CORE_A_CODEVIPE\",\"root\":\"/var/www/forums/codevipe/public\",\"state\":\"OK\",\"core_sha256\":\"7647762531418ade80fb3fe97d0d1e6131718b08c8685af5471e7ab264069fbf\",\"category_candidates\":{\"attachment\":[{\"path\":\"src/XF/Entity/Attachment.php\",\"score\":103},{\"path\":\"src/XF/Repository/AttachmentRepository.php\",\"score\":103},{\"path\":\"src/XF/Service/Attachment/PreparerService.php\",\"score\":103},{\"path\":\"src/XF/Admin/Controller/AttachmentController.php\",\"score\":102}],\"alert\":[{\"path\":\"src/XF/Entity/UserAlert.php\",\"score\":202},{\"path\":\"src/XF/Entity/UserAlertOptOut.php\",\"score\":202},{\"path\":\"src/XF/Repository/UserAlertRepository.php\",\"score\":202},{\"path\":\"src/XF/Finder/UserAlertFinder.php\",\"score\":201}],\"captcha\":[{\"path\":\"src/XF/Admin/Controller/CaptchaQuestionController.php\",\"score\":101},{\"path\":\"src/XF/AdminSearch/CaptchaQuestionHandler.php\",\"score\":101},{\"path\":\"src/XF/Captcha/AbstractCaptcha.php\",\"score\":101},{\"path\":\"src/XF/Captcha/HCaptcha.php\",\"score\":101}],\"controller_request_csrf\":[{\"path\":\"src/XF/Admin/Controller/LoginController.php\",\"score\":104},{\"path\":\"src/XF/ControllerPlugin/LoginPlugin.php\",\"score\":104},{\"path\":\"src/XF/Mvc/Controller.php\",\"score\":104},{\"path\":\"src/XF/Pub/Controller/AccountController.php\",\"score\":104}],\"permission\":[{\"path\":\"src/XF/Entity/PermissionInterfaceGroup.php\",\"score\":102},{\"path\":\"src/XF/AddOn/DataType/AdminPermission.php\",\"score\":101},{\"path\":\"src/XF/AddOn/DataType/Permission.php\",\"score\":101},{\"path\":\"src/XF/AddOn/DataType/PermissionInterfaceGroup.php\",\"score\":101}],\"routing\":[{\"path\":\"src/XF/Mvc/Router.php\",\"score\":202},{\"path\":\"src/XF/Api/Mvc/Router.php\",\"score\":201},{\"path\":\"src/XF/Repository/RouteRepository.php\",\"score\":201},{\"path\":\"src/XF/Admin/Controller/RouteController.php\",\"score\":102}],\"mail\":[{\"path\":\"src/XF/BbCode/Renderer/EmailHtml.php\",\"score\":203},{\"path\":\"src/XF/Job/ActivitySummaryEmail.php\",\"score\":203},{\"path\":\"src/XF/Job/UserEmail.php\",\"score\":203},{\"path\":\"src/XF/Mail/Mailer.php\",\"score\":203}]},\"selected_file_count\":28,\"semantic_contract_sha256\":\"46ad0cb4ac85646846509ca64fc793adf96248e89c4a55d6dca7ad36d7a11c6e\",\"semantic_contract\":[{\"path\":\"src/XF/AddOn/DataType/AdminPermission.php\",\"state\":\"OK\",\"sha256\":\"b8b022417fc6d8abf403cc1704ddf57c0dc26986672db03240a82b7dfefbde12\",\"bytes\":1871,\"namespace\":\"XF\\\\AddOn\\\\DataType\",\"classes\":[{\"name\":\"AdminPermission\"}],\"methods\":[{\"name\":\"exportAddOnData\",\"semantics\":{\"object_calls\":[\"appendChild\",\"count\",\"createElement\",\"exportMappedAttributes\",\"fetch\",\"finder\",\"getChildTag\",\"order\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"ownerDocument\"]}},{\"name\":\"importAddOnData\",\"semantics\":{\"object_calls\":[\"create\",\"findByIds\",\"getBehavior\",\"getEntries\",\"importMappedAttributes\",\"pluckXmlAttribute\",\"resume\",\"save\",\"setOption\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"addon_id\"]}},{\"name\":\"deleteOrphanedAddOnData\",\"semantics\":{\"object_calls\":[\"deleteOrphanedSimple\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/AddOn/DataType/Permission.php\",\"state\":\"OK\",\"sha256\":\"8d6b8657e8585eb8da7f1401df882e0033f93e07179ce4df398b95d22d74c477\",\"bytes\":3455,\"namespace\":\"XF\\\\AddOn\\\\DataType\",\"classes\":[{\"name\":\"Permission\"}],\"methods\":[{\"name\":\"exportAddOnData\",\"semantics\":{\"object_calls\":[\"appendChild\",\"count\",\"createElement\",\"exportMappedAttributes\",\"fetch\",\"finder\",\"getChildTag\",\"order\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"ownerDocument\"]}},{\"name\":\"importAddOnData\",\"semantics\":{\"object_calls\":[\"create\",\"fetch\",\"finder\",\"getBehavior\",\"getEntries\",\"groupBy\",\"importMappedAttributes\",\"resume\",\"save\",\"setOption\",\"whereOr\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"addon_id\"]}},{\"name\":\"deleteOrphanedAddOnData\",\"semantics\":{\"object_calls\":[\"delete\",\"fetch\",\"findAllForType\",\"getBehavior\",\"getEntries\",\"getSimpleAttributes\",\"groupBy\",\"setOption\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"rebuildActiveChange\",\"semantics\":{\"object_calls\":[\"finder\",\"total\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"addon_id\"]}}]},{\"path\":\"src/XF/AddOn/DataType/PermissionInterfaceGroup.php\",\"state\":\"OK\",\"sha256\":\"b2b1397ba1dc3174f680ebe4796a88904aa577db969177485d56cd7568c1f8d6\",\"bytes\":2079,\"namespace\":\"XF\\\\AddOn\\\\DataType\",\"classes\":[{\"name\":\"PermissionInterfaceGroup\"}],\"methods\":[{\"name\":\"exportAddOnData\",\"semantics\":{\"object_calls\":[\"appendChild\",\"count\",\"createElement\",\"exportMappedAttributes\",\"fetch\",\"finder\",\"getChildTag\",\"order\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"ownerDocument\"]}},{\"name\":\"importAddOnData\",\"semantics\":{\"object_calls\":[\"create\",\"findByIds\",\"getBehavior\",\"getEntries\",\"importMappedAttributes\",\"pluckXmlAttribute\",\"resume\",\"save\",\"setOption\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"addon_id\"]}},{\"name\":\"deleteOrphanedAddOnData\",\"semantics\":{\"object_calls\":[\"deleteOrphanedSimple\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"deleteEntity\",\"semantics\":{\"object_calls\":[\"setOption\"],\"static_calls\":[\"deleteEntity\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Admin/Controller/AttachmentController.php\",\"state\":\"OK\",\"sha256\":\"ee0f8736c2bac5903640c526331a68b769a1a8f94da6b60cddfab639202533e4\",\"bytes\":4917,\"namespace\":\"XF\\\\Admin\\\\Controller\",\"classes\":[{\"name\":\"AttachmentController\"}],\"methods\":[{\"name\":\"count\",\"semantics\":{\"object_calls\":[\"assertAdminPermission\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"preDispatchController\",\"semantics\":{\"object_calls\":[\"assertAdminPermission\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionIndex\",\"semantics\":{\"object_calls\":[\"apply\",\"assertValidPage\",\"buildLink\",\"exists\",\"fetch\",\"filterPage\",\"getAttachmentHandlers\",\"getAttachmentRepo\",\"getDisplayValues\",\"getLinkParams\",\"isPost\",\"limitByPage\",\"redirect\",\"rerouteController\",\"setupAttachmentFilterer\",\"total\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:attachments\"],\"object_properties\":[\"attachment_id\",\"request\"]}},{\"name\":\"actionFilter\",\"semantics\":{\"object_calls\":[\"getAttachmentHandlers\",\"getAttachmentRepo\",\"getDatePresets\",\"getFiltersForForm\",\"setupAttachmentFilterer\",\"view\"],\"static_calls\":[\"language\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"setupAttachmentFilterer\",\"semantics\":{\"object_calls\":[\"addFilters\",\"filter\",\"filterer\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\"]}},{\"name\":\"actionDelete\",\"semantics\":{\"object_calls\":[\"buildLink\",\"delete\",\"em\",\"exception\",\"exists\",\"filter\",\"find\",\"isDataAvailable\",\"isPost\",\"notFound\",\"redirect\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:attachments\"],\"object_properties\":[\"Data\",\"attachment_id\",\"request\"]}},{\"name\":\"actionView\",\"semantics\":{\"object_calls\":[\"em\",\"error\",\"exception\",\"find\",\"getServer\",\"isDataAvailable\",\"notFound\",\"setResponseType\",\"view\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"attachment_id\",\"request\"]}},{\"name\":\"actionOptions\",\"semantics\":{\"object_calls\":[\"buildLink\",\"em\",\"find\",\"redirect\",\"redirectPermanently\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:options\",\"buildLink:options/groups\"],\"object_properties\":[]}},{\"name\":\"getAttachmentRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Admin/Controller/CaptchaQuestionController.php\",\"state\":\"OK\",\"sha256\":\"5429361a6524e5725fa224e168717d4d9ada67036658ed23150f7b843c6d3d19\",\"bytes\":3139,\"namespace\":\"XF\\\\Admin\\\\Controller\",\"classes\":[{\"name\":\"CaptchaQuestionController\"}],\"methods\":[{\"name\":\"preDispatchController\",\"semantics\":{\"object_calls\":[\"assertAdminPermission\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionIndex\",\"semantics\":{\"object_calls\":[\"fetch\",\"findCaptchaQuestionsForList\",\"getCaptchaQuestionRepo\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"questionAddEdit\",\"semantics\":{\"object_calls\":[\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionAdd\",\"semantics\":{\"object_calls\":[\"create\",\"em\",\"questionAddEdit\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionEdit\",\"semantics\":{\"object_calls\":[\"assertCaptchaQuestionExists\",\"questionAddEdit\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"questionSaveProcess\",\"semantics\":{\"object_calls\":[\"basicEntitySave\",\"filter\",\"formAction\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionSave\",\"semantics\":{\"object_calls\":[\"assertCaptchaQuestionExists\",\"assertPostOnly\",\"buildLink\",\"buildLinkHash\",\"create\",\"em\",\"questionSaveProcess\",\"redirect\",\"run\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:captcha-questions\"],\"object_properties\":[\"captcha_question_id\"]}},{\"name\":\"actionDelete\",\"semantics\":{\"object_calls\":[\"actionDelete\",\"assertCaptchaQuestionExists\",\"buildLink\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:captcha-questions\",\"buildLink:captcha-questions/delete\",\"buildLink:captcha-questions/edit\"],\"object_properties\":[\"question\"]}},{\"name\":\"actionToggle\",\"semantics\":{\"object_calls\":[\"actionToggle\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertCaptchaQuestionExists\",\"semantics\":{\"object_calls\":[\"assertRecordExists\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getCaptchaQuestionRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Admin/Controller/LoginController.php\",\"state\":\"OK\",\"sha256\":\"668a0b3bd2b56841c74ef8cee46e11c010f26e11a49d0369d150cfc75f9d6836\",\"bytes\":5505,\"namespace\":\"XF\\\\Admin\\\\Controller\",\"classes\":[{\"name\":\"LoginController\"}],\"methods\":[{\"name\":\"actionForm\",\"semantics\":{\"object_calls\":[\"buildLink\",\"getDynamicRedirectIfNot\",\"saveStateToSession\",\"service\",\"session\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:login\"],\"object_properties\":[]}},{\"name\":\"actionLogin\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"buildLink\",\"clearStateFromSession\",\"completeLogin\",\"error\",\"filter\",\"getDynamicRedirectIfNot\",\"getIp\",\"getPasskeyUser\",\"hasPermission\",\"isLoginLimited\",\"options\",\"plugin\",\"redirect\",\"request\",\"router\",\"service\",\"session\",\"triggerIfTfaConfirmationRequired\",\"validate\"],\"static_calls\":[\"config\",\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\",\"buildLink:login\",\"buildLink:login/two-step\"],\"object_properties\":[\"Option\",\"adminRequireTfa\",\"app\",\"is_admin\",\"request\",\"security_lock\",\"use_tfa\",\"user_id\"]}},{\"name\":\"actionTwoStep\",\"semantics\":{\"object_calls\":[\"buildLink\",\"completeLogin\",\"error\",\"getCookie\",\"getDynamicRedirectIfNot\",\"getError\",\"getFormParams\",\"getRedirect\",\"getResult\",\"getUser\",\"plugin\",\"redirect\",\"runTfaCheck\",\"view\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:login\"],\"object_properties\":[\"request\"]}},{\"name\":\"completeLogin\",\"semantics\":{\"object_calls\":[\"applyToResponse\",\"changeUser\",\"create\",\"em\",\"getIp\",\"logIp\",\"repository\",\"response\",\"save\",\"session\"],\"static_calls\":[\"installLockExists\",\"setVisitor\",\"writeInstallLock\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Admin\",\"app\",\"is_admin\",\"last_login\",\"passwordConfirm\",\"request\",\"user_id\"]}},{\"name\":\"actionLogout\",\"semantics\":{\"object_calls\":[\"assertValidCsrfToken\",\"buildLink\",\"filter\",\"logoutUser\",\"redirect\",\"session\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:index\"],\"object_properties\":[]}},{\"name\":\"actionPasswordConfirm\",\"semantics\":{\"object_calls\":[\"actionPasswordConfirm\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionKeepAlive\",\"semantics\":{\"object_calls\":[\"actionKeepAlive\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"checkCsrfIfNeeded\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"checkCsrfIfNeeded\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Admin/Controller/RouteController.php\",\"state\":\"OK\",\"sha256\":\"cef102adaf29b61413d94e60bd3004c394e44c6392f8eb3f44f409a67b5cd8b5\",\"bytes\":3277,\"namespace\":\"XF\\\\Admin\\\\Controller\",\"classes\":[{\"name\":\"RouteController\"}],\"methods\":[{\"name\":\"count\",\"semantics\":{\"object_calls\":[\"assertDevelopmentMode\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"preDispatchController\",\"semantics\":{\"object_calls\":[\"assertDevelopmentMode\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionIndex\",\"semantics\":{\"object_calls\":[\"fetch\",\"filter\",\"findRoutesForList\",\"getRouteRepo\",\"getRouteTypes\",\"groupBy\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routeAddEdit\",\"semantics\":{\"object_calls\":[\"getRouteRepo\",\"getRouteTypes\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionEdit\",\"semantics\":{\"object_calls\":[\"assertRouteExists\",\"routeAddEdit\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionAdd\",\"semantics\":{\"object_calls\":[\"create\",\"em\",\"filter\",\"routeAddEdit\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"route_type\"]}},{\"name\":\"routeSaveProcess\",\"semantics\":{\"object_calls\":[\"basicEntitySave\",\"filter\",\"formAction\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionSave\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"assertRouteExists\",\"buildLink\",\"buildLinkHash\",\"create\",\"em\",\"redirect\",\"routeSaveProcess\",\"run\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:routes\"],\"object_properties\":[\"route_id\",\"route_type\"]}},{\"name\":\"actionDelete\",\"semantics\":{\"object_calls\":[\"actionDelete\",\"assertRouteExists\",\"buildLink\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:routes\",\"buildLink:routes/delete\",\"buildLink:routes/edit\"],\"object_properties\":[\"route_id\",\"unique_name\"]}},{\"name\":\"assertRouteExists\",\"semantics\":{\"object_calls\":[\"assertRecordExists\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getRouteRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/AdminSearch/CaptchaQuestionHandler.php\",\"state\":\"OK\",\"sha256\":\"352ac6e7455ca73923a4fca72d4346d1d71f05a9c539dbd5d8f66a19a5aa6314\",\"bytes\":436,\"namespace\":\"XF\\\\AdminSearch\",\"classes\":[{\"name\":\"CaptchaQuestionHandler\"}],\"methods\":[{\"name\":\"isSearchable\",\"semantics\":{\"object_calls\":[\"hasAdminPermission\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Api/Mvc/Router.php\",\"state\":\"OK\",\"sha256\":\"d0b803755b157a5a5b9b11681a3df3377f3815622623dbd60209ef1a802161f9\",\"bytes\":2998,\"namespace\":\"XF\\\\Api\\\\Mvc\",\"classes\":[{\"name\":\"Router\"}],\"methods\":[{\"name\":\"intval\",\"semantics\":{\"object_calls\":[\"setPathRewrite\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routePreProcessApiPrefix\",\"semantics\":{\"object_calls\":[\"setPathRewrite\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routePreProcessApiVersion\",\"semantics\":{\"object_calls\":[\"setPathRewrite\",\"setVersion\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routePreProcessApiResponseType\",\"semantics\":{\"object_calls\":[\"setResponseType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routeToController\",\"semantics\":{\"object_calls\":[\"getAction\",\"getRequestMethod\",\"setAction\",\"setController\",\"setRequestMethod\"],\"static_calls\":[\"routeToController\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"manipulateLinkPathInternal\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routes\"]}},{\"name\":\"getNewRouteMatch\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"RouteMatch\"],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/BbCode/Renderer/EmailHtml.php\",\"state\":\"OK\",\"sha256\":\"5d52678f7eec1e3ffb1f57f1c32338d4634a65aae61beafc62f60cf3159c7526\",\"bytes\":2759,\"namespace\":\"XF\\\\BbCode\\\\Renderer\",\"classes\":[{\"name\":\"EmailHtml\"}],\"methods\":[{\"name\":\"getDefaultOptions\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"getDefaultOptions\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getCustomTagConfig\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"getCustomTagConfig\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getRenderedImg\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"getRenderedAttachment\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"renderTagInlineCode\",\"semantics\":{\"object_calls\":[\"renderSubTree\",\"wrapHtml\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getRenderedCode\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[\"PreEscaped\"],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"getRenderedQuote\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[\"PreEscaped\"],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"getRenderedSpoiler\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[\"PreEscaped\"],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"getRenderedInlineSpoiler\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[\"PreEscaped\"],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"renderTagMedia\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"mediaSites\",\"templater\"]}},{\"name\":\"getRenderedUnfurl\",\"semantics\":{\"object_calls\":[\"getRenderedLink\",\"prepareTextFromUrlExtended\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"factory\",\"semantics\":{\"object_calls\":[\"setTemplater\"],\"static_calls\":[\"factory\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Captcha/AbstractCaptcha.php\",\"state\":\"OK\",\"sha256\":\"3b7c2cc28486204a2bde66e9dc6628e303b90a9042e318dbe77532366d27b817\",\"bytes\":2418,\"namespace\":\"XF\\\\Captcha\",\"classes\":[{\"name\":\"AbstractCaptcha\"}],\"methods\":[{\"name\":\"is_array\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"__construct\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"render\",\"semantics\":{\"object_calls\":[\"renderInternal\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"_rendered\"]}},{\"name\":\"setForceVisible\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"forceVisible\"]}},{\"name\":\"setContext\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"context\"]}},{\"name\":\"setResponse\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"captcha_data\",\"captcha_date\",\"captcha_type\",\"response\"]}},{\"name\":\"getResponse\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"response\"]}}]},{\"path\":\"src/XF/Captcha/HCaptcha.php\",\"state\":\"OK\",\"sha256\":\"b051fe79db3d1b5dd93bef67c9e3e7cfe7598124cf49339ca016fd0b6c21e14a\",\"bytes\":3770,\"namespace\":\"XF\\\\Captcha\",\"classes\":[{\"name\":\"HCaptcha\"}],\"methods\":[{\"name\":\"is_array\",\"semantics\":{\"object_calls\":[\"options\"],\"static_calls\":[\"__construct\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"extraCaptchaKeys\",\"invisibleMode\",\"secretKey\",\"siteKey\"]}},{\"name\":\"__construct\",\"semantics\":{\"object_calls\":[\"options\"],\"static_calls\":[\"__construct\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"extraCaptchaKeys\",\"invisibleMode\",\"secretKey\",\"siteKey\"]}},{\"name\":\"renderInternal\",\"semantics\":{\"object_calls\":[\"isLocalDomain\",\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"forceVisible\",\"invisibleMode\",\"siteKey\"]}},{\"name\":\"isValid\",\"semantics\":{\"object_calls\":[\"client\",\"filter\",\"getBody\",\"getContents\",\"getIp\",\"http\",\"isLocalDomain\",\"post\",\"request\",\"setResponse\"],\"static_calls\":[\"jsonDecode\",\"logError\",\"logException\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"secretKey\",\"siteKey\"]}},{\"name\":\"isLocalDomain\",\"semantics\":{\"object_calls\":[\"options\"],\"static_calls\":[\"hasPrivateUseTld\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"boardUrl\"]}},{\"name\":\"getPrivacyPolicy\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/ControllerPlugin/LoginPlugin.php\",\"state\":\"OK\",\"sha256\":\"a0a71dd941792dd20794a08040d053e07579e9fd0bd57a8bbf7c682c62c6de7d\",\"bytes\":10753,\"namespace\":\"XF\\\\ControllerPlugin\",\"classes\":[{\"name\":\"LoginPlugin\"}],\"methods\":[{\"name\":\"in_array\",\"semantics\":{\"object_calls\":[\"getCurrentTrustKey\",\"isUserTfaConfirmationRequired\",\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"isTfaConfirmationRequired\",\"semantics\":{\"object_calls\":[\"getCurrentTrustKey\",\"isUserTfaConfirmationRequired\",\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getCurrentTrustKey\",\"semantics\":{\"object_calls\":[\"getCookie\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"getTfaLoginUserId\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"session\",\"tfaLoginDate\",\"tfaLoginUserId\",\"user_id\"]}},{\"name\":\"getTfaLoginUser\",\"semantics\":{\"object_calls\":[\"find\",\"getTfaLoginUserId\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"em\"]}},{\"name\":\"setTfaSessionCheck\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"session\",\"tfaLoginDate\",\"tfaLoginUserId\",\"user_id\"]}},{\"name\":\"clearTfaSessionCheck\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"session\",\"tfaLoginDate\",\"tfaLoginUserId\"]}},{\"name\":\"triggerIfTfaConfirmationRequired\",\"semantics\":{\"object_calls\":[\"exception\",\"isTfaConfirmationRequired\",\"redirect\",\"setTfaSessionCheck\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"runTfaCheck\",\"semantics\":{\"object_calls\":[\"clearTfaSessionCheck\",\"filter\",\"getIp\",\"getProviders\",\"getTfaLoginUser\",\"hasTooManyTfaAttempts\",\"isPost\",\"isProviderValid\",\"isTfaAvailable\",\"logIp\",\"repository\",\"service\",\"setDeviceTrusted\",\"trigger\",\"verify\"],\"static_calls\":[\"newError\",\"newForm\",\"newSkipped\",\"newSuccess\",\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"provider_id\",\"request\",\"user_id\"]}},{\"name\":\"setDeviceTrusted\",\"semantics\":{\"object_calls\":[\"createTrustedKey\",\"repository\",\"response\",\"setCookie\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"completeLogin\",\"semantics\":{\"object_calls\":[\"associateActionWithUser\",\"changeUser\",\"clearUserActivity\",\"completeUserActionIfPossible\",\"createVisitorRememberKey\",\"getContentUrl\",\"getIp\",\"logIp\",\"options\",\"repository\"],\"static_calls\":[\"setVisitor\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"preRegAction\",\"preRegActionKey\",\"preRegContentUrl\",\"request\",\"session\",\"user_id\"]}},{\"name\":\"actionPasswordConfirm\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"buildLink\",\"error\",\"filter\",\"getDynamicRedirectIfNot\",\"getIp\",\"isLoginLimited\",\"redirect\",\"service\",\"session\",\"validate\",\"validatePasskeyConfirm\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:login\"],\"object_properties\":[\"controller\",\"passwordConfirm\",\"request\",\"user_id\",\"username\"]}},{\"name\":\"validatePasskeyConfirm\",\"semantics\":{\"object_calls\":[\"clearFailedAttempts\",\"clearStateFromSession\",\"getIp\",\"getPasskeyUser\",\"hasTooManyLoginAttempts\",\"isLoginLimited\",\"service\",\"session\",\"validate\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"user_id\"]}},{\"name\":\"actionKeepAlive\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"assertValidCsrfToken\",\"getCookie\",\"setJsonParams\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"controller\",\"request\",\"user_id\"]}},{\"name\":\"createVisitorRememberKey\",\"semantics\":{\"object_calls\":[\"createRememberRecord\",\"getCookieValue\",\"repository\",\"response\",\"setCookie\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"user_id\"]}},{\"name\":\"logoutVisitor\",\"semantics\":{\"object_calls\":[\"clearCookies\",\"clearSiteData\",\"config\",\"deleteVisitorRememberRecord\",\"lastActivityUpdate\",\"logoutUser\"],\"static_calls\":[\"app\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"session\"]}},{\"name\":\"lastActivityUpdate\",\"semantics\":{\"object_calls\":[\"delete\",\"save\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Activity\",\"last_activity\",\"user_id\",\"view_date\"]}},{\"name\":\"deleteVisitorRememberRecord\",\"semantics\":{\"object_calls\":[\"delete\",\"response\",\"setCookie\",\"validateVisitorRememberKey\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"validateVisitorRememberKey\",\"semantics\":{\"object_calls\":[\"getCookie\",\"repository\",\"validateByCookieValue\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"clearCookies\",\"semantics\":{\"object_calls\":[\"clearCookieSkipList\",\"getCookies\",\"response\",\"setCookie\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\"]}},{\"name\":\"clearSiteData\",\"semantics\":{\"object_calls\":[\"header\",\"response\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"handleVisitorPasswordChange\",\"semantics\":{\"object_calls\":[\"changeUser\",\"clearUserRememberRecords\",\"createVisitorRememberKey\",\"repository\",\"validateVisitorRememberKey\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"session\",\"user_id\"]}}]},{\"path\":\"src/XF/Entity/Attachment.php\",\"state\":\"OK\",\"sha256\":\"d34eb4ef05d97b64c64c3c9beb7a4f9eb39710a999530687fbb46b9b260f36f2\",\"bytes\":11464,\"namespace\":\"XF\\\\Entity\",\"classes\":[{\"name\":\"Attachment\"}],\"methods\":[{\"name\":\"canView\",\"semantics\":{\"object_calls\":[\"canView\",\"getAttachmentHandler\",\"getContainerEntity\",\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\",\"content_type\",\"temp_hash\"]}},{\"name\":\"getFilename\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"filename\"]}},{\"name\":\"getExtension\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"extension\"]}},{\"name\":\"getFileSize\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"file_size\"]}},{\"name\":\"getIcon\",\"semantics\":{\"object_calls\":[\"app\",\"data\",\"getExtension\",\"getIcon\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getIconName\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"icon\"]}},{\"name\":\"hasThumbnail\",\"semantics\":{\"object_calls\":[\"hasThumbnail\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"hasRetinaThumbnail\",\"semantics\":{\"object_calls\":[\"hasRetinaThumbnail\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getWidth\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"width\"]}},{\"name\":\"getHeight\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"height\"]}},{\"name\":\"getThumbnailWidth\",\"semantics\":{\"object_calls\":[\"hasThumbnail\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"thumbnail_width\"]}},{\"name\":\"getThumbnailHeight\",\"semantics\":{\"object_calls\":[\"hasThumbnail\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"thumbnail_height\"]}},{\"name\":\"getThumbnailUrl\",\"semantics\":{\"object_calls\":[\"getThumbnailUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getRetinaThumbnailUrl\",\"semantics\":{\"object_calls\":[\"getRetinaThumbnailUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getThumbnailUrlFull\",\"semantics\":{\"object_calls\":[\"getThumbnailUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getRetinaThumbnailUrlFull\",\"semantics\":{\"object_calls\":[\"getRetinaThumbnailUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"isVideo\",\"semantics\":{\"object_calls\":[\"isVideo\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"isAudio\",\"semantics\":{\"object_calls\":[\"isAudio\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getTypeGrouping\",\"semantics\":{\"object_calls\":[\"getTypeGrouping\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getDirectUrl\",\"semantics\":{\"object_calls\":[\"app\",\"buildLink\",\"canView\",\"getPublicUrl\",\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"temp_hash\"]}},{\"name\":\"getContainerLink\",\"semantics\":{\"object_calls\":[\"getContainerLink\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Container\",\"handler\"]}},{\"name\":\"getContainerTitle\",\"semantics\":{\"object_calls\":[\"getContainerTitle\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Container\",\"handler\"]}},{\"name\":\"getContentTypePhrase\",\"semantics\":{\"object_calls\":[\"getContentTypePhrase\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"handler\"]}},{\"name\":\"getHandler\",\"semantics\":{\"object_calls\":[\"getAttachmentHandler\",\"getAttachmentRepo\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_type\"]}},{\"name\":\"getContainer\",\"semantics\":{\"object_calls\":[\"getContainerEntity\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\",\"handler\"]}},{\"name\":\"setContainer\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"_getterCache\"]}},{\"name\":\"createDuplicate\",\"semantics\":{\"object_calls\":[\"create\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"_em\",\"attach_date\",\"data_id\",\"temp_hash\",\"unassociated\"]}},{\"name\":\"_preSave\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"\\\\LogicException\"],\"factory_literals\":[],\"object_properties\":[\"_errors\",\"content_id\",\"temp_hash\",\"unassociated\"]}},{\"name\":\"_postSave\",\"semantics\":{\"object_calls\":[\"fastUpdate\",\"isInsert\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"attach_count\"]}},{\"name\":\"_preDelete\",\"semantics\":{\"object_calls\":[\"beforeAttachmentDelete\",\"getAttachmentHandler\",\"getContainerEntity\",\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\",\"content_type\"]}},{\"name\":\"_postDelete\",\"semantics\":{\"object_calls\":[\"fastUpdate\",\"getAttachmentHandler\",\"getContainerEntity\",\"onAttachmentDelete\",\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"attach_count\",\"content_id\",\"content_type\"]}},{\"name\":\"setupApiResultData\",\"semantics\":{\"object_calls\":[\"getDirectUrl\",\"getRetinaThumbnailUrl\",\"getThumbnailUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"direct_url\",\"file_size\",\"filename\",\"has_retina_thumbnail\",\"has_thumbnail\",\"height\",\"is_audio\",\"is_video\",\"retina_thumbnail_url\",\"thumbnail_url\",\"width\"]}},{\"name\":\"getStructure\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"columns\",\"defaultWith\",\"getters\",\"primaryKey\",\"relations\",\"shortName\",\"table\",\"withAliases\"]}},{\"name\":\"getAttachmentRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Entity/PermissionInterfaceGroup.php\",\"state\":\"OK\",\"sha256\":\"e3c3342f3240cfb241eb7682d70e29db47b4e0614afbca9b8a7e08737ad30696\",\"bytes\":4570,\"namespace\":\"XF\\\\Entity\",\"classes\":[{\"name\":\"PermissionInterfaceGroup\"}],\"methods\":[{\"name\":\"getTitle\",\"semantics\":{\"object_calls\":[\"getPhraseName\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getPhraseName\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"interface_group_id\"]}},{\"name\":\"getMasterPhrase\",\"semantics\":{\"object_calls\":[\"_getDeferredValue\",\"create\",\"getPhraseName\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"MasterTitle\",\"_em\",\"addon_id\",\"language_id\",\"title\"]}},{\"name\":\"_postSave\",\"semantics\":{\"object_calls\":[\"fetch\",\"finder\",\"getBehavior\",\"getExistingRelation\",\"getExistingValue\",\"getOption\",\"getPhraseName\",\"isChanged\",\"isUpdate\",\"save\",\"setOption\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"addon_id\",\"interface_group_id\",\"title\"]}},{\"name\":\"_preDelete\",\"semantics\":{\"object_calls\":[\"db\",\"error\",\"fetchOne\",\"getOption\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"interface_group_id\"]}},{\"name\":\"_postDelete\",\"semantics\":{\"object_calls\":[\"db\",\"delete\",\"getBehavior\",\"getOption\",\"setOption\",\"update\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"MasterTitle\",\"interface_group_id\"]}},{\"name\":\"_setupDefaults\",\"semantics\":{\"object_calls\":[\"getDefaultAddOnId\",\"getRepository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"_em\",\"addon_id\"]}},{\"name\":\"getStructure\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"behaviors\",\"columns\",\"getters\",\"options\",\"primaryKey\",\"relations\",\"shortName\",\"table\"]}}]},{\"path\":\"src/XF/Entity/UserAlert.php\",\"state\":\"OK\",\"sha256\":\"a749d5470269ec4fa9cc9fe419b9e4446208d8914e905ce5d8442292494a5cd2\",\"bytes\":6367,\"namespace\":\"XF\\\\Entity\",\"classes\":[{\"name\":\"UserAlert\"}],\"methods\":[{\"name\":\"canView\",\"semantics\":{\"object_calls\":[\"canViewAlert\",\"canViewContent\",\"getHandler\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Content\"]}},{\"name\":\"getHandler\",\"semantics\":{\"object_calls\":[\"getAlertHandler\",\"getAlertRepo\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_type\"]}},{\"name\":\"getContent\",\"semantics\":{\"object_calls\":[\"getContent\",\"getHandler\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\"]}},{\"name\":\"setContent\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"_getterCache\"]}},{\"name\":\"render\",\"semantics\":{\"object_calls\":[\"getHandler\",\"render\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"isAlertRenderable\",\"semantics\":{\"object_calls\":[\"getHandler\",\"isAlertRenderable\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"isUnviewed\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"view_date\"]}},{\"name\":\"isUnread\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"read_date\"]}},{\"name\":\"isUnreadInUi\",\"semantics\":{\"object_calls\":[\"getOption\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"read_date\"]}},{\"name\":\"isRecentlyRead\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"read_date\"]}},{\"name\":\"_saveToSource\",\"semantics\":{\"object_calls\":[\"db\",\"isInsert\",\"query\"],\"static_calls\":[\"_saveToSource\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerted_user_id\"]}},{\"name\":\"_postSave\",\"semantics\":{\"object_calls\":[\"db\",\"isChanged\",\"isUpdate\",\"query\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerted_user_id\",\"read_date\",\"view_date\"]}},{\"name\":\"_postDelete\",\"semantics\":{\"object_calls\":[\"db\",\"query\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerted_user_id\",\"read_date\",\"view_date\"]}},{\"name\":\"setupApiResultData\",\"semantics\":{\"object_calls\":[\"getApiOutput\",\"getHandler\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alert_text\",\"alert_url\"]}},{\"name\":\"getStructure\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"columns\",\"getters\",\"options\",\"primaryKey\",\"relations\",\"shortName\",\"table\",\"withAliases\"]}},{\"name\":\"getAlertRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Entity/UserAlertOptOut.php\",\"state\":\"OK\",\"sha256\":\"53f976e8470c6694e4ad465617e1cf4435a562f15d19d9046a95b6a21432ea95\",\"bytes\":575,\"namespace\":\"XF\\\\Entity\",\"classes\":[{\"name\":\"UserAlertOptOut\"}],\"methods\":[{\"name\":\"getStructure\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"columns\",\"primaryKey\",\"shortName\",\"table\"]}}]},{\"path\":\"src/XF/Finder/UserAlertFinder.php\",\"state\":\"OK\",\"sha256\":\"35b133b40d6bb684dba4c3397724a1147f10aec3970d5f66a071106c6342892b\",\"bytes\":438,\"namespace\":\"XF\\\\Finder\",\"classes\":[{\"name\":\"UserAlertFinder\"}],\"methods\":[]},{\"path\":\"src/XF/Job/ActivitySummaryEmail.php\",\"state\":\"OK\",\"sha256\":\"62305a187ff6ef8e18552ba50e35fd5055a8e0a0ddd162e90350176d4281f25b\",\"bytes\":3879,\"namespace\":\"XF\\\\Job\",\"classes\":[{\"name\":\"ActivitySummaryEmail\"}],\"methods\":[{\"name\":\"count\",\"semantics\":{\"object_calls\":[\"canReceiveActivitySummaryEmail\",\"complete\",\"em\",\"fetch\",\"find\",\"finder\",\"generateAndSendEmail\",\"limitExceeded\",\"order\",\"preFetchSectionData\",\"resume\",\"whereIds\"],\"static_calls\":[],\"new_classes\":[\"Timer\"],\"factory_literals\":[],\"object_properties\":[\"app\",\"data\",\"sections\"]}},{\"name\":\"run\",\"semantics\":{\"object_calls\":[\"canReceiveActivitySummaryEmail\",\"complete\",\"em\",\"fetch\",\"find\",\"finder\",\"generateAndSendEmail\",\"limitExceeded\",\"order\",\"preFetchSectionData\",\"resume\",\"whereIds\"],\"static_calls\":[],\"new_classes\":[\"Timer\"],\"factory_literals\":[],\"object_properties\":[\"app\",\"data\",\"sections\"]}},{\"name\":\"preFetchSectionData\",\"semantics\":{\"object_calls\":[\"cacheDataIfNeeded\",\"getDataForJob\",\"setupDataFromJob\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"data\",\"handler\",\"sections\"]}},{\"name\":\"generateAndSendEmail\",\"semantics\":{\"object_calls\":[\"canSendActivitySummary\",\"fastUpdate\",\"generateEmailData\",\"getDisplayValues\",\"getRenderedSections\",\"mailer\",\"newMail\",\"send\",\"setTemplate\",\"setToUser\",\"userLanguage\"],\"static_calls\":[\"app\",\"language\",\"setLanguage\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"generateEmailData\",\"semantics\":{\"object_calls\":[\"addDisplayValue\",\"addDisplayValues\",\"addInstanceSpecificDisplayValues\",\"addRenderedSection\",\"getGlobalDisplayValues\",\"getTitle\",\"getTotal\",\"render\",\"repository\"],\"static_calls\":[],\"new_classes\":[\"Instance\"],\"factory_literals\":[],\"object_properties\":[\"app\",\"handler\",\"sections\",\"show_value\"]}},{\"name\":\"getStatusMessage\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"data\"]}}]},{\"path\":\"src/XF/Job/UserEmail.php\",\"state\":\"OK\",\"sha256\":\"df18ca0fec0a3b9583846e1decc1a8678c36000e2e18e8b86b4c766c6edbf488\",\"bytes\":3462,\"namespace\":\"XF\\\\Job\",\"classes\":[{\"name\":\"UserEmail\"}],\"methods\":[{\"name\":\"is_string\",\"semantics\":{\"object_calls\":[\"generateTextBody\",\"getMail\",\"mailer\",\"options\",\"prepareTokens\",\"renderPhrase\",\"replacePhrases\",\"send\",\"setFrom\",\"setTemplate\",\"userLanguage\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"boardTitle\",\"data\",\"defaultEmailAddress\",\"email\",\"emailSenderName\"]}},{\"name\":\"executeAction\",\"semantics\":{\"object_calls\":[\"generateTextBody\",\"getMail\",\"mailer\",\"options\",\"prepareTokens\",\"renderPhrase\",\"replacePhrases\",\"send\",\"setFrom\",\"setTemplate\",\"userLanguage\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"boardTitle\",\"data\",\"defaultEmailAddress\",\"email\",\"emailSenderName\"]}},{\"name\":\"getActionDescription\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"prepareTokens\",\"semantics\":{\"object_calls\":[\"buildLink\",\"router\"],\"static_calls\":[\"emailToUtf8\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:canonical:email-stop/all\",\"buildLink:canonical:email-stop/mailing-list\"],\"object_properties\":[\"app\",\"email\",\"user_id\",\"username\"]}},{\"name\":\"replacePhrases\",\"semantics\":{\"object_calls\":[\"replacePhrasePlaceholders\",\"stringFormatter\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"getMail\",\"semantics\":{\"object_calls\":[\"mailer\",\"newMail\",\"setToUser\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}}]},{\"path\":\"src/XF/Mail/Mailer.php\",\"state\":\"OK\",\"sha256\":\"0554377da027800d64a768b3cc84d7aa76f1f81af0d4f31d03e89df97bceaddf\",\"bytes\":13946,\"namespace\":\"XF\\\\Mail\",\"classes\":[{\"name\":\"Mailer\"}],\"methods\":[{\"name\":\"count\",\"semantics\":{\"object_calls\":[\"get\"],\"static_calls\":[\"options\",\"registry\"],\"new_classes\":[\"DkimSigner\"],\"factory_literals\":[\"get:emailDkimKey\"],\"object_properties\":[\"defaultTransport\",\"emailDkim\",\"queue\",\"signer\",\"styler\",\"templater\"]}},{\"name\":\"__construct\",\"semantics\":{\"object_calls\":[\"get\"],\"static_calls\":[\"options\",\"registry\"],\"new_classes\":[\"DkimSigner\"],\"factory_literals\":[\"get:emailDkimKey\"],\"object_properties\":[\"defaultTransport\",\"emailDkim\",\"queue\",\"signer\",\"styler\",\"templater\"]}},{\"name\":\"getMailClass\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"mailClass\"]}},{\"name\":\"setMailClass\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"mailClass\"]}},{\"name\":\"setDefaultFrom\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultFromEmail\",\"defaultFromName\"]}},{\"name\":\"getDefaultFromEmail\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultFromEmail\"]}},{\"name\":\"getDefaultFromName\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultFromName\"]}},{\"name\":\"setDefaultReturnPath\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultReturnPath\"]}},{\"name\":\"getDefaultReturnPath\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultReturnPath\"]}},{\"name\":\"setDefaultUseVerp\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultUseVerp\"]}},{\"name\":\"getDefaultUseVerp\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultUseVerp\"]}},{\"name\":\"newMail\",\"semantics\":{\"object_calls\":[\"applyMailDefaults\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"mailClass\"]}},{\"name\":\"applyMailDefaults\",\"semantics\":{\"object_calls\":[\"setFrom\",\"setReturnPath\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultFromEmail\",\"defaultFromName\",\"defaultReturnPath\",\"defaultUseVerp\"]}},{\"name\":\"calculateBounceHmac\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"config\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"generateTextBody\",\"semantics\":{\"object_calls\":[\"generateTextBody\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"styler\"]}},{\"name\":\"renderMailTemplate\",\"semantics\":{\"object_calls\":[\"pullComponentsFromTemplateOutput\",\"renderPartialMailTemplate\",\"renderTemplate\",\"styleHtml\"],\"static_calls\":[\"language\"],\"new_classes\":[\"\\\\LogicException\"],\"factory_literals\":[],\"object_properties\":[\"pageParams\",\"styler\",\"templater\"]}},{\"name\":\"renderPartialMailTemplate\",\"semantics\":{\"object_calls\":[\"addDefaultParam\",\"getDefaultTemplateParams\",\"renderTemplate\",\"setLanguage\"],\"static_calls\":[\"language\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"pageParams\",\"templater\"]}},{\"name\":\"getDefaultTemplateParams\",\"semantics\":{\"object_calls\":[\"config\",\"container\",\"get\",\"getDayStartTimestamps\",\"getStyle\",\"isRtl\",\"options\",\"simpleCache\"],\"static_calls\":[\"app\"],\"new_classes\":[],\"factory_literals\":[\"get:reactions\"],\"object_properties\":[\"templater\"]}},{\"name\":\"pullComponentsFromTemplateOutput\",\"semantics\":{\"object_calls\":[\"generateTextBody\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"send\",\"semantics\":{\"object_calls\":[\"getAddress\",\"getFrom\",\"getTo\",\"send\",\"sign\"],\"static_calls\":[\"logException\",\"options\",\"toEmail\"],\"new_classes\":[\"TransportException\"],\"factory_literals\":[],\"object_properties\":[\"defaultTransport\",\"emailDkim\",\"signer\"]}},{\"name\":\"queue\",\"semantics\":{\"object_calls\":[\"enqueue\",\"jobManager\",\"send\"],\"static_calls\":[\"app\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"queue\"]}},{\"name\":\"getDefaultTransport\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultTransport\"]}},{\"name\":\"setDefaultTransport\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultTransport\"]}},{\"name\":\"getTransportFromOption\",\"semantics\":{\"object_calls\":[\"config\",\"create\",\"disableTls\",\"getStream\",\"setLocalDomain\",\"setPingThreshold\",\"setSavePath\"],\"static_calls\":[\"app\"],\"new_classes\":[\"Dsn\",\"EsmtpTransportFactory\",\"FileTransport\",\"SendmailTransport\"],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Mvc/Controller.php\",\"state\":\"OK\",\"sha256\":\"ebf61a841470486cbfb6a9ec9d4ea2efa8d5f6aacf35a05baf443b79258cd5aa\",\"bytes\":22229,\"namespace\":\"XF\\\\Mvc\",\"classes\":[{\"name\":\"Controller\"}],\"methods\":[{\"name\":\"array_key_exists\",\"semantics\":{\"object_calls\":[\"extension\",\"init\",\"resolveExtendedClassToRoot\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\",\"rootClass\"]}},{\"name\":\"__construct\",\"semantics\":{\"object_calls\":[\"extension\",\"init\",\"resolveExtendedClassToRoot\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\",\"rootClass\"]}},{\"name\":\"setupFromMatch\",\"semantics\":{\"object_calls\":[\"getResponseType\",\"getSectionContext\",\"setDefaultSectionContext\",\"setResponseType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"setupFromReply\",\"semantics\":{\"object_calls\":[\"getContainerKey\",\"getContentKey\",\"getResponseType\",\"getSectionContext\",\"getViewOptions\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"containerKey\",\"contentKey\",\"responseType\",\"sectionContext\",\"viewOptions\"]}},{\"name\":\"responseType\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"responseType\"]}},{\"name\":\"setResponseType\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"responseType\"]}},{\"name\":\"sectionContext\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"sectionContext\"]}},{\"name\":\"setSectionContext\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"sectionContext\"]}},{\"name\":\"setDefaultSectionContext\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"sectionContext\"]}},{\"name\":\"setContainerKey\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"containerKey\"]}},{\"name\":\"setContentKey\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"contentKey\"]}},{\"name\":\"setViewOption\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"viewOptions\"]}},{\"name\":\"preDispatch\",\"semantics\":{\"object_calls\":[\"checkCsrfIfNeeded\",\"fire\",\"preDispatchType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"rootClass\"]}},{\"name\":\"checkCsrfIfNeeded\",\"semantics\":{\"object_calls\":[\"assertValidCsrfToken\",\"isGet\",\"isHead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"responseType\"]}},{\"name\":\"assertValidCsrfToken\",\"semantics\":{\"object_calls\":[\"error\",\"exception\",\"validateCsrfToken\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"validateCsrfToken\",\"semantics\":{\"object_calls\":[\"filter\",\"getCookie\",\"getServer\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\"]}},{\"name\":\"assertCorrectVersion\",\"semantics\":{\"object_calls\":[\"config\",\"exception\",\"message\",\"options\",\"setPageParam\"],\"static_calls\":[\"config\",\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"currentVersionId\"]}},{\"name\":\"assertCookieConsent\",\"semantics\":{\"object_calls\":[\"cookieConsent\",\"exception\",\"getCurrentUrlWithoutAjaxParams\",\"getUnconsentedGroups\",\"getUnconsentedThirdParties\",\"setResponseCode\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"assertCaptchaCookieConsent\",\"semantics\":{\"object_calls\":[\"assertCookieConsent\",\"cookieConsent\",\"getCaptchaThirdParties\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"assertPasswordVerified\",\"semantics\":{\"object_calls\":[\"exception\",\"getAuthenticationHandler\",\"getCurrentUrlWithoutAjaxParams\",\"getExistingCredentialsForUser\",\"hasPassword\",\"repository\",\"saveStateToSession\",\"service\",\"session\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Auth\",\"user_id\"]}},{\"name\":\"getCurrentUrlWithoutAjaxParams\",\"semantics\":{\"object_calls\":[\"buildFinalUrl\",\"getRequestQueryParamsExcept\",\"getRoutePath\",\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"postDispatch\",\"semantics\":{\"object_calls\":[\"applyReplyChanges\",\"fire\",\"postDispatchType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"rootClass\"]}},{\"name\":\"applyReplyChanges\",\"semantics\":{\"object_calls\":[\"getContainerKey\",\"getContentKey\",\"getResponseType\",\"getSectionContext\",\"getViewOptions\",\"setContainerKey\",\"setContentKey\",\"setResponseType\",\"setSectionContext\",\"setViewOption\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"containerKey\",\"contentKey\",\"responseType\",\"sectionContext\",\"viewOptions\"]}},{\"name\":\"assertPostOnly\",\"semantics\":{\"object_calls\":[\"error\",\"exception\",\"header\",\"isPost\",\"response\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\"]}},{\"name\":\"assertDraftsEnabled\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"exception\",\"options\",\"setJsonParam\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"saveDrafts\"]}},{\"name\":\"isLoggedIn\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"user_id\"]}},{\"name\":\"getDynamicRedirect\",\"semantics\":{\"object_calls\":[\"getDynamicRedirect\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"getDynamicRedirectIfNot\",\"semantics\":{\"object_calls\":[\"getDynamicRedirectIfNot\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"error\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[\"Error\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"message\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"Message\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"redirect\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[\"Redirect\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"redirectPermanently\",\"semantics\":{\"object_calls\":[\"redirect\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"reroute\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"Reroute\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"rerouteController\",\"semantics\":{\"object_calls\":[\"getNewRouteMatch\",\"reroute\",\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"responseType\"]}},{\"name\":\"reroutePath\",\"semantics\":{\"object_calls\":[\"reroute\",\"routeToController\",\"router\",\"setResponseType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"responseType\"]}},{\"name\":\"view\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"View\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"exception\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"Exception\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"errorException\",\"semantics\":{\"object_calls\":[\"error\",\"exception\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"noPermission\",\"semantics\":{\"object_calls\":[\"actionNoPermission\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"notFound\",\"semantics\":{\"object_calls\":[\"actionNotFound\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertRecordExists\",\"semantics\":{\"object_calls\":[\"assertRecordExistsByUnique\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertRecordExistsByUnique\",\"semantics\":{\"object_calls\":[\"em\",\"exception\",\"find\",\"findOne\",\"notFound\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertViewableRecord\",\"semantics\":{\"object_calls\":[\"assertRecordExists\",\"canView\",\"exception\",\"noPermission\"],\"static_calls\":[],\"new_classes\":[\"\\\\LogicException\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertCanonicalUrl\",\"semantics\":{\"object_calls\":[\"exception\",\"getBasePath\",\"getFullBasePath\",\"getRequestUri\",\"isGet\",\"isHead\",\"redirectPermanently\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"responseType\"]}},{\"name\":\"assertValidPage\",\"semantics\":{\"object_calls\":[\"buildLink\",\"exception\",\"isGet\",\"redirect\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"responseType\"]}},{\"name\":\"plugin\",\"semantics\":{\"object_calls\":[\"container\",\"extendClass\"],\"static_calls\":[\"stringToClass\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"app\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"request\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"filter\",\"semantics\":{\"object_calls\":[\"filter\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"filterArray\",\"semantics\":{\"object_calls\":[\"filterArray\",\"inputFilterer\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"filterFormJson\",\"semantics\":{\"object_calls\":[\"exists\",\"filter\",\"filterArray\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"filterPage\",\"semantics\":{\"object_calls\":[\"filter\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"isPost\",\"semantics\":{\"object_calls\":[\"isPost\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"formAction\",\"semantics\":{\"object_calls\":[\"formAction\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"searcher\",\"semantics\":{\"object_calls\":[\"searcher\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"service\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"helper\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"session\",\"semantics\":{\"object_calls\":[\"session\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"router\",\"semantics\":{\"object_calls\":[\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"buildLink\",\"semantics\":{\"object_calls\":[\"buildLink\",\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"buildPaginatedLink\",\"semantics\":{\"object_calls\":[\"buildPaginatedLink\",\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"buildLinkHash\",\"semantics\":{\"object_calls\":[\"app\",\"getRedirectHash\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"registry\",\"semantics\":{\"object_calls\":[\"registry\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"options\",\"semantics\":{\"object_calls\":[\"options\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"captchaIsValid\",\"semantics\":{\"object_calls\":[\"captcha\",\"isShownCaptcha\",\"isValid\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"captchaResponse\",\"semantics\":{\"object_calls\":[\"captcha\",\"getResponse\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"isContentViewCounted\",\"semantics\":{\"object_calls\":[\"getRobotName\",\"isPrefetch\",\"options\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"user_id\",\"viewCounts\"]}},{\"name\":\"data\",\"semantics\":{\"object_calls\":[\"data\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"em\",\"semantics\":{\"object_calls\":[\"em\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"finder\",\"semantics\":{\"object_calls\":[\"em\",\"getFinder\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"repository\",\"semantics\":{\"object_calls\":[\"em\",\"getRepository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}}]},{\"path\":\"src/XF/Mvc/Router.php\",\"state\":\"OK\",\"sha256\":\"cb338fc52f4d12726f820b936ae662f7fb6e616b30e5865a28af03af06f2e5bc\",\"bytes\":20850,\"namespace\":\"XF\\\\Mvc\",\"classes\":[{\"name\":\"Router\"}],\"methods\":[{\"name\":\"array_slice\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"linkFormatter\",\"routes\"]}},{\"name\":\"__construct\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"linkFormatter\",\"routes\"]}},{\"name\":\"setLinkFormatter\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"linkFormatter\"]}},{\"name\":\"getLinkFormatter\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"linkFormatter\"]}},{\"name\":\"setPather\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"pather\"]}},{\"name\":\"getPather\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"pather\"]}},{\"name\":\"setRouteFilters\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routeFiltersIn\",\"routeFiltersOut\"]}},{\"name\":\"getRouteFiltersIn\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routeFiltersIn\"]}},{\"name\":\"getRouteFiltersOut\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routeFiltersOut\"]}},{\"name\":\"setIndexRoute\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"indexRoute\"]}},{\"name\":\"getIndexRoute\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"indexRoute\"]}},{\"name\":\"setIncludeTitleInUrls\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"includeTitleInUrls\"]}},{\"name\":\"getIncludeTitlesInUrls\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"includeTitleInUrls\"]}},{\"name\":\"setRomanizeUrls\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"romanizeUrls\"]}},{\"name\":\"getRomanizeUrls\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"romanizeUrls\"]}},{\"name\":\"addRoute\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routes\"]}},{\"name\":\"getRoutes\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routes\"]}},{\"name\":\"overrideRoute\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routes\"]}},{\"name\":\"addRoutePreProcessor\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routePreProcessors\"]}},{\"name\":\"getRoutePreProcessors\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routePreProcessors\"]}},{\"name\":\"routePreProcessRouteFilter\",\"semantics\":{\"object_calls\":[\"routeFilterToRegex\",\"setPathRewrite\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routeFiltersIn\"]}},{\"name\":\"routePreProcessExtension\",\"semantics\":{\"object_calls\":[\"setPathRewrite\",\"setResponseType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routePreProcessResponseType\",\"semantics\":{\"object_calls\":[\"filter\",\"setResponseType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routeToController\",\"semantics\":{\"object_calls\":[\"getNewRouteMatch\",\"getPathRewrite\",\"setAction\",\"setController\",\"setPathRewrite\",\"setSectionContext\",\"suffixMatchesRoute\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultAction\",\"routePreProcessors\",\"routes\"]}},{\"name\":\"suffixMatchesRoute\",\"semantics\":{\"object_calls\":[\"generateMatchRegexInner\",\"setAction\",\"setAnchor\",\"setController\",\"setParams\",\"setSectionContext\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultAction\"]}},{\"name\":\"buildLink\",\"semantics\":{\"object_calls\":[\"buildFinalUrl\",\"buildLinkPath\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"buildLinkPath\",\"semantics\":{\"object_calls\":[\"buildRouteUrl\",\"manipulateLinkPathInternal\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routes\"]}},{\"name\":\"buildPaginatedLink\",\"semantics\":{\"object_calls\":[\"buildLink\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"prepareStringForUrl\",\"semantics\":{\"object_calls\":[\"moveEmojiToPlaceholders\",\"stringFormatter\"],\"static_calls\":[\"app\",\"normalize\",\"options\",\"transliterate\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"includeEmojiInTitles\",\"romanizeUrls\",\"stringCache\"]}},{\"name\":\"buildRouteUrl\",\"semantics\":{\"object_calls\":[\"applyRouteFilterToUrl\",\"prepareStringForUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"includeTitleInUrls\",\"indexRoute\"]}},{\"name\":\"applyRouteFilterToUrl\",\"semantics\":{\"object_calls\":[\"routeFilterToRegex\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routeFiltersOut\",\"routeFiltersOutRegex\"]}},{\"name\":\"buildFinalUrl\",\"semantics\":{\"object_calls\":[\"applyPather\",\"buildQueryString\",\"getFinalLink\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"linkFormatter\"]}},{\"name\":\"applyPather\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"pather\"]}},{\"name\":\"buildQueryString\",\"semantics\":{\"object_calls\":[\"buildQueryString\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getNewRouteMatch\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"RouteMatch\"],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Pub/Controller/AccountController.php\",\"state\":\"OK\",\"sha256\":\"73e755ef485d737f1a74e576827af1a127ec95c153f3a818eb20b344f5243270\",\"bytes\":54974,\"namespace\":\"XF\\\\Pub\\\\Controller\",\"classes\":[{\"name\":\"AccountController\"}],\"methods\":[{\"name\":\"boolval\",\"semantics\":{\"object_calls\":[\"app\",\"assertRegistrationRequired\",\"header\",\"response\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"preDispatchController\",\"semantics\":{\"object_calls\":[\"app\",\"assertRegistrationRequired\",\"header\",\"response\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionIndex\",\"semantics\":{\"object_calls\":[\"rerouteController\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"addAccountWrapperParams\",\"semantics\":{\"object_calls\":[\"setParam\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionAccountDetails\",\"semantics\":{\"object_calls\":[\"accountDetailsSaveProcess\",\"addAccountWrapperParams\",\"buildLink\",\"canChangeEmail\",\"canEditProfile\",\"isPost\",\"redirect\",\"run\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/account-details\"],\"object_properties\":[\"PendingUsernameChange\"]}},{\"name\":\"accountDetailsSaveProcess\",\"semantics\":{\"object_calls\":[\"app\",\"basicEntitySave\",\"check\",\"complete\",\"contentChecker\",\"customFieldsSaveProcess\",\"filter\",\"formAction\",\"fromInput\",\"getFinalDecision\",\"getIp\",\"getRelationOrDefault\",\"hasPermission\",\"isSpamCheckRequired\",\"logError\",\"logIp\",\"logSpamTrigger\",\"plugin\",\"repository\",\"setDob\",\"setup\",\"setupEntityInput\",\"spam\",\"toggleActivitySummaryEmail\",\"validate\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"user_id\"]}},{\"name\":\"setupUsernameChange\",\"semantics\":{\"object_calls\":[\"error\",\"exception\",\"filter\",\"options\",\"service\",\"setChangeReason\",\"setNewUsername\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"usernameChangeRequireReason\"]}},{\"name\":\"actionUsername\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canChangeUsername\",\"error\",\"isPost\",\"noPermission\",\"redirect\",\"save\",\"setupUsernameChange\",\"validate\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/account-details\"],\"object_properties\":[\"change_state\"]}},{\"name\":\"actionEmail\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canChangeEmail\",\"emailSaveProcess\",\"error\",\"getAuthenticationHandler\",\"hasPassword\",\"isPost\",\"noPermission\",\"redirect\",\"run\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/account-details\"],\"object_properties\":[\"Auth\"]}},{\"name\":\"emailSaveProcess\",\"semantics\":{\"object_calls\":[\"apply\",\"authenticate\",\"canChangeEmail\",\"filter\",\"formAction\",\"isValid\",\"logError\",\"save\",\"service\",\"validate\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"email\",\"user_state\"]}},{\"name\":\"actionSignature\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canEditSignature\",\"fromInput\",\"getDisabledEditorButtons\",\"isPost\",\"noPermission\",\"plugin\",\"redirect\",\"run\",\"service\",\"signatureSaveProcess\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/signature\"],\"object_properties\":[]}},{\"name\":\"signatureSaveProcess\",\"semantics\":{\"object_calls\":[\"apply\",\"complete\",\"formAction\",\"getIp\",\"logErrors\",\"logIp\",\"repository\",\"save\",\"setSignature\",\"validate\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"user_id\"]}},{\"name\":\"actionPrivacy\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"isPost\",\"redirect\",\"run\",\"savePrivacyProcess\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/privacy\"],\"object_properties\":[]}},{\"name\":\"savePrivacyProcess\",\"semantics\":{\"object_calls\":[\"basicEntitySave\",\"complete\",\"filter\",\"formAction\",\"getIp\",\"getRelationOrDefault\",\"logIp\",\"repository\",\"setup\",\"setupEntityInput\",\"toggleActivitySummaryEmail\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"user_id\"]}},{\"name\":\"actionPreferences\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"data\",\"getAlertOptOuts\",\"getTimeZoneOptions\",\"getUserSelectableLanguages\",\"getUserSelectableStyles\",\"isPost\",\"options\",\"preferencesSaveProcess\",\"redirect\",\"repository\",\"run\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/preferences\"],\"object_properties\":[\"app\",\"defaultStyleId\"]}},{\"name\":\"preferencesSaveProcess\",\"semantics\":{\"object_calls\":[\"apply\",\"basicEntitySave\",\"canUsePushNotifications\",\"complete\",\"customFieldsSaveProcess\",\"filter\",\"formAction\",\"getAlertOptOutActions\",\"getIp\",\"getRelation\",\"getRelationOrDefault\",\"logIp\",\"remove\",\"repository\",\"restoreDismissedNotices\",\"session\",\"setup\",\"setupEntityInput\",\"toggleActivitySummaryEmail\",\"validate\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"is_moderator\",\"request\",\"user_id\"]}},{\"name\":\"actionDismissNotice\",\"semantics\":{\"object_calls\":[\"assertRecordExists\",\"canDismissNotice\",\"dismissNotice\",\"error\",\"filter\",\"getDynamicRedirect\",\"isPost\",\"redirect\",\"remove\",\"repository\",\"session\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionAvatar\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canUploadAvatar\",\"coerceValue\",\"container\",\"deleteAvatar\",\"error\",\"filter\",\"getError\",\"getFile\",\"getGravatarUrl\",\"getPrintableErrorValue\",\"isPost\",\"isValid\",\"noPermission\",\"options\",\"redirect\",\"removeGravatar\",\"service\",\"setCrop\",\"setGravatar\",\"setImageFromExisting\",\"setImageFromUpload\",\"setJsonParams\",\"updateAvatar\",\"validator\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/avatar\"],\"object_properties\":[\"Profile\",\"app\",\"avatar_crop_x\",\"avatar_crop_y\",\"avatar_date\",\"avatar_height\",\"avatar_width\",\"gravatarEnable\",\"request\"]}},{\"name\":\"actionBanner\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canUploadProfileBanner\",\"deleteBanner\",\"error\",\"filter\",\"getError\",\"getFile\",\"isPost\",\"noPermission\",\"redirect\",\"service\",\"setImageFromUpload\",\"setPosition\",\"updateBanner\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/banner\"],\"object_properties\":[\"Profile\",\"banner_date\",\"banner_position_y\",\"request\"]}},{\"name\":\"actionFollowing\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"fetch\",\"finder\",\"order\",\"view\",\"where\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Profile\",\"following\"]}},{\"name\":\"actionIgnored\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"em\",\"fetch\",\"finder\",\"getEmptyCollection\",\"order\",\"view\",\"where\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Profile\",\"ignored\"]}},{\"name\":\"actionReactions\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"addContentToReactions\",\"assertNotEmbeddedImageRequest\",\"assertValidPage\",\"canView\",\"fetch\",\"filter\",\"filterPage\",\"findUserReactions\",\"getUserReactionsTabSummary\",\"isRenderable\",\"limitByPage\",\"repository\",\"slice\",\"view\",\"where\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionSecurity\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"error\",\"fetch\",\"findPasskeysForUser\",\"getAuthenticationHandler\",\"getDynamicRedirect\",\"getTitle\",\"getValidProviderList\",\"handleVisitorPasswordChange\",\"hasPassword\",\"isDeprecated\",\"isEnabled\",\"isPost\",\"isValid\",\"noPermission\",\"plugin\",\"redirect\",\"repository\",\"save\",\"setInvalidateRememberKeys\",\"setupPasswordChange\",\"view\"],\"static_calls\":[\"config\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/security\"],\"object_properties\":[\"Auth\",\"security_lock\",\"user_id\"]}},{\"name\":\"setupPasswordChange\",\"semantics\":{\"object_calls\":[\"authenticate\",\"errorException\",\"filter\",\"service\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionPasskeyAdd\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"clearStateFromSession\",\"create\",\"error\",\"filter\",\"getChallenge\",\"getExistingCredentialsForUser\",\"isHostLocal\",\"isPost\",\"isSecure\",\"notFound\",\"options\",\"redirect\",\"repository\",\"request\",\"saveStateToSession\",\"service\",\"session\",\"setJsonParams\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/security\"],\"object_properties\":[\"boardTitle\",\"email\",\"request\",\"user_id\",\"username\"]}},{\"name\":\"actionPasskeyEdit\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertPasskeyExists\",\"assertPasswordVerified\",\"buildLink\",\"exception\",\"filter\",\"isPost\",\"noPermission\",\"redirect\",\"save\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/security\"],\"object_properties\":[\"name\",\"passkey_id\",\"user_id\"]}},{\"name\":\"actionPasskeyDelete\",\"semantics\":{\"object_calls\":[\"actionDelete\",\"assertPasskeyExists\",\"assertPasswordVerified\",\"buildLink\",\"exception\",\"noPermission\",\"plugin\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/passkeys/delete\",\"buildLink:account/passkeys/edit\",\"buildLink:account/security\"],\"object_properties\":[\"name\",\"passkey_id\",\"user_id\"]}},{\"name\":\"actionConnectedAccount\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"getAuthenticationHandler\",\"getConnectedAccountRepo\",\"getUsableProviders\",\"hasPassword\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Auth\"]}},{\"name\":\"actionConnectedAccountDisassociate\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"assertProviderExists\",\"buildLink\",\"clearToken\",\"count\",\"delete\",\"filter\",\"getAuthenticationHandler\",\"getHandler\",\"getRelationOrDefault\",\"getStorageState\",\"handleVisitorPasswordChange\",\"hasPassword\",\"noPermission\",\"plugin\",\"redirect\",\"resetPassword\",\"save\",\"service\",\"triggerConfirmation\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/connected-accounts\"],\"object_properties\":[\"Auth\",\"ConnectedAccounts\",\"connected_accounts\",\"provider_id\"]}},{\"name\":\"actionRequestPassword\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canTriggerConfirmation\",\"error\",\"getAuthenticationHandler\",\"hasPassword\",\"isPost\",\"noPermission\",\"redirect\",\"resetPassword\",\"service\",\"triggerConfirmation\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/security\"],\"object_properties\":[\"Auth\"]}},{\"name\":\"actionTwoStep\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"filter\",\"getCurrentTrustKey\",\"getTfaTrustRecord\",\"getTitle\",\"getValidProviderList\",\"hasOtherTrustedDevices\",\"isDeprecated\",\"isEnabled\",\"plugin\",\"repository\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Option\",\"use_tfa\",\"user_id\"]}},{\"name\":\"actionTwoStepBackupCodes\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"canManage\",\"em\",\"find\",\"formatCodesForDisplay\",\"getUserProviderConfig\",\"redirect\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"handler\"]}},{\"name\":\"actionTwoStepAdd\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertPostOnly\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"canEnable\",\"canHaveMultiple\",\"em\",\"enableUserTfaProvider\",\"error\",\"filter\",\"find\",\"generateInitialData\",\"get\",\"getIp\",\"handleAdd\",\"logIp\",\"meetsRequirements\",\"redirect\",\"remove\",\"renderAdd\",\"repository\",\"requiresConfig\",\"session\",\"set\",\"trigger\",\"verify\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"handler\",\"provider_id\",\"request\",\"user_id\"]}},{\"name\":\"actionTwoStepEnable\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertPostOnly\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"canEnable\",\"em\",\"enableUserTfaProvider\",\"error\",\"filter\",\"find\",\"generateInitialData\",\"get\",\"getIp\",\"handleConfig\",\"logIp\",\"meetsRequirements\",\"redirect\",\"remove\",\"repository\",\"requiresConfig\",\"session\",\"set\",\"trigger\",\"verify\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"handler\",\"provider_id\",\"request\",\"user_id\"]}},{\"name\":\"actionTwoStepDisable\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"canDisable\",\"delete\",\"disableTfaForUser\",\"em\",\"find\",\"getIp\",\"isPost\",\"logIp\",\"redirect\",\"repository\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"UserEntries\",\"provider_id\",\"request\",\"user_id\"]}},{\"name\":\"actionTwoStepManage\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"canManage\",\"em\",\"find\",\"getUserProviderConfig\",\"handleManage\",\"redirect\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"handler\",\"provider_id\"]}},{\"name\":\"actionTwoStepTrustedDisable\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"filter\",\"getCurrentTrustKey\",\"plugin\",\"redirect\",\"repository\",\"untrustDevice\",\"untrustOtherDevices\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"user_id\"]}},{\"name\":\"assertTwoStepPasswordVerified\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertPasswordVerified\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionUpgrades\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertCookieConsent\",\"em\",\"error\",\"fetch\",\"find\",\"findPaymentProfilesForList\",\"getCookieThirdParties\",\"getFilteredUserUpgradesForList\",\"isActive\",\"message\",\"repository\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Provider\",\"active\",\"payment_profile_ids\",\"user_state\"]}},{\"name\":\"actionUpgradePurchase\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionUpgradeUpdated\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionNewsFeed\",\"semantics\":{\"object_calls\":[\"buildLink\",\"redirectPermanently\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:whats-new/news-feed\"],\"object_properties\":[]}},{\"name\":\"actionAlerts\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"addContentToAlerts\",\"assertNotEmbeddedImageRequest\",\"autoMarkUserAlertsRead\",\"fetch\",\"filter\",\"filterPage\",\"filterViewable\",\"findAlertsForUser\",\"limitByPage\",\"markInaccessibleAlertsReadIfNeeded\",\"markUserAlertsViewed\",\"options\",\"repository\",\"total\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alertsPerPage\",\"alerts_unviewed\",\"user_id\"]}},{\"name\":\"actionAlertsPopup\",\"semantics\":{\"object_calls\":[\"addContentToAlerts\",\"assertNotEmbeddedImageRequest\",\"autoMarkUserAlertsRead\",\"fetch\",\"filterViewable\",\"findAlertsForUser\",\"markInaccessibleAlertsReadIfNeeded\",\"markUserAlertsViewed\",\"options\",\"repository\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alertsPopupExpiryDays\",\"alerts_unviewed\",\"user_id\"]}},{\"name\":\"markInaccessibleAlertsReadIfNeeded\",\"semantics\":{\"object_calls\":[\"canView\",\"isUnread\",\"markInaccessibleAlertsRead\",\"repository\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unread\"]}},{\"name\":\"actionAlertsMarkRead\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"getDynamicRedirect\",\"isPost\",\"markUserAlertsRead\",\"redirect\",\"repository\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/alerts\"],\"object_properties\":[]}},{\"name\":\"actionAlertToggle\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertViewableAlert\",\"buildLink\",\"filter\",\"getDynamicRedirect\",\"isPost\",\"isUnread\",\"markUserAlertRead\",\"markUserAlertUnread\",\"redirect\",\"repository\",\"view\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/alerts\"],\"object_properties\":[]}},{\"name\":\"actionBookmarks\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"addContentToBookmarks\",\"buildLink\",\"canViewBookmarks\",\"count\",\"fetch\",\"filter\",\"filterPage\",\"filterViewable\",\"findBookmarksForUser\",\"findBookmarksForUserByLabel\",\"findLabelsForUser\",\"isPost\",\"limitByPage\",\"noPermission\",\"pluckNamed\",\"redirect\",\"repository\",\"slice\",\"total\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/bookmarks\"],\"object_properties\":[\"user_id\"]}},{\"name\":\"actionBookmarksPopup\",\"semantics\":{\"object_calls\":[\"addContentToBookmarks\",\"buildLink\",\"canViewBookmarks\",\"fetch\",\"filter\",\"filterViewable\",\"findBookmarksForUser\",\"findBookmarksForUserByLabel\",\"findLabelsForUser\",\"noPermission\",\"pluckNamed\",\"repository\",\"setJsonParam\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/bookmarks\"],\"object_properties\":[\"user_id\"]}},{\"name\":\"actionBookmarksAutoComplete\",\"semantics\":{\"object_calls\":[\"canViewBookmarks\",\"filter\",\"getLabelAutoCompleteResults\",\"noPermission\",\"repository\",\"setJsonParam\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"label\"]}},{\"name\":\"actionApplications\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"getConnectedClientsForUser\",\"repository\",\"rerouteController\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"client_id\"]}},{\"name\":\"actionApplicationsView\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertRecordExists\",\"getScopesForTokens\",\"repository\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"client_id\"]}},{\"name\":\"actionApplicationsRevoke\",\"semantics\":{\"object_calls\":[\"assertRecordExists\",\"buildLink\",\"isPost\",\"redirect\",\"repository\",\"revokeClientForUser\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/applications\"],\"object_properties\":[\"client_id\"]}},{\"name\":\"actionVisitorMenu\",\"semantics\":{\"object_calls\":[\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"customFieldsSaveProcess\",\"semantics\":{\"object_calls\":[\"bulkSet\",\"filter\",\"filterEditable\",\"filterGroup\",\"getDefinitionSet\",\"getFieldDefinitions\",\"getRelationOrDefault\",\"saveEntity\",\"setup\",\"validateEntity\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"custom_fields\"]}},{\"name\":\"checkCsrfIfNeeded\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"checkCsrfIfNeeded\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertNotSecurityLocked\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"assertNotSecurityLocked\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"security_lock\"]}},{\"name\":\"assertPolicyAcceptance\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"assertPolicyAcceptance\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertBoardActive\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"assertBoardActive\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getActivityDetails\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertProviderExists\",\"semantics\":{\"object_calls\":[\"assertRecordExists\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertPasskeyExists\",\"semantics\":{\"object_calls\":[\"assertRecordExists\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertViewableAlert\",\"semantics\":{\"object_calls\":[\"assertRecordExists\",\"canView\",\"exception\",\"noPermission\",\"notFound\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerted_user_id\",\"user_id\"]}},{\"name\":\"assertTfaEnabled\",\"semantics\":{\"object_calls\":[\"exception\",\"noPermission\"],\"static_calls\":[\"config\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getConnectedAccountRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Repository/AttachmentRepository.php\",\"state\":\"OK\",\"sha256\":\"b4c62ab48da9ea2f7bbb78113ef3b42b4465528afbff1d0eb093336fa5359871\",\"bytes\":8705,\"namespace\":\"XF\\\\Repository\",\"classes\":[{\"name\":\"AttachmentRepository\"}],\"methods\":[{\"name\":\"is_array\",\"semantics\":{\"object_calls\":[\"fetch\",\"findAttachmentsByContent\",\"findAttachmentsByTempHash\",\"getAttachmentHandler\",\"getConstraints\",\"getContainerIdFromContext\",\"getContext\",\"toArray\"],\"static_calls\":[\"generateRandomString\"],\"new_classes\":[\"\\\\InvalidArgumentException\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getEditorData\",\"semantics\":{\"object_calls\":[\"fetch\",\"findAttachmentsByContent\",\"findAttachmentsByTempHash\",\"getAttachmentHandler\",\"getConstraints\",\"getContainerIdFromContext\",\"getContext\",\"toArray\"],\"static_calls\":[\"generateRandomString\"],\"new_classes\":[\"\\\\InvalidArgumentException\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findAttachmentsForList\",\"semantics\":{\"object_calls\":[\"finder\",\"setDefaultOrder\",\"with\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findAttachmentsByTempHash\",\"semantics\":{\"object_calls\":[\"finder\",\"order\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findAttachmentsByContent\",\"semantics\":{\"object_calls\":[\"finder\",\"order\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findAttachmentsByDataId\",\"semantics\":{\"object_calls\":[\"finder\",\"setDefaultOrder\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getAttachmentHandlers\",\"semantics\":{\"object_calls\":[\"getContentTypeField\"],\"static_calls\":[\"app\",\"extendClass\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getAttachmentHandler\",\"semantics\":{\"object_calls\":[\"getContentTypeFieldValue\"],\"static_calls\":[\"app\",\"extendClass\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getDefaultAttachmentConstraints\",\"semantics\":{\"object_calls\":[\"options\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"attachmentExtensions\",\"attachmentMaxDimensions\",\"attachmentMaxFileSize\",\"attachmentMaxPerMessage\"]}},{\"name\":\"applyVideoAttachmentConstraints\",\"semantics\":{\"object_calls\":[\"getAudioAttachmentExtensions\",\"getVideoAttachmentExtensions\",\"options\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"allowVideoUploads\"]}},{\"name\":\"getVideoAttachmentExtensions\",\"semantics\":{\"object_calls\":[\"app\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"inlineVideoTypes\"]}},{\"name\":\"getAudioAttachmentExtensions\",\"semantics\":{\"object_calls\":[\"app\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"inlineAudioTypes\"]}},{\"name\":\"getThumbnailSizes\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"options\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"attachmentThumbnailDimensions\",\"attachmentThumbnailRetina\"]}},{\"name\":\"logAttachmentView\",\"semantics\":{\"object_calls\":[\"db\",\"query\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"attachment_id\"]}},{\"name\":\"batchUpdateAttachmentViews\",\"semantics\":{\"object_calls\":[\"db\",\"emptyTable\",\"query\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"addAttachmentsToContent\",\"semantics\":{\"object_calls\":[\"fetch\",\"finder\",\"getBasicCollection\",\"getEmptyCollection\",\"getEntityId\",\"groupBy\",\"hydrateRelation\",\"order\",\"where\",\"with\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"em\"]}},{\"name\":\"deleteUnassociatedAttachments\",\"semantics\":{\"object_calls\":[\"db\",\"fastDeleteAttachmentsFromPairs\",\"fetchPairs\",\"options\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"saveDrafts\"]}},{\"name\":\"fastDeleteContentAttachments\",\"semantics\":{\"object_calls\":[\"db\",\"fastDeleteAttachmentsFromPairs\",\"fetchPairs\",\"quote\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"fastDeleteAttachmentsFromPairs\",\"semantics\":{\"object_calls\":[\"beginTransaction\",\"commit\",\"db\",\"delete\",\"query\",\"quote\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"deleteUnusedAttachmentData\",\"semantics\":{\"object_calls\":[\"delete\",\"fetch\",\"finder\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"countUnassociatedAttachmentsForUser\",\"semantics\":{\"object_calls\":[\"db\",\"fetchOne\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"user_id\"]}}]},{\"path\":\"src/XF/Repository/RouteRepository.php\",\"state\":\"OK\",\"sha256\":\"a975e1fb08fed7615407c737fe2960b94935bb0b7e65f8fb251eb26352e2bac5\",\"bytes\":1941,\"namespace\":\"XF\\\\Repository\",\"classes\":[{\"name\":\"RouteRepository\"}],\"methods\":[{\"name\":\"strlen\",\"semantics\":{\"object_calls\":[\"finder\",\"order\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findRoutesForList\",\"semantics\":{\"object_calls\":[\"finder\",\"order\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getRouteTypes\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getRouteCacheData\",\"semantics\":{\"object_calls\":[\"disableProcessingAddOnRoute\",\"fetch\",\"finder\",\"order\",\"where\",\"whereAddOnActive\",\"with\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"AddOn\",\"action_prefix\",\"build_class\",\"build_method\",\"context\",\"controller\",\"format\",\"is_processing\",\"route_prefix\",\"sub_name\"]}},{\"name\":\"rebuildRouteCache\",\"semantics\":{\"object_calls\":[\"getRouteCacheData\",\"set\"],\"static_calls\":[\"registry\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"rebuildRouteCaches\",\"semantics\":{\"object_calls\":[\"getRouteTypes\",\"rebuildRouteCache\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Repository/UserAlertRepository.php\",\"state\":\"OK\",\"sha256\":\"5efd6dac58b2a42da3a64db6bc36aaee2cefea1394105aa872b672b835590cd9\",\"bytes\":21675,\"namespace\":\"XF\\\\Repository\",\"classes\":[{\"name\":\"UserAlertRepository\"}],\"methods\":[{\"name\":\"count\",\"semantics\":{\"object_calls\":[\"finder\",\"order\",\"where\",\"whereAddOnActive\",\"whereOr\",\"with\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findAlertsForUser\",\"semantics\":{\"object_calls\":[\"finder\",\"order\",\"where\",\"whereAddOnActive\",\"whereOr\",\"with\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"userReceivesAlert\",\"semantics\":{\"object_calls\":[\"doesReceiveAlert\",\"isIgnoring\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Option\",\"is_banned\",\"user_id\"]}},{\"name\":\"userReceivesPush\",\"semantics\":{\"object_calls\":[\"doesReceivePush\",\"isIgnoring\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Option\",\"is_banned\",\"user_id\"]}},{\"name\":\"alertFromUser\",\"semantics\":{\"object_calls\":[\"insertAlert\",\"userReceivesAlert\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"user_id\",\"username\"]}},{\"name\":\"alert\",\"semantics\":{\"object_calls\":[\"insertAlert\",\"userReceivesAlert\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"user_id\"]}},{\"name\":\"insertAlert\",\"semantics\":{\"object_calls\":[\"app\",\"create\",\"push\",\"save\",\"service\",\"userReceivesPush\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Receiver\",\"action\",\"alerted_user_id\",\"auto_read\",\"content_id\",\"content_type\",\"depends_on_addon_id\",\"em\",\"extra_data\",\"user_id\",\"username\"]}},{\"name\":\"fastDeleteAlertsToUser\",\"semantics\":{\"object_calls\":[\"deleteAlertsInternal\",\"finder\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"fastDeleteAlertsFromUser\",\"semantics\":{\"object_calls\":[\"deleteAlertsInternal\",\"finder\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"fastDeleteAlertsForContent\",\"semantics\":{\"object_calls\":[\"deleteAlertsInternal\",\"finder\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"deleteAlertsInternal\",\"semantics\":{\"object_calls\":[\"beginTransaction\",\"commit\",\"db\",\"delete\",\"fetchColumns\",\"query\",\"quote\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"markUserAlertsViewed\",\"semantics\":{\"object_calls\":[\"markAllUserAlertsViewedOrRead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"markUserAlertViewed\",\"semantics\":{\"object_calls\":[\"isUnviewed\",\"markUserAlertsViewedOrRead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Receiver\",\"alert_id\"]}},{\"name\":\"markUserAlertsRead\",\"semantics\":{\"object_calls\":[\"markAllUserAlertsViewedOrRead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"autoMarkUserAlertsRead\",\"semantics\":{\"object_calls\":[\"filter\",\"isUnread\",\"markSpecificUserAlertsRead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"auto_read\"]}},{\"name\":\"markSpecificUserAlertsRead\",\"semantics\":{\"object_calls\":[\"isUnread\",\"markUserAlertsViewedOrRead\",\"setOption\"],\"static_calls\":[],\"new_classes\":[\"\\\\LogicException\"],\"factory_literals\":[],\"object_properties\":[\"alert_id\",\"user_id\"]}},{\"name\":\"markUserAlertsReadForContent\",\"semantics\":{\"object_calls\":[\"db\",\"fetchAllColumn\",\"markUserAlertsViewedOrRead\",\"quote\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unread\",\"user_id\"]}},{\"name\":\"markUserAlertRead\",\"semantics\":{\"object_calls\":[\"isUnread\",\"markUserAlertsViewedOrRead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Receiver\",\"alert_id\"]}},{\"name\":\"markUserAlertUnread\",\"semantics\":{\"object_calls\":[\"isUnread\",\"markUserAlertsUnread\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Receiver\",\"alert_id\"]}},{\"name\":\"markInaccessibleAlertsRead\",\"semantics\":{\"object_calls\":[\"addContentToAlerts\",\"canView\",\"container\",\"fetch\",\"filter\",\"finder\",\"markSpecificUserAlertsRead\",\"where\"],\"static_calls\":[\"app\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"depends_on_addon_id\",\"user_id\"]}},{\"name\":\"markAllUserAlertsViewedOrRead\",\"semantics\":{\"object_calls\":[\"app\",\"db\",\"executeTransaction\",\"isPrefetch\",\"request\",\"setAsSaved\",\"update\"],\"static_calls\":[],\"new_classes\":[\"\\\\LogicException\"],\"factory_literals\":[],\"object_properties\":[\"user_id\"]}},{\"name\":\"markUserAlertsViewedOrRead\",\"semantics\":{\"object_calls\":[\"app\",\"db\",\"fetchRow\",\"findCached\",\"inTransaction\",\"isPrefetch\",\"query\",\"quote\",\"request\",\"rowsAffected\",\"setAsSaved\",\"update\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unread\",\"alerts_unviewed\",\"em\",\"user_id\"]}},{\"name\":\"markUserAlertsUnread\",\"semantics\":{\"object_calls\":[\"app\",\"db\",\"fetchOne\",\"findCached\",\"inTransaction\",\"isPrefetch\",\"query\",\"quote\",\"request\",\"rowsAffected\",\"setAsSaved\",\"update\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unread\",\"em\",\"user_id\"]}},{\"name\":\"pruneViewedAlerts\",\"semantics\":{\"object_calls\":[\"deleteAlertsInternal\",\"finder\",\"limit\",\"options\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alertExpiryDays\"]}},{\"name\":\"pruneUnviewedAlerts\",\"semantics\":{\"object_calls\":[\"deleteAlertsInternal\",\"finder\",\"limit\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"updateUnviewedCountForUser\",\"semantics\":{\"object_calls\":[\"findAlertsForUser\",\"saveIfChanged\",\"total\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unviewed\",\"user_id\"]}},{\"name\":\"updateUnreadCountForUser\",\"semantics\":{\"object_calls\":[\"findAlertsForUser\",\"saveIfChanged\",\"total\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unread\",\"user_id\"]}},{\"name\":\"getAlertHandlers\",\"semantics\":{\"object_calls\":[\"getContentTypeField\"],\"static_calls\":[\"app\",\"extendClass\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getAlertHandler\",\"semantics\":{\"object_calls\":[\"getContentTypeFieldValue\"],\"static_calls\":[\"app\",\"extendClass\"],\"new_classes\":[\"\\\\InvalidArgumentException\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"addContentToAlerts\",\"semantics\":{\"object_calls\":[\"getAlertHandler\",\"getContent\",\"setContent\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\",\"content_type\"]}},{\"name\":\"getAlertOptOuts\",\"semantics\":{\"object_calls\":[\"getAlertHandlers\",\"getOptOutDisplayOrder\",\"getOptOutsMap\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getAlertOptOutActions\",\"semantics\":{\"object_calls\":[\"getAlertHandlers\",\"getOptOutActions\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Service/Attachment/PreparerService.php\",\"state\":\"OK\",\"sha256\":\"78398a0cd6e2e9f662aca3811d19dca30c839cb99a2b0f20932811c34933cde1\",\"bytes\":9726,\"namespace\":\"XF\\\\Service\\\\Attachment\",\"classes\":[{\"name\":\"PreparerService\"}],\"methods\":[{\"name\":\"insertAttachment\",\"semantics\":{\"object_calls\":[\"beforeNewAttachment\",\"getExtension\",\"insertDataFromFile\",\"insertTemporaryAttachment\"],\"static_calls\":[\"isAudioInlineDisplaySafe\",\"isVideoInlineDisplaySafe\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"user_id\"]}},{\"name\":\"insertDataFromFile\",\"semantics\":{\"object_calls\":[\"beginTransaction\",\"canCreateThumbnails\",\"commit\",\"db\",\"detachEntity\",\"em\",\"generateAttachmentThumbnails\",\"getAbstractedDataPath\",\"getAbstractedThumbnailPathForSize\",\"getErrors\",\"getFilePath\",\"preSave\",\"rollback\",\"save\",\"set\",\"setupDataInsertFromFile\"],\"static_calls\":[\"copyFileToAbstractedPath\",\"deleteFromAbstractedPath\"],\"new_classes\":[\"PrintableException\"],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"setupDataInsertFromFile\",\"semantics\":{\"object_calls\":[\"create\",\"em\",\"getFileName\",\"getFilePath\",\"getFileSize\",\"getImageHeight\",\"getImageWidth\",\"isOptimized\",\"set\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"file_hash\",\"file_path\",\"file_size\",\"height\",\"optimized\",\"upload_date\",\"user_id\",\"width\"]}},{\"name\":\"optimizeExistingAttachment\",\"semantics\":{\"object_calls\":[\"fs\",\"getAbstractedDataPath\",\"has\",\"imageFromFile\",\"imageManager\",\"optimizeImage\",\"options\",\"save\",\"updateDataFromFile\"],\"static_calls\":[\"copyAbstractedPathToTempFile\"],\"new_classes\":[\"FileWrapper\"],\"factory_literals\":[],\"object_properties\":[\"app\",\"filename\",\"height\",\"imageOptimization\",\"width\"]}},{\"name\":\"updateDataFromFile\",\"semantics\":{\"object_calls\":[\"beginTransaction\",\"canCreateThumbnails\",\"commit\",\"db\",\"detachEntity\",\"em\",\"generateAttachmentThumbnails\",\"getAbstractedDataPath\",\"getAbstractedThumbnailPathForSize\",\"getErrors\",\"getExistingAbstractedDataPath\",\"getExistingAbstractedThumbnailPathForSize\",\"getFilePath\",\"isChanged\",\"preSave\",\"rollback\",\"saveIfChanged\",\"set\",\"setupDataUpdateFromFile\"],\"static_calls\":[\"copyFileToAbstractedPath\",\"deleteFromAbstractedPath\"],\"new_classes\":[\"PrintableException\"],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"setupDataUpdateFromFile\",\"semantics\":{\"object_calls\":[\"getFilePath\",\"getFileSize\",\"getImageHeight\",\"getImageWidth\",\"isOptimized\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"file_hash\",\"file_path\",\"file_size\",\"height\",\"optimized\",\"width\"]}},{\"name\":\"generateAttachmentThumbnails\",\"semantics\":{\"object_calls\":[\"getHeight\",\"getThumbnailSizes\",\"getWidth\",\"imageFromFile\",\"imageManager\",\"resizeShortEdge\",\"save\"],\"static_calls\":[\"getTempFile\",\"repository\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"generateAttachmentThumbnail\",\"semantics\":{\"object_calls\":[\"generateAttachmentThumbnails\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"insertTemporaryAttachment\",\"semantics\":{\"object_calls\":[\"create\",\"em\",\"getContentType\",\"onNewAttachment\",\"save\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"content_type\",\"data_id\",\"temp_hash\"]}},{\"name\":\"associateAttachmentsWithContent\",\"semantics\":{\"object_calls\":[\"fetch\",\"finder\",\"getContainer\",\"getHandler\",\"onAssociation\",\"save\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\",\"content_type\",\"temp_hash\",\"unassociated\"]}}]}],\"holds\":[]},{\"label\":\"CORE_B_KINGOFWOLK\",\"root\":\"/var/www/forums/kingofwolk/public\",\"state\":\"OK\",\"core_sha256\":\"a7c32365efc044a809e5395cc708843f9440b29fa3a1eeced82165c521b0866b\",\"category_candidates\":{\"attachment\":[{\"path\":\"src/XF/Entity/Attachment.php\",\"score\":103},{\"path\":\"src/XF/Repository/AttachmentRepository.php\",\"score\":103},{\"path\":\"src/XF/Service/Attachment/PreparerService.php\",\"score\":103},{\"path\":\"src/XF/Admin/Controller/AttachmentController.php\",\"score\":102}],\"alert\":[{\"path\":\"src/XF/Entity/UserAlert.php\",\"score\":202},{\"path\":\"src/XF/Entity/UserAlertOptOut.php\",\"score\":202},{\"path\":\"src/XF/Repository/UserAlertRepository.php\",\"score\":202},{\"path\":\"src/XF/Finder/UserAlertFinder.php\",\"score\":201}],\"captcha\":[{\"path\":\"src/XF/Admin/Controller/CaptchaQuestionController.php\",\"score\":101},{\"path\":\"src/XF/AdminSearch/CaptchaQuestionHandler.php\",\"score\":101},{\"path\":\"src/XF/Captcha/AbstractCaptcha.php\",\"score\":101},{\"path\":\"src/XF/Captcha/HCaptcha.php\",\"score\":101}],\"controller_request_csrf\":[{\"path\":\"src/XF/Admin/Controller/LoginController.php\",\"score\":104},{\"path\":\"src/XF/ControllerPlugin/LoginPlugin.php\",\"score\":104},{\"path\":\"src/XF/Mvc/Controller.php\",\"score\":104},{\"path\":\"src/XF/Pub/Controller/AccountController.php\",\"score\":104}],\"permission\":[{\"path\":\"src/XF/Entity/PermissionInterfaceGroup.php\",\"score\":102},{\"path\":\"src/XF/AddOn/DataType/AdminPermission.php\",\"score\":101},{\"path\":\"src/XF/AddOn/DataType/Permission.php\",\"score\":101},{\"path\":\"src/XF/AddOn/DataType/PermissionInterfaceGroup.php\",\"score\":101}],\"routing\":[{\"path\":\"src/XF/Mvc/Router.php\",\"score\":202},{\"path\":\"src/XF/Api/Mvc/Router.php\",\"score\":201},{\"path\":\"src/XF/Repository/RouteRepository.php\",\"score\":201},{\"path\":\"src/XF/Admin/Controller/RouteController.php\",\"score\":102}],\"mail\":[{\"path\":\"src/XF/BbCode/Renderer/EmailHtml.php\",\"score\":203},{\"path\":\"src/XF/Job/ActivitySummaryEmail.php\",\"score\":203},{\"path\":\"src/XF/Job/UserEmail.php\",\"score\":203},{\"path\":\"src/XF/Mail/Mailer.php\",\"score\":203}]},\"selected_file_count\":28,\"semantic_contract_sha256\":\"46ad0cb4ac85646846509ca64fc793adf96248e89c4a55d6dca7ad36d7a11c6e\",\"semantic_contract\":[{\"path\":\"src/XF/AddOn/DataType/AdminPermission.php\",\"state\":\"OK\",\"sha256\":\"b8b022417fc6d8abf403cc1704ddf57c0dc26986672db03240a82b7dfefbde12\",\"bytes\":1871,\"namespace\":\"XF\\\\AddOn\\\\DataType\",\"classes\":[{\"name\":\"AdminPermission\"}],\"methods\":[{\"name\":\"exportAddOnData\",\"semantics\":{\"object_calls\":[\"appendChild\",\"count\",\"createElement\",\"exportMappedAttributes\",\"fetch\",\"finder\",\"getChildTag\",\"order\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"ownerDocument\"]}},{\"name\":\"importAddOnData\",\"semantics\":{\"object_calls\":[\"create\",\"findByIds\",\"getBehavior\",\"getEntries\",\"importMappedAttributes\",\"pluckXmlAttribute\",\"resume\",\"save\",\"setOption\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"addon_id\"]}},{\"name\":\"deleteOrphanedAddOnData\",\"semantics\":{\"object_calls\":[\"deleteOrphanedSimple\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/AddOn/DataType/Permission.php\",\"state\":\"OK\",\"sha256\":\"8d6b8657e8585eb8da7f1401df882e0033f93e07179ce4df398b95d22d74c477\",\"bytes\":3455,\"namespace\":\"XF\\\\AddOn\\\\DataType\",\"classes\":[{\"name\":\"Permission\"}],\"methods\":[{\"name\":\"exportAddOnData\",\"semantics\":{\"object_calls\":[\"appendChild\",\"count\",\"createElement\",\"exportMappedAttributes\",\"fetch\",\"finder\",\"getChildTag\",\"order\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"ownerDocument\"]}},{\"name\":\"importAddOnData\",\"semantics\":{\"object_calls\":[\"create\",\"fetch\",\"finder\",\"getBehavior\",\"getEntries\",\"groupBy\",\"importMappedAttributes\",\"resume\",\"save\",\"setOption\",\"whereOr\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"addon_id\"]}},{\"name\":\"deleteOrphanedAddOnData\",\"semantics\":{\"object_calls\":[\"delete\",\"fetch\",\"findAllForType\",\"getBehavior\",\"getEntries\",\"getSimpleAttributes\",\"groupBy\",\"setOption\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"rebuildActiveChange\",\"semantics\":{\"object_calls\":[\"finder\",\"total\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"addon_id\"]}}]},{\"path\":\"src/XF/AddOn/DataType/PermissionInterfaceGroup.php\",\"state\":\"OK\",\"sha256\":\"b2b1397ba1dc3174f680ebe4796a88904aa577db969177485d56cd7568c1f8d6\",\"bytes\":2079,\"namespace\":\"XF\\\\AddOn\\\\DataType\",\"classes\":[{\"name\":\"PermissionInterfaceGroup\"}],\"methods\":[{\"name\":\"exportAddOnData\",\"semantics\":{\"object_calls\":[\"appendChild\",\"count\",\"createElement\",\"exportMappedAttributes\",\"fetch\",\"finder\",\"getChildTag\",\"order\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"ownerDocument\"]}},{\"name\":\"importAddOnData\",\"semantics\":{\"object_calls\":[\"create\",\"findByIds\",\"getBehavior\",\"getEntries\",\"importMappedAttributes\",\"pluckXmlAttribute\",\"resume\",\"save\",\"setOption\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"addon_id\"]}},{\"name\":\"deleteOrphanedAddOnData\",\"semantics\":{\"object_calls\":[\"deleteOrphanedSimple\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"deleteEntity\",\"semantics\":{\"object_calls\":[\"setOption\"],\"static_calls\":[\"deleteEntity\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Admin/Controller/AttachmentController.php\",\"state\":\"OK\",\"sha256\":\"ee0f8736c2bac5903640c526331a68b769a1a8f94da6b60cddfab639202533e4\",\"bytes\":4917,\"namespace\":\"XF\\\\Admin\\\\Controller\",\"classes\":[{\"name\":\"AttachmentController\"}],\"methods\":[{\"name\":\"count\",\"semantics\":{\"object_calls\":[\"assertAdminPermission\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"preDispatchController\",\"semantics\":{\"object_calls\":[\"assertAdminPermission\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionIndex\",\"semantics\":{\"object_calls\":[\"apply\",\"assertValidPage\",\"buildLink\",\"exists\",\"fetch\",\"filterPage\",\"getAttachmentHandlers\",\"getAttachmentRepo\",\"getDisplayValues\",\"getLinkParams\",\"isPost\",\"limitByPage\",\"redirect\",\"rerouteController\",\"setupAttachmentFilterer\",\"total\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:attachments\"],\"object_properties\":[\"attachment_id\",\"request\"]}},{\"name\":\"actionFilter\",\"semantics\":{\"object_calls\":[\"getAttachmentHandlers\",\"getAttachmentRepo\",\"getDatePresets\",\"getFiltersForForm\",\"setupAttachmentFilterer\",\"view\"],\"static_calls\":[\"language\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"setupAttachmentFilterer\",\"semantics\":{\"object_calls\":[\"addFilters\",\"filter\",\"filterer\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\"]}},{\"name\":\"actionDelete\",\"semantics\":{\"object_calls\":[\"buildLink\",\"delete\",\"em\",\"exception\",\"exists\",\"filter\",\"find\",\"isDataAvailable\",\"isPost\",\"notFound\",\"redirect\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:attachments\"],\"object_properties\":[\"Data\",\"attachment_id\",\"request\"]}},{\"name\":\"actionView\",\"semantics\":{\"object_calls\":[\"em\",\"error\",\"exception\",\"find\",\"getServer\",\"isDataAvailable\",\"notFound\",\"setResponseType\",\"view\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"attachment_id\",\"request\"]}},{\"name\":\"actionOptions\",\"semantics\":{\"object_calls\":[\"buildLink\",\"em\",\"find\",\"redirect\",\"redirectPermanently\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:options\",\"buildLink:options/groups\"],\"object_properties\":[]}},{\"name\":\"getAttachmentRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Admin/Controller/CaptchaQuestionController.php\",\"state\":\"OK\",\"sha256\":\"5429361a6524e5725fa224e168717d4d9ada67036658ed23150f7b843c6d3d19\",\"bytes\":3139,\"namespace\":\"XF\\\\Admin\\\\Controller\",\"classes\":[{\"name\":\"CaptchaQuestionController\"}],\"methods\":[{\"name\":\"preDispatchController\",\"semantics\":{\"object_calls\":[\"assertAdminPermission\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionIndex\",\"semantics\":{\"object_calls\":[\"fetch\",\"findCaptchaQuestionsForList\",\"getCaptchaQuestionRepo\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"questionAddEdit\",\"semantics\":{\"object_calls\":[\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionAdd\",\"semantics\":{\"object_calls\":[\"create\",\"em\",\"questionAddEdit\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionEdit\",\"semantics\":{\"object_calls\":[\"assertCaptchaQuestionExists\",\"questionAddEdit\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"questionSaveProcess\",\"semantics\":{\"object_calls\":[\"basicEntitySave\",\"filter\",\"formAction\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionSave\",\"semantics\":{\"object_calls\":[\"assertCaptchaQuestionExists\",\"assertPostOnly\",\"buildLink\",\"buildLinkHash\",\"create\",\"em\",\"questionSaveProcess\",\"redirect\",\"run\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:captcha-questions\"],\"object_properties\":[\"captcha_question_id\"]}},{\"name\":\"actionDelete\",\"semantics\":{\"object_calls\":[\"actionDelete\",\"assertCaptchaQuestionExists\",\"buildLink\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:captcha-questions\",\"buildLink:captcha-questions/delete\",\"buildLink:captcha-questions/edit\"],\"object_properties\":[\"question\"]}},{\"name\":\"actionToggle\",\"semantics\":{\"object_calls\":[\"actionToggle\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertCaptchaQuestionExists\",\"semantics\":{\"object_calls\":[\"assertRecordExists\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getCaptchaQuestionRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Admin/Controller/LoginController.php\",\"state\":\"OK\",\"sha256\":\"668a0b3bd2b56841c74ef8cee46e11c010f26e11a49d0369d150cfc75f9d6836\",\"bytes\":5505,\"namespace\":\"XF\\\\Admin\\\\Controller\",\"classes\":[{\"name\":\"LoginController\"}],\"methods\":[{\"name\":\"actionForm\",\"semantics\":{\"object_calls\":[\"buildLink\",\"getDynamicRedirectIfNot\",\"saveStateToSession\",\"service\",\"session\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:login\"],\"object_properties\":[]}},{\"name\":\"actionLogin\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"buildLink\",\"clearStateFromSession\",\"completeLogin\",\"error\",\"filter\",\"getDynamicRedirectIfNot\",\"getIp\",\"getPasskeyUser\",\"hasPermission\",\"isLoginLimited\",\"options\",\"plugin\",\"redirect\",\"request\",\"router\",\"service\",\"session\",\"triggerIfTfaConfirmationRequired\",\"validate\"],\"static_calls\":[\"config\",\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\",\"buildLink:login\",\"buildLink:login/two-step\"],\"object_properties\":[\"Option\",\"adminRequireTfa\",\"app\",\"is_admin\",\"request\",\"security_lock\",\"use_tfa\",\"user_id\"]}},{\"name\":\"actionTwoStep\",\"semantics\":{\"object_calls\":[\"buildLink\",\"completeLogin\",\"error\",\"getCookie\",\"getDynamicRedirectIfNot\",\"getError\",\"getFormParams\",\"getRedirect\",\"getResult\",\"getUser\",\"plugin\",\"redirect\",\"runTfaCheck\",\"view\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:login\"],\"object_properties\":[\"request\"]}},{\"name\":\"completeLogin\",\"semantics\":{\"object_calls\":[\"applyToResponse\",\"changeUser\",\"create\",\"em\",\"getIp\",\"logIp\",\"repository\",\"response\",\"save\",\"session\"],\"static_calls\":[\"installLockExists\",\"setVisitor\",\"writeInstallLock\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Admin\",\"app\",\"is_admin\",\"last_login\",\"passwordConfirm\",\"request\",\"user_id\"]}},{\"name\":\"actionLogout\",\"semantics\":{\"object_calls\":[\"assertValidCsrfToken\",\"buildLink\",\"filter\",\"logoutUser\",\"redirect\",\"session\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:index\"],\"object_properties\":[]}},{\"name\":\"actionPasswordConfirm\",\"semantics\":{\"object_calls\":[\"actionPasswordConfirm\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionKeepAlive\",\"semantics\":{\"object_calls\":[\"actionKeepAlive\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"checkCsrfIfNeeded\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"checkCsrfIfNeeded\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Admin/Controller/RouteController.php\",\"state\":\"OK\",\"sha256\":\"cef102adaf29b61413d94e60bd3004c394e44c6392f8eb3f44f409a67b5cd8b5\",\"bytes\":3277,\"namespace\":\"XF\\\\Admin\\\\Controller\",\"classes\":[{\"name\":\"RouteController\"}],\"methods\":[{\"name\":\"count\",\"semantics\":{\"object_calls\":[\"assertDevelopmentMode\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"preDispatchController\",\"semantics\":{\"object_calls\":[\"assertDevelopmentMode\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionIndex\",\"semantics\":{\"object_calls\":[\"fetch\",\"filter\",\"findRoutesForList\",\"getRouteRepo\",\"getRouteTypes\",\"groupBy\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routeAddEdit\",\"semantics\":{\"object_calls\":[\"getRouteRepo\",\"getRouteTypes\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionEdit\",\"semantics\":{\"object_calls\":[\"assertRouteExists\",\"routeAddEdit\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionAdd\",\"semantics\":{\"object_calls\":[\"create\",\"em\",\"filter\",\"routeAddEdit\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"route_type\"]}},{\"name\":\"routeSaveProcess\",\"semantics\":{\"object_calls\":[\"basicEntitySave\",\"filter\",\"formAction\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionSave\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"assertRouteExists\",\"buildLink\",\"buildLinkHash\",\"create\",\"em\",\"redirect\",\"routeSaveProcess\",\"run\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:routes\"],\"object_properties\":[\"route_id\",\"route_type\"]}},{\"name\":\"actionDelete\",\"semantics\":{\"object_calls\":[\"actionDelete\",\"assertRouteExists\",\"buildLink\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:routes\",\"buildLink:routes/delete\",\"buildLink:routes/edit\"],\"object_properties\":[\"route_id\",\"unique_name\"]}},{\"name\":\"assertRouteExists\",\"semantics\":{\"object_calls\":[\"assertRecordExists\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getRouteRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/AdminSearch/CaptchaQuestionHandler.php\",\"state\":\"OK\",\"sha256\":\"352ac6e7455ca73923a4fca72d4346d1d71f05a9c539dbd5d8f66a19a5aa6314\",\"bytes\":436,\"namespace\":\"XF\\\\AdminSearch\",\"classes\":[{\"name\":\"CaptchaQuestionHandler\"}],\"methods\":[{\"name\":\"isSearchable\",\"semantics\":{\"object_calls\":[\"hasAdminPermission\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Api/Mvc/Router.php\",\"state\":\"OK\",\"sha256\":\"d0b803755b157a5a5b9b11681a3df3377f3815622623dbd60209ef1a802161f9\",\"bytes\":2998,\"namespace\":\"XF\\\\Api\\\\Mvc\",\"classes\":[{\"name\":\"Router\"}],\"methods\":[{\"name\":\"intval\",\"semantics\":{\"object_calls\":[\"setPathRewrite\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routePreProcessApiPrefix\",\"semantics\":{\"object_calls\":[\"setPathRewrite\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routePreProcessApiVersion\",\"semantics\":{\"object_calls\":[\"setPathRewrite\",\"setVersion\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routePreProcessApiResponseType\",\"semantics\":{\"object_calls\":[\"setResponseType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routeToController\",\"semantics\":{\"object_calls\":[\"getAction\",\"getRequestMethod\",\"setAction\",\"setController\",\"setRequestMethod\"],\"static_calls\":[\"routeToController\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"manipulateLinkPathInternal\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routes\"]}},{\"name\":\"getNewRouteMatch\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"RouteMatch\"],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/BbCode/Renderer/EmailHtml.php\",\"state\":\"OK\",\"sha256\":\"5d52678f7eec1e3ffb1f57f1c32338d4634a65aae61beafc62f60cf3159c7526\",\"bytes\":2759,\"namespace\":\"XF\\\\BbCode\\\\Renderer\",\"classes\":[{\"name\":\"EmailHtml\"}],\"methods\":[{\"name\":\"getDefaultOptions\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"getDefaultOptions\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getCustomTagConfig\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"getCustomTagConfig\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getRenderedImg\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"getRenderedAttachment\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"renderTagInlineCode\",\"semantics\":{\"object_calls\":[\"renderSubTree\",\"wrapHtml\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getRenderedCode\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[\"PreEscaped\"],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"getRenderedQuote\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[\"PreEscaped\"],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"getRenderedSpoiler\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[\"PreEscaped\"],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"getRenderedInlineSpoiler\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[\"PreEscaped\"],\"factory_literals\":[],\"object_properties\":[\"templater\"]}},{\"name\":\"renderTagMedia\",\"semantics\":{\"object_calls\":[\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"mediaSites\",\"templater\"]}},{\"name\":\"getRenderedUnfurl\",\"semantics\":{\"object_calls\":[\"getRenderedLink\",\"prepareTextFromUrlExtended\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"factory\",\"semantics\":{\"object_calls\":[\"setTemplater\"],\"static_calls\":[\"factory\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Captcha/AbstractCaptcha.php\",\"state\":\"OK\",\"sha256\":\"3b7c2cc28486204a2bde66e9dc6628e303b90a9042e318dbe77532366d27b817\",\"bytes\":2418,\"namespace\":\"XF\\\\Captcha\",\"classes\":[{\"name\":\"AbstractCaptcha\"}],\"methods\":[{\"name\":\"is_array\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"__construct\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"render\",\"semantics\":{\"object_calls\":[\"renderInternal\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"_rendered\"]}},{\"name\":\"setForceVisible\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"forceVisible\"]}},{\"name\":\"setContext\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"context\"]}},{\"name\":\"setResponse\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"captcha_data\",\"captcha_date\",\"captcha_type\",\"response\"]}},{\"name\":\"getResponse\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"response\"]}}]},{\"path\":\"src/XF/Captcha/HCaptcha.php\",\"state\":\"OK\",\"sha256\":\"b051fe79db3d1b5dd93bef67c9e3e7cfe7598124cf49339ca016fd0b6c21e14a\",\"bytes\":3770,\"namespace\":\"XF\\\\Captcha\",\"classes\":[{\"name\":\"HCaptcha\"}],\"methods\":[{\"name\":\"is_array\",\"semantics\":{\"object_calls\":[\"options\"],\"static_calls\":[\"__construct\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"extraCaptchaKeys\",\"invisibleMode\",\"secretKey\",\"siteKey\"]}},{\"name\":\"__construct\",\"semantics\":{\"object_calls\":[\"options\"],\"static_calls\":[\"__construct\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"extraCaptchaKeys\",\"invisibleMode\",\"secretKey\",\"siteKey\"]}},{\"name\":\"renderInternal\",\"semantics\":{\"object_calls\":[\"isLocalDomain\",\"renderTemplate\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"forceVisible\",\"invisibleMode\",\"siteKey\"]}},{\"name\":\"isValid\",\"semantics\":{\"object_calls\":[\"client\",\"filter\",\"getBody\",\"getContents\",\"getIp\",\"http\",\"isLocalDomain\",\"post\",\"request\",\"setResponse\"],\"static_calls\":[\"jsonDecode\",\"logError\",\"logException\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"secretKey\",\"siteKey\"]}},{\"name\":\"isLocalDomain\",\"semantics\":{\"object_calls\":[\"options\"],\"static_calls\":[\"hasPrivateUseTld\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"boardUrl\"]}},{\"name\":\"getPrivacyPolicy\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/ControllerPlugin/LoginPlugin.php\",\"state\":\"OK\",\"sha256\":\"a0a71dd941792dd20794a08040d053e07579e9fd0bd57a8bbf7c682c62c6de7d\",\"bytes\":10753,\"namespace\":\"XF\\\\ControllerPlugin\",\"classes\":[{\"name\":\"LoginPlugin\"}],\"methods\":[{\"name\":\"in_array\",\"semantics\":{\"object_calls\":[\"getCurrentTrustKey\",\"isUserTfaConfirmationRequired\",\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"isTfaConfirmationRequired\",\"semantics\":{\"object_calls\":[\"getCurrentTrustKey\",\"isUserTfaConfirmationRequired\",\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getCurrentTrustKey\",\"semantics\":{\"object_calls\":[\"getCookie\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"getTfaLoginUserId\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"session\",\"tfaLoginDate\",\"tfaLoginUserId\",\"user_id\"]}},{\"name\":\"getTfaLoginUser\",\"semantics\":{\"object_calls\":[\"find\",\"getTfaLoginUserId\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"em\"]}},{\"name\":\"setTfaSessionCheck\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"session\",\"tfaLoginDate\",\"tfaLoginUserId\",\"user_id\"]}},{\"name\":\"clearTfaSessionCheck\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"session\",\"tfaLoginDate\",\"tfaLoginUserId\"]}},{\"name\":\"triggerIfTfaConfirmationRequired\",\"semantics\":{\"object_calls\":[\"exception\",\"isTfaConfirmationRequired\",\"redirect\",\"setTfaSessionCheck\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"runTfaCheck\",\"semantics\":{\"object_calls\":[\"clearTfaSessionCheck\",\"filter\",\"getIp\",\"getProviders\",\"getTfaLoginUser\",\"hasTooManyTfaAttempts\",\"isPost\",\"isProviderValid\",\"isTfaAvailable\",\"logIp\",\"repository\",\"service\",\"setDeviceTrusted\",\"trigger\",\"verify\"],\"static_calls\":[\"newError\",\"newForm\",\"newSkipped\",\"newSuccess\",\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"provider_id\",\"request\",\"user_id\"]}},{\"name\":\"setDeviceTrusted\",\"semantics\":{\"object_calls\":[\"createTrustedKey\",\"repository\",\"response\",\"setCookie\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"completeLogin\",\"semantics\":{\"object_calls\":[\"associateActionWithUser\",\"changeUser\",\"clearUserActivity\",\"completeUserActionIfPossible\",\"createVisitorRememberKey\",\"getContentUrl\",\"getIp\",\"logIp\",\"options\",\"repository\"],\"static_calls\":[\"setVisitor\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"preRegAction\",\"preRegActionKey\",\"preRegContentUrl\",\"request\",\"session\",\"user_id\"]}},{\"name\":\"actionPasswordConfirm\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"buildLink\",\"error\",\"filter\",\"getDynamicRedirectIfNot\",\"getIp\",\"isLoginLimited\",\"redirect\",\"service\",\"session\",\"validate\",\"validatePasskeyConfirm\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:login\"],\"object_properties\":[\"controller\",\"passwordConfirm\",\"request\",\"user_id\",\"username\"]}},{\"name\":\"validatePasskeyConfirm\",\"semantics\":{\"object_calls\":[\"clearFailedAttempts\",\"clearStateFromSession\",\"getIp\",\"getPasskeyUser\",\"hasTooManyLoginAttempts\",\"isLoginLimited\",\"service\",\"session\",\"validate\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"user_id\"]}},{\"name\":\"actionKeepAlive\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"assertValidCsrfToken\",\"getCookie\",\"setJsonParams\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"controller\",\"request\",\"user_id\"]}},{\"name\":\"createVisitorRememberKey\",\"semantics\":{\"object_calls\":[\"createRememberRecord\",\"getCookieValue\",\"repository\",\"response\",\"setCookie\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"user_id\"]}},{\"name\":\"logoutVisitor\",\"semantics\":{\"object_calls\":[\"clearCookies\",\"clearSiteData\",\"config\",\"deleteVisitorRememberRecord\",\"lastActivityUpdate\",\"logoutUser\"],\"static_calls\":[\"app\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"session\"]}},{\"name\":\"lastActivityUpdate\",\"semantics\":{\"object_calls\":[\"delete\",\"save\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Activity\",\"last_activity\",\"user_id\",\"view_date\"]}},{\"name\":\"deleteVisitorRememberRecord\",\"semantics\":{\"object_calls\":[\"delete\",\"response\",\"setCookie\",\"validateVisitorRememberKey\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"validateVisitorRememberKey\",\"semantics\":{\"object_calls\":[\"getCookie\",\"repository\",\"validateByCookieValue\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"clearCookies\",\"semantics\":{\"object_calls\":[\"clearCookieSkipList\",\"getCookies\",\"response\",\"setCookie\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\"]}},{\"name\":\"clearSiteData\",\"semantics\":{\"object_calls\":[\"header\",\"response\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"handleVisitorPasswordChange\",\"semantics\":{\"object_calls\":[\"changeUser\",\"clearUserRememberRecords\",\"createVisitorRememberKey\",\"repository\",\"validateVisitorRememberKey\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"session\",\"user_id\"]}}]},{\"path\":\"src/XF/Entity/Attachment.php\",\"state\":\"OK\",\"sha256\":\"d34eb4ef05d97b64c64c3c9beb7a4f9eb39710a999530687fbb46b9b260f36f2\",\"bytes\":11464,\"namespace\":\"XF\\\\Entity\",\"classes\":[{\"name\":\"Attachment\"}],\"methods\":[{\"name\":\"canView\",\"semantics\":{\"object_calls\":[\"canView\",\"getAttachmentHandler\",\"getContainerEntity\",\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\",\"content_type\",\"temp_hash\"]}},{\"name\":\"getFilename\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"filename\"]}},{\"name\":\"getExtension\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"extension\"]}},{\"name\":\"getFileSize\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"file_size\"]}},{\"name\":\"getIcon\",\"semantics\":{\"object_calls\":[\"app\",\"data\",\"getExtension\",\"getIcon\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getIconName\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"icon\"]}},{\"name\":\"hasThumbnail\",\"semantics\":{\"object_calls\":[\"hasThumbnail\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"hasRetinaThumbnail\",\"semantics\":{\"object_calls\":[\"hasRetinaThumbnail\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getWidth\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"width\"]}},{\"name\":\"getHeight\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"height\"]}},{\"name\":\"getThumbnailWidth\",\"semantics\":{\"object_calls\":[\"hasThumbnail\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"thumbnail_width\"]}},{\"name\":\"getThumbnailHeight\",\"semantics\":{\"object_calls\":[\"hasThumbnail\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"thumbnail_height\"]}},{\"name\":\"getThumbnailUrl\",\"semantics\":{\"object_calls\":[\"getThumbnailUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getRetinaThumbnailUrl\",\"semantics\":{\"object_calls\":[\"getRetinaThumbnailUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getThumbnailUrlFull\",\"semantics\":{\"object_calls\":[\"getThumbnailUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getRetinaThumbnailUrlFull\",\"semantics\":{\"object_calls\":[\"getRetinaThumbnailUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"isVideo\",\"semantics\":{\"object_calls\":[\"isVideo\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"isAudio\",\"semantics\":{\"object_calls\":[\"isAudio\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getTypeGrouping\",\"semantics\":{\"object_calls\":[\"getTypeGrouping\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\"]}},{\"name\":\"getDirectUrl\",\"semantics\":{\"object_calls\":[\"app\",\"buildLink\",\"canView\",\"getPublicUrl\",\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"temp_hash\"]}},{\"name\":\"getContainerLink\",\"semantics\":{\"object_calls\":[\"getContainerLink\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Container\",\"handler\"]}},{\"name\":\"getContainerTitle\",\"semantics\":{\"object_calls\":[\"getContainerTitle\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Container\",\"handler\"]}},{\"name\":\"getContentTypePhrase\",\"semantics\":{\"object_calls\":[\"getContentTypePhrase\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"handler\"]}},{\"name\":\"getHandler\",\"semantics\":{\"object_calls\":[\"getAttachmentHandler\",\"getAttachmentRepo\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_type\"]}},{\"name\":\"getContainer\",\"semantics\":{\"object_calls\":[\"getContainerEntity\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\",\"handler\"]}},{\"name\":\"setContainer\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"_getterCache\"]}},{\"name\":\"createDuplicate\",\"semantics\":{\"object_calls\":[\"create\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"_em\",\"attach_date\",\"data_id\",\"temp_hash\",\"unassociated\"]}},{\"name\":\"_preSave\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"\\\\LogicException\"],\"factory_literals\":[],\"object_properties\":[\"_errors\",\"content_id\",\"temp_hash\",\"unassociated\"]}},{\"name\":\"_postSave\",\"semantics\":{\"object_calls\":[\"fastUpdate\",\"isInsert\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"attach_count\"]}},{\"name\":\"_preDelete\",\"semantics\":{\"object_calls\":[\"beforeAttachmentDelete\",\"getAttachmentHandler\",\"getContainerEntity\",\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\",\"content_type\"]}},{\"name\":\"_postDelete\",\"semantics\":{\"object_calls\":[\"fastUpdate\",\"getAttachmentHandler\",\"getContainerEntity\",\"onAttachmentDelete\",\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"attach_count\",\"content_id\",\"content_type\"]}},{\"name\":\"setupApiResultData\",\"semantics\":{\"object_calls\":[\"getDirectUrl\",\"getRetinaThumbnailUrl\",\"getThumbnailUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Data\",\"direct_url\",\"file_size\",\"filename\",\"has_retina_thumbnail\",\"has_thumbnail\",\"height\",\"is_audio\",\"is_video\",\"retina_thumbnail_url\",\"thumbnail_url\",\"width\"]}},{\"name\":\"getStructure\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"columns\",\"defaultWith\",\"getters\",\"primaryKey\",\"relations\",\"shortName\",\"table\",\"withAliases\"]}},{\"name\":\"getAttachmentRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Entity/PermissionInterfaceGroup.php\",\"state\":\"OK\",\"sha256\":\"e3c3342f3240cfb241eb7682d70e29db47b4e0614afbca9b8a7e08737ad30696\",\"bytes\":4570,\"namespace\":\"XF\\\\Entity\",\"classes\":[{\"name\":\"PermissionInterfaceGroup\"}],\"methods\":[{\"name\":\"getTitle\",\"semantics\":{\"object_calls\":[\"getPhraseName\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getPhraseName\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"interface_group_id\"]}},{\"name\":\"getMasterPhrase\",\"semantics\":{\"object_calls\":[\"_getDeferredValue\",\"create\",\"getPhraseName\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"MasterTitle\",\"_em\",\"addon_id\",\"language_id\",\"title\"]}},{\"name\":\"_postSave\",\"semantics\":{\"object_calls\":[\"fetch\",\"finder\",\"getBehavior\",\"getExistingRelation\",\"getExistingValue\",\"getOption\",\"getPhraseName\",\"isChanged\",\"isUpdate\",\"save\",\"setOption\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"addon_id\",\"interface_group_id\",\"title\"]}},{\"name\":\"_preDelete\",\"semantics\":{\"object_calls\":[\"db\",\"error\",\"fetchOne\",\"getOption\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"interface_group_id\"]}},{\"name\":\"_postDelete\",\"semantics\":{\"object_calls\":[\"db\",\"delete\",\"getBehavior\",\"getOption\",\"setOption\",\"update\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"MasterTitle\",\"interface_group_id\"]}},{\"name\":\"_setupDefaults\",\"semantics\":{\"object_calls\":[\"getDefaultAddOnId\",\"getRepository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"_em\",\"addon_id\"]}},{\"name\":\"getStructure\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"behaviors\",\"columns\",\"getters\",\"options\",\"primaryKey\",\"relations\",\"shortName\",\"table\"]}}]},{\"path\":\"src/XF/Entity/UserAlert.php\",\"state\":\"OK\",\"sha256\":\"a749d5470269ec4fa9cc9fe419b9e4446208d8914e905ce5d8442292494a5cd2\",\"bytes\":6367,\"namespace\":\"XF\\\\Entity\",\"classes\":[{\"name\":\"UserAlert\"}],\"methods\":[{\"name\":\"canView\",\"semantics\":{\"object_calls\":[\"canViewAlert\",\"canViewContent\",\"getHandler\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Content\"]}},{\"name\":\"getHandler\",\"semantics\":{\"object_calls\":[\"getAlertHandler\",\"getAlertRepo\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_type\"]}},{\"name\":\"getContent\",\"semantics\":{\"object_calls\":[\"getContent\",\"getHandler\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\"]}},{\"name\":\"setContent\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"_getterCache\"]}},{\"name\":\"render\",\"semantics\":{\"object_calls\":[\"getHandler\",\"render\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"isAlertRenderable\",\"semantics\":{\"object_calls\":[\"getHandler\",\"isAlertRenderable\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"isUnviewed\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"view_date\"]}},{\"name\":\"isUnread\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"read_date\"]}},{\"name\":\"isUnreadInUi\",\"semantics\":{\"object_calls\":[\"getOption\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"read_date\"]}},{\"name\":\"isRecentlyRead\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"read_date\"]}},{\"name\":\"_saveToSource\",\"semantics\":{\"object_calls\":[\"db\",\"isInsert\",\"query\"],\"static_calls\":[\"_saveToSource\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerted_user_id\"]}},{\"name\":\"_postSave\",\"semantics\":{\"object_calls\":[\"db\",\"isChanged\",\"isUpdate\",\"query\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerted_user_id\",\"read_date\",\"view_date\"]}},{\"name\":\"_postDelete\",\"semantics\":{\"object_calls\":[\"db\",\"query\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerted_user_id\",\"read_date\",\"view_date\"]}},{\"name\":\"setupApiResultData\",\"semantics\":{\"object_calls\":[\"getApiOutput\",\"getHandler\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alert_text\",\"alert_url\"]}},{\"name\":\"getStructure\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"columns\",\"getters\",\"options\",\"primaryKey\",\"relations\",\"shortName\",\"table\",\"withAliases\"]}},{\"name\":\"getAlertRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Entity/UserAlertOptOut.php\",\"state\":\"OK\",\"sha256\":\"53f976e8470c6694e4ad465617e1cf4435a562f15d19d9046a95b6a21432ea95\",\"bytes\":575,\"namespace\":\"XF\\\\Entity\",\"classes\":[{\"name\":\"UserAlertOptOut\"}],\"methods\":[{\"name\":\"getStructure\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"columns\",\"primaryKey\",\"shortName\",\"table\"]}}]},{\"path\":\"src/XF/Finder/UserAlertFinder.php\",\"state\":\"OK\",\"sha256\":\"35b133b40d6bb684dba4c3397724a1147f10aec3970d5f66a071106c6342892b\",\"bytes\":438,\"namespace\":\"XF\\\\Finder\",\"classes\":[{\"name\":\"UserAlertFinder\"}],\"methods\":[]},{\"path\":\"src/XF/Job/ActivitySummaryEmail.php\",\"state\":\"OK\",\"sha256\":\"62305a187ff6ef8e18552ba50e35fd5055a8e0a0ddd162e90350176d4281f25b\",\"bytes\":3879,\"namespace\":\"XF\\\\Job\",\"classes\":[{\"name\":\"ActivitySummaryEmail\"}],\"methods\":[{\"name\":\"count\",\"semantics\":{\"object_calls\":[\"canReceiveActivitySummaryEmail\",\"complete\",\"em\",\"fetch\",\"find\",\"finder\",\"generateAndSendEmail\",\"limitExceeded\",\"order\",\"preFetchSectionData\",\"resume\",\"whereIds\"],\"static_calls\":[],\"new_classes\":[\"Timer\"],\"factory_literals\":[],\"object_properties\":[\"app\",\"data\",\"sections\"]}},{\"name\":\"run\",\"semantics\":{\"object_calls\":[\"canReceiveActivitySummaryEmail\",\"complete\",\"em\",\"fetch\",\"find\",\"finder\",\"generateAndSendEmail\",\"limitExceeded\",\"order\",\"preFetchSectionData\",\"resume\",\"whereIds\"],\"static_calls\":[],\"new_classes\":[\"Timer\"],\"factory_literals\":[],\"object_properties\":[\"app\",\"data\",\"sections\"]}},{\"name\":\"preFetchSectionData\",\"semantics\":{\"object_calls\":[\"cacheDataIfNeeded\",\"getDataForJob\",\"setupDataFromJob\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"data\",\"handler\",\"sections\"]}},{\"name\":\"generateAndSendEmail\",\"semantics\":{\"object_calls\":[\"canSendActivitySummary\",\"fastUpdate\",\"generateEmailData\",\"getDisplayValues\",\"getRenderedSections\",\"mailer\",\"newMail\",\"send\",\"setTemplate\",\"setToUser\",\"userLanguage\"],\"static_calls\":[\"app\",\"language\",\"setLanguage\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"generateEmailData\",\"semantics\":{\"object_calls\":[\"addDisplayValue\",\"addDisplayValues\",\"addInstanceSpecificDisplayValues\",\"addRenderedSection\",\"getGlobalDisplayValues\",\"getTitle\",\"getTotal\",\"render\",\"repository\"],\"static_calls\":[],\"new_classes\":[\"Instance\"],\"factory_literals\":[],\"object_properties\":[\"app\",\"handler\",\"sections\",\"show_value\"]}},{\"name\":\"getStatusMessage\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"data\"]}}]},{\"path\":\"src/XF/Job/UserEmail.php\",\"state\":\"OK\",\"sha256\":\"df18ca0fec0a3b9583846e1decc1a8678c36000e2e18e8b86b4c766c6edbf488\",\"bytes\":3462,\"namespace\":\"XF\\\\Job\",\"classes\":[{\"name\":\"UserEmail\"}],\"methods\":[{\"name\":\"is_string\",\"semantics\":{\"object_calls\":[\"generateTextBody\",\"getMail\",\"mailer\",\"options\",\"prepareTokens\",\"renderPhrase\",\"replacePhrases\",\"send\",\"setFrom\",\"setTemplate\",\"userLanguage\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"boardTitle\",\"data\",\"defaultEmailAddress\",\"email\",\"emailSenderName\"]}},{\"name\":\"executeAction\",\"semantics\":{\"object_calls\":[\"generateTextBody\",\"getMail\",\"mailer\",\"options\",\"prepareTokens\",\"renderPhrase\",\"replacePhrases\",\"send\",\"setFrom\",\"setTemplate\",\"userLanguage\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"boardTitle\",\"data\",\"defaultEmailAddress\",\"email\",\"emailSenderName\"]}},{\"name\":\"getActionDescription\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"prepareTokens\",\"semantics\":{\"object_calls\":[\"buildLink\",\"router\"],\"static_calls\":[\"emailToUtf8\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:canonical:email-stop/all\",\"buildLink:canonical:email-stop/mailing-list\"],\"object_properties\":[\"app\",\"email\",\"user_id\",\"username\"]}},{\"name\":\"replacePhrases\",\"semantics\":{\"object_calls\":[\"replacePhrasePlaceholders\",\"stringFormatter\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"getMail\",\"semantics\":{\"object_calls\":[\"mailer\",\"newMail\",\"setToUser\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}}]},{\"path\":\"src/XF/Mail/Mailer.php\",\"state\":\"OK\",\"sha256\":\"0554377da027800d64a768b3cc84d7aa76f1f81af0d4f31d03e89df97bceaddf\",\"bytes\":13946,\"namespace\":\"XF\\\\Mail\",\"classes\":[{\"name\":\"Mailer\"}],\"methods\":[{\"name\":\"count\",\"semantics\":{\"object_calls\":[\"get\"],\"static_calls\":[\"options\",\"registry\"],\"new_classes\":[\"DkimSigner\"],\"factory_literals\":[\"get:emailDkimKey\"],\"object_properties\":[\"defaultTransport\",\"emailDkim\",\"queue\",\"signer\",\"styler\",\"templater\"]}},{\"name\":\"__construct\",\"semantics\":{\"object_calls\":[\"get\"],\"static_calls\":[\"options\",\"registry\"],\"new_classes\":[\"DkimSigner\"],\"factory_literals\":[\"get:emailDkimKey\"],\"object_properties\":[\"defaultTransport\",\"emailDkim\",\"queue\",\"signer\",\"styler\",\"templater\"]}},{\"name\":\"getMailClass\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"mailClass\"]}},{\"name\":\"setMailClass\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"mailClass\"]}},{\"name\":\"setDefaultFrom\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultFromEmail\",\"defaultFromName\"]}},{\"name\":\"getDefaultFromEmail\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultFromEmail\"]}},{\"name\":\"getDefaultFromName\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultFromName\"]}},{\"name\":\"setDefaultReturnPath\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultReturnPath\"]}},{\"name\":\"getDefaultReturnPath\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultReturnPath\"]}},{\"name\":\"setDefaultUseVerp\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultUseVerp\"]}},{\"name\":\"getDefaultUseVerp\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultUseVerp\"]}},{\"name\":\"newMail\",\"semantics\":{\"object_calls\":[\"applyMailDefaults\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"mailClass\"]}},{\"name\":\"applyMailDefaults\",\"semantics\":{\"object_calls\":[\"setFrom\",\"setReturnPath\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultFromEmail\",\"defaultFromName\",\"defaultReturnPath\",\"defaultUseVerp\"]}},{\"name\":\"calculateBounceHmac\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"config\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"generateTextBody\",\"semantics\":{\"object_calls\":[\"generateTextBody\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"styler\"]}},{\"name\":\"renderMailTemplate\",\"semantics\":{\"object_calls\":[\"pullComponentsFromTemplateOutput\",\"renderPartialMailTemplate\",\"renderTemplate\",\"styleHtml\"],\"static_calls\":[\"language\"],\"new_classes\":[\"\\\\LogicException\"],\"factory_literals\":[],\"object_properties\":[\"pageParams\",\"styler\",\"templater\"]}},{\"name\":\"renderPartialMailTemplate\",\"semantics\":{\"object_calls\":[\"addDefaultParam\",\"getDefaultTemplateParams\",\"renderTemplate\",\"setLanguage\"],\"static_calls\":[\"language\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"pageParams\",\"templater\"]}},{\"name\":\"getDefaultTemplateParams\",\"semantics\":{\"object_calls\":[\"config\",\"container\",\"get\",\"getDayStartTimestamps\",\"getStyle\",\"isRtl\",\"options\",\"simpleCache\"],\"static_calls\":[\"app\"],\"new_classes\":[],\"factory_literals\":[\"get:reactions\"],\"object_properties\":[\"templater\"]}},{\"name\":\"pullComponentsFromTemplateOutput\",\"semantics\":{\"object_calls\":[\"generateTextBody\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"send\",\"semantics\":{\"object_calls\":[\"getAddress\",\"getFrom\",\"getTo\",\"send\",\"sign\"],\"static_calls\":[\"logException\",\"options\",\"toEmail\"],\"new_classes\":[\"TransportException\"],\"factory_literals\":[],\"object_properties\":[\"defaultTransport\",\"emailDkim\",\"signer\"]}},{\"name\":\"queue\",\"semantics\":{\"object_calls\":[\"enqueue\",\"jobManager\",\"send\"],\"static_calls\":[\"app\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"queue\"]}},{\"name\":\"getDefaultTransport\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultTransport\"]}},{\"name\":\"setDefaultTransport\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultTransport\"]}},{\"name\":\"getTransportFromOption\",\"semantics\":{\"object_calls\":[\"config\",\"create\",\"disableTls\",\"getStream\",\"setLocalDomain\",\"setPingThreshold\",\"setSavePath\"],\"static_calls\":[\"app\"],\"new_classes\":[\"Dsn\",\"EsmtpTransportFactory\",\"FileTransport\",\"SendmailTransport\"],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Mvc/Controller.php\",\"state\":\"OK\",\"sha256\":\"ebf61a841470486cbfb6a9ec9d4ea2efa8d5f6aacf35a05baf443b79258cd5aa\",\"bytes\":22229,\"namespace\":\"XF\\\\Mvc\",\"classes\":[{\"name\":\"Controller\"}],\"methods\":[{\"name\":\"array_key_exists\",\"semantics\":{\"object_calls\":[\"extension\",\"init\",\"resolveExtendedClassToRoot\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\",\"rootClass\"]}},{\"name\":\"__construct\",\"semantics\":{\"object_calls\":[\"extension\",\"init\",\"resolveExtendedClassToRoot\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\",\"rootClass\"]}},{\"name\":\"setupFromMatch\",\"semantics\":{\"object_calls\":[\"getResponseType\",\"getSectionContext\",\"setDefaultSectionContext\",\"setResponseType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"setupFromReply\",\"semantics\":{\"object_calls\":[\"getContainerKey\",\"getContentKey\",\"getResponseType\",\"getSectionContext\",\"getViewOptions\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"containerKey\",\"contentKey\",\"responseType\",\"sectionContext\",\"viewOptions\"]}},{\"name\":\"responseType\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"responseType\"]}},{\"name\":\"setResponseType\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"responseType\"]}},{\"name\":\"sectionContext\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"sectionContext\"]}},{\"name\":\"setSectionContext\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"sectionContext\"]}},{\"name\":\"setDefaultSectionContext\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"sectionContext\"]}},{\"name\":\"setContainerKey\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"containerKey\"]}},{\"name\":\"setContentKey\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"contentKey\"]}},{\"name\":\"setViewOption\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"viewOptions\"]}},{\"name\":\"preDispatch\",\"semantics\":{\"object_calls\":[\"checkCsrfIfNeeded\",\"fire\",\"preDispatchType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"rootClass\"]}},{\"name\":\"checkCsrfIfNeeded\",\"semantics\":{\"object_calls\":[\"assertValidCsrfToken\",\"isGet\",\"isHead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"responseType\"]}},{\"name\":\"assertValidCsrfToken\",\"semantics\":{\"object_calls\":[\"error\",\"exception\",\"validateCsrfToken\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"validateCsrfToken\",\"semantics\":{\"object_calls\":[\"filter\",\"getCookie\",\"getServer\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\"]}},{\"name\":\"assertCorrectVersion\",\"semantics\":{\"object_calls\":[\"config\",\"exception\",\"message\",\"options\",\"setPageParam\"],\"static_calls\":[\"config\",\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"currentVersionId\"]}},{\"name\":\"assertCookieConsent\",\"semantics\":{\"object_calls\":[\"cookieConsent\",\"exception\",\"getCurrentUrlWithoutAjaxParams\",\"getUnconsentedGroups\",\"getUnconsentedThirdParties\",\"setResponseCode\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"assertCaptchaCookieConsent\",\"semantics\":{\"object_calls\":[\"assertCookieConsent\",\"cookieConsent\",\"getCaptchaThirdParties\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"assertPasswordVerified\",\"semantics\":{\"object_calls\":[\"exception\",\"getAuthenticationHandler\",\"getCurrentUrlWithoutAjaxParams\",\"getExistingCredentialsForUser\",\"hasPassword\",\"repository\",\"saveStateToSession\",\"service\",\"session\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Auth\",\"user_id\"]}},{\"name\":\"getCurrentUrlWithoutAjaxParams\",\"semantics\":{\"object_calls\":[\"buildFinalUrl\",\"getRequestQueryParamsExcept\",\"getRoutePath\",\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"postDispatch\",\"semantics\":{\"object_calls\":[\"applyReplyChanges\",\"fire\",\"postDispatchType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"rootClass\"]}},{\"name\":\"applyReplyChanges\",\"semantics\":{\"object_calls\":[\"getContainerKey\",\"getContentKey\",\"getResponseType\",\"getSectionContext\",\"getViewOptions\",\"setContainerKey\",\"setContentKey\",\"setResponseType\",\"setSectionContext\",\"setViewOption\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"containerKey\",\"contentKey\",\"responseType\",\"sectionContext\",\"viewOptions\"]}},{\"name\":\"assertPostOnly\",\"semantics\":{\"object_calls\":[\"error\",\"exception\",\"header\",\"isPost\",\"response\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"request\"]}},{\"name\":\"assertDraftsEnabled\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"exception\",\"options\",\"setJsonParam\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"saveDrafts\"]}},{\"name\":\"isLoggedIn\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"user_id\"]}},{\"name\":\"getDynamicRedirect\",\"semantics\":{\"object_calls\":[\"getDynamicRedirect\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"getDynamicRedirectIfNot\",\"semantics\":{\"object_calls\":[\"getDynamicRedirectIfNot\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"error\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[\"Error\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"message\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"Message\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"redirect\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[\"Redirect\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"redirectPermanently\",\"semantics\":{\"object_calls\":[\"redirect\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"reroute\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"Reroute\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"rerouteController\",\"semantics\":{\"object_calls\":[\"getNewRouteMatch\",\"reroute\",\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"responseType\"]}},{\"name\":\"reroutePath\",\"semantics\":{\"object_calls\":[\"reroute\",\"routeToController\",\"router\",\"setResponseType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"responseType\"]}},{\"name\":\"view\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"View\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"exception\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"Exception\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"errorException\",\"semantics\":{\"object_calls\":[\"error\",\"exception\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"noPermission\",\"semantics\":{\"object_calls\":[\"actionNoPermission\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"notFound\",\"semantics\":{\"object_calls\":[\"actionNotFound\",\"plugin\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertRecordExists\",\"semantics\":{\"object_calls\":[\"assertRecordExistsByUnique\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertRecordExistsByUnique\",\"semantics\":{\"object_calls\":[\"em\",\"exception\",\"find\",\"findOne\",\"notFound\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertViewableRecord\",\"semantics\":{\"object_calls\":[\"assertRecordExists\",\"canView\",\"exception\",\"noPermission\"],\"static_calls\":[],\"new_classes\":[\"\\\\LogicException\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertCanonicalUrl\",\"semantics\":{\"object_calls\":[\"exception\",\"getBasePath\",\"getFullBasePath\",\"getRequestUri\",\"isGet\",\"isHead\",\"redirectPermanently\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"responseType\"]}},{\"name\":\"assertValidPage\",\"semantics\":{\"object_calls\":[\"buildLink\",\"exception\",\"isGet\",\"redirect\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"responseType\"]}},{\"name\":\"plugin\",\"semantics\":{\"object_calls\":[\"container\",\"extendClass\"],\"static_calls\":[\"stringToClass\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"app\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"request\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"filter\",\"semantics\":{\"object_calls\":[\"filter\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"filterArray\",\"semantics\":{\"object_calls\":[\"filterArray\",\"inputFilterer\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"filterFormJson\",\"semantics\":{\"object_calls\":[\"exists\",\"filter\",\"filterArray\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"filterPage\",\"semantics\":{\"object_calls\":[\"filter\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"isPost\",\"semantics\":{\"object_calls\":[\"isPost\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\"]}},{\"name\":\"formAction\",\"semantics\":{\"object_calls\":[\"formAction\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"searcher\",\"semantics\":{\"object_calls\":[\"searcher\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"service\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"helper\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"session\",\"semantics\":{\"object_calls\":[\"session\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"router\",\"semantics\":{\"object_calls\":[\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"buildLink\",\"semantics\":{\"object_calls\":[\"buildLink\",\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"buildPaginatedLink\",\"semantics\":{\"object_calls\":[\"buildPaginatedLink\",\"router\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"buildLinkHash\",\"semantics\":{\"object_calls\":[\"app\",\"getRedirectHash\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"registry\",\"semantics\":{\"object_calls\":[\"registry\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"options\",\"semantics\":{\"object_calls\":[\"options\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"captchaIsValid\",\"semantics\":{\"object_calls\":[\"captcha\",\"isShownCaptcha\",\"isValid\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"captchaResponse\",\"semantics\":{\"object_calls\":[\"captcha\",\"getResponse\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"isContentViewCounted\",\"semantics\":{\"object_calls\":[\"getRobotName\",\"isPrefetch\",\"options\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"user_id\",\"viewCounts\"]}},{\"name\":\"data\",\"semantics\":{\"object_calls\":[\"data\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"em\",\"semantics\":{\"object_calls\":[\"em\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"finder\",\"semantics\":{\"object_calls\":[\"em\",\"getFinder\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"repository\",\"semantics\":{\"object_calls\":[\"em\",\"getRepository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}}]},{\"path\":\"src/XF/Mvc/Router.php\",\"state\":\"OK\",\"sha256\":\"cb338fc52f4d12726f820b936ae662f7fb6e616b30e5865a28af03af06f2e5bc\",\"bytes\":20850,\"namespace\":\"XF\\\\Mvc\",\"classes\":[{\"name\":\"Router\"}],\"methods\":[{\"name\":\"array_slice\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"linkFormatter\",\"routes\"]}},{\"name\":\"__construct\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"linkFormatter\",\"routes\"]}},{\"name\":\"setLinkFormatter\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"linkFormatter\"]}},{\"name\":\"getLinkFormatter\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"linkFormatter\"]}},{\"name\":\"setPather\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"pather\"]}},{\"name\":\"getPather\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"pather\"]}},{\"name\":\"setRouteFilters\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routeFiltersIn\",\"routeFiltersOut\"]}},{\"name\":\"getRouteFiltersIn\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routeFiltersIn\"]}},{\"name\":\"getRouteFiltersOut\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routeFiltersOut\"]}},{\"name\":\"setIndexRoute\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"indexRoute\"]}},{\"name\":\"getIndexRoute\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"indexRoute\"]}},{\"name\":\"setIncludeTitleInUrls\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"includeTitleInUrls\"]}},{\"name\":\"getIncludeTitlesInUrls\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"includeTitleInUrls\"]}},{\"name\":\"setRomanizeUrls\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"romanizeUrls\"]}},{\"name\":\"getRomanizeUrls\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"romanizeUrls\"]}},{\"name\":\"addRoute\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routes\"]}},{\"name\":\"getRoutes\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routes\"]}},{\"name\":\"overrideRoute\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routes\"]}},{\"name\":\"addRoutePreProcessor\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routePreProcessors\"]}},{\"name\":\"getRoutePreProcessors\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routePreProcessors\"]}},{\"name\":\"routePreProcessRouteFilter\",\"semantics\":{\"object_calls\":[\"routeFilterToRegex\",\"setPathRewrite\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routeFiltersIn\"]}},{\"name\":\"routePreProcessExtension\",\"semantics\":{\"object_calls\":[\"setPathRewrite\",\"setResponseType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routePreProcessResponseType\",\"semantics\":{\"object_calls\":[\"filter\",\"setResponseType\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"routeToController\",\"semantics\":{\"object_calls\":[\"getNewRouteMatch\",\"getPathRewrite\",\"setAction\",\"setController\",\"setPathRewrite\",\"setSectionContext\",\"suffixMatchesRoute\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultAction\",\"routePreProcessors\",\"routes\"]}},{\"name\":\"suffixMatchesRoute\",\"semantics\":{\"object_calls\":[\"generateMatchRegexInner\",\"setAction\",\"setAnchor\",\"setController\",\"setParams\",\"setSectionContext\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"defaultAction\"]}},{\"name\":\"buildLink\",\"semantics\":{\"object_calls\":[\"buildFinalUrl\",\"buildLinkPath\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"buildLinkPath\",\"semantics\":{\"object_calls\":[\"buildRouteUrl\",\"manipulateLinkPathInternal\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routes\"]}},{\"name\":\"buildPaginatedLink\",\"semantics\":{\"object_calls\":[\"buildLink\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"prepareStringForUrl\",\"semantics\":{\"object_calls\":[\"moveEmojiToPlaceholders\",\"stringFormatter\"],\"static_calls\":[\"app\",\"normalize\",\"options\",\"transliterate\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"includeEmojiInTitles\",\"romanizeUrls\",\"stringCache\"]}},{\"name\":\"buildRouteUrl\",\"semantics\":{\"object_calls\":[\"applyRouteFilterToUrl\",\"prepareStringForUrl\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"includeTitleInUrls\",\"indexRoute\"]}},{\"name\":\"applyRouteFilterToUrl\",\"semantics\":{\"object_calls\":[\"routeFilterToRegex\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"routeFiltersOut\",\"routeFiltersOutRegex\"]}},{\"name\":\"buildFinalUrl\",\"semantics\":{\"object_calls\":[\"applyPather\",\"buildQueryString\",\"getFinalLink\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"linkFormatter\"]}},{\"name\":\"applyPather\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"pather\"]}},{\"name\":\"buildQueryString\",\"semantics\":{\"object_calls\":[\"buildQueryString\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getNewRouteMatch\",\"semantics\":{\"object_calls\":[],\"static_calls\":[],\"new_classes\":[\"RouteMatch\"],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Pub/Controller/AccountController.php\",\"state\":\"OK\",\"sha256\":\"73e755ef485d737f1a74e576827af1a127ec95c153f3a818eb20b344f5243270\",\"bytes\":54974,\"namespace\":\"XF\\\\Pub\\\\Controller\",\"classes\":[{\"name\":\"AccountController\"}],\"methods\":[{\"name\":\"boolval\",\"semantics\":{\"object_calls\":[\"app\",\"assertRegistrationRequired\",\"header\",\"response\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"preDispatchController\",\"semantics\":{\"object_calls\":[\"app\",\"assertRegistrationRequired\",\"header\",\"response\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionIndex\",\"semantics\":{\"object_calls\":[\"rerouteController\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"addAccountWrapperParams\",\"semantics\":{\"object_calls\":[\"setParam\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionAccountDetails\",\"semantics\":{\"object_calls\":[\"accountDetailsSaveProcess\",\"addAccountWrapperParams\",\"buildLink\",\"canChangeEmail\",\"canEditProfile\",\"isPost\",\"redirect\",\"run\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/account-details\"],\"object_properties\":[\"PendingUsernameChange\"]}},{\"name\":\"accountDetailsSaveProcess\",\"semantics\":{\"object_calls\":[\"app\",\"basicEntitySave\",\"check\",\"complete\",\"contentChecker\",\"customFieldsSaveProcess\",\"filter\",\"formAction\",\"fromInput\",\"getFinalDecision\",\"getIp\",\"getRelationOrDefault\",\"hasPermission\",\"isSpamCheckRequired\",\"logError\",\"logIp\",\"logSpamTrigger\",\"plugin\",\"repository\",\"setDob\",\"setup\",\"setupEntityInput\",\"spam\",\"toggleActivitySummaryEmail\",\"validate\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"user_id\"]}},{\"name\":\"setupUsernameChange\",\"semantics\":{\"object_calls\":[\"error\",\"exception\",\"filter\",\"options\",\"service\",\"setChangeReason\",\"setNewUsername\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"usernameChangeRequireReason\"]}},{\"name\":\"actionUsername\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canChangeUsername\",\"error\",\"isPost\",\"noPermission\",\"redirect\",\"save\",\"setupUsernameChange\",\"validate\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/account-details\"],\"object_properties\":[\"change_state\"]}},{\"name\":\"actionEmail\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canChangeEmail\",\"emailSaveProcess\",\"error\",\"getAuthenticationHandler\",\"hasPassword\",\"isPost\",\"noPermission\",\"redirect\",\"run\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/account-details\"],\"object_properties\":[\"Auth\"]}},{\"name\":\"emailSaveProcess\",\"semantics\":{\"object_calls\":[\"apply\",\"authenticate\",\"canChangeEmail\",\"filter\",\"formAction\",\"isValid\",\"logError\",\"save\",\"service\",\"validate\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"email\",\"user_state\"]}},{\"name\":\"actionSignature\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canEditSignature\",\"fromInput\",\"getDisabledEditorButtons\",\"isPost\",\"noPermission\",\"plugin\",\"redirect\",\"run\",\"service\",\"signatureSaveProcess\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/signature\"],\"object_properties\":[]}},{\"name\":\"signatureSaveProcess\",\"semantics\":{\"object_calls\":[\"apply\",\"complete\",\"formAction\",\"getIp\",\"logErrors\",\"logIp\",\"repository\",\"save\",\"setSignature\",\"validate\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"user_id\"]}},{\"name\":\"actionPrivacy\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"isPost\",\"redirect\",\"run\",\"savePrivacyProcess\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/privacy\"],\"object_properties\":[]}},{\"name\":\"savePrivacyProcess\",\"semantics\":{\"object_calls\":[\"basicEntitySave\",\"complete\",\"filter\",\"formAction\",\"getIp\",\"getRelationOrDefault\",\"logIp\",\"repository\",\"setup\",\"setupEntityInput\",\"toggleActivitySummaryEmail\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"request\",\"user_id\"]}},{\"name\":\"actionPreferences\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"data\",\"getAlertOptOuts\",\"getTimeZoneOptions\",\"getUserSelectableLanguages\",\"getUserSelectableStyles\",\"isPost\",\"options\",\"preferencesSaveProcess\",\"redirect\",\"repository\",\"run\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/preferences\"],\"object_properties\":[\"app\",\"defaultStyleId\"]}},{\"name\":\"preferencesSaveProcess\",\"semantics\":{\"object_calls\":[\"apply\",\"basicEntitySave\",\"canUsePushNotifications\",\"complete\",\"customFieldsSaveProcess\",\"filter\",\"formAction\",\"getAlertOptOutActions\",\"getIp\",\"getRelation\",\"getRelationOrDefault\",\"logIp\",\"remove\",\"repository\",\"restoreDismissedNotices\",\"session\",\"setup\",\"setupEntityInput\",\"toggleActivitySummaryEmail\",\"validate\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"is_moderator\",\"request\",\"user_id\"]}},{\"name\":\"actionDismissNotice\",\"semantics\":{\"object_calls\":[\"assertRecordExists\",\"canDismissNotice\",\"dismissNotice\",\"error\",\"filter\",\"getDynamicRedirect\",\"isPost\",\"redirect\",\"remove\",\"repository\",\"session\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionAvatar\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canUploadAvatar\",\"coerceValue\",\"container\",\"deleteAvatar\",\"error\",\"filter\",\"getError\",\"getFile\",\"getGravatarUrl\",\"getPrintableErrorValue\",\"isPost\",\"isValid\",\"noPermission\",\"options\",\"redirect\",\"removeGravatar\",\"service\",\"setCrop\",\"setGravatar\",\"setImageFromExisting\",\"setImageFromUpload\",\"setJsonParams\",\"updateAvatar\",\"validator\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/avatar\"],\"object_properties\":[\"Profile\",\"app\",\"avatar_crop_x\",\"avatar_crop_y\",\"avatar_date\",\"avatar_height\",\"avatar_width\",\"gravatarEnable\",\"request\"]}},{\"name\":\"actionBanner\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canUploadProfileBanner\",\"deleteBanner\",\"error\",\"filter\",\"getError\",\"getFile\",\"isPost\",\"noPermission\",\"redirect\",\"service\",\"setImageFromUpload\",\"setPosition\",\"updateBanner\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/banner\"],\"object_properties\":[\"Profile\",\"banner_date\",\"banner_position_y\",\"request\"]}},{\"name\":\"actionFollowing\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"fetch\",\"finder\",\"order\",\"view\",\"where\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Profile\",\"following\"]}},{\"name\":\"actionIgnored\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"em\",\"fetch\",\"finder\",\"getEmptyCollection\",\"order\",\"view\",\"where\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Profile\",\"ignored\"]}},{\"name\":\"actionReactions\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"addContentToReactions\",\"assertNotEmbeddedImageRequest\",\"assertValidPage\",\"canView\",\"fetch\",\"filter\",\"filterPage\",\"findUserReactions\",\"getUserReactionsTabSummary\",\"isRenderable\",\"limitByPage\",\"repository\",\"slice\",\"view\",\"where\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionSecurity\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"error\",\"fetch\",\"findPasskeysForUser\",\"getAuthenticationHandler\",\"getDynamicRedirect\",\"getTitle\",\"getValidProviderList\",\"handleVisitorPasswordChange\",\"hasPassword\",\"isDeprecated\",\"isEnabled\",\"isPost\",\"isValid\",\"noPermission\",\"plugin\",\"redirect\",\"repository\",\"save\",\"setInvalidateRememberKeys\",\"setupPasswordChange\",\"view\"],\"static_calls\":[\"config\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/security\"],\"object_properties\":[\"Auth\",\"security_lock\",\"user_id\"]}},{\"name\":\"setupPasswordChange\",\"semantics\":{\"object_calls\":[\"authenticate\",\"errorException\",\"filter\",\"service\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionPasskeyAdd\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"clearStateFromSession\",\"create\",\"error\",\"filter\",\"getChallenge\",\"getExistingCredentialsForUser\",\"isHostLocal\",\"isPost\",\"isSecure\",\"notFound\",\"options\",\"redirect\",\"repository\",\"request\",\"saveStateToSession\",\"service\",\"session\",\"setJsonParams\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/security\"],\"object_properties\":[\"boardTitle\",\"email\",\"request\",\"user_id\",\"username\"]}},{\"name\":\"actionPasskeyEdit\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertPasskeyExists\",\"assertPasswordVerified\",\"buildLink\",\"exception\",\"filter\",\"isPost\",\"noPermission\",\"redirect\",\"save\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/security\"],\"object_properties\":[\"name\",\"passkey_id\",\"user_id\"]}},{\"name\":\"actionPasskeyDelete\",\"semantics\":{\"object_calls\":[\"actionDelete\",\"assertPasskeyExists\",\"assertPasswordVerified\",\"buildLink\",\"exception\",\"noPermission\",\"plugin\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/passkeys/delete\",\"buildLink:account/passkeys/edit\",\"buildLink:account/security\"],\"object_properties\":[\"name\",\"passkey_id\",\"user_id\"]}},{\"name\":\"actionConnectedAccount\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"getAuthenticationHandler\",\"getConnectedAccountRepo\",\"getUsableProviders\",\"hasPassword\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Auth\"]}},{\"name\":\"actionConnectedAccountDisassociate\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"assertProviderExists\",\"buildLink\",\"clearToken\",\"count\",\"delete\",\"filter\",\"getAuthenticationHandler\",\"getHandler\",\"getRelationOrDefault\",\"getStorageState\",\"handleVisitorPasswordChange\",\"hasPassword\",\"noPermission\",\"plugin\",\"redirect\",\"resetPassword\",\"save\",\"service\",\"triggerConfirmation\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/connected-accounts\"],\"object_properties\":[\"Auth\",\"ConnectedAccounts\",\"connected_accounts\",\"provider_id\"]}},{\"name\":\"actionRequestPassword\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"canTriggerConfirmation\",\"error\",\"getAuthenticationHandler\",\"hasPassword\",\"isPost\",\"noPermission\",\"redirect\",\"resetPassword\",\"service\",\"triggerConfirmation\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/security\"],\"object_properties\":[\"Auth\"]}},{\"name\":\"actionTwoStep\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"filter\",\"getCurrentTrustKey\",\"getTfaTrustRecord\",\"getTitle\",\"getValidProviderList\",\"hasOtherTrustedDevices\",\"isDeprecated\",\"isEnabled\",\"plugin\",\"repository\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Option\",\"use_tfa\",\"user_id\"]}},{\"name\":\"actionTwoStepBackupCodes\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"canManage\",\"em\",\"find\",\"formatCodesForDisplay\",\"getUserProviderConfig\",\"redirect\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"handler\"]}},{\"name\":\"actionTwoStepAdd\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertPostOnly\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"canEnable\",\"canHaveMultiple\",\"em\",\"enableUserTfaProvider\",\"error\",\"filter\",\"find\",\"generateInitialData\",\"get\",\"getIp\",\"handleAdd\",\"logIp\",\"meetsRequirements\",\"redirect\",\"remove\",\"renderAdd\",\"repository\",\"requiresConfig\",\"session\",\"set\",\"trigger\",\"verify\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"handler\",\"provider_id\",\"request\",\"user_id\"]}},{\"name\":\"actionTwoStepEnable\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertPostOnly\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"canEnable\",\"em\",\"enableUserTfaProvider\",\"error\",\"filter\",\"find\",\"generateInitialData\",\"get\",\"getIp\",\"handleConfig\",\"logIp\",\"meetsRequirements\",\"redirect\",\"remove\",\"repository\",\"requiresConfig\",\"session\",\"set\",\"trigger\",\"verify\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"handler\",\"provider_id\",\"request\",\"user_id\"]}},{\"name\":\"actionTwoStepDisable\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"canDisable\",\"delete\",\"disableTfaForUser\",\"em\",\"find\",\"getIp\",\"isPost\",\"logIp\",\"redirect\",\"repository\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"UserEntries\",\"provider_id\",\"request\",\"user_id\"]}},{\"name\":\"actionTwoStepManage\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"canManage\",\"em\",\"find\",\"getUserProviderConfig\",\"handleManage\",\"redirect\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"handler\",\"provider_id\"]}},{\"name\":\"actionTwoStepTrustedDisable\",\"semantics\":{\"object_calls\":[\"assertPostOnly\",\"assertTfaEnabled\",\"assertTwoStepPasswordVerified\",\"buildLink\",\"filter\",\"getCurrentTrustKey\",\"plugin\",\"redirect\",\"repository\",\"untrustDevice\",\"untrustOtherDevices\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/two-step\"],\"object_properties\":[\"user_id\"]}},{\"name\":\"assertTwoStepPasswordVerified\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertPasswordVerified\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionUpgrades\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertCookieConsent\",\"em\",\"error\",\"fetch\",\"find\",\"findPaymentProfilesForList\",\"getCookieThirdParties\",\"getFilteredUserUpgradesForList\",\"isActive\",\"message\",\"repository\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Provider\",\"active\",\"payment_profile_ids\",\"user_state\"]}},{\"name\":\"actionUpgradePurchase\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionUpgradeUpdated\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"actionNewsFeed\",\"semantics\":{\"object_calls\":[\"buildLink\",\"redirectPermanently\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[\"buildLink:whats-new/news-feed\"],\"object_properties\":[]}},{\"name\":\"actionAlerts\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"addContentToAlerts\",\"assertNotEmbeddedImageRequest\",\"autoMarkUserAlertsRead\",\"fetch\",\"filter\",\"filterPage\",\"filterViewable\",\"findAlertsForUser\",\"limitByPage\",\"markInaccessibleAlertsReadIfNeeded\",\"markUserAlertsViewed\",\"options\",\"repository\",\"total\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alertsPerPage\",\"alerts_unviewed\",\"user_id\"]}},{\"name\":\"actionAlertsPopup\",\"semantics\":{\"object_calls\":[\"addContentToAlerts\",\"assertNotEmbeddedImageRequest\",\"autoMarkUserAlertsRead\",\"fetch\",\"filterViewable\",\"findAlertsForUser\",\"markInaccessibleAlertsReadIfNeeded\",\"markUserAlertsViewed\",\"options\",\"repository\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alertsPopupExpiryDays\",\"alerts_unviewed\",\"user_id\"]}},{\"name\":\"markInaccessibleAlertsReadIfNeeded\",\"semantics\":{\"object_calls\":[\"canView\",\"isUnread\",\"markInaccessibleAlertsRead\",\"repository\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unread\"]}},{\"name\":\"actionAlertsMarkRead\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"buildLink\",\"getDynamicRedirect\",\"isPost\",\"markUserAlertsRead\",\"redirect\",\"repository\",\"view\"],\"static_calls\":[\"phrase\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/alerts\"],\"object_properties\":[]}},{\"name\":\"actionAlertToggle\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertViewableAlert\",\"buildLink\",\"filter\",\"getDynamicRedirect\",\"isPost\",\"isUnread\",\"markUserAlertRead\",\"markUserAlertUnread\",\"redirect\",\"repository\",\"view\"],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/alerts\"],\"object_properties\":[]}},{\"name\":\"actionBookmarks\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"addContentToBookmarks\",\"buildLink\",\"canViewBookmarks\",\"count\",\"fetch\",\"filter\",\"filterPage\",\"filterViewable\",\"findBookmarksForUser\",\"findBookmarksForUserByLabel\",\"findLabelsForUser\",\"isPost\",\"limitByPage\",\"noPermission\",\"pluckNamed\",\"redirect\",\"repository\",\"slice\",\"total\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/bookmarks\"],\"object_properties\":[\"user_id\"]}},{\"name\":\"actionBookmarksPopup\",\"semantics\":{\"object_calls\":[\"addContentToBookmarks\",\"buildLink\",\"canViewBookmarks\",\"fetch\",\"filter\",\"filterViewable\",\"findBookmarksForUser\",\"findBookmarksForUserByLabel\",\"findLabelsForUser\",\"noPermission\",\"pluckNamed\",\"repository\",\"setJsonParam\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/bookmarks\"],\"object_properties\":[\"user_id\"]}},{\"name\":\"actionBookmarksAutoComplete\",\"semantics\":{\"object_calls\":[\"canViewBookmarks\",\"filter\",\"getLabelAutoCompleteResults\",\"noPermission\",\"repository\",\"setJsonParam\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"label\"]}},{\"name\":\"actionApplications\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"getConnectedClientsForUser\",\"repository\",\"rerouteController\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"client_id\"]}},{\"name\":\"actionApplicationsView\",\"semantics\":{\"object_calls\":[\"addAccountWrapperParams\",\"assertRecordExists\",\"getScopesForTokens\",\"repository\",\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"client_id\"]}},{\"name\":\"actionApplicationsRevoke\",\"semantics\":{\"object_calls\":[\"assertRecordExists\",\"buildLink\",\"isPost\",\"redirect\",\"repository\",\"revokeClientForUser\",\"view\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[\"buildLink:account/applications\"],\"object_properties\":[\"client_id\"]}},{\"name\":\"actionVisitorMenu\",\"semantics\":{\"object_calls\":[\"view\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"customFieldsSaveProcess\",\"semantics\":{\"object_calls\":[\"bulkSet\",\"filter\",\"filterEditable\",\"filterGroup\",\"getDefinitionSet\",\"getFieldDefinitions\",\"getRelationOrDefault\",\"saveEntity\",\"setup\",\"validateEntity\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"custom_fields\"]}},{\"name\":\"checkCsrfIfNeeded\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"checkCsrfIfNeeded\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertNotSecurityLocked\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"assertNotSecurityLocked\",\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"security_lock\"]}},{\"name\":\"assertPolicyAcceptance\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"assertPolicyAcceptance\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertBoardActive\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"assertBoardActive\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getActivityDetails\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertProviderExists\",\"semantics\":{\"object_calls\":[\"assertRecordExists\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertPasskeyExists\",\"semantics\":{\"object_calls\":[\"assertRecordExists\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"assertViewableAlert\",\"semantics\":{\"object_calls\":[\"assertRecordExists\",\"canView\",\"exception\",\"noPermission\",\"notFound\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerted_user_id\",\"user_id\"]}},{\"name\":\"assertTfaEnabled\",\"semantics\":{\"object_calls\":[\"exception\",\"noPermission\"],\"static_calls\":[\"config\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getConnectedAccountRepo\",\"semantics\":{\"object_calls\":[\"repository\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Repository/AttachmentRepository.php\",\"state\":\"OK\",\"sha256\":\"b4c62ab48da9ea2f7bbb78113ef3b42b4465528afbff1d0eb093336fa5359871\",\"bytes\":8705,\"namespace\":\"XF\\\\Repository\",\"classes\":[{\"name\":\"AttachmentRepository\"}],\"methods\":[{\"name\":\"is_array\",\"semantics\":{\"object_calls\":[\"fetch\",\"findAttachmentsByContent\",\"findAttachmentsByTempHash\",\"getAttachmentHandler\",\"getConstraints\",\"getContainerIdFromContext\",\"getContext\",\"toArray\"],\"static_calls\":[\"generateRandomString\"],\"new_classes\":[\"\\\\InvalidArgumentException\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getEditorData\",\"semantics\":{\"object_calls\":[\"fetch\",\"findAttachmentsByContent\",\"findAttachmentsByTempHash\",\"getAttachmentHandler\",\"getConstraints\",\"getContainerIdFromContext\",\"getContext\",\"toArray\"],\"static_calls\":[\"generateRandomString\"],\"new_classes\":[\"\\\\InvalidArgumentException\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findAttachmentsForList\",\"semantics\":{\"object_calls\":[\"finder\",\"setDefaultOrder\",\"with\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findAttachmentsByTempHash\",\"semantics\":{\"object_calls\":[\"finder\",\"order\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findAttachmentsByContent\",\"semantics\":{\"object_calls\":[\"finder\",\"order\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findAttachmentsByDataId\",\"semantics\":{\"object_calls\":[\"finder\",\"setDefaultOrder\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getAttachmentHandlers\",\"semantics\":{\"object_calls\":[\"getContentTypeField\"],\"static_calls\":[\"app\",\"extendClass\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getAttachmentHandler\",\"semantics\":{\"object_calls\":[\"getContentTypeFieldValue\"],\"static_calls\":[\"app\",\"extendClass\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getDefaultAttachmentConstraints\",\"semantics\":{\"object_calls\":[\"options\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"attachmentExtensions\",\"attachmentMaxDimensions\",\"attachmentMaxFileSize\",\"attachmentMaxPerMessage\"]}},{\"name\":\"applyVideoAttachmentConstraints\",\"semantics\":{\"object_calls\":[\"getAudioAttachmentExtensions\",\"getVideoAttachmentExtensions\",\"options\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"allowVideoUploads\"]}},{\"name\":\"getVideoAttachmentExtensions\",\"semantics\":{\"object_calls\":[\"app\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"inlineVideoTypes\"]}},{\"name\":\"getAudioAttachmentExtensions\",\"semantics\":{\"object_calls\":[\"app\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"inlineAudioTypes\"]}},{\"name\":\"getThumbnailSizes\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"options\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"attachmentThumbnailDimensions\",\"attachmentThumbnailRetina\"]}},{\"name\":\"logAttachmentView\",\"semantics\":{\"object_calls\":[\"db\",\"query\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"attachment_id\"]}},{\"name\":\"batchUpdateAttachmentViews\",\"semantics\":{\"object_calls\":[\"db\",\"emptyTable\",\"query\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"addAttachmentsToContent\",\"semantics\":{\"object_calls\":[\"fetch\",\"finder\",\"getBasicCollection\",\"getEmptyCollection\",\"getEntityId\",\"groupBy\",\"hydrateRelation\",\"order\",\"where\",\"with\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"em\"]}},{\"name\":\"deleteUnassociatedAttachments\",\"semantics\":{\"object_calls\":[\"db\",\"fastDeleteAttachmentsFromPairs\",\"fetchPairs\",\"options\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"saveDrafts\"]}},{\"name\":\"fastDeleteContentAttachments\",\"semantics\":{\"object_calls\":[\"db\",\"fastDeleteAttachmentsFromPairs\",\"fetchPairs\",\"quote\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"fastDeleteAttachmentsFromPairs\",\"semantics\":{\"object_calls\":[\"beginTransaction\",\"commit\",\"db\",\"delete\",\"query\",\"quote\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"deleteUnusedAttachmentData\",\"semantics\":{\"object_calls\":[\"delete\",\"fetch\",\"finder\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"countUnassociatedAttachmentsForUser\",\"semantics\":{\"object_calls\":[\"db\",\"fetchOne\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"user_id\"]}}]},{\"path\":\"src/XF/Repository/RouteRepository.php\",\"state\":\"OK\",\"sha256\":\"a975e1fb08fed7615407c737fe2960b94935bb0b7e65f8fb251eb26352e2bac5\",\"bytes\":1941,\"namespace\":\"XF\\\\Repository\",\"classes\":[{\"name\":\"RouteRepository\"}],\"methods\":[{\"name\":\"strlen\",\"semantics\":{\"object_calls\":[\"finder\",\"order\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findRoutesForList\",\"semantics\":{\"object_calls\":[\"finder\",\"order\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getRouteTypes\",\"semantics\":{\"object_calls\":[],\"static_calls\":[\"phrase\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getRouteCacheData\",\"semantics\":{\"object_calls\":[\"disableProcessingAddOnRoute\",\"fetch\",\"finder\",\"order\",\"where\",\"whereAddOnActive\",\"with\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"AddOn\",\"action_prefix\",\"build_class\",\"build_method\",\"context\",\"controller\",\"format\",\"is_processing\",\"route_prefix\",\"sub_name\"]}},{\"name\":\"rebuildRouteCache\",\"semantics\":{\"object_calls\":[\"getRouteCacheData\",\"set\"],\"static_calls\":[\"registry\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"rebuildRouteCaches\",\"semantics\":{\"object_calls\":[\"getRouteTypes\",\"rebuildRouteCache\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Repository/UserAlertRepository.php\",\"state\":\"OK\",\"sha256\":\"5efd6dac58b2a42da3a64db6bc36aaee2cefea1394105aa872b672b835590cd9\",\"bytes\":21675,\"namespace\":\"XF\\\\Repository\",\"classes\":[{\"name\":\"UserAlertRepository\"}],\"methods\":[{\"name\":\"count\",\"semantics\":{\"object_calls\":[\"finder\",\"order\",\"where\",\"whereAddOnActive\",\"whereOr\",\"with\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"findAlertsForUser\",\"semantics\":{\"object_calls\":[\"finder\",\"order\",\"where\",\"whereAddOnActive\",\"whereOr\",\"with\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"userReceivesAlert\",\"semantics\":{\"object_calls\":[\"doesReceiveAlert\",\"isIgnoring\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Option\",\"is_banned\",\"user_id\"]}},{\"name\":\"userReceivesPush\",\"semantics\":{\"object_calls\":[\"doesReceivePush\",\"isIgnoring\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Option\",\"is_banned\",\"user_id\"]}},{\"name\":\"alertFromUser\",\"semantics\":{\"object_calls\":[\"insertAlert\",\"userReceivesAlert\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"user_id\",\"username\"]}},{\"name\":\"alert\",\"semantics\":{\"object_calls\":[\"insertAlert\",\"userReceivesAlert\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"user_id\"]}},{\"name\":\"insertAlert\",\"semantics\":{\"object_calls\":[\"app\",\"create\",\"push\",\"save\",\"service\",\"userReceivesPush\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Receiver\",\"action\",\"alerted_user_id\",\"auto_read\",\"content_id\",\"content_type\",\"depends_on_addon_id\",\"em\",\"extra_data\",\"user_id\",\"username\"]}},{\"name\":\"fastDeleteAlertsToUser\",\"semantics\":{\"object_calls\":[\"deleteAlertsInternal\",\"finder\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"fastDeleteAlertsFromUser\",\"semantics\":{\"object_calls\":[\"deleteAlertsInternal\",\"finder\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"fastDeleteAlertsForContent\",\"semantics\":{\"object_calls\":[\"deleteAlertsInternal\",\"finder\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"deleteAlertsInternal\",\"semantics\":{\"object_calls\":[\"beginTransaction\",\"commit\",\"db\",\"delete\",\"fetchColumns\",\"query\",\"quote\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"markUserAlertsViewed\",\"semantics\":{\"object_calls\":[\"markAllUserAlertsViewedOrRead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"markUserAlertViewed\",\"semantics\":{\"object_calls\":[\"isUnviewed\",\"markUserAlertsViewedOrRead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Receiver\",\"alert_id\"]}},{\"name\":\"markUserAlertsRead\",\"semantics\":{\"object_calls\":[\"markAllUserAlertsViewedOrRead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"autoMarkUserAlertsRead\",\"semantics\":{\"object_calls\":[\"filter\",\"isUnread\",\"markSpecificUserAlertsRead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"auto_read\"]}},{\"name\":\"markSpecificUserAlertsRead\",\"semantics\":{\"object_calls\":[\"isUnread\",\"markUserAlertsViewedOrRead\",\"setOption\"],\"static_calls\":[],\"new_classes\":[\"\\\\LogicException\"],\"factory_literals\":[],\"object_properties\":[\"alert_id\",\"user_id\"]}},{\"name\":\"markUserAlertsReadForContent\",\"semantics\":{\"object_calls\":[\"db\",\"fetchAllColumn\",\"markUserAlertsViewedOrRead\",\"quote\"],\"static_calls\":[\"visitor\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unread\",\"user_id\"]}},{\"name\":\"markUserAlertRead\",\"semantics\":{\"object_calls\":[\"isUnread\",\"markUserAlertsViewedOrRead\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Receiver\",\"alert_id\"]}},{\"name\":\"markUserAlertUnread\",\"semantics\":{\"object_calls\":[\"isUnread\",\"markUserAlertsUnread\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"Receiver\",\"alert_id\"]}},{\"name\":\"markInaccessibleAlertsRead\",\"semantics\":{\"object_calls\":[\"addContentToAlerts\",\"canView\",\"container\",\"fetch\",\"filter\",\"finder\",\"markSpecificUserAlertsRead\",\"where\"],\"static_calls\":[\"app\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"depends_on_addon_id\",\"user_id\"]}},{\"name\":\"markAllUserAlertsViewedOrRead\",\"semantics\":{\"object_calls\":[\"app\",\"db\",\"executeTransaction\",\"isPrefetch\",\"request\",\"setAsSaved\",\"update\"],\"static_calls\":[],\"new_classes\":[\"\\\\LogicException\"],\"factory_literals\":[],\"object_properties\":[\"user_id\"]}},{\"name\":\"markUserAlertsViewedOrRead\",\"semantics\":{\"object_calls\":[\"app\",\"db\",\"fetchRow\",\"findCached\",\"inTransaction\",\"isPrefetch\",\"query\",\"quote\",\"request\",\"rowsAffected\",\"setAsSaved\",\"update\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unread\",\"alerts_unviewed\",\"em\",\"user_id\"]}},{\"name\":\"markUserAlertsUnread\",\"semantics\":{\"object_calls\":[\"app\",\"db\",\"fetchOne\",\"findCached\",\"inTransaction\",\"isPrefetch\",\"query\",\"quote\",\"request\",\"rowsAffected\",\"setAsSaved\",\"update\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unread\",\"em\",\"user_id\"]}},{\"name\":\"pruneViewedAlerts\",\"semantics\":{\"object_calls\":[\"deleteAlertsInternal\",\"finder\",\"limit\",\"options\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alertExpiryDays\"]}},{\"name\":\"pruneUnviewedAlerts\",\"semantics\":{\"object_calls\":[\"deleteAlertsInternal\",\"finder\",\"limit\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"updateUnviewedCountForUser\",\"semantics\":{\"object_calls\":[\"findAlertsForUser\",\"saveIfChanged\",\"total\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unviewed\",\"user_id\"]}},{\"name\":\"updateUnreadCountForUser\",\"semantics\":{\"object_calls\":[\"findAlertsForUser\",\"saveIfChanged\",\"total\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"alerts_unread\",\"user_id\"]}},{\"name\":\"getAlertHandlers\",\"semantics\":{\"object_calls\":[\"getContentTypeField\"],\"static_calls\":[\"app\",\"extendClass\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getAlertHandler\",\"semantics\":{\"object_calls\":[\"getContentTypeFieldValue\"],\"static_calls\":[\"app\",\"extendClass\"],\"new_classes\":[\"\\\\InvalidArgumentException\"],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"addContentToAlerts\",\"semantics\":{\"object_calls\":[\"getAlertHandler\",\"getContent\",\"setContent\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\",\"content_type\"]}},{\"name\":\"getAlertOptOuts\",\"semantics\":{\"object_calls\":[\"getAlertHandlers\",\"getOptOutDisplayOrder\",\"getOptOutsMap\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"getAlertOptOutActions\",\"semantics\":{\"object_calls\":[\"getAlertHandlers\",\"getOptOutActions\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}}]},{\"path\":\"src/XF/Service/Attachment/PreparerService.php\",\"state\":\"OK\",\"sha256\":\"78398a0cd6e2e9f662aca3811d19dca30c839cb99a2b0f20932811c34933cde1\",\"bytes\":9726,\"namespace\":\"XF\\\\Service\\\\Attachment\",\"classes\":[{\"name\":\"PreparerService\"}],\"methods\":[{\"name\":\"insertAttachment\",\"semantics\":{\"object_calls\":[\"beforeNewAttachment\",\"getExtension\",\"insertDataFromFile\",\"insertTemporaryAttachment\"],\"static_calls\":[\"isAudioInlineDisplaySafe\",\"isVideoInlineDisplaySafe\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"user_id\"]}},{\"name\":\"insertDataFromFile\",\"semantics\":{\"object_calls\":[\"beginTransaction\",\"canCreateThumbnails\",\"commit\",\"db\",\"detachEntity\",\"em\",\"generateAttachmentThumbnails\",\"getAbstractedDataPath\",\"getAbstractedThumbnailPathForSize\",\"getErrors\",\"getFilePath\",\"preSave\",\"rollback\",\"save\",\"set\",\"setupDataInsertFromFile\"],\"static_calls\":[\"copyFileToAbstractedPath\",\"deleteFromAbstractedPath\"],\"new_classes\":[\"PrintableException\"],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"setupDataInsertFromFile\",\"semantics\":{\"object_calls\":[\"create\",\"em\",\"getFileName\",\"getFilePath\",\"getFileSize\",\"getImageHeight\",\"getImageWidth\",\"isOptimized\",\"set\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"file_hash\",\"file_path\",\"file_size\",\"height\",\"optimized\",\"upload_date\",\"user_id\",\"width\"]}},{\"name\":\"optimizeExistingAttachment\",\"semantics\":{\"object_calls\":[\"fs\",\"getAbstractedDataPath\",\"has\",\"imageFromFile\",\"imageManager\",\"optimizeImage\",\"options\",\"save\",\"updateDataFromFile\"],\"static_calls\":[\"copyAbstractedPathToTempFile\"],\"new_classes\":[\"FileWrapper\"],\"factory_literals\":[],\"object_properties\":[\"app\",\"filename\",\"height\",\"imageOptimization\",\"width\"]}},{\"name\":\"updateDataFromFile\",\"semantics\":{\"object_calls\":[\"beginTransaction\",\"canCreateThumbnails\",\"commit\",\"db\",\"detachEntity\",\"em\",\"generateAttachmentThumbnails\",\"getAbstractedDataPath\",\"getAbstractedThumbnailPathForSize\",\"getErrors\",\"getExistingAbstractedDataPath\",\"getExistingAbstractedThumbnailPathForSize\",\"getFilePath\",\"isChanged\",\"preSave\",\"rollback\",\"saveIfChanged\",\"set\",\"setupDataUpdateFromFile\"],\"static_calls\":[\"copyFileToAbstractedPath\",\"deleteFromAbstractedPath\"],\"new_classes\":[\"PrintableException\"],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"setupDataUpdateFromFile\",\"semantics\":{\"object_calls\":[\"getFilePath\",\"getFileSize\",\"getImageHeight\",\"getImageWidth\",\"isOptimized\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"file_hash\",\"file_path\",\"file_size\",\"height\",\"optimized\",\"width\"]}},{\"name\":\"generateAttachmentThumbnails\",\"semantics\":{\"object_calls\":[\"getHeight\",\"getThumbnailSizes\",\"getWidth\",\"imageFromFile\",\"imageManager\",\"resizeShortEdge\",\"save\"],\"static_calls\":[\"getTempFile\",\"repository\"],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\"]}},{\"name\":\"generateAttachmentThumbnail\",\"semantics\":{\"object_calls\":[\"generateAttachmentThumbnails\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[]}},{\"name\":\"insertTemporaryAttachment\",\"semantics\":{\"object_calls\":[\"create\",\"em\",\"getContentType\",\"onNewAttachment\",\"save\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"app\",\"content_type\",\"data_id\",\"temp_hash\"]}},{\"name\":\"associateAttachmentsWithContent\",\"semantics\":{\"object_calls\":[\"fetch\",\"finder\",\"getContainer\",\"getHandler\",\"onAssociation\",\"save\",\"where\"],\"static_calls\":[],\"new_classes\":[],\"factory_literals\":[],\"object_properties\":[\"content_id\",\"content_type\",\"temp_hash\",\"unassociated\"]}}]}],\"holds\":[]}],\"holds\":[]}\nSUPPORT037_HOLDS=[]\nSUPPORT037_MUTATION_SCOPE=NONE_READ_ONLY\nSUPPORT037_DECISION=TWO_CORE_NARROW_NATIVE_SEMANTICS_CAPTURED\n" -} +{"schema_version":1,"channel":"homelab-runtime","command_id":"CONTEXT-AUTO-20260909T081701Z","status":"OK","rc":0,"host":"pve01","mode":"read-only","component":"cluster-context","started_at_utc":"2026-09-09T08:17:01Z","finished_at_utc":"2026-09-09T08:17:02Z","reference_register_checked":true,"reference_sha256":"5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66","error_register_checked":true,"error_register_sha256":"3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0","changes_made":false,"sanitized":true,"secrets_included":false,"private_addresses_included":false,"output":"AUTOMATIC_CLUSTER_CONTEXT_REFRESH=OK"} diff --git a/runtime/latest.txt b/runtime/latest.txt index f948a8a3..9bc7ff6d 100644 --- a/runtime/latest.txt +++ b/runtime/latest.txt @@ -1,40 +1,162 @@ CHAT_OUTPUT_BEGIN -COMMAND_ID=SUPPORT-260909-GRAM-XF-NATIVE-SEMANTICS-037 +COMMAND_ID=CONTEXT-AUTO-[PRIVATE_IP]701Z STATUS=OK RC=0 HOST=pve01 -MODE=read-only -COMPONENT=gram-support-xenforo-native-integration-semantics-narrow -REFERENCE_REGISTER_CHECK=OK -REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66 -ERROR_REGISTER_CHECK=OK -ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0 -COMMAND_SHA256=f7151cd3d0195a1caf8d3c561c68d469562a5187f2f33ccef8dcee0974c235cf -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=a2cf4b3c42bdd850539984ba27145149c38efce20018666d7bab9f293fa9f534 -SANITIZED_OUTPUT_SHA256=a2cf4b3c42bdd850539984ba27145149c38efce20018666d7bab9f293fa9f534 +COMPONENT=cluster-context +REFERENCE_SHA[PRIVATE_IP]e5154c41cb[PRIVATE_IP]aca68090be[PRIVATE_IP]bf[PRIVATE_IP]df[PRIVATE_IP] +ERROR_REGISTER_SHA[PRIVATE_IP]ec0f527ed3afeed[PRIVATE_IP]ee[PRIVATE_IP]bbfb[PRIVATE_IP]af4ba7ba0 OUTPUT_BEGIN -ERROR_REGISTER_CHECK=OK -REFERENCE_CHECK=OK -AUTHORITY_CHECK_SCOPE=READABILITY_ONLY_INCIDENTS_NOT_CLOSED -RUNNER_SHA256=b248a4c32c9cc64e5747e7dce6c7fc0a23f5124a77c71ce72e27a81aceae9d2d -SUPPORT037_NATIVE_SEMANTICS={"state":"OK","host":"forum-prod","representatives":[{"label":"CORE_A_CODEVIPE","root":"/var/www/forums/codevipe/public","state":"OK","core_sha256":"7647762531418ade80fb3fe97d0d1e6131718b08c8685af5471e7ab264069fbf","category_candidates":{"attachment":[{"path":"src/XF/Entity/Attachment.php","score":103},{"path":"src/XF/Repository/AttachmentRepository.php","score":103},{"path":"src/XF/Service/Attachment/PreparerService.php","score":103},{"path":"src/XF/Admin/Controller/AttachmentController.php","score":102}],"alert":[{"path":"src/XF/Entity/UserAlert.php","score":202},{"path":"src/XF/Entity/UserAlertOptOut.php","score":202},{"path":"src/XF/Repository/UserAlertRepository.php","score":202},{"path":"src/XF/Finder/UserAlertFinder.php","score":201}],"captcha":[{"path":"src/XF/Admin/Controller/CaptchaQuestionController.php","score":101},{"path":"src/XF/AdminSearch/CaptchaQuestionHandler.php","score":101},{"path":"src/XF/Captcha/AbstractCaptcha.php","score":101},{"path":"src/XF/Captcha/HCaptcha.php","score":101}],"controller_request_csrf":[{"path":"src/XF/Admin/Controller/LoginController.php","score":104},{"path":"src/XF/ControllerPlugin/LoginPlugin.php","score":104},{"path":"src/XF/Mvc/Controller.php","score":104},{"path":"src/XF/Pub/Controller/AccountController.php","score":104}],"permission":[{"path":"src/XF/Entity/PermissionInterfaceGroup.php","score":102},{"path":"src/XF/AddOn/DataType/AdminPermission.php","score":101},{"path":"src/XF/AddOn/DataType/Permission.php","score":101},{"path":"src/XF/AddOn/DataType/PermissionInterfaceGroup.php","score":101}],"routing":[{"path":"src/XF/Mvc/Router.php","score":202},{"path":"src/XF/Api/Mvc/Router.php","score":201},{"path":"src/XF/Repository/RouteRepository.php","score":201},{"path":"src/XF/Admin/Controller/RouteController.php","score":102}],"mail":[{"path":"src/XF/BbCode/Renderer/EmailHtml.php","score":203},{"path":"src/XF/Job/ActivitySummaryEmail.php","score":203},{"path":"src/XF/Job/UserEmail.php","score":203},{"path":"src/XF/Mail/Mailer.php","score":203}]},"selected_file_count":28,"semantic_contract_sha256":"46ad0cb4ac85646846509ca64fc793adf96248e89c4a55d6dca7ad36d7a11c6e","semantic_contract":[{"path":"src/XF/AddOn/DataType/AdminPermission.php","state":"OK","sha256":"b8b022417fc6d8abf403cc1704ddf57c0dc26986672db03240a82b7dfefbde12","bytes":1871,"namespace":"XF\\AddOn\\DataType","classes":[{"name":"AdminPermission"}],"methods":[{"name":"exportAddOnData","semantics":{"object_calls":["appendChild","count","createElement","exportMappedAttributes","fetch","finder","getChildTag","order","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["ownerDocument"]}},{"name":"importAddOnData","semantics":{"object_calls":["create","findByIds","getBehavior","getEntries","importMappedAttributes","pluckXmlAttribute","resume","save","setOption"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["addon_id"]}},{"name":"deleteOrphanedAddOnData","semantics":{"object_calls":["deleteOrphanedSimple"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/AddOn/DataType/Permission.php","state":"OK","sha256":"8d6b8657e8585eb8da7f1401df882e0033f93e07179ce4df398b95d22d74c477","bytes":3455,"namespace":"XF\\AddOn\\DataType","classes":[{"name":"Permission"}],"methods":[{"name":"exportAddOnData","semantics":{"object_calls":["appendChild","count","createElement","exportMappedAttributes","fetch","finder","getChildTag","order","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["ownerDocument"]}},{"name":"importAddOnData","semantics":{"object_calls":["create","fetch","finder","getBehavior","getEntries","groupBy","importMappedAttributes","resume","save","setOption","whereOr"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["addon_id"]}},{"name":"deleteOrphanedAddOnData","semantics":{"object_calls":["delete","fetch","findAllForType","getBehavior","getEntries","getSimpleAttributes","groupBy","setOption"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"rebuildActiveChange","semantics":{"object_calls":["finder","total","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["addon_id"]}}]},{"path":"src/XF/AddOn/DataType/PermissionInterfaceGroup.php","state":"OK","sha256":"b2b1397ba1dc3174f680ebe4796a88904aa577db969177485d56cd7568c1f8d6","bytes":2079,"namespace":"XF\\AddOn\\DataType","classes":[{"name":"PermissionInterfaceGroup"}],"methods":[{"name":"exportAddOnData","semantics":{"object_calls":["appendChild","count","createElement","exportMappedAttributes","fetch","finder","getChildTag","order","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["ownerDocument"]}},{"name":"importAddOnData","semantics":{"object_calls":["create","findByIds","getBehavior","getEntries","importMappedAttributes","pluckXmlAttribute","resume","save","setOption"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["addon_id"]}},{"name":"deleteOrphanedAddOnData","semantics":{"object_calls":["deleteOrphanedSimple"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"deleteEntity","semantics":{"object_calls":["setOption"],"static_calls":["deleteEntity"],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Admin/Controller/AttachmentController.php","state":"OK","sha256":"ee0f8736c2bac5903640c526331a68b769a1a8f94da6b60cddfab639202533e4","bytes":4917,"namespace":"XF\\Admin\\Controller","classes":[{"name":"AttachmentController"}],"methods":[{"name":"count","semantics":{"object_calls":["assertAdminPermission"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"preDispatchController","semantics":{"object_calls":["assertAdminPermission"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionIndex","semantics":{"object_calls":["apply","assertValidPage","buildLink","exists","fetch","filterPage","getAttachmentHandlers","getAttachmentRepo","getDisplayValues","getLinkParams","isPost","limitByPage","redirect","rerouteController","setupAttachmentFilterer","total","view"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:attachments"],"object_properties":["attachment_id","request"]}},{"name":"actionFilter","semantics":{"object_calls":["getAttachmentHandlers","getAttachmentRepo","getDatePresets","getFiltersForForm","setupAttachmentFilterer","view"],"static_calls":["language"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"setupAttachmentFilterer","semantics":{"object_calls":["addFilters","filter","filterer"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","request"]}},{"name":"actionDelete","semantics":{"object_calls":["buildLink","delete","em","exception","exists","filter","find","isDataAvailable","isPost","notFound","redirect","view"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:attachments"],"object_properties":["Data","attachment_id","request"]}},{"name":"actionView","semantics":{"object_calls":["em","error","exception","find","getServer","isDataAvailable","notFound","setResponseType","view"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["Data","attachment_id","request"]}},{"name":"actionOptions","semantics":{"object_calls":["buildLink","em","find","redirect","redirectPermanently"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:options","buildLink:options/groups"],"object_properties":[]}},{"name":"getAttachmentRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Admin/Controller/CaptchaQuestionController.php","state":"OK","sha256":"5429361a6524e5725fa224e168717d4d9ada67036658ed23150f7b843c6d3d19","bytes":3139,"namespace":"XF\\Admin\\Controller","classes":[{"name":"CaptchaQuestionController"}],"methods":[{"name":"preDispatchController","semantics":{"object_calls":["assertAdminPermission"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionIndex","semantics":{"object_calls":["fetch","findCaptchaQuestionsForList","getCaptchaQuestionRepo","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"questionAddEdit","semantics":{"object_calls":["view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionAdd","semantics":{"object_calls":["create","em","questionAddEdit"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionEdit","semantics":{"object_calls":["assertCaptchaQuestionExists","questionAddEdit"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"questionSaveProcess","semantics":{"object_calls":["basicEntitySave","filter","formAction"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionSave","semantics":{"object_calls":["assertCaptchaQuestionExists","assertPostOnly","buildLink","buildLinkHash","create","em","questionSaveProcess","redirect","run"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:captcha-questions"],"object_properties":["captcha_question_id"]}},{"name":"actionDelete","semantics":{"object_calls":["actionDelete","assertCaptchaQuestionExists","buildLink","plugin"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:captcha-questions","buildLink:captcha-questions/delete","buildLink:captcha-questions/edit"],"object_properties":["question"]}},{"name":"actionToggle","semantics":{"object_calls":["actionToggle","plugin"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertCaptchaQuestionExists","semantics":{"object_calls":["assertRecordExists"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getCaptchaQuestionRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Admin/Controller/LoginController.php","state":"OK","sha256":"668a0b3bd2b56841c74ef8cee46e11c010f26e11a49d0369d150cfc75f9d6836","bytes":5505,"namespace":"XF\\Admin\\Controller","classes":[{"name":"LoginController"}],"methods":[{"name":"actionForm","semantics":{"object_calls":["buildLink","getDynamicRedirectIfNot","saveStateToSession","service","session","view"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:login"],"object_properties":[]}},{"name":"actionLogin","semantics":{"object_calls":["assertPostOnly","buildLink","clearStateFromSession","completeLogin","error","filter","getDynamicRedirectIfNot","getIp","getPasskeyUser","hasPermission","isLoginLimited","options","plugin","redirect","request","router","service","session","triggerIfTfaConfirmationRequired","validate"],"static_calls":["config","phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step","buildLink:login","buildLink:login/two-step"],"object_properties":["Option","adminRequireTfa","app","is_admin","request","security_lock","use_tfa","user_id"]}},{"name":"actionTwoStep","semantics":{"object_calls":["buildLink","completeLogin","error","getCookie","getDynamicRedirectIfNot","getError","getFormParams","getRedirect","getResult","getUser","plugin","redirect","runTfaCheck","view"],"static_calls":["phrase"],"new_classes":[],"factory_literals":["buildLink:login"],"object_properties":["request"]}},{"name":"completeLogin","semantics":{"object_calls":["applyToResponse","changeUser","create","em","getIp","logIp","repository","response","save","session"],"static_calls":["installLockExists","setVisitor","writeInstallLock"],"new_classes":[],"factory_literals":[],"object_properties":["Admin","app","is_admin","last_login","passwordConfirm","request","user_id"]}},{"name":"actionLogout","semantics":{"object_calls":["assertValidCsrfToken","buildLink","filter","logoutUser","redirect","session"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:index"],"object_properties":[]}},{"name":"actionPasswordConfirm","semantics":{"object_calls":["actionPasswordConfirm","plugin"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionKeepAlive","semantics":{"object_calls":["actionKeepAlive","plugin"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"checkCsrfIfNeeded","semantics":{"object_calls":[],"static_calls":["checkCsrfIfNeeded"],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Admin/Controller/RouteController.php","state":"OK","sha256":"cef102adaf29b61413d94e60bd3004c394e44c6392f8eb3f44f409a67b5cd8b5","bytes":3277,"namespace":"XF\\Admin\\Controller","classes":[{"name":"RouteController"}],"methods":[{"name":"count","semantics":{"object_calls":["assertDevelopmentMode"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"preDispatchController","semantics":{"object_calls":["assertDevelopmentMode"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionIndex","semantics":{"object_calls":["fetch","filter","findRoutesForList","getRouteRepo","getRouteTypes","groupBy","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routeAddEdit","semantics":{"object_calls":["getRouteRepo","getRouteTypes","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionEdit","semantics":{"object_calls":["assertRouteExists","routeAddEdit"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionAdd","semantics":{"object_calls":["create","em","filter","routeAddEdit"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["route_type"]}},{"name":"routeSaveProcess","semantics":{"object_calls":["basicEntitySave","filter","formAction"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionSave","semantics":{"object_calls":["assertPostOnly","assertRouteExists","buildLink","buildLinkHash","create","em","redirect","routeSaveProcess","run"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:routes"],"object_properties":["route_id","route_type"]}},{"name":"actionDelete","semantics":{"object_calls":["actionDelete","assertRouteExists","buildLink","plugin"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:routes","buildLink:routes/delete","buildLink:routes/edit"],"object_properties":["route_id","unique_name"]}},{"name":"assertRouteExists","semantics":{"object_calls":["assertRecordExists"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getRouteRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/AdminSearch/CaptchaQuestionHandler.php","state":"OK","sha256":"352ac6e7455ca73923a4fca72d4346d1d71f05a9c539dbd5d8f66a19a5aa6314","bytes":436,"namespace":"XF\\AdminSearch","classes":[{"name":"CaptchaQuestionHandler"}],"methods":[{"name":"isSearchable","semantics":{"object_calls":["hasAdminPermission"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Api/Mvc/Router.php","state":"OK","sha256":"d0b803755b157a5a5b9b11681a3df3377f3815622623dbd60209ef1a802161f9","bytes":2998,"namespace":"XF\\Api\\Mvc","classes":[{"name":"Router"}],"methods":[{"name":"intval","semantics":{"object_calls":["setPathRewrite"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routePreProcessApiPrefix","semantics":{"object_calls":["setPathRewrite"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routePreProcessApiVersion","semantics":{"object_calls":["setPathRewrite","setVersion"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routePreProcessApiResponseType","semantics":{"object_calls":["setResponseType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routeToController","semantics":{"object_calls":["getAction","getRequestMethod","setAction","setController","setRequestMethod"],"static_calls":["routeToController"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"manipulateLinkPathInternal","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routes"]}},{"name":"getNewRouteMatch","semantics":{"object_calls":[],"static_calls":[],"new_classes":["RouteMatch"],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/BbCode/Renderer/EmailHtml.php","state":"OK","sha256":"5d52678f7eec1e3ffb1f57f1c32338d4634a65aae61beafc62f60cf3159c7526","bytes":2759,"namespace":"XF\\BbCode\\Renderer","classes":[{"name":"EmailHtml"}],"methods":[{"name":"getDefaultOptions","semantics":{"object_calls":[],"static_calls":["getDefaultOptions"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getCustomTagConfig","semantics":{"object_calls":[],"static_calls":["getCustomTagConfig"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getRenderedImg","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["templater"]}},{"name":"getRenderedAttachment","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["templater"]}},{"name":"renderTagInlineCode","semantics":{"object_calls":["renderSubTree","wrapHtml"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getRenderedCode","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":["PreEscaped"],"factory_literals":[],"object_properties":["templater"]}},{"name":"getRenderedQuote","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":["PreEscaped"],"factory_literals":[],"object_properties":["templater"]}},{"name":"getRenderedSpoiler","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":["PreEscaped"],"factory_literals":[],"object_properties":["templater"]}},{"name":"getRenderedInlineSpoiler","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":["PreEscaped"],"factory_literals":[],"object_properties":["templater"]}},{"name":"renderTagMedia","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["mediaSites","templater"]}},{"name":"getRenderedUnfurl","semantics":{"object_calls":["getRenderedLink","prepareTextFromUrlExtended"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"factory","semantics":{"object_calls":["setTemplater"],"static_calls":["factory"],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Captcha/AbstractCaptcha.php","state":"OK","sha256":"3b7c2cc28486204a2bde66e9dc6628e303b90a9042e318dbe77532366d27b817","bytes":2418,"namespace":"XF\\Captcha","classes":[{"name":"AbstractCaptcha"}],"methods":[{"name":"is_array","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"__construct","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"render","semantics":{"object_calls":["renderInternal"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["_rendered"]}},{"name":"setForceVisible","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["forceVisible"]}},{"name":"setContext","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["context"]}},{"name":"setResponse","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["captcha_data","captcha_date","captcha_type","response"]}},{"name":"getResponse","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["response"]}}]},{"path":"src/XF/Captcha/HCaptcha.php","state":"OK","sha256":"b051fe79db3d1b5dd93bef67c9e3e7cfe7598124cf49339ca016fd0b6c21e14a","bytes":3770,"namespace":"XF\\Captcha","classes":[{"name":"HCaptcha"}],"methods":[{"name":"is_array","semantics":{"object_calls":["options"],"static_calls":["__construct"],"new_classes":[],"factory_literals":[],"object_properties":["extraCaptchaKeys","invisibleMode","secretKey","siteKey"]}},{"name":"__construct","semantics":{"object_calls":["options"],"static_calls":["__construct"],"new_classes":[],"factory_literals":[],"object_properties":["extraCaptchaKeys","invisibleMode","secretKey","siteKey"]}},{"name":"renderInternal","semantics":{"object_calls":["isLocalDomain","renderTemplate"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["forceVisible","invisibleMode","siteKey"]}},{"name":"isValid","semantics":{"object_calls":["client","filter","getBody","getContents","getIp","http","isLocalDomain","post","request","setResponse"],"static_calls":["jsonDecode","logError","logException"],"new_classes":[],"factory_literals":[],"object_properties":["app","secretKey","siteKey"]}},{"name":"isLocalDomain","semantics":{"object_calls":["options"],"static_calls":["hasPrivateUseTld"],"new_classes":[],"factory_literals":[],"object_properties":["app","boardUrl"]}},{"name":"getPrivacyPolicy","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/ControllerPlugin/LoginPlugin.php","state":"OK","sha256":"a0a71dd941792dd20794a08040d053e07579e9fd0bd57a8bbf7c682c62c6de7d","bytes":10753,"namespace":"XF\\ControllerPlugin","classes":[{"name":"LoginPlugin"}],"methods":[{"name":"in_array","semantics":{"object_calls":["getCurrentTrustKey","isUserTfaConfirmationRequired","repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"isTfaConfirmationRequired","semantics":{"object_calls":["getCurrentTrustKey","isUserTfaConfirmationRequired","repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getCurrentTrustKey","semantics":{"object_calls":["getCookie"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"getTfaLoginUserId","semantics":{"object_calls":[],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["session","tfaLoginDate","tfaLoginUserId","user_id"]}},{"name":"getTfaLoginUser","semantics":{"object_calls":["find","getTfaLoginUserId"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["em"]}},{"name":"setTfaSessionCheck","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["session","tfaLoginDate","tfaLoginUserId","user_id"]}},{"name":"clearTfaSessionCheck","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["session","tfaLoginDate","tfaLoginUserId"]}},{"name":"triggerIfTfaConfirmationRequired","semantics":{"object_calls":["exception","isTfaConfirmationRequired","redirect","setTfaSessionCheck"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"runTfaCheck","semantics":{"object_calls":["clearTfaSessionCheck","filter","getIp","getProviders","getTfaLoginUser","hasTooManyTfaAttempts","isPost","isProviderValid","isTfaAvailable","logIp","repository","service","setDeviceTrusted","trigger","verify"],"static_calls":["newError","newForm","newSkipped","newSuccess","phrase"],"new_classes":[],"factory_literals":[],"object_properties":["provider_id","request","user_id"]}},{"name":"setDeviceTrusted","semantics":{"object_calls":["createTrustedKey","repository","response","setCookie"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"completeLogin","semantics":{"object_calls":["associateActionWithUser","changeUser","clearUserActivity","completeUserActionIfPossible","createVisitorRememberKey","getContentUrl","getIp","logIp","options","repository"],"static_calls":["setVisitor","visitor"],"new_classes":[],"factory_literals":[],"object_properties":["preRegAction","preRegActionKey","preRegContentUrl","request","session","user_id"]}},{"name":"actionPasswordConfirm","semantics":{"object_calls":["assertPostOnly","buildLink","error","filter","getDynamicRedirectIfNot","getIp","isLoginLimited","redirect","service","session","validate","validatePasskeyConfirm"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:login"],"object_properties":["controller","passwordConfirm","request","user_id","username"]}},{"name":"validatePasskeyConfirm","semantics":{"object_calls":["clearFailedAttempts","clearStateFromSession","getIp","getPasskeyUser","hasTooManyLoginAttempts","isLoginLimited","service","session","validate"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["request","user_id"]}},{"name":"actionKeepAlive","semantics":{"object_calls":["assertPostOnly","assertValidCsrfToken","getCookie","setJsonParams","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["app","controller","request","user_id"]}},{"name":"createVisitorRememberKey","semantics":{"object_calls":["createRememberRecord","getCookieValue","repository","response","setCookie"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["app","user_id"]}},{"name":"logoutVisitor","semantics":{"object_calls":["clearCookies","clearSiteData","config","deleteVisitorRememberRecord","lastActivityUpdate","logoutUser"],"static_calls":["app"],"new_classes":[],"factory_literals":[],"object_properties":["session"]}},{"name":"lastActivityUpdate","semantics":{"object_calls":["delete","save"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Activity","last_activity","user_id","view_date"]}},{"name":"deleteVisitorRememberRecord","semantics":{"object_calls":["delete","response","setCookie","validateVisitorRememberKey"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"validateVisitorRememberKey","semantics":{"object_calls":["getCookie","repository","validateByCookieValue"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"clearCookies","semantics":{"object_calls":["clearCookieSkipList","getCookies","response","setCookie"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","request"]}},{"name":"clearSiteData","semantics":{"object_calls":["header","response"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"handleVisitorPasswordChange","semantics":{"object_calls":["changeUser","clearUserRememberRecords","createVisitorRememberKey","repository","validateVisitorRememberKey"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["session","user_id"]}}]},{"path":"src/XF/Entity/Attachment.php","state":"OK","sha256":"d34eb4ef05d97b64c64c3c9beb7a4f9eb39710a999530687fbb46b9b260f36f2","bytes":11464,"namespace":"XF\\Entity","classes":[{"name":"Attachment"}],"methods":[{"name":"canView","semantics":{"object_calls":["canView","getAttachmentHandler","getContainerEntity","repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id","content_type","temp_hash"]}},{"name":"getFilename","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","filename"]}},{"name":"getExtension","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","extension"]}},{"name":"getFileSize","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","file_size"]}},{"name":"getIcon","semantics":{"object_calls":["app","data","getExtension","getIcon"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getIconName","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["icon"]}},{"name":"hasThumbnail","semantics":{"object_calls":["hasThumbnail"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"hasRetinaThumbnail","semantics":{"object_calls":["hasRetinaThumbnail"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getWidth","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","width"]}},{"name":"getHeight","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","height"]}},{"name":"getThumbnailWidth","semantics":{"object_calls":["hasThumbnail"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","thumbnail_width"]}},{"name":"getThumbnailHeight","semantics":{"object_calls":["hasThumbnail"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","thumbnail_height"]}},{"name":"getThumbnailUrl","semantics":{"object_calls":["getThumbnailUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getRetinaThumbnailUrl","semantics":{"object_calls":["getRetinaThumbnailUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getThumbnailUrlFull","semantics":{"object_calls":["getThumbnailUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getRetinaThumbnailUrlFull","semantics":{"object_calls":["getRetinaThumbnailUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"isVideo","semantics":{"object_calls":["isVideo"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"isAudio","semantics":{"object_calls":["isAudio"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getTypeGrouping","semantics":{"object_calls":["getTypeGrouping"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getDirectUrl","semantics":{"object_calls":["app","buildLink","canView","getPublicUrl","router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","temp_hash"]}},{"name":"getContainerLink","semantics":{"object_calls":["getContainerLink"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Container","handler"]}},{"name":"getContainerTitle","semantics":{"object_calls":["getContainerTitle"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Container","handler"]}},{"name":"getContentTypePhrase","semantics":{"object_calls":["getContentTypePhrase"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["handler"]}},{"name":"getHandler","semantics":{"object_calls":["getAttachmentHandler","getAttachmentRepo"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_type"]}},{"name":"getContainer","semantics":{"object_calls":["getContainerEntity"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id","handler"]}},{"name":"setContainer","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["_getterCache"]}},{"name":"createDuplicate","semantics":{"object_calls":["create"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["_em","attach_date","data_id","temp_hash","unassociated"]}},{"name":"_preSave","semantics":{"object_calls":[],"static_calls":[],"new_classes":["\\LogicException"],"factory_literals":[],"object_properties":["_errors","content_id","temp_hash","unassociated"]}},{"name":"_postSave","semantics":{"object_calls":["fastUpdate","isInsert"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","attach_count"]}},{"name":"_preDelete","semantics":{"object_calls":["beforeAttachmentDelete","getAttachmentHandler","getContainerEntity","repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id","content_type"]}},{"name":"_postDelete","semantics":{"object_calls":["fastUpdate","getAttachmentHandler","getContainerEntity","onAttachmentDelete","repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","attach_count","content_id","content_type"]}},{"name":"setupApiResultData","semantics":{"object_calls":["getDirectUrl","getRetinaThumbnailUrl","getThumbnailUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","direct_url","file_size","filename","has_retina_thumbnail","has_thumbnail","height","is_audio","is_video","retina_thumbnail_url","thumbnail_url","width"]}},{"name":"getStructure","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["columns","defaultWith","getters","primaryKey","relations","shortName","table","withAliases"]}},{"name":"getAttachmentRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Entity/PermissionInterfaceGroup.php","state":"OK","sha256":"e3c3342f3240cfb241eb7682d70e29db47b4e0614afbca9b8a7e08737ad30696","bytes":4570,"namespace":"XF\\Entity","classes":[{"name":"PermissionInterfaceGroup"}],"methods":[{"name":"getTitle","semantics":{"object_calls":["getPhraseName"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getPhraseName","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["interface_group_id"]}},{"name":"getMasterPhrase","semantics":{"object_calls":["_getDeferredValue","create","getPhraseName"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["MasterTitle","_em","addon_id","language_id","title"]}},{"name":"_postSave","semantics":{"object_calls":["fetch","finder","getBehavior","getExistingRelation","getExistingValue","getOption","getPhraseName","isChanged","isUpdate","save","setOption","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["addon_id","interface_group_id","title"]}},{"name":"_preDelete","semantics":{"object_calls":["db","error","fetchOne","getOption"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["interface_group_id"]}},{"name":"_postDelete","semantics":{"object_calls":["db","delete","getBehavior","getOption","setOption","update"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["MasterTitle","interface_group_id"]}},{"name":"_setupDefaults","semantics":{"object_calls":["getDefaultAddOnId","getRepository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["_em","addon_id"]}},{"name":"getStructure","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["behaviors","columns","getters","options","primaryKey","relations","shortName","table"]}}]},{"path":"src/XF/Entity/UserAlert.php","state":"OK","sha256":"a749d5470269ec4fa9cc9fe419b9e4446208d8914e905ce5d8442292494a5cd2","bytes":6367,"namespace":"XF\\Entity","classes":[{"name":"UserAlert"}],"methods":[{"name":"canView","semantics":{"object_calls":["canViewAlert","canViewContent","getHandler"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Content"]}},{"name":"getHandler","semantics":{"object_calls":["getAlertHandler","getAlertRepo"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_type"]}},{"name":"getContent","semantics":{"object_calls":["getContent","getHandler"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id"]}},{"name":"setContent","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["_getterCache"]}},{"name":"render","semantics":{"object_calls":["getHandler","render"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"isAlertRenderable","semantics":{"object_calls":["getHandler","isAlertRenderable"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"isUnviewed","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["view_date"]}},{"name":"isUnread","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["read_date"]}},{"name":"isUnreadInUi","semantics":{"object_calls":["getOption"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["read_date"]}},{"name":"isRecentlyRead","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["read_date"]}},{"name":"_saveToSource","semantics":{"object_calls":["db","isInsert","query"],"static_calls":["_saveToSource"],"new_classes":[],"factory_literals":[],"object_properties":["alerted_user_id"]}},{"name":"_postSave","semantics":{"object_calls":["db","isChanged","isUpdate","query"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerted_user_id","read_date","view_date"]}},{"name":"_postDelete","semantics":{"object_calls":["db","query"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerted_user_id","read_date","view_date"]}},{"name":"setupApiResultData","semantics":{"object_calls":["getApiOutput","getHandler"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alert_text","alert_url"]}},{"name":"getStructure","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["columns","getters","options","primaryKey","relations","shortName","table","withAliases"]}},{"name":"getAlertRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Entity/UserAlertOptOut.php","state":"OK","sha256":"53f976e8470c6694e4ad465617e1cf4435a562f15d19d9046a95b6a21432ea95","bytes":575,"namespace":"XF\\Entity","classes":[{"name":"UserAlertOptOut"}],"methods":[{"name":"getStructure","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["columns","primaryKey","shortName","table"]}}]},{"path":"src/XF/Finder/UserAlertFinder.php","state":"OK","sha256":"35b133b40d6bb684dba4c3397724a1147f10aec3970d5f66a071106c6342892b","bytes":438,"namespace":"XF\\Finder","classes":[{"name":"UserAlertFinder"}],"methods":[]},{"path":"src/XF/Job/ActivitySummaryEmail.php","state":"OK","sha256":"62305a187ff6ef8e18552ba50e35fd5055a8e0a0ddd162e90350176d4281f25b","bytes":3879,"namespace":"XF\\Job","classes":[{"name":"ActivitySummaryEmail"}],"methods":[{"name":"count","semantics":{"object_calls":["canReceiveActivitySummaryEmail","complete","em","fetch","find","finder","generateAndSendEmail","limitExceeded","order","preFetchSectionData","resume","whereIds"],"static_calls":[],"new_classes":["Timer"],"factory_literals":[],"object_properties":["app","data","sections"]}},{"name":"run","semantics":{"object_calls":["canReceiveActivitySummaryEmail","complete","em","fetch","find","finder","generateAndSendEmail","limitExceeded","order","preFetchSectionData","resume","whereIds"],"static_calls":[],"new_classes":["Timer"],"factory_literals":[],"object_properties":["app","data","sections"]}},{"name":"preFetchSectionData","semantics":{"object_calls":["cacheDataIfNeeded","getDataForJob","setupDataFromJob"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["data","handler","sections"]}},{"name":"generateAndSendEmail","semantics":{"object_calls":["canSendActivitySummary","fastUpdate","generateEmailData","getDisplayValues","getRenderedSections","mailer","newMail","send","setTemplate","setToUser","userLanguage"],"static_calls":["app","language","setLanguage"],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"generateEmailData","semantics":{"object_calls":["addDisplayValue","addDisplayValues","addInstanceSpecificDisplayValues","addRenderedSection","getGlobalDisplayValues","getTitle","getTotal","render","repository"],"static_calls":[],"new_classes":["Instance"],"factory_literals":[],"object_properties":["app","handler","sections","show_value"]}},{"name":"getStatusMessage","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["data"]}}]},{"path":"src/XF/Job/UserEmail.php","state":"OK","sha256":"df18ca0fec0a3b9583846e1decc1a8678c36000e2e18e8b86b4c766c6edbf488","bytes":3462,"namespace":"XF\\Job","classes":[{"name":"UserEmail"}],"methods":[{"name":"is_string","semantics":{"object_calls":["generateTextBody","getMail","mailer","options","prepareTokens","renderPhrase","replacePhrases","send","setFrom","setTemplate","userLanguage"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","boardTitle","data","defaultEmailAddress","email","emailSenderName"]}},{"name":"executeAction","semantics":{"object_calls":["generateTextBody","getMail","mailer","options","prepareTokens","renderPhrase","replacePhrases","send","setFrom","setTemplate","userLanguage"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","boardTitle","data","defaultEmailAddress","email","emailSenderName"]}},{"name":"getActionDescription","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"prepareTokens","semantics":{"object_calls":["buildLink","router"],"static_calls":["emailToUtf8"],"new_classes":[],"factory_literals":["buildLink:canonical:email-stop/all","buildLink:canonical:email-stop/mailing-list"],"object_properties":["app","email","user_id","username"]}},{"name":"replacePhrases","semantics":{"object_calls":["replacePhrasePlaceholders","stringFormatter"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"getMail","semantics":{"object_calls":["mailer","newMail","setToUser"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}}]},{"path":"src/XF/Mail/Mailer.php","state":"OK","sha256":"0554377da027800d64a768b3cc84d7aa76f1f81af0d4f31d03e89df97bceaddf","bytes":13946,"namespace":"XF\\Mail","classes":[{"name":"Mailer"}],"methods":[{"name":"count","semantics":{"object_calls":["get"],"static_calls":["options","registry"],"new_classes":["DkimSigner"],"factory_literals":["get:emailDkimKey"],"object_properties":["defaultTransport","emailDkim","queue","signer","styler","templater"]}},{"name":"__construct","semantics":{"object_calls":["get"],"static_calls":["options","registry"],"new_classes":["DkimSigner"],"factory_literals":["get:emailDkimKey"],"object_properties":["defaultTransport","emailDkim","queue","signer","styler","templater"]}},{"name":"getMailClass","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["mailClass"]}},{"name":"setMailClass","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["mailClass"]}},{"name":"setDefaultFrom","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultFromEmail","defaultFromName"]}},{"name":"getDefaultFromEmail","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultFromEmail"]}},{"name":"getDefaultFromName","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultFromName"]}},{"name":"setDefaultReturnPath","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultReturnPath"]}},{"name":"getDefaultReturnPath","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultReturnPath"]}},{"name":"setDefaultUseVerp","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultUseVerp"]}},{"name":"getDefaultUseVerp","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultUseVerp"]}},{"name":"newMail","semantics":{"object_calls":["applyMailDefaults"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["mailClass"]}},{"name":"applyMailDefaults","semantics":{"object_calls":["setFrom","setReturnPath"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultFromEmail","defaultFromName","defaultReturnPath","defaultUseVerp"]}},{"name":"calculateBounceHmac","semantics":{"object_calls":[],"static_calls":["config"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"generateTextBody","semantics":{"object_calls":["generateTextBody"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["styler"]}},{"name":"renderMailTemplate","semantics":{"object_calls":["pullComponentsFromTemplateOutput","renderPartialMailTemplate","renderTemplate","styleHtml"],"static_calls":["language"],"new_classes":["\\LogicException"],"factory_literals":[],"object_properties":["pageParams","styler","templater"]}},{"name":"renderPartialMailTemplate","semantics":{"object_calls":["addDefaultParam","getDefaultTemplateParams","renderTemplate","setLanguage"],"static_calls":["language"],"new_classes":[],"factory_literals":[],"object_properties":["pageParams","templater"]}},{"name":"getDefaultTemplateParams","semantics":{"object_calls":["config","container","get","getDayStartTimestamps","getStyle","isRtl","options","simpleCache"],"static_calls":["app"],"new_classes":[],"factory_literals":["get:reactions"],"object_properties":["templater"]}},{"name":"pullComponentsFromTemplateOutput","semantics":{"object_calls":["generateTextBody"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"send","semantics":{"object_calls":["getAddress","getFrom","getTo","send","sign"],"static_calls":["logException","options","toEmail"],"new_classes":["TransportException"],"factory_literals":[],"object_properties":["defaultTransport","emailDkim","signer"]}},{"name":"queue","semantics":{"object_calls":["enqueue","jobManager","send"],"static_calls":["app"],"new_classes":[],"factory_literals":[],"object_properties":["queue"]}},{"name":"getDefaultTransport","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultTransport"]}},{"name":"setDefaultTransport","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultTransport"]}},{"name":"getTransportFromOption","semantics":{"object_calls":["config","create","disableTls","getStream","setLocalDomain","setPingThreshold","setSavePath"],"static_calls":["app"],"new_classes":["Dsn","EsmtpTransportFactory","FileTransport","SendmailTransport"],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Mvc/Controller.php","state":"OK","sha256":"ebf61a841470486cbfb6a9ec9d4ea2efa8d5f6aacf35a05baf443b79258cd5aa","bytes":22229,"namespace":"XF\\Mvc","classes":[{"name":"Controller"}],"methods":[{"name":"array_key_exists","semantics":{"object_calls":["extension","init","resolveExtendedClassToRoot"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","request","rootClass"]}},{"name":"__construct","semantics":{"object_calls":["extension","init","resolveExtendedClassToRoot"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","request","rootClass"]}},{"name":"setupFromMatch","semantics":{"object_calls":["getResponseType","getSectionContext","setDefaultSectionContext","setResponseType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"setupFromReply","semantics":{"object_calls":["getContainerKey","getContentKey","getResponseType","getSectionContext","getViewOptions"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["containerKey","contentKey","responseType","sectionContext","viewOptions"]}},{"name":"responseType","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["responseType"]}},{"name":"setResponseType","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["responseType"]}},{"name":"sectionContext","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["sectionContext"]}},{"name":"setSectionContext","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["sectionContext"]}},{"name":"setDefaultSectionContext","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["sectionContext"]}},{"name":"setContainerKey","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["containerKey"]}},{"name":"setContentKey","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["contentKey"]}},{"name":"setViewOption","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["viewOptions"]}},{"name":"preDispatch","semantics":{"object_calls":["checkCsrfIfNeeded","fire","preDispatchType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","rootClass"]}},{"name":"checkCsrfIfNeeded","semantics":{"object_calls":["assertValidCsrfToken","isGet","isHead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request","responseType"]}},{"name":"assertValidCsrfToken","semantics":{"object_calls":["error","exception","validateCsrfToken"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"validateCsrfToken","semantics":{"object_calls":["filter","getCookie","getServer"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","request"]}},{"name":"assertCorrectVersion","semantics":{"object_calls":["config","exception","message","options","setPageParam"],"static_calls":["config","phrase"],"new_classes":[],"factory_literals":[],"object_properties":["app","currentVersionId"]}},{"name":"assertCookieConsent","semantics":{"object_calls":["cookieConsent","exception","getCurrentUrlWithoutAjaxParams","getUnconsentedGroups","getUnconsentedThirdParties","setResponseCode","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"assertCaptchaCookieConsent","semantics":{"object_calls":["assertCookieConsent","cookieConsent","getCaptchaThirdParties"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"assertPasswordVerified","semantics":{"object_calls":["exception","getAuthenticationHandler","getCurrentUrlWithoutAjaxParams","getExistingCredentialsForUser","hasPassword","repository","saveStateToSession","service","session","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Auth","user_id"]}},{"name":"getCurrentUrlWithoutAjaxParams","semantics":{"object_calls":["buildFinalUrl","getRequestQueryParamsExcept","getRoutePath","router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"postDispatch","semantics":{"object_calls":["applyReplyChanges","fire","postDispatchType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","rootClass"]}},{"name":"applyReplyChanges","semantics":{"object_calls":["getContainerKey","getContentKey","getResponseType","getSectionContext","getViewOptions","setContainerKey","setContentKey","setResponseType","setSectionContext","setViewOption"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["containerKey","contentKey","responseType","sectionContext","viewOptions"]}},{"name":"assertPostOnly","semantics":{"object_calls":["error","exception","header","isPost","response"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["app","request"]}},{"name":"assertDraftsEnabled","semantics":{"object_calls":["assertPostOnly","exception","options","setJsonParam","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["saveDrafts"]}},{"name":"isLoggedIn","semantics":{"object_calls":[],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["user_id"]}},{"name":"getDynamicRedirect","semantics":{"object_calls":["getDynamicRedirect"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"getDynamicRedirectIfNot","semantics":{"object_calls":["getDynamicRedirectIfNot"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"error","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":["Error"],"factory_literals":[],"object_properties":[]}},{"name":"message","semantics":{"object_calls":[],"static_calls":[],"new_classes":["Message"],"factory_literals":[],"object_properties":[]}},{"name":"redirect","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":["Redirect"],"factory_literals":[],"object_properties":[]}},{"name":"redirectPermanently","semantics":{"object_calls":["redirect"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"reroute","semantics":{"object_calls":[],"static_calls":[],"new_classes":["Reroute"],"factory_literals":[],"object_properties":[]}},{"name":"rerouteController","semantics":{"object_calls":["getNewRouteMatch","reroute","router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["responseType"]}},{"name":"reroutePath","semantics":{"object_calls":["reroute","routeToController","router","setResponseType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request","responseType"]}},{"name":"view","semantics":{"object_calls":[],"static_calls":[],"new_classes":["View"],"factory_literals":[],"object_properties":[]}},{"name":"exception","semantics":{"object_calls":[],"static_calls":[],"new_classes":["Exception"],"factory_literals":[],"object_properties":[]}},{"name":"errorException","semantics":{"object_calls":["error","exception"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"noPermission","semantics":{"object_calls":["actionNoPermission","plugin"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"notFound","semantics":{"object_calls":["actionNotFound","plugin"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertRecordExists","semantics":{"object_calls":["assertRecordExistsByUnique"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertRecordExistsByUnique","semantics":{"object_calls":["em","exception","find","findOne","notFound"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertViewableRecord","semantics":{"object_calls":["assertRecordExists","canView","exception","noPermission"],"static_calls":[],"new_classes":["\\LogicException"],"factory_literals":[],"object_properties":[]}},{"name":"assertCanonicalUrl","semantics":{"object_calls":["exception","getBasePath","getFullBasePath","getRequestUri","isGet","isHead","redirectPermanently"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request","responseType"]}},{"name":"assertValidPage","semantics":{"object_calls":["buildLink","exception","isGet","redirect"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request","responseType"]}},{"name":"plugin","semantics":{"object_calls":["container","extendClass"],"static_calls":["stringToClass"],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"app","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"request","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"filter","semantics":{"object_calls":["filter"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"filterArray","semantics":{"object_calls":["filterArray","inputFilterer"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"filterFormJson","semantics":{"object_calls":["exists","filter","filterArray"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"filterPage","semantics":{"object_calls":["filter"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"isPost","semantics":{"object_calls":["isPost"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"formAction","semantics":{"object_calls":["formAction"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"searcher","semantics":{"object_calls":["searcher"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"service","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"helper","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"session","semantics":{"object_calls":["session"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"router","semantics":{"object_calls":["router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"buildLink","semantics":{"object_calls":["buildLink","router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"buildPaginatedLink","semantics":{"object_calls":["buildPaginatedLink","router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"buildLinkHash","semantics":{"object_calls":["app","getRedirectHash"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"registry","semantics":{"object_calls":["registry"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"options","semantics":{"object_calls":["options"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"captchaIsValid","semantics":{"object_calls":["captcha","isShownCaptcha","isValid"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"captchaResponse","semantics":{"object_calls":["captcha","getResponse"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"isContentViewCounted","semantics":{"object_calls":["getRobotName","isPrefetch","options"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["request","user_id","viewCounts"]}},{"name":"data","semantics":{"object_calls":["data"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"em","semantics":{"object_calls":["em"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"finder","semantics":{"object_calls":["em","getFinder"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"repository","semantics":{"object_calls":["em","getRepository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}}]},{"path":"src/XF/Mvc/Router.php","state":"OK","sha256":"cb338fc52f4d12726f820b936ae662f7fb6e616b30e5865a28af03af06f2e5bc","bytes":20850,"namespace":"XF\\Mvc","classes":[{"name":"Router"}],"methods":[{"name":"array_slice","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["linkFormatter","routes"]}},{"name":"__construct","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["linkFormatter","routes"]}},{"name":"setLinkFormatter","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["linkFormatter"]}},{"name":"getLinkFormatter","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["linkFormatter"]}},{"name":"setPather","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["pather"]}},{"name":"getPather","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["pather"]}},{"name":"setRouteFilters","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routeFiltersIn","routeFiltersOut"]}},{"name":"getRouteFiltersIn","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routeFiltersIn"]}},{"name":"getRouteFiltersOut","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routeFiltersOut"]}},{"name":"setIndexRoute","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["indexRoute"]}},{"name":"getIndexRoute","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["indexRoute"]}},{"name":"setIncludeTitleInUrls","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["includeTitleInUrls"]}},{"name":"getIncludeTitlesInUrls","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["includeTitleInUrls"]}},{"name":"setRomanizeUrls","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["romanizeUrls"]}},{"name":"getRomanizeUrls","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["romanizeUrls"]}},{"name":"addRoute","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routes"]}},{"name":"getRoutes","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routes"]}},{"name":"overrideRoute","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routes"]}},{"name":"addRoutePreProcessor","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routePreProcessors"]}},{"name":"getRoutePreProcessors","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routePreProcessors"]}},{"name":"routePreProcessRouteFilter","semantics":{"object_calls":["routeFilterToRegex","setPathRewrite"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routeFiltersIn"]}},{"name":"routePreProcessExtension","semantics":{"object_calls":["setPathRewrite","setResponseType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routePreProcessResponseType","semantics":{"object_calls":["filter","setResponseType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routeToController","semantics":{"object_calls":["getNewRouteMatch","getPathRewrite","setAction","setController","setPathRewrite","setSectionContext","suffixMatchesRoute"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultAction","routePreProcessors","routes"]}},{"name":"suffixMatchesRoute","semantics":{"object_calls":["generateMatchRegexInner","setAction","setAnchor","setController","setParams","setSectionContext"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultAction"]}},{"name":"buildLink","semantics":{"object_calls":["buildFinalUrl","buildLinkPath"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"buildLinkPath","semantics":{"object_calls":["buildRouteUrl","manipulateLinkPathInternal"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routes"]}},{"name":"buildPaginatedLink","semantics":{"object_calls":["buildLink"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"prepareStringForUrl","semantics":{"object_calls":["moveEmojiToPlaceholders","stringFormatter"],"static_calls":["app","normalize","options","transliterate"],"new_classes":[],"factory_literals":[],"object_properties":["includeEmojiInTitles","romanizeUrls","stringCache"]}},{"name":"buildRouteUrl","semantics":{"object_calls":["applyRouteFilterToUrl","prepareStringForUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["includeTitleInUrls","indexRoute"]}},{"name":"applyRouteFilterToUrl","semantics":{"object_calls":["routeFilterToRegex"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routeFiltersOut","routeFiltersOutRegex"]}},{"name":"buildFinalUrl","semantics":{"object_calls":["applyPather","buildQueryString","getFinalLink"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["linkFormatter"]}},{"name":"applyPather","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["pather"]}},{"name":"buildQueryString","semantics":{"object_calls":["buildQueryString"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getNewRouteMatch","semantics":{"object_calls":[],"static_calls":[],"new_classes":["RouteMatch"],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Pub/Controller/AccountController.php","state":"OK","sha256":"73e755ef485d737f1a74e576827af1a127ec95c153f3a818eb20b344f5243270","bytes":54974,"namespace":"XF\\Pub\\Controller","classes":[{"name":"AccountController"}],"methods":[{"name":"boolval","semantics":{"object_calls":["app","assertRegistrationRequired","header","response"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"preDispatchController","semantics":{"object_calls":["app","assertRegistrationRequired","header","response"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionIndex","semantics":{"object_calls":["rerouteController"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"addAccountWrapperParams","semantics":{"object_calls":["setParam"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionAccountDetails","semantics":{"object_calls":["accountDetailsSaveProcess","addAccountWrapperParams","buildLink","canChangeEmail","canEditProfile","isPost","redirect","run","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/account-details"],"object_properties":["PendingUsernameChange"]}},{"name":"accountDetailsSaveProcess","semantics":{"object_calls":["app","basicEntitySave","check","complete","contentChecker","customFieldsSaveProcess","filter","formAction","fromInput","getFinalDecision","getIp","getRelationOrDefault","hasPermission","isSpamCheckRequired","logError","logIp","logSpamTrigger","plugin","repository","setDob","setup","setupEntityInput","spam","toggleActivitySummaryEmail","validate"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["request","user_id"]}},{"name":"setupUsernameChange","semantics":{"object_calls":["error","exception","filter","options","service","setChangeReason","setNewUsername"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":[],"object_properties":["usernameChangeRequireReason"]}},{"name":"actionUsername","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canChangeUsername","error","isPost","noPermission","redirect","save","setupUsernameChange","validate","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/account-details"],"object_properties":["change_state"]}},{"name":"actionEmail","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canChangeEmail","emailSaveProcess","error","getAuthenticationHandler","hasPassword","isPost","noPermission","redirect","run","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/account-details"],"object_properties":["Auth"]}},{"name":"emailSaveProcess","semantics":{"object_calls":["apply","authenticate","canChangeEmail","filter","formAction","isValid","logError","save","service","validate"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["email","user_state"]}},{"name":"actionSignature","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canEditSignature","fromInput","getDisabledEditorButtons","isPost","noPermission","plugin","redirect","run","service","signatureSaveProcess","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/signature"],"object_properties":[]}},{"name":"signatureSaveProcess","semantics":{"object_calls":["apply","complete","formAction","getIp","logErrors","logIp","repository","save","setSignature","validate"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["request","user_id"]}},{"name":"actionPrivacy","semantics":{"object_calls":["addAccountWrapperParams","buildLink","isPost","redirect","run","savePrivacyProcess","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/privacy"],"object_properties":[]}},{"name":"savePrivacyProcess","semantics":{"object_calls":["basicEntitySave","complete","filter","formAction","getIp","getRelationOrDefault","logIp","repository","setup","setupEntityInput","toggleActivitySummaryEmail"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request","user_id"]}},{"name":"actionPreferences","semantics":{"object_calls":["addAccountWrapperParams","buildLink","data","getAlertOptOuts","getTimeZoneOptions","getUserSelectableLanguages","getUserSelectableStyles","isPost","options","preferencesSaveProcess","redirect","repository","run","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/preferences"],"object_properties":["app","defaultStyleId"]}},{"name":"preferencesSaveProcess","semantics":{"object_calls":["apply","basicEntitySave","canUsePushNotifications","complete","customFieldsSaveProcess","filter","formAction","getAlertOptOutActions","getIp","getRelation","getRelationOrDefault","logIp","remove","repository","restoreDismissedNotices","session","setup","setupEntityInput","toggleActivitySummaryEmail","validate"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["is_moderator","request","user_id"]}},{"name":"actionDismissNotice","semantics":{"object_calls":["assertRecordExists","canDismissNotice","dismissNotice","error","filter","getDynamicRedirect","isPost","redirect","remove","repository","session","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionAvatar","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canUploadAvatar","coerceValue","container","deleteAvatar","error","filter","getError","getFile","getGravatarUrl","getPrintableErrorValue","isPost","isValid","noPermission","options","redirect","removeGravatar","service","setCrop","setGravatar","setImageFromExisting","setImageFromUpload","setJsonParams","updateAvatar","validator","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/avatar"],"object_properties":["Profile","app","avatar_crop_x","avatar_crop_y","avatar_date","avatar_height","avatar_width","gravatarEnable","request"]}},{"name":"actionBanner","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canUploadProfileBanner","deleteBanner","error","filter","getError","getFile","isPost","noPermission","redirect","service","setImageFromUpload","setPosition","updateBanner","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/banner"],"object_properties":["Profile","banner_date","banner_position_y","request"]}},{"name":"actionFollowing","semantics":{"object_calls":["addAccountWrapperParams","fetch","finder","order","view","where"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Profile","following"]}},{"name":"actionIgnored","semantics":{"object_calls":["addAccountWrapperParams","em","fetch","finder","getEmptyCollection","order","view","where"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Profile","ignored"]}},{"name":"actionReactions","semantics":{"object_calls":["addAccountWrapperParams","addContentToReactions","assertNotEmbeddedImageRequest","assertValidPage","canView","fetch","filter","filterPage","findUserReactions","getUserReactionsTabSummary","isRenderable","limitByPage","repository","slice","view","where"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionSecurity","semantics":{"object_calls":["addAccountWrapperParams","buildLink","error","fetch","findPasskeysForUser","getAuthenticationHandler","getDynamicRedirect","getTitle","getValidProviderList","handleVisitorPasswordChange","hasPassword","isDeprecated","isEnabled","isPost","isValid","noPermission","plugin","redirect","repository","save","setInvalidateRememberKeys","setupPasswordChange","view"],"static_calls":["config","visitor"],"new_classes":[],"factory_literals":["buildLink:account/security"],"object_properties":["Auth","security_lock","user_id"]}},{"name":"setupPasswordChange","semantics":{"object_calls":["authenticate","errorException","filter","service"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionPasskeyAdd","semantics":{"object_calls":["addAccountWrapperParams","buildLink","clearStateFromSession","create","error","filter","getChallenge","getExistingCredentialsForUser","isHostLocal","isPost","isSecure","notFound","options","redirect","repository","request","saveStateToSession","service","session","setJsonParams","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/security"],"object_properties":["boardTitle","email","request","user_id","username"]}},{"name":"actionPasskeyEdit","semantics":{"object_calls":["addAccountWrapperParams","assertPasskeyExists","assertPasswordVerified","buildLink","exception","filter","isPost","noPermission","redirect","save","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/security"],"object_properties":["name","passkey_id","user_id"]}},{"name":"actionPasskeyDelete","semantics":{"object_calls":["actionDelete","assertPasskeyExists","assertPasswordVerified","buildLink","exception","noPermission","plugin"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/passkeys/delete","buildLink:account/passkeys/edit","buildLink:account/security"],"object_properties":["name","passkey_id","user_id"]}},{"name":"actionConnectedAccount","semantics":{"object_calls":["addAccountWrapperParams","getAuthenticationHandler","getConnectedAccountRepo","getUsableProviders","hasPassword","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Auth"]}},{"name":"actionConnectedAccountDisassociate","semantics":{"object_calls":["assertPostOnly","assertProviderExists","buildLink","clearToken","count","delete","filter","getAuthenticationHandler","getHandler","getRelationOrDefault","getStorageState","handleVisitorPasswordChange","hasPassword","noPermission","plugin","redirect","resetPassword","save","service","triggerConfirmation"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/connected-accounts"],"object_properties":["Auth","ConnectedAccounts","connected_accounts","provider_id"]}},{"name":"actionRequestPassword","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canTriggerConfirmation","error","getAuthenticationHandler","hasPassword","isPost","noPermission","redirect","resetPassword","service","triggerConfirmation","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/security"],"object_properties":["Auth"]}},{"name":"actionTwoStep","semantics":{"object_calls":["addAccountWrapperParams","assertTfaEnabled","assertTwoStepPasswordVerified","filter","getCurrentTrustKey","getTfaTrustRecord","getTitle","getValidProviderList","hasOtherTrustedDevices","isDeprecated","isEnabled","plugin","repository","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Option","use_tfa","user_id"]}},{"name":"actionTwoStepBackupCodes","semantics":{"object_calls":["addAccountWrapperParams","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","canManage","em","find","formatCodesForDisplay","getUserProviderConfig","redirect","view"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["handler"]}},{"name":"actionTwoStepAdd","semantics":{"object_calls":["addAccountWrapperParams","assertPostOnly","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","canEnable","canHaveMultiple","em","enableUserTfaProvider","error","filter","find","generateInitialData","get","getIp","handleAdd","logIp","meetsRequirements","redirect","remove","renderAdd","repository","requiresConfig","session","set","trigger","verify"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["handler","provider_id","request","user_id"]}},{"name":"actionTwoStepEnable","semantics":{"object_calls":["addAccountWrapperParams","assertPostOnly","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","canEnable","em","enableUserTfaProvider","error","filter","find","generateInitialData","get","getIp","handleConfig","logIp","meetsRequirements","redirect","remove","repository","requiresConfig","session","set","trigger","verify","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["handler","provider_id","request","user_id"]}},{"name":"actionTwoStepDisable","semantics":{"object_calls":["addAccountWrapperParams","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","canDisable","delete","disableTfaForUser","em","find","getIp","isPost","logIp","redirect","repository","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["UserEntries","provider_id","request","user_id"]}},{"name":"actionTwoStepManage","semantics":{"object_calls":["addAccountWrapperParams","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","canManage","em","find","getUserProviderConfig","handleManage","redirect"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["handler","provider_id"]}},{"name":"actionTwoStepTrustedDisable","semantics":{"object_calls":["assertPostOnly","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","filter","getCurrentTrustKey","plugin","redirect","repository","untrustDevice","untrustOtherDevices"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["user_id"]}},{"name":"assertTwoStepPasswordVerified","semantics":{"object_calls":["addAccountWrapperParams","assertPasswordVerified"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionUpgrades","semantics":{"object_calls":["addAccountWrapperParams","assertCookieConsent","em","error","fetch","find","findPaymentProfilesForList","getCookieThirdParties","getFilteredUserUpgradesForList","isActive","message","repository","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Provider","active","payment_profile_ids","user_state"]}},{"name":"actionUpgradePurchase","semantics":{"object_calls":["addAccountWrapperParams","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionUpgradeUpdated","semantics":{"object_calls":["addAccountWrapperParams","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionNewsFeed","semantics":{"object_calls":["buildLink","redirectPermanently"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:whats-new/news-feed"],"object_properties":[]}},{"name":"actionAlerts","semantics":{"object_calls":["addAccountWrapperParams","addContentToAlerts","assertNotEmbeddedImageRequest","autoMarkUserAlertsRead","fetch","filter","filterPage","filterViewable","findAlertsForUser","limitByPage","markInaccessibleAlertsReadIfNeeded","markUserAlertsViewed","options","repository","total","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["alertsPerPage","alerts_unviewed","user_id"]}},{"name":"actionAlertsPopup","semantics":{"object_calls":["addContentToAlerts","assertNotEmbeddedImageRequest","autoMarkUserAlertsRead","fetch","filterViewable","findAlertsForUser","markInaccessibleAlertsReadIfNeeded","markUserAlertsViewed","options","repository","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["alertsPopupExpiryDays","alerts_unviewed","user_id"]}},{"name":"markInaccessibleAlertsReadIfNeeded","semantics":{"object_calls":["canView","isUnread","markInaccessibleAlertsRead","repository"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unread"]}},{"name":"actionAlertsMarkRead","semantics":{"object_calls":["addAccountWrapperParams","buildLink","getDynamicRedirect","isPost","markUserAlertsRead","redirect","repository","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/alerts"],"object_properties":[]}},{"name":"actionAlertToggle","semantics":{"object_calls":["addAccountWrapperParams","assertViewableAlert","buildLink","filter","getDynamicRedirect","isPost","isUnread","markUserAlertRead","markUserAlertUnread","redirect","repository","view"],"static_calls":["phrase"],"new_classes":[],"factory_literals":["buildLink:account/alerts"],"object_properties":[]}},{"name":"actionBookmarks","semantics":{"object_calls":["addAccountWrapperParams","addContentToBookmarks","buildLink","canViewBookmarks","count","fetch","filter","filterPage","filterViewable","findBookmarksForUser","findBookmarksForUserByLabel","findLabelsForUser","isPost","limitByPage","noPermission","pluckNamed","redirect","repository","slice","total","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/bookmarks"],"object_properties":["user_id"]}},{"name":"actionBookmarksPopup","semantics":{"object_calls":["addContentToBookmarks","buildLink","canViewBookmarks","fetch","filter","filterViewable","findBookmarksForUser","findBookmarksForUserByLabel","findLabelsForUser","noPermission","pluckNamed","repository","setJsonParam","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/bookmarks"],"object_properties":["user_id"]}},{"name":"actionBookmarksAutoComplete","semantics":{"object_calls":["canViewBookmarks","filter","getLabelAutoCompleteResults","noPermission","repository","setJsonParam","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["label"]}},{"name":"actionApplications","semantics":{"object_calls":["addAccountWrapperParams","getConnectedClientsForUser","repository","rerouteController","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["client_id"]}},{"name":"actionApplicationsView","semantics":{"object_calls":["addAccountWrapperParams","assertRecordExists","getScopesForTokens","repository","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["client_id"]}},{"name":"actionApplicationsRevoke","semantics":{"object_calls":["assertRecordExists","buildLink","isPost","redirect","repository","revokeClientForUser","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/applications"],"object_properties":["client_id"]}},{"name":"actionVisitorMenu","semantics":{"object_calls":["view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"customFieldsSaveProcess","semantics":{"object_calls":["bulkSet","filter","filterEditable","filterGroup","getDefinitionSet","getFieldDefinitions","getRelationOrDefault","saveEntity","setup","validateEntity"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["custom_fields"]}},{"name":"checkCsrfIfNeeded","semantics":{"object_calls":[],"static_calls":["checkCsrfIfNeeded"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertNotSecurityLocked","semantics":{"object_calls":[],"static_calls":["assertNotSecurityLocked","visitor"],"new_classes":[],"factory_literals":[],"object_properties":["security_lock"]}},{"name":"assertPolicyAcceptance","semantics":{"object_calls":[],"static_calls":["assertPolicyAcceptance"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertBoardActive","semantics":{"object_calls":[],"static_calls":["assertBoardActive"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getActivityDetails","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertProviderExists","semantics":{"object_calls":["assertRecordExists"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertPasskeyExists","semantics":{"object_calls":["assertRecordExists"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertViewableAlert","semantics":{"object_calls":["assertRecordExists","canView","exception","noPermission","notFound"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["alerted_user_id","user_id"]}},{"name":"assertTfaEnabled","semantics":{"object_calls":["exception","noPermission"],"static_calls":["config"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getConnectedAccountRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Repository/AttachmentRepository.php","state":"OK","sha256":"b4c62ab48da9ea2f7bbb78113ef3b42b4465528afbff1d0eb093336fa5359871","bytes":8705,"namespace":"XF\\Repository","classes":[{"name":"AttachmentRepository"}],"methods":[{"name":"is_array","semantics":{"object_calls":["fetch","findAttachmentsByContent","findAttachmentsByTempHash","getAttachmentHandler","getConstraints","getContainerIdFromContext","getContext","toArray"],"static_calls":["generateRandomString"],"new_classes":["\\InvalidArgumentException"],"factory_literals":[],"object_properties":[]}},{"name":"getEditorData","semantics":{"object_calls":["fetch","findAttachmentsByContent","findAttachmentsByTempHash","getAttachmentHandler","getConstraints","getContainerIdFromContext","getContext","toArray"],"static_calls":["generateRandomString"],"new_classes":["\\InvalidArgumentException"],"factory_literals":[],"object_properties":[]}},{"name":"findAttachmentsForList","semantics":{"object_calls":["finder","setDefaultOrder","with"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"findAttachmentsByTempHash","semantics":{"object_calls":["finder","order","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"findAttachmentsByContent","semantics":{"object_calls":["finder","order","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"findAttachmentsByDataId","semantics":{"object_calls":["finder","setDefaultOrder","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getAttachmentHandlers","semantics":{"object_calls":["getContentTypeField"],"static_calls":["app","extendClass"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getAttachmentHandler","semantics":{"object_calls":["getContentTypeFieldValue"],"static_calls":["app","extendClass"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getDefaultAttachmentConstraints","semantics":{"object_calls":["options"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["attachmentExtensions","attachmentMaxDimensions","attachmentMaxFileSize","attachmentMaxPerMessage"]}},{"name":"applyVideoAttachmentConstraints","semantics":{"object_calls":["getAudioAttachmentExtensions","getVideoAttachmentExtensions","options"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["allowVideoUploads"]}},{"name":"getVideoAttachmentExtensions","semantics":{"object_calls":["app"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["inlineVideoTypes"]}},{"name":"getAudioAttachmentExtensions","semantics":{"object_calls":["app"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["inlineAudioTypes"]}},{"name":"getThumbnailSizes","semantics":{"object_calls":[],"static_calls":["options"],"new_classes":[],"factory_literals":[],"object_properties":["attachmentThumbnailDimensions","attachmentThumbnailRetina"]}},{"name":"logAttachmentView","semantics":{"object_calls":["db","query"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["attachment_id"]}},{"name":"batchUpdateAttachmentViews","semantics":{"object_calls":["db","emptyTable","query"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"addAttachmentsToContent","semantics":{"object_calls":["fetch","finder","getBasicCollection","getEmptyCollection","getEntityId","groupBy","hydrateRelation","order","where","with"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["em"]}},{"name":"deleteUnassociatedAttachments","semantics":{"object_calls":["db","fastDeleteAttachmentsFromPairs","fetchPairs","options"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["saveDrafts"]}},{"name":"fastDeleteContentAttachments","semantics":{"object_calls":["db","fastDeleteAttachmentsFromPairs","fetchPairs","quote"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"fastDeleteAttachmentsFromPairs","semantics":{"object_calls":["beginTransaction","commit","db","delete","query","quote"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"deleteUnusedAttachmentData","semantics":{"object_calls":["delete","fetch","finder","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"countUnassociatedAttachmentsForUser","semantics":{"object_calls":["db","fetchOne"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["user_id"]}}]},{"path":"src/XF/Repository/RouteRepository.php","state":"OK","sha256":"a975e1fb08fed7615407c737fe2960b94935bb0b7e65f8fb251eb26352e2bac5","bytes":1941,"namespace":"XF\\Repository","classes":[{"name":"RouteRepository"}],"methods":[{"name":"strlen","semantics":{"object_calls":["finder","order"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"findRoutesForList","semantics":{"object_calls":["finder","order"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getRouteTypes","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getRouteCacheData","semantics":{"object_calls":["disableProcessingAddOnRoute","fetch","finder","order","where","whereAddOnActive","with"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["AddOn","action_prefix","build_class","build_method","context","controller","format","is_processing","route_prefix","sub_name"]}},{"name":"rebuildRouteCache","semantics":{"object_calls":["getRouteCacheData","set"],"static_calls":["registry"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"rebuildRouteCaches","semantics":{"object_calls":["getRouteTypes","rebuildRouteCache"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Repository/UserAlertRepository.php","state":"OK","sha256":"5efd6dac58b2a42da3a64db6bc36aaee2cefea1394105aa872b672b835590cd9","bytes":21675,"namespace":"XF\\Repository","classes":[{"name":"UserAlertRepository"}],"methods":[{"name":"count","semantics":{"object_calls":["finder","order","where","whereAddOnActive","whereOr","with"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"findAlertsForUser","semantics":{"object_calls":["finder","order","where","whereAddOnActive","whereOr","with"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"userReceivesAlert","semantics":{"object_calls":["doesReceiveAlert","isIgnoring"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Option","is_banned","user_id"]}},{"name":"userReceivesPush","semantics":{"object_calls":["doesReceivePush","isIgnoring"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Option","is_banned","user_id"]}},{"name":"alertFromUser","semantics":{"object_calls":["insertAlert","userReceivesAlert"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["user_id","username"]}},{"name":"alert","semantics":{"object_calls":["insertAlert","userReceivesAlert"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["user_id"]}},{"name":"insertAlert","semantics":{"object_calls":["app","create","push","save","service","userReceivesPush"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Receiver","action","alerted_user_id","auto_read","content_id","content_type","depends_on_addon_id","em","extra_data","user_id","username"]}},{"name":"fastDeleteAlertsToUser","semantics":{"object_calls":["deleteAlertsInternal","finder","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"fastDeleteAlertsFromUser","semantics":{"object_calls":["deleteAlertsInternal","finder","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"fastDeleteAlertsForContent","semantics":{"object_calls":["deleteAlertsInternal","finder","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"deleteAlertsInternal","semantics":{"object_calls":["beginTransaction","commit","db","delete","fetchColumns","query","quote"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"markUserAlertsViewed","semantics":{"object_calls":["markAllUserAlertsViewedOrRead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"markUserAlertViewed","semantics":{"object_calls":["isUnviewed","markUserAlertsViewedOrRead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Receiver","alert_id"]}},{"name":"markUserAlertsRead","semantics":{"object_calls":["markAllUserAlertsViewedOrRead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"autoMarkUserAlertsRead","semantics":{"object_calls":["filter","isUnread","markSpecificUserAlertsRead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["auto_read"]}},{"name":"markSpecificUserAlertsRead","semantics":{"object_calls":["isUnread","markUserAlertsViewedOrRead","setOption"],"static_calls":[],"new_classes":["\\LogicException"],"factory_literals":[],"object_properties":["alert_id","user_id"]}},{"name":"markUserAlertsReadForContent","semantics":{"object_calls":["db","fetchAllColumn","markUserAlertsViewedOrRead","quote"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unread","user_id"]}},{"name":"markUserAlertRead","semantics":{"object_calls":["isUnread","markUserAlertsViewedOrRead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Receiver","alert_id"]}},{"name":"markUserAlertUnread","semantics":{"object_calls":["isUnread","markUserAlertsUnread"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Receiver","alert_id"]}},{"name":"markInaccessibleAlertsRead","semantics":{"object_calls":["addContentToAlerts","canView","container","fetch","filter","finder","markSpecificUserAlertsRead","where"],"static_calls":["app"],"new_classes":[],"factory_literals":[],"object_properties":["depends_on_addon_id","user_id"]}},{"name":"markAllUserAlertsViewedOrRead","semantics":{"object_calls":["app","db","executeTransaction","isPrefetch","request","setAsSaved","update"],"static_calls":[],"new_classes":["\\LogicException"],"factory_literals":[],"object_properties":["user_id"]}},{"name":"markUserAlertsViewedOrRead","semantics":{"object_calls":["app","db","fetchRow","findCached","inTransaction","isPrefetch","query","quote","request","rowsAffected","setAsSaved","update"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unread","alerts_unviewed","em","user_id"]}},{"name":"markUserAlertsUnread","semantics":{"object_calls":["app","db","fetchOne","findCached","inTransaction","isPrefetch","query","quote","request","rowsAffected","setAsSaved","update"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unread","em","user_id"]}},{"name":"pruneViewedAlerts","semantics":{"object_calls":["deleteAlertsInternal","finder","limit","options","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alertExpiryDays"]}},{"name":"pruneUnviewedAlerts","semantics":{"object_calls":["deleteAlertsInternal","finder","limit","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"updateUnviewedCountForUser","semantics":{"object_calls":["findAlertsForUser","saveIfChanged","total","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unviewed","user_id"]}},{"name":"updateUnreadCountForUser","semantics":{"object_calls":["findAlertsForUser","saveIfChanged","total","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unread","user_id"]}},{"name":"getAlertHandlers","semantics":{"object_calls":["getContentTypeField"],"static_calls":["app","extendClass"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getAlertHandler","semantics":{"object_calls":["getContentTypeFieldValue"],"static_calls":["app","extendClass"],"new_classes":["\\InvalidArgumentException"],"factory_literals":[],"object_properties":[]}},{"name":"addContentToAlerts","semantics":{"object_calls":["getAlertHandler","getContent","setContent"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id","content_type"]}},{"name":"getAlertOptOuts","semantics":{"object_calls":["getAlertHandlers","getOptOutDisplayOrder","getOptOutsMap"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getAlertOptOutActions","semantics":{"object_calls":["getAlertHandlers","getOptOutActions"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Service/Attachment/PreparerService.php","state":"OK","sha256":"78398a0cd6e2e9f662aca3811d19dca30c839cb99a2b0f20932811c34933cde1","bytes":9726,"namespace":"XF\\Service\\Attachment","classes":[{"name":"PreparerService"}],"methods":[{"name":"insertAttachment","semantics":{"object_calls":["beforeNewAttachment","getExtension","insertDataFromFile","insertTemporaryAttachment"],"static_calls":["isAudioInlineDisplaySafe","isVideoInlineDisplaySafe"],"new_classes":[],"factory_literals":[],"object_properties":["user_id"]}},{"name":"insertDataFromFile","semantics":{"object_calls":["beginTransaction","canCreateThumbnails","commit","db","detachEntity","em","generateAttachmentThumbnails","getAbstractedDataPath","getAbstractedThumbnailPathForSize","getErrors","getFilePath","preSave","rollback","save","set","setupDataInsertFromFile"],"static_calls":["copyFileToAbstractedPath","deleteFromAbstractedPath"],"new_classes":["PrintableException"],"factory_literals":[],"object_properties":["app"]}},{"name":"setupDataInsertFromFile","semantics":{"object_calls":["create","em","getFileName","getFilePath","getFileSize","getImageHeight","getImageWidth","isOptimized","set"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","file_hash","file_path","file_size","height","optimized","upload_date","user_id","width"]}},{"name":"optimizeExistingAttachment","semantics":{"object_calls":["fs","getAbstractedDataPath","has","imageFromFile","imageManager","optimizeImage","options","save","updateDataFromFile"],"static_calls":["copyAbstractedPathToTempFile"],"new_classes":["FileWrapper"],"factory_literals":[],"object_properties":["app","filename","height","imageOptimization","width"]}},{"name":"updateDataFromFile","semantics":{"object_calls":["beginTransaction","canCreateThumbnails","commit","db","detachEntity","em","generateAttachmentThumbnails","getAbstractedDataPath","getAbstractedThumbnailPathForSize","getErrors","getExistingAbstractedDataPath","getExistingAbstractedThumbnailPathForSize","getFilePath","isChanged","preSave","rollback","saveIfChanged","set","setupDataUpdateFromFile"],"static_calls":["copyFileToAbstractedPath","deleteFromAbstractedPath"],"new_classes":["PrintableException"],"factory_literals":[],"object_properties":["app"]}},{"name":"setupDataUpdateFromFile","semantics":{"object_calls":["getFilePath","getFileSize","getImageHeight","getImageWidth","isOptimized"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["file_hash","file_path","file_size","height","optimized","width"]}},{"name":"generateAttachmentThumbnails","semantics":{"object_calls":["getHeight","getThumbnailSizes","getWidth","imageFromFile","imageManager","resizeShortEdge","save"],"static_calls":["getTempFile","repository"],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"generateAttachmentThumbnail","semantics":{"object_calls":["generateAttachmentThumbnails"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"insertTemporaryAttachment","semantics":{"object_calls":["create","em","getContentType","onNewAttachment","save"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","content_type","data_id","temp_hash"]}},{"name":"associateAttachmentsWithContent","semantics":{"object_calls":["fetch","finder","getContainer","getHandler","onAssociation","save","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id","content_type","temp_hash","unassociated"]}}]}],"holds":[]},{"label":"CORE_B_KINGOFWOLK","root":"/var/www/forums/kingofwolk/public","state":"OK","core_sha256":"a7c32365efc044a809e5395cc708843f9440b29fa3a1eeced82165c521b0866b","category_candidates":{"attachment":[{"path":"src/XF/Entity/Attachment.php","score":103},{"path":"src/XF/Repository/AttachmentRepository.php","score":103},{"path":"src/XF/Service/Attachment/PreparerService.php","score":103},{"path":"src/XF/Admin/Controller/AttachmentController.php","score":102}],"alert":[{"path":"src/XF/Entity/UserAlert.php","score":202},{"path":"src/XF/Entity/UserAlertOptOut.php","score":202},{"path":"src/XF/Repository/UserAlertRepository.php","score":202},{"path":"src/XF/Finder/UserAlertFinder.php","score":201}],"captcha":[{"path":"src/XF/Admin/Controller/CaptchaQuestionController.php","score":101},{"path":"src/XF/AdminSearch/CaptchaQuestionHandler.php","score":101},{"path":"src/XF/Captcha/AbstractCaptcha.php","score":101},{"path":"src/XF/Captcha/HCaptcha.php","score":101}],"controller_request_csrf":[{"path":"src/XF/Admin/Controller/LoginController.php","score":104},{"path":"src/XF/ControllerPlugin/LoginPlugin.php","score":104},{"path":"src/XF/Mvc/Controller.php","score":104},{"path":"src/XF/Pub/Controller/AccountController.php","score":104}],"permission":[{"path":"src/XF/Entity/PermissionInterfaceGroup.php","score":102},{"path":"src/XF/AddOn/DataType/AdminPermission.php","score":101},{"path":"src/XF/AddOn/DataType/Permission.php","score":101},{"path":"src/XF/AddOn/DataType/PermissionInterfaceGroup.php","score":101}],"routing":[{"path":"src/XF/Mvc/Router.php","score":202},{"path":"src/XF/Api/Mvc/Router.php","score":201},{"path":"src/XF/Repository/RouteRepository.php","score":201},{"path":"src/XF/Admin/Controller/RouteController.php","score":102}],"mail":[{"path":"src/XF/BbCode/Renderer/EmailHtml.php","score":203},{"path":"src/XF/Job/ActivitySummaryEmail.php","score":203},{"path":"src/XF/Job/UserEmail.php","score":203},{"path":"src/XF/Mail/Mailer.php","score":203}]},"selected_file_count":28,"semantic_contract_sha256":"46ad0cb4ac85646846509ca64fc793adf96248e89c4a55d6dca7ad36d7a11c6e","semantic_contract":[{"path":"src/XF/AddOn/DataType/AdminPermission.php","state":"OK","sha256":"b8b022417fc6d8abf403cc1704ddf57c0dc26986672db03240a82b7dfefbde12","bytes":1871,"namespace":"XF\\AddOn\\DataType","classes":[{"name":"AdminPermission"}],"methods":[{"name":"exportAddOnData","semantics":{"object_calls":["appendChild","count","createElement","exportMappedAttributes","fetch","finder","getChildTag","order","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["ownerDocument"]}},{"name":"importAddOnData","semantics":{"object_calls":["create","findByIds","getBehavior","getEntries","importMappedAttributes","pluckXmlAttribute","resume","save","setOption"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["addon_id"]}},{"name":"deleteOrphanedAddOnData","semantics":{"object_calls":["deleteOrphanedSimple"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/AddOn/DataType/Permission.php","state":"OK","sha256":"8d6b8657e8585eb8da7f1401df882e0033f93e07179ce4df398b95d22d74c477","bytes":3455,"namespace":"XF\\AddOn\\DataType","classes":[{"name":"Permission"}],"methods":[{"name":"exportAddOnData","semantics":{"object_calls":["appendChild","count","createElement","exportMappedAttributes","fetch","finder","getChildTag","order","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["ownerDocument"]}},{"name":"importAddOnData","semantics":{"object_calls":["create","fetch","finder","getBehavior","getEntries","groupBy","importMappedAttributes","resume","save","setOption","whereOr"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["addon_id"]}},{"name":"deleteOrphanedAddOnData","semantics":{"object_calls":["delete","fetch","findAllForType","getBehavior","getEntries","getSimpleAttributes","groupBy","setOption"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"rebuildActiveChange","semantics":{"object_calls":["finder","total","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["addon_id"]}}]},{"path":"src/XF/AddOn/DataType/PermissionInterfaceGroup.php","state":"OK","sha256":"b2b1397ba1dc3174f680ebe4796a88904aa577db969177485d56cd7568c1f8d6","bytes":2079,"namespace":"XF\\AddOn\\DataType","classes":[{"name":"PermissionInterfaceGroup"}],"methods":[{"name":"exportAddOnData","semantics":{"object_calls":["appendChild","count","createElement","exportMappedAttributes","fetch","finder","getChildTag","order","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["ownerDocument"]}},{"name":"importAddOnData","semantics":{"object_calls":["create","findByIds","getBehavior","getEntries","importMappedAttributes","pluckXmlAttribute","resume","save","setOption"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["addon_id"]}},{"name":"deleteOrphanedAddOnData","semantics":{"object_calls":["deleteOrphanedSimple"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"deleteEntity","semantics":{"object_calls":["setOption"],"static_calls":["deleteEntity"],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Admin/Controller/AttachmentController.php","state":"OK","sha256":"ee0f8736c2bac5903640c526331a68b769a1a8f94da6b60cddfab639202533e4","bytes":4917,"namespace":"XF\\Admin\\Controller","classes":[{"name":"AttachmentController"}],"methods":[{"name":"count","semantics":{"object_calls":["assertAdminPermission"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"preDispatchController","semantics":{"object_calls":["assertAdminPermission"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionIndex","semantics":{"object_calls":["apply","assertValidPage","buildLink","exists","fetch","filterPage","getAttachmentHandlers","getAttachmentRepo","getDisplayValues","getLinkParams","isPost","limitByPage","redirect","rerouteController","setupAttachmentFilterer","total","view"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:attachments"],"object_properties":["attachment_id","request"]}},{"name":"actionFilter","semantics":{"object_calls":["getAttachmentHandlers","getAttachmentRepo","getDatePresets","getFiltersForForm","setupAttachmentFilterer","view"],"static_calls":["language"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"setupAttachmentFilterer","semantics":{"object_calls":["addFilters","filter","filterer"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","request"]}},{"name":"actionDelete","semantics":{"object_calls":["buildLink","delete","em","exception","exists","filter","find","isDataAvailable","isPost","notFound","redirect","view"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:attachments"],"object_properties":["Data","attachment_id","request"]}},{"name":"actionView","semantics":{"object_calls":["em","error","exception","find","getServer","isDataAvailable","notFound","setResponseType","view"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["Data","attachment_id","request"]}},{"name":"actionOptions","semantics":{"object_calls":["buildLink","em","find","redirect","redirectPermanently"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:options","buildLink:options/groups"],"object_properties":[]}},{"name":"getAttachmentRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Admin/Controller/CaptchaQuestionController.php","state":"OK","sha256":"5429361a6524e5725fa224e168717d4d9ada67036658ed23150f7b843c6d3d19","bytes":3139,"namespace":"XF\\Admin\\Controller","classes":[{"name":"CaptchaQuestionController"}],"methods":[{"name":"preDispatchController","semantics":{"object_calls":["assertAdminPermission"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionIndex","semantics":{"object_calls":["fetch","findCaptchaQuestionsForList","getCaptchaQuestionRepo","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"questionAddEdit","semantics":{"object_calls":["view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionAdd","semantics":{"object_calls":["create","em","questionAddEdit"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionEdit","semantics":{"object_calls":["assertCaptchaQuestionExists","questionAddEdit"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"questionSaveProcess","semantics":{"object_calls":["basicEntitySave","filter","formAction"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionSave","semantics":{"object_calls":["assertCaptchaQuestionExists","assertPostOnly","buildLink","buildLinkHash","create","em","questionSaveProcess","redirect","run"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:captcha-questions"],"object_properties":["captcha_question_id"]}},{"name":"actionDelete","semantics":{"object_calls":["actionDelete","assertCaptchaQuestionExists","buildLink","plugin"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:captcha-questions","buildLink:captcha-questions/delete","buildLink:captcha-questions/edit"],"object_properties":["question"]}},{"name":"actionToggle","semantics":{"object_calls":["actionToggle","plugin"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertCaptchaQuestionExists","semantics":{"object_calls":["assertRecordExists"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getCaptchaQuestionRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Admin/Controller/LoginController.php","state":"OK","sha256":"668a0b3bd2b56841c74ef8cee46e11c010f26e11a49d0369d150cfc75f9d6836","bytes":5505,"namespace":"XF\\Admin\\Controller","classes":[{"name":"LoginController"}],"methods":[{"name":"actionForm","semantics":{"object_calls":["buildLink","getDynamicRedirectIfNot","saveStateToSession","service","session","view"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:login"],"object_properties":[]}},{"name":"actionLogin","semantics":{"object_calls":["assertPostOnly","buildLink","clearStateFromSession","completeLogin","error","filter","getDynamicRedirectIfNot","getIp","getPasskeyUser","hasPermission","isLoginLimited","options","plugin","redirect","request","router","service","session","triggerIfTfaConfirmationRequired","validate"],"static_calls":["config","phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step","buildLink:login","buildLink:login/two-step"],"object_properties":["Option","adminRequireTfa","app","is_admin","request","security_lock","use_tfa","user_id"]}},{"name":"actionTwoStep","semantics":{"object_calls":["buildLink","completeLogin","error","getCookie","getDynamicRedirectIfNot","getError","getFormParams","getRedirect","getResult","getUser","plugin","redirect","runTfaCheck","view"],"static_calls":["phrase"],"new_classes":[],"factory_literals":["buildLink:login"],"object_properties":["request"]}},{"name":"completeLogin","semantics":{"object_calls":["applyToResponse","changeUser","create","em","getIp","logIp","repository","response","save","session"],"static_calls":["installLockExists","setVisitor","writeInstallLock"],"new_classes":[],"factory_literals":[],"object_properties":["Admin","app","is_admin","last_login","passwordConfirm","request","user_id"]}},{"name":"actionLogout","semantics":{"object_calls":["assertValidCsrfToken","buildLink","filter","logoutUser","redirect","session"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:index"],"object_properties":[]}},{"name":"actionPasswordConfirm","semantics":{"object_calls":["actionPasswordConfirm","plugin"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionKeepAlive","semantics":{"object_calls":["actionKeepAlive","plugin"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"checkCsrfIfNeeded","semantics":{"object_calls":[],"static_calls":["checkCsrfIfNeeded"],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Admin/Controller/RouteController.php","state":"OK","sha256":"cef102adaf29b61413d94e60bd3004c394e44c6392f8eb3f44f409a67b5cd8b5","bytes":3277,"namespace":"XF\\Admin\\Controller","classes":[{"name":"RouteController"}],"methods":[{"name":"count","semantics":{"object_calls":["assertDevelopmentMode"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"preDispatchController","semantics":{"object_calls":["assertDevelopmentMode"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionIndex","semantics":{"object_calls":["fetch","filter","findRoutesForList","getRouteRepo","getRouteTypes","groupBy","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routeAddEdit","semantics":{"object_calls":["getRouteRepo","getRouteTypes","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionEdit","semantics":{"object_calls":["assertRouteExists","routeAddEdit"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionAdd","semantics":{"object_calls":["create","em","filter","routeAddEdit"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["route_type"]}},{"name":"routeSaveProcess","semantics":{"object_calls":["basicEntitySave","filter","formAction"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionSave","semantics":{"object_calls":["assertPostOnly","assertRouteExists","buildLink","buildLinkHash","create","em","redirect","routeSaveProcess","run"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:routes"],"object_properties":["route_id","route_type"]}},{"name":"actionDelete","semantics":{"object_calls":["actionDelete","assertRouteExists","buildLink","plugin"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:routes","buildLink:routes/delete","buildLink:routes/edit"],"object_properties":["route_id","unique_name"]}},{"name":"assertRouteExists","semantics":{"object_calls":["assertRecordExists"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getRouteRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/AdminSearch/CaptchaQuestionHandler.php","state":"OK","sha256":"352ac6e7455ca73923a4fca72d4346d1d71f05a9c539dbd5d8f66a19a5aa6314","bytes":436,"namespace":"XF\\AdminSearch","classes":[{"name":"CaptchaQuestionHandler"}],"methods":[{"name":"isSearchable","semantics":{"object_calls":["hasAdminPermission"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Api/Mvc/Router.php","state":"OK","sha256":"d0b803755b157a5a5b9b11681a3df3377f3815622623dbd60209ef1a802161f9","bytes":2998,"namespace":"XF\\Api\\Mvc","classes":[{"name":"Router"}],"methods":[{"name":"intval","semantics":{"object_calls":["setPathRewrite"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routePreProcessApiPrefix","semantics":{"object_calls":["setPathRewrite"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routePreProcessApiVersion","semantics":{"object_calls":["setPathRewrite","setVersion"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routePreProcessApiResponseType","semantics":{"object_calls":["setResponseType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routeToController","semantics":{"object_calls":["getAction","getRequestMethod","setAction","setController","setRequestMethod"],"static_calls":["routeToController"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"manipulateLinkPathInternal","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routes"]}},{"name":"getNewRouteMatch","semantics":{"object_calls":[],"static_calls":[],"new_classes":["RouteMatch"],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/BbCode/Renderer/EmailHtml.php","state":"OK","sha256":"5d52678f7eec1e3ffb1f57f1c32338d4634a65aae61beafc62f60cf3159c7526","bytes":2759,"namespace":"XF\\BbCode\\Renderer","classes":[{"name":"EmailHtml"}],"methods":[{"name":"getDefaultOptions","semantics":{"object_calls":[],"static_calls":["getDefaultOptions"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getCustomTagConfig","semantics":{"object_calls":[],"static_calls":["getCustomTagConfig"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getRenderedImg","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["templater"]}},{"name":"getRenderedAttachment","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["templater"]}},{"name":"renderTagInlineCode","semantics":{"object_calls":["renderSubTree","wrapHtml"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getRenderedCode","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":["PreEscaped"],"factory_literals":[],"object_properties":["templater"]}},{"name":"getRenderedQuote","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":["PreEscaped"],"factory_literals":[],"object_properties":["templater"]}},{"name":"getRenderedSpoiler","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":["PreEscaped"],"factory_literals":[],"object_properties":["templater"]}},{"name":"getRenderedInlineSpoiler","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":["PreEscaped"],"factory_literals":[],"object_properties":["templater"]}},{"name":"renderTagMedia","semantics":{"object_calls":["renderTemplate"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["mediaSites","templater"]}},{"name":"getRenderedUnfurl","semantics":{"object_calls":["getRenderedLink","prepareTextFromUrlExtended"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"factory","semantics":{"object_calls":["setTemplater"],"static_calls":["factory"],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Captcha/AbstractCaptcha.php","state":"OK","sha256":"3b7c2cc28486204a2bde66e9dc6628e303b90a9042e318dbe77532366d27b817","bytes":2418,"namespace":"XF\\Captcha","classes":[{"name":"AbstractCaptcha"}],"methods":[{"name":"is_array","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"__construct","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"render","semantics":{"object_calls":["renderInternal"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["_rendered"]}},{"name":"setForceVisible","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["forceVisible"]}},{"name":"setContext","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["context"]}},{"name":"setResponse","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["captcha_data","captcha_date","captcha_type","response"]}},{"name":"getResponse","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["response"]}}]},{"path":"src/XF/Captcha/HCaptcha.php","state":"OK","sha256":"b051fe79db3d1b5dd93bef67c9e3e7cfe7598124cf49339ca016fd0b6c21e14a","bytes":3770,"namespace":"XF\\Captcha","classes":[{"name":"HCaptcha"}],"methods":[{"name":"is_array","semantics":{"object_calls":["options"],"static_calls":["__construct"],"new_classes":[],"factory_literals":[],"object_properties":["extraCaptchaKeys","invisibleMode","secretKey","siteKey"]}},{"name":"__construct","semantics":{"object_calls":["options"],"static_calls":["__construct"],"new_classes":[],"factory_literals":[],"object_properties":["extraCaptchaKeys","invisibleMode","secretKey","siteKey"]}},{"name":"renderInternal","semantics":{"object_calls":["isLocalDomain","renderTemplate"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["forceVisible","invisibleMode","siteKey"]}},{"name":"isValid","semantics":{"object_calls":["client","filter","getBody","getContents","getIp","http","isLocalDomain","post","request","setResponse"],"static_calls":["jsonDecode","logError","logException"],"new_classes":[],"factory_literals":[],"object_properties":["app","secretKey","siteKey"]}},{"name":"isLocalDomain","semantics":{"object_calls":["options"],"static_calls":["hasPrivateUseTld"],"new_classes":[],"factory_literals":[],"object_properties":["app","boardUrl"]}},{"name":"getPrivacyPolicy","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/ControllerPlugin/LoginPlugin.php","state":"OK","sha256":"a0a71dd941792dd20794a08040d053e07579e9fd0bd57a8bbf7c682c62c6de7d","bytes":10753,"namespace":"XF\\ControllerPlugin","classes":[{"name":"LoginPlugin"}],"methods":[{"name":"in_array","semantics":{"object_calls":["getCurrentTrustKey","isUserTfaConfirmationRequired","repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"isTfaConfirmationRequired","semantics":{"object_calls":["getCurrentTrustKey","isUserTfaConfirmationRequired","repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getCurrentTrustKey","semantics":{"object_calls":["getCookie"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"getTfaLoginUserId","semantics":{"object_calls":[],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["session","tfaLoginDate","tfaLoginUserId","user_id"]}},{"name":"getTfaLoginUser","semantics":{"object_calls":["find","getTfaLoginUserId"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["em"]}},{"name":"setTfaSessionCheck","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["session","tfaLoginDate","tfaLoginUserId","user_id"]}},{"name":"clearTfaSessionCheck","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["session","tfaLoginDate","tfaLoginUserId"]}},{"name":"triggerIfTfaConfirmationRequired","semantics":{"object_calls":["exception","isTfaConfirmationRequired","redirect","setTfaSessionCheck"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"runTfaCheck","semantics":{"object_calls":["clearTfaSessionCheck","filter","getIp","getProviders","getTfaLoginUser","hasTooManyTfaAttempts","isPost","isProviderValid","isTfaAvailable","logIp","repository","service","setDeviceTrusted","trigger","verify"],"static_calls":["newError","newForm","newSkipped","newSuccess","phrase"],"new_classes":[],"factory_literals":[],"object_properties":["provider_id","request","user_id"]}},{"name":"setDeviceTrusted","semantics":{"object_calls":["createTrustedKey","repository","response","setCookie"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"completeLogin","semantics":{"object_calls":["associateActionWithUser","changeUser","clearUserActivity","completeUserActionIfPossible","createVisitorRememberKey","getContentUrl","getIp","logIp","options","repository"],"static_calls":["setVisitor","visitor"],"new_classes":[],"factory_literals":[],"object_properties":["preRegAction","preRegActionKey","preRegContentUrl","request","session","user_id"]}},{"name":"actionPasswordConfirm","semantics":{"object_calls":["assertPostOnly","buildLink","error","filter","getDynamicRedirectIfNot","getIp","isLoginLimited","redirect","service","session","validate","validatePasskeyConfirm"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:login"],"object_properties":["controller","passwordConfirm","request","user_id","username"]}},{"name":"validatePasskeyConfirm","semantics":{"object_calls":["clearFailedAttempts","clearStateFromSession","getIp","getPasskeyUser","hasTooManyLoginAttempts","isLoginLimited","service","session","validate"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["request","user_id"]}},{"name":"actionKeepAlive","semantics":{"object_calls":["assertPostOnly","assertValidCsrfToken","getCookie","setJsonParams","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["app","controller","request","user_id"]}},{"name":"createVisitorRememberKey","semantics":{"object_calls":["createRememberRecord","getCookieValue","repository","response","setCookie"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["app","user_id"]}},{"name":"logoutVisitor","semantics":{"object_calls":["clearCookies","clearSiteData","config","deleteVisitorRememberRecord","lastActivityUpdate","logoutUser"],"static_calls":["app"],"new_classes":[],"factory_literals":[],"object_properties":["session"]}},{"name":"lastActivityUpdate","semantics":{"object_calls":["delete","save"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Activity","last_activity","user_id","view_date"]}},{"name":"deleteVisitorRememberRecord","semantics":{"object_calls":["delete","response","setCookie","validateVisitorRememberKey"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"validateVisitorRememberKey","semantics":{"object_calls":["getCookie","repository","validateByCookieValue"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"clearCookies","semantics":{"object_calls":["clearCookieSkipList","getCookies","response","setCookie"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","request"]}},{"name":"clearSiteData","semantics":{"object_calls":["header","response"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"handleVisitorPasswordChange","semantics":{"object_calls":["changeUser","clearUserRememberRecords","createVisitorRememberKey","repository","validateVisitorRememberKey"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["session","user_id"]}}]},{"path":"src/XF/Entity/Attachment.php","state":"OK","sha256":"d34eb4ef05d97b64c64c3c9beb7a4f9eb39710a999530687fbb46b9b260f36f2","bytes":11464,"namespace":"XF\\Entity","classes":[{"name":"Attachment"}],"methods":[{"name":"canView","semantics":{"object_calls":["canView","getAttachmentHandler","getContainerEntity","repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id","content_type","temp_hash"]}},{"name":"getFilename","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","filename"]}},{"name":"getExtension","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","extension"]}},{"name":"getFileSize","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","file_size"]}},{"name":"getIcon","semantics":{"object_calls":["app","data","getExtension","getIcon"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getIconName","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["icon"]}},{"name":"hasThumbnail","semantics":{"object_calls":["hasThumbnail"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"hasRetinaThumbnail","semantics":{"object_calls":["hasRetinaThumbnail"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getWidth","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","width"]}},{"name":"getHeight","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","height"]}},{"name":"getThumbnailWidth","semantics":{"object_calls":["hasThumbnail"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","thumbnail_width"]}},{"name":"getThumbnailHeight","semantics":{"object_calls":["hasThumbnail"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","thumbnail_height"]}},{"name":"getThumbnailUrl","semantics":{"object_calls":["getThumbnailUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getRetinaThumbnailUrl","semantics":{"object_calls":["getRetinaThumbnailUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getThumbnailUrlFull","semantics":{"object_calls":["getThumbnailUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getRetinaThumbnailUrlFull","semantics":{"object_calls":["getRetinaThumbnailUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"isVideo","semantics":{"object_calls":["isVideo"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"isAudio","semantics":{"object_calls":["isAudio"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getTypeGrouping","semantics":{"object_calls":["getTypeGrouping"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data"]}},{"name":"getDirectUrl","semantics":{"object_calls":["app","buildLink","canView","getPublicUrl","router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","temp_hash"]}},{"name":"getContainerLink","semantics":{"object_calls":["getContainerLink"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Container","handler"]}},{"name":"getContainerTitle","semantics":{"object_calls":["getContainerTitle"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Container","handler"]}},{"name":"getContentTypePhrase","semantics":{"object_calls":["getContentTypePhrase"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["handler"]}},{"name":"getHandler","semantics":{"object_calls":["getAttachmentHandler","getAttachmentRepo"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_type"]}},{"name":"getContainer","semantics":{"object_calls":["getContainerEntity"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id","handler"]}},{"name":"setContainer","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["_getterCache"]}},{"name":"createDuplicate","semantics":{"object_calls":["create"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["_em","attach_date","data_id","temp_hash","unassociated"]}},{"name":"_preSave","semantics":{"object_calls":[],"static_calls":[],"new_classes":["\\LogicException"],"factory_literals":[],"object_properties":["_errors","content_id","temp_hash","unassociated"]}},{"name":"_postSave","semantics":{"object_calls":["fastUpdate","isInsert"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","attach_count"]}},{"name":"_preDelete","semantics":{"object_calls":["beforeAttachmentDelete","getAttachmentHandler","getContainerEntity","repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id","content_type"]}},{"name":"_postDelete","semantics":{"object_calls":["fastUpdate","getAttachmentHandler","getContainerEntity","onAttachmentDelete","repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","attach_count","content_id","content_type"]}},{"name":"setupApiResultData","semantics":{"object_calls":["getDirectUrl","getRetinaThumbnailUrl","getThumbnailUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Data","direct_url","file_size","filename","has_retina_thumbnail","has_thumbnail","height","is_audio","is_video","retina_thumbnail_url","thumbnail_url","width"]}},{"name":"getStructure","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["columns","defaultWith","getters","primaryKey","relations","shortName","table","withAliases"]}},{"name":"getAttachmentRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Entity/PermissionInterfaceGroup.php","state":"OK","sha256":"e3c3342f3240cfb241eb7682d70e29db47b4e0614afbca9b8a7e08737ad30696","bytes":4570,"namespace":"XF\\Entity","classes":[{"name":"PermissionInterfaceGroup"}],"methods":[{"name":"getTitle","semantics":{"object_calls":["getPhraseName"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getPhraseName","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["interface_group_id"]}},{"name":"getMasterPhrase","semantics":{"object_calls":["_getDeferredValue","create","getPhraseName"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["MasterTitle","_em","addon_id","language_id","title"]}},{"name":"_postSave","semantics":{"object_calls":["fetch","finder","getBehavior","getExistingRelation","getExistingValue","getOption","getPhraseName","isChanged","isUpdate","save","setOption","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["addon_id","interface_group_id","title"]}},{"name":"_preDelete","semantics":{"object_calls":["db","error","fetchOne","getOption"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["interface_group_id"]}},{"name":"_postDelete","semantics":{"object_calls":["db","delete","getBehavior","getOption","setOption","update"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["MasterTitle","interface_group_id"]}},{"name":"_setupDefaults","semantics":{"object_calls":["getDefaultAddOnId","getRepository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["_em","addon_id"]}},{"name":"getStructure","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["behaviors","columns","getters","options","primaryKey","relations","shortName","table"]}}]},{"path":"src/XF/Entity/UserAlert.php","state":"OK","sha256":"a749d5470269ec4fa9cc9fe419b9e4446208d8914e905ce5d8442292494a5cd2","bytes":6367,"namespace":"XF\\Entity","classes":[{"name":"UserAlert"}],"methods":[{"name":"canView","semantics":{"object_calls":["canViewAlert","canViewContent","getHandler"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Content"]}},{"name":"getHandler","semantics":{"object_calls":["getAlertHandler","getAlertRepo"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_type"]}},{"name":"getContent","semantics":{"object_calls":["getContent","getHandler"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id"]}},{"name":"setContent","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["_getterCache"]}},{"name":"render","semantics":{"object_calls":["getHandler","render"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"isAlertRenderable","semantics":{"object_calls":["getHandler","isAlertRenderable"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"isUnviewed","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["view_date"]}},{"name":"isUnread","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["read_date"]}},{"name":"isUnreadInUi","semantics":{"object_calls":["getOption"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["read_date"]}},{"name":"isRecentlyRead","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["read_date"]}},{"name":"_saveToSource","semantics":{"object_calls":["db","isInsert","query"],"static_calls":["_saveToSource"],"new_classes":[],"factory_literals":[],"object_properties":["alerted_user_id"]}},{"name":"_postSave","semantics":{"object_calls":["db","isChanged","isUpdate","query"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerted_user_id","read_date","view_date"]}},{"name":"_postDelete","semantics":{"object_calls":["db","query"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerted_user_id","read_date","view_date"]}},{"name":"setupApiResultData","semantics":{"object_calls":["getApiOutput","getHandler"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alert_text","alert_url"]}},{"name":"getStructure","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["columns","getters","options","primaryKey","relations","shortName","table","withAliases"]}},{"name":"getAlertRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Entity/UserAlertOptOut.php","state":"OK","sha256":"53f976e8470c6694e4ad465617e1cf4435a562f15d19d9046a95b6a21432ea95","bytes":575,"namespace":"XF\\Entity","classes":[{"name":"UserAlertOptOut"}],"methods":[{"name":"getStructure","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["columns","primaryKey","shortName","table"]}}]},{"path":"src/XF/Finder/UserAlertFinder.php","state":"OK","sha256":"35b133b40d6bb684dba4c3397724a1147f10aec3970d5f66a071106c6342892b","bytes":438,"namespace":"XF\\Finder","classes":[{"name":"UserAlertFinder"}],"methods":[]},{"path":"src/XF/Job/ActivitySummaryEmail.php","state":"OK","sha256":"62305a187ff6ef8e18552ba50e35fd5055a8e0a0ddd162e90350176d4281f25b","bytes":3879,"namespace":"XF\\Job","classes":[{"name":"ActivitySummaryEmail"}],"methods":[{"name":"count","semantics":{"object_calls":["canReceiveActivitySummaryEmail","complete","em","fetch","find","finder","generateAndSendEmail","limitExceeded","order","preFetchSectionData","resume","whereIds"],"static_calls":[],"new_classes":["Timer"],"factory_literals":[],"object_properties":["app","data","sections"]}},{"name":"run","semantics":{"object_calls":["canReceiveActivitySummaryEmail","complete","em","fetch","find","finder","generateAndSendEmail","limitExceeded","order","preFetchSectionData","resume","whereIds"],"static_calls":[],"new_classes":["Timer"],"factory_literals":[],"object_properties":["app","data","sections"]}},{"name":"preFetchSectionData","semantics":{"object_calls":["cacheDataIfNeeded","getDataForJob","setupDataFromJob"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["data","handler","sections"]}},{"name":"generateAndSendEmail","semantics":{"object_calls":["canSendActivitySummary","fastUpdate","generateEmailData","getDisplayValues","getRenderedSections","mailer","newMail","send","setTemplate","setToUser","userLanguage"],"static_calls":["app","language","setLanguage"],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"generateEmailData","semantics":{"object_calls":["addDisplayValue","addDisplayValues","addInstanceSpecificDisplayValues","addRenderedSection","getGlobalDisplayValues","getTitle","getTotal","render","repository"],"static_calls":[],"new_classes":["Instance"],"factory_literals":[],"object_properties":["app","handler","sections","show_value"]}},{"name":"getStatusMessage","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["data"]}}]},{"path":"src/XF/Job/UserEmail.php","state":"OK","sha256":"df18ca0fec0a3b9583846e1decc1a8678c36000e2e18e8b86b4c766c6edbf488","bytes":3462,"namespace":"XF\\Job","classes":[{"name":"UserEmail"}],"methods":[{"name":"is_string","semantics":{"object_calls":["generateTextBody","getMail","mailer","options","prepareTokens","renderPhrase","replacePhrases","send","setFrom","setTemplate","userLanguage"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","boardTitle","data","defaultEmailAddress","email","emailSenderName"]}},{"name":"executeAction","semantics":{"object_calls":["generateTextBody","getMail","mailer","options","prepareTokens","renderPhrase","replacePhrases","send","setFrom","setTemplate","userLanguage"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","boardTitle","data","defaultEmailAddress","email","emailSenderName"]}},{"name":"getActionDescription","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"prepareTokens","semantics":{"object_calls":["buildLink","router"],"static_calls":["emailToUtf8"],"new_classes":[],"factory_literals":["buildLink:canonical:email-stop/all","buildLink:canonical:email-stop/mailing-list"],"object_properties":["app","email","user_id","username"]}},{"name":"replacePhrases","semantics":{"object_calls":["replacePhrasePlaceholders","stringFormatter"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"getMail","semantics":{"object_calls":["mailer","newMail","setToUser"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}}]},{"path":"src/XF/Mail/Mailer.php","state":"OK","sha256":"0554377da027800d64a768b3cc84d7aa76f1f81af0d4f31d03e89df97bceaddf","bytes":13946,"namespace":"XF\\Mail","classes":[{"name":"Mailer"}],"methods":[{"name":"count","semantics":{"object_calls":["get"],"static_calls":["options","registry"],"new_classes":["DkimSigner"],"factory_literals":["get:emailDkimKey"],"object_properties":["defaultTransport","emailDkim","queue","signer","styler","templater"]}},{"name":"__construct","semantics":{"object_calls":["get"],"static_calls":["options","registry"],"new_classes":["DkimSigner"],"factory_literals":["get:emailDkimKey"],"object_properties":["defaultTransport","emailDkim","queue","signer","styler","templater"]}},{"name":"getMailClass","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["mailClass"]}},{"name":"setMailClass","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["mailClass"]}},{"name":"setDefaultFrom","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultFromEmail","defaultFromName"]}},{"name":"getDefaultFromEmail","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultFromEmail"]}},{"name":"getDefaultFromName","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultFromName"]}},{"name":"setDefaultReturnPath","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultReturnPath"]}},{"name":"getDefaultReturnPath","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultReturnPath"]}},{"name":"setDefaultUseVerp","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultUseVerp"]}},{"name":"getDefaultUseVerp","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultUseVerp"]}},{"name":"newMail","semantics":{"object_calls":["applyMailDefaults"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["mailClass"]}},{"name":"applyMailDefaults","semantics":{"object_calls":["setFrom","setReturnPath"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultFromEmail","defaultFromName","defaultReturnPath","defaultUseVerp"]}},{"name":"calculateBounceHmac","semantics":{"object_calls":[],"static_calls":["config"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"generateTextBody","semantics":{"object_calls":["generateTextBody"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["styler"]}},{"name":"renderMailTemplate","semantics":{"object_calls":["pullComponentsFromTemplateOutput","renderPartialMailTemplate","renderTemplate","styleHtml"],"static_calls":["language"],"new_classes":["\\LogicException"],"factory_literals":[],"object_properties":["pageParams","styler","templater"]}},{"name":"renderPartialMailTemplate","semantics":{"object_calls":["addDefaultParam","getDefaultTemplateParams","renderTemplate","setLanguage"],"static_calls":["language"],"new_classes":[],"factory_literals":[],"object_properties":["pageParams","templater"]}},{"name":"getDefaultTemplateParams","semantics":{"object_calls":["config","container","get","getDayStartTimestamps","getStyle","isRtl","options","simpleCache"],"static_calls":["app"],"new_classes":[],"factory_literals":["get:reactions"],"object_properties":["templater"]}},{"name":"pullComponentsFromTemplateOutput","semantics":{"object_calls":["generateTextBody"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"send","semantics":{"object_calls":["getAddress","getFrom","getTo","send","sign"],"static_calls":["logException","options","toEmail"],"new_classes":["TransportException"],"factory_literals":[],"object_properties":["defaultTransport","emailDkim","signer"]}},{"name":"queue","semantics":{"object_calls":["enqueue","jobManager","send"],"static_calls":["app"],"new_classes":[],"factory_literals":[],"object_properties":["queue"]}},{"name":"getDefaultTransport","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultTransport"]}},{"name":"setDefaultTransport","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultTransport"]}},{"name":"getTransportFromOption","semantics":{"object_calls":["config","create","disableTls","getStream","setLocalDomain","setPingThreshold","setSavePath"],"static_calls":["app"],"new_classes":["Dsn","EsmtpTransportFactory","FileTransport","SendmailTransport"],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Mvc/Controller.php","state":"OK","sha256":"ebf61a841470486cbfb6a9ec9d4ea2efa8d5f6aacf35a05baf443b79258cd5aa","bytes":22229,"namespace":"XF\\Mvc","classes":[{"name":"Controller"}],"methods":[{"name":"array_key_exists","semantics":{"object_calls":["extension","init","resolveExtendedClassToRoot"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","request","rootClass"]}},{"name":"__construct","semantics":{"object_calls":["extension","init","resolveExtendedClassToRoot"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","request","rootClass"]}},{"name":"setupFromMatch","semantics":{"object_calls":["getResponseType","getSectionContext","setDefaultSectionContext","setResponseType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"setupFromReply","semantics":{"object_calls":["getContainerKey","getContentKey","getResponseType","getSectionContext","getViewOptions"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["containerKey","contentKey","responseType","sectionContext","viewOptions"]}},{"name":"responseType","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["responseType"]}},{"name":"setResponseType","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["responseType"]}},{"name":"sectionContext","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["sectionContext"]}},{"name":"setSectionContext","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["sectionContext"]}},{"name":"setDefaultSectionContext","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["sectionContext"]}},{"name":"setContainerKey","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["containerKey"]}},{"name":"setContentKey","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["contentKey"]}},{"name":"setViewOption","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["viewOptions"]}},{"name":"preDispatch","semantics":{"object_calls":["checkCsrfIfNeeded","fire","preDispatchType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","rootClass"]}},{"name":"checkCsrfIfNeeded","semantics":{"object_calls":["assertValidCsrfToken","isGet","isHead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request","responseType"]}},{"name":"assertValidCsrfToken","semantics":{"object_calls":["error","exception","validateCsrfToken"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"validateCsrfToken","semantics":{"object_calls":["filter","getCookie","getServer"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","request"]}},{"name":"assertCorrectVersion","semantics":{"object_calls":["config","exception","message","options","setPageParam"],"static_calls":["config","phrase"],"new_classes":[],"factory_literals":[],"object_properties":["app","currentVersionId"]}},{"name":"assertCookieConsent","semantics":{"object_calls":["cookieConsent","exception","getCurrentUrlWithoutAjaxParams","getUnconsentedGroups","getUnconsentedThirdParties","setResponseCode","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"assertCaptchaCookieConsent","semantics":{"object_calls":["assertCookieConsent","cookieConsent","getCaptchaThirdParties"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"assertPasswordVerified","semantics":{"object_calls":["exception","getAuthenticationHandler","getCurrentUrlWithoutAjaxParams","getExistingCredentialsForUser","hasPassword","repository","saveStateToSession","service","session","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Auth","user_id"]}},{"name":"getCurrentUrlWithoutAjaxParams","semantics":{"object_calls":["buildFinalUrl","getRequestQueryParamsExcept","getRoutePath","router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"postDispatch","semantics":{"object_calls":["applyReplyChanges","fire","postDispatchType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","rootClass"]}},{"name":"applyReplyChanges","semantics":{"object_calls":["getContainerKey","getContentKey","getResponseType","getSectionContext","getViewOptions","setContainerKey","setContentKey","setResponseType","setSectionContext","setViewOption"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["containerKey","contentKey","responseType","sectionContext","viewOptions"]}},{"name":"assertPostOnly","semantics":{"object_calls":["error","exception","header","isPost","response"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["app","request"]}},{"name":"assertDraftsEnabled","semantics":{"object_calls":["assertPostOnly","exception","options","setJsonParam","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["saveDrafts"]}},{"name":"isLoggedIn","semantics":{"object_calls":[],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["user_id"]}},{"name":"getDynamicRedirect","semantics":{"object_calls":["getDynamicRedirect"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"getDynamicRedirectIfNot","semantics":{"object_calls":["getDynamicRedirectIfNot"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"error","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":["Error"],"factory_literals":[],"object_properties":[]}},{"name":"message","semantics":{"object_calls":[],"static_calls":[],"new_classes":["Message"],"factory_literals":[],"object_properties":[]}},{"name":"redirect","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":["Redirect"],"factory_literals":[],"object_properties":[]}},{"name":"redirectPermanently","semantics":{"object_calls":["redirect"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"reroute","semantics":{"object_calls":[],"static_calls":[],"new_classes":["Reroute"],"factory_literals":[],"object_properties":[]}},{"name":"rerouteController","semantics":{"object_calls":["getNewRouteMatch","reroute","router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["responseType"]}},{"name":"reroutePath","semantics":{"object_calls":["reroute","routeToController","router","setResponseType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request","responseType"]}},{"name":"view","semantics":{"object_calls":[],"static_calls":[],"new_classes":["View"],"factory_literals":[],"object_properties":[]}},{"name":"exception","semantics":{"object_calls":[],"static_calls":[],"new_classes":["Exception"],"factory_literals":[],"object_properties":[]}},{"name":"errorException","semantics":{"object_calls":["error","exception"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"noPermission","semantics":{"object_calls":["actionNoPermission","plugin"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"notFound","semantics":{"object_calls":["actionNotFound","plugin"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertRecordExists","semantics":{"object_calls":["assertRecordExistsByUnique"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertRecordExistsByUnique","semantics":{"object_calls":["em","exception","find","findOne","notFound"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertViewableRecord","semantics":{"object_calls":["assertRecordExists","canView","exception","noPermission"],"static_calls":[],"new_classes":["\\LogicException"],"factory_literals":[],"object_properties":[]}},{"name":"assertCanonicalUrl","semantics":{"object_calls":["exception","getBasePath","getFullBasePath","getRequestUri","isGet","isHead","redirectPermanently"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request","responseType"]}},{"name":"assertValidPage","semantics":{"object_calls":["buildLink","exception","isGet","redirect"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request","responseType"]}},{"name":"plugin","semantics":{"object_calls":["container","extendClass"],"static_calls":["stringToClass"],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"app","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"request","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"filter","semantics":{"object_calls":["filter"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"filterArray","semantics":{"object_calls":["filterArray","inputFilterer"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"filterFormJson","semantics":{"object_calls":["exists","filter","filterArray"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"filterPage","semantics":{"object_calls":["filter"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"isPost","semantics":{"object_calls":["isPost"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request"]}},{"name":"formAction","semantics":{"object_calls":["formAction"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"searcher","semantics":{"object_calls":["searcher"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"service","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"helper","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"session","semantics":{"object_calls":["session"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"router","semantics":{"object_calls":["router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"buildLink","semantics":{"object_calls":["buildLink","router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"buildPaginatedLink","semantics":{"object_calls":["buildPaginatedLink","router"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"buildLinkHash","semantics":{"object_calls":["app","getRedirectHash"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"registry","semantics":{"object_calls":["registry"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"options","semantics":{"object_calls":["options"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"captchaIsValid","semantics":{"object_calls":["captcha","isShownCaptcha","isValid"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"captchaResponse","semantics":{"object_calls":["captcha","getResponse"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"isContentViewCounted","semantics":{"object_calls":["getRobotName","isPrefetch","options"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["request","user_id","viewCounts"]}},{"name":"data","semantics":{"object_calls":["data"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"em","semantics":{"object_calls":["em"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"finder","semantics":{"object_calls":["em","getFinder"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"repository","semantics":{"object_calls":["em","getRepository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app"]}}]},{"path":"src/XF/Mvc/Router.php","state":"OK","sha256":"cb338fc52f4d12726f820b936ae662f7fb6e616b30e5865a28af03af06f2e5bc","bytes":20850,"namespace":"XF\\Mvc","classes":[{"name":"Router"}],"methods":[{"name":"array_slice","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["linkFormatter","routes"]}},{"name":"__construct","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["linkFormatter","routes"]}},{"name":"setLinkFormatter","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["linkFormatter"]}},{"name":"getLinkFormatter","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["linkFormatter"]}},{"name":"setPather","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["pather"]}},{"name":"getPather","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["pather"]}},{"name":"setRouteFilters","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routeFiltersIn","routeFiltersOut"]}},{"name":"getRouteFiltersIn","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routeFiltersIn"]}},{"name":"getRouteFiltersOut","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routeFiltersOut"]}},{"name":"setIndexRoute","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["indexRoute"]}},{"name":"getIndexRoute","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["indexRoute"]}},{"name":"setIncludeTitleInUrls","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["includeTitleInUrls"]}},{"name":"getIncludeTitlesInUrls","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["includeTitleInUrls"]}},{"name":"setRomanizeUrls","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["romanizeUrls"]}},{"name":"getRomanizeUrls","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["romanizeUrls"]}},{"name":"addRoute","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routes"]}},{"name":"getRoutes","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routes"]}},{"name":"overrideRoute","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routes"]}},{"name":"addRoutePreProcessor","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routePreProcessors"]}},{"name":"getRoutePreProcessors","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routePreProcessors"]}},{"name":"routePreProcessRouteFilter","semantics":{"object_calls":["routeFilterToRegex","setPathRewrite"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routeFiltersIn"]}},{"name":"routePreProcessExtension","semantics":{"object_calls":["setPathRewrite","setResponseType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routePreProcessResponseType","semantics":{"object_calls":["filter","setResponseType"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"routeToController","semantics":{"object_calls":["getNewRouteMatch","getPathRewrite","setAction","setController","setPathRewrite","setSectionContext","suffixMatchesRoute"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultAction","routePreProcessors","routes"]}},{"name":"suffixMatchesRoute","semantics":{"object_calls":["generateMatchRegexInner","setAction","setAnchor","setController","setParams","setSectionContext"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["defaultAction"]}},{"name":"buildLink","semantics":{"object_calls":["buildFinalUrl","buildLinkPath"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"buildLinkPath","semantics":{"object_calls":["buildRouteUrl","manipulateLinkPathInternal"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routes"]}},{"name":"buildPaginatedLink","semantics":{"object_calls":["buildLink"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"prepareStringForUrl","semantics":{"object_calls":["moveEmojiToPlaceholders","stringFormatter"],"static_calls":["app","normalize","options","transliterate"],"new_classes":[],"factory_literals":[],"object_properties":["includeEmojiInTitles","romanizeUrls","stringCache"]}},{"name":"buildRouteUrl","semantics":{"object_calls":["applyRouteFilterToUrl","prepareStringForUrl"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["includeTitleInUrls","indexRoute"]}},{"name":"applyRouteFilterToUrl","semantics":{"object_calls":["routeFilterToRegex"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["routeFiltersOut","routeFiltersOutRegex"]}},{"name":"buildFinalUrl","semantics":{"object_calls":["applyPather","buildQueryString","getFinalLink"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["linkFormatter"]}},{"name":"applyPather","semantics":{"object_calls":[],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["pather"]}},{"name":"buildQueryString","semantics":{"object_calls":["buildQueryString"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getNewRouteMatch","semantics":{"object_calls":[],"static_calls":[],"new_classes":["RouteMatch"],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Pub/Controller/AccountController.php","state":"OK","sha256":"73e755ef485d737f1a74e576827af1a127ec95c153f3a818eb20b344f5243270","bytes":54974,"namespace":"XF\\Pub\\Controller","classes":[{"name":"AccountController"}],"methods":[{"name":"boolval","semantics":{"object_calls":["app","assertRegistrationRequired","header","response"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"preDispatchController","semantics":{"object_calls":["app","assertRegistrationRequired","header","response"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionIndex","semantics":{"object_calls":["rerouteController"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"addAccountWrapperParams","semantics":{"object_calls":["setParam"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionAccountDetails","semantics":{"object_calls":["accountDetailsSaveProcess","addAccountWrapperParams","buildLink","canChangeEmail","canEditProfile","isPost","redirect","run","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/account-details"],"object_properties":["PendingUsernameChange"]}},{"name":"accountDetailsSaveProcess","semantics":{"object_calls":["app","basicEntitySave","check","complete","contentChecker","customFieldsSaveProcess","filter","formAction","fromInput","getFinalDecision","getIp","getRelationOrDefault","hasPermission","isSpamCheckRequired","logError","logIp","logSpamTrigger","plugin","repository","setDob","setup","setupEntityInput","spam","toggleActivitySummaryEmail","validate"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["request","user_id"]}},{"name":"setupUsernameChange","semantics":{"object_calls":["error","exception","filter","options","service","setChangeReason","setNewUsername"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":[],"object_properties":["usernameChangeRequireReason"]}},{"name":"actionUsername","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canChangeUsername","error","isPost","noPermission","redirect","save","setupUsernameChange","validate","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/account-details"],"object_properties":["change_state"]}},{"name":"actionEmail","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canChangeEmail","emailSaveProcess","error","getAuthenticationHandler","hasPassword","isPost","noPermission","redirect","run","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/account-details"],"object_properties":["Auth"]}},{"name":"emailSaveProcess","semantics":{"object_calls":["apply","authenticate","canChangeEmail","filter","formAction","isValid","logError","save","service","validate"],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":["email","user_state"]}},{"name":"actionSignature","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canEditSignature","fromInput","getDisabledEditorButtons","isPost","noPermission","plugin","redirect","run","service","signatureSaveProcess","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/signature"],"object_properties":[]}},{"name":"signatureSaveProcess","semantics":{"object_calls":["apply","complete","formAction","getIp","logErrors","logIp","repository","save","setSignature","validate"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["request","user_id"]}},{"name":"actionPrivacy","semantics":{"object_calls":["addAccountWrapperParams","buildLink","isPost","redirect","run","savePrivacyProcess","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/privacy"],"object_properties":[]}},{"name":"savePrivacyProcess","semantics":{"object_calls":["basicEntitySave","complete","filter","formAction","getIp","getRelationOrDefault","logIp","repository","setup","setupEntityInput","toggleActivitySummaryEmail"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["request","user_id"]}},{"name":"actionPreferences","semantics":{"object_calls":["addAccountWrapperParams","buildLink","data","getAlertOptOuts","getTimeZoneOptions","getUserSelectableLanguages","getUserSelectableStyles","isPost","options","preferencesSaveProcess","redirect","repository","run","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/preferences"],"object_properties":["app","defaultStyleId"]}},{"name":"preferencesSaveProcess","semantics":{"object_calls":["apply","basicEntitySave","canUsePushNotifications","complete","customFieldsSaveProcess","filter","formAction","getAlertOptOutActions","getIp","getRelation","getRelationOrDefault","logIp","remove","repository","restoreDismissedNotices","session","setup","setupEntityInput","toggleActivitySummaryEmail","validate"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["is_moderator","request","user_id"]}},{"name":"actionDismissNotice","semantics":{"object_calls":["assertRecordExists","canDismissNotice","dismissNotice","error","filter","getDynamicRedirect","isPost","redirect","remove","repository","session","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionAvatar","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canUploadAvatar","coerceValue","container","deleteAvatar","error","filter","getError","getFile","getGravatarUrl","getPrintableErrorValue","isPost","isValid","noPermission","options","redirect","removeGravatar","service","setCrop","setGravatar","setImageFromExisting","setImageFromUpload","setJsonParams","updateAvatar","validator","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/avatar"],"object_properties":["Profile","app","avatar_crop_x","avatar_crop_y","avatar_date","avatar_height","avatar_width","gravatarEnable","request"]}},{"name":"actionBanner","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canUploadProfileBanner","deleteBanner","error","filter","getError","getFile","isPost","noPermission","redirect","service","setImageFromUpload","setPosition","updateBanner","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/banner"],"object_properties":["Profile","banner_date","banner_position_y","request"]}},{"name":"actionFollowing","semantics":{"object_calls":["addAccountWrapperParams","fetch","finder","order","view","where"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Profile","following"]}},{"name":"actionIgnored","semantics":{"object_calls":["addAccountWrapperParams","em","fetch","finder","getEmptyCollection","order","view","where"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Profile","ignored"]}},{"name":"actionReactions","semantics":{"object_calls":["addAccountWrapperParams","addContentToReactions","assertNotEmbeddedImageRequest","assertValidPage","canView","fetch","filter","filterPage","findUserReactions","getUserReactionsTabSummary","isRenderable","limitByPage","repository","slice","view","where"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionSecurity","semantics":{"object_calls":["addAccountWrapperParams","buildLink","error","fetch","findPasskeysForUser","getAuthenticationHandler","getDynamicRedirect","getTitle","getValidProviderList","handleVisitorPasswordChange","hasPassword","isDeprecated","isEnabled","isPost","isValid","noPermission","plugin","redirect","repository","save","setInvalidateRememberKeys","setupPasswordChange","view"],"static_calls":["config","visitor"],"new_classes":[],"factory_literals":["buildLink:account/security"],"object_properties":["Auth","security_lock","user_id"]}},{"name":"setupPasswordChange","semantics":{"object_calls":["authenticate","errorException","filter","service"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionPasskeyAdd","semantics":{"object_calls":["addAccountWrapperParams","buildLink","clearStateFromSession","create","error","filter","getChallenge","getExistingCredentialsForUser","isHostLocal","isPost","isSecure","notFound","options","redirect","repository","request","saveStateToSession","service","session","setJsonParams","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/security"],"object_properties":["boardTitle","email","request","user_id","username"]}},{"name":"actionPasskeyEdit","semantics":{"object_calls":["addAccountWrapperParams","assertPasskeyExists","assertPasswordVerified","buildLink","exception","filter","isPost","noPermission","redirect","save","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/security"],"object_properties":["name","passkey_id","user_id"]}},{"name":"actionPasskeyDelete","semantics":{"object_calls":["actionDelete","assertPasskeyExists","assertPasswordVerified","buildLink","exception","noPermission","plugin"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/passkeys/delete","buildLink:account/passkeys/edit","buildLink:account/security"],"object_properties":["name","passkey_id","user_id"]}},{"name":"actionConnectedAccount","semantics":{"object_calls":["addAccountWrapperParams","getAuthenticationHandler","getConnectedAccountRepo","getUsableProviders","hasPassword","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Auth"]}},{"name":"actionConnectedAccountDisassociate","semantics":{"object_calls":["assertPostOnly","assertProviderExists","buildLink","clearToken","count","delete","filter","getAuthenticationHandler","getHandler","getRelationOrDefault","getStorageState","handleVisitorPasswordChange","hasPassword","noPermission","plugin","redirect","resetPassword","save","service","triggerConfirmation"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/connected-accounts"],"object_properties":["Auth","ConnectedAccounts","connected_accounts","provider_id"]}},{"name":"actionRequestPassword","semantics":{"object_calls":["addAccountWrapperParams","buildLink","canTriggerConfirmation","error","getAuthenticationHandler","hasPassword","isPost","noPermission","redirect","resetPassword","service","triggerConfirmation","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/security"],"object_properties":["Auth"]}},{"name":"actionTwoStep","semantics":{"object_calls":["addAccountWrapperParams","assertTfaEnabled","assertTwoStepPasswordVerified","filter","getCurrentTrustKey","getTfaTrustRecord","getTitle","getValidProviderList","hasOtherTrustedDevices","isDeprecated","isEnabled","plugin","repository","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Option","use_tfa","user_id"]}},{"name":"actionTwoStepBackupCodes","semantics":{"object_calls":["addAccountWrapperParams","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","canManage","em","find","formatCodesForDisplay","getUserProviderConfig","redirect","view"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["handler"]}},{"name":"actionTwoStepAdd","semantics":{"object_calls":["addAccountWrapperParams","assertPostOnly","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","canEnable","canHaveMultiple","em","enableUserTfaProvider","error","filter","find","generateInitialData","get","getIp","handleAdd","logIp","meetsRequirements","redirect","remove","renderAdd","repository","requiresConfig","session","set","trigger","verify"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["handler","provider_id","request","user_id"]}},{"name":"actionTwoStepEnable","semantics":{"object_calls":["addAccountWrapperParams","assertPostOnly","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","canEnable","em","enableUserTfaProvider","error","filter","find","generateInitialData","get","getIp","handleConfig","logIp","meetsRequirements","redirect","remove","repository","requiresConfig","session","set","trigger","verify","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["handler","provider_id","request","user_id"]}},{"name":"actionTwoStepDisable","semantics":{"object_calls":["addAccountWrapperParams","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","canDisable","delete","disableTfaForUser","em","find","getIp","isPost","logIp","redirect","repository","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["UserEntries","provider_id","request","user_id"]}},{"name":"actionTwoStepManage","semantics":{"object_calls":["addAccountWrapperParams","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","canManage","em","find","getUserProviderConfig","handleManage","redirect"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["handler","provider_id"]}},{"name":"actionTwoStepTrustedDisable","semantics":{"object_calls":["assertPostOnly","assertTfaEnabled","assertTwoStepPasswordVerified","buildLink","filter","getCurrentTrustKey","plugin","redirect","repository","untrustDevice","untrustOtherDevices"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/two-step"],"object_properties":["user_id"]}},{"name":"assertTwoStepPasswordVerified","semantics":{"object_calls":["addAccountWrapperParams","assertPasswordVerified"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionUpgrades","semantics":{"object_calls":["addAccountWrapperParams","assertCookieConsent","em","error","fetch","find","findPaymentProfilesForList","getCookieThirdParties","getFilteredUserUpgradesForList","isActive","message","repository","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":[],"object_properties":["Provider","active","payment_profile_ids","user_state"]}},{"name":"actionUpgradePurchase","semantics":{"object_calls":["addAccountWrapperParams","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionUpgradeUpdated","semantics":{"object_calls":["addAccountWrapperParams","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"actionNewsFeed","semantics":{"object_calls":["buildLink","redirectPermanently"],"static_calls":[],"new_classes":[],"factory_literals":["buildLink:whats-new/news-feed"],"object_properties":[]}},{"name":"actionAlerts","semantics":{"object_calls":["addAccountWrapperParams","addContentToAlerts","assertNotEmbeddedImageRequest","autoMarkUserAlertsRead","fetch","filter","filterPage","filterViewable","findAlertsForUser","limitByPage","markInaccessibleAlertsReadIfNeeded","markUserAlertsViewed","options","repository","total","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["alertsPerPage","alerts_unviewed","user_id"]}},{"name":"actionAlertsPopup","semantics":{"object_calls":["addContentToAlerts","assertNotEmbeddedImageRequest","autoMarkUserAlertsRead","fetch","filterViewable","findAlertsForUser","markInaccessibleAlertsReadIfNeeded","markUserAlertsViewed","options","repository","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["alertsPopupExpiryDays","alerts_unviewed","user_id"]}},{"name":"markInaccessibleAlertsReadIfNeeded","semantics":{"object_calls":["canView","isUnread","markInaccessibleAlertsRead","repository"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unread"]}},{"name":"actionAlertsMarkRead","semantics":{"object_calls":["addAccountWrapperParams","buildLink","getDynamicRedirect","isPost","markUserAlertsRead","redirect","repository","view"],"static_calls":["phrase","visitor"],"new_classes":[],"factory_literals":["buildLink:account/alerts"],"object_properties":[]}},{"name":"actionAlertToggle","semantics":{"object_calls":["addAccountWrapperParams","assertViewableAlert","buildLink","filter","getDynamicRedirect","isPost","isUnread","markUserAlertRead","markUserAlertUnread","redirect","repository","view"],"static_calls":["phrase"],"new_classes":[],"factory_literals":["buildLink:account/alerts"],"object_properties":[]}},{"name":"actionBookmarks","semantics":{"object_calls":["addAccountWrapperParams","addContentToBookmarks","buildLink","canViewBookmarks","count","fetch","filter","filterPage","filterViewable","findBookmarksForUser","findBookmarksForUserByLabel","findLabelsForUser","isPost","limitByPage","noPermission","pluckNamed","redirect","repository","slice","total","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/bookmarks"],"object_properties":["user_id"]}},{"name":"actionBookmarksPopup","semantics":{"object_calls":["addContentToBookmarks","buildLink","canViewBookmarks","fetch","filter","filterViewable","findBookmarksForUser","findBookmarksForUserByLabel","findLabelsForUser","noPermission","pluckNamed","repository","setJsonParam","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/bookmarks"],"object_properties":["user_id"]}},{"name":"actionBookmarksAutoComplete","semantics":{"object_calls":["canViewBookmarks","filter","getLabelAutoCompleteResults","noPermission","repository","setJsonParam","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["label"]}},{"name":"actionApplications","semantics":{"object_calls":["addAccountWrapperParams","getConnectedClientsForUser","repository","rerouteController","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["client_id"]}},{"name":"actionApplicationsView","semantics":{"object_calls":["addAccountWrapperParams","assertRecordExists","getScopesForTokens","repository","view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["client_id"]}},{"name":"actionApplicationsRevoke","semantics":{"object_calls":["assertRecordExists","buildLink","isPost","redirect","repository","revokeClientForUser","view"],"static_calls":["visitor"],"new_classes":[],"factory_literals":["buildLink:account/applications"],"object_properties":["client_id"]}},{"name":"actionVisitorMenu","semantics":{"object_calls":["view"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"customFieldsSaveProcess","semantics":{"object_calls":["bulkSet","filter","filterEditable","filterGroup","getDefinitionSet","getFieldDefinitions","getRelationOrDefault","saveEntity","setup","validateEntity"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["custom_fields"]}},{"name":"checkCsrfIfNeeded","semantics":{"object_calls":[],"static_calls":["checkCsrfIfNeeded"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertNotSecurityLocked","semantics":{"object_calls":[],"static_calls":["assertNotSecurityLocked","visitor"],"new_classes":[],"factory_literals":[],"object_properties":["security_lock"]}},{"name":"assertPolicyAcceptance","semantics":{"object_calls":[],"static_calls":["assertPolicyAcceptance"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertBoardActive","semantics":{"object_calls":[],"static_calls":["assertBoardActive"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getActivityDetails","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertProviderExists","semantics":{"object_calls":["assertRecordExists"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertPasskeyExists","semantics":{"object_calls":["assertRecordExists"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"assertViewableAlert","semantics":{"object_calls":["assertRecordExists","canView","exception","noPermission","notFound"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["alerted_user_id","user_id"]}},{"name":"assertTfaEnabled","semantics":{"object_calls":["exception","noPermission"],"static_calls":["config"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getConnectedAccountRepo","semantics":{"object_calls":["repository"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Repository/AttachmentRepository.php","state":"OK","sha256":"b4c62ab48da9ea2f7bbb78113ef3b42b4465528afbff1d0eb093336fa5359871","bytes":8705,"namespace":"XF\\Repository","classes":[{"name":"AttachmentRepository"}],"methods":[{"name":"is_array","semantics":{"object_calls":["fetch","findAttachmentsByContent","findAttachmentsByTempHash","getAttachmentHandler","getConstraints","getContainerIdFromContext","getContext","toArray"],"static_calls":["generateRandomString"],"new_classes":["\\InvalidArgumentException"],"factory_literals":[],"object_properties":[]}},{"name":"getEditorData","semantics":{"object_calls":["fetch","findAttachmentsByContent","findAttachmentsByTempHash","getAttachmentHandler","getConstraints","getContainerIdFromContext","getContext","toArray"],"static_calls":["generateRandomString"],"new_classes":["\\InvalidArgumentException"],"factory_literals":[],"object_properties":[]}},{"name":"findAttachmentsForList","semantics":{"object_calls":["finder","setDefaultOrder","with"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"findAttachmentsByTempHash","semantics":{"object_calls":["finder","order","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"findAttachmentsByContent","semantics":{"object_calls":["finder","order","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"findAttachmentsByDataId","semantics":{"object_calls":["finder","setDefaultOrder","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getAttachmentHandlers","semantics":{"object_calls":["getContentTypeField"],"static_calls":["app","extendClass"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getAttachmentHandler","semantics":{"object_calls":["getContentTypeFieldValue"],"static_calls":["app","extendClass"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getDefaultAttachmentConstraints","semantics":{"object_calls":["options"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["attachmentExtensions","attachmentMaxDimensions","attachmentMaxFileSize","attachmentMaxPerMessage"]}},{"name":"applyVideoAttachmentConstraints","semantics":{"object_calls":["getAudioAttachmentExtensions","getVideoAttachmentExtensions","options"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["allowVideoUploads"]}},{"name":"getVideoAttachmentExtensions","semantics":{"object_calls":["app"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["inlineVideoTypes"]}},{"name":"getAudioAttachmentExtensions","semantics":{"object_calls":["app"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["inlineAudioTypes"]}},{"name":"getThumbnailSizes","semantics":{"object_calls":[],"static_calls":["options"],"new_classes":[],"factory_literals":[],"object_properties":["attachmentThumbnailDimensions","attachmentThumbnailRetina"]}},{"name":"logAttachmentView","semantics":{"object_calls":["db","query"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["attachment_id"]}},{"name":"batchUpdateAttachmentViews","semantics":{"object_calls":["db","emptyTable","query"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"addAttachmentsToContent","semantics":{"object_calls":["fetch","finder","getBasicCollection","getEmptyCollection","getEntityId","groupBy","hydrateRelation","order","where","with"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["em"]}},{"name":"deleteUnassociatedAttachments","semantics":{"object_calls":["db","fastDeleteAttachmentsFromPairs","fetchPairs","options"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["saveDrafts"]}},{"name":"fastDeleteContentAttachments","semantics":{"object_calls":["db","fastDeleteAttachmentsFromPairs","fetchPairs","quote"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"fastDeleteAttachmentsFromPairs","semantics":{"object_calls":["beginTransaction","commit","db","delete","query","quote"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"deleteUnusedAttachmentData","semantics":{"object_calls":["delete","fetch","finder","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"countUnassociatedAttachmentsForUser","semantics":{"object_calls":["db","fetchOne"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["user_id"]}}]},{"path":"src/XF/Repository/RouteRepository.php","state":"OK","sha256":"a975e1fb08fed7615407c737fe2960b94935bb0b7e65f8fb251eb26352e2bac5","bytes":1941,"namespace":"XF\\Repository","classes":[{"name":"RouteRepository"}],"methods":[{"name":"strlen","semantics":{"object_calls":["finder","order"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"findRoutesForList","semantics":{"object_calls":["finder","order"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getRouteTypes","semantics":{"object_calls":[],"static_calls":["phrase"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getRouteCacheData","semantics":{"object_calls":["disableProcessingAddOnRoute","fetch","finder","order","where","whereAddOnActive","with"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["AddOn","action_prefix","build_class","build_method","context","controller","format","is_processing","route_prefix","sub_name"]}},{"name":"rebuildRouteCache","semantics":{"object_calls":["getRouteCacheData","set"],"static_calls":["registry"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"rebuildRouteCaches","semantics":{"object_calls":["getRouteTypes","rebuildRouteCache"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Repository/UserAlertRepository.php","state":"OK","sha256":"5efd6dac58b2a42da3a64db6bc36aaee2cefea1394105aa872b672b835590cd9","bytes":21675,"namespace":"XF\\Repository","classes":[{"name":"UserAlertRepository"}],"methods":[{"name":"count","semantics":{"object_calls":["finder","order","where","whereAddOnActive","whereOr","with"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"findAlertsForUser","semantics":{"object_calls":["finder","order","where","whereAddOnActive","whereOr","with"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"userReceivesAlert","semantics":{"object_calls":["doesReceiveAlert","isIgnoring"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Option","is_banned","user_id"]}},{"name":"userReceivesPush","semantics":{"object_calls":["doesReceivePush","isIgnoring"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Option","is_banned","user_id"]}},{"name":"alertFromUser","semantics":{"object_calls":["insertAlert","userReceivesAlert"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["user_id","username"]}},{"name":"alert","semantics":{"object_calls":["insertAlert","userReceivesAlert"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["user_id"]}},{"name":"insertAlert","semantics":{"object_calls":["app","create","push","save","service","userReceivesPush"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Receiver","action","alerted_user_id","auto_read","content_id","content_type","depends_on_addon_id","em","extra_data","user_id","username"]}},{"name":"fastDeleteAlertsToUser","semantics":{"object_calls":["deleteAlertsInternal","finder","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"fastDeleteAlertsFromUser","semantics":{"object_calls":["deleteAlertsInternal","finder","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"fastDeleteAlertsForContent","semantics":{"object_calls":["deleteAlertsInternal","finder","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"deleteAlertsInternal","semantics":{"object_calls":["beginTransaction","commit","db","delete","fetchColumns","query","quote"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"markUserAlertsViewed","semantics":{"object_calls":["markAllUserAlertsViewedOrRead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"markUserAlertViewed","semantics":{"object_calls":["isUnviewed","markUserAlertsViewedOrRead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Receiver","alert_id"]}},{"name":"markUserAlertsRead","semantics":{"object_calls":["markAllUserAlertsViewedOrRead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"autoMarkUserAlertsRead","semantics":{"object_calls":["filter","isUnread","markSpecificUserAlertsRead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["auto_read"]}},{"name":"markSpecificUserAlertsRead","semantics":{"object_calls":["isUnread","markUserAlertsViewedOrRead","setOption"],"static_calls":[],"new_classes":["\\LogicException"],"factory_literals":[],"object_properties":["alert_id","user_id"]}},{"name":"markUserAlertsReadForContent","semantics":{"object_calls":["db","fetchAllColumn","markUserAlertsViewedOrRead","quote"],"static_calls":["visitor"],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unread","user_id"]}},{"name":"markUserAlertRead","semantics":{"object_calls":["isUnread","markUserAlertsViewedOrRead"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Receiver","alert_id"]}},{"name":"markUserAlertUnread","semantics":{"object_calls":["isUnread","markUserAlertsUnread"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["Receiver","alert_id"]}},{"name":"markInaccessibleAlertsRead","semantics":{"object_calls":["addContentToAlerts","canView","container","fetch","filter","finder","markSpecificUserAlertsRead","where"],"static_calls":["app"],"new_classes":[],"factory_literals":[],"object_properties":["depends_on_addon_id","user_id"]}},{"name":"markAllUserAlertsViewedOrRead","semantics":{"object_calls":["app","db","executeTransaction","isPrefetch","request","setAsSaved","update"],"static_calls":[],"new_classes":["\\LogicException"],"factory_literals":[],"object_properties":["user_id"]}},{"name":"markUserAlertsViewedOrRead","semantics":{"object_calls":["app","db","fetchRow","findCached","inTransaction","isPrefetch","query","quote","request","rowsAffected","setAsSaved","update"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unread","alerts_unviewed","em","user_id"]}},{"name":"markUserAlertsUnread","semantics":{"object_calls":["app","db","fetchOne","findCached","inTransaction","isPrefetch","query","quote","request","rowsAffected","setAsSaved","update"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unread","em","user_id"]}},{"name":"pruneViewedAlerts","semantics":{"object_calls":["deleteAlertsInternal","finder","limit","options","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alertExpiryDays"]}},{"name":"pruneUnviewedAlerts","semantics":{"object_calls":["deleteAlertsInternal","finder","limit","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"updateUnviewedCountForUser","semantics":{"object_calls":["findAlertsForUser","saveIfChanged","total","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unviewed","user_id"]}},{"name":"updateUnreadCountForUser","semantics":{"object_calls":["findAlertsForUser","saveIfChanged","total","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["alerts_unread","user_id"]}},{"name":"getAlertHandlers","semantics":{"object_calls":["getContentTypeField"],"static_calls":["app","extendClass"],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getAlertHandler","semantics":{"object_calls":["getContentTypeFieldValue"],"static_calls":["app","extendClass"],"new_classes":["\\InvalidArgumentException"],"factory_literals":[],"object_properties":[]}},{"name":"addContentToAlerts","semantics":{"object_calls":["getAlertHandler","getContent","setContent"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id","content_type"]}},{"name":"getAlertOptOuts","semantics":{"object_calls":["getAlertHandlers","getOptOutDisplayOrder","getOptOutsMap"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"getAlertOptOutActions","semantics":{"object_calls":["getAlertHandlers","getOptOutActions"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}}]},{"path":"src/XF/Service/Attachment/PreparerService.php","state":"OK","sha256":"78398a0cd6e2e9f662aca3811d19dca30c839cb99a2b0f20932811c34933cde1","bytes":9726,"namespace":"XF\\Service\\Attachment","classes":[{"name":"PreparerService"}],"methods":[{"name":"insertAttachment","semantics":{"object_calls":["beforeNewAttachment","getExtension","insertDataFromFile","insertTemporaryAttachment"],"static_calls":["isAudioInlineDisplaySafe","isVideoInlineDisplaySafe"],"new_classes":[],"factory_literals":[],"object_properties":["user_id"]}},{"name":"insertDataFromFile","semantics":{"object_calls":["beginTransaction","canCreateThumbnails","commit","db","detachEntity","em","generateAttachmentThumbnails","getAbstractedDataPath","getAbstractedThumbnailPathForSize","getErrors","getFilePath","preSave","rollback","save","set","setupDataInsertFromFile"],"static_calls":["copyFileToAbstractedPath","deleteFromAbstractedPath"],"new_classes":["PrintableException"],"factory_literals":[],"object_properties":["app"]}},{"name":"setupDataInsertFromFile","semantics":{"object_calls":["create","em","getFileName","getFilePath","getFileSize","getImageHeight","getImageWidth","isOptimized","set"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","file_hash","file_path","file_size","height","optimized","upload_date","user_id","width"]}},{"name":"optimizeExistingAttachment","semantics":{"object_calls":["fs","getAbstractedDataPath","has","imageFromFile","imageManager","optimizeImage","options","save","updateDataFromFile"],"static_calls":["copyAbstractedPathToTempFile"],"new_classes":["FileWrapper"],"factory_literals":[],"object_properties":["app","filename","height","imageOptimization","width"]}},{"name":"updateDataFromFile","semantics":{"object_calls":["beginTransaction","canCreateThumbnails","commit","db","detachEntity","em","generateAttachmentThumbnails","getAbstractedDataPath","getAbstractedThumbnailPathForSize","getErrors","getExistingAbstractedDataPath","getExistingAbstractedThumbnailPathForSize","getFilePath","isChanged","preSave","rollback","saveIfChanged","set","setupDataUpdateFromFile"],"static_calls":["copyFileToAbstractedPath","deleteFromAbstractedPath"],"new_classes":["PrintableException"],"factory_literals":[],"object_properties":["app"]}},{"name":"setupDataUpdateFromFile","semantics":{"object_calls":["getFilePath","getFileSize","getImageHeight","getImageWidth","isOptimized"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["file_hash","file_path","file_size","height","optimized","width"]}},{"name":"generateAttachmentThumbnails","semantics":{"object_calls":["getHeight","getThumbnailSizes","getWidth","imageFromFile","imageManager","resizeShortEdge","save"],"static_calls":["getTempFile","repository"],"new_classes":[],"factory_literals":[],"object_properties":["app"]}},{"name":"generateAttachmentThumbnail","semantics":{"object_calls":["generateAttachmentThumbnails"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":[]}},{"name":"insertTemporaryAttachment","semantics":{"object_calls":["create","em","getContentType","onNewAttachment","save"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["app","content_type","data_id","temp_hash"]}},{"name":"associateAttachmentsWithContent","semantics":{"object_calls":["fetch","finder","getContainer","getHandler","onAssociation","save","where"],"static_calls":[],"new_classes":[],"factory_literals":[],"object_properties":["content_id","content_type","temp_hash","unassociated"]}}]}],"holds":[]}],"holds":[]} -SUPPORT037_HOLDS=[] -SUPPORT037_MUTATION_SCOPE=NONE_READ_ONLY -SUPPORT037_DECISION=TWO_CORE_NARROW_NATIVE_SEMANTICS_CAPTURED +GENERATED_AT_UTC=[PRIVATE_IP]T08:17:01Z +Cluster information +------------------- +Name: homelab +Config Version: 3 +Transport: knet +Secure auth: on +Quorum information +------------------ +Date: Wed Sep [PRIVATE_IP] 2026 +Quorum provider: corosync_votequorum +Nodes: 3 +Node ID: [PRIVATE_IP] +Ring ID: 1.130 +Quorate: Yes + +Votequorum information +---------------------- +Expected votes: 3 +Highest expected: 3 +Total votes: 3 +Quorum: 2 +Flags: Quorate + +Membership information +---------------------- + Nodeid Votes Name +[PRIVATE_IP] [PRIVATE_IP].11 (local) +[PRIVATE_IP] [PRIVATE_IP].13 +[PRIVATE_IP] [PRIVATE_IP].12 + +Membership information +---------------------- + Nodeid Votes Name + 1 1 pve01 (local) + 2 1 pve03 + 3 1 pve02 +[{"cpu":[PRIVATE_IP]829535,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/110","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":110},{"cpu":[PRIVATE_IP]275364,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/111","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"dns2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":111},{"cpu":[PRIVATE_IP][PRIVATE_IP],"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/112","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound1","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":112},{"cpu":0,"disk":[PRIVATE_IP],"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"lxc/113","maxcpu":1,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":0,"name":"unbound2","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"lxc","uptime":[PRIVATE_IP],"vmid":113},{"cpu":[PRIVATE_IP]37595,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"edge-vm","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":130},{"cpu":[PRIVATE_IP]49551,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/150","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"snikket","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":150},{"cpu":[PRIVATE_IP]926432,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/160","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"forum-prod","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve02","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":160},{"cpu":[PRIVATE_IP]32748,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/170","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"core-apps","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":170},{"cpu":[PRIVATE_IP]71782,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/171","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"monitoring","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":171},{"cpu":[PRIVATE_IP]018107,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/190","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"homelab-ops-worker","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":[PRIVATE_IP],"vmid":190},{"cpu":[PRIVATE_IP]49551,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/210","maxcpu":2,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"newfi-prod","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve01","status":"running","template":0,"type":"qemu","uptime":206364,"vmid":210},{"cpu":[PRIVATE_IP]018107,"disk":0,"diskread":[PRIVATE_IP],"diskwrite":[PRIVATE_IP],"id":"qemu/211","maxcpu":2,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"memhost":[PRIVATE_IP],"name":"newfi-staging","netin":[PRIVATE_IP],"netout":[PRIVATE_IP],"node":"pve03","status":"running","template":0,"type":"qemu","uptime":402291,"vmid":211},{"cpu":0,"disk":0,"diskread":0,"diskwrite":0,"id":"qemu/9130","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":0,"memhost":0,"name":"edge-cold-standby","netin":0,"netout":0,"node":"pve02","status":"stopped","template":0,"type":"qemu","uptime":0,"vmid":9130},{"cgroup-mode":2,"cpu":[PRIVATE_IP]35986,"disk":[PRIVATE_IP],"id":"node/pve02","level":"","maxcpu":4,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve02","status":"online","type":"node","uptime":[PRIVATE_IP]},{"cgroup-mode":2,"cpu":[PRIVATE_IP]98354,"disk":[PRIVATE_IP],"id":"node/pve01","level":"","maxcpu":24,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve01","status":"online","type":"node","uptime":[PRIVATE_IP]},{"cgroup-mode":2,"cpu":[PRIVATE_IP]23482,"disk":[PRIVATE_IP],"id":"node/pve03","level":"","maxcpu":8,"maxdisk":[PRIVATE_IP],"maxmem":[PRIVATE_IP],"mem":[PRIVATE_IP],"node":"pve03","status":"online","type":"node","uptime":[PRIVATE_IP]},{"content":"backup,vztmpl,iso,import","disk":[PRIVATE_IP],"id":"storage/pve02/local","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"backup,vztmpl,iso,import","disk":[PRIVATE_IP],"id":"storage/pve01/local","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"backup,vztmpl,iso,import","disk":[PRIVATE_IP],"id":"storage/pve03/local","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"dir","shared":0,"status":"available","storage":"local","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve02/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve02","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve01/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve01","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"content":"images,rootdir","disk":[PRIVATE_IP],"id":"storage/pve03/local-lvm","maxdisk":[PRIVATE_IP],"node":"pve03","plugintype":"lvmthin","shared":0,"status":"available","storage":"local-lvm","type":"storage"},{"id":"network/pve02/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve02","status":"ok","type":"network"},{"id":"network/pve01/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve01","status":"ok","type":"network"},{"id":"network/pve03/zone/localnetwork","network":"localnetwork","network-type":"zone","node":"pve03","status":"ok","type":"network"}] +Name Type Status Total (KiB) Used (KiB) Available (KiB) % +local dir active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 20.55% +local-lvm lvmthin active [PRIVATE_IP] [PRIVATE_IP] [PRIVATE_IP] 9.50% + UNIT LOAD ACTIVE SUB DESCRIPTION +● homelab-backup-retention-gc.service loaded failed failed Homelab owner-aware cloud retention GC + +Legend: LOAD → Reflects whether the unit definition was properly loaded. + ACTIVE → The high-level unit activation state, i.e. generalization of SUB. + SUB → The low-level unit activation state, values depend on unit type. + +1 loaded units listed. +NEXT LEFT LAST PASSED UNIT ACTIVATES +Wed [PRIVATE_IP] 11:17:12 MSK 9s Wed [PRIVATE_IP] 11:16:12 MSK 50s ago homelab-private-vpn-hosts-health.timer homelab-private-vpn-hosts-health.service +Wed [PRIVATE_IP] 11:17:59 MSK 56s Wed [PRIVATE_IP] 11:16:54 MSK 8s ago homelab-router-watchdog.timer homelab-router-watchdog.service +Wed [PRIVATE_IP] 11:18:54 MSK 1min 51s Wed [PRIVATE_IP] 11:03:54 MSK 13min ago homelab-pve03-staging-capacity-health.timer homelab-pve03-staging-capacity-health.service +Wed [PRIVATE_IP] 11:18:54 MSK 1min 51s Wed [PRIVATE_IP] 11:13:54 MSK 3min 8s ago homelab-smartctl-textfile.timer homelab-smartctl-textfile.service +Wed [PRIVATE_IP] 11:18:54 MSK 1min 51s Wed [PRIVATE_IP] 11:13:54 MSK 3min 8s ago netbird-peers-health.timer netbird-peers-health.service +Wed [PRIVATE_IP] 11:21:17 MSK 4min 15s Wed [PRIVATE_IP] 11:16:12 MSK 50s ago homelab-health-metrics.timer homelab-health-metrics.service +Wed [PRIVATE_IP] 11:21:54 MSK 4min 51s Wed [PRIVATE_IP] 11:11:54 MSK 5min ago skladchik-reports-monitor-supervisor.timer skladchik-reports-monitor-supervisor.service +Wed [PRIVATE_IP] 11:24:16 MSK 7min Wed [PRIVATE_IP] 11:09:16 MSK 7min ago prometheus-node-exporter-apt.timer prometheus-node-exporter-apt.service +Wed [PRIVATE_IP] 11:25:38 MSK 8min Wed [PRIVATE_IP] 11:10:38 MSK 6min ago prometheus-node-exporter-nvme.timer prometheus-node-exporter-nvme.service +Wed [PRIVATE_IP] 11:30:00 MSK 12min Wed [PRIVATE_IP] 09:30:08 MSK 1h 46min ago homelab-app-cloud-quorum-queue.timer homelab-app-cloud-quorum-queue.service +Wed [PRIVATE_IP] 11:30:00 MSK 12min Wed [PRIVATE_IP] 11:15:02 MSK 2min 0s ago homelab-incident-journal.timer homelab-incident-journal.service +Wed [PRIVATE_IP] 11:30:08 MSK 13min Wed [PRIVATE_IP] 11:15:08 MSK 1min 54s ago homelab-disk-space-health.timer homelab-disk-space-health.service +Wed [PRIVATE_IP] 11:30:33 MSK 13min Wed [PRIVATE_IP] 11:15:16 MSK 1min 46s ago homelab-external-probe-vps-health.timer homelab-external-probe-vps-health.service +Wed [PRIVATE_IP] 11:30:43 MSK 13min Wed [PRIVATE_IP] 11:16:12 MSK 50s ago homelab-duty-admin-v2.timer homelab-duty-admin-v2.service +Wed [PRIVATE_IP] 11:31:21 MSK 14min Wed [PRIVATE_IP] 11:03:32 MSK 13min ago homelab-mkdocs-auto-refresh.timer homelab-mkdocs-auto-refresh.service +Wed [PRIVATE_IP] 11:31:24 MSK 14min Wed [PRIVATE_IP] 11:15:32 MSK 1min 30s ago homelab-forum-snuffleupagus-health.timer homelab-forum-snuffleupagus-health.service +Wed [PRIVATE_IP] 11:33:10 MSK 16min Wed [PRIVATE_IP] 11:00:08 MSK 16min ago homelab-reference-refresh.timer homelab-reference-refresh.service +Wed [PRIVATE_IP] 11:36:15 MSK 19min Wed [PRIVATE_IP] 11:06:54 MSK 10min ago homelab-backup-audit.timer homelab-backup-audit.service +Wed [PRIVATE_IP] 12:06:34 MSK 49min Wed [PRIVATE_IP] 11:00:54 MSK 16min ago homelab-control-backup.timer homelab-control-backup.service +Wed [PRIVATE_IP] 12:29:55 MSK 1h 12min Wed [PRIVATE_IP] 06:20:16 MSK 4h 56min ago homelab-mailru-trash-gc.timer homelab-mailru-trash-gc.service +Wed [PRIVATE_IP] 12:34:54 MSK 1h 17min Wed [PRIVATE_IP] 08:34:34 MSK 2h 42min ago homelab-vm-cloud-quorum-queue.timer homelab-vm-cloud-quorum-queue.service +Wed [PRIVATE_IP] 15:18:28 MSK 4h 1min Tue [PRIVATE_IP] 19:13:19 MSK 16h ago apt-daily.timer apt-daily.service +Wed [PRIVATE_IP] 16:35:54 MSK 5h 18min Wed [PRIVATE_IP] 10:35:54 MSK 41min ago homelab-vps-identity-audit.timer homelab-vps-identity-audit.service +Wed [PRIVATE_IP] 16:47:32 MSK 5h 30min Tue [PRIVATE_IP] 16:47:32 MSK 18h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service +Wed [PRIVATE_IP] 17:13:10 MSK 5h 56min Wed [PRIVATE_IP] 11:06:00 MSK 11min ago homelab-evidence-root.timer homelab-evidence-root.service +Thu [PRIVATE_IP] 00:00:00 MSK 12h Wed [PRIVATE_IP] 00:00:07 MSK 11h ago dpkg-db-backup.timer dpkg-db-backup.service +Thu [PRIVATE_IP] 00:12:22 MSK 12h Wed [PRIVATE_IP] 00:41:12 MSK 10h ago logrotate.timer logrotate.service +Thu [PRIVATE_IP] 00:14:17 MSK 12h Wed [PRIVATE_IP] 00:08:54 MSK 11h ago homelab-storage-capacity.timer homelab-storage-capacity.service +Thu [PRIVATE_IP] 00:15:12 MSK 12h Wed [PRIVATE_IP] 00:11:32 MSK 11h ago homelab-evidence-catalog.timer homelab-evidence-catalog.service +Thu [PRIVATE_IP] 00:16:01 MSK 12h Wed [PRIVATE_IP] 00:06:07 MSK 11h ago homelab-docker-health.timer homelab-docker-health.service +Thu [PRIVATE_IP] 00:16:50 MSK 12h Wed [PRIVATE_IP] 00:14:16 MSK 11h ago homelab-quality-gate.timer homelab-quality-gate.service +Thu [PRIVATE_IP] 01:22:35 MSK 14h Wed [PRIVATE_IP] 05:22:58 MSK 5h 54min ago pve-daily-update.timer pve-daily-update.service +Thu [PRIVATE_IP] 03:21:39 MSK 16h Wed [PRIVATE_IP] 03:34:04 MSK 7h ago homelab-backup-retention-gc.timer homelab-backup-retention-gc.service +Thu [PRIVATE_IP] 05:54:58 MSK 18h Wed [PRIVATE_IP] 07:54:16 MSK 3h 22min ago man-db.timer man-db.service +Thu [PRIVATE_IP] 06:36:17 MSK 19h Wed [PRIVATE_IP] 06:54:42 MSK 4h 22min ago apt-daily-upgrade.timer apt-daily-upgrade.service +Thu [PRIVATE_IP] 07:01:18 MSK 19h Wed [PRIVATE_IP] 07:04:54 MSK 4h 12min ago homelab-drift-check.timer homelab-drift-check.service +Thu [PRIVATE_IP] 07:29:10 MSK 20h Wed [PRIVATE_IP] 07:35:42 MSK 3h 41min ago homelab-service-registry-check.timer homelab-service-registry-check.service +Thu [PRIVATE_IP] 07:44:09 MSK 20h Wed [PRIVATE_IP] 07:48:02 MSK 3h 29min ago homelab-runbook-generate.timer homelab-runbook-generate.service +Thu [PRIVATE_IP] 07:55:04 MSK 20h Wed [PRIVATE_IP] 07:51:32 MSK 3h 25min ago homelab-alerting-health.timer homelab-alerting-health.service +Thu [PRIVATE_IP] 07:56:50 MSK 20h Wed [PRIVATE_IP] 07:52:32 MSK 3h 24min ago homelab-dependency-map-check.timer homelab-dependency-map-check.service +Thu [PRIVATE_IP] 08:00:02 MSK 20h Wed [PRIVATE_IP] 07:55:16 MSK 3h 21min ago homelab-desired-state-sync.timer homelab-desired-state-sync.service +Thu [PRIVATE_IP] 08:01:45 MSK 20h Wed [PRIVATE_IP] 08:14:24 MSK 3h 2min ago homelab-overall-health.timer homelab-overall-health.service +Thu [PRIVATE_IP] 08:02:41 MSK 20h Wed [PRIVATE_IP] 08:05:54 MSK 3h 11min ago homelab-duty-admin-report.timer homelab-duty-admin-report.service +Thu [PRIVATE_IP] 08:13:09 MSK 20h Wed [PRIVATE_IP] 08:24:08 MSK 2h 52min ago homelab-final-readiness-gate.timer homelab-final-readiness-gate.service +Thu [PRIVATE_IP] 08:24:32 MSK 21h Wed [PRIVATE_IP] 08:12:08 MSK 3h 4min ago homelab-kuma-monitor-policy.timer homelab-kuma-monitor-policy.service +Thu [PRIVATE_IP] 08:31:30 MSK 21h Wed [PRIVATE_IP] 08:40:33 MSK 2h 36min ago homelab-secret-exposure-guard.timer homelab-secret-exposure-guard.service +Thu [PRIVATE_IP] 08:37:17 MSK 21h Wed [PRIVATE_IP] 08:27:54 MSK 2h 49min ago homelab-capacity-risk.timer homelab-capacity-risk.service +Thu [PRIVATE_IP] 08:38:48 MSK 21h Wed [PRIVATE_IP] 08:46:15 MSK 2h 30min ago homelab-cluster-passport.timer homelab-cluster-passport.service +Thu [PRIVATE_IP] 08:59:12 MSK 21h Wed [PRIVATE_IP] 08:55:16 MSK 2h 21min ago homelab-golden-state-index.timer homelab-golden-state-index.service +Thu [PRIVATE_IP] 10:15:00 MSK 22h Wed [PRIVATE_IP] 10:15:08 MSK 1h 1min ago skladchik-reports-monitor-monthly-selftest-watch.timer skladchik-reports-monitor-monthly-selftest-watch.service +Sun [PRIVATE_IP] 03:10:21 MSK 3 days Sun [PRIVATE_IP] 03:11:16 MSK 3 days ago e2scrub_all.timer e2scrub_all.service +Sun [PRIVATE_IP] 03:10:35 MSK 3 days Sun [PRIVATE_IP] 03:10:50 MSK 3 days ago xfs_scrub_all.timer xfs_scrub_all.service +Sun [PRIVATE_IP] 07:35:54 MSK 3 days Sun [PRIVATE_IP] 07:57:53 MSK 3 days ago homelab-rotating-boot-drill.timer homelab-rotating-boot-drill.service +Mon [PRIVATE_IP] 00:10:37 MSK 4 days Mon [PRIVATE_IP] 00:08:52 MSK 2 days ago homelab-secret-sanity.timer homelab-secret-sanity.service +Mon [PRIVATE_IP] 00:30:41 MSK 4 days Mon [PRIVATE_IP] 00:39:53 MSK 2 days ago fstrim.timer fstrim.service +- - - - prometheus-node-exporter-ipmitool-sensor.timer prometheus-node-exporter-ipmitool-sensor.service +- - - - prometheus-node-exporter-mellanox-hca-temp.timer prometheus-node-exporter-mellanox-hca-temp.service +- - - - prometheus-node-exporter-smartmon.timer prometheus-node-exporter-smartmon.service + +58 timers listed. +RUNTIME_MANIFEST_ID=df[PRIVATE_IP]ac9b5abd[PRIVATE_IP]b[PRIVATE_IP]d89496fb2bde[PRIVATE_IP] +EXPERIMENT_ID=5462ee[PRIVATE_IP]ebe[PRIVATE_IP]feb2ad[PRIVATE_IP]1ad87bbac0b8108 +COLLECTION_START_AT=[PRIVATE_IP]T[PRIVATE_IP]:00 +FIRST_COMPLETE_D1_CLOSE=[PRIVATE_IP]T[PRIVATE_IP]:00 +PRODUCTION_LAUNCH_ALLOWED=False +EXECUTION_AUTHORITY=False +RISK_AUTHORITY=False +STAGE_A_HEALTH=AWAITING_PRIMARY_FINALITY +FORENSIC_PREVIOUS_EPOCH_PRESERVED=YES + +## NEWFI_TASK6_AUTH_CHECKPOINT_V[PRIVATE_IP] +- Scope: historical accepted AUTH test, not a current SMTP connection test. +- Newfi approved SMTP account/sender: aleisaev@yandex.ru. +- Endpoint used by accepted test: smtp.yandex.ru:465 with certificate verification; single PLAIN initial response accepted with code 235. +- Evidence: incident ledger ### NEWFI_TASK6_YANDEX_AUTH_V2_OBSERVATION and ### NEWFI_TASK6_AUTH_PROOF_CLOSE_V1. +- No password file written, no application configuration changed, no mail sent by the accepted AUTH test. +- Persistent transport installation and application delivery are not proven by this checkpoint. Task6 is not complete. +- AUTH challenge and missing-file incidents closed; launch/session incident remains OPEN with original cause unproven. +- This update does not change VM211, VM160, routing, board state or Git. +- Other incidents and infrastructure health were not assessed. + + +## NEWFI_PRIVATE_STRUCTURE92_WRONG_MARKER_SCOPE_[PRIVATE_IP] CLOSURE +- Status: CLOSED +- RCA: NEWFI92 inspected the pve01 NEWFI90 attempt marker, which had not been finalized because the outer shell exited immediately after the guest returned RC3 following its successful rollback. The guest marker contained the true final rollback state. +- Correction: NEWFI93 required both the guest FINISHED/ROLLED_BACK record and a fresh exact demo-state readback before reconciling the outer NEWFI90 marker. NEWFI92 itself never reserved an attempt or mutated state. + + +## NEWFI_PRIVATE_NEWFI95_NESTED_TRIPLE_QUOTE_PARSE_[PRIVATE_IP] +- Status: OPEN +- Command: NEWFI95 +- Symptom: after the content-structure precheck passed, the pve03 Python wrapper failed to parse at the PHP line beginning with $root. No Portal discovery or application mutation was reached. +- RCA: an outer raw triple-single-quoted guest Python payload contained an inner raw triple-single-quoted PHP payload. The inner delimiter terminated the outer Python string, causing PHP source to be parsed as Python. +- Safety: NEWFI95 was read-only, created no attempt marker, and did not reach the intended nested guest execution. Do not replay NEWFI95. + + +## NEWFI_PRIVATE_NEWFI95_NESTED_TRIPLE_QUOTE_PARSE_[PRIVATE_IP] CLOSURE +- Status: CLOSED +- RCA: an inner triple-single-quoted PHP literal terminated the outer triple-single-quoted Python guest payload in NEWFI95. The wrapper therefore failed parsing before the intended Portal discovery executed. +- Correction: NEWFI96 removed the nested Python payload layer entirely and passed one Python program directly to VM211 through qm guest exec stdin. The read-only Portal contract completed with QGA exit 0 and the implementation worktree remained unchanged. OUTPUT_END CHAT_OUTPUT_END