function nodeAction() { $node = NodeModel::init(); //-------------------------------// //--------AJAX REQUEST-----------// //------------------------------// if (@$_GET['ajax_change_modul_position']) { if (is_numeric(@$_GET['id_node_ajax']) and is_numeric($_GET['position'])) { dibi::query("UPDATE node SET position=%i", $_GET['position'], " WHERE id_node=%i", $_GET['id_node_ajax']); $node->invalidateCache(); } exit; } if (@$_GET['ajax_change_modul_visible']) { if (is_numeric(@$_GET['id_node_ajax']) and is_numeric($_GET['modul_visible'])) { dibi::query("UPDATE node SET visible=%s", $_GET['modul_visible'], " WHERE id_node=%i", $_GET['id_node_ajax']); } $node->invalidateCache(); // echo dibi::$sql; exit; } //------SITE MAP pre premiestnenie modulu if (isset($_GET['ajax_show_site_map_for_modul'])) { $m = new MenuItem(); $m->doTreeSelectMoveModul(0, 0, $_GET['id_menu_item'], $_GET['id_type_modul']); echo '<form action="" method="post"> <select name="id_menu_item_for_change">'; echo $m->doTreeSelectMoveModulText; echo '<input type="hidden" name="id_type_modul" value="' . htmlspecialchars($_GET['id_type_modul']) . '" /> <input type="hidden" name="id_node" value="' . htmlspecialchars($_GET['id_node']) . '" /> <input type="submit" name="changeModulParent" value="Ulož" /> </form>'; exit; } if (isset($_POST['changeModulParent'])) { $this->changeModulParent(); $node->invalidateCache(); header("Location: ?id_menu_item=" . $_POST['id_menu_item_for_change'] . "&showModulsOnPage=1"); exit; } if (isset($_GET['id_menu_item']) and isset($_GET['id_type_modul']) and isset($_GET['id_modul'])) { if (!dibi::fetchSingle("SELECT COUNT(*) FROM node WHERE id_menu_item=%i", $_GET['id_menu_item'], " AND id_type_modul=%i", $_GET['id_type_modul'], " AND id_node=%i", $_GET['id_modul'])) { header("Location:admin.php"); exit; } } if (isset($_GET['addnode']) and isset($_GET['id_type_modul']) or isset($_POST['addModulToMenu'])) { if (isset($_POST['addModulToMenu'])) { $id_type_modul = $_POST['id_type_modul']; } else { $id_type_modul = $_GET['id_type_modul']; } $sequence = dibi::fetchSingle("SELECT MAX(sequence) FROM node WHERE id_menu_item=%i", $_GET['id_menu_item']) + 1; $session = NEnvironment::getSession('Authentication'); $config = NEnvironment::getConfig(); $arr = array('id_user' => NEnvironment::getUser()->getIdentity()->id, 'id_menu_item' => $_GET['id_menu_item'], 'sequence' => $sequence, 'id_type_modul' => $id_type_modul, 'visible' => $config['NODE_VISIBLE']); dibi::query("INSERT INTO node ", $arr); $this->addModul(dibi::insertId(), $id_type_modul); $node->invalidateCache(); } //zmenenie poradia if (isset($_GET['modul_id_up']) or isset($_GET['modul_id_down'])) { $this->changeOrderNode(); $node->invalidateCache(); header("Location: admin.php?id_menu_item=" . $_GET['id_menu_item'] . "&showModulsOnPage=1"); exit; } //ak je iba jeden modul, hned sa zobrazi ale iba ak nieje setnuta section a showModulsOnPage if (isset($_GET['id_menu_item']) and !isset($_GET['id_type_modul']) and !isset($_GET['section']) and !isset($_GET['showModulsOnPage']) and !isset($_GET['changeMenuItem'])) { $l = dibi::fetch("SELECT *, COUNT(*) as node_count FROM node WHERE id_menu_item=%i", $_GET['id_menu_item'], " ORDER BY sequence"); if ($l['node_count'] == 1) { header("Location: admin.php?id_menu_item=" . $_GET['id_menu_item'] . "&id_type_modul=" . $l['id_type_modul'] . "&id_modul=" . $l['id_node']); exit; } } //pridanie do premenej activeModul instanciu objektu if (isset($_GET['id_type_modul']) and isset($_GET['id_modul'])) { $this->activeModul = $this->nodeFactory($_GET['id_type_modul']); $this->activeModul->action(); } if (isset($_GET['id_modul_del']) and is_numeric($_GET['id_modul_del'])) { $this->deleteNode(NULL, $_GET['id_modul_del']); $node->invalidateCache(); header("Location: admin.php?id_menu_item=" . $_GET['id_menu_item']); exit; } }