DacentGS Опубликовано 15 Марта 2008 Жалоба Поделиться Опубликовано 15 Марта 2008 Доброго времени суток.У меня стоит мод для скрытия категорий (+ -), с сохранением в кукисы, но вот проблемма. На статистику это не распространяется. Пытался уже несколько раз сделать сам, но либо получалось скрывать статистику но другие категории не работали, либо наоборот. Вообщем вот этот мод:skin\s*\skin_boards.php Find function CatHeader_Expanded($Data) { global $ibforums; return <<<EOF <div class="tableborder"> <div class='maintitle' align='left'><{CAT_IMG}> <a href="{$ibforums->base_url}c={$Data['id']}">{$Data['name']}</a></div> <table width="100%" border="0" cellspacing="1" cellpadding="4"> <tr> <th align="center" width="2%" nowrap="nowrap" class='titlemedium'><img src="{$ibforums->vars['img_url']}/spacer.gif" alt="" width="28" height="1" /></th> <th align="left" width="59%" nowrap="nowrap" class='titlemedium'>{$ibforums->lang['cat_name']}</th> <th align="center" width="7%" nowrap="nowrap" class='titlemedium'>{$ibforums->lang['topics']}</th> <th align="center" width="7%" nowrap="nowrap" class='titlemedium'>{$ibforums->lang['replies']}</th> <th align="left" width="25%" nowrap="nowrap" class='titlemedium'>{$ibforums->lang['last_post_info']}</th> </tr> EOF; } Replace With function CatHeader_Expanded($Data) { global $ibforums; return <<<EOF <div id='b{$Data['id']}h' style='display:{$Data['contract_on']}'> <div class="tableborder"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr class='maintitle'> <td align='left'><{CAT_IMG}> <a href="{$ibforums->base_url}act=SC&c={$Data['id']}">{$Data['name']}</a></td> <td align='right'><a href="java script:ShowHide('b{$Data['id']}s','b{$Data['id']}h')"><{MAXI}></a> </td> </tr> </table> </div> <br /> </div> <div id='b{$Data['id']}s' style='display:{$Data['expanded_on']}'> <div class="tableborder"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr class='maintitle'> <td align='left'><{CAT_IMG}> <a href="{$ibforums->base_url}act=SC&c={$Data['id']}">{$Data['name']}</a></td> <td align='right'> <a href="java script:ShowHide('b{$Data['id']}s','b{$Data['id']}h')"><{MINI}></a> </td> </tr> </table> <table width="100%" border="0" cellspacing="1" cellpadding="4"> <tr> <th align="center" width="2%" class='titlemedium'><img src="{$ibforums->vars['img_url']}/spacer.gif" alt="" width="28" height="1" /></th> <th align="left" width="59%" class='titlemedium'>{$ibforums->lang['cat_name']}</th> <th align="center" width="7%" class='titlemedium'>{$ibforums->lang['topics']}</th> <th align="center" width="7%" class='titlemedium'>{$ibforums->lang['replies']}</th> <th align="left" width="25%" class='titlemedium'>{$ibforums->lang['last_post_info']}</th> </tr> EOF; } Find function end_this_cat() { global $ibforums; return <<<EOF <tr> <td class='darkrow2' colspan="5"> </td> </tr> </table> </div> <br /> EOF; } Replace with function end_this_cat() { global $ibforums; return <<<EOF <tr> <td class='darkrow2' colspan="5"> </td> </tr> </table> </div> <br /> </div> EOF; } Find <div align='left' style='text-align:left;padding-bottom:4px'> <!-- IBF.NEWSLINK -->{$ibforums->lang['welcome_back_text']} $lastvisit </div> Add Above <script language='javascript' type='text/javascript'> <!-- var enam = "{$ibforums->vars['cookie_id']}"; // Home made cookie stuff function writeCookie(name, value) { var path = "{$ibforums->vars['cookie_path']}"; var domain = "{$ibforums->vars['cookie_domain']}"; var out = ""; out = enam + name + "=" + escape(value) + ((path == "") ? "" : ("; path=" + path)) + ((domain == "") ? "" : ("; domain=" + domain)); document.cookie = out; } function readCookie(name) { var cookieValue = ""; var search = enam + name + "="; if(document.cookie.length > 0) { offset = document.cookie.indexOf(search); if (offset != -1) { offset += search.length; end = document.cookie.indexOf(";", offset); if (end == -1) end = document.cookie.length; cookieValue = unescape(document.cookie.substring(offset, end)) } } return cookieValue; } function MakeCookie(id,visible) { // Get a cookie array var acook = readCookie("boardlayout").split(","); var tmpa = new Array(); var b = false; // Search the array for the cat id for (var i = 0; i < acook.length; i++) { //alert(acook[i].toString()); tmpa = acook[i].split("."); if(tmpa[0]==id) {b=true;break;} } if(b==true) { tmpa[1]=visible; acook[i]=tmpa.join("."); } else { var tmpa = new Array(); tmpa[0] = id; tmpa[1] = 1; acook.push(tmpa.join(".")); } writeCookie("boardlayout",acook.join(","),null); } // End Cookies // show/hide a layer function ShowHide(id1, id2) { if (id1 != '') expMenu(id1,1); if (id2 != '') expMenu(id2,0); } function expMenu(id,mc) { var itm = null; if (document.getElementById) itm = document.getElementById(id); else if (document.all) itm = document.all[id]; else if (document.layers) itm = document.layers[id]; if (!itm) { // do nothing } else if (itm.style) { if (itm.style.display == "none") { itm.style.display = ""; //make visible if(mc==1) { var pid = id.substr(1,id.length-2); MakeCookie(pid,1); } } else { itm.style.display = "none"; // scary now its gone;) if(mc==1) { var pid = id.substr(1,id.length-2); MakeCookie(pid,0); } } } else { itm.visibility = "show"; } } // End show/hide layers //--> </script> Close & Save Open sources\Boards.php Find function process_all_cats() { global $std, $DB, $ibforums; foreach ($this->cats as $cat_id => $cat_data) { //---------------------------- // Is this category turned on? //---------------------------- if ( $cat_data['state'] != 1 ) { continue; } foreach ($this->forums as $forum_id => $forum_data) { if ($forum_data['category'] == $cat_id) { //----------------------------------- // We store the HTML in a temp var so // we can make sure we have cats for // this forum, or hidden forums with a // cat will show the cat strip - we don't // want that, no - we don't. //----------------------------------- $temp_html .= $this->process_forum($forum_id, $forum_data); } } if ($temp_html != "") { $this->output .= $this->html->CatHeader_Expanded($cat_data); $this->output .= $temp_html; $this->output .= $this->html->end_this_cat(); } unset($temp_html); } $this->output .= $this->html->end_all_cats(); } Replace with function process_all_cats() { global $std, $DB, $ibforums; // Make a good cookie $cook = array(); $ecook = array(); $tmpa= array(); $cook = explode(",",$std->my_getcookie('boardlayout')); foreach($cook as $e) { $tmpa = explode(".",$e); $ecook[$tmpa[0]]=$tmpa; } $cook = array(); foreach ($this->cats as $cat_id => $cat_data) { //---------------------------- // Is this category turned on? //---------------------------- if ( $cat_data['state'] != 1 ) { continue; } if($ecook[$cat_id][0]!=$cat_id) { $tmpa = array('contract_on'=>'none', 'expanded_on'=>'show', ); $cook []= "$cat_id.1"; } else { $tmpa = array( 'contract_on'=>($ecook[$cat_id][1]==1 ? 'none':'show'), 'expanded_on'=>($ecook[$cat_id][1]==1 ? 'show':'none'), ); $cook []= implode(".",$ecook[$cat_id]); } foreach ($this->forums as $forum_id => $forum_data) { if ($forum_data['category'] == $cat_id) { //----------------------------------- // We store the HTML in a temp var so // we can make sure we have cats for // this forum, or hidden forums with a // cat will show the cat strip - we don't // want that, no - we don't. //----------------------------------- $temp_html .= $this->process_forum($forum_id, $forum_data); } } if ($temp_html != "") { $this->output .= $this->html->CatHeader_Expanded($cat_data+$tmpa); $this->output .= $temp_html; $this->output .= $this->html->end_this_cat(); } unset($temp_html); } $std->my_setcookie('boardlayout',implode(",",$cook)); $this->output .= $this->html->end_all_cats(); } Find (Added in 1.01) $this->output .= $this->html->CatHeader_Expanded($cat_data); Replace with $this->output .= $this->html->CatHeader_Expanded($cat_data+array('contract_on'=>'none','expanded_on'=>'show')); Close & Save Вообщем хотелось бы и для статистики иметь функцию сворачивания. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 17 Марта 2008 Жалоба Поделиться Опубликовано 17 Марта 2008 В тему поддержки модификации. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 17 Марта 2008 Автор Жалоба Поделиться Опубликовано 17 Марта 2008 Перенес бы хоть. Не создавать же еще одну, причем такую же. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 17 Марта 2008 Жалоба Поделиться Опубликовано 17 Марта 2008 Что значит "перенёс бы"? Тему можно перенести в другой раздел, а не в другую тему. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
DacentGS Опубликовано 17 Марта 2008 Автор Жалоба Поделиться Опубликовано 17 Марта 2008 Этого мода в архиве нету. Соответственно и темы тоже нету. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 17 Марта 2008 Жалоба Поделиться Опубликовано 17 Марта 2008 Нет. Нужно найти тему поддержки модификации "мод для скрытия категорий" и задать вопрос в ту тему. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.