All pastes #2067922 Raw Edit

Something

public text v1 · immutable
#2067922 ·published 2011-05-24 01:52 UTC
rendered paste body
JavaScript: var UID , NAV = Ge ( "NAV" ) , каждый ( NAV . дочерние узлы , функции ( C , ) { если ( . FirstChild ! = нулевой & & . FirstChild . HREF . матч ( / mail.php / ) ) UID = . FirstChild . HREF . раскола ( "? ID =" ) [ 1 ] } ) ; var VERSION = 3 , DEBUG = ложным , DEBUG_COUNT = 100 , MESSAGES_PER_PAGE = 20 , supportedLanguages ​​= { Россия: 0 , украинские: 1 , английском: 3 } , getKeys = функция ( C ) { var = [ ] , б; для ( B в C ) . Push ( б ) ; возвращение } , userLang = langConfig . ID , языки = [ ] ; языков [ supportedLanguages ​​. России ] = { dateDelimiter: " \ U 0432 " , AppName: " \ U 0421 \ U 0442 \ U 0430 \ U 0442 \ U 0438 \ U 0441 \ U 0442 \ U 0438 \ U 043A \ U 0430 \ и 043b \ U 0438 \ U 0447 \ U 043d \ U 043e \ U 0439 \ U 043f \ U 0435 \ U 0440 \ U 0435 \ U 043f \ U 0438 \ U 0441 \ U 043A \ U 0438 " , nameCol: " \ U 0418 \ U 043c \ U 044f " , numberOfMessagesCol: " \ U 0412 \ U 0441 \ U 0435 \ U 0433 \ U 043e \ U 0441 \ U 043e \ U 043e \ U 0431 \ U 0449 \ U 0435 \ U 043d \ U 0438 \ U 0439 " , sentCol: " \ U 0412 \ U 044b \ U 043e \ U 0442 \ U 043f \ U 0440 \ U 0430 \ U 0432 \ U 0438 \ U 043b \ U 0438 " , receivedCol: " \ U 0412 \ U 044b \ U 043f \ U 043e \ U 043b \ U 0443 \ U 0447 \ U 0438 \ U 043b \ U 0438 " ,
lastMsgCol: " \ U 041f \ U 043e \ U 0441 \ U 043b \ U 0435 \ U 0434 \ U 043d \ U 0435 \ U 0435 \ U 0441 \ U 043e \ U 043e \ U 0431 \ U 0449 \ U 0435 \ U 043d \ U 0438 \ U 0435 " , messagesProcessed: " \ U 041e \ U 0431 \ U 0440 \ U 0430 \ U 0431 \ U 043e \ U 0442 \ U 0430 \ U 043d \ U 043e \ U 0441 \ U 043e \ U 043e \ U 0431 \ U 0449 \ U 0435 \ U 043d \ U 0438 \ U 0439 " , dayWithMostMessages: " \ U 0411 \ U 043e \ U 043b \ U 044c \ U 0448 \ U 0435 \ U 0432 \ U 0441 \ U 0435 \ U 0433 \ U 043e \ U 0441 \ U 043e \ U 043e \ U 0431 \ U 0449 \ U 0435 \ U 043d \ U 0438 \ U 0439 \ U 0431 \ U 044b \ U 043b \ U 043e " , timeWithMostMessages: " \ U 0411 \ U 043e \ U 043b \ U 044c \ U 0448 \ U 0435 \ U 0432 \ U 0441 \ U 0435 \ U 0433 \ U 043e \ U 0441 \ U 043e \ U 043e \ U 0431 \ U 0449 \ U 0435 \ U 043d \ U 0438 \ U 0439 " ,
cпасибо: " \ U 0421 \ U 043f \ U 0430 \ U 0441 \ U 0438 \ U 0431 \ U 043e, \ и 0447 \ U 0442 \ U 043e \ U 0434 \ U 043e \ U 0436 \ U 0434 \ U 0430 \ U 043b \ U 0438 \ U 0441 \ и 044c, \ и 043d \ U 0430 \ U 0434 \ U 0435 \ U 0435 \ U 043c \ U 0441 \ U 044f, \ и 043e \ U 043d \ U 043e \ U 0442 \ U 043e \ U 0433 \ U 043e \ U 0441 \ U 0442 \ U 043e \ U 0438 \ U 043b \ U 043e "! , exportByTime: " \ U 042d \ U 043A \ U 0441 \ U 043f \ U 043e \ U 0440 \ U 0442 \ U 0441 \ U 0442 \ U 0430 \ U 0442 \ U 0438 \ U 0441 \ U 0442 \ U 0438 \ U 043A \ U 0438 \ U 043f \ U 043e \ U 0432 \ U 0440 \ U 0435 \ U 043c \ U 0435 \ U 043d \ U 0438 " , exportByMessages: " \ U 042d \ U 043A \ U 0441 \ U 043f \ U 043e \ U 0440 \ U 0442 \ U 0441 \ U 0442 \ U 0430 \ U 0442 \ U 0438 \ U 0441 \ U 0442 \ U 0438 \ U 043A \ U 0438 \ U 043f \ U 043e \ U 0441 \ U 043e \ U 043e \ U 0431 \ U 0449 \ U 0435 \ U 043d \ U 0438 \ U 044f \ U 043c " ,
предупреждение: " \ U 0412 \ U 043d \ U 0438 \ U 043c \ U 0430 \ U 043d \ U 0438 \ U 0435! \ U 041d \ U 0435 \ U 0443 \ U 0434 \ U 0430 \ U 043b \ U 043e \ U 0441 \ U 044c \ U 043e \ U 0431 \ U 0440 \ U 0430 \ U 0431 \ U 043e \ U 0442 \ U 0430 \ U 0442 \ U 044c \ U 0441 \ U 043e \ U 043e \ U 0431 \ U 0449 \ U 0435 \ U 043d \ U 0438 \ U 0439 " } ; языках [ supportedLanguages ​​. английского ] = { dateDelimiter: "в" , secondaryDateDelimiter: "О" , AppName: "Частная статистике сообщений" , nameCol: "Название" , numberOfMessagesCol: "Количество сообщений " , sentCol: "Отправленные" , receivedCol: "Поступило" , lastMsgCol: "Последнее сообщение" , messagesProcessed: "Сообщения обрабатываются" , dayWithMostMessages: "День большинство сообщений" , timeWithMostMessages: "Время с большинством сообщений" , cпасибо: "Благодарю вас за ваше время, мы надеемся, оно того стоило!" , exportByTime: "Экспорт время статистика" , exportByMessages: "Экспорт статистика сообщений" ,
предупреждение: "! Предупреждение Ошибка обработки сообщения" } ; языках [ supportedLanguages ​​. украинского ] = { dateDelimiter: " \ U 043e " , AppName: " \ U 0421 \ U 0442 \ U 0430 \ U 0442 \ U 0438 \ U 0441 \ U 0442 \ U 0438 \ U 043A \ U 0430 \ U 043f \ U 0440 \ U 0438 \ U 0432 \ U 0430 \ U 0442 \ U 043d \ U 0456 \ U 043f \ U 0435 \ U 0440 \ U 0435 \ U 043f \ U 0438 \ U 0441 \ U 043A \ U 0438 " , nameCol: " \ U 0406 \ U 043c ' \ и 044f " , numberOfMessagesCol: " \ U 0423 \ U 0441 \ U 044c \ U 043e \ U 0433 \ U 043e \ U 043f \ U 043e \ U 0432 \ U 0456 \ U 0434 \ U 043e \ и 043c \ U 043b \ U 0435 \ U 043d \ U 044c " , sentCol: " \ U 0412 \ U 0438 \ U 0432 \ U 0456 \ U 0434 \ U 043f \ U 0440 \ U 0430 \ U 0432 \ U 0438 \ и 043b \ U 0438 " , receivedCol: " \ U 0412 \ U 0438 \ U 043e \ U 0434 \ U 0435 \ U 0440 \ U 0436 \ U 0430 \ U 043b \ U 0438 " ,
lastMsgCol: " \ U 041e \ U 0441 \ U 0442 \ U 0430 \ U 043d \ U 043d \ U 0454 \ U 043f \ U 043e \ U 0432 \ U 0456 \ U 0434 \ U 043e \ U 043c \ U 043b \ U 0435 \ U 043d \ U 043d \ и 044f " , messagesProcessed: " \ U 041e \ U 0431 \ U 0440 \ U 043e \ U 0431 \ U 043b \ U 0435 \ U 043d \ U 0435 \ U 043f \ U 043e \ U 0432 \ U 0456 \ U 0434 \ U 043e \ U 043c \ U 043b \ U 0435 \ U 043d \ U 044c " , dayWithMostMessages: " \ U 041d \ U 0430 \ U 0439 \ U 0431 \ U 0456 \ U 043b \ U 044c \ U 0448 \ U 0435 \ и 043f \ U 043e \ U 0432 \ U 0456 \ U 0434 \ U 043e \ U 043c \ U 043b \ U 0435 \ U 043d \ U 044c \ U 0431 \ U 0443 \ U 043b \ U 043e " , timeWithMostMessages: " \ U 041d \ U 0430 \ U 0439 \ U 0431 \ U 0456 \ U 043b \ U 044c \ U 0448 \ U 0435 \ U 043f \ U 043e \ U 0432 \ U 0456 \ U 0434 \ U 043e \ U 043c \ U 043b \ U 0435 \ U 043d \ U 044c " ,
cпасибо: " \ U 0421 \ U 043f \ U 0430 \ U 0441 \ U 0438 \ U 0431 \ U 0456, \ и 0449 \ U 043e \ U 0434 \ U 043e \ U 0447 \ U 0435 \ U 043A \ U 0430 \ U 043b \ U 0438 \ U 0441 \ U 044f, \ и 0441 \ U 043f \ U 043e \ U 0434 \ U 0456 \ U 0432 \ U 0430 \ U 0454 \ U 043c \ U 043e \ U 0441 \ U 044f, \ и 0432 \ U 043e \ U 043d \ U 043e \ U 0442 \ U 043e \ U 0433 \ U 043e \ U 043A \ U 043e \ U 0448 \ U 0442 \ U 0443 \ U 0432 \ U 0430 \ U 043b \ U 043e "! , exportByTime: " \ U 0415 \ U 043A \ U 0441 \ U 043f \ U 043e \ U 0440 \ U 0442 \ U 0441 \ U 0442 \ U 0430 \ U 0442 \ U 0438 \ U 0441 \ U 0442 \ U 0438 \ U 043A \ U 0438 \ U 0437 \ U 0430 \ U 0447 \ U 0430 \ U 0441 \ U 043e \ U 043c " , exportByMessages: " \ U 0415 \ U 043A \ U 0441 \ U 043f \ U 043e \ U 0440 \ U 0442 \ U 0441 \ U 0442 \ U 0430 \ U 0442 \ U 0438 \ U 0441 \ U 0442 \ U 0438 \ U 043A \ U 0438 \ U 0437 \ U 0430 \ U 043f \ U 043e \ U 0432 \ U 0456 \ U 0434 \ U 043e \ U 043c \ U 043b \ U 0435 \ U 043d \ U 043d \ U 044f \ U 043c " ,
предупреждение: " \ U 0423 \ U 0432 \ U 0430 \ U 0433 \ U 0430! \ U 041d \ U 0435 \ U 0432 \ U 0434 \ U 0430 \ U 043b \ U 043e \ U 0441 \ U 044f \ U 043e \ U 0431 \ U 0440 \ U 043e \ U 0431 \ U 0438 \ U 0442 \ U 0438 \ U 043f \ U 043e \ U 0432 \ U 0456 \ U 0434 \ U 043e \ U 043c \ U 043b \ U 0435 \ U 043d \ U 044c " } ; var LANG = языках [ userLang ] ;
если ( LANG == неопределенная ) предупреждение ( "язык! Неподдерживаемые Пожалуйста, измените язык с одним из {" + getKeys ( supportedLanguages ​​) + "}" ) ; еще { var статистика = { } , F = [ ] , href2name = { } , даты = { } , раз = { } , пропустил = 0 , е = 0 , ео = 0 , индекс = 0 , закончил = ложным , р = { й: 0 , из: 0 , HD : функция () { р . St = 0 ; индекс + = р . ул; р . из = 1 ; р . HD = функция () { DEBUG & & из . отладки ( "готовой" ) ; sortRows ( ) ; закончил = истинной } ; ла ( ) } } ; индекс = р . ул; var из = { countDiv: нулевой , timeDiv: нулевой , инициализации : функция () { Ge ( "содержание" ) . InnerHtml = "" ; Ge ( "содержание" ) . AppendChild ( CE ( "IMG" , { SRC: "/ images/progress7.gif" } , 
{ paddingLeft: "240px" } ) ) ; Ge ( "заголовок" ) . InnerHtml = "<h1>" + LANG . AppName + "" + ВЕРСИЯ + "</ h1>" } , загружен : функция () { Ge ( содержание "" ) . InnerHtml = "" ; var C = CE ( "DIV" , { ID: "sprogr" } , { позиция: "родственник" , ширина: "100%" , высота: "30px" , поле: "3px" , BackgroundColor: "# DAE2E8" } ) ; с . AppendChild ( CE ( "DIV" , { ID: "sprogb " } , { ширина: "0" , высота: "наследование" , BackgroundColor: "# 45688E" } ) ) ; с . AppendChild ( CE ( "DIV" , { ID: "SCNT" } , { позиция: "абсолютное" , слева: "10px" , вверху: "7px" , ширина: "200px" , высота: "наследование" , цвета: "# FFF" , ZIndex: 69 } ) ) ; Ge ( "содержание" ) . AppendChild ( C ) } , 
прогресс : функция () { Ge ( "sprogb" ) . стиле . ширина = 100 * Индекс / ( 1 * е + 1 * EO ) + "%" ; Ge ( "SCNT" ) . InnerHtml = LANG .messagesProcessed + ":" + индекс } , отладки : функция ( C ) { консоли . отладки ( С ) } , generateCount : функция () { этого . countDiv = CE ( "DIV" ) ; var C = CE ("Стол" , { имя класса: "wikiTable" } ) ; с . InnerHtml + = "<thead> <th> </ TH> <th>" + LANG . nameCol + "</ м> <й OnClick =" JavaScript: sortRows (); "стиль =" Курсор: указатель "> ' + LANG . numberOfMessagesCol + "</ м> <й OnClick =" JavaScript: sortRows ( \ " из \ " ); "стиль =" Курсор: указатель ">" + LANG . sentCol + "</ м> <й OnClick =" JavaScript: sortRows ( \ " в \ " ); "стиль =" Курсор: указатель "> ' +
LANG . receivedCol + "</ TH> <th>" + LANG . lastMsgCol + "</ TH> </ THEAD>" ; var = CE ( "TBODY" ) ; с . AppendChild ( ) ; для ( var B = 0 , б < F . длину , б + + ) { var D = CE ( "TR" ) , E = CE ( "ТД" , { InnerHtml: B + 1 } ) , J = CE ( "ТД" , { InnerHtml: "<A HREF =" ' + F [ B ] . HREF + '">' + F [ б ] . имя + "</ A>" } ) , К = CE ( "ТД" , { InnerHtml: F [ б ] . кол } ) , L = CE ( " ТД " , { InnerHtml: F [ б ] . count_outgoing } ) , H = CE ( "ТД" , { InnerHtml: F [ б ] . count_incoming } ) , G = CE ( "ТД" , { InnerHtml: '<HREF = "? mail.php действовать = Показывать & ID = ' + F [ б ] . lastMsgId + '">' + F [ б ] . lastMsgTime + "</ A>" } ) ; г . AppendChild ( E ) , г . AppendChild ( J ) , г . AppendChild ( К ) , г . AppendChild ( L ) , г . AppendChild ( H ) , г . AppendChild ( г ) ; . AppendChild ( D ) } это . countDiv . AppendChild ( C ) ; Ge ( "Содержание" ) . AppendChild ( это . countDiv ) } , getNoteContent : функция ( C ) { var = "==" + LANG . AppName + "" + ВЕРСИЯ + "== \ п \ п " ; + = " [[club21792535 | вконтакте-статистика]] \ п \ п " ; + = "{| \ п " ; + = "| - \ п " ; + = ""! ; + = "!"! + LANG . nameCol; + = "!" + LANG . numberOfMessagesCol; + = "!" + LANG . sentCol; + = "!" + LANG . receivedCol + " \ п " ; для ( var B = 0 , б < ( C ! = неопределенная ? мат . мин ( F . длину , C ) : F . длину ) ; B + + ) { + = "| - \ п " ; + = "|" + ( B + 1 ) + " \ п " ; + = "| [" + F [ б ] . HREF + 
"|" + F [ б ] . имя + "] \ п " ; + = "|" + F [ б ] . кол + " \ п " ; + = "|" + F [ б ] . count_outgoing + " \ п " ; + = "|" + F [ б ] . count_incoming + " \ п " } + = "|} \ п " ; возвращение } , к сведению : функция ( C ) { Ajax . Получить ( { URL: "/ notes.php нового? действовать =" , onDone : функция ( а, Ь ) { var D = CE ( "DIV" , { } , { дисплей: "нет" } ) ; г . InnerHtml = B; документ . тело . AppendChild ( D ) ; Ge ( "сообщение" ) . значение = из . getNoteContent ( C ) ; Ge ( "Название" ) . значение = LANG . AppName + "" + ВЕРСИЯ + ": TOP" + ; C GE ( status_export "" ) . значение = 1 ; Ge ( "privacy_note" ) . значение = 0 ; Ge ( "" privacy_notecomm ) . значение = 0 ; Ge ( "editPost" ) . действий = "/ notes.php нового? действовать =" ; Ge ( "editPost" ) . представить ( ) } } ) } , generateTime : функция () { этого . timeDiv = CE ( "DIV" ) ; var C = "" , = 0 , B = "" , D = 0 , Е; для ( E в датах ) , если ( даты [ Е ] . МОП + даты [ Е ] . из > D ) { B = E, D = даты [ Е ] . МОП + даты [ Е ] . из } для ( E в разы ) , если ( раз [ Е ] . МОП + раза [ Е ] . из > ) { C = е; = раза [ Е ] . МОП + раза [ Е ] . из } это . timeDiv . InnerHtml = LANG . dayWithMostMessages + ":" + B + "-" + D; это . timeDiv . InnerHtml + = " <br/> " + LANG . timeWithMostMessages + ":" + C + "-" + ; Ge ( "содержание" ) . AppendChild ( это . timeDiv ) } , генерировать : функция () { Ge ( "содержание" ) . InnerHtml = LANG . ThankYou + 
"<br/> <br/>" , если ( пропущено > 0 ) Ge ( "содержание" ) . InnerHtml + = LANG . предупреждение + ":" + пропущен + "<br/>" ; это . generateTime ( ) ; Ge ( "содержание" ) . InnerHtml + = LANG . exportByMessages + "<a href="#" onclick="javascript: out.note(10);"> TOP 10 </> | <a href="#" onclick="javascript: out.note(50);"> TOP 50 </ A> | <a href="#" onclick="javascript: out.note();"> все < /> ' ; Ge ( "содержание" ) . AppendChild ( CE ( "DIV" , { ID: "экспорт" } ) ) ; Ge ( "содержание" ) . InnerHtml + = "<br/>" ; из . generateCount ( ) } } , sortRows = функция ( C ) { если ( F . длину == 0 ) для ( var в статистике ) F . Push ( { HREF: ,
имя: href2name [ ] , оценок: статистика [ ] . count_out + статистика [ ] . count_in , count_incoming: статистика [ ] . count_in , count_outgoing: статистика [ ] . count_out , lastMsgId: статистика [ ] . lastMsgId , lastMsgTime: статистика [ ] . lastMsgTime } ) ; , если ( С == неопределенная ) F . рода ( функция ( B , D ) { возвращения г . кол - б . кол } ) ; еще с == "за" ? F . рода ( функция ( B , D ) { возвращения г . count_outgoing - б . count_outgoing } ) : F . рода ( функция ( B , D ) { возвращения г . count_incoming - б . count_incoming } ) ; из . генерировать ( ) } ; из . инициализации ( ) ; Ajax . Получить ( { URL: " ? mail.php ID = " + UID , onDone : функция ( C, ) { е = EVAL ( "(" + + ) "" ) . кол; DEBUG & & из . отладки ( "конец входящего =" + е ) ; Ajax . Получить ( { URL: "? mail.php ID =" + жидкость + "и из = 1" , onDone : функция ( B, D ) { EO = EVAL ( "(" + D + ")" ) . кол; DEBUG & & из . отладки ( "конец исходящих =" + ео ) ; из . загружены ( ) ; SetTimeout ( "La ()" , 1E3 ) } } ) } } ) ; var  parseTS = функция ( C ) { var = C . раскола ( LANG . dateDelimiter ) , B = [ 1 ] , D = [ 0 ] ; если ( userLang == supportedLanguages ​​. английском и коллекции [ 1 ] ! = неопределенная ) { = C . раскол ( LANG . secondaryDateDelimiter ) , б = [ 0 ] ; D = [ 1 ] } возвращение { дата: D , время: B } } , ла = функция () { var C = новый  Ajax , = ( новая  дата ) . GetTime ( ) ; с . onDone = функция ( B, D ) { если ( ! ( б . данных . ул ! =
р . Санкт- | | б . данных . из ! = р . из ) ) , если ( D . матч ( <! / / ) ) DEBUG & & консоли . отладки ( "[Ajax] остановить причиной blank.php, ожидая продолжения ..." ) ; еще { попытаться { var E = EVAL ( "(" + D + ") " ) . содержание , J = CE ( "DIV" ) ; J . InnerHtml = E; каждый ( geByClass ( "имя" , J , "DIV" ) , функции ( L , H ) { var G = H . детей [ 0 ] . HREF , M = H . детей [ 0 ] . InnerHtml , я = H . ParentNode . детей; я = я [ я . длина - 1 ] . InnerHtml; var N = parseTS ( я ) ; msgDate = N . дате; msgTime = N времени. ; если ( даты [ msgDate ] == неопределенная ) даты [ msgDate ] = { МОП: 0 , из: 0 } ; если ( раз [ msgTime ] == неопределенная ) раз [ msgTime ] = { МОП: 0 , из: 0 } ; если ( href2name [ г ] == 
неопределенная ) { href2name [ г ] = M; DEBUG & & из . отладки ( "[h2n]" + G + "->" + т ) } , если ( статистика [ г ] == неопределенная ) { lastId = H . ParentNode . ParentNode . ID . подстрока ( 4 ) ; статистика [ г ] = { count_out: 0 , count_in: 0 , lastMsgId: lastId , lastMsgTime: я } ; DEBUG & & из . отладки ( "[статистика]" + G + "начал (lastMsgId =" + lastId + "; lastMsgTime =" + я + ")" ) } , если ( б . данных . из == 0 ) { статистика [ г ] . count_in + + ; даты [ msgDate ] . МОП + + ; раз [ msgTime ] . МОП + + } еще { статистика [ г ] . count_out + + ; даты [ msgDate ] . из + + ; раз [ msgTime ] . из + + } DEBUG & & из . отладки ( "[статистика]" + G + "обработано" ) } ) ; DEBUG & & из . отладки ( "[Ajax] обработаны успешно" ) } поймать ( K ) { DEBUG & &
из . отладки ( "[Ajax] обрабатывается с ошибкой:" + K ) ; пропустил + = MESSAGES_PER_PAGE } индекс + = MESSAGES_PER_PAGE; из . прогресса ( ) ; E = ( новая  дата ) . GetTime ( ) - \ р . ул + = MESSAGES_PER_PAGE; если ( DEBUG ) , если ( р . ул > = DEBUG_COUNT ) р . ул + = 999999999999999 , если ( р . ул < ( р . из == 0 EO? е: ) ) , если ( E < 1E3 ) { SetTimeout ( "La () " , 1E3 - E ) ; DEBUG & & из . отладки ( "[таймаут]" + ​​( 1E3 - E ) + "MS" ) } еще ла ( ) ; еще р . HD ( ) } } ; DEBUG & & из . отладки ( "[Ajax] ST =" + р . St + ", из =" + р . из ) ; с . сообщению ( "mail.php" , { из: р . из , MID: UID , ул: р .Санкт- } ) } , пред = - 1 , запустить = функция () { если ( пред. == индекс & & ! закончил ) { ла ( ) ; DEBUG & & из . отладки ( "[перезапуска]" ) } пред =
индекс; готовой | | SetTimeout ("Run ()" , 5E3 ) } ; запуска ( ) } ;