function catPath($id, &$cat = null) { if (file_exists('cache/cat' . $id . '.php')) { return file_get_contents('cache/cat' . $id . '.php'); } else { include_once './lib/categories.php'; return UpdateCatPath($cat ? $cat : $id); } }
$db->exec('UPDATE ' . PRE . 'cats SET rgt=rgt+2 WHERE rgt>=' . $cat['lft']); } else { ++$cat['lft']; } $cat['rgt'] = $cat['lft'] + 1; } $q->execute($cat); #Get ID or rebuild the whole tree if (!$id) { $id = $db->lastInsertId(); } elseif ($up != $old[2]) { RebuildTree(); } #Apply changes and rebuild category structure cache $db->commit(); UpdateCatPath($id); #Redirect if (isset($_GET['ref'])) { header('Location: ' . URL . url($id)); } #Info + links $view->info($lang['saved'] . ' ID: ' . $id, array(url($id) => $lang['goCat'], url('editCat', '', 'admin') => $lang['addCat'], url('editCat/' . $id, '', 'admin') => $lang['editCat'], url('list/' . $id) => $lang['mantxt'], url('edit/' . $cat['type'], 'catid=' . $id) => $lang['addItem'])); return 1; } catch (Exception $e) { $view->info($e->getMessage()); //Errors } } elseif ($id) { if (!($cat = $db->query('SELECT * FROM ' . PRE . 'cats WHERE ID=' . $id)->fetch(2))) { //ASSOC return;
$db->exec('DELETE FROM ' . PRE . $t . ' WHERE cat=' . $id); if ($t2) { $db->exec('DELETE FROM ' . PRE . $t . ' WHERE cat=' . $id); } $db->exec('DELETE FROM ' . PRE . 'comms WHERE TYPE=' . $cat['type'] . ' AND CID NOT IN (SELECT ID FROM ' . PRE . $t . ')'); } #SUBCATEGORIES if ($cat['rgt'] > $cat['lft'] + 1) { if ($sub > 0) { $db->exec('UPDATE ' . PRE . 'cats SET sc=' . $sub . ' WHERE sc=' . $id); } elseif ($sub == -1) { $del = 'lft BETWEEN ' . $cat['lft'] . ' AND ' . $cat['rgt']; } else { $db->exec('UPDATE ' . PRE . 'cats SET sc=0 WHERE sc=' . $id); } UpdateCatPath(); } $db->exec('DELETE FROM ' . PRE . 'cats WHERE ' . $del); //Delete category } RebuildTree(); CountItems(); Latest(); //Delete links from menu if ($db->exec('DELETE FROM ' . PRE . 'mitems WHERE type=5 AND url IN(' . $x . ')')) { include './lib/mcache.php'; RenderMenu(); } //Finish and redirect $db->commit(); header('Location: ' . URL . url('cats', '', 'admin'));