Часто администраторам хочется провести профилактику на форуме отрезав от него пользователей, стиль там подготовить, или еще чего.. Но среди стандартных возможностей такого нет, что обидно. Но не беда! =)
Сам скрипт:
<div id="resplash" style="display: none;"> <div class='formal' style='height:200px; width:200px; margin:auto; margin-top:200px; font-family:tahoma; font-size:10px;'> <form id='login' class='container' method='post' action='login.php?action=in' onsubmit='return my_form(this)'><fieldset><span>Форум на профилактике</span><div class='fs-box inline'> <input type='hidden' name='form_sent' value='1' /><input type='hidden' name='redirect_url' value='index.php' /><p class='inputfield required'> <label for='fld1'>Имя <em>(Обязательно)</em></label><br /> <span class='input'> <input type='text' id='fld1' name='req_username' size='25' maxlength='25'/></span></p> <p class='inputfield required'> <label for='fld2'>Пароль <em>(Обязательно)</em></label><br /> <span class='input'> <input type='password' id='fld2' name='req_password' size='25' maxlength='25' /></span></p></div></fieldset> <center><p class='formsubmit'> <input type='submit' class='button' id='customebutton' name='login' value='Войти как Администратор' /></p></center></form></div></div> <script type="text/javascript"> var active = 1; if(GroupID != 1 && active == 1){ e10 = document.createElement('div') e10.innerHTML = document.getElementById("resplash").innerHTML; document.getElementsByTagName('body')[0].insertBefore(e10,document.getElementById('pun_wrap')) document.write("<style type=\"text/css\">html, body {background: #fff;} #customebutton {margin: auto;} #pun {display: none;}</style>"); document.title= 'Форум на профилактике - '+document.title; } </script>
Как работает:
Скрывает форум ото всех кроме администраторов. На случай если администратор разлогинится - добавлена форма входа, актуальная только для администраторов, так как если пользователь даже и залогинится, ничего не увидет. Администратор же будет наблюдать форум в штатном режиме.
Как выглядит:
Примечания:
Не обязательно убирать скрипт после окончания профилактики, достаточно просто поменять 1 на 0 в строке var active = 1; и профилактика будет отключена. При необходимости можно возобновить профилактику произведя обратные действия, то есть поменяв 0 на 1 =)
Куда ставить:
В хтмл-верх (можно и вниз, но вверху будет быстрее срабатывать)
Тестирировалось:
Opera, Mozilla FireFox, IE
Отредактировано opirk032 (2010-01-16 17:44:15)