Przedstawiam kolejnego FIXa dla jakże finalnej wersji GM AMXBans 1.6 [FINAŁ?].
FIX usuwa problem błędnego przypisywania adminów, dotyczy to głównie 'własnych flag' admina i opcji 'statyczny czas bana'
Problem dot. tego że wysyłane są 2 tablice
Jedna z aktywnymi adminami a druga z 'własnymi flagami' czyli custom_flags.
Problem w tym że w aktiv_new tworzył się wpis tylko gdy admin jest aktywny czyli zaznaczony... a w tablicy custom_flags wpis tworzył się zawsze bo w formularzu pole "własne flagi" i "stat. czas bana" były jedynie ukrywane a z ukrytych pól dane też są wysyłane.
W sumie znowu prozaiczna sprawa, wystarczy dynamiczne blokowanie tych pól [wyłączenie przez disabled] i dane pole nie tworzy niepotrzebnego wpisu w tablicy.
Zacznę od tego że oczywiście jest możliwość usuwania tego błędy w kodzie PHP, filtrowanie zmiennych usuwanie komórek w tablicy, ale po co ? skoro można to zrobić prościej?
1. Otwieramy ./templates/NAZW_TWOJEGO_STYLU/admin_sa.tpl
2.Wyszukaj:
<input type="text" name="custom_flags[]" id="cftxt{$admins.aid}" size="16" value="{$admins.custom_flags}"/>Zamień na:
<input type="text" name="custom_flags[]" id="cftxt{$admins.aid}" size="16" value="{$admins.custom_flags}" {if $admins.aktiv!=1}disabled="disabled"{/if}/>
3. Wyszukaj:
<select name="use_static_bantime[]">{html_options values=$yesno_choose output=$yesno_output|lang selected=$admins.use_static_bantime}</select>Zamień na:
<select id="usbtxt{$admins.aid}" name="use_static_bantime[]" {if $admins.aktiv!=1}disabled="disabled"{/if}>{html_options values=$yesno_choose output=$yesno_output|lang selected=$admins.use_static_bantime}</select>
4. Wyszukaj
<input type="checkbox" name="aktiv_new[]" value="{$admins.aid}" {if $admins.aktiv==1}checked{/if} onclick="document.getElementById('cf{$admins.aid}').style.visibility=(this.checked)?'visible':'hidden'; document.getElementById('usb{$admins.aid}').style.visibility=(this.checked)?'visible':'hidden';" /></td>Zamień na:
<input type="checkbox" name="aktiv_new[]" value="{$admins.aid}" {if $admins.aktiv==1}checked{/if} onclick="this.form.elements['cftxt{$admins.aid}'].disabled = this.form.elements['usbtxt{$admins.aid}'].disabled = !this.checked; document.getElementById('cf{$admins.aid}').style.visibility=(this.checked)?'visible':'hidden'; document.getElementById('usb{$admins.aid}').style.visibility=(this.checked)?'visible':'hidden';" /></td>
Użytkownik L0rdS^P0l4K edytował ten post 05.08.2011 17:37