Какие изменения нужно внести в 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(); } }
Форум
Контакты