Какие изменения нужно внести в whiteboard что бы при созданных подкатегориях было невозможно добавить объявление в саму категорию (в корень)?
Заранее благодарен.
система: SLAED CMS: 2.5 Lite
Версия PHP: PHP 5
function wb_getcat($id=0) {
global $db, $prefix;
$id = intval($id);
$result = $db->sql_query("SELECT cid, title, pid FROM ".$prefix."_wb_categories");
while (list($cid2, $title, $parentid2) = $db->sql_fetchrow($result)) $massiv[$cid2] = array($title, $parentid2);
foreach ($massiv as $key => $val) {
$content[$key] = $val[0];
$flag = $val[1];
while ($flag != "0") {
$content[$key] = $massiv[$flag][0]."/".$content[$key];
$flag = $massiv[$flag][1];
}
}
asort ($content);
foreach ($content as $key => $val) {
$selected = ($id == $key) ? " selected" : "";
$categories .= "
<option value=\"$key\"".$selected.">$val</option>";
}
return $categories;
}
foreach ($massiv as $key => $val) {
$content[$key] = $val[0];
$flag = $val[1];
while ($flag != "0") {
$content[$key] = $massiv[$flag][0]."/".$content[$key];
$flag = $massiv[$flag][1];
}
}
asort ($content);
$arr = array();
foreach ($massiv as $key => $val){
if (sizeof($arr) == 0) {$arr[] = $val[1];}
else {
$fl = false;
for ($i=0;$i<(sizeof($arr));$i++) {
if ($arr[$i] == $val[1]) {$fl=true;}
}
if ($fl == false) {$arr[] = $val[1];}
}
}
foreach ($massiv as $key => $val) {
$fl=false;
for ($i=0;$i<sizeof($arr);$i++) {
if ($arr[$i] == $key) {$fl=true;}
}
if ($fl == false){
$content[$key] = $val[0];
$flag = $val[1];
while ($flag != "0") {
$content[$key] = $massiv[$flag][0]."/".$content[$key];
$flag = $massiv[$flag][1];
}
}
}
asort ($content);function save(){
//...
//...
//...
if(!list($sub_cat) = $db->sql_fetchrow($db->sql_query("SELECT pid FROM ".$prefix."_wb_categories WHERE cid='$topic'"))) $stop = _WRONG_CAT;
//...
//...
//...
Может и коряво, но это первое что я сделал на php, зато работает ))
а не проще ли было бы сделать вывод предупреждения при попытке добавить контент в родительскую категорию? :)
При просмотре списка категорий, возле каждой отображается кол-во объявлений.
всего один
function categories($id="") {
global $prefix, $db, $module_name, $tabcolumn, $showsubkat, $multilingual, $currentlang;
static $massiv, $massiv2;
$id = (intval($id)) ? $id : 0;
if ($id) {
$where = "WHERE pid = '$id'";
} elseif ($id && $multilingual) {
$where = "WHERE pid = '$id' AND (language='$currentlang' OR language='')";
} elseif ($multilingual) {
$where = "WHERE language='$currentlang' OR language=''";
} else {
$where = "";
}
$tdwidth = intval(100/$tabcolumn);
if (!is_array($massiv)) {
$result = $db->sql_query("SELECT cid, title, pid, img, description, posts FROM ".$prefix."_wb_categories ".$where."");
while (list($cid, $title, $pid, $img, $description, $posts) = $db->sql_fetchrow($result)){
$posts = intval($posts);
$massiv[] = array($cid, $title, $pid, $img, $description, $posts);
}
}
if (!is_array($massiv2)) {
$result = $db->sql_query("SELECT cid, title, pid, posts FROM ".$prefix."_wb_categories ".$where."");
while (list($cid, $title, $pid, $posts) = $db->sql_fetchrow($result)){
$posts = intval($posts);
$massiv2[] = array($cid, $title, $pid, $posts);
}
}
if ($massiv) {
foreach ($massiv as $key => $val) {
if ($val[2] == $id) {
$img = (trim($val[3]) != "") ? "<a href=\"index.php?name=$module_name&op=cat&cid=".$val[0]."\" title=\"".$val[1]."\"><img border=\"0\" src=\"".$val[3]."\" title=\"$title\"></a>" : "";
$ccontent .= "<td valign=\"top\" width=\"".$tdwidth."%\"><table border=\"0\"><tr><td>$img</td><td><a href=\"index.php?name=$module_name&op=cat&cid=".$val[0]."\" title=\"".$val[1]."\"><font class=\"rubriki\"><b>".$val[1]." </b></font></a><br /><i>".$val[4]."</i></td></tr>";
if ($showsubkat == 1 && $massiv2) {
foreach ($massiv2 as $key => $val2) {
if ($val[0] == $val2[2]) {
$ccontent .= "<tr><td colspan=\"2\"><img border=\"0\" src=\"images/navi.gif\" title=\"".$val2[1]."\"> <a href=\"index.php?name=$module_name&op=cat&cid=".$val2[0]."\" title=\"".$val2[1]."\">".$val2[1]." </a></td></tr>";
}
}
}
$ccontent .= "</table></td>";
if ($cont == ($tabcolumn - 1)) {
$ccontent .= "</tr><tr>";
$cont = 0;
} else {
$cont++;
}
}
}
}
if ($ccontent) {
OpenTable();
echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"10\" align=\"center\"><tr>".$ccontent."</td></tr></table>";
list($p_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(pid) FROM ".$prefix."_wb WHERE status='1'"));
list($cat_num) = $db->sql_fetchrow($db->sql_query("SELECT Count(cid) FROM ".$prefix."_wb_categories"));
$p_num = intval($p_num);
$cat_num = intval($cat_num);
CloseTable();
}
}Форум
Контакты