34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
#!/usr/bin/env python3
|
|
path = "/var/www/html/weval-technology-platform.html"
|
|
with open(path, "rb") as f:
|
|
raw = f.read()
|
|
|
|
if b"crm_bridge" in raw:
|
|
print("ALREADY_PATCHED")
|
|
exit(0)
|
|
|
|
# Locate the closing `];` that follows truth_registry.agents||0}
|
|
idx = raw.find(b"truth_registry?.agents||0},")
|
|
if idx == -1:
|
|
print("PAT_NOT_FOUND")
|
|
exit(1)
|
|
|
|
# Find the next `];` after this - closes the extras array
|
|
end_extras = raw.find(b"];", idx)
|
|
marker = b"truth_registry?.agents||0},\n ];"
|
|
if marker in raw:
|
|
new_entry = b"truth_registry?.agents||0},\n {id:\\'crm_bridge\\', icon:\\'\xf0\x9f\x94\x97\\', label:\\'CRM Bridge (4 CRMs)\\', color:\\'#22d3ee\\', count: 4},\n ];"
|
|
new_raw = raw.replace(marker, new_entry, 1)
|
|
|
|
# Navigate handler
|
|
nav_old = b"else if (modId === 'all_pages') renderAllPages();"
|
|
nav_new = b"else if (modId === 'crm_bridge') { window.open('/wevia-ia/wevia-admin-crm-v68.php', '_blank'); return; }\n else if (modId === 'all_pages') renderAllPages();"
|
|
if nav_old in new_raw:
|
|
new_raw = new_raw.replace(nav_old, nav_new, 1)
|
|
|
|
with open(path, "wb") as f:
|
|
f.write(new_raw)
|
|
print(f"PATCHED {len(raw)} → {len(new_raw)}")
|
|
else:
|
|
print("marker not found - ctx:", raw[idx:idx+80])
|