Joker Board 3.0

Всем привет, я новичок, установил JB3, читаю форум и походу проверяю работоспособность и пытаюсь прикрутить интересующие меня моменты, помогите сделать так, чтобы подкатегории на главном странице сворачивались(были по умолчанию скрыты), а при нажатии на категории разворачивались.

Сделал как писалось на форуме (ниже фрагмент кода), но это не совсем то, категории скрыты, но они не разворачиваются, а происходит переход, а нужно именно, чтоб разворачивались.

*********
меняем в cat_index.inc.php
Найти

if($category['child_category']==1){
echo "<span class=\"rootcat\">".$name_cat."</span><br />";
listcat2($category['id'],1);
echo "<br />";
}

Заменить на

if($category['child_category']==2){
$id_subcategories = list_all_categories($category['id']);
$count_ads = mysql_result(mysql_query("SELECT COUNT(*) FROM jb_board WHERE id_category IN (".join(',', $id_subcategories).") AND old_mess='old'".$GLOBALS['subQuery']), 0);cq();
echo "<span class=\"rootcat\">".$name_cat."</span>(".$count_ads.")<br />";
listcat2($category['id'],1);
echo "<br />";
}
***********

Кто-то просил чтобы корневые категории только показывать и по клику открывались подкатегории, тоже сделано. Для просмотра ссылки Войди или Зарегистрируйся

В общем как в примере Flashinfo интересует.
 
В общем как в примере Flashinfo интересует.
Нужно ява-скрипт использовать :)
Cat_index.inc.php :
Код:
<div id="content_block"><div class="bt_l"><div class="bt_r">
<div class="bt_title" style="position:relative"><img class="absmid" src="<?=$im?>folder_open.png" /> <?=$lang[99]?><font style="color:#56c5f6;">&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;</font><span style="font-size:12px"><?
$allcount=mysql_result(mysql_query("select count(*) from jb_board"),0);cq();
if(@$allcount)echo $lang[603]." <strong>".$allcount."</strong> ".PluralForm($allcount,$lang[262],$lang[263],$lang[264]);
else echo $lang[604];?><?
$today_query=mysql_result(mysql_query("SELECT count(*) FROM jb_board WHERE DATE(date_add)=CURDATE()"),0);cq();
if(@$today_query)echo ", ".$lang[607]." - <strong>".$today_query."</strong>";
$yestd_query=mysql_result(mysql_query("SELECT count(*) FROM jb_board WHERE DATE(date_add)=CURDATE()-INTERVAL 1 DAY"),0);cq();
if (@$yestd_query)  echo ", ".$lang[609]." - <strong>".$yestd_query."</strong>";
?></span><div class="rss"><a title="Rss - <?=$lang[502]?>" href="<?=$h?>rss.html"><img width="33px" height="62px" class="absmid" src="<?=$im?>jb_t1/bt2rss_r.png" /></a></div>
</div>
<div class="bc">
<div style="width:100%; padding-top:5px">
<?
$GLOBALS['cccount'] = 0;
if (defined('JBCITY')) $GLOBALS['subQuery'] = ' AND city_id = '.JBCITY; else $GLOBALS['subQuery'] = '';
function listcat2($id,$sub){
    $categories = mysql_query("SELECT id, child_category, name_cat, en_name_cat FROM jb_board_cat WHERE root_category = $id ORDER by sort_index"); cq();
    while($category = mysql_fetch_assoc($categories)){   
        $name_cat = (defined('JBLANG') && constant('JBLANG')=='en') ? $category['en_name_cat'] : $category['name_cat'];
        $count_ads = mysql_result(mysql_query("SELECT COUNT(id) from jb_board WHERE id_category='".$category['id']."' AND old_mess='old'".$GLOBALS['subQuery']), 0);cq();
        if($sub=="2") $subclass="class=\"subclass\"";else $subclass="";
        if($count_ads=="0") { echo "<a ".$subclass." href=\"c".$category['id'].".html\">".$name_cat."</a> <span>(".@$count_ads.")</span><br />"; } 
    else {   
        echo "<a ".$subclass." href=\"c".$category['id'].".html\">".$name_cat."</a> <span><font color=\"red\">(".@$count_ads.")</font color></span><br />"; }
        $GLOBALS['cccount'] = $GLOBALS['cccount'] + $count_ads;
        if($category['child_category']==1){listcat2($category['id'],$sub+1);}
    }
}
$categories = mysql_query("SELECT id, child_category, name_cat,en_name_cat,img FROM jb_board_cat WHERE root_category=0 ORDER by sort_index");  cq();
$num_rows = @mysql_num_rows($categories);
$count_field=round($num_rows/3); // Кол-во колонок
$td=0; $second_rows=0;
echo "<div style=\"float:left;width:31%;\" class=\"index_cat gray sm\"><div style=\"padding-right:10px\">";
while($category = @mysql_fetch_assoc($categories)){
    $name_cat = (defined('JBLANG') && constant('JBLANG')=='en') ? $category['en_name_cat'] : $category['name_cat'];
    echo (@$category['img'])?"<a href=\"#\"> <span style='display:block' onclick='addopt($second_rows);return false;'><img alt=\"".$name_cat."\" class=\"rootcatimg\" src=\"".$u."cat/".$category['img']."\" />":"";
    if($category['child_category']==1){
        echo "<span class=\"rootcat\"  >".$name_cat."   </span></span></a><br /><br /> <span id='$second_rows' style='display:none'>";
         listcat2($category['id'],1);
        echo "<br /></span><br /><br />";
    }
        else
        {
                $count_ads = mysql_result(mysql_query("SELECT COUNT(id) from jb_board WHERE id_category='".$category['id']."' AND old_mess='old'".$GLOBALS['subQuery']), 0);cq();
                if($count_ads=="0")$count_adss="style=\"display:none\"";
                echo "<a class=\"rootcat\" href=\"c".$category['id'].".html\">".$name_cat."</a> <span ".$count_adss.">(".@$count_ads.")</span><br />";
        }
    $td++; $second_rows++; if($td>=$count_field){echo "</div></div><div style=\"float:left;width:32%;\" class=\"index_cat gray sm\"><div style=\"padding-right:10px\">";$td=0;}
}
echo "</div></div><div class=\"clear\"></div>";
?>
<a href="#"><span class="rootcat" onclick="addall(<? echo $num_rows; ?>);return false;">Развернуть/Свернуть</span></a>
</div></div></div></div></div>

Код из нестандартного шаблона, так что классы могут отличаться
Ну и Java:
Код:
function addopt(r) {
if($(r).style.display=='none'){
$(r).style.display='inline-block';}
else {$(r).style.display='none';}
}

function addall(count) {
for (var i=0; i<count; i++) {
if($(i).style.display=='none'){
$(i).style.display='inline-block';}
else {$(i).style.display='none';}
  }
}
Пользуйтесь :)
 

Спасибо, так работает, но правда только для двух уровней категорий, т.е. при наличии третьего уровня, третий также отображается вместе со вторым, а было бы неплохо чтоб при клике на первом уровне раскрывался второй уровень, и только при клике на втором раскрывался третий, ну, это по возможности, если будет желание и необходимость, попробуйте реализовать.

Подскажите/поделитесь, плиз, как побороть конвертер валют, сделал, как на форуме пишут, ошибок не выдает, но ничего и не выводит :(

Делал так:
внесением изменений в файл core/currency_converter.php

Вместо:
$pos_begin=strpos($text,'<img src=/images...

прописать:
$pos_begin=strpos($text,'><h3 class=r><b>');

вместо:
$pos_end=strpos($text,"Rates provided for information only");

прописать:
$pos_end=strpos($text,'</b></h2></div><input
id=exchange_rate type=hidden');

вместо:
$text=substr($text,0,$pos_end-1);$text=strip_tags($text);

прописать:
$text=substr($text,0,$pos_end);$text=strip_tags($text);

Интересует результат как в примере Flashinfo:
Сделал конвертацию по курсам нацбанка на java-скрипте, работает :)
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование модератором:
Подскажите/поделитесь, плиз, как побороть конвертер валют, сделал, как на форуме пишут, ошибок не выдает, но ничего и не выводит :(

Делал так:
внесением изменений в файл core/currency_converter.php

Вместо:
$pos_begin=strpos($text,'<img src=/images...

прописать:
$pos_begin=strpos($text,'><h3 class=r><b>');

вместо:
$pos_end=strpos($text,"Rates provided for information only");

прописать:
$pos_end=strpos($text,'</b></h2></div><input
id=exchange_rate type=hidden');

вместо:
$text=substr($text,0,$pos_end-1);$text=strip_tags($text);

прописать:
$text=substr($text,0,$pos_end);$text=strip_tags($text);

Интересует результат как в примере Flashinfo:
1. По вложенным под\под\категориям могу помочь за умеренную плату :)
2. По конвертеру валют - у меня все на яве и разборе XML с сайта центробанка, при желании можете сами сделать поюзав поиск или же как в п.1
 
Подскажите, как вывести отображение обьявлений на странице подкатегорий? Например, мы перешли на страницу, где выводятся все подкатегории, определённой категории. Мне необходимо вывести на данной странице обьявления которые находятся в этих подкатегориях. Кто знает? Заранее спасибо!
 
Столкнулся недавно с тем, что некоторые часто публикуют одно и то же объявление. Кто знает, может есть способ проверки на объявления с таким же текстом и заголовком?
 
Столкнулся недавно с тем, что некоторые часто публикуют одно и то же объявление. Кто знает, может есть способ проверки на объявления с таким же текстом и заголовком?
Можно конечно проверять заголовок и текст :) но вряд ли подающие копируют буква в букву, так что... смысла нет
 
Столкнулся недавно с тем, что некоторые часто публикуют одно и то же объявление. Кто знает, может есть способ проверки на объявления с таким же текстом и заголовком?
Скрипт уже делает проверку на дубли, но одновременно по нескольким полям. По умолчанию - это автор, заголовок и текст. Т.е. дублем будет считаться то объявление, где совпадают все три поля одновременно.
Добавлять, убирать поля для проверки можно в файле /inc/add_new.inc.php, в этом запросе:
PHP:
$query_dubl=mysql_query("SELECT id FROM jb_board WHERE autor='".@$autor."' AND title='".$title."' AND text='".$text."' LIMIT 1");
Можно вместо AND использовать OR, тогда условие будет срабатывать не для всех одновременно, а для любого, хотя бы одного совпадения.

Подскажите, как вывести отображение обьявлений на странице подкатегорий? Например, мы перешли на страницу, где выводятся все подкатегории, определённой категории. Мне необходимо вывести на данной странице обьявления которые находятся в этих подкатегориях. Кто знает? Заранее спасибо!
За оплату могу это сделать. Если интересно, пиши в личку.
 
Можно вместо AND использовать OR, тогда условие будет срабатывать не для всех одновременно, а для любого, хотя бы одного совпадения.
За оплату могу это сделать. Если интересно, пиши в личку.
Сколько возьмешь за полное избавление от наглых спамеров ?
 
Сколько возьмешь за полное избавление от наглых спамеров ?
Нисколько, потому что полное избавление - это нереально. Точнее реально, но для этого нужны модераторы, которые вручную будут проверять то, что пропустил скрипт.
А писать полноценный бан-лист для скрипта - это не дешево. Выйдет примерно так же, как купить какой-нибудь скрипт, который уже имеет у себя такую функцию.
 
Назад
Сверху