Код:
<script type="text/javascript"> if($(".punbb").attr("id")=="pun-index"){ //Это Главная ? var Tem='',soobchenij='',hrefFind; var numForSpdF=$("div.category.Catlog_pdF").length //Число подфорум-каталогов // ИЩЕМ И ВСТАВЛЯЕМ ПЕРВЫМ В КАТЕГОРИЮ МАТЕРИНСКИЙ ФОРУМ; $("div.category.Catlog_pdF").each(function (i){ $(this).attr("reversnum",""+(numForSpdF-i)+"") var str=$(this).find("h2 span").text();//alert("№"+(i+1)+" Каталог форума "+str); var ParFor2=$("div.category .tclcon h3").find("a:contains('"+str+"')"); if(ParFor2.html()!=null){var ParFor=ParFor2.parents("tr:first").clone() //alert(ParFor.html());alert($(this).find(".container:first table .hasicon").html()) ParFor.prependTo($(this).find(".container:first table .hasicon"));} }); $("div.category.Catlog_pdF").find("tr[id^='forum_']:first .tclcon:first h3 a").html("Parental Forum") //End; //======================= ФУНКЦИЯ ЗАМЕНЫ СООБЩЕНИЙ В ТРЕТЬЕЙ КОЛОНКИ ================================// // Функция замены сообщений в третьей колонки и общей замены значений в Родительском форуме(или его клоне) // Замещаем в родительском в Родительском форуме(или его клоне) знак # на $ и добавляем класс (или атрибут), //?? Наверно добавку в колонки таблички лучше тож сделать функцией ?? function ReplaceMessOnTime(NumFor_tr,DatePost){ var gg=" " //Длинный пробел //1.Cчитываем поле, - Проверяем формат Даты: //alert('последнее сообщение > "'+NumFor_tr.find("td.tcr").text()+'"') var str=NumFor_tr.find("td.tcr").text(); var str2=NumFor_tr.find("td.tcr a").text(); //alert("я тут") if(str.search(str2)== 0){ str=str.replace(str2,"") //Очищаем от контента ссылки в <а str=str.replace(/(\s\d\d:\d\d)\s-\s.{1,25}$/im,"$1") //Очистили от Ника ...//alert("str >"+str); if(str.search("Вчера")== 0){/*alert("Вчера")*/;str=str.replace(/^Вчера/im,"01.01.3010"); } else if(str.search("Сегодня")== 0){/*alert("Сегодня")*/;str=str.replace(/^Сегодня/im,"01.01.3011");} if(str.search(/(?:\d){2}\.(?:\d){2}\.(?:\d){4}\s(?:\d){2}:(?:\d){2}/im)!=0){alert("Выставлен неправильный формат Даты:\nнеобходимый формат: 29.03.2011 01:50");return false}else { //alert("Цифра >"+str); var a=str.replace(/((?:\d){2})\.((?:\d){2})\.((?:\d){4})\s((?:\d){2}):((?:\d){2})/img,"(($1+31*$2+372*$3)*60+$4)*60+$5") // alert(a+"="+eval(a)); // *Перемножаем суммируем минуты,часы,дни,месяцы,годы; if(DatePost<eval(a)){TekuchPostDate=eval(a);TekuchLastPost=NumFor_tr.find("td.tcr").html(); return true; }else return false; } //End /else(т.е.: был Выставлен правильный формат Даты: } return false; //End/if(str.search(str2) } //======// ИЩЕМ И СУММИРУЕМ В КАТЕГОРИЯХ от ПОДФОРУМЫ//==== ДО === 'END - Подфорумы'==============================// //а) ИКОНКИ /НОВЫЕ/СТАРЫЕ //б) КОЛ-ВО ТЕМ //в) КОЛ-ВО СООБЩЕНИЙ //с) СООБЩЕНИЯ // ИЩЕМ,ВСТАВЛЯЕМ В РОДИТЕЛЬСКИЙ ФОРУМ //"reversnum" -атрибут обратной индексации Категорий снизу-вверх/упрощаем суммирование иконок,тем,сообщений; //numForSpdF //Число подфорум-каталогов) var PodFrmNam; //имя подфорумы for (i = 1; i < numForSpdF+1; i++){ //alert(i +" "+numForSpdF) var ParentForum; //объект родительский форум; var ParForumName; //имя родительского форума; var LastPostTcr=""; //контент яч. "последнее сообщение; var FFF; // Номер внутреннего цикла; var Icon=""; //Иконка - состояние; var Tem=0; //Число тем; var TekuchLastPost="" //html Текщего поста var TekuchPostDate=0; //Дата Текщего поста в Абсолюте var coobcheny=0; //Число сообщений; $("div.category.Catlog_pdF[reversnum='"+i+"'] tr[id^='forum_']").each(function (j){ //alert('.attr("reversnum") >'+$(this).parents(".category.Catlog_pdF").attr("reversnum")) if(j==0){ParentForum=$(this)} //alert($(this).parents("div.category.Catlog_pdF").find("h2 span").text()+" >> "+$(this).find(".tclcon h3 a").text()) if($(this).find(".tclcon h3 a").text().search(/^#/igm)!=-1 && $(this).hasClass("post-TemReplace")!=true){ PodFrmNam=$(this).find(".tclcon h3 a").text(); //Нарушен порядок следования каталогов форумов вложенных подфорумов alert("!!"+" Нарушен порядок следования каталогов вложенных подфорумов,(*каталогов под-под-форумов и т.д.(*вложенность второй, третьей степени и далее.\n\n Данные каталоги должны стоять в категориях ниже исходных \"родительских форумов\" ") }; var PlusTems=parseFloat($(this).find("td.tc2").text());if(PlusTems!=0) //Проверяем/заменяем,- если форум не пуст { Tem+=PlusTems;//alert("Tem >"+Tem);//Суммируем Темы; ReplaceMessOnTime($(this),TekuchPostDate) // Тут Вызов и замены сообщений в третьей колонке if($(this).hasClass("inew")==true){Icon="inew";}//alert("Icon >"+Icon);//Суммируем иконки /НОВЫЕ/СТАРЫЕ coobcheny+=parseFloat($(this).find("td.tc3").text());//alert("coobcheny >"+coobcheny);//Суммируем Сообщения; } FFF=j // Экспорт-Тест номер внутреннего цикла по каталогу форумов }); //alert("end цикл №"+i +" "+numForSpdF);alert("j >"+FFF);//alert("Tem(2) >"+Tem) ParentForum.addClass(Icon);ParentForum.find("td.tcl .icon").addClass(Icon) ParentForum.find("td.tc2").text(Tem) ParentForum.find("td.tc3").text(coobcheny) ParentForum.find("td.tcr").html(TekuchLastPost) ParForumName=$("div.category.Catlog_pdF[reversnum='"+i+"']").find("h2:first span").text() //================================================================// //Поля Родителя заполнены проверяем - Это случаем не каталог Под/Подфорума, (*- ищем: нет ли Родительского форума //во всех каталогах выше $("div.category.Catlog_pdF tr[id^='forum_']").each(function (c){ if($(this).parent("div.category").attr("reversnum")==i){ return false;} //Если дошли до текущего и не нашли - то возврат; if($(this).find(".tclcon h3 a").text()==ParForumName) { //alert("НАШЁЛ! РОДИТЕЛЬСКИЙ ПодФорум/\"Под\" может быть N-раз)") // Замещаем кол-во тем -сообщений и последнее сообщение в родительском в Родительском (под-N)форуме и добавляем класс (или атрибут) $(this).addClass("post-TemReplace") //Строку комментим для проверки последовательности вложенности каталогов $(this).find("td.tc2").text(Tem) $(this).find("td.tc3").text(coobcheny) $(this).find("td.tcr").html(TekuchLastPost) } //End//"НАШЁЛ! РОДИТЕЛЬСКИЙ ПодФорум; }); //================================================================// ParentForum.find(".tclcon h3 a").text(ParForumName); //alert("i >"+i) //alert("ParentForum.html(tr) >"+ParentForum.html()) //============= ДОБАВКА СПИСКА ФОРУМОВ К 1-й КОЛОНКЕ РОДИТЕЛЬСКОГО ФОРУМА ===================// var htt_OldPs='http://savepic.org/1712026.gif' var htt_NewIco='http://savepic.org/1705881.gif'; var imgSTRst='<img src="' var imgSTRend='" alt="Перейти к последнему сообщению" title="Перейти к последнему сообщению" style="max-width:12px;cursor:pointer; cursor:hand;"/>'; var OldPs=imgSTRst + htt_OldPs + imgSTRend; var NewIco=imgSTRst + htt_NewIco + imgSTRend; // //var OldPs='п.с.'; //var NewIco='new'; var Nadpisj="<span class=\"title\">'Подфорумы:</span>"; var obramlene0='<div class="divParentFor" style="padding:5px 0;margin:0 50px 0 -50px;"><h3><h5>'; var obramlene0End='</h5></h3></div>'; var obramlene1='<div class="tclcon" style="padding:2px">'; var obramlene1End='</div>'; var sttr=""; //Контент вставки $("div.category.Catlog_pdF[reversnum='"+i+"'] tr[id^='forum_']").each(function (Nn){ var Aps="",ico=OldPs; //ссылка на последний пост + иконка if(Nn==0){PFor=$(this)}else {Aps=$(this).find("td.tcr a:first").attr("href");//alert("Aps >"+Aps); if(Aps!=undefined){ //Проверка Иконки; if($(this).hasClass("inew")==true){ico=NewIco;} Aps='<a class="Aps" href="'+Aps+'">'+ico+'</a>'; }else Aps=""; //Собираем всё, заключаем в div, всовываем в конец .tclcon sttr+=obramlene1+$(this).find(".tclcon h3").html()+Aps+obramlene1End;};}); sttr=obramlene0+Nadpisj+sttr+obramlene0End; //alert(sttr); //Строка Подстановки PFor.addClass("forReplac");PFor.find(".tclcon").append(sttr); } //Конец Данной Категории подфорумов(* начальная строчка >for (i = 1; i < numForSpdF+1; i++){//alert(i +" "+numForSpdF) //=====КОНЕЦ СЕКЦИИ://ИЩЕМ И СУММИРУЕМ В КАТЕГОРИЯХ начиная от ПОДФОРУМЫ//====ДО=='END - Подфорумы' =============// //============// ИЩЕМ "РОДИТЕЛЬСКИЕ" ФОРУМЫ В ПОЛЬЗОВАТЕЛЬСКИХ КАТЕГОРИЯХ ===========// // Замещаем копией созданной в скрытых каталогах var ParentfName="" var Parentfor="" $("div.category.Catlog_pdF").each(function (i){ ParentfName=$(this).find("h2 span").text(); var Parentfor=$(this).find(" tr[id^='forum_']:first") $("div.category:not('.Catlog_pdF') tr[id^='forum_']").each(function (){ var PFNe=$(this).find(".tclcon h3:first a:first").text(); //alert("PFNe >" + PFNe+ "\n ParentfName>" + ParentfName) if(PFNe==ParentfName){Parentfor.clone().replaceAll($(this));return true;} }); $("div.category.Catlog_pdF tr[id^='forum_']").each(function (){ var PFNe=$(this).find(".tclcon:first h3:first a:first").text(); if($(this).hasClass("forReplac")!=true){ // Это Форум - аналог родителя ? (*если нет, - ищем, меняем.. if(PFNe==ParentfName){Parentfor.clone().replaceAll($(this));return true;}; } //else alert(PFNe + "Форум - аналог родителя"); }); }); //=======Устанавливаем Cookie на cутки на Каталог Подфорумов (*на Главной их автоматическое обновление =========// var separ="§§";var value="";var s=""; $("div.category.Catlog_pdF").each(function (i){ $(this).find("tr[id^='forum_']").each(function (j){ if(i+j!=0)s=separ if(j==0){var str=$(this).find(".tclcon:first h3:first").html(); value+=s+str.replace(/^<a href=/im,'<a class="MyPodFRM" href=');} //Добавили class else{value+=separ+$(this).find(".tclcon:first h3:first a:first").text();};});}); //alert(value) setCookie2(UserLogin+'Catalog_PDFv.0.1.',value,24*60*60*1000); //alert("getCookie2 >\n"+getCookie2(UserLogin+'Catalog_PDFv.0.1.')) //setCookie2(UserLogin+'!show_button',value2,24*24*60*60*1000); //========CКРЫВАЕМ КЛОНОВ ===========// $("div.category.Catlog_pdF").each(function (){ $(this).find(" tr[id^='forum_']:first").hide() }); } //КОНЕЦ - "#pun-index" </script>