- Автор темы
- #1
Приветствую,
Дано бвл очень хороший модуль для организации меню на сайте вот ссылка
Для просмотра ссылки Войдиили Зарегистрируйся
модуль отлично работает и на версии 9.7 НО есть проблема в том что нельзя удалить категорию Тоесть нажимаем на Удалить Пишет что удалилась а в результате категория осталась.
Пожалуйста помогите подредактировать код чтобы запрос на удаление был правильным сам смотрел вроде все правильно но не удаляется категория.
Вот код фалйа inc/menu.php
Дано бвл очень хороший модуль для организации меню на сайте вот ссылка
Для просмотра ссылки Войди
модуль отлично работает и на версии 9.7 НО есть проблема в том что нельзя удалить категорию Тоесть нажимаем на Удалить Пишет что удалилась а в результате категория осталась.
Пожалуйста помогите подредактировать код чтобы запрос на удаление был правильным сам смотрел вроде все правильно но не удаляется категория.
Вот код фалйа inc/menu.php
PHP:
<?PHP
/*
=====================================================
Невенчанный Пётр Андреевич - Integral +
-----------------------------------------------------
http://www.integral.kz/
-----------------------------------------------------
Copyright (c) 2007 Невенчанный Пётр Андреевич
=====================================================
Данный код защищен авторскими правами
=====================================================
Файл: menu.php
-----------------------------------------------------
Назначение: Администрирование меню сайта
=====================================================
*/
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}
function ShowTree($select = -1)
{
global $db;
$res = '';
$result = $db->query("SELECT id, title FROM ".PREFIX."_menu_top ORDER BY pos ASC");
if ($db->num_rows($result) > 0)
{
while ($row = $db->get_row($result))
{
$res .= '<option value="'.$row['id'].'"';
if (($select != -1) && ($select == $row['id'])){
$res .= ' selected="selected"';
}
$res .= '>'.$row['title'].'</option>';
}
}
return $res;
}
function page_create($title, $text, $button, $colspan, $ajax=''){
echoheader("menu","menu");
if ($ajax != ''){
echo $ajax;
}
echo <<<HTML
<div style="padding-top:5px;padding-bottom:2px;">
<table width="100%">
<tr>
<td width="4"><img src="engine/skins/images/tl_lo.gif" width="4" height="4" border="0"></td>
<td background="engine/skins/images/tl_oo.gif"><img src="engine/skins/images/tl_oo.gif" width="1" height="4" border="0"></td>
<td width="6"><img src="engine/skins/images/tl_ro.gif" width="6" height="4" border="0"></td>
</tr>
<tr>
<td background="engine/skins/images/tl_lb.gif"><img src="engine/skins/images/tl_lb.gif" width="4" height="1" border="0"></td>
<td style="padding:5px;" bgcolor="#FFFFFF">
<table width="100%">
<tr>
<td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">$title</div></td>
</tr>
</table>
<div class="unterline"></div>
<table width="100%">
$text
HTML;
echo <<<HTML
</table>
$button
<div class="hr_line"></div>
<center><a href="admin.php?mod=menu">Настройка меню сайта</a></center>
<div class="hr_line"></div>
</td>
<td background="engine/skins/images/tl_rb.gif"><img src="engine/skins/images/tl_rb.gif" width="6" height="1" border="0"></td>
</tr>
<tr>
<td><img src="engine/skins/images/tl_lu.gif" width="4" height="6" border="0"></td>
<td background="engine/skins/images/tl_ub.gif"><img src="engine/skins/images/tl_ub.gif" width="1" height="6" border="0"></td>
<td><img src="engine/skins/images/tl_ru.gif" width="6" height="6" border="0"></td>
</tr>
</table>
</div>
HTML;
echofooter();
}
function clear_post($text=''){
$res = $text;
$res = htmlspecialchars($res);
$res = trim($res);
return $res;
}
if ($action == "delete_top"){
$id = clear_post($id);
$db->query("DELETE FROM ".PREFIX."_menu_top WHERE id='".$id."'");
$db->free();
msg("info", 'Удаление граппы меню.', 'Группа меню удалена.', "$PHP_SELF?mod=menu");
}elseif ($action == "delete_menu"){
$id = clear_post($id);
$db->query("DELETE FROM ".PREFIX."_menu WHERE id='".$id."'");
$db->free();
msg("info", 'Удаление пункта меню.', 'Пункт меню удален.', "$PHP_SELF?mod=menu");
}elseif ($action == "menu_sort"){
$menu = '';
$top = '';
print "<pre>";
foreach ($_POST as $key => $value){
$key = clear_post($key);
$value = clear_post($value);
if (substr($key,0,3) == "top"){
$id = trim(substr($key,3,strlen($key)));
$db->query("UPDATE ".PREFIX."_menu_top SET pos='".$value."' WHERE id='$id'");
// print "UPDATE ".PREFIX."_menu_top SET pos='".$value."' WHERE id='$id'\n";
}
if (substr($key,0,4) == "menu"){
$id = trim(substr($key,4,strlen($key)));
$db->query("UPDATE ".PREFIX."_menu SET pos='".$value."' WHERE id='$id'");
// print "UPDATE ".PREFIX."_menu SET pos='".$value."' WHERE id='$id'\n";
}
}
print "</pre>";
msg("info", 'Сортировка меню.', 'Сортировка меню окончена успешно.', "$PHP_SELF?mod=menu");
}elseif ($action == "new_top"){
$pos_query = $db->query("SELECT count(*) as pos FROM ".PREFIX."_menu_top");
$pos_row = $db->get_row($pos_query);
$db->free();
$title = clear_post($_POST['menu_top']);
if ($title == ""){
msg("error",$lang['menu_top_error'],$lang['menu_top_ertitle'], "javascript:history.go(-1)");
}
$pos = $pos_row['pos']+1;
$db->query("INSERT INTO ".PREFIX."_menu_top (title, pos) VALUES ('".$title."', '".$pos."')");
$db->free();
msg("info", 'Создание новой группы меню.', 'Новая группа меню была успешно добавлена.', "$PHP_SELF?mod=menu");
}elseif ($action == "top_save"){
$top_id = clear_post($_POST['menu_top_id']);
$top_title = clear_post($_POST['menu_top']);
$top_pos = clear_post($_POST['menu_top_pos']);
$test = $db->query("SELECT id FROM ".PREFIX."_menu_top WHERE id='".$top_id."'");
if ($db->num_rows($test) == 0){
msg("error",$lang['menu_top_edit_error'],$lang['menu_top_not_found'], "j+avascript:history.go(-1)");
}
$db->free();
if ($top_title == ""){
msg("error",$lang['menu_top_edit_error'],$lang['menu_top_edit_ertitle'], "javascript:history.go(-1)");
}
if ($top_pos == ""){
msg("error",$lang['menu_top_edit_error'],$lang['menu_top_edit_erpos'], "javascript:history.go(-1)");
}
$pos = $pos_row['pos']+1;
$db->query("UPDATE ".PREFIX."_menu_top SET title='".$top_title."' , pos='".$top_pos."' WHERE id='".$top_id."'");
$db->free();
msg("info", 'Редактирование группы меню.', 'Группа меню успешно отредактирована.', "$PHP_SELF?mod=menu");
}elseif ($action == "new_menu"){
$title = clear_post($_POST['menu_title']);
$menu_top = clear_post($_POST['menu_top']);
$menu_link = clear_post($_POST['menu_link']);
$menu_jlink = clear_post($_POST['menu_jlink']);
$pos_query = $db->query("SELECT count(*) as pos FROM ".PREFIX."_menu WHERE top='".$menu_top."'");
$pos_row = $db->get_row($pos_query);
$db->free();
if ($title == ""){
msg("error",$lang['menu_error'],$lang['menu_title_ertitle'], "javascript:history.go(-1)");
}
if ($menu_link == ""){
msg("error",$lang['menu_error'],$lang['menu_link_ertitle'], "javascript:history.go(-1)");
}
$pos = $pos_row['pos']+1;
$db->query("INSERT INTO ".PREFIX."_menu (menu_title, link_ajax, menu_link, top, pos) VALUES ('".$title."', '".$menu_jlink."', '".$menu_link."', '".$menu_top."', '".$pos."')");
$db->free();
msg("info", 'Создание нового пункта меню.', 'Новый пункт меню успешно создан.', "$PHP_SELF?mod=menu");
}elseif ($action == "menu_save"){
$menu_id = clear_post($_POST['id']);
$menu_title = clear_post($_POST['menu_title']);
$menu_top = clear_post($_POST['menu_top']);
$menu_link = clear_post($_POST['menu_link']);
$menu_jlink = clear_post($_POST['menu_jlink']);
$menu_pos = clear_post($_POST['menu_pos']);
$test = $db->query("SELECT id FROM ".PREFIX."_menu WHERE id='".$menu_id."'");
if ($db->num_rows($test) == 0){
msg("error",$lang['menu_pt_edit_error'],$lang['menu_pt_not_found'], "j+avascript:history.go(-1)");
}
$db->free();
if ($menu_title == ""){
msg("error",$lang['menu_pt_edit_error'],$lang['menu_pt_edit_ertitle'], "javascript:history.go(-1)");
}
if ($menu_link == ""){
msg("error",$lang['menu_pt_edit_error'],$lang['menu_pt_edit_erlink'], "javascript:history.go(-1)");
}
if ($menu_pos == ""){
msg("error",$lang['menu_pt_edit_error'],$lang['menu_pt_edit_erpos'], "javascript:history.go(-1)");
}
$db->query("UPDATE ".PREFIX."_menu SET menu_title='".$menu_title."', link_ajax='".$menu_jlink."', menu_link='".$menu_link."', top='".$menu_top."', pos='".$menu_pos."' WHERE id='".$menu_id."'");
$db->free();
msg("info", 'Редактирование пункта меню.', 'Пункт меню успешно отредактирован.', "$PHP_SELF?mod=menu");
}elseif ($action == "add_new_top"){
$text = "<form method=\"post\" action=\"admin.php\"><tr>
<td width=\"150\">
{$lang['menu_top_title']}
</td>
<td>
<input class=\"edit\" type=\"text\" name=\"menu_top\">
<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('{$lang['menu_top_stitle']}', this, event, '250px')\">[?]</a>
</td>
</tr>";
$button = "<input type=\"submit\" class=\"buttons\" value=\"Добавить\">
<input type=\"hidden\" name=\"mod\" value=\"menu\">
<input type=\"hidden\" name=\"action\" value=\"new_top\"></form>";
page_create($lang['menu_top_new'], $text, $button, 2);
}elseif ($action == "edit_top"){
$id = clear_post($id);
$res = $db->query("SELECT * FROM ".PREFIX."_menu_top WHERE id='".$id."'");
if ($db->num_rows($res) > 0){
$row = $db->get_row($res);
$text = "<form method=\"post\" action=\"admin.php\">
<tr>
<td width=\"150\">
{$lang['menu_top_title']}
</td>
<td>
<input class=\"edit\" type=\"text\" name=\"menu_top\" value=\"".$row['title']."\">
<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('{$lang['menu_top_stitle']}', this, event, '250px')\">[?]</a>
</td>
</tr>
<tr>
<td width=\"150\">
{$lang['menu_top_pos']}
</td>
<td>
<input class=\"edit\" type=\"text\" name=\"menu_top_pos\" value=\"".$row['pos']."\">
</td>
</tr>";
$button = "<input type=\"submit\" class=\"buttons\" value=\"Сохранить\">
<input type=\"hidden\" name=\"mod\" value=\"menu\">
<input type=\"hidden\" name=\"action\" value=\"top_save\">
<input type=\"hidden\" name=\"menu_top_id\" value=\"".$id."\"></form>";
}else{
msg("error",$lang['menu_top_edit_error'],$lang['menu_top_not_found'], "javascript:history.go(-1)");
}
page_create($lang['menu_top_new'], $text, $button, 2);
}elseif ($action == "add_new_menu"){
$text = "<form method=\"post\" action=\"admin.php\">
<tr>
<td width=\"150\">
{$lang['menu_pt_title']}
</td>
<td>
<input class=\"edit\" type=\"text\" name=\"menu_title\">
<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('{$lang['menu_pt_stitle']}', this, event, '250px')\">[?]</a>
</td>
</tr>
<tr>
<td width=\"150\">
{$lang['menu_top_title']}
</td>
<td>
<select id=\"menu_top\" name=\"menu_top\" class=\"edit\" style=\"width: 134px;\">
".ShowTree()."
</select>
<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('{$lang['menu_top_stitle']}', this, event, '250px')\">[?]</a>
</td>
</tr>
<tr>
<td width=\"150\">
{$lang['menu_pt_link']}
</td>
<td>
<input class=\"edit\" type=\"text\" name=\"menu_link\">
<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('{$lang['menu_pt_slink']}', this, event, '250px')\">[?]</a>
</td>
</tr>
<tr>
<td width=\"150\">
{$lang['menu_pt_jlink']}
</td>
<td>
<input class=\"edit\" type=\"text\" name=\"menu_jlink\">
<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('{$lang['menu_pt_sjlink']}', this, event, '250px')\">[?]</a>
</td>
</tr>";
$button = "<input type=\"submit\" class=\"buttons\" value=\"Добавить\">
<input type=\"hidden\" name=\"mod\" value=\"menu\">
<input type=\"hidden\" name=\"action\" value=\"new_menu\"></form>";
page_create($lang['menu_pt_new'], $text, $button, 2);
}elseif ($action == "edit_menu"){
$id = clear_post($id);
$res = $db->query("SELECT * FROM ".PREFIX."_menu WHERE id='".$id."'");
if ($db->num_rows($res) > 0){
$row = $db->get_row($res);
$text = "<form method=\"post\" action=\"admin.php\">
<tr>
<td width=\"150\">
{$lang['menu_pt_title']}
</td>
<td>
<input class=\"edit\" type=\"text\" name=\"menu_title\" value=\"".$row['menu_title']."\">
<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('{$lang['menu_pt_stitle']}', this, event, '250px')\">[?]</a>
</td>
</tr>
<tr>
<td width=\"150\">
{$lang['menu_top_title']}
</td>
<td>
<select id=\"menu_top\" name=\"menu_top\" class=\"edit\" style=\"width: 134px;\">
".ShowTree($row['top'])."
</select>
<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('{$lang['menu_top_stitle']}', this, event, '250px')\">[?]</a>
</td>
</tr>
<tr>
<td width=\"150\">
{$lang['menu_pt_link']}
</td>
<td>
<input class=\"edit\" type=\"text\" name=\"menu_link\" value=\"".$row['menu_link']."\">
<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('{$lang['menu_pt_slink']}', this, event, '250px')\">[?]</a>
</td>
</tr>
<tr>
<td width=\"150\">
{$lang['menu_pt_jlink']}
</td>
<td>
<input class=\"edit\" type=\"text\" name=\"menu_jlink\" value=\"".$row['link_ajax']."\">
<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('{$lang['menu_pt_sjlink']}', this, event, '250px')\">[?]</a>
</td>
</tr>
<tr>
<td width=\"150\">
{$lang['menu_pt_pos']}
</td>
<td>
<input class=\"edit\" type=\"text\" name=\"menu_pos\" value=\"".$row['pos']."\">
<a href=\"#\" class=\"hintanchor\" onMouseover=\"showhint('{$lang['menu_pt_sjlink']}', this, event, '250px')\">[?]</a>
</td>
</tr>";
$button = "<input type=\"submit\" class=\"buttons\" value=\"Сохранить\">
<input type=\"hidden\" name=\"mod\" value=\"menu\">
<input type=\"hidden\" name=\"action\" value=\"menu_save\">
<input type=\"hidden\" name=\"id\" value=\"".$id."\"></form>";
}else{
}
page_create($lang['menu_pt_new'], $text, $button, 2);
}
else {
$ajax = '<script language="javascript">
<!-- begin
function confirmdelete(id, user){
var agree=confirm("'.$lang['menu_top_confirm'].'");
if (agree)
document.location="'.$PHP_SELF.'?mod=menu&action=delete_top&id="+id;
}
function confirmdeletemenu(id, user){
var agree=confirm("'.$lang['menu_confirm'].'");
if (agree)
document.location="'.$PHP_SELF.'?mod=menu&action=delete_menu&id="+id;
}
// end -->
</script>';
$text = '';
$menu_cat = $db->query("SELECT * FROM " . PREFIX . "_menu_top ORDER By pos ASC");
while($row = $db->get_row($menu_cat))
{
if($i%2 == 0){ $bg = "bgcolor=\"#EAE7E2\""; }
$text .= "<form method=\"post\" action=\"admin.php\"><tr>
<td style=\"padding:2px;\" width=\"90%\">
<b>$row[title]</b>
</td>
<td><input class=\"edit\" type=\"text\" name=\"top".$row['id']."\" value=\"".$row['pos']."\" style=\"width: 20px;\" /></td>";
$text .= "<td>
[<a class=maintitle href='$PHP_SELF?mod=menu&action=edit_top&id=$row[id]'>$lang[user_edit]</a>] [<a class=maintitle onClick=\"javascript:confirmdelete('$row[id]', '$row[name]'); return(false)\" href=\"$PHP_SELF?mod=menu&action=delete_top&id=$row[id]\">$lang[user_del]</a>]
</tr><tr><td background=\"engine/skins/images/mline.gif\" height=1 colspan=3></td></tr>";
$menu_pt = $db->query("SELECT id, menu_title, pos FROM " . PREFIX . "_menu WHERE top='".$row[id]."' ORDER By pos ASC");
while($rows = $db->get_row($menu_pt))
{
$text .= "<tr>
<td style=\"padding:2px;\" width=\"90%\">
$rows[menu_title]
</td>
<td><input class=\"edit\" type=\"text\" name=\"menu".$rows['id']."\" value=\"".$rows['pos']."\" style=\"width: 20px;\" /></td>";
$text .= "<td>
[<a class=maintitle href='$PHP_SELF?mod=menu&action=edit_menu&id=$rows[id]'>$lang[user_edit]</a>] [<a class=maintitle onClick=\"javascript:confirmdeletemenu('$rows[id]', '$rows[name]'); return(false)\" href=\"$PHP_SELF?mod=menu&action=delete_menu&id=$rows[id]\">$lang[user_del]</a>]
</tr><tr><td background=\"engine/skins/images/mline.gif\" height=1 colspan=3></td></tr>";
}
}
$db->free();
$button = " <input type=\"button\" value=\"{$lang['menu_new']}\" class=\"bbcodes\" onclick=\"document.location='$PHP_SELF?mod=menu&action=add_new_top'\"> <input type=\"button\" value=\"{$lang['menu_pt_new']}\" class=\"bbcodes\" onclick=\"document.location='$PHP_SELF?mod=menu&action=add_new_menu'\">
<input type=\"submit\" value=\"{$lang['menu_sort']}\" class=\"bbcodes\">
<input type=\"hidden\" name=\"mod\" value=\"menu\">
<input type=\"hidden\" name=\"action\" value=\"menu_sort\"></form>";
page_create($lang['menu_head'], $text, $button, 3, $ajax);
}
?>