38676-vm/fix_admin_mini.py
2026-03-07 02:50:28 +00:00

22 lines
4.6 KiB
Python

import re
with open('admin.php', 'r') as f: content = f.read()
content = re.sub(r'<script>.*?</script>', '', content, flags=re.DOTALL)
content = content.replace('<script>', '').replace('</script>', '')
js = """
<script>
function syncSlug(v,t){const e=document.getElementById(t);if(e){e.value=v.toLowerCase().normalize('NFD').replace(/[\u0300-\u036f]/g,'').replace(/[^a-z0-9]+/g,'-').replace(/^-+|-+$/g,'');if(typeof checkUnitFormValidity==='function')checkUnitFormValidity();}}
function updateGridData(){const a=[];document.querySelectorAll('.grid-cell').forEach(c=>{if(c.classList.contains('active'))a.push(c.getAttribute('data-index'))});const i=document.getElementById('unit_grid_data');if(i)i.value=JSON.stringify(a);checkUnitFormValidity();}
function checkUnitFormValidity(){const n=document.getElementById('unit_name')?.value,s=document.getElementById('unit_slug')?.value,g=document.getElementById('unit_grid_data')?.value,b=document.getElementById('unit_submit_btn');if(b){const v=n&&s&&g&&g!=='[]'&&g!=='';b.disabled=!v;b.style.opacity=v?'1':'0.5';}}
function resetUnitForm(){document.getElementById('unit_id').value=0;document.querySelectorAll('.grid-cell').forEach(c=>{c.classList.remove('active');c.style.background='#0a0f1d'});document.getElementById('unit_grid_data').value='';document.querySelectorAll('.reward-input-destroy,.reward-input-capture').forEach(i=>i.value=0);checkUnitFormValidity();}
function editUnit(d){document.getElementById('unit_id').value=d.id;document.getElementById('unit_name').value=d.name;document.getElementById('unit_slug').value=d.slug;document.getElementById('unit_faction_id').value=d.faction_id||"";document.getElementById('unit_can_be_destroyed').checked=d.can_be_destroyed==1;document.getElementById('unit_can_be_captured').checked=d.can_be_captured==1;document.getElementById('unit_points_per_hit').value=d.points_per_hit;document.getElementById('unit_bonus_destruction').value=d.bonus_destruction;document.getElementById('unit_bonus_capture').value=d.bonus_capture;const a=JSON.parse(d.grid_data||'[]')
document.querySelectorAll('.grid-cell').forEach(c=>{const v=a.includes(c.getAttribute('data-index'));c.classList.toggle('active',v);c.style.background=v?'#88c0d0':'#0a0f1d'});document.getElementById('unit_grid_data').value=d.grid_data;document.querySelectorAll('.reward-input-destroy,.reward-input-capture').forEach(i=>i.value=0);if(d.rewards)d.rewards.forEach(r=>{const s=r.action_type==='destroy'?'.reward-input-destroy':'.reward-input-capture';const i=document.querySelector(s+'[data-res-id="'+r.resource_id+'"]');if(i)i.value=r.amount;});window.scrollTo({top:0,behavior:'smooth'});checkUnitFormValidity();}
function editLevel(d){document.getElementById("level_id").value=d.id;document.getElementById("level_name").value=d.name;document.getElementById("level_slug").value=d.slug;document.getElementById("level_resource_id").value=d.resource_id;document.getElementById("level_required_quantity").value=d.required_quantity;window.scrollTo(0,0);}
function editRank(r){document.getElementById('rank_id').value=r.id;document.getElementById('rank_name').value=r.name;document.getElementById('rank_slug').value=r.slug;document.getElementById('rank_type').value=r.user_type;document.getElementById('rank_min').value=r.min_level||"";document.getElementById('rank_max').value=r.max_level||"";window.scrollTo(0,0);}
function editStatus(s){document.getElementById("st_id").value=s.id;document.getElementById("st_name").value=s.name;document.getElementById("st_slug").value=s.slug;document.getElementById("st_color").value=s.color.replace(';blink','');document.getElementById("st_is_blinking").checked=s.color.includes(';blink');window.scrollTo(0,0);}
function editResource(r){document.getElementById('res_id').value=r.id;document.getElementById('res_name').value=r.name;document.getElementById('res_slug').value=r.slug;document.getElementById('res_icon').value=r.icon;window.scrollTo(0,0);}
function editFaction(f){document.getElementById('fac_id').value=f.id;document.getElementById('fac_name').value=f.name;document.getElementById('fac_slug').value=f.slug;document.getElementById('fac_color').value=f.color;window.scrollTo(0,0);}
function editObject(o){document.getElementById('obj_id').value=o.id;document.getElementById('obj_name').value=o.name;document.getElementById('obj_slug').value=o.slug;window.scrollTo(0,0);}
function resetObjectForm(){document.getElementById('obj_id').value=0;}
document.addEventListener('DOMContentLoaded',()=>{document.querySelectorAll('.grid-cell').forEach(c=>{c.addEventListener('click',()=>{c.classList.toggle('active');c.style.background=c.classList.contains('active')?'#88c0d0':'#0a0f1d';updateGridData();});});checkUnitFormValidity();});
</script>