Автор: 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