Автор: Deff
Пояснения: Скрипт предназначен для скрытого модерирования - администрирования, когда Ваше присутствие должно остаться незамеченным.
Для работы скрипта необходимо заполнить строку-функцию для конкретного юзера и вставить в скрипт,
Пример:
UserOff(1,"Сегодня 14:03:27",22787, "Deff")
Первая цифра синим - скрытие включено или выключено - 1 - включено - 0 - выключено
Красным - якобы дата-время последнего присутствия( *думалось, в принципе, сделать список-массив из 20-30 значений рандомно перебирать его в зависимости от текущего дня месяца - пока оставил так, - вручную
Зеленым -id юзера - (можно подсмотреть при клике на профиль в Адресном окне браузера, -> это цифра, - идущая после id=
И последнее, темно-синим - Ник
Строку подобную этой (синим)
UserOff(1,"Сегодня 15:15:04",14444, "rps")
Можно размножать для нескольких пользователей, не особо увлекаясь количеством, - скрипт достаточно длинный, для каждого ника, прокручивается несколько этапов (Если скрываем только одного юзера - оставляем только одну строку - с вышеуказанными данными, - именно для него
<script type="text/javascript"><!-- Cкрипт Скрытия Присутствия --> $(document).ready(function(){ UserOff(1,"Сегодня 14:03:27",22787, "Deff") UserOff(1,"Сегодня 15:15:04",14444, "rps") function UserOff(off,last_visit,IDUser,NIK){ if(off!==0) { var t9="Последний визит:<br/>" var za = "</a>"; var pa = "<a "; var p =","; var s; var ss0=0; var ss000; var NIKprov = "http://"+location.hostname+"/profile.php?id="+IDUser var str=$("a[href='"+NIKprov+"']:first").parent().html() if (str!==null){ //Прибамбас для ИЕ6 var a=str.substring(1,2) za = "</"+a+">"; pa = "<"+a+" ";} //End&& ss1=pa+"href=\""+NIKprov+"\">"+NIK+za; ss0=$("#pun-index #onlinelist>div a[title='Посмотреть, кто чем занимается на форуме.']").parent().html() if (ss0!==null){ var ss000=ss0.substring(0).replace(NIK+za+p,NIK+za); // Убираем запятую, если есть ss000=ss000.substring(0).replace(ss1,''); // Убираем Ник if(ss0!==ss000){// Если Строка Изменена, меняем кол-во присутствующих пользователей $("#onlinelist>div a[title='Посмотреть, кто чем занимается на форуме.']").parent().html(ss000) ss0=$("#onlinelist>div a[title='Посмотреть, кто чем занимается на форуме.']").parent().find("strong:nth-child(3)").html(); s=ss0-1; // Уменьшаем кол-во пользователей $("#onlinelist>div a[title='Посмотреть, кто чем занимается на форуме.']").parent().find("strong:nth-child(3)").html(s) }} // конец проверки на Главной //Проверка в Топике var ss = "Тему просматривают" ss0=$("#pun-viewtopic div.modmenu p.container:contains('"+ss+"')").html() if (ss0!==null){ ss000=(ss0.substring(0)).replace(NIK+za+p,NIK+za); // Убираем запятую после Ника,если есть ss000=(ss000.substring(0)).replace(ss1,''); // Убираем Ник // Изменении строки ознч-ет, пользователь на странице, меняем кол-во присутствующих пользователей; if(ss0!==ss000){ for(var i=0;i<ss000.length;i++){ if (ss000.substring(0,i).indexOf("Пользователей: ")!=-1){ //Ищем на стр. кол-во Пользователей var j=i; break;}} for(var i=j;i<ss000.length;i++){ if (ss000.substring(j,i).indexOf(")")!=-1){ var y=i; break;}} s=ss000.substring(j,y-1)-1 ss000=ss000.substring(0,j)+s+ss000.substring(y-1) ss0=$("#pun-viewtopic div.modmenu p.container:contains('Тему просматривают')").html(ss000); //Вставили измененую строку юзеров внизу Tопика }}; // конец проверки строки присутствия в топике //проверки активности Аватара в топике ss0=$("#pun-viewtopic li.pl-email a[href='"+NIKprov+"'],#pun-messages li.pa-author a[href='"+NIKprov+"']").parents("div.container").find("div.post-author.online ul").html() if (ss0!==null){ $("li.pl-email a[href='"+NIKprov+"'],#pun-messages li.pa-author a[href='"+NIKprov+"']").parents("div.container").find("div.post-author.online ul").each(function(i){ $(this).find("li.pa-online").addClass("pa-last-visit").removeClass("pa-online").html(t9+last_visit) $(this).parent("div.post-author.online").removeClass("online") }); }// конец -проверки активности Аввы в топике // Проверка и cкрытие при просмотре: ссылки(с главной) "Активны" ss0=$("#pun-online td.tcl a[href='"+NIKprov+"']").parent("td.tcl").parent("tr").hide() } } }); </script><!-- End//Cкрытие Присутствия -->
Дополнения: - Если Мы хотим, чтобы скрипт работал корректно совместно со скриптами "Картинки Оффлайн - Онлайн" и скриптом скрытия - развертывания Инфы под Аватаром - Скрипт должен стоять Выше этих скриптов
*Ставим его или в самый низ HTML верх или в самый верх HTML низ, обязательно чтобы он был выше скрипта последние 10/20 сообщений (иначе кол-во ников - может меняется прямо на глазах у изумлённого юзера
Думаю, что для постоянного надзора имеет смысл заходить с отдельного Аккаунта(редко используемого/неиспользуемого для написания сообщений) и с другого браузера -дабы можно немедленно было ввести в действие стандартно используемый Админ - Модер аккаунт по мере необходимости ситуации... (При такой системе использования, правка скрипта(для установки параметров: включение/выключения и времени последнего присутствия) нужна редко, только когда Вы всё же пожелаете проводить скрыто проводить Администрирование Модерирование
Исправлено для Мазиллы
Поправлено для ИЕ6 - Тестим дальше
Поправлено для скрытия в Личных Сообщениях /14.01.11
Поправлен излишек селектора в Активных(не срабатывал для некоторых сайтов) /22.02.11