function prepareList(array $items, $pid = 0) { $output = array(); foreach ($items as $item) { if ((int) $item['parent_id'] == $pid) { if ($children = prepareList($items, $item['id'])) { $item['children'] = $children; } $output[] = $item; } } return $output; }
$t['total'] = 1; $r = $db->sqa("SELECT * FROM {mytinytodo_lists} WHERE id = {$id}"); module_invoke_all('mytinytodo_new_list', $r); $t['list'][] = prepareList($r); jsonExit($t); } elseif (isset($_GET['renameList'])) { check_write_access(); stop_gpc($_POST); $t = array(); $t['total'] = 0; $id = (int) _post('list'); $field_id = trim(_post('fid')); $name = str_replace(array('"', "'", '<', '>', '&'), array('', '', '', '', ''), trim(_post('name'))); $result = $db->dq("UPDATE {mytinytodo_lists} SET name=?,d_edited=? WHERE id=? AND field_id=?", array($name, time(), $id, $field_id)); $t['total'] = $result->affected(); $r = prepareList($db->sqa("SELECT * FROM {mytinytodo_lists} WHERE id={$id} AND field_id = ?", array($field_id))); module_invoke_all('mytinytodo_rename_list', $r); $t['list'][] = $r; jsonExit($t); } elseif (isset($_GET['deleteList'])) { check_write_access(); stop_gpc($_POST); $t = array(); $t['total'] = 0; $id = (int) _post('list'); $db->ex("BEGIN"); $result = $db->ex("DELETE FROM {mytinytodo_lists} WHERE id={$id}"); $t['total'] = $result->affected(); if ($t['total']) { $db->ex("DELETE FROM {mytinytodo_tag2task} WHERE list_id={$id}"); $db->ex("DELETE FROM {mytinytodo_todos} WHERE list_id={$id}");
function addList($db, $name) { $t = array(); $t['total'] = 0; $name = str_replace(array('"', "'", '<', '>', '&'), array('', '', '', '', ''), trim($name)); $ow = 1 + (int) $db->sq("SELECT MAX(ow) FROM {$db->prefix}lists"); $db->dq("INSERT INTO {$db->prefix}lists (uuid,name,ow,d_created,d_edited) VALUES (?,?,?,?,?)", array(generateUUID(), $name, $ow, time(), time())); $id = $db->last_insert_id(); $t['total'] = 1; $r = $db->sqa("SELECT * FROM {$db->prefix}lists WHERE id={$id}"); $t['list'][] = prepareList($r); return $t; }
$r = $db->sqa("SELECT * FROM {$db->prefix}lists WHERE id={$id}"); $t['list'][] = prepareList($r); jsonExit($t); } elseif (isset($_GET['renameList'])) { check_write_access(); stop_gpc($_POST); $t = array(); $t['total'] = 0; $id = (int) _post('list'); $old_name = $db->sq("SELECT name FROM {$db->prefix}lists WHERE id={$id}"); $name = str_replace(array('"', "'", '<', '>', '&'), array('', '', '', '', ''), trim(_post('name'))); $db->dq("UPDATE {$db->prefix}lists SET name=?,d_edited=? WHERE id={$id}", array($name, time())); $t['total'] = $db->affected(); addNotification(_r('n_list_renamed', array($old_name, $name)), Notification::NOTIFICATION_TYPE_LIST_RENAMED, $id); $r = $db->sqa("SELECT * FROM {$db->prefix}lists WHERE id={$id}"); $t['list'][] = prepareList($r); jsonExit($t); } elseif (isset($_GET['deleteList'])) { check_write_access(); stop_gpc($_POST); $t = array(); $t['total'] = 0; $id = (int) _post('list'); $name = $db->sq("SELECT name FROM {$db->prefix}lists WHERE id={$id}"); $db->ex("BEGIN"); $db->ex("DELETE FROM {$db->prefix}lists WHERE id={$id}"); $t['total'] = $db->affected(); addNotification(_r('n_list_deleted', $name), Notification::NOTIFICATION_TYPE_LIST_DELETED, $id); if ($t['total']) { $db->ex("DELETE FROM {$db->prefix}tag2task WHERE list_id={$id}"); $db->ex("DELETE FROM {$db->prefix}todolist WHERE list_id={$id}");
<a class="navbar-brand" href="<?php echo BASE_URL; ?> "><?php echo SITE_TITLE; ?> </a> </div> <div id="navbar" class="navbar-collapse collapse"> <?php $main_navigation = db_select("SELECT * FROM navigation ORDER BY position ASC"); $nav_array = array(); foreach ($main_navigation as $nav_item) { $nav_array[] = array('id' => $nav_item['id'], 'parent_id' => $nav_item['parent_id'], 'url' => $nav_item['url'], 'target' => $nav_item['target'], 'title' => $nav_item['title'], 'position' => $nav_item['position']); } $tree = prepareList($nav_array); echo nav($tree); ?> <ul class="nav navbar-nav navbar-right tagline"> <li><a href="#"><?php echo SITE_HEADLINE; ?> </a></li> </ul> </div> </div> </nav> </div> </div>