Do not allow a page to be its own parent.
git-svn-id: https://develop.svn.wordpress.org/trunk@1878 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
469d850946
commit
5710a6ac38
|
@ -615,10 +615,17 @@ function page_template_dropdown($default = '') {
|
||||||
}
|
}
|
||||||
|
|
||||||
function parent_dropdown($default = 0, $parent = 0, $level = 0) {
|
function parent_dropdown($default = 0, $parent = 0, $level = 0) {
|
||||||
global $wpdb;
|
global $wpdb, $post_ID;
|
||||||
$items = $wpdb->get_results("SELECT ID, post_parent, post_title FROM $wpdb->posts WHERE post_parent = $parent AND post_status = 'static' ORDER BY menu_order");
|
$items = $wpdb->get_results("SELECT ID, post_parent, post_title FROM $wpdb->posts WHERE post_parent = $parent AND post_status = 'static' ORDER BY menu_order");
|
||||||
|
|
||||||
if ($items) {
|
if ($items) {
|
||||||
foreach ($items as $item) {
|
foreach ($items as $item) {
|
||||||
|
// A page cannot be it's own parent.
|
||||||
|
if (!empty($post_ID)) {
|
||||||
|
if ($item->ID == $post_ID) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
$pad = str_repeat(' ', $level * 3);
|
$pad = str_repeat(' ', $level * 3);
|
||||||
if ($item->ID == $default)
|
if ($item->ID == $default)
|
||||||
$current = ' selected="selected"';
|
$current = ' selected="selected"';
|
||||||
|
|
|
@ -34,7 +34,7 @@ window.onload = focusit;
|
||||||
</script>
|
</script>
|
||||||
<fieldset id="titlediv">
|
<fieldset id="titlediv">
|
||||||
<legend><?php _e('Page Title') ?></legend>
|
<legend><?php _e('Page Title') ?></legend>
|
||||||
<div><input type="text" name="post_title" size="30" tabindex="1" value="<?php echo $edited_post_title; ?>" id="title" /></div>
|
<div><input type="text" name="post_title" size="30" tabindex="1" value="<?php echo $edited_post_title; ?>" id="title" /></div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset id="commentstatusdiv">
|
<fieldset id="commentstatusdiv">
|
||||||
<legend><?php _e('Discussion') ?></legend>
|
<legend><?php _e('Discussion') ?></legend>
|
||||||
|
|
|
@ -1332,10 +1332,15 @@ function preg_index($number, $matches = '') {
|
||||||
|
|
||||||
function get_page_uri($page) {
|
function get_page_uri($page) {
|
||||||
global $wpdb;
|
global $wpdb;
|
||||||
$page = $wpdb->get_row("SELECT post_name, post_parent FROM $wpdb->posts WHERE ID = '$page'");
|
$page = $wpdb->get_row("SELECT ID, post_name, post_parent FROM $wpdb->posts WHERE ID = '$page'");
|
||||||
|
|
||||||
$uri = urldecode($page->post_name);
|
$uri = urldecode($page->post_name);
|
||||||
|
|
||||||
|
// A page cannot be it's own parent.
|
||||||
|
if ($page->post_parent == $page->ID) {
|
||||||
|
return $uri;
|
||||||
|
}
|
||||||
|
|
||||||
while ($page->post_parent != 0) {
|
while ($page->post_parent != 0) {
|
||||||
$page = $wpdb->get_row("SELECT post_name, post_parent FROM $wpdb->posts WHERE ID = '$page->post_parent'");
|
$page = $wpdb->get_row("SELECT post_name, post_parent FROM $wpdb->posts WHERE ID = '$page->post_parent'");
|
||||||
$uri = urldecode($page->post_name) . "/" . $uri;
|
$uri = urldecode($page->post_name) . "/" . $uri;
|
||||||
|
|
Loading…
Reference in New Issue