/** * list_parents * * orderes the parent select box in order of parents * with indentation * * @param int $id * @param array $pages * @param int $level * @param mixed $default * @access public * @return void */ function list_parents($id, $pages, $level, $default) { $num = 0; if (!isset($pages[$id])) { return; } $list = ''; $margin = $level * 10; foreach ($pages[$id] as $page) { $def = $default != 0 && $page['id'] == $default ? ' selected="selected"' : ''; $list .= '<option value="' . $page['id'] . '"' . $def . ' style="margin-left:' . $margin . 'px;" class="' . $page['parent'] . '">' . $page['name'] . '</option>'; $list .= list_parents($page['id'], $pages, $level + 1, $default); } return $list; }
'; /** * load possible page parents and display in an indented list */ $pages = array(); $query = query('select id,name,parent from ' . DB_PAGES . ' order by position,name desc'); while ($row = mysql_fetch_assoc($query)) { $pages[$row['parent']][] = $row; } $parent = addslashes(@$_GET['parent']); if ($parent == '') { $content .= '<option selected="selected" parent="0" value="0">---</option>'; $content .= list_parents(0, $pages, 0, 0); } else { $content .= '<option value="0" parent="0">---</option>'; $content .= list_parents(0, $pages, 0, $parent); } $content .= ' <td class="small"> <a class="link" id="page-permissions">Permissions</a> <input type="hidden" name="perm" value="|"/> </td> </tr> </table> </div> <div id="pages-type-content" type="Normal"></div> <input type="submit" name="new-save" value="Save" class="submit" id="edit-save"/> </form> ';