<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul, pre { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[13473] trunk: more menu improvements, props ptahdunbar, see #11817</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd><a href="http://trac.wordpress.org/changeset/13473">13473</a></dd>
<dt>Author</dt> <dd>wpmuguru</dd>
<dt>Date</dt> <dd>2010-02-27 23:06:56 +0000 (Sat, 27 Feb 2010)</dd>
</dl>

<h3>Log Message</h3>
<pre>more menu improvements, props ptahdunbar, see <a href="http://trac.wordpress.org/ticket/11817">#11817</a></pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkwpadminadminajaxphp">trunk/wp-admin/admin-ajax.php</a></li>
<li><a href="#trunkwpadmincssnavmenucss">trunk/wp-admin/css/nav-menu.css</a></li>
<li><a href="#trunkwpadmincssnavmenudevcss">trunk/wp-admin/css/nav-menu.dev.css</a></li>
<li><a href="#trunkwpadminincludesnavmenuphp">trunk/wp-admin/includes/nav-menu.php</a></li>
<li><a href="#trunkwpadminjsnavmenudefaultitemsdevjs">trunk/wp-admin/js/nav-menu-default-items.dev.js</a></li>
<li><a href="#trunkwpadminjsnavmenudefaultitemsjs">trunk/wp-admin/js/nav-menu-default-items.js</a></li>
<li><a href="#trunkwpadminjsnavmenudynamicfunctionsdevjs">trunk/wp-admin/js/nav-menu-dynamic-functions.dev.js</a></li>
<li><a href="#trunkwpadminjsnavmenudynamicfunctionsjs">trunk/wp-admin/js/nav-menu-dynamic-functions.js</a></li>
<li><a href="#trunkwpadminnavmenusphp">trunk/wp-admin/nav-menus.php</a></li>
<li><a href="#trunkwpincludesdefaultwidgetsphp">trunk/wp-includes/default-widgets.php</a></li>
<li><a href="#trunkwpincludesnavmenutemplatephp">trunk/wp-includes/nav-menu-template.php</a></li>
<li><a href="#trunkwpincludesnavmenuphp">trunk/wp-includes/nav-menu.php</a></li>
<li><a href="#trunkwpincludesscriptloaderphp">trunk/wp-includes/script-loader.php</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkwpadminadminajaxphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/admin-ajax.php (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/admin-ajax.php        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-admin/admin-ajax.php        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -477,6 +477,26 @@
</span><span class="cx">         _wp_ajax_delete_comment_response( $comment-&gt;comment_ID );
</span><span class="cx">         die( '0' );
</span><span class="cx">         break;
</span><ins>+case 'add-menu-link':
+        if ( !current_user_can( 'manage_links' ) )
+                die('-1');
+        
+        $link_url = isset($_POST['link_url']) ? $_POST['link_url'] : false;        
+        $link_name = isset($_POST['link_name']) ? $_POST['link_name'] : false;
+        
+        if ( !$link_url || !$link_name )
+                die('-1');
+        
+        $post = array( 'post_type' =&gt; 'nav_menu_item', 'post_title' =&gt; $link_name, 'ping_status' =&gt; false, 'post_excerpt' =&gt; '', 'post_content' =&gt; '' );
+        $db_id = wp_insert_post( $post );
+
+        update_post_meta( $db_id, 'menu_type', 'custom' );
+        update_post_meta( $db_id, 'object_id', '' );
+        update_post_meta( $db_id, 'menu_new_window', 0 );
+        update_post_meta( $db_id, 'menu_link', esc_url_raw( $link_url ) );
+        
+        echo $db_id;
+        break;
</ins><span class="cx"> case 'add-link-category' : // On the Fly
</span><span class="cx">         check_ajax_referer( $action );
</span><span class="cx">         if ( !current_user_can( 'manage_categories' ) )
</span></span></pre></div>
<a id="trunkwpadmincssnavmenucss"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/css/nav-menu.css (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/css/nav-menu.css        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-admin/css/nav-menu.css        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -1 +1 @@
</span><del>-.maintitle{margin:0 0 20px 0!important;}.logo{vertical-align:middle;margin:0 10px 0 0;}h2.heading{margin:32px 0 10px 0;}.checkboxes{float:right;margin:10px 12px 0 0;}#menus-container{clear:both;}#nav-container .inside{padding:0 10px 10px;}#menus-container .submit{padding:0;}#menu-settings-column .inside{padding:10px;}#custom-nav ul{width:100%;}#custom-nav li{margin:0;}.ui-draggable-dragging{width:500px;}#custom-nav li dl dt{-webkit-border-bottom-left-radius:6px;-webkit-border-bottom-right-radius:6px;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top-left-radius:6px;border-top-right-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border:1px solid #E6E6E6;position:relative;padding-left:10px;background-color:#f1f1f1;height:35px;line-height:35px;}#custom-nav li dl dt:hover{cursor:move;}#custom-nav li dl dt .controls{position:absolute;right:15px;top:-1px;}#custom-nav li dl dt img{vertical-align:middle;}#custom-nav li .title{background:url(../images/ico-arrow.png) no-repeat 4px 5px;background-position:center left;padding-left:15px;}#custom-nav li ul li{margin-left:20px;opacity:.7;}#custom-nav li ul li ul li{opacity:.9;}#custom-nav li ul li ul li ul li{opacity:.9;}#custom-nav li ul li ul li ul li ul li{opacity:.95;}#add-custom-link .howto{font-size:11px;}#add-custom-link .widefat{width:85%;margin-right:5px;}.list-container{max-height:203px;overflow-y:auto;padding-left:2px;padding-right:5px;}.list{zoom:1;}.list li{margin:0;}.list dt{display:none;margin:0;border-bottom:1px solid #e3e3e3;overflow:hidden;}.list dt{background:url(../images/ico-add.png) no-repeat right;}.list li .title{cursor:pointer;display:block;width:95%;padding:5px 0;}.list li .title{background:url(../images/ico-arrow.png) no-repeat 4px 13px;background-position:center left;padding-left:5%;}.list li ul li .title{margin-left:14px;}.list li ul li ul li .title{margin-left:28px;}.list li ul li ul li ul li .title{margin-left:42px;}.list li ul li ul li ul li ul li .title{margin-left:56px;}.list li ul li ul li ul li ul li ul li .title{margin-left:70px;}.list li ul li ul li ul li ul li ul li ul li .title{margin-left:84px;}.list li ul li ul li ul li ul li ul li ul li ul li .title{margin-left:98px;}.list li ul li ul li ul li ul li ul li ul li ul li ul li .title{margin-left:112px;}img.remove,img.edit{cursor:pointer;margin:0 5px 0 0;}.dropzone{height:7px;margin:3px 0 3px 0;}.hide{display:none;}.type{text-transform:uppercase;font-size:11px;color:#999;padding-right:10px;}#menu_select{width:170px;}#dialog-confirm label{padding-left:10px;}.ui-dialog{background:#fff;border:1px solid #555;-moz-box-shadow:0 4px 30px #000;}.ui-dialog-titlebar{color:#CFCFCF;font-family:&quot;Lucida Grande&quot;,Verdana,Arial,sans-serif;padding:6px 10px 6px;background-color:#222!important;border:none!important;-moz-border-radius:none!important;}#dialog-confirm{height:168px!important;padding:20px 10px 10px;}#dialog-confirm input{margin:0 0 15px 0;width:280px;}#dialog-confirm select{margin:0 0 15px 0;}.ui-dialog-buttonpane{padding:10px;}.ui-dialog-buttonpane button{margin:0 10px 0 0;background:#F2F2F2;text-shadow:0 1px 0 #FFF;border-color:#BBB;color:#464646;-moz-border-radius-bottomleft:11px;-moz-border-radius-bottomright:11px;-moz-border-radius-topleft:11px;-moz-border-radius-topright:11px;border-style:solid;border-width:1px;cursor:pointer;font-size:11px!important;line-height:14px;padding:2px 8px;text-decoration:none;}.ui-dialog-buttonpane button:hover{color:#000;border-color:#666;}.ui-icon{display:none;}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%;}.ui-widget-overlay{background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.60;filter:Alpha(Opacity=60);}.ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:#aaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;opacity:.60;filter:Alpha(Opacity=60);-moz-border-radius:8px;-webkit-border-radius:8px;}
</del><span class="cx">\ No newline at end of file
</span><ins>+#menu-management{clear:both;}#menu-management .inside{padding:0 10px;}#menu-container .submit{margin:0 0 10px;padding:0;}.submitdelete{color:#f00;text-decoration:underline;font-size:11px;float:left;margin-top:5px;}.submitdelete:hover{background-color:#F00;color:#fff;}.save{float:right;}.button-controls{float:left;}.add-to-menu{float:right;}#create-menu-name{width:159px;}#available-links{margin:15px 0 0;}#available-links dt{display:block;}#add-custom-link .howto{font-size:11px;}#add-custom-link label span{display:block;float:left;margin-top:5px;padding-right:5px;}#menu-item-url,#menu-item-name{float:right;width:220px;}.show-all,.hide-all{cursor:pointer;}.hide-all{display:none;}.quick-search{width:190px;}.list-wrap{display:none;clear:both;}.list-container{max-height:200px;overflow-y:auto;padding:10px 10px 5px;border:1px solid #DFDFDF;-moz-border-radius:4px;}.postbox p.submit{margin-bottom:0;}.list li{margin:0;}.list dt{display:none;margin:0;overflow:hidden;margin-bottom:5px;}.list li .item-title{cursor:pointer;display:block;}.list li .item-title input{margin-right:3px;margin-top:-3px;}.list li ul li .item-title{margin-left:14px;}.list li ul li ul li .item-title{margin-left:28px;}.list li ul li ul li ul li .item-title{margin-left:42px;}.list li ul li ul li ul li ul li .item-title{margin-left:56px;}.list li ul li ul li ul li ul li ul li .item-title{margin-left:70px;}.list li ul li ul li ul li ul li ul li ul li .item-title{margin-left:84px;}.list li ul li ul li ul li ul li ul li ul li ul li .item-title{margin-left:98px;}.list li ul li ul li ul li ul li ul li ul li ul li ul li .item-title{margin-left:112px;}#menu-container .inside{padding-bottom:10px;}#menu ul{width:100%;}#menu li{margin:0;}#menu li dl dt{-webkit-border-bottom-left-radius:6px;-webkit-border-bottom-right-radius:6px;-webkit-border-top-left-radius:6px;-webkit-border-top-right-radius:6px;border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-top-left-radius:6px;border-top-right-radius:6px;-moz-border-radius-bottomleft:6px;-moz-border-radius-bottomright:6px;-moz-border-radius-topleft:6px;-moz-border-radius-topright:6px;border:1px solid #E6E6E6;position:relative;padding-left:10px;background-color:#f1f1f1;height:35px;line-height:35px;}#menu li dl dt:hover{cursor:move;}#menu li .item-title{background:url(../images/ico-arrow.png) no-repeat 4px 5px;background-position:center left;padding-left:15px;}#menu li ul li{margin-left:20px;opacity:.7;}#menu li ul li ul li{opacity:.9;}#menu li ul li ul li ul li{opacity:.9;}#menu li ul li ul li ul li ul li{opacity:.95;}.dropzone{height:7px;margin:3px 0 3px 0;}.ui-draggable-dragging{width:600px;}.item-type{text-transform:uppercase;font-size:11px;color:#999;padding-right:10px;}.item-controls{font-size:11px;position:absolute;right:15px;top:-1px;}.item-controls a{text-decoration:none;}.item-controls a:hover{cursor:pointer;}.item-controls .item-delete:hover{color:#f00;}#menu-item-settings{display:none;}#cancel-save{cursor:pointer;}#cancel-save:hover{color:#fff!important;}#update-menu-item{color:#fff!important;}#update-menu-item:hover,#update-menu-item:active,#update-menu-item:focus{color:#eaf2fa!important;border-color:#13455b!important;}.hide{display:none;}
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpadmincssnavmenudevcss"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/css/nav-menu.dev.css (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/css/nav-menu.dev.css        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-admin/css/nav-menu.dev.css        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -2,80 +2,100 @@
</span><span class="cx">  * WordPress Administration Custom Navigation
</span><span class="cx">  * Interface CSS
</span><span class="cx">  *
</span><del>- * @version 1.1.0
</del><ins>+ * @version 2.0.0
</ins><span class="cx">  *
</span><span class="cx">  * @package WordPress
</span><span class="cx">  * @subpackage Administration
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-.maintitle  { margin: 0 0 20px 0!important;}
-.logo  { vertical-align: middle; margin: 0 10px 0 0; }
-h2.heading  { margin: 32px 0 10px 0; }
-.checkboxes  { float: right; margin: 10px 12px 0 0; }
</del><ins>+/* Menu Container */
+#menu-management { clear: both; }
+#menu-management .inside { padding: 0 10px; }
</ins><span class="cx"> 
</span><del>-#menus-container { clear: both; }
-#nav-container .inside { padding: 0px 10px 10px; }
-#menus-container .submit { padding: 0px; }
-#menu-settings-column .inside { padding: 10px; }
</del><ins>+/* Button Primary Actions */
+#menu-container .submit { margin: 0px 0px 10px; padding: 0px; }
+.submitdelete { color: #ff0000; text-decoration: underline; font-size: 11px; float: left; margin-top: 5px; }
+.submitdelete:hover { background-color: #FF0000; color: #fff; }
+.save { float: right; }
</ins><span class="cx"> 
</span><del>-#custom-nav ul  { width: 100%; }
-#custom-nav li { margin: 0; }
-.ui-draggable-dragging  { width: 500px; }
-#custom-nav li dl dt { -webkit-border-bottom-left-radius: 6px; -webkit-border-bottom-right-radius: 6px; -webkit-border-top-left-radius: 6px; -webkit-border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; -moz-border-radius-bottomleft: 6px; -moz-border-radius-bottomright: 6px; -moz-border-radius-topleft: 6px; -moz-border-radius-topright: 6px; border: 1px solid #E6E6E6;position: relative; padding-left:10px; background-color: #f1f1f1; height: 35px; line-height: 35px; }
-#custom-nav li dl dt:hover  { cursor: move; }
-#custom-nav li dl dt .controls  { position: absolute; right: 15px; top: -1px; }
-#custom-nav li dl dt img { vertical-align: middle; }
-#custom-nav li dl dt a {}
-#custom-nav li .title { background:url(../images/ico-arrow.png) no-repeat 4px 5px; background-position: center left; padding-left: 15px; }
-#custom-nav li ul li { margin-left: 20px; opacity: .7;}
-#custom-nav li ul li ul li  { opacity: .9;}
-#custom-nav li ul li ul li ul li   { opacity: .9;}
-#custom-nav li ul li ul li ul li ul li   { opacity: .95; }
</del><ins>+/* Button Secondary Actions */
+.button-controls { float: left; }
+.add-to-menu { float: right; }
</ins><span class="cx"> 
</span><ins>+/* CSS for switching the columns *//*
+#menu-settings-column { clear: none; float: left; }
+#menu-management #post-body { float: right; margin-left: -340px; margin-right: 0px; }
+#menu-management #post-body-content { margin-left: 300px; margin-right: 0px; }
+*/
+
+/* Create Menu */
+#create-menu-name { width: 159px; }
+
+/* Custom Links */
+#available-links { margin: 15px 0px 0px; }
+#available-links dt { display: block; }
</ins><span class="cx"> #add-custom-link .howto { font-size: 11px; }
</span><del>-#add-custom-link .widefat { width: 85%; margin-right: 5px; }
</del><ins>+#add-custom-link label span { display: block; float: left; margin-top: 5px; padding-right: 5px; }
+#menu-item-url, #menu-item-name { float: right; width: 220px; }
</ins><span class="cx"> 
</span><del>-.list-container { max-height: 203px; overflow-y: auto; padding-left: 2px; padding-right: 5px; }
</del><ins>+/* Pages/Categories */
+.show-all, .hide-all { cursor: pointer; }
+.hide-all { display: none; }
</ins><span class="cx"> 
</span><del>-.list { zoom: 1; }
</del><ins>+.quick-search { width: 190px; }
+.list-wrap { display: none; clear: both; }
+.list-container { max-height: 200px; overflow-y: auto; padding: 10px 10px 5px; border: 1px solid #DFDFDF; -moz-border-radius: 4px; }
+.postbox p.submit { margin-bottom: 0; }
+
+/* Listings */
</ins><span class="cx"> .list li { margin: 0; }
</span><del>-.list dt { display: none; margin: 0; border-bottom: 1px solid #e3e3e3; overflow: hidden; }
-.list dt { background: url(../images/ico-add.png) no-repeat right; }
</del><ins>+.list dt { display: none; margin: 0; overflow: hidden; margin-bottom: 5px; }
</ins><span class="cx"> 
</span><del>-.list li .title { cursor: pointer; display: block; width: 95%; padding: 5px 0px; }
-.list li .title { background: url(../images/ico-arrow.png) no-repeat 4px 13px; background-position: center left; padding-left: 5%; }
</del><ins>+.list li .item-title { cursor: pointer; display: block; }
+.list li .item-title input { margin-right: 3px; margin-top: -3px; }
</ins><span class="cx"> 
</span><del>-/* Visually shows the menu item hierarchy. */
-.list li ul li .title  { margin-left: 14px; }
-.list li ul li ul li .title  { margin-left: 28px; }
-.list li ul li ul li ul li .title  { margin-left: 42px; }
-.list li ul li ul li ul li ul li .title  { margin-left: 56px; }
-.list li ul li ul li ul li ul li ul li .title  { margin-left: 70px; }
-.list li ul li ul li ul li ul li ul li ul li .title  { margin-left: 84px; }
-.list li ul li ul li ul li ul li ul li ul li ul li .title  { margin-left: 98px; }
-.list li ul li ul li ul li ul li ul li ul li ul li ul li .title  { margin-left: 112px; }
</del><ins>+.list li ul li .item-title  { margin-left: 14px; }
+.list li ul li ul li .item-title  { margin-left: 28px; }
+.list li ul li ul li ul li .item-title  { margin-left: 42px; }
+.list li ul li ul li ul li ul li .item-title  { margin-left: 56px; }
+.list li ul li ul li ul li ul li ul li .item-title  { margin-left: 70px; }
+.list li ul li ul li ul li ul li ul li ul li .item-title  { margin-left: 84px; }
+.list li ul li ul li ul li ul li ul li ul li ul li .item-title  { margin-left: 98px; }
+.list li ul li ul li ul li ul li ul li ul li ul li ul li .item-title  { margin-left: 112px; }
</ins><span class="cx"> 
</span><del>-img.remove, img.edit { cursor: pointer; margin: 0 5px 0 0; }
</del><ins>+/* Menu */
+#menu-container .inside { padding-bottom: 10px; }
+
+#menu ul { width: 100%; }
+#menu li { margin: 0; }
+#menu li dl dt { -webkit-border-bottom-left-radius: 6px; -webkit-border-bottom-right-radius: 6px; -webkit-border-top-left-radius: 6px; -webkit-border-top-right-radius: 6px; border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; border-top-left-radius: 6px; border-top-right-radius: 6px; -moz-border-radius-bottomleft: 6px; -moz-border-radius-bottomright: 6px; -moz-border-radius-topleft: 6px; -moz-border-radius-topright: 6px; border: 1px solid #E6E6E6;position: relative; padding-left:10px; background-color: #f1f1f1; height: 35px; line-height: 35px; }
+#menu li dl dt:hover { cursor: move; }
+
+#menu li .item-title { background: url(../images/ico-arrow.png) no-repeat 4px 5px; background-position: center left; padding-left: 15px; }
+#menu li ul li { margin-left: 20px; opacity: .7;}
+#menu li ul li ul li { opacity: .9;}
+#menu li ul li ul li ul li { opacity: .9;}
+#menu li ul li ul li ul li ul li { opacity: .95; }
+
+/* Drag and Drop */
</ins><span class="cx"> .dropzone { height: 7px; margin: 3px 0 3px 0; }
</span><del>-#custom-nav li dl { }
-.hide { display: none; }
-.type { text-transform: uppercase; font-size: 11px; color: #999999; padding-right: 10px; }
</del><ins>+.ui-draggable-dragging  { width: 600px; }
</ins><span class="cx"> 
</span><del>-#menu_select { width: 170px; }
-#dialog-confirm label { padding-left: 10px; }
</del><ins>+/* Menu Controls */
+.item-type { text-transform: uppercase; font-size: 11px; color: #999999; padding-right: 10px; }
+.item-controls { font-size: 11px; position: absolute; right: 15px; top: -1px; }
+.item-controls a { text-decoration: none; }
+.item-controls a:hover { cursor: pointer; }
+.item-controls .item-delete:hover { color: #ff0000; }
</ins><span class="cx"> 
</span><del>-/* EDIT LINK BOX */
-.ui-dialog { background: #fff; border: 1px solid #555555; -moz-box-shadow:0 4px 30px #000000; }
-.ui-dialog-titlebar { color: #CFCFCF; font-family: &quot;Lucida Grande&quot;, Verdana, Arial, sans-serif; padding: 6px 10px 6px; background-color: #222222 !important; border: none !important; -moz-border-radius: none !important; }
-#dialog-confirm { height: 168px !important; padding: 20px 10px 10px; }
-#dialog-confirm input { margin: 0 0 15px 0; width: 280px; }
-#dialog-confirm select { margin: 0 0 15px 0; }
-.ui-dialog-buttonpane { padding: 10px; }
-.ui-dialog-buttonpane button  { margin: 0 10px 0 0; background: #F2F2F2; text-shadow: 0 1px 0 #FFFFFF; border-color: #BBBBBB; color: #464646; -moz-border-radius-bottomleft: 11px; -moz-border-radius-bottomright: 11px; -moz-border-radius-topleft: 11px; -moz-border-radius-topright: 11px; border-style: solid; border-width: 1px; cursor: pointer; font-size: 11px !important; line-height: 14px; padding: 2px 8px; text-decoration: none; }
-.ui-dialog-buttonpane button:hover { color: #000; border-color: #666; }
-.ui-icon  { display: none; }
</del><ins>+/* Thickbox */
+#menu-item-settings { display: none; }
+#cancel-save { cursor: pointer; }
+#cancel-save:hover { color: #fff !important; }
+#update-menu-item { color: #fff !important; }
+#update-menu-item:hover,
+#update-menu-item:active,
+#update-menu-item:focus { color: #eaf2fa !important; border-color: #13455b !important; }
</ins><span class="cx"> 
</span><del>-/* Overlays */
-.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
-.ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .60; filter:Alpha(Opacity=60); }
-.ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .60; filter: Alpha(Opacity=60); -moz-border-radius: 8px; -webkit-border-radius: 8px; }
</del><span class="cx">\ No newline at end of file
</span><ins>+/* Misc */
+.hide { display: none; }
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpadminincludesnavmenuphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/includes/nav-menu.php (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/includes/nav-menu.php        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-admin/includes/nav-menu.php        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -175,7 +175,7 @@
</span><span class="cx"> 
</span><span class="cx">         if ( $sub_array ) {
</span><span class="cx">                 ?&gt;
</span><del>-                &lt;ul id=&quot;sub-custom-nav-&lt;?php echo $type ?&gt;&quot;&gt;
</del><ins>+                &lt;ul id=&quot;sub-menu-&lt;?php echo $type ?&gt;&quot;&gt;
</ins><span class="cx"> 
</span><span class="cx">                 &lt;?php
</span><span class="cx">                 // Display Loop
</span><span class="lines">@@ -221,7 +221,7 @@
</span><span class="cx">         // Custom Navigation Menu Setup
</span><span class="cx"> 
</span><span class="cx">         // Override for menu descriptions
</span><del>-        update_option('wp_settings_custom_nav_advanced_options', 'yes');
</del><ins>+        update_option('wp_settings_nav_menu_advanced_options', 'yes');
</ins><span class="cx"> 
</span><span class="cx">         $menus = wp_get_nav_menus();
</span><span class="cx">          if ( !empty( $menus ) ) {
</span></span></pre></div>
<a id="trunkwpadminjsnavmenudefaultitemsdevjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/nav-menu-default-items.dev.js (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/nav-menu-default-items.dev.js        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-admin/js/nav-menu-default-items.dev.js        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -1,146 +1,190 @@
</span><span class="cx"> /**
</span><span class="cx">  * WordPress Administration Custom Navigation
</span><del>- * Interface JQuery functions
</del><ins>+ * Interface $ functions
</ins><span class="cx">  *
</span><del>- * @version 1.1.0
</del><ins>+ * @version 2.0.0
</ins><span class="cx">  *
</span><span class="cx">  * @package WordPress
</span><span class="cx">  * @subpackage Administration
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-/*
</del><ins>+/**
</ins><span class="cx">  * Init Functions
</span><del>-*/
-jQuery(function($)
-        {
-                //Makes dialog box
-                $(&quot;#dialog-confirm&quot;).dialog({
-                        autoOpen: false,
-                        resizable: false,
-                        height: 210,
-                        width: 400,
-                        modal: true,
-                        buttons: {
-                                'Save': function() {
</del><ins>+ */
+jQuery(document).ready(function($){
+        
+        // Handle Save Button Clicks
+        $('#save_menu').click(function(){
+                wp_update_post_data();
+        });
+                
+        // Clear the quick search textbox
+        $('.quick-search').click(function(){
+                $(this).attr( 'value', '' );
+        });
+        
+        // Quick Search submit
+        $('.quick-search-submit').click(function(){
+                $(this).siblings('.quick-search').search();
+        });
+        
+        // Edit menu item
+        $('#menu-container .item-edit').click(function(){
+                wp_edit_menu_item( $(this).attr('value') );
+        });
+        
+        // Delete menu item
+        $('#menu-container .item-delete').live( 'click', function(){
+                wp_remove_menu_item( $(this).attr('value') );
+        });
+        
+        // Update menu item settings (thickbox)
+        $('#update-menu-item').click(function(){
+                wp_update_menu_item();
+                tb_remove();
+                
+                // Give feedback to the user
+                var id = $('#edit-item-id').val();
+                $('#menu-' + id + ' dt:first').animate( { backgroundColor: '#FFFF33' }, { duration: 'normal', complete: function() { jQuery(this).css( 'backgroundColor', '' ); }});
+        });
+        
+        // Close thickbox
+        $('#cancel-save').click(function(){
+                tb_remove();
+        });
+        
+        // Show All Button
+        $('.show-all').click(function(){
+                $(this).offsetParent().find('#add-buttons-actions').attr( 'style','margin-bottom: 10px;' );
+                $(this).offsetParent().find('.list-wrap').css( 'display','block' );
+                $(this).siblings('.quick-search').attr( 'value', '' );                
+                $(this).offsetParent().find('.list-wrap dt').css( 'display', 'block' );
+                $(this).hide();
+                $(this).siblings('.hide-all').show();
+        });
+        
+        // Hide All Button
+        $('.hide-all').click(function(){
+                $(this).offsetParent().find('#add-buttons-actions').attr( 'style','margin-bottom: 0px;' );
+                $(this).offsetParent().find('.list-wrap').css( 'display','none' );
+                $(this).siblings('.quick-search').attr( 'value', 'Search' );
+                $(this).offsetParent().find('.list-wrap dt').css( 'display', 'none' );
+                $(this).hide();
+                $(this).siblings('.show-all').show();
+        });
+        
+        // Add queued menu items into the menu
+        $('.enqueue a').click(function(){
+                wp_add_queued_items_to_menu(this);
+        });
+        
+        // Create the link, add it to the menu + available links section
+        $('#add-custom-link .add-to-menu a').click(function(){
+                var link_url = $(this).offsetParent().find('#menu-item-url').val();
+                var link_name = $(this).offsetParent().find('#menu-item-name').val();
+                var links = $(this).offsetParent().find('#available-links input:checked');
+                
+                // If links are checked in the available links section, add them to the menu
+                if ( links ) {
+                        for (var i = 0; i &lt; links.length; i++) {
+                                wp_add_item_to_menu( 'Custom', links[i].name, links[i].value, links[i].id.substring( 5, links[i].id.length ), 0, '' );
+                        };
+                        
+                        // Reset the checkboxes;
+                        $(links).attr('checked', false);
+                };
+                                
+                // Don't save the link if it was left with it's default settings
+                if ( 'http://' == link_url || 'Menu Item' == link_name )
+                        return;
+                
+                // Parameters to send off
+                params = {
+                        action: 'add-menu-link',
+                        link_url: link_url,
+                        link_name: link_name,
+                };
+                
+                // save the link
+                $.post( ajaxurl, params, function(response) {
+                        if ( null == response || '-1' == response )
+                                return false;
+                        
+                        params.link_id = response;
+                        
+                        // add it to the available links section
+                        // wp_update_links_list( params );
+                        
+                        // and update the Menu with the new link
+                        wp_add_item_to_menu( 'Custom', params.link_name, params.link_url, params.link_id, 0, '' );
+                }, 'json');
+        });
+        
+        // Add dropzones
+    $('#menu li').prepend('&lt;div class=&quot;dropzone&quot;&gt;&lt;/div&gt;');
</ins><span class="cx"> 
</span><del>-                                        titletosave = $('#edittitle').attr('value');
-                                        linktosave = $('#editlink').attr('value');
-                                        anchortitletosave = $('#editanchortitle').attr('value');
-                                        newwindowtosave = $('#editnewwindow').attr('value');
-                                        desctosave = $('#editdescription').attr('value');
</del><ins>+        // Make menu items draggable
+        $('#menu li').draggable({
+                    handle: ' &gt; dl',
+                    opacity: .8,
+                    addClasses: false,
+                    helper: 'clone',
+                    zIndex: 100
+        });
</ins><span class="cx"> 
</span><del>-                                        $('#title' + $(this).dialog('option', 'itemID')).attr('value',titletosave);
-                                        $('#linkurl' + $(this).dialog('option', 'itemID')).attr('value',linktosave);
-                                        $('#anchortitle' + $(this).dialog('option', 'itemID')).attr('value',anchortitletosave);
-                                        $('#newwindow' + $(this).dialog('option', 'itemID')).attr('value',newwindowtosave);
-                                        $('#description' + $(this).dialog('option', 'itemID')).attr('value',desctosave);
</del><ins>+        // Make items droppable
+        $('#menu dl, #menu .dropzone').droppable({
+                accept: '#menu li',
+                tolerance: 'pointer',
+                
+                drop: function(e, ui) {
+                        var li = $(this).parent();
+                        var child = !$(this).hasClass('dropzone');
+                        
+                        // Add UL to first child
+                if ( child &amp;&amp; li.children('ul').length == 0 ) {
+                    li.append('&lt;ul id=&quot;sub-menu&quot; /&gt;');
+                }
+                // Make it draggable
+                if ( child ) {
+                    li.children('ul').append( ui.draggable );
+                } else {
+                    li.before( ui.draggable );
+                }
</ins><span class="cx"> 
</span><del>-                                        $('#menu-' + $(this).dialog('option', 'itemID') + ' &gt; dl &gt; dt &gt; span.title').text(titletosave);
</del><ins>+                li.find('dl,.dropzone').css({ backgroundColor: '', borderColor: '' });
</ins><span class="cx"> 
</span><del>-                                        $('#view' + + $(this).dialog('option', 'itemID')).attr('href', linktosave);
-
-                                        $(this).dialog('close');
-
-                                },
-                                Cancel: function() {
-                                        $(this).dialog('close');
-                                }
-                        }
-                });
-
-                // $('#message').animate({ opacity: 1.0 },2000).fadeOut(300, function(){ $(this).remove();});
-
-                //Add dropzone
-            $('#custom-nav li').prepend('&lt;div class=&quot;dropzone&quot;&gt;&lt;/div&gt;');
-
-                //Make li items draggable
-                $('#custom-nav li').draggable({
-                            handle: ' &gt; dl',
-                            opacity: .8,
-                            addClasses: false,
-                            helper: 'clone',
-                            zIndex: 100
-                });
-
-                //Make items droppable
-                $('#custom-nav dl, #custom-nav .dropzone').droppable(
-                {
-                    accept: '#custom-nav li',
-                    tolerance: 'pointer',
-                    drop: function(e, ui)
-                    {
-                        var li = $(this).parent();
-                        var child = !$(this).hasClass('dropzone');
-                        //Add UL to first child
-                        if (child &amp;&amp; li.children('ul').length == 0)
-                        {
-                            li.append('&lt;ul id=&quot;sub-menu&quot; /&gt;');
-                        }
-                        //Make it draggable
-                        if (child)
-                        {
-                            li.children('ul').append(ui.draggable);
-                        }
-                        else
-                        {
-                            li.before(ui.draggable);
-                        }
-
-                        li.find('dl,.dropzone').css({ backgroundColor: '', borderColor: '' });
-
-                        var draggablevalue = ui.draggable.attr('value');
-                        var droppablevalue = li.attr('value');
-                        li.find('#menu-' + draggablevalue).find('#parent' + draggablevalue).val(droppablevalue);
-                        $(this).parent().find(&quot;dt&quot;).removeAttr('style');
-                        $(this).parent().find(&quot;div:first&quot;).removeAttr('style');
-
-
-                    },
-                    over: function()
-                    {
-                            //Add child
-                            if ($(this).attr('class') == 'dropzone ui-droppable')
-                            {
-                                    $(this).parent().find(&quot;div:first&quot;).css('background', 'none').css('height', '50px');
-                            }
-                            //Add above
-                            else if ($(this).attr('class') == 'ui-droppable')
-                            {
-                                    $(this).parent().find(&quot;dt:first&quot;).css('background', '#d8d8d8');
-                            }
-                            //do nothing
-                            else {
-
-                            }
-                            var parentid = $(this).parent().attr('id');
-
-                       },
-                    out: function()
-                    {
-                        $(this).parent().find(&quot;dt&quot;).removeAttr('style');
-                        $(this).parent().find(&quot;div:first&quot;).removeAttr('style');
-                        $(this).filter('.dropzone').css({ borderColor: '' });
-                    },
-                    deactivate: function()
-                    {
-
-
-                    }
-
-
-                });
-
-                //Handle Save Button Clicks
-                $('#save_top').click(function()
-                {
-                        updatepostdata();
-                });
-                $('#save_bottom').click(function()
-                {
-                        updatepostdata();
-                });
-
-
</del><ins>+                        var draggablevalue = ui.draggable.attr('value');
+                        var droppablevalue = li.attr('value');
+                        
+                li.find('#menu-' + draggablevalue).find('#parent' + draggablevalue).val(droppablevalue);
+                        $(this).parent().find('dt').removeAttr('style');
+                        
+                        $(this).parent().find('div:first').removeAttr('style');
+            },
+            
+                over: function() {
+                    
+                    if ( 'dropzone ui-droppable' == $(this).attr('class') ) {
+                                // Add child
+                            $(this).parent().find('dt:first').css('background', 'none').css('height', '50px');
+                                
+                    } else if ($(this).attr('class') == 'ui-droppable') {
+                                // Add above
+                            $(this).parent().find('dt:first').css('background', '#d8d8d8');
+                                
+                    } else {
+                                // do nothing
+                    }
+                    var parentid = $(this).parent().attr('id');
+               },
+            out: function() {
+                $(this).parent().find('dt').removeAttr('style');
+                $(this).parent().find('div:first').removeAttr('style');
+                $(this).filter('.dropzone').css({ borderColor: '' });
+            },
+            deactivate: function() {
+                        //
+            }
</ins><span class="cx">         });
</span><del>-
-
</del><ins>+});
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpadminjsnavmenudefaultitemsjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/nav-menu-default-items.js (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/nav-menu-default-items.js        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-admin/js/nav-menu-default-items.js        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -1 +1 @@
</span><del>-jQuery(function($){$(&quot;#dialog-confirm&quot;).dialog({autoOpen:false,resizable:false,height:210,width:400,modal:true,buttons:{Save:function(){titletosave=$(&quot;#edittitle&quot;).attr(&quot;value&quot;);linktosave=$(&quot;#editlink&quot;).attr(&quot;value&quot;);anchortitletosave=$(&quot;#editanchortitle&quot;).attr(&quot;value&quot;);newwindowtosave=$(&quot;#editnewwindow&quot;).attr(&quot;value&quot;);desctosave=$(&quot;#editdescription&quot;).attr(&quot;value&quot;);$(&quot;#title&quot;+$(this).dialog(&quot;option&quot;,&quot;itemID&quot;)).attr(&quot;value&quot;,titletosave);$(&quot;#linkurl&quot;+$(this).dialog(&quot;option&quot;,&quot;itemID&quot;)).attr(&quot;value&quot;,linktosave);$(&quot;#anchortitle&quot;+$(this).dialog(&quot;option&quot;,&quot;itemID&quot;)).attr(&quot;value&quot;,anchortitletosave);$(&quot;#newwindow&quot;+$(this).dialog(&quot;option&quot;,&quot;itemID&quot;)).attr(&quot;value&quot;,newwindowtosave);$(&quot;#description&quot;+$(this).dialog(&quot;option&quot;,&quot;itemID&quot;)).attr(&quot;value&quot;,desctosave);$(&quot;#menu-&quot;+$(this).dialog(&quot;option&quot;,&quot;itemID&quot;)+&quot; &gt; dl &gt; dt &gt; span.title&quot;).text(titletosave);$(&quot;#view&quot;+ +$(this).dialog(&quot;option&quot;,&quot;itemID&quot;)).attr(&quot;href&quot;,linktosave);$(this).dialog(&quot;close&quot;)},Cancel:function(){$(this).dialog(&quot;close&quot;)}}});$(&quot;#custom-nav li&quot;).prepend('&lt;div class=&quot;dropzone&quot;&gt;&lt;/div&gt;');$(&quot;#custom-nav li&quot;).draggable({handle:&quot; &gt; dl&quot;,opacity:0.8,addClasses:false,helper:&quot;clone&quot;,zIndex:100});$(&quot;#custom-nav dl, #custom-nav .dropzone&quot;).droppable({accept:&quot;#custom-nav li&quot;,tolerance:&quot;pointer&quot;,drop:function(e,ui){var li=$(this).parent();var child=!$(this).hasClass(&quot;dropzone&quot;);if(child&amp;&amp;li.children(&quot;ul&quot;).length==0){li.append('&lt;ul id=&quot;sub-menu&quot; /&gt;')}if(child){li.children(&quot;ul&quot;).append(ui.draggable)}else{li.before(ui.draggable)}li.find(&quot;dl,.dropzone&quot;).css({backgroundColor:&quot;&quot;,borderColor:&quot;&quot;});var draggablevalue=ui.draggable.attr(&quot;value&quot;);var droppablevalue=li.attr(&quot;value&quot;);li.find(&quot;#menu-&quot;+draggablevalue).find(&quot;#parent&quot;+draggablevalue).val(droppablevalue);$(this).parent().find(&quot;dt&quot;).removeAttr(&quot;style&quot;);$(this).parent().find(&quot;div:first&quot;).removeAttr(&quot;style&quot;)},over:function(){if($(this).attr(&quot;class&quot;)==&quot;dropzone ui-droppable&quot;){$(this).parent().find(&quot;div:first&quot;).css(&quot;background&quot;,&quot;none&quot;).css(&quot;height&quot;,&quot;50px&quot;)}else{if($(this).attr(&quot;class&quot;)==&quot;ui-droppable&quot;){$(this).parent().find(&quot;dt:first&quot;).css(&quot;background&quot;,&quot;#d8d8d8&quot;)}else{}}var parentid=$(this).parent().attr(&quot;id&quot;)},out:function(){$(this).parent().find(&quot;dt&quot;).removeAttr(&quot;style&quot;);$(this).parent().find(&quot;div:first&quot;).removeAttr(&quot;style&quot;);$(this).filter(&quot;.dropzone&quot;).css({borderColor:&quot;&quot;})},deactivate:function(){}});$(&quot;#save_top&quot;).click(function(){updatepostdata()});$(&quot;#save_bottom&quot;).click(function(){updatepostdata()})});
</del><span class="cx">\ No newline at end of file
</span><ins>+jQuery(document).ready(function($){$(&quot;#save_menu&quot;).click(function(){wp_update_post_data()});$(&quot;.quick-search&quot;).click(function(){$(this).attr(&quot;value&quot;,&quot;&quot;)});$(&quot;.quick-search-submit&quot;).click(function(){$(this).siblings(&quot;.quick-search&quot;).search()});$(&quot;#menu-container .item-edit&quot;).click(function(){wp_edit_menu_item($(this).attr(&quot;value&quot;))});$(&quot;#menu-container .item-delete&quot;).live(&quot;click&quot;,function(){wp_remove_menu_item($(this).attr(&quot;value&quot;))});$(&quot;#update-menu-item&quot;).click(function(){wp_update_menu_item();tb_remove();var id=$(&quot;#edit-item-id&quot;).val();$(&quot;#menu-&quot;+id+&quot; dt:first&quot;).animate({backgroundColor:&quot;#FFFF33&quot;},{duration:&quot;normal&quot;,complete:function(){jQuery(this).css(&quot;backgroundColor&quot;,&quot;&quot;)}})});$(&quot;#cancel-save&quot;).click(function(){tb_remove()});$(&quot;.show-all&quot;).click(function(){$(this).offsetParent().find(&quot;#add-buttons-actions&quot;).attr(&quot;style&quot;,&quot;margin-bottom: 10px;&quot;);$(this).offsetParent().find(&quot;.list-wrap&quot;).css(&quot;display&quot;,&quot;block&quot;);$(this).siblings(&quot;.quick-search&quot;).attr(&quot;value&quot;,&quot;&quot;);$(this).offsetParent().find(&quot;.list-wrap dt&quot;).css(&quot;display&quot;,&quot;block&quot;);$(this).hide();$(this).siblings(&quot;.hide-all&quot;).show()});$(&quot;.hide-all&quot;).click(function(){$(this).offsetParent().find(&quot;#add-buttons-actions&quot;).attr(&quot;style&quot;,&quot;margin-bottom: 0px;&quot;);$(this).offsetParent().find(&quot;.list-wrap&quot;).css(&quot;display&quot;,&quot;none&quot;);$(this).siblings(&quot;.quick-search&quot;).attr(&quot;value&quot;,&quot;Search&quot;);$(this).offsetParent().find(&quot;.list-wrap dt&quot;).css(&quot;display&quot;,&quot;none&quot;);$(this).hide();$(this).siblings(&quot;.show-all&quot;).show()});$(&quot;.enqueue a&quot;).click(function(){wp_add_queued_items_to_menu(this)});$(&quot;#add-custom-link .add-to-menu a&quot;).click(function(){var link_url=$(this).offsetParent().find(&quot;#menu-item-url&quot;).val();var link_name=$(this).offsetParent().find(&quot;#menu-item-name&quot;).val();var links=$(this).offsetParent().find(&quot;#available-links input:checked&quot;);if(links){for(var i=0;i&lt;links.length;i++){wp_add_item_to_menu(&quot;Custom&quot;,links[i].name,links[i].value,links[i].id.substring(5,links[i].id.length),0,&quot;&quot;)}$(links).attr(&quot;checked&quot;,false)}if(&quot;http://&quot;==link_url||&quot;Menu Item&quot;==link_name){return}params={action:&quot;add-menu-link&quot;,link_url:link_url,link_name:link_name,};$.post(ajaxurl,params,function(response){if(null==response||&quot;-1&quot;==response){return false}params.link_id=response;wp_add_item_to_menu(&quot;Custom&quot;,params.link_name,params.link_url,params.link_id,0,&quot;&quot;)},&quot;json&quot;)});$(&quot;#menu li&quot;).prepend('&lt;div class=&quot;dropzone&quot;&gt;&lt;/div&gt;');$(&quot;#menu li&quot;).draggable({handle:&quot; &gt; dl&quot;,opacity:0.8,addClasses:false,helper:&quot;clone&quot;,zIndex:100});$(&quot;#menu dl, #menu .dropzone&quot;).droppable({accept:&quot;#menu li&quot;,tolerance:&quot;pointer&quot;,drop:function(e,ui){var li=$(this).parent();var child=!$(this).hasClass(&quot;dropzone&quot;);if(child&amp;&amp;li.children(&quot;ul&quot;).length==0){li.append('&lt;ul id=&quot;sub-menu&quot; /&gt;')}if(child){li.children(&quot;ul&quot;).append(ui.draggable)}else{li.before(ui.draggable)}li.find(&quot;dl,.dropzone&quot;).css({backgroundColor:&quot;&quot;,borderColor:&quot;&quot;});var draggablevalue=ui.draggable.attr(&quot;value&quot;);var droppablevalue=li.attr(&quot;value&quot;);li.find(&quot;#menu-&quot;+draggablevalue).find(&quot;#parent&quot;+draggablevalue).val(droppablevalue);$(this).parent().find(&quot;dt&quot;).removeAttr(&quot;style&quot;);$(this).parent().find(&quot;div:first&quot;).removeAttr(&quot;style&quot;)},over:function(){if(&quot;dropzone ui-droppable&quot;==$(this).attr(&quot;class&quot;)){$(this).parent().find(&quot;dt:first&quot;).css(&quot;background&quot;,&quot;none&quot;).css(&quot;height&quot;,&quot;50px&quot;)}else{if($(this).attr(&quot;class&quot;)==&quot;ui-droppable&quot;){$(this).parent().find(&quot;dt:first&quot;).css(&quot;background&quot;,&quot;#d8d8d8&quot;)}else{}}var parentid=$(this).parent().attr(&quot;id&quot;)},out:function(){$(this).parent().find(&quot;dt&quot;).removeAttr(&quot;style&quot;);$(this).parent().find(&quot;div:first&quot;).removeAttr(&quot;style&quot;);$(this).filter(&quot;.dropzone&quot;).css({borderColor:&quot;&quot;})},deactivate:function(){}})});
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpadminjsnavmenudynamicfunctionsdevjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/nav-menu-dynamic-functions.dev.js (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/nav-menu-dynamic-functions.dev.js        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-admin/js/nav-menu-dynamic-functions.dev.js        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -8,62 +8,104 @@
</span><span class="cx">  * @subpackage Administration
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-/*
- * Removes menu items from current menu
</del><ins>+/**
+ * Adds a link to the available links section
+ *
+ * @param object e - An object recieved via ajax
+ */
+function wp_update_links_list(e) {
+        var link = '&lt;li&gt;&lt;dl&gt;&lt;dt&gt;&lt;label class=&quot;item-title&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;link-'+ e.link_id +'&quot; name=&quot;'+ e.link_name +'&quot; value=&quot;'+ e.link_url +'&quot; /&gt;'+ e.link_name +'&lt;/label&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/li&gt;';
+                
+        // Prepend the link to the available links section
+        jQuery('#available-links .list').prepend( link );
+        
+        // Give feedback to the user
+        jQuery('#available-links .list #link-' + e.link_id).parent().animate( { backgroundColor: '#FFFF33' }, { duration: 'normal', complete: function() { jQuery(this).css( 'backgroundColor', '' ); }});
+}
+
+/**
+ * Removes a menu item from current menu
+ *
</ins><span class="cx">  * @param int o - the id of the menu li to remove.
</span><del>-*/
-function removeitem(o)
-{
-
</del><ins>+ */
+function wp_remove_menu_item( o ) {
</ins><span class="cx">         var todelete = document.getElementById('menu-' + o);
</span><del>-
-        if (todelete)
-        {
-                var parenttodelete = document.getElementById('menu-' + o).parentNode;
-        throwaway_node = parenttodelete.removeChild(todelete);
</del><ins>+        
+        if ( todelete ) {
+                // Give some feedback to the user
+                jQuery( todelete ).find('dt').each(function(){
+                        jQuery(this).animate( { backgroundColor: '#FF3333' }, { duration: 'normal', complete: function() { jQuery(this).parent().parent().remove() } } );
+                });
+                
+                wp_update_post_data();
</ins><span class="cx">         }
</span><del>-
-        updatepostdata();
</del><span class="cx"> };
</span><span class="cx"> 
</span><del>-/*
- * Loads dialog window to edit menu items from current menu
</del><ins>+/**
+ * Populate the thickbox window with the selected menu items
+ *
</ins><span class="cx">  * @param int o - the id of the menu li to edit.
</span><del>-*/
-function edititem(o)
-{
</del><ins>+ */
+function wp_edit_menu_item( id ) {
+        console.log('wp_edit_menu_item');
+        
+        var itemTitle = jQuery('#item-title' + id).val();
+        var itemURL = jQuery('#item-url' + id).val();
+        var itemAttrTitle = jQuery('#item-attr-title' + id).val();
+        var itemTarget = jQuery('#item-target' + id).val();
+        var itemDesc = jQuery('#item-description' + id).val();
+        
+        console.log(id);
+        console.log(itemTitle);
+        console.log(itemURL);
+        console.log(itemAttrTitle);
+        console.log(itemTarget);
+        console.log(itemDesc);
+        
+        // Populate the fields for thickbox
+        jQuery( '#edit-item-id' ).val(id);
+        jQuery( '#edit-item-title' ).val(itemTitle);
+        jQuery( '#edit-item-url' ).val(itemURL);
+        jQuery( '#edit-item-attr-title' ).val(itemAttrTitle);
+        jQuery( '#edit-item-target' ).val(itemTarget);
+        jQuery( &quot;#edit-item-target option[value='&quot; + itemTarget  + &quot;']&quot; ).attr('selected', 'selected');
+        jQuery( '#edit-item-description' ).val(itemDesc);
+};
</ins><span class="cx"> 
</span><del>-                itemTitle = jQuery('#title' + o).val();
-                itemURL = jQuery('#linkurl' + o).val();
-                itemAnchorTitle = jQuery('#anchortitle' + o).val();
-                itemNewWindow = jQuery('#newwindow' + o).val();
-                itemDesc = jQuery('#description' + o).val();
</del><ins>+/**
+ * Update the values for the menu item being editing
+ */
+function wp_update_menu_item() {
+        var id = jQuery('#edit-item-id').val();
+        var itemTitle = jQuery('#edit-item-title').val();
+        var itemURL = jQuery('#edit-item-url').val();
+        var itemAttrTitle = jQuery('#edit-item-attr-title').val();
+        var itemTarget = jQuery('#edit-item-target').val();
+        var itemDesc = jQuery('#edit-item-description').val();
+        
+        console.log(id);
+        console.log(itemTitle);
+        console.log(itemURL);
+        console.log(itemAttrTitle);
+        console.log(itemTarget);
+        console.log(itemDesc);
+        
+        // update menu item settings        
+        jQuery('#menu-' + id).find('.item-title:first').html(itemTitle);
+        jQuery('#item-title' + id).val(itemTitle);
+        jQuery('#item-url' + id).val(itemURL);
+        jQuery('#item-attr-title' + id).val(itemAttrTitle);
+        jQuery('#item-target' + id).val(itemTarget);
+        jQuery('#item-description' + id).val(itemDesc);
+}
</ins><span class="cx"> 
</span><del>-                jQuery('#dialog-confirm').dialog( 'option' , 'itemID' , o )
-
-                jQuery('#dialog-confirm').dialog('open');
-
-                jQuery('#edittitle').val( itemTitle );
-                if ( 'custom' == jQuery( '#linktype' + o ).val() ) {
-                        jQuery( '#editlink-wrap' ).css( 'display', 'inline' );
-                } else {
-                        jQuery( '#editlink-wrap' ).css( 'display', 'none' );
-                }
-                jQuery('#editlink').val( itemURL );
-                jQuery('#editanchortitle').val( itemAnchorTitle );
-                jQuery(&quot;#editnewwindow option[value='&quot; + itemNewWindow  + &quot;']&quot;).attr('selected', 'selected');
-                jQuery('#editdescription').val( itemDesc );
-
-};
-
-/*
</del><ins>+/**
</ins><span class="cx">  * Prepares menu items for POST
</span><del>-*/
-function updatepostdata()
-{
-
</del><ins>+ */
+function wp_update_post_data() {
</ins><span class="cx">         var i = 0;
</span><del>-         jQuery(&quot;#custom-nav&quot;).find(&quot;li&quot;).each(function(i) {
</del><ins>+        
+         jQuery('#menu li').each(function(i) {
</ins><span class="cx">                 i = i + 1;
</span><span class="cx">              var j = jQuery(this).attr('value');
</span><span class="cx"> 
</span><span class="lines">@@ -79,57 +121,86 @@
</span><span class="cx"> 
</span><span class="cx">              var p = jQuery(this).find('#parent' + j).parent().parent().parent().attr('value');
</span><span class="cx"> 
</span><del>-             jQuery(this).find('#parent' + j).attr('name','parent' + i);
-             jQuery(this).find('#parent' + j).attr('id','parent' + i);
-             if (p) {
-                     //Do nothing
-             }
-             else {
-                     //reset p to be top level
-                     p = 0;
-             }
</del><ins>+                jQuery(this).find('#parent' + j).attr('name','parent' + i);
+                jQuery(this).find('#parent' + j).attr('id','parent' + i);
+                
+                if (p) {
+                        // Do nothing
+                } else {
+                        // reset p to be top level
+                        p = 0;
+                }
</ins><span class="cx"> 
</span><del>-             jQuery(this).find('#parent' + j).attr('value', p);
</del><ins>+                jQuery(this).find('#parent' + j).attr('value', p);
</ins><span class="cx"> 
</span><del>-             jQuery(this).find('#title' + j).attr('name','title' + i);
-             jQuery(this).find('#title' + j).attr('id','title' + i);
</del><ins>+                jQuery(this).find('#item-title' + j).attr('name','item-title' + i);
+                jQuery(this).find('#item-title' + j).attr('id','item-title' + i);
</ins><span class="cx"> 
</span><del>-             jQuery(this).find('#linkurl' + j).attr('name','linkurl' + i);
-             jQuery(this).find('#linkurl' + j).attr('id','linkurl' + i);
</del><ins>+                jQuery(this).find('#item-url' + j).attr('name','item-url' + i);
+                jQuery(this).find('#item-url' + j).attr('id','item-url' + i);
</ins><span class="cx"> 
</span><del>-             jQuery(this).find('#description' + j).attr('name','description' + i);
-             jQuery(this).find('#description' + j).attr('id','description' + i);
</del><ins>+                jQuery(this).find('#item-description' + j).attr('name','item-description' + i);
+                jQuery(this).find('#item-description' + j).attr('id','item-description' + i);
</ins><span class="cx"> 
</span><del>-             jQuery(this).find('#icon' + j).attr('name','icon' + i);
-             jQuery(this).find('#icon' + j).attr('id','icon' + i);
</del><ins>+                jQuery(this).find('#item-attr-title' + j).attr('name','item-attr-title' + i);
+                jQuery(this).find('#item-attr-title' + j).attr('id','item-attr-title' + i);
</ins><span class="cx"> 
</span><del>-             jQuery(this).find('#position' + j).attr('name','position' + i);
-             jQuery(this).find('#position' + j).attr('id','position' + i);
</del><ins>+                jQuery(this).find('#item-target' + j).attr('name','item-target' + i);
+                jQuery(this).find('#item-target' + j).attr('id','item-target' + i);
</ins><span class="cx"> 
</span><del>-             jQuery(this).find('#linktype' + j).attr('name','linktype' + i);
-             jQuery(this).find('#linktype' + j).attr('id','linktype' + i);
</del><ins>+                jQuery(this).find('#position' + j).attr('name', 'position' + i);
+                jQuery(this).find('#position' + j).attr('id', 'position' + i);
</ins><span class="cx"> 
</span><del>-             jQuery(this).find('#anchortitle' + j).attr('name','anchortitle' + i);
-             jQuery(this).find('#anchortitle' + j).attr('id','anchortitle' + i);
</del><ins>+                jQuery(this).find('#linktype' + j).attr('name', 'linktype' + i);
+                jQuery(this).find('#linktype' + j).attr('id', 'linktype' + i);
</ins><span class="cx"> 
</span><del>-             jQuery(this).find('#newwindow' + j).attr('name','newwindow' + i);
-             jQuery(this).find('#newwindow' + j).attr('id','newwindow' + i);
-
-             jQuery(this).find('dl &gt; dt &gt; span &gt; #remove' + j).attr('value', i);
-             jQuery(this).find('dl &gt; dt &gt; span &gt; #remove' + j).attr('onClick', 'removeitem(' + i + ')');
-             jQuery(this).find('dl &gt; dt &gt; span &gt; #remove' + j).attr('id','remove' + i);
-
-             jQuery('#li-count').attr('value',i);
-
</del><ins>+                jQuery('#li-count').attr( 'value', i );
</ins><span class="cx">    });
</span><ins>+};
</ins><span class="cx"> 
</span><ins>+/**
+ * Adds the item to the menu
+ *
+ * @param string id - The menu item's id
+ * @param string additemtype - Page, Category, or Custom.
+ * @param string itemtext - menu text.
+ * @param string itemurl - url of the menu.
+ * @param int itemid - menu id.
+ * @param int itemparentid - default 0.
+ * @param string itemdescription - the description of the menu item.
+ */
+function wp_add_item_to_menu( additemtype, itemtext, itemurl, itemid, itemparentid, itemdescription ) {
+        var inputvaluevarname = '';
+        var inputvaluevarurl = '';
+        var inputitemid = '';
+        var inputparentid= '';
+        var inputdescription = '';
+        var randomnumber = wp_get_unique_menu_id();
</ins><span class="cx"> 
</span><del>-
</del><ins>+        inputvaluevarname = htmlentities(itemtext.toString());
+        inputvaluevarurl = itemurl.toString();
+        inputitemid = itemid;
+        inputparentid = itemparentid;
+        inputlinktype = 'custom';
+        inputdescription = htmlentities(itemdescription.toString());
+        
+        // Adds the item in the queue
+        jQuery('#menu').append('&lt;li id=&quot;menu-' + randomnumber + '&quot; value=&quot;' + randomnumber + '&quot;&gt;&lt;div class=&quot;dropzone ui-droppable&quot;&gt;&lt;/div&gt;&lt;dl class=&quot;ui-droppable&quot;&gt;&lt;dt&gt;&lt;span class=&quot;item-title&quot;&gt;' + inputvaluevarname + '&lt;/span&gt;&lt;span class=&quot;item-controls&quot;&gt;&lt;span class=&quot;item-type&quot;&gt;' + additemtype + '&lt;/span&gt;&lt;a class=&quot;item-edit thickbox&quot; id=&quot;edit' + randomnumber + '&quot; value=&quot;' + randomnumber +'&quot; onClick=&quot;wp_edit_menu_item('+ randomnumber +')&quot; title=&quot;' + navMenuL10n.thickbox + '&quot; href=&quot;#TB_inline?height=380&amp;width=300&amp;inlineId=menu-item-settings&quot;&gt;' + navMenuL10n.edit + '&lt;/a&gt; | &lt;a class=&quot;item-delete&quot; id=&quot;delete' + randomnumber + '&quot; value=&quot;' + randomnumber +'&quot;&gt;Delete&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;a class=&quot;hide&quot; href=&quot;' + inputvaluevarurl + '&quot;&gt;' + inputvaluevarname + '&lt;/a&gt;&lt;input type=&quot;hidden&quot; name=&quot;postmenu' + randomnumber + '&quot; id=&quot;postmenu' + randomnumber + '&quot; value=&quot;' + inputitemid + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;parent' + randomnumber + '&quot; id=&quot;parent' + randomnumber + '&quot; value=&quot;' + inputparentid + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-title' + randomnumber + '&quot; id=&quot;item-title' + randomnumber + '&quot; value=&quot;' + inputvaluevarname + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-url' + randomnumber + '&quot; id=&quot;item-url' + randomnumber + '&quot; value=&quot;' + inputvaluevarurl + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-description' + randomnumber + '&quot; id=&quot;item-description' + randomnumber + '&quot; value=&quot;' + inputdescription + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;position' + randomnumber + '&quot; id=&quot;position' + randomnumber + '&quot; value=&quot;' + randomnumber + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;linktype' + randomnumber + '&quot; id=&quot;linktype' + randomnumber + '&quot; value=&quot;' + inputlinktype + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-attr-title' + randomnumber + '&quot; id=&quot;item-attr-title' + randomnumber + '&quot; value=&quot;' + inputvaluevarname + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-target' + randomnumber + '&quot; id=&quot;item-target' + randomnumber + '&quot; value=&quot;0&quot; /&gt;&lt;/li&gt;');
+        
+        // Give some feedback to the user
+        jQuery( '#menu #menu-' + randomnumber + ' dt:first' ).animate( { backgroundColor: '#FFFF33' }, { duration: 'normal', complete: function() { jQuery(this).css( 'backgroundColor', '' ); }});
+        
+        // Enable drag-n-drop
+        wp_drag_and_drop();
+        
+        // Reload thickbox
+        tb_init('a.thickbox, area.thickbox, input.thickbox');
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> /*
</span><del>- * Adds item from Page, Category, or Custom options menu
- * @param string templatedir - directory of the add, edit, view images.
</del><ins>+ * Queues items in perperation for appendToList
+ *
+ * @param string id - The menu item's id
</ins><span class="cx">  * @param string additemtype - Page, Category, or Custom.
</span><span class="cx">  * @param string itemtext - menu text.
</span><span class="cx">  * @param string itemurl - url of the menu.
</span><span class="lines">@@ -137,26 +208,15 @@
</span><span class="cx">  * @param int itemparentid - default 0.
</span><span class="cx">  * @param string itemdescription - the description of the menu item.
</span><span class="cx"> */
</span><del>-function appendToList(templatedir,additemtype,itemtext,itemurl,itemid,itemparentid,itemdescription)
-{
</del><ins>+function wp_update_queue( additemtype, itemtext, itemurl, itemid, itemparentid, itemdescription ) {
</ins><span class="cx">         var inputvaluevarname = '';
</span><span class="cx">         var inputvaluevarurl = '';
</span><span class="cx">         var inputitemid = '';
</span><span class="cx">         var inputparentid= '';
</span><span class="cx">         var inputdescription = '';
</span><del>-        var inputicon = '';
</del><ins>+        var randomnumber = wp_get_unique_menu_id();
</ins><span class="cx"> 
</span><del>-        if (additemtype == navMenuL10n.custom)
-        {
-                inputvaluevarname = document.getElementById('custom-menu-item-name').value;
-                inputvaluevarurl = document.getElementById('custom-menu-item-url').value;
-                inputitemid = '';
-                inputparentid = '';
-                inputlinktype = 'custom';
-                inputdescription = '';
-        }
-        else if (additemtype == navMenuL10n.page)
-        {
</del><ins>+        if ( additemtype == navMenuL10n.page ) {
</ins><span class="cx">                 inputvaluevarname = htmlentities(itemtext.toString());
</span><span class="cx">                 inputvaluevarurl = itemurl.toString();
</span><span class="cx">                 inputitemid = itemid.toString();
</span><span class="lines">@@ -164,9 +224,7 @@
</span><span class="cx">                 inputlinktype = 'page';
</span><span class="cx">                 inputdescription = htmlentities(itemdescription.toString());
</span><span class="cx"> 
</span><del>-        }
-        else if (additemtype == navMenuL10n.category)
-        {
</del><ins>+        } else if ( additemtype == navMenuL10n.category ) {
</ins><span class="cx">                 inputvaluevarname = htmlentities(itemtext.toString());
</span><span class="cx">                 inputvaluevarurl = itemurl.toString();
</span><span class="cx">                 inputitemid = itemid.toString();
</span><span class="lines">@@ -174,55 +232,64 @@
</span><span class="cx">                 inputlinktype = 'category';
</span><span class="cx">                 inputdescription = htmlentities(itemdescription.toString());
</span><span class="cx">         }
</span><del>-        else
-        {
-                inputvaluevarname = '';
-                inputvaluevarname = '';
-                inputitemid = '';
-                inputparentid = '';
-                inputlinktype = 'custom';
-                inputdescription = '';
-        }
</del><ins>+                        
+        // Adds or removes the item from the queue
+        if ( jQuery(menu_item_id = '#menu-item-' + inputitemid).attr('checked') ) {
+                
+                // Add menu item to the queue
+                jQuery('#queue').append('&lt;li id=&quot;menu-' + randomnumber + '&quot; value=&quot;' + randomnumber + '&quot;&gt;&lt;div class=&quot;dropzone ui-droppable&quot;&gt;&lt;/div&gt;&lt;dl class=&quot;ui-droppable&quot;&gt;&lt;dt&gt;&lt;span class=&quot;item-title&quot;&gt;' + inputvaluevarname + '&lt;/span&gt;&lt;span class=&quot;item-controls&quot;&gt;&lt;span class=&quot;item-type&quot;&gt;' + additemtype + '&lt;/span&gt;&lt;a class=&quot;item-edit thickbox&quot; id=&quot;edit' + randomnumber + '&quot; value=&quot;' + randomnumber +'&quot; onClick=&quot;wp_edit_menu_item('+ randomnumber +')&quot; title=&quot;' + navMenuL10n.thickbox + '&quot; href=&quot;#TB_inline?height=380&amp;width=300&amp;inlineId=menu-item-settings&quot;&gt;' + navMenuL10n.edit + '&lt;/a&gt; | &lt;a class=&quot;item-delete&quot; id=&quot;delete' + randomnumber + '&quot; value=&quot;' + randomnumber +'&quot;&gt;Delete&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;a class=&quot;hide&quot; href=&quot;' + inputvaluevarurl + '&quot;&gt;' + inputvaluevarname + '&lt;/a&gt;&lt;input type=&quot;hidden&quot; name=&quot;postmenu' + randomnumber + '&quot; id=&quot;postmenu' + randomnumber + '&quot; value=&quot;' + inputitemid + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;parent' + randomnumber + '&quot; id=&quot;parent' + randomnumber + '&quot; value=&quot;' + inputparentid + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-title' + randomnumber + '&quot; id=&quot;item-title' + randomnumber + '&quot; value=&quot;' + inputvaluevarname + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-url' + randomnumber + '&quot; id=&quot;item-url' + randomnumber + '&quot; value=&quot;' + inputvaluevarurl + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-description' + randomnumber + '&quot; id=&quot;item-description' + randomnumber + '&quot; value=&quot;' + inputdescription + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;position' + randomnumber + '&quot; id=&quot;position' + randomnumber + '&quot; value=&quot;' + randomnumber + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;linktype' + randomnumber + '&quot; id=&quot;linktype' + randomnumber + '&quot; value=&quot;' + inputlinktype + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-attr-title' + randomnumber + '&quot; id=&quot;item-attr-title' + randomnumber + '&quot; value=&quot;' + inputvaluevarname + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-target' + randomnumber + '&quot; id=&quot;item-target' + randomnumber + '&quot; value=&quot;0&quot; /&gt;&lt;/li&gt;');
+        } else {
+                
+                // Get the item in the queue
+                for ( var i = 0; i &lt; jQuery('#queue li input[name^=&quot;postmenu&quot;]').length; i++ ) {
+                        if ( itemid == jQuery('#queue li input[name^=&quot;postmenu&quot;]')[i].value ) {
+                                var menu_queue_id = jQuery('#queue li input[name^=&quot;postmenu&quot;]')[i].name.substring( 8, jQuery('#queue li input[name^=&quot;postmenu&quot;]')[i].name.length );
+                        };
+                };
+                
+                // Removes the item from the queue
+                jQuery('#queue li#menu-' + menu_queue_id).remove();
+        };
+};
</ins><span class="cx"> 
</span><del>-        var count=document.getElementById('custom-nav').getElementsByTagName('li').length + 1;
</del><ins>+/**
+ * Grabs items from the queue and adds them to the menu.
+ *
+ * @param string button - a reference of the button that was clicked
+ */
+function wp_add_queued_items_to_menu( button ) {        
+        // Grab items in queue
+        var items = jQuery('#queue').children();
+        
+        // Empty Queue
+        jQuery('#queue').empty();
+                
+        // Appends HTML to the menu
+        jQuery('#menu').append( items );
</ins><span class="cx"> 
</span><del>-        var randomnumber = count;
</del><ins>+        // Give some feedback to the user
+        jQuery(items).each(function(){
+                jQuery(this).find('dt').animate( { backgroundColor: '#FFFF33' }, { duration: 'normal', complete: function() { jQuery(this).css( 'backgroundColor', '' ); }});
+        });
+        
+        // Uncheck the checkboxes in the list
+        jQuery(button).offsetParent().find('.list-container input').attr('checked', false);
+        
+        wp_update_post_data();
+        
+        // Enable drag-n-drop
+        wp_drag_and_drop();
+        
+        // Reload thickbox
+        tb_init('a.thickbox, area.thickbox, input.thickbox');
+};
</ins><span class="cx"> 
</span><del>-        var validatetest = 0;
-
-        try
-        {
-                var test=document.getElementById(&quot;menu-&quot; + randomnumber.toString()).value;
-        }
-        catch (err)
-        {
-                validatetest = 1;
-        }
-
-        while (validatetest == 0)
-        {
-                randomnumber = randomnumber + 1;
-
-                try
-                {
-                        var test2=document.getElementById(&quot;menu-&quot; + randomnumber.toString()).value;
-                }
-                catch (err)
-                {
-                        validatetest = 1;
-                }
-        }
-
-        //Notification Message
-        jQuery('.maintitle').after('&lt;div id=&quot;message&quot; class=&quot;updated fade below-h2&quot;&gt;&lt;p&gt;Menu Item added!&lt;/p&gt;&lt;/div&gt;');
-        jQuery('#message').animate({ opacity: 1.0 },2000).fadeOut(300, function(){ jQuery(this).remove();});
-
-        //Appends HTML to the menu
-        jQuery('#custom-nav').append('&lt;li id=&quot;menu-' + randomnumber + '&quot; value=&quot;' + randomnumber + '&quot;&gt;&lt;div class=&quot;dropzone ui-droppable&quot;&gt;&lt;/div&gt;&lt;dl class=&quot;ui-droppable&quot;&gt;&lt;dt&gt;&lt;span class=&quot;title&quot;&gt;' + inputvaluevarname + '&lt;/span&gt;&lt;span class=&quot;controls&quot;&gt;&lt;span class=&quot;type&quot;&gt;' + additemtype + '&lt;/span&gt;&lt;a id=&quot;edit' + randomnumber + '&quot; onclick=&quot;edititem(' + randomnumber + ')&quot; value=&quot;' + randomnumber +'&quot;&gt;&lt;img class=&quot;edit&quot; alt=&quot;Edit Menu Item&quot; title=&quot;Edit Menu Item&quot; src=&quot;' + templatedir + '/wp-admin/images/ico-edit.png&quot; /&gt;&lt;/a&gt; &lt;a id=&quot;remove' + randomnumber + '&quot; onclick=&quot;removeitem(' + randomnumber + ')&quot; value=&quot;' + randomnumber +'&quot;&gt;&lt;img class=&quot;remove&quot; alt=&quot;Remove from Custom Menu&quot; title=&quot;Remove from Custom Menu&quot; src=&quot;' + templatedir + '/wp-admin/images/ico-close.png&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;' + inputvaluevarurl + '&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;View Custom Link&quot; title=&quot;View Custom Link&quot; src=&quot;' + templatedir + '/wp-admin/images/ico-viewpage.png&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;a class=&quot;hide&quot; href=&quot;' + inputvaluevarurl + '&quot;&gt;' + inputvaluevarname + '&lt;/a&gt;&lt;input type=&quot;hidden&quot; name=&quot;postmenu' + randomnumber + '&quot; id=&quot;postmenu' + randomnumber + '&quot; value=&quot;' + inputitemid + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;parent' + randomnumber + '&quot; id=&quot;parent' + randomnumber + '&quot; value=&quot;' + inputparentid + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;title' + randomnumber + '&quot; id=&quot;title' + randomnumber + '&quot; value=&quot;' + inputvaluevarname + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;linkurl' + randomnumber + '&quot; id=&quot;linkurl' + randomnumber + '&quot; value=&quot;' + inputvaluevarurl + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;description' + randomnumber + '&quot; id=&quot;description' + randomnumber + '&quot; value=&quot;' + inputdescription + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;icon' + randomnumber + '&quot; id=&quot;icon' + randomnumber + '&quot; value=&quot;' + inputicon + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;position' + randomnumber + '&quot; id=&quot;position' + randomnumber + '&quot; value=&quot;' + randomnumber + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;linktype' + randomnumber + '&quot; id=&quot;linktype' + randomnumber + '&quot; value=&quot;' + inputlinktype + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;anchortitle' + randomnumber + '&quot; id=&quot;anchortitle' + randomnumber + '&quot; value=&quot;' + inputvaluevarname + '&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;newwindow' + randomnumber + '&quot; id=&quot;newwindow' + randomnumber + '&quot; value=&quot;0&quot; /&gt;&lt;/li&gt;');
-
-        //make menu item draggable
-        jQuery('#menu-' + randomnumber + '').draggable(
-        {
</del><ins>+/**
+ * Allow the items in the Menu to be dragged and dropped.
+ */
+function wp_drag_and_drop() {
+        // make menu item draggable
+        jQuery('#menu li').draggable({
</ins><span class="cx">                 handle: ' &gt; dl',
</span><span class="cx">                 opacity: .8,
</span><span class="cx">                 addClasses: false,
</span><span class="lines">@@ -230,64 +297,81 @@
</span><span class="cx">                 zIndex: 100
</span><span class="cx">         });
</span><span class="cx"> 
</span><del>-        //make menu item droppable
-        jQuery('#menu-' + randomnumber + ' dl, #menu-' + randomnumber + ' .dropzone').droppable({
-                accept: '#' + randomnumber + ', #custom-nav li',
</del><ins>+        // make menu item droppable
+        jQuery('#menu li dl, #menu li .dropzone').droppable({
+                accept: '#menu li',
</ins><span class="cx">                 tolerance: 'pointer',
</span><del>-                drop: function(e, ui)
-                {
</del><ins>+                drop: function(e, ui) {
</ins><span class="cx">                         var li = jQuery(this).parent();
</span><span class="cx">                         var child = !jQuery(this).hasClass('dropzone');
</span><del>-                        //Append UL to first child
-                        if (child &amp;&amp; li.children('ul').length == 0)
-                        {
-                                li.append('&lt;ul/&gt;');
</del><ins>+                        
+                        // Append UL to first child
+                        if ( child &amp;&amp; li.children('ul').length == 0 ) {
+                                li.append( '&lt;ul/&gt;' );
</ins><span class="cx">                         }
</span><del>-                        //Make it draggable
-                        if (child)
-                        {
-                                li.children('ul').append(ui.draggable);
</del><ins>+                        // Make it draggable
+                        if ( child ) {
+                                li.children('ul').append( ui.draggable );
+                        } else {
+                                li.before( ui.draggable );
</ins><span class="cx">                         }
</span><del>-                        else
-                        {
-                                li.before(ui.draggable);
-                        }
</del><span class="cx"> 
</span><span class="cx">                         li.find('dl,.dropzone').css({ backgroundColor: '', borderColor: '' });
</span><span class="cx"> 
</span><span class="cx">                         var draggablevalue = ui.draggable.attr('value');
</span><del>-                       var droppablevalue = li.attr('value');
-                       li.find('#menu-' + draggablevalue).find('#parent' + draggablevalue).val(droppablevalue);
-                jQuery(this).parent().find(&quot;dt&quot;).removeAttr('style');
-                jQuery(this).parent().find(&quot;div:first&quot;).removeAttr('style');
</del><ins>+                        var droppablevalue = li.attr('value');
+                        
+                        li.find('#menu-' + draggablevalue).find('#parent' + draggablevalue).val(droppablevalue);
+                        jQuery(this).parent().find(&quot;dt&quot;).removeAttr('style');
+                        jQuery(this).parent().find(&quot;div:first&quot;).removeAttr('style');
</ins><span class="cx"> 
</span><span class="cx">                 },
</span><del>-                over: function()
-                    {
-                            //Add child
-                            if (jQuery(this).attr('class') == 'dropzone ui-droppable')
-                            {
</del><ins>+                over: function() {
+                            // Add child
+                            if ( jQuery(this).attr('class') == 'dropzone ui-droppable' ) {
</ins><span class="cx">                                     jQuery(this).parent().find(&quot;div:first&quot;).css('background', 'none').css('height', '50px');
</span><span class="cx">                             }
</span><del>-                            //Add above
-                            else if (jQuery(this).attr('class') == 'ui-droppable')
-                            {
</del><ins>+                            // Add above
+                            else if ( jQuery(this).attr('class') == 'ui-droppable' ) {
</ins><span class="cx">                                     jQuery(this).parent().find(&quot;dt:first&quot;).css('background', '#d8d8d8');
</span><ins>+                            } else {
+                                        // do nothing
</ins><span class="cx">                             }
</span><del>-                            //do nothing
-                            else {
-
-                            }
</del><span class="cx">                             var parentid = jQuery(this).parent().attr('id');
</span><span class="cx"> 
</span><span class="cx">                        },
</span><del>-                    out: function()
-                    {
</del><ins>+                    out: function() {
</ins><span class="cx">                         jQuery(this).parent().find(&quot;dt&quot;).removeAttr('style');
</span><span class="cx">                         jQuery(this).parent().find(&quot;div:first&quot;).removeAttr('style');
</span><span class="cx">                         jQuery(this).filter('.dropzone').css({ borderColor: '' });
</span><span class="cx">                     }
</span><del>-        });
</del><ins>+                }
+        );
+}
</ins><span class="cx"> 
</span><del>-        updatepostdata();
-};
</del><span class="cx">\ No newline at end of file
</span><ins>+/**
+ * Gets a unique number based on how many items are in the menu
+ */
+function wp_get_unique_menu_id() {
+        var count = document.getElementById('menu').getElementsByTagName('li').length + 1;
+        var randomnumber = count;
+        var validatetest = 0;
+
+        try {
+                var test = document.getElementById( 'menu-' + randomnumber.toString() ).value;
+        }
+        catch ( err ) {
+                validatetest = 1;
+        }
+
+        while ( validatetest == 0 ) {
+                randomnumber = randomnumber + 1;
+                try {
+                        var test2 = document.getElementById( 'menu-' + randomnumber.toString() ).value;
+                }
+                catch ( err ) {
+                        validatetest = 1;
+                }
+        }
+        return randomnumber;
+}
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpadminjsnavmenudynamicfunctionsjs"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/js/nav-menu-dynamic-functions.js (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/js/nav-menu-dynamic-functions.js        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-admin/js/nav-menu-dynamic-functions.js        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -1 +1 @@
</span><del>-function removeitem(c){var b=document.getElementById(&quot;menu-&quot;+c);if(b){var a=document.getElementById(&quot;menu-&quot;+c).parentNode;throwaway_node=a.removeChild(b)}updatepostdata()}function edititem(a){itemTitle=jQuery(&quot;#title&quot;+a).attr(&quot;value&quot;);itemURL=jQuery(&quot;#linkurl&quot;+a).attr(&quot;value&quot;);itemAnchorTitle=jQuery(&quot;#anchortitle&quot;+a).attr(&quot;value&quot;);itemNewWindow=jQuery(&quot;#newwindow&quot;+a).attr(&quot;value&quot;);itemDesc=jQuery(&quot;#description&quot;+a).attr(&quot;value&quot;);jQuery(&quot;#dialog-confirm&quot;).dialog(&quot;option&quot;,&quot;itemID&quot;,a);jQuery(&quot;#dialog-confirm&quot;).dialog(&quot;open&quot;);jQuery(&quot;#edittitle&quot;).attr(&quot;value&quot;,itemTitle);jQuery(&quot;#editlink&quot;).attr(&quot;value&quot;,itemURL);jQuery(&quot;#editanchortitle&quot;).attr(&quot;value&quot;,itemAnchorTitle);jQuery(&quot;#editnewwindow option[value='&quot;+itemNewWindow+&quot;']&quot;).attr(&quot;selected&quot;,&quot;selected&quot;);jQuery(&quot;#editdescription&quot;).attr(&quot;value&quot;,itemDesc)}function updatepostdata(){var a=0;jQuery(&quot;#custom-nav&quot;).find(&quot;li&quot;).each(function(c){c=c+1;var b=jQuery(this).attr(&quot;value&quot;);jQuery(this).find(&quot;#position&quot;+b).attr(&quot;value&quot;,c);jQuery(this).attr(&quot;id&quot;,&quot;menu-&quot;+c);jQuery(this).attr(&quot;value&quot;,c);jQuery(this).find(&quot;#dbid&quot;+b).attr(&quot;name&quot;,&quot;dbid&quot;+c);jQuery(this).find(&quot;#dbid&quot;+b).attr(&quot;id&quot;,&quot;dbid&quot;+c);jQuery(this).find(&quot;#postmenu&quot;+b).attr(&quot;name&quot;,&quot;postmenu&quot;+c);jQuery(this).find(&quot;#postmenu&quot;+b).attr(&quot;id&quot;,&quot;postmenu&quot;+c);var d=jQuery(this).find(&quot;#parent&quot;+b).parent().parent().parent().attr(&quot;value&quot;);jQuery(this).find(&quot;#parent&quot;+b).attr(&quot;name&quot;,&quot;parent&quot;+c);jQuery(this).find(&quot;#parent&quot;+b).attr(&quot;id&quot;,&quot;parent&quot;+c);if(d){}else{d=0}jQuery(this).find(&quot;#parent&quot;+b).attr(&quot;value&quot;,d);jQuery(this).find(&quot;#title&quot;+b).attr(&quot;name&quot;,&quot;title&quot;+c);jQuery(this).find(&quot;#title&quot;+b).attr(&quot;id&quot;,&quot;title&quot;+c);jQuery(this).find(&quot;#linkurl&quot;+b).attr(&quot;name&quot;,&quot;linkurl&quot;+c);jQuery(this).find(&quot;#linkurl&quot;+b).attr(&quot;id&quot;,&quot;linkurl&quot;+c);jQuery(this).find(&quot;#description&quot;+b).attr(&quot;name&quot;,&quot;description&quot;+c);jQuery(this).find(&quot;#description&quot;+b).attr(&quot;id&quot;,&quot;description&quot;+c);jQuery(this).find(&quot;#icon&quot;+b).attr(&quot;name&quot;,&quot;icon&quot;+c);jQuery(this).find(&quot;#icon&quot;+b).attr(&quot;id&quot;,&quot;icon&quot;+c);jQuery(this).find(&quot;#position&quot;+b).attr(&quot;name&quot;,&quot;position&quot;+c);jQuery(this).find(&quot;#position&quot;+b).attr(&quot;id&quot;,&quot;position&quot;+c);jQuery(this).find(&quot;#linktype&quot;+b).attr(&quot;name&quot;,&quot;linktype&quot;+c);jQuery(this).find(&quot;#linktype&quot;+b).attr(&quot;id&quot;,&quot;linktype&quot;+c);jQuery(this).find(&quot;#anchortitle&quot;+b).attr(&quot;name&quot;,&quot;anchortitle&quot;+c);jQuery(this).find(&quot;#anchortitle&quot;+b).attr(&quot;id&quot;,&quot;anchortitle&quot;+c);jQuery(this).find(&quot;#newwindow&quot;+b).attr(&quot;name&quot;,&quot;newwindow&quot;+c);jQuery(this).find(&quot;#newwindow&quot;+b).attr(&quot;id&quot;,&quot;newwindow&quot;+c);jQuery(this).find(&quot;dl &gt; dt &gt; span &gt; #remove&quot;+b).attr(&quot;value&quot;,c);jQuery(this).find(&quot;dl &gt; dt &gt; span &gt; #remove&quot;+b).attr(&quot;onClick&quot;,&quot;removeitem(&quot;+c+&quot;)&quot;);jQuery(this).find(&quot;dl &gt; dt &gt; span &gt; #remove&quot;+b).attr(&quot;id&quot;,&quot;remove&quot;+c);jQuery(&quot;#li-count&quot;).attr(&quot;value&quot;,c)})}function appendToList(b,s,d,n,h,l,e){var k=&quot;&quot;;var c=&quot;&quot;;var r=&quot;&quot;;var o=&quot;&quot;;var i=&quot;&quot;;var a=&quot;&quot;;if(s==navMenuL10n.custom){k=document.getElementById(&quot;custom-menu-item-name&quot;).value;c=document.getElementById(&quot;custom-menu-item-url&quot;).value;r=&quot;&quot;;o=&quot;&quot;;inputlinktype=&quot;custom&quot;;i=&quot;&quot;}else{if(s==navMenuL10n.page){k=htmlentities(d.toString());c=n.toString();r=h.toString();o=&quot;0&quot;;inputlinktype=&quot;page&quot;;i=htmlentities(e.toString())}else{if(s==navMenuL10n.category){k=htmlentities(d.toString());c=n.toString();r=h.toString();o=&quot;0&quot;;inputlinktype=&quot;category&quot;;i=htmlentities(e.toString())}else{k=&quot;&quot;;k=&quot;&quot;;r=&quot;&quot;;o=&quot;&quot;;inputlinktype=&quot;custom&quot;;i=&quot;&quot;}}}var g=document.getElementById(&quot;custom-nav&quot;).getElementsByTagName(&quot;li&quot;).length+1;var p=g;var m=0;try{var q=document.getElementById(&quot;menu-&quot;+p.toString()).value}catch(f){m=1}while(m==0){p=p+1;try{var j=document.getElementById(&quot;menu-&quot;+p.toString()).value}catch(f){m=1}}jQuery(&quot;.maintitle&quot;).after('&lt;div id=&quot;message&quot; class=&quot;updated fade below-h2&quot;&gt;&lt;p&gt;Menu Item added!&lt;/p&gt;&lt;/div&gt;');jQuery(&quot;#message&quot;).animate({opacity:1},2000).fadeOut(300,function(){jQuery(this).remove()});jQuery(&quot;#custom-nav&quot;).append('&lt;li id=&quot;menu-'+p+'&quot; value=&quot;'+p+'&quot;&gt;&lt;div class=&quot;dropzone ui-droppable&quot;&gt;&lt;/div&gt;&lt;dl class=&quot;ui-droppable&quot;&gt;&lt;dt&gt;&lt;span class=&quot;title&quot;&gt;'+k+'&lt;/span&gt;&lt;span class=&quot;controls&quot;&gt;&lt;span class=&quot;type&quot;&gt;'+s+'&lt;/span&gt;&lt;a id=&quot;edit'+p+'&quot; onclick=&quot;edititem('+p+')&quot; value=&quot;'+p+'&quot;&gt;&lt;img class=&quot;edit&quot; alt=&quot;Edit Menu Item&quot; title=&quot;Edit Menu Item&quot; src=&quot;'+b+'/wp-admin/images/ico-edit.png&quot; /&gt;&lt;/a&gt; &lt;a id=&quot;remove'+p+'&quot; onclick=&quot;removeitem('+p+')&quot; value=&quot;'+p+'&quot;&gt;&lt;img class=&quot;remove&quot; alt=&quot;Remove from Custom Menu&quot; title=&quot;Remove from Custom Menu&quot; src=&quot;'+b+'/wp-admin/images/ico-close.png&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;'+c+'&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;View Custom Link&quot; title=&quot;View Custom Link&quot; src=&quot;'+b+'/wp-admin/images/ico-viewpage.png&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;a class=&quot;hide&quot; href=&quot;'+c+'&quot;&gt;'+k+'&lt;/a&gt;&lt;input type=&quot;hidden&quot; name=&quot;postmenu'+p+'&quot; id=&quot;postmenu'+p+'&quot; value=&quot;'+r+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;parent'+p+'&quot; id=&quot;parent'+p+'&quot; value=&quot;'+o+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;title'+p+'&quot; id=&quot;title'+p+'&quot; value=&quot;'+k+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;linkurl'+p+'&quot; id=&quot;linkurl'+p+'&quot; value=&quot;'+c+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;description'+p+'&quot; id=&quot;description'+p+'&quot; value=&quot;'+i+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;icon'+p+'&quot; id=&quot;icon'+p+'&quot; value=&quot;'+a+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;position'+p+'&quot; id=&quot;position'+p+'&quot; value=&quot;'+p+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;linktype'+p+'&quot; id=&quot;linktype'+p+'&quot; value=&quot;'+inputlinktype+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;anchortitle'+p+'&quot; id=&quot;anchortitle'+p+'&quot; value=&quot;'+k+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;newwindow'+p+'&quot; id=&quot;newwindow'+p+'&quot; value=&quot;0&quot; /&gt;&lt;/li&gt;');jQuery(&quot;#menu-&quot;+p+&quot;&quot;).draggable({handle:&quot; &gt; dl&quot;,opacity:0.8,addClasses:false,helper:&quot;clone&quot;,zIndex:100});jQuery(&quot;#menu-&quot;+p+&quot; dl, #menu-&quot;+p+&quot; .dropzone&quot;).droppable({accept:&quot;#&quot;+p+&quot;, #custom-nav li&quot;,tolerance:&quot;pointer&quot;,drop:function(x,w){var t=jQuery(this).parent();var y=!jQuery(this).hasClass(&quot;dropzone&quot;);if(y&amp;&amp;t.children(&quot;ul&quot;).length==0){t.append(&quot;&lt;ul/&gt;&quot;)}if(y){t.children(&quot;ul&quot;).append(w.draggable)}else{t.before(w.draggable)}t.find(&quot;dl,.dropzone&quot;).css({backgroundColor:&quot;&quot;,borderColor:&quot;&quot;});var v=w.draggable.attr(&quot;value&quot;);var u=t.attr(&quot;value&quot;);t.find(&quot;#menu-&quot;+v).find(&quot;#parent&quot;+v).val(u);jQuery(this).parent().find(&quot;dt&quot;).removeAttr(&quot;style&quot;);jQuery(this).parent().find(&quot;div:first&quot;).removeAttr(&quot;style&quot;)},over:function(){if(jQuery(this).attr(&quot;class&quot;)==&quot;dropzone ui-droppable&quot;){jQuery(this).parent().find(&quot;div:first&quot;).css(&quot;background&quot;,&quot;none&quot;).css(&quot;height&quot;,&quot;50px&quot;)}else{if(jQuery(this).attr(&quot;class&quot;)==&quot;ui-droppable&quot;){jQuery(this).parent().find(&quot;dt:first&quot;).css(&quot;background&quot;,&quot;#d8d8d8&quot;)}else{}}var t=jQuery(this).parent().attr(&quot;id&quot;)},out:function(){jQuery(this).parent().find(&quot;dt&quot;).removeAttr(&quot;style&quot;);jQuery(this).parent().find(&quot;div:first&quot;).removeAttr(&quot;style&quot;);jQuery(this).filter(&quot;.dropzone&quot;).css({borderColor:&quot;&quot;})}});updatepostdata()};
</del><span class="cx">\ No newline at end of file
</span><ins>+function wp_update_links_list(e){var link='&lt;li&gt;&lt;dl&gt;&lt;dt&gt;&lt;label class=&quot;item-title&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;link-'+e.link_id+'&quot; name=&quot;'+e.link_name+'&quot; value=&quot;'+e.link_url+'&quot; /&gt;'+e.link_name+&quot;&lt;/label&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;/li&gt;&quot;;jQuery(&quot;#available-links .list&quot;).prepend(link);jQuery(&quot;#available-links .list #link-&quot;+e.link_id).parent().animate({backgroundColor:&quot;#FFFF33&quot;},{duration:&quot;normal&quot;,complete:function(){jQuery(this).css(&quot;backgroundColor&quot;,&quot;&quot;)}})}function wp_remove_menu_item(o){var todelete=document.getElementById(&quot;menu-&quot;+o);if(todelete){jQuery(todelete).find(&quot;dt&quot;).each(function(){jQuery(this).animate({backgroundColor:&quot;#FF3333&quot;},{duration:&quot;normal&quot;,complete:function(){jQuery(this).parent().parent().remove()}})});wp_update_post_data()}}function wp_edit_menu_item(id){console.log(&quot;wp_edit_menu_item&quot;);var itemTitle=jQuery(&quot;#item-title&quot;+id).val();var itemURL=jQuery(&quot;#item-url&quot;+id).val();var itemAttrTitle=jQuery(&quot;#item-attr-title&quot;+id).val();var itemTarget=jQuery(&quot;#item-target&quot;+id).val();var itemDesc=jQuery(&quot;#item-description&quot;+id).val();console.log(id);console.log(itemTitle);console.log(itemURL);console.log(itemAttrTitle);console.log(itemTarget);console.log(itemDesc);jQuery(&quot;#edit-item-id&quot;).val(id);jQuery(&quot;#edit-item-title&quot;).val(itemTitle);jQuery(&quot;#edit-item-url&quot;).val(itemURL);jQuery(&quot;#edit-item-attr-title&quot;).val(itemAttrTitle);jQuery(&quot;#edit-item-target&quot;).val(itemTarget);jQuery(&quot;#edit-item-target option[value='&quot;+itemTarget+&quot;']&quot;).attr(&quot;selected&quot;,&quot;selected&quot;);jQuery(&quot;#edit-item-description&quot;).val(itemDesc)}function wp_update_menu_item(){var id=jQuery(&quot;#edit-item-id&quot;).val();var itemTitle=jQuery(&quot;#edit-item-title&quot;).val();var itemURL=jQuery(&quot;#edit-item-url&quot;).val();var itemAttrTitle=jQuery(&quot;#edit-item-attr-title&quot;).val();var itemTarget=jQuery(&quot;#edit-item-target&quot;).val();var itemDesc=jQuery(&quot;#edit-item-description&quot;).val();console.log(id);console.log(itemTitle);console.log(itemURL);console.log(itemAttrTitle);console.log(itemTarget);console.log(itemDesc);jQuery(&quot;#menu-&quot;+id).find(&quot;.item-title:first&quot;).html(itemTitle);jQuery(&quot;#item-title&quot;+id).val(itemTitle);jQuery(&quot;#item-url&quot;+id).val(itemURL);jQuery(&quot;#item-attr-title&quot;+id).val(itemAttrTitle);jQuery(&quot;#item-target&quot;+id).val(itemTarget);jQuery(&quot;#item-description&quot;+id).val(itemDesc)}function wp_update_post_data(){var i=0;jQuery(&quot;#menu li&quot;).each(function(i){i=i+1;var j=jQuery(this).attr(&quot;value&quot;);jQuery(this).find(&quot;#position&quot;+j).attr(&quot;value&quot;,i);jQuery(this).attr(&quot;id&quot;,&quot;menu-&quot;+i);jQuery(this).attr(&quot;value&quot;,i);jQuery(this).find(&quot;#dbid&quot;+j).attr(&quot;name&quot;,&quot;dbid&quot;+i);jQuery(this).find(&quot;#dbid&quot;+j).attr(&quot;id&quot;,&quot;dbid&quot;+i);jQuery(this).find(&quot;#postmenu&quot;+j).attr(&quot;name&quot;,&quot;postmenu&quot;+i);jQuery(this).find(&quot;#postmenu&quot;+j).attr(&quot;id&quot;,&quot;postmenu&quot;+i);var p=jQuery(this).find(&quot;#parent&quot;+j).parent().parent().parent().attr(&quot;value&quot;);jQuery(this).find(&quot;#parent&quot;+j).attr(&quot;name&quot;,&quot;parent&quot;+i);jQuery(this).find(&quot;#parent&quot;+j).attr(&quot;id&quot;,&quot;parent&quot;+i);if(p){}else{p=0}jQuery(this).find(&quot;#parent&quot;+j).attr(&quot;value&quot;,p);jQuery(this).find(&quot;#item-title&quot;+j).attr(&quot;name&quot;,&quot;item-title&quot;+i);jQuery(this).find(&quot;#item-title&quot;+j).attr(&quot;id&quot;,&quot;item-title&quot;+i);jQuery(this).find(&quot;#item-url&quot;+j).attr(&quot;name&quot;,&quot;item-url&quot;+i);jQuery(this).find(&quot;#item-url&quot;+j).attr(&quot;id&quot;,&quot;item-url&quot;+i);jQuery(this).find(&quot;#item-description&quot;+j).attr(&quot;name&quot;,&quot;item-description&quot;+i);jQuery(this).find(&quot;#item-description&quot;+j).attr(&quot;id&quot;,&quot;item-description&quot;+i);jQuery(this).find(&quot;#item-attr-title&quot;+j).attr(&quot;name&quot;,&quot;item-attr-title&quot;+i);jQuery(this).find(&quot;#item-attr-title&quot;+j).attr(&quot;id&quot;,&quot;item-attr-title&quot;+i);jQuery(this).find(&quot;#item-target&quot;+j).attr(&quot;name&quot;,&quot;item-target&quot;+i);jQuery(this).find(&quot;#item-target&quot;+j).attr(&quot;id&quot;,&quot;item-target&quot;+i);jQuery(this).find(&quot;#position&quot;+j).attr(&quot;name&quot;,&quot;position&quot;+i);jQuery(this).find(&quot;#position&quot;+j).attr(&quot;id&quot;,&quot;position&quot;+i);jQuery(this).find(&quot;#linktype&quot;+j).attr(&quot;name&quot;,&quot;linktype&quot;+i);jQuery(this).find(&quot;#linktype&quot;+j).attr(&quot;id&quot;,&quot;linktype&quot;+i);jQuery(&quot;#li-count&quot;).attr(&quot;value&quot;,i)})}function wp_add_item_to_menu(additemtype,itemtext,itemurl,itemid,itemparentid,itemdescription){var inputvaluevarname=&quot;&quot;;var inputvaluevarurl=&quot;&quot;;var inputitemid=&quot;&quot;;var inputparentid=&quot;&quot;;var inputdescription=&quot;&quot;;var randomnumber=wp_get_unique_menu_id();inputvaluevarname=htmlentities(itemtext.toString());inputvaluevarurl=itemurl.toString();inputitemid=itemid;inputparentid=itemparentid;inputlinktype=&quot;custom&quot;;inputdescription=htmlentities(itemdescription.toString());jQuery(&quot;#menu&quot;).append('&lt;li id=&quot;menu-'+randomnumber+'&quot; value=&quot;'+randomnumber+'&quot;&gt;&lt;div class=&quot;dropzone ui-droppable&quot;&gt;&lt;/div&gt;&lt;dl class=&quot;ui-droppable&quot;&gt;&lt;dt&gt;&lt;span class=&quot;item-title&quot;&gt;'+inputvaluevarname+'&lt;/span&gt;&lt;span class=&quot;item-controls&quot;&gt;&lt;span class=&quot;item-type&quot;&gt;'+additemtype+'&lt;/span&gt;&lt;a class=&quot;item-edit thickbox&quot; id=&quot;edit'+randomnumber+'&quot; value=&quot;'+randomnumber+'&quot; onClick=&quot;wp_edit_menu_item('+randomnumber+')&quot; title=&quot;'+navMenuL10n.thickbox+'&quot; href=&quot;#TB_inline?height=380&amp;width=300&amp;inlineId=menu-item-settings&quot;&gt;'+navMenuL10n.edit+'&lt;/a&gt; | &lt;a class=&quot;item-delete&quot; id=&quot;delete'+randomnumber+'&quot; value=&quot;'+randomnumber+'&quot;&gt;Delete&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;a class=&quot;hide&quot; href=&quot;'+inputvaluevarurl+'&quot;&gt;'+inputvaluevarname+'&lt;/a&gt;&lt;input type=&quot;hidden&quot; name=&quot;postmenu'+randomnumber+'&quot; id=&quot;postmenu'+randomnumber+'&quot; value=&quot;'+inputitemid+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;parent'+randomnumber+'&quot; id=&quot;parent'+randomnumber+'&quot; value=&quot;'+inputparentid+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-title'+randomnumber+'&quot; id=&quot;item-title'+randomnumber+'&quot; value=&quot;'+inputvaluevarname+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-url'+randomnumber+'&quot; id=&quot;item-url'+randomnumber+'&quot; value=&quot;'+inputvaluevarurl+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-description'+randomnumber+'&quot; id=&quot;item-description'+randomnumber+'&quot; value=&quot;'+inputdescription+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;position'+randomnumber+'&quot; id=&quot;position'+randomnumber+'&quot; value=&quot;'+randomnumber+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;linktype'+randomnumber+'&quot; id=&quot;linktype'+randomnumber+'&quot; value=&quot;'+inputlinktype+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-attr-title'+randomnumber+'&quot; id=&quot;item-attr-title'+randomnumber+'&quot; value=&quot;'+inputvaluevarname+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-target'+randomnumber+'&quot; id=&quot;item-target'+randomnumber+'&quot; value=&quot;0&quot; /&gt;&lt;/li&gt;');jQuery(&quot;#menu #menu-&quot;+randomnumber+&quot; dt:first&quot;).animate({backgroundColor:&quot;#FFFF33&quot;},{duration:&quot;normal&quot;,complete:function(){jQuery(this).css(&quot;backgroundColor&quot;,&quot;&quot;)}});wp_drag_and_drop();tb_init(&quot;a.thickbox, area.thickbox, input.thickbox&quot;)}function wp_update_queue(additemtype,itemtext,itemurl,itemid,itemparentid,itemdescription){var inputvaluevarname=&quot;&quot;;var inputvaluevarurl=&quot;&quot;;var inputitemid=&quot;&quot;;var inputparentid=&quot;&quot;;var inputdescription=&quot;&quot;;var randomnumber=wp_get_unique_menu_id();if(additemtype==navMenuL10n.page){inputvaluevarname=htmlentities(itemtext.toString());inputvaluevarurl=itemurl.toString();inputitemid=itemid.toString();inputparentid=&quot;0&quot;;inputlinktype=&quot;page&quot;;inputdescription=htmlentities(itemdescription.toString())}else{if(additemtype==navMenuL10n.category){inputvaluevarname=htmlentities(itemtext.toString());inputvaluevarurl=itemurl.toString();inputitemid=itemid.toString();inputparentid=&quot;0&quot;;inputlinktype=&quot;category&quot;;inputdescription=htmlentities(itemdescription.toString())}}if(jQuery(menu_item_id=&quot;#menu-item-&quot;+inputitemid).attr(&quot;checked&quot;)){jQuery(&quot;#queue&quot;).append('&lt;li id=&quot;menu-'+randomnumber+'&quot; value=&quot;'+randomnumber+'&quot;&gt;&lt;div class=&quot;dropzone ui-droppable&quot;&gt;&lt;/div&gt;&lt;dl class=&quot;ui-droppable&quot;&gt;&lt;dt&gt;&lt;span class=&quot;item-title&quot;&gt;'+inputvaluevarname+'&lt;/span&gt;&lt;span class=&quot;item-controls&quot;&gt;&lt;span class=&quot;item-type&quot;&gt;'+additemtype+'&lt;/span&gt;&lt;a class=&quot;item-edit thickbox&quot; id=&quot;edit'+randomnumber+'&quot; value=&quot;'+randomnumber+'&quot; onClick=&quot;wp_edit_menu_item('+randomnumber+')&quot; title=&quot;'+navMenuL10n.thickbox+'&quot; href=&quot;#TB_inline?height=380&amp;width=300&amp;inlineId=menu-item-settings&quot;&gt;'+navMenuL10n.edit+'&lt;/a&gt; | &lt;a class=&quot;item-delete&quot; id=&quot;delete'+randomnumber+'&quot; value=&quot;'+randomnumber+'&quot;&gt;Delete&lt;/a&gt;&lt;/span&gt;&lt;/dt&gt;&lt;/dl&gt;&lt;a class=&quot;hide&quot; href=&quot;'+inputvaluevarurl+'&quot;&gt;'+inputvaluevarname+'&lt;/a&gt;&lt;input type=&quot;hidden&quot; name=&quot;postmenu'+randomnumber+'&quot; id=&quot;postmenu'+randomnumber+'&quot; value=&quot;'+inputitemid+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;parent'+randomnumber+'&quot; id=&quot;parent'+randomnumber+'&quot; value=&quot;'+inputparentid+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-title'+randomnumber+'&quot; id=&quot;item-title'+randomnumber+'&quot; value=&quot;'+inputvaluevarname+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-url'+randomnumber+'&quot; id=&quot;item-url'+randomnumber+'&quot; value=&quot;'+inputvaluevarurl+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-description'+randomnumber+'&quot; id=&quot;item-description'+randomnumber+'&quot; value=&quot;'+inputdescription+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;position'+randomnumber+'&quot; id=&quot;position'+randomnumber+'&quot; value=&quot;'+randomnumber+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;linktype'+randomnumber+'&quot; id=&quot;linktype'+randomnumber+'&quot; value=&quot;'+inputlinktype+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-attr-title'+randomnumber+'&quot; id=&quot;item-attr-title'+randomnumber+'&quot; value=&quot;'+inputvaluevarname+'&quot; /&gt;&lt;input type=&quot;hidden&quot; name=&quot;item-target'+randomnumber+'&quot; id=&quot;item-target'+randomnumber+'&quot; value=&quot;0&quot; /&gt;&lt;/li&gt;')}else{for(var i=0;i&lt;jQuery('#queue li input[name^=&quot;postmenu&quot;]').length;i++){if(itemid==jQuery('#queue li input[name^=&quot;postmenu&quot;]')[i].value){var menu_queue_id=jQuery('#queue li input[name^=&quot;postmenu&quot;]')[i].name.substring(8,jQuery('#queue li input[name^=&quot;postmenu&quot;]')[i].name.length)}}jQuery(&quot;#queue li#menu-&quot;+menu_queue_id).remove()}}function wp_add_queued_items_to_menu(button){var items=jQuery(&quot;#queue&quot;).children();jQuery(&quot;#queue&quot;).empty();jQuery(&quot;#menu&quot;).append(items);jQuery(items).each(function(){jQuery(this).find(&quot;dt&quot;).animate({backgroundColor:&quot;#FFFF33&quot;},{duration:&quot;normal&quot;,complete:function(){jQuery(this).css(&quot;backgroundColor&quot;,&quot;&quot;)}})});jQuery(button).offsetParent().find(&quot;.list-container input&quot;).attr(&quot;checked&quot;,false);wp_update_post_data();wp_drag_and_drop();tb_init(&quot;a.thickbox, area.thickbox, input.thickbox&quot;)}function wp_drag_and_drop(){jQuery(&quot;#menu li&quot;).draggable({handle:&quot; &gt; dl&quot;,opacity:0.8,addClasses:false,helper:&quot;clone&quot;,zIndex:100});jQuery(&quot;#menu li dl, #menu li .dropzone&quot;).droppable({accept:&quot;#menu li&quot;,tolerance:&quot;pointer&quot;,drop:function(e,ui){var li=jQuery(this).parent();var child=!jQuery(this).hasClass(&quot;dropzone&quot;);if(child&amp;&amp;li.children(&quot;ul&quot;).length==0){li.append(&quot;&lt;ul/&gt;&quot;)}if(child){li.children(&quot;ul&quot;).append(ui.draggable)}else{li.before(ui.draggable)}li.find(&quot;dl,.dropzone&quot;).css({backgroundColor:&quot;&quot;,borderColor:&quot;&quot;});var draggablevalue=ui.draggable.attr(&quot;value&quot;);var droppablevalue=li.attr(&quot;value&quot;);li.find(&quot;#menu-&quot;+draggablevalue).find(&quot;#parent&quot;+draggablevalue).val(droppablevalue);jQuery(this).parent().find(&quot;dt&quot;).removeAttr(&quot;style&quot;);jQuery(this).parent().find(&quot;div:first&quot;).removeAttr(&quot;style&quot;)},over:function(){if(jQuery(this).attr(&quot;class&quot;)==&quot;dropzone ui-droppable&quot;){jQuery(this).parent().find(&quot;div:first&quot;).css(&quot;background&quot;,&quot;none&quot;).css(&quot;height&quot;,&quot;50px&quot;)}else{if(jQuery(this).attr(&quot;class&quot;)==&quot;ui-droppable&quot;){jQuery(this).parent().find(&quot;dt:first&quot;).css(&quot;background&quot;,&quot;#d8d8d8&quot;)}else{}}var parentid=jQuery(this).parent().attr(&quot;id&quot;)},out:function(){jQuery(this).parent().find(&quot;dt&quot;).removeAttr(&quot;style&quot;);jQuery(this).parent().find(&quot;div:first&quot;).removeAttr(&quot;style&quot;);jQuery(this).filter(&quot;.dropzone&quot;).css({borderColor:&quot;&quot;})}})}function wp_get_unique_menu_id(){var count=document.getElementById(&quot;menu&quot;).getElementsByTagName(&quot;li&quot;).length+1;var randomnumber=count;var validatetest=0;try{var test=document.getElementById(&quot;menu-&quot;+randomnumber.toString()).value}catch(err){validatetest=1}while(validatetest==0){randomnumber=randomnumber+1;try{var test2=document.getElementById(&quot;menu-&quot;+randomnumber.toString()).value}catch(err){validatetest=1}}return randomnumber};
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpadminnavmenusphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-admin/nav-menus.php (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-admin/nav-menus.php        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-admin/nav-menus.php        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx">  * WordPress Administration for Navigation Menus
</span><span class="cx">  * Interface functions
</span><span class="cx">  *
</span><del>- * @version 1.1.0
</del><ins>+ * @version 2.0.0
</ins><span class="cx">  *
</span><span class="cx">  * @package WordPress
</span><span class="cx">  * @subpackage Administration
</span><span class="lines">@@ -11,6 +11,10 @@
</span><span class="cx"> 
</span><span class="cx"> require_once('admin.php');
</span><span class="cx"> 
</span><ins>+/*
+TODO
+        Add caps: edit_menus, delete_menus
+*/
</ins><span class="cx"> if ( ! current_user_can('switch_themes') )
</span><span class="cx">         wp_die( __( 'Cheatin&amp;#8217; uh?' ));
</span><span class="cx"> 
</span><span class="lines">@@ -24,6 +28,7 @@
</span><span class="cx"> wp_enqueue_script( 'nav-menu-default-items' );
</span><span class="cx"> wp_enqueue_script( 'jquery-autocomplete' );
</span><span class="cx"> wp_enqueue_script( 'nav-menu-php-functions' );
</span><ins>+add_thickbox();
</ins><span class="cx"> 
</span><span class="cx"> require_once( 'admin-header.php' );
</span><span class="cx"> require_once( ABSPATH . 'wp-admin/includes/nav-menu.php' );
</span><span class="lines">@@ -38,6 +43,9 @@
</span><span class="cx"> $updated = false;
</span><span class="cx"> $advanced_option_descriptions = 'no';
</span><span class="cx"> 
</span><ins>+// Get all menu link items
+$available_links = new WP_Query( array( 'post_status' =&gt; 'any', 'post_type' =&gt; 'nav_menu_item', 'meta_key' =&gt; 'menu_type', 'meta_value' =&gt; 'custom' ) );
+
</ins><span class="cx"> // Check which menu is selected and if menu is in edit already
</span><span class="cx"> if ( isset( $_GET['edit-menu'] ) ) {
</span><span class="cx">         $menu_selected_id = (int) $_GET['edit-menu'];
</span><span class="lines">@@ -48,28 +56,39 @@
</span><span class="cx">         $menu_selected_id = 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-if ( isset( $_POST[ 'delete-menu' ] ) &amp;&amp; $menu_selected_id &gt; 0 ) {
-        wp_delete_nav_menu( $menu_selected_id );
</del><ins>+// Delete a menu
+if ( isset($_GET['delete-menu']) &amp;&amp; $_GET['delete-menu'] &gt; 0 ) {
+        // if ( ! current_user_can('delete_menus') )
+        //         wp_die( __( 'Cheatin&amp;#8217; uh?' ));
+        
+        $menu_id = (int) $_GET['delete-menu'];
+        check_admin_referer( 'delete_menu-' . $menu_id );
+        
+        wp_delete_nav_menu( $menu_id );
+        $messages_div = '&lt;div id=&quot;message&quot; class=&quot;updated fade below-h2&quot;&gt;&lt;p&gt;' . __('Menu successfully deleted.') . '&lt;/p&gt;&lt;/div&gt;';
</ins><span class="cx">         $menu_selected_id = 0;
</span><span class="cx">         $updated = true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Default Menu to show
</span><del>-$custom_menus = wp_get_nav_menus();
</del><ins>+$menus = wp_get_nav_menus();
</ins><span class="cx"> 
</span><del>-if ( empty($custom_menus)  &amp;&amp; empty($_POST) ) {
</del><ins>+if ( empty($menus) &amp;&amp; empty($_POST) ) {
</ins><span class="cx">         wp_create_default_nav_menu();
</span><del>-        $custom_menus = wp_get_nav_menus();
</del><ins>+        $menus = wp_get_nav_menus();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-if ( ! $menu_selected_id &amp;&amp; ! empty( $custom_menus ) )
-        $menu_selected_id = $custom_menus[0]-&gt;term_id;
</del><ins>+if ( ! $menu_selected_id &amp;&amp; ! empty($menus) )
+        $menu_selected_id = $menus[0]-&gt;term_id;
</ins><span class="cx"> 
</span><ins>+// Get the name of the current Menu 
</ins><span class="cx"> $menu_title = '';
</span><ins>+$valid_menu = false;
</ins><span class="cx"> if ( $menu_selected_id &gt; 0 ) {
</span><del>-        foreach ( $custom_menus as $menu ) {
</del><ins>+        foreach ( $menus as $menu ) {
</ins><span class="cx">                 if ( $menu-&gt;term_id == $menu_selected_id ) {
</span><span class="cx">                         $menu_title = $menu-&gt;name;
</span><ins>+                        $valid_menu = true;
</ins><span class="cx">                         break;
</span><span class="cx">                 }
</span><span class="cx">         }
</span><span class="lines">@@ -81,15 +100,15 @@
</span><span class="cx">         $post_counter = 0;
</span><span class="cx"> 
</span><span class="cx"> // Create a new menu. Menus are stored as terms in the 'menu' taxonomy.
</span><del>-if ( isset( $_POST['add-menu'] ) &amp;&amp; ! $updated ) {
-        $insert_menu_name = $_POST['add-menu-name'];
</del><ins>+if ( isset( $_POST['create-menu'] ) &amp;&amp; ! $updated ) {
+        $insert_menu_name = $_POST['create-menu-name'];
</ins><span class="cx"> 
</span><span class="cx">         if ( $insert_menu_name ) {
</span><span class="cx">                 $menu = wp_create_nav_menu( $insert_menu_name );
</span><span class="cx">                 if ( is_wp_error( $menu ) ) {
</span><span class="cx">                         $messages_div = '&lt;div id=&quot;message&quot; class=&quot;error fade below-h2&quot;&gt;&lt;p&gt;' . $menu-&gt;get_error_message() . '&lt;/p&gt;&lt;/div&gt;';
</span><span class="cx">                 } else {
</span><del>-                        $custom_menus[$menu-&gt;term_id] = $menu;
</del><ins>+                        $menus[$menu-&gt;term_id] = $menu;
</ins><span class="cx">                         $menu_selected_id = $menu-&gt;term_id;
</span><span class="cx">                         $menu_id_in_edit = $menu_selected_id;
</span><span class="cx">                         $menu_title = $menu-&gt;name;
</span><span class="lines">@@ -105,21 +124,21 @@
</span><span class="cx"> if ( $post_counter &gt; 0 &amp;&amp; $menu_selected_id &gt; 0 &amp;&amp; ! $updated ) {
</span><span class="cx">         $menu_items = wp_get_nav_menu_items( $menu_selected_id, array('orderby' =&gt; 'ID', 'output' =&gt; ARRAY_A, 'output_key' =&gt; 'ID') );
</span><span class="cx">         $parent_menu_ids = array();
</span><del>-
</del><ins>+        
</ins><span class="cx">         // Loop through all POST variables
</span><span class="cx">         for ( $k = 1; $k &lt;= $post_counter; $k++ ) {
</span><span class="cx">                 $db_id = isset( $_POST['dbid'.$k] )? $_POST['dbid'.$k] : 0;
</span><span class="cx">                 $object_id = isset( $_POST['postmenu'.$k] )? $_POST['postmenu'.$k] : 0;
</span><span class="cx">                 $parent_id = isset( $_POST['parent'.$k] )? $_POST['parent'.$k] : 0;
</span><del>-                $custom_title = isset( $_POST['title'.$k] )?  $_POST['title'.$k] : '';
-                $custom_linkurl = ( isset( $_POST['linkurl'.$k] ) &amp;&amp; 'custom' == $_POST['linktype'.$k] ) ? $_POST['linkurl'.$k] : '';
-                $custom_description = isset( $_POST['description'.$k] )? $_POST['description'.$k] : '';
</del><ins>+                $custom_title = isset( $_POST['item-title'.$k] )?  $_POST['item-title'.$k] : '';
+                $custom_linkurl = ( isset( $_POST['item-url'.$k] ) &amp;&amp; 'custom' == $_POST['linktype'.$k] ) ? $_POST['item-url'.$k] : '';
+                $custom_description = isset( $_POST['item-description'.$k] )? $_POST['item-description'.$k] : '';
</ins><span class="cx">                 // doesn't seem to be used by UI
</span><span class="cx">                 $icon = isset( $_POST['icon'.$k] )? $_POST['icon'.$k] : 0;
</span><span class="cx">                 $position = isset( $_POST['position'.$k] )? $_POST['position'.$k] : 0;
</span><span class="cx">                 $linktype = isset( $_POST['linktype'.$k] )? $_POST['linktype'.$k] : 'custom';
</span><del>-                $custom_anchor_title  = isset( $_POST['anchortitle'.$k] )? $_POST['anchortitle'.$k] : $custom_title;
-                $new_window = isset( $_POST['newwindow'.$k] )? $_POST['newwindow'.$k] : 0;
</del><ins>+                $custom_anchor_title  = isset( $_POST['item-attr-title'.$k] )? $_POST['item-attr-title'.$k] : $custom_title;
+                $new_window = isset( $_POST['item-target'.$k] )? $_POST['item-target'.$k] : 0;
</ins><span class="cx"> 
</span><span class="cx">                 $post = array( 'post_status' =&gt; 'publish', 'post_type' =&gt; 'nav_menu_item', 'post_author' =&gt; $user_ID,
</span><span class="cx">                         'ping_status' =&gt; 0, 'post_parent' =&gt; 0, 'menu_order' =&gt; $position,
</span><span class="lines">@@ -128,7 +147,7 @@
</span><span class="cx"> 
</span><span class="cx">                 if ( $parent_id &gt; 0 &amp;&amp; isset( $parent_menu_ids[$parent_id] ) )
</span><span class="cx">                         $post['post_parent'] = $parent_menu_ids[$parent_id];
</span><del>-
</del><ins>+                
</ins><span class="cx">                 // New menu item
</span><span class="cx">                 if ( $db_id == 0 ) {
</span><span class="cx">                         $db_id = wp_insert_post( $post );
</span><span class="lines">@@ -160,17 +179,16 @@
</span><span class="cx"> ?&gt;
</span><span class="cx"> &lt;div class=&quot;wrap&quot;&gt;
</span><span class="cx">         &lt;?php screen_icon(); ?&gt;
</span><del>-        &lt;h2&gt;&lt;?php esc_html_e('Menus') ?&gt;&lt;/h2&gt;
</del><ins>+        &lt;h2&gt;&lt;?php esc_html_e('Menus'); ?&gt;&lt;/h2&gt;
</ins><span class="cx">         &lt;?php echo $messages_div; ?&gt;
</span><span class="cx">         &lt;div class=&quot;hide-if-js error&quot;&gt;&lt;p&gt;&lt;?php _e('You do not have JavaScript enabled in your browser. Please enable it to access the Menus functionality.'); ?&gt;&lt;/p&gt;&lt;/div&gt;
</span><span class="cx">         
</span><del>-        
-        &lt;form onsubmit=&quot;updatepostdata()&quot; action=&quot;&lt;?php echo admin_url( 'nav-menus.php' ); ?&gt;&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt;
-                &lt;?php if ( ! empty( $custom_menus ) &amp;&amp; count( $custom_menus ) &gt; 1 ) : ?&gt;
</del><ins>+        &lt;form onsubmit=&quot;wp_update_post_data();&quot; action=&quot;&lt;?php echo admin_url( 'nav-menus.php' ); ?&gt;&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt;
+                &lt;?php if ( !empty($menus) &amp;&amp; count($menus) &gt; 1 ) : ?&gt;
</ins><span class="cx">                 &lt;ul class=&quot;subsubsub&quot;&gt;
</span><span class="cx">                         &lt;?php
</span><del>-                                foreach ( $custom_menus as $menu ) {
-                                        $sep = end( $custom_menus ) == $menu ? '' : ' | ';
</del><ins>+                                foreach ( $menus as $menu ) {
+                                        $sep = end( $menus ) == $menu ? '' : ' | ';
</ins><span class="cx">                                         if ( ( $menu_id_in_edit == $menu-&gt;term_id ) || ( $menu_selected_id == $menu-&gt;term_id ) ) { ?&gt;
</span><span class="cx">                                                 &lt;li&gt;&lt;a href='nav-menus.php?edit-menu=&lt;?php echo esc_attr($menu-&gt;term_id); ?&gt;' class=&quot;current&quot;&gt;&lt;?php echo esc_html( $menu-&gt;name ); ?&gt;&lt;/a&gt;&lt;?php echo $sep; ?&gt;&lt;/li&gt;
</span><span class="cx">                         &lt;?php        } else { ?&gt;
</span><span class="lines">@@ -181,67 +199,116 @@
</span><span class="cx">                 &lt;/ul&gt;
</span><span class="cx">                 &lt;?php endif; ?&gt;
</span><span class="cx">                 
</span><del>-                &lt;div id=&quot;menus-container&quot; class=&quot;metabox-holder has-right-sidebar&quot;&gt;
</del><ins>+                &lt;div id=&quot;menu-management&quot; class=&quot;metabox-holder has-right-sidebar&quot;&gt;
+                        &lt;div id=&quot;post-body&quot;&gt;
+                                &lt;div id=&quot;post-body-content&quot;&gt;
+                                        &lt;div id=&quot;normal-sortables&quot; class=&quot;meta-box-sortables ui-sortable&quot;&gt;
+                                        &lt;?php if ( $valid_menu and ! empty( $menus ) ) : ?&gt;
+                                                &lt;div id=&quot;menu-container&quot; class=&quot;postbox&quot;&gt;        
+                                                        &lt;h3 class=&quot;hndle&quot;&gt;&lt;?php echo esc_html( $menu_title ); ?&gt;&lt;/h3&gt;
+                                                        &lt;div class=&quot;inside&quot;&gt;
+                                                                &lt;input type=&quot;hidden&quot; name=&quot;li-count&quot; id=&quot;li-count&quot; value=&quot;0&quot; /&gt;
+                                                                &lt;input type=&quot;hidden&quot; name=&quot;menu-id-in-edit&quot; id=&quot;menu-id-in-edit&quot; value=&quot;&lt;?php echo esc_attr( $menu_selected_id ); ?&gt;&quot; /&gt;
+
+                                                                &lt;ul id=&quot;menu&quot;&gt;
+                                                                &lt;?php
+                                                                if ( $menu_selected_id &gt; 0 ) {
+                                                                        wp_print_nav_menu( array( 'type' =&gt; 'backend', 'name' =&gt; $menu_title, 'id' =&gt; $menu_selected_id ) );
+                                                                }
+                                                                ?&gt;
+                                                                &lt;/ul&gt;&lt;!-- /#menu--&gt;
+                                                                
+                                                                &lt;div id=&quot;queue&quot; class=&quot;hide&quot;&gt;
+                                                                &lt;/div&gt;&lt;!--/#queue--&gt;
+                                                        &lt;/div&gt;&lt;!-- /.inside --&gt;
+                                                &lt;!-- /#nav-menu-canvas .postbox--&gt;
+                                                &lt;/div&gt;
+                                                &lt;p&gt;
+                                                        &lt;script type=&quot;text/javascript&quot;&gt;
+                                                                wp_update_post_data();
+                                                        &lt;/script&gt;
+                                                        &lt;a class=&quot;submitdelete deletion&quot; href=&quot;&lt;?php echo wp_nonce_url( admin_url('nav-menus.php?delete-menu=' . $menu_selected_id), 'delete_menu-' . $menu_selected_id ); ?&gt;&quot;&gt;&lt;?php _e('Delete Menu'); ?&gt;&lt;/a&gt;
+                                                        &lt;input class=&quot;button-primary save&quot; name=&quot;save_menu&quot; type=&quot;submit&quot; value=&quot;&lt;?php esc_attr_e('Save All Changes'); ?&gt;&quot; /&gt;
+                                                        &lt;br class=&quot;clear&quot; /&gt;
+                                                &lt;/p&gt;
+                                        &lt;?php endif; ?&gt;
+                                        &lt;/div&gt;&lt;!-- /#normal-sortables--&gt;
+                                &lt;/div&gt;&lt;!-- /#post-body-content--&gt;
+                        &lt;/div&gt;&lt;!--- /#post-body --&gt;
</ins><span class="cx">                         &lt;div id=&quot;menu-settings-column&quot; class=&quot;inner-sidebar&quot;&gt;
</span><span class="cx">                                 &lt;div id=&quot;side-sortables&quot; class=&quot;meta-box-sortables ui-sortable&quot;&gt;
</span><span class="cx">                                         
</span><del>-                                        &lt;div id=&quot;add-menu&quot; class=&quot;postbox&quot;&gt;
-                                                &lt;div class=&quot;handlediv&quot; title=&quot;Click to toggle&quot;&gt;&lt;br /&gt;&lt;/div&gt;
-                                                &lt;h3 class=&quot;hndle&quot;&gt;&lt;?php esc_html_e('Add Menu'); ?&gt;&lt;/h3&gt;
</del><ins>+                                        &lt;div id=&quot;create-menu&quot; class=&quot;postbox&quot;&gt;
+                                                &lt;h3 class=&quot;hndle&quot;&gt;&lt;?php esc_html_e('Create Menu'); ?&gt;&lt;/h3&gt;
</ins><span class="cx">                                                 &lt;div class=&quot;inside&quot;&gt;
</span><del>-                                                        &lt;span&gt;
-                                                                &lt;input id=&quot;add-menu-name&quot; name=&quot;add-menu-name&quot; type=&quot;text&quot; class=&quot;regular-text&quot; value=&quot;&quot;  /&gt;
-                                                                &lt;input id=&quot;add-menu&quot; type=&quot;submit&quot; value=&quot;&lt;?php esc_attr_e('Add Menu'); ?&gt;&quot; name=&quot;add-menu&quot; class=&quot;button&quot; /&gt;
-                                                        &lt;/span&gt;
</del><ins>+                                                        &lt;p&gt;
+                                                                &lt;input type=&quot;text&quot; name=&quot;create-menu-name&quot; id=&quot;create-menu-name&quot; class=&quot;regular-text&quot; value=&quot;&quot;  /&gt;
+                                                                &lt;input type=&quot;submit&quot; name=&quot;create-menu&quot; id=&quot;create-menu&quot; class=&quot;button&quot; value=&quot;&lt;?php esc_attr_e('Create Menu'); ?&gt;&quot; /&gt;
+                                                        &lt;/p&gt;
</ins><span class="cx">                                                 &lt;/div&gt;&lt;!-- /.inside--&gt;
</span><del>-                                        &lt;/div&gt;&lt;!--END #add-menu--&gt;
</del><ins>+                                        &lt;/div&gt;&lt;!--END #create-menu--&gt;
</ins><span class="cx">                                         
</span><span class="cx">                                         &lt;div id=&quot;add-custom-link&quot; class=&quot;postbox&quot;&gt;
</span><del>-                                                &lt;div class=&quot;handlediv&quot; title=&quot;Click to toggle&quot;&gt;&lt;br /&gt;&lt;/div&gt;
</del><span class="cx">                                                 &lt;h3 class=&quot;hndle&quot;&gt;&lt;?php esc_html_e('Add a Custom Link'); ?&gt;&lt;/h3&gt;
</span><del>-                                                &lt;div class=&quot;inside&quot;&gt;
</del><ins>+                                                &lt;div class=&quot;inside&quot;&gt;                                                        
+                                                        &lt;p id=&quot;menu-item-url-wrap&quot;&gt;
+                                                                &lt;label class=&quot;howto&quot; for=&quot;menu-item-url&quot;&gt;
+                                                                        &lt;span&gt;&lt;?php _e('URL'); ?&gt;&lt;/span&gt;
+                                                                        &lt;input id=&quot;menu-item-url&quot; name=&quot;menu-item-url&quot; type=&quot;text&quot; class=&quot;code&quot; value=&quot;http://&quot; /&gt;
+                                                                &lt;/label&gt;
+                                                        &lt;/p&gt;
+                                                        &lt;br class=&quot;clear&quot; /&gt;
+                                                        &lt;p id=&quot;menu-item-name-wrap&quot;&gt;
+                                                                &lt;label class=&quot;howto&quot; for=&quot;custom-menu-item-name&quot;&gt;
+                                                                        &lt;span&gt;&lt;?php _e('Text'); ?&gt;&lt;/span&gt;
+                                                                        &lt;input id=&quot;menu-item-name&quot; type=&quot;text&quot; class=&quot;regular-text&quot; value=&quot;&lt;?php echo esc_attr( __('Menu Item') ); ?&gt;&quot; /&gt;
+                                                                &lt;/label&gt;
+                                                        &lt;/p&gt;
</ins><span class="cx">                                                         
</span><del>-                                                        &lt;p class=&quot;howto&quot;&gt;&lt;label for=&quot;custom-menu-item-url&quot;&gt;&lt;input id=&quot;custom-menu-item-url&quot; type=&quot;text&quot; class=&quot;widefat code&quot; value=&quot;http://&quot; /&gt;&lt;?php _e('URL'); ?&gt;&lt;/label&gt;&lt;/p&gt;
-                                                        
-                                                        &lt;?php $template_dir = get_bloginfo('url'); ?&gt;
-                                                        &lt;input type=&quot;hidden&quot; id=&quot;template-dir&quot; value=&quot;&lt;?php echo esc_attr($template_dir); ?&gt;&quot; /&gt;
-                                                        
-                                                        &lt;p class=&quot;howto&quot;&gt;&lt;label for=&quot;custom-menu-item-name&quot;&gt;&lt;input id=&quot;custom-menu-item-name&quot; type=&quot;text&quot; class=&quot;widefat regular-text&quot; value=&quot;&lt;?php echo esc_attr( __('Menu Item') ); ?&gt;&quot; /&gt;&lt;?php _e('Text'); ?&gt;&lt;/label&gt;&lt;/p&gt;
-                                                        
-                                                        &lt;label class=&quot;howto&quot; for=&quot;custom_menu_item_description&quot; &lt;?php if ($advanced_option_descriptions == 'no') { ?&gt;style=&quot;display:none;&quot;&lt;?php } ?&gt;&gt;
-                                                                &lt;input id=&quot;custom_menu_item_description&quot; type=&quot;text&quot; class=&quot;widefat regular-text&quot; value=&quot;&lt;?php esc_attr_e('A description'); ?&gt;&quot; &lt;?php if ($advanced_option_descriptions == 'no') { ?&gt;style=&quot;display:none;&quot;&lt;?php } ?&gt; onfocus=&quot;jQuery('#custom_menu_item_description').attr('value','');&quot; /&gt;
-                                                                &lt;?php _e('Description'); ?&gt;
-                                                        &lt;/label&gt;
-                                                        
-                                                        &lt;?php if ( 'no' != $advanced_option_descriptions ) { echo '&lt;br /&gt;'; } ?&gt;
-                                                        
-                                                        &lt;a class=&quot;addtomenu button&quot; onclick=&quot;appendToList('&lt;?php echo $template_dir; ?&gt;','&lt;?php echo esc_js( _x('Custom', 'menu nav item type') ); ?&gt;','','','','0','');jQuery('#custom-menu-item-name').attr('value','&lt;?php echo esc_js( __('Menu Item') ); ?&gt;');jQuery('#custom_menu_item_description').attr('value','&lt;?php echo esc_js( __('A description') ); ?&gt;');&quot;&gt;&lt;?php _e('Add Link'); ?&gt;&lt;/a&gt;
</del><ins>+                                        &lt;?php if ( $available_links-&gt;posts ) : ?&gt;
+                                                        &lt;p class=&quot;button-controls&quot;&gt;
+                                                                &lt;a class=&quot;show-all button&quot;&gt;&lt;?php _e('View All'); ?&gt;&lt;/a&gt;
+                                                                &lt;a class=&quot;hide-all button&quot;&gt;&lt;?php _e('Hide All'); ?&gt;&lt;/a&gt;
+                                                        &lt;/p&gt;
+                                                        &lt;div id=&quot;available-links&quot; class=&quot;list-wrap&quot;&gt;
+                                                                &lt;div class=&quot;list-container&quot;&gt;
+                                                                        &lt;ul class=&quot;list&quot;&gt;
+                                                                        &lt;?php
+                                                                        foreach ( $available_links-&gt;posts as $link ) :
+                                                                        $url = get_post_meta( $link-&gt;ID, 'menu_link' );
+                                                                        ?&gt;
+                                                                                &lt;li&gt;
+                                                                                        &lt;dl&gt;
+                                                                                                &lt;dt&gt;
+                                                                                                        &lt;label class=&quot;item-title&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;link-&lt;?php echo esc_attr($link-&gt;ID); ?&gt;&quot; name=&quot;&lt;?php echo esc_attr($link-&gt;post_title); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr($url[0]); ?&gt;&quot; /&gt;&lt;?php echo esc_html($link-&gt;post_title); ?&gt;&lt;/label&gt;
+                                                                                                &lt;/dt&gt;
+                                                                                        &lt;/dl&gt;
+                                                                                &lt;/li&gt;
+                                                                        &lt;?php
+                                                                        endforeach;
+                                                                        ?&gt;
+                                                                        &lt;/ul&gt;
+                                                                &lt;/div&gt;&lt;!-- /.list-container--&gt;
+                                                        &lt;/div&gt;&lt;!-- /#available-links--&gt;
+                                        &lt;?php endif; ?&gt;
+                                                        &lt;p class=&quot;add-to-menu&quot;&gt;
+                                                                &lt;a class=&quot;button&quot;&gt;&lt;?php _e('Add to Menu'); ?&gt;&lt;/a&gt;
+                                                        &lt;/p&gt;
</ins><span class="cx">                                                         &lt;br class=&quot;clear&quot; /&gt;
</span><span class="cx">                                                 &lt;/div&gt;&lt;!-- /.inside--&gt;
</span><span class="cx">                                         &lt;/div&gt;&lt;!-- /#add-custom-link--&gt;
</span><span class="cx">                                         
</span><span class="cx">                                         &lt;div id=&quot;add-pages&quot; class=&quot;postbox&quot;&gt;
</span><del>-                                                &lt;div class=&quot;handlediv&quot; title=&quot;Click to toggle&quot;&gt;&lt;br /&gt;&lt;/div&gt;
</del><span class="cx">                                                 &lt;h3 class=&quot;hndle&quot;&gt;&lt;?php esc_html_e('Add an Existing Page'); ?&gt;&lt;/h3&gt;
</span><span class="cx">                                                 &lt;div class=&quot;inside&quot;&gt;
</span><span class="cx">                                                         &lt;?php
</span><span class="cx">                                                                 $pages_args = array(
</span><del>-                                                                        'child_of' =&gt; 0,
-                                                                        'sort_order' =&gt; 'ASC',
-                                                                        'sort_column' =&gt; 'post_title',
-                                                                        'hierarchical' =&gt; 1,
-                                                                        'exclude' =&gt; '',
-                                                                        'include' =&gt; '',
-                                                                        'meta_key' =&gt; '',
-                                                                        'meta_value' =&gt; '',
-                                                                        'authors' =&gt; '',
-                                                                        'parent' =&gt; -1,
-                                                                        'exclude_tree' =&gt; '',
-                                                                        'number' =&gt; '',
-                                                                        'offset' =&gt; 0
</del><ins>+                                                                        'child_of' =&gt; 0, 'sort_order' =&gt; 'ASC', 'sort_column' =&gt; 'post_title', 'hierarchical' =&gt; 1,
+                                                                        'exclude' =&gt; '', 'include' =&gt; '', 'meta_key' =&gt; '', 'meta_value' =&gt; '', 'authors' =&gt; '',
+                                                                        'parent' =&gt; -1, 'exclude_tree' =&gt; '', 'number' =&gt; '', 'offset' =&gt; 0
</ins><span class="cx">                                                                 );
</span><span class="cx">                                                                 $page_name = '';
</span><del>-                                                                $pages_array = get_pages($pages_args);
</del><ins>+                                                                $pages_array = get_pages( $pages_args );
</ins><span class="cx">                                                                 if ( $pages_array ) {
</span><span class="cx">                                                                         foreach ( $pages_array as $post ) {
</span><span class="cx">                                                                                 $page_name .= $post-&gt;post_title . '|';
</span><span class="lines">@@ -252,38 +319,43 @@
</span><span class="cx">                                                         ?&gt;
</span><span class="cx">                                                         &lt;script type=&quot;text/javascript&quot; charset=&quot;&lt;?php bloginfo('charset'); ?&gt;&quot;&gt;
</span><span class="cx">                                                                 jQuery(document).ready(function(){
</span><del>-                                                                        var posts = &quot;&lt;?php echo esc_js( $page_name ); ?&gt;&quot;.split(&quot;|&quot;);
-                                                                        jQuery(&quot;#page-search&quot;).autocomplete(posts);
-                                                                        jQuery(&quot;#page-search&quot;).result(function(event, data, formatted) {
-                                                                                jQuery('#existing-pages').css('display','block');
-                                                                                jQuery(&quot;#existing-pages dt:contains('&quot; + data + &quot;')&quot;).css(&quot;display&quot;, &quot;block&quot;);
-                                                                                jQuery('#show-pages').hide();
-                                                                                jQuery('#hide-pages').show();
</del><ins>+                                                                        var posts = &quot;&lt;?php echo esc_js( $page_name ); ?&gt;&quot;.split('|');
+                                                                        jQuery('#add-pages .quick-search').autocomplete(posts);
+                                                                        
+                                                                        
+                                                                        jQuery('#add-pages .quick-search').result(function(event, data, formatted) {
+                                                                                jQuery('#add-pages .list-wrap').css('display','block');
+                                                                                jQuery(&quot;#add-pages .list-wrap dt:contains('&quot; + data + &quot;')&quot;).css('display','block');
+                                                                                jQuery('#add-pages .show-all').hide();
+                                                                                jQuery('#add-pages .hide-all').show();
</ins><span class="cx">                                                                         });
</span><del>-                                                                        jQuery('#existing-pages').css('display','none');
</del><span class="cx">                                                                 });
</span><span class="cx">                                                         &lt;/script&gt;
</span><del>-                                                        &lt;input type=&quot;text&quot; onfocus=&quot;jQuery('#page-search').attr('value','');&quot; id=&quot;page-search&quot; class=&quot;regular-text&quot; value=&quot;&lt;?php esc_attr_e('Search Pages'); ?&gt;&quot; /&gt;
-
-                                                        &lt;a id=&quot;show-pages&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;jQuery('#existing-pages').css('display','block');jQuery('#page-search').attr('value','');jQuery('#existing-pages dt').css('display','block');jQuery('#show-pages').hide();jQuery('#hide-pages').show();&quot;&gt;&lt;?php _e('View All'); ?&gt;&lt;/a&gt;
-                                                        &lt;a id=&quot;hide-pages&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;jQuery('#existing-pages').css('display','none');jQuery('#page-search').attr('value','Search Pages');jQuery('#existing-pages dt').css('display','none');jQuery('#show-pages').show();jQuery('#hide-pages').hide();&quot;&gt;&lt;?php _e('Hide All'); ?&gt;&lt;/a&gt;
-
-                                                        &lt;script type=&quot;text/javascript&quot;&gt;
-                                                                jQuery('#hide-pages').hide();
-                                                        &lt;/script&gt;
</del><ins>+                                                        &lt;p&gt;
+                                                                &lt;input type=&quot;text&quot; class=&quot;quick-search regular-text&quot; value=&quot;&quot; /&gt;
+                                                                &lt;a class=&quot;quick-search-submit button&quot;&gt;&lt;?php _e('Search'); ?&gt;&lt;/a&gt;
+                                                        &lt;/p&gt;
</ins><span class="cx">                                                         
</span><ins>+                                                        &lt;p class=&quot;button-controls&quot;&gt;
+                                                                &lt;a class=&quot;show-all button&quot;&gt;&lt;?php _e('View All'); ?&gt;&lt;/a&gt;
+                                                                &lt;a class=&quot;hide-all button&quot;&gt;&lt;?php _e('Hide All'); ?&gt;&lt;/a&gt;
+                                                        &lt;/p&gt;
</ins><span class="cx">                                                         
</span><del>-                                                        &lt;div id=&quot;existing-pages&quot; class=&quot;list-container&quot;&gt;
-                                                                &lt;ul class=&quot;list&quot;&gt;
-                                                                &lt;?php $items_counter = wp_nav_menu_get_pages( 0,'default' ); ?&gt;
-                                                                &lt;/ul&gt;
-                                                        &lt;/div&gt;&lt;!-- /.list-container--&gt;
</del><ins>+                                                        &lt;div id=&quot;existing-pages&quot; class=&quot;list-wrap&quot;&gt;
+                                                                &lt;div class=&quot;list-container&quot;&gt;
+                                                                        &lt;ul class=&quot;list&quot;&gt;
+                                                                        &lt;?php $items_counter = wp_nav_menu_get_pages( 0, 'default' ); ?&gt;
+                                                                        &lt;/ul&gt;
+                                                                &lt;/div&gt;&lt;!-- /.list-container--&gt;
+                                                        &lt;/div&gt;&lt;!-- /#existing-pages--&gt;
+                                                        &lt;p class=&quot;add-to-menu enqueue&quot;&gt;
+                                                                &lt;a class=&quot;button&quot;&gt;&lt;?php _e('Add to Menu'); ?&gt;&lt;/a&gt;
+                                                        &lt;/p&gt;
</ins><span class="cx">                                                         &lt;br class=&quot;clear&quot; /&gt;
</span><span class="cx">                                                 &lt;/div&gt;&lt;!-- /.inside--&gt;
</span><span class="cx">                                         &lt;/div&gt;&lt;!--END #add-pages--&gt;
</span><span class="cx">                                         
</span><span class="cx">                                         &lt;div id=&quot;add-categories&quot; class=&quot;postbox&quot;&gt;
</span><del>-                                                &lt;div class=&quot;handlediv&quot; title=&quot;Click to toggle&quot;&gt;&lt;br /&gt;&lt;/div&gt;
</del><span class="cx">                                                 &lt;h3 class=&quot;hndle&quot;&gt;&lt;?php esc_html_e('Add an Existing Category'); ?&gt;&lt;/h3&gt;
</span><span class="cx">                                                 &lt;div class=&quot;inside&quot;&gt;
</span><span class="cx">                                                         &lt;?php
</span><span class="lines">@@ -311,92 +383,85 @@
</span><span class="cx">                                                         ?&gt;
</span><span class="cx">                                                         &lt;script type=&quot;text/javascript&quot; charset=&quot;&lt;?php bloginfo('charset'); ?&gt;&quot;&gt;
</span><span class="cx">                                                                 jQuery(document).ready(function(){
</span><del>-                                                                        var categories = &quot;&lt;?php echo esc_js($cat_name); ?&gt;&quot;.split(&quot;|&quot;);
-                                                                        jQuery(&quot;#cat-search&quot;).autocomplete(categories);
-                                                                        jQuery(&quot;#cat-search&quot;).result(function(event, data, formatted) {
-                                                                                jQuery('#existing-categories').css('display','block');
-                                                                                jQuery(&quot;#existing-categories dt:contains('&quot; + data + &quot;')&quot;).css(&quot;display&quot;, &quot;block&quot;);
-                                                                                jQuery('#show-cats').hide();
-                                                                                jQuery('#hide-cats').show();
</del><ins>+                                                                        var categories = &quot;&lt;?php echo esc_js($cat_name); ?&gt;&quot;.split('|');
+                                                                        jQuery('#add-categories .quick-search').autocomplete(categories);
+                                                                        jQuery('#add-categories .quick-search').result(function(event, data, formatted) {
+                                                                                jQuery('#add-categories .list-wrap').css('display','block');
+                                                                                jQuery(&quot;#add-categories .list-wrap dt:contains('&quot; + data + &quot;')&quot;).css('display','block');
+                                                                                jQuery('#add-categories .show-all').hide();
+                                                                                jQuery('#add-categories .hide-all').show();
</ins><span class="cx">                                                                         });
</span><del>-                                                                        jQuery('#existing-categories').css('display','none');
</del><span class="cx">                                                                 });
</span><span class="cx">                                                         &lt;/script&gt;
</span><del>-
-                                                        &lt;input type=&quot;text&quot; onfocus=&quot;jQuery('#cat-search').attr('value','');&quot; id=&quot;cat-search&quot; class=&quot;regular-text&quot; value=&quot;&lt;?php esc_attr_e('Search Categories'); ?&gt;&quot; /&gt;
-
-                                                        &lt;a id=&quot;show-cats&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;jQuery('#existing-categories').css('display','block');jQuery('#cat-search').attr('value','');jQuery('#existing-categories dt').css('display','block');jQuery('#show-cats').hide();jQuery('#hide-cats').show();&quot;&gt;&lt;?php _e('View All'); ?&gt;&lt;/a&gt;
-                                                        &lt;a id=&quot;hide-cats&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;jQuery('#existing-categories').css('display','none');jQuery('#cat-search').attr('value','Search Categories');jQuery('#existing-categories dt').css('display','none');jQuery('#show-cats').show();jQuery('#hide-cats').hide();&quot;&gt;&lt;?php _e('Hide All'); ?&gt;&lt;/a&gt;
-
-                                                        &lt;script type=&quot;text/javascript&quot;&gt;
-                                                                jQuery('#hide-cats').hide();
-                                                        &lt;/script&gt;
-
-                                                        &lt;div id=&quot;existing-categories&quot; class=&quot;list-container&quot;&gt;
-                                                                &lt;ul class=&quot;list&quot;&gt;
-                                                                        &lt;?php $items_counter = wp_nav_menu_get_categories( $items_counter, 'default' ); ?&gt;
-                                                                &lt;/ul&gt;
-                                                        &lt;/div&gt;&lt;!-- /.list-container--&gt;
</del><ins>+                                                        &lt;p&gt;
+                                                                &lt;input type=&quot;text&quot; class=&quot;quick-search regular-text&quot; value=&quot;&quot; /&gt;
+                                                                &lt;a class=&quot;quick-search-submit button&quot;&gt;&lt;?php _e('Search'); ?&gt;&lt;/a&gt;
+                                                        &lt;/p&gt;
+                                                        
+                                                        &lt;p class=&quot;button-controls&quot;&gt;
+                                                                &lt;a class=&quot;show-all button&quot;&gt;&lt;?php _e('View All'); ?&gt;&lt;/a&gt;
+                                                                &lt;a class=&quot;hide-all button&quot;&gt;&lt;?php _e('Hide All'); ?&gt;&lt;/a&gt;
+                                                        &lt;/p&gt;
+                                                        
+                                                        &lt;div id=&quot;existing-categories&quot; class=&quot;list-wrap&quot;&gt;
+                                                                &lt;div class=&quot;list-container&quot;&gt;
+                                                                        &lt;ul class=&quot;list&quot;&gt;
+                                                                                &lt;?php $items_counter = wp_nav_menu_get_categories( $items_counter, 'default' ); ?&gt;
+                                                                        &lt;/ul&gt;
+                                                                &lt;/div&gt;&lt;!-- /.list-container--&gt;
+                                                        &lt;/div&gt;&lt;!-- /#existing-categories--&gt;
+                                                        &lt;p class=&quot;add-to-menu enqueue&quot;&gt;
+                                                                &lt;a class=&quot;button&quot;&gt;&lt;?php _e('Add to Menu'); ?&gt;&lt;/a&gt;
+                                                        &lt;/p&gt;
</ins><span class="cx">                                                         &lt;br class=&quot;clear&quot; /&gt;
</span><span class="cx">                                                 &lt;/div&gt;&lt;!-- /.inside--&gt;
</span><span class="cx">                                         &lt;/div&gt;&lt;!--END #add-categories--&gt;
</span><span class="cx">                                 &lt;/div&gt;&lt;!-- /#side-sortables--&gt;
</span><span class="cx">                         &lt;/div&gt;&lt;!-- /#menu-settings-column --&gt;
</span><del>-
-                        &lt;div id=&quot;post-body&quot;&gt;
-                                &lt;div id=&quot;post-body-content&quot;&gt;
-                                        &lt;div id=&quot;normal-sortables&quot; class=&quot;meta-box-sortables ui-sortable&quot;&gt;
-                                        
-                                        &lt;?php if ( ! empty( $custom_menus ) ) : ?&gt;
-                                                &lt;div id=&quot;nav-container&quot; class=&quot;postbox&quot;&gt;        
-                                                        &lt;h3 class=&quot;hndle&quot;&gt;&lt;?php echo esc_html( $menu_title ); ?&gt;&lt;/h3&gt;
-                                                        &lt;div class=&quot;inside&quot;&gt;
-                                                                &lt;input type=&quot;hidden&quot; name=&quot;li-count&quot; id=&quot;li-count&quot; value=&quot;0&quot; /&gt;
-                                                                &lt;input type=&quot;hidden&quot; name=&quot;menu-id-in-edit&quot; id=&quot;menu-id-in-edit&quot; value=&quot;&lt;?php echo esc_attr( $menu_selected_id ); ?&gt;&quot; /&gt;
-
-                                                                &lt;ul id=&quot;custom-nav&quot;&gt;
-                                                                &lt;?php
-                                                                if ( $menu_selected_id &gt; 0 ) {
-                                                                        wp_print_nav_menu( array( 'type' =&gt; 'backend', 'name' =&gt; $menu_title, 'id' =&gt; $menu_selected_id ) );
-                                                                }
-                                                                ?&gt;
-                                                                &lt;/ul&gt;&lt;!-- /#custom-nav--&gt;
-                                                        &lt;/div&gt;&lt;!-- /.inside --&gt;
-                                                &lt;!-- /#nav-menu-canvas .postbox--&gt;
-                                                &lt;/div&gt;
-                                                &lt;p class=&quot;submit&quot;&gt;
-                                                        &lt;script type=&quot;text/javascript&quot;&gt;
-                                                                updatepostdata();
-                                                        &lt;/script&gt;
-                                                        &lt;input id=&quot;save_bottom&quot; name=&quot;save_bottom&quot; type=&quot;submit&quot; value=&quot;&lt;?php esc_attr_e('Save All Changes'); ?&gt;&quot; /&gt;
-                                                        &lt;input id=&quot;delete-menu&quot; name=&quot;delete-menu&quot; type=&quot;submit&quot; value=&quot;&lt;?php esc_attr_e('Delete This Menu'); ?&gt;&quot; /&gt;
-                                                &lt;/p&gt;
-                                                
-                                        &lt;?php else : ?&gt;
-                                                &lt;div class=&quot;updated&quot;&gt;&lt;p&gt;&lt;?php _e( 'Add a menu to start editing!' ); ?&gt;&lt;/p&gt;&lt;/div&gt;
-                                        &lt;?php endif; ?&gt;
-                                        &lt;/div&gt;&lt;!-- /#normal-sortables--&gt;
-                                &lt;/div&gt;&lt;!-- /#post-body-content--&gt;
-                        &lt;/div&gt;&lt;!--- /#post-body --&gt;
</del><span class="cx">                         &lt;br class=&quot;clear&quot; /&gt;
</span><span class="cx">                 &lt;/div&gt;&lt;!-- /.metabox-holder has-right-sidebar--&gt;
</span><span class="cx">         &lt;/form&gt;
</span><span class="cx"> &lt;/div&gt;&lt;!-- /.wrap--&gt;
</span><span class="cx"> 
</span><del>-&lt;div id=&quot;dialog-confirm&quot; style=&quot;display:none;&quot; title=&quot;&lt;?php esc_attr_e('Edit Menu Item'); ?&gt;&quot;&gt;
-        &lt;span id=&quot;edittitle-wrap&quot;&gt;&lt;input id=&quot;edittitle&quot; type=&quot;text&quot; name=&quot;edittitle&quot; value=&quot;&quot; /&gt;&lt;label class=&quot;editlabel&quot; for=&quot;edittitle&quot;&gt;&lt;?php _e('Menu Title'); ?&gt;&lt;/label&gt;&lt;br /&gt;&lt;/span&gt;
-        &lt;span id=&quot;editlink-wrap&quot;&gt;&lt;input id=&quot;editlink&quot; type=&quot;text&quot; name=&quot;editlink&quot; value=&quot;&quot; /&gt;&lt;label class=&quot;editlabel&quot; for=&quot;editlink&quot;&gt;&lt;?php _e('URL'); ?&gt;&lt;/label&gt;&lt;br /&gt;&lt;/span&gt;
-        &lt;span id=&quot;editanchortitle-wrap&quot;&gt;&lt;input id=&quot;editanchortitle&quot; type=&quot;text&quot; name=&quot;editanchortitle&quot; value=&quot;&quot; /&gt;&lt;label class=&quot;editlabel&quot; for=&quot;editanchortitle&quot;&gt;&lt;?php _e('Link Title'); ?&gt;&lt;/label&gt;&lt;br /&gt;&lt;/span&gt;
-        &lt;span id=&quot;editnewwindow-wrap&quot;&gt;
-        &lt;select id=&quot;editnewwindow&quot; name=&quot;editnewwindow&quot;&gt;
-                &lt;option value=&quot;1&quot;&gt;&lt;?php _e('Yes'); ?&gt;&lt;/option&gt;
-                &lt;option value=&quot;0&quot;&gt;&lt;?php _e('No'); ?&gt;&lt;/option&gt;
-        &lt;/select&gt;&lt;label class=&quot;editlabel&quot; for=&quot;editnewwindow&quot;&gt;&lt;?php _e('Open Link in a new window'); ?&gt;&lt;/label&gt;
-        &lt;/span&gt;
-        &lt;span id=&quot;editdescription-wrap&quot;&gt;
-        &lt;input id=&quot;editdescription&quot; type=&quot;text&quot; name=&quot;editdescription&quot; value=&quot;&quot; &lt;?php if ($advanced_option_descriptions == 'no') { ?&gt;style=&quot;display:none;&quot;&lt;?php } ?&gt; /&gt;&lt;label class=&quot;editlabel&quot; for=&quot;editdescription&quot; &lt;?php if ($advanced_option_descriptions == 'no') { ?&gt;style=&quot;display:none;&quot;&lt;?php } ?&gt; &gt;&lt;?php _e('Description'); ?&gt;&lt;/label&gt;&lt;br /&gt;&lt;/span&gt;
-&lt;/div&gt;
</del><ins>+&lt;div id=&quot;menu-item-settings&quot;&gt;
+        &lt;p class=&quot;description&quot;&gt;
+                &lt;label for=&quot;edit-item-title&quot;&gt;
+                        &lt;?php _e( 'Menu Title' ); ?&gt;&lt;br /&gt;
+                        &lt;input type=&quot;text&quot; id=&quot;edit-item-title&quot; class=&quot;widefat&quot; name=&quot;edit-item-title&quot; value=&quot;&quot; tabindex=&quot;1&quot; /&gt;
+                &lt;/label&gt;
+        &lt;/p&gt;
+        &lt;p class=&quot;description&quot;&gt;
+                &lt;label for=&quot;edit-item-url&quot;&gt;
+                        &lt;?php _e( 'URL' ); ?&gt;&lt;br /&gt;
+                        &lt;input type=&quot;text&quot; id=&quot;edit-item-url&quot; class=&quot;widefat code&quot; name=&quot;edit-item-url&quot; value=&quot;&quot; tabindex=&quot;2&quot; /&gt;
+                &lt;/label&gt;
+        &lt;/p&gt;
+        &lt;p class=&quot;description&quot;&gt;
+                &lt;label for=&quot;edit-item-attr-title&quot;&gt;
+                        &lt;?php _e( 'Attribute Title' ); ?&gt;&lt;br /&gt;
+                        &lt;input type=&quot;text&quot; id=&quot;edit-item-attr-title&quot; class=&quot;widefat&quot; name=&quot;edit-item-attr-title&quot; value=&quot;&quot; tabindex=&quot;3&quot; /&gt;
+                &lt;/label&gt;
+        &lt;/p&gt;
+        &lt;p class=&quot;description&quot;&gt;
+                &lt;label for=&quot;edit-item-target&quot;&gt;
+                        &lt;?php _e( 'Open Link in a new window' ); ?&gt;&lt;br /&gt;
+                        &lt;select id=&quot;edit-item-target&quot; class=&quot;widefat&quot; name=&quot;edit-item-target&quot;&gt;
+                                &lt;option value=&quot;1&quot;&gt;Yes&lt;/option&gt;
+                                &lt;option value=&quot;0&quot;&gt;No&lt;/option&gt;
+                        &lt;/select&gt;
+                &lt;/label&gt;
+        &lt;/p&gt;
+        &lt;p class=&quot;description&quot;&gt;
+                &lt;label for=&quot;edit-item-description&quot;&gt;
+                        &lt;?php _e( 'Description' ); ?&gt;&lt;br /&gt;
+                        &lt;textarea id=&quot;edit-item-description&quot; class=&quot;widefat&quot; rows=&quot;3&quot; name=&quot;edit-item-description&quot; tabindex=&quot;4&quot; /&gt;&lt;/textarea&gt;
+                &lt;/label&gt;
+        &lt;/p&gt;
+        &lt;p&gt;
+                &lt;a id=&quot;cancel-save&quot; class=&quot;submitdelete deletion&quot;&gt;&lt;?php _e('Cancel'); ?&gt;&lt;/a&gt;
+                &lt;a id=&quot;update-menu-item&quot; class=&quot;save button-primary&quot; tabindex=&quot;5&quot;&gt;&lt;?php _e('Save Changes'); ?&gt;&lt;/a&gt;
+        &lt;/p&gt;
+        &lt;input type=&quot;hidden&quot; id=&quot;edit-item-id&quot; name=&quot;edit-item-id&quot; value=&quot;&quot; /&gt;
+&lt;/div&gt;&lt;!-- /#menu-item-settings--&gt;
</ins><span class="cx"> 
</span><del>-&lt;?php
-
-include( 'admin-footer.php' );
</del><ins>+&lt;?php include( 'admin-footer.php' ); ?&gt;
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkwpincludesdefaultwidgetsphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/default-widgets.php (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/default-widgets.php        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-includes/default-widgets.php        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -1045,7 +1045,7 @@
</span><span class="cx"> 
</span><span class="cx">         function WP_Nav_Menu_Widget() {
</span><span class="cx">                 $widget_ops = array('description' =&gt; __('Use this widget to add one of your navigation menus as a widget.') );
</span><del>-                parent::WP_Widget(false, __('Navigation Menu'), $widget_ops);
</del><ins>+                parent::WP_Widget( false, __('Navigation Menu'), $widget_ops );
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         function widget($args, $instance) {
</span><span class="lines">@@ -1060,7 +1060,7 @@
</span><span class="cx">                 $navulclass = $instance['navulclass'];
</span><span class="cx"> 
</span><span class="cx">                 // Override for menu descriptions
</span><del>-                $advanced_option_descriptions = get_option('wp_settings_custom_nav_advanced_options');
</del><ins>+                $advanced_option_descriptions = get_option('wp_settings_nav_menu_advanced_options');
</ins><span class="cx">                 if ( $advanced_option_descriptions == 'no' ) {
</span><span class="cx">                         $navwidgetdescription = 2;
</span><span class="cx">                 } else {
</span><span class="lines">@@ -1104,19 +1104,19 @@
</span><span class="cx">                         } else {
</span><span class="cx">                                 // DISPLAY default UL
</span><span class="cx">                                 ?&gt;
</span><del>-                                &lt;ul class=&quot;custom-nav&quot;&gt;
</del><ins>+                                &lt;ul class=&quot;menu&quot;&gt;
</ins><span class="cx">                                 &lt;?php
</span><span class="cx">                         }
</span><span class="cx">                         wp_nav_menu( array('id' =&gt; $navmenu, 'name' =&gt; $wp_custom_nav_menu_name, 'desc' =&gt; $navwidgetdescription, 'format' =&gt; 'widget') );
</span><span class="cx">                         if ( $navdeveloper == 'yes' ) {
</span><del>-                                //DISPLAY Custom UL
</del><ins>+                                // DISPLAY Custom UL
</ins><span class="cx">                                 if ( $navul == 'yes' ) {
</span><span class="cx">                                         ?&gt;
</span><span class="cx">                                         &lt;/ul&gt;
</span><span class="cx">                                         &lt;?php
</span><span class="cx">                                 }
</span><span class="cx">                         } else {
</span><del>-                                //DISPLAY default UL
</del><ins>+                                // DISPLAY default UL
</ins><span class="cx">                                 ?&gt;
</span><span class="cx">                                 &lt;/ul&gt;
</span><span class="cx">                                 &lt;?php
</span><span class="lines">@@ -1257,7 +1257,7 @@
</span><span class="cx">                         &lt;/p&gt;
</span><span class="cx">                 &lt;?php
</span><span class="cx">                 }
</span><del>-                $advanced_option_descriptions = get_option('wp_settings_custom_nav_advanced_options');
</del><ins>+                $advanced_option_descriptions = get_option('wp_settings_nav_menu_advanced_options');
</ins><span class="cx">                 ?&gt;
</span><span class="cx">                 &lt;p &lt;?php if ($advanced_option_descriptions == 'no') { ?&gt;style=&quot;display:none;&quot;&lt;?php } ?&gt;&gt;
</span><span class="cx">                    &lt;?php $checked = strtolower($navwidgetdescription); ?&gt;
</span></span></pre></div>
<a id="trunkwpincludesnavmenutemplatephp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/nav-menu-template.php (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/nav-menu-template.php        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-includes/nav-menu-template.php        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -3,20 +3,35 @@
</span><span class="cx"> /**
</span><span class="cx">  * Outputs a navigation menu.
</span><span class="cx">  *
</span><ins>+ * Optional $args contents:
+ *
+ * id - The menu id. Defaults to blank.
+ * slug - The menu slug. Defaults to blank.
+ * menu_class - CSS class to use for the div container of the menu list. Defaults to 'menu'.
+ * format - Whether to format the ul. Defaults to 'div'.
+ * fallback_cb - If the menu doesn't exists, a callback function will fire. Defaults to 'wp_page_menu'.
+ *
+ * TODO:
+ * show_home - If you set this argument, then it will display the link to the home page. The show_home argument really just needs to be set to the value of the text of the link.
+ * link_before - Text before show_home argument text.
+ * link_after - Text after show_home argument text.
+ * echo - Whether to echo the menu or return it. Defaults to echo.
+ *
</ins><span class="cx">  * @since 3.0.0
</span><span class="cx">  *
</span><span class="cx">  * @param array $args Arguments
</span><span class="cx">  */
</span><span class="cx"> function wp_nav_menu( $args = array() ) {
</span><del>-        $defaults = array('id' =&gt; '', 'slug' =&gt; '', 'menu_class' =&gt; 'menu', 'format' =&gt; 'div', 'fallback_cb' =&gt; 'wp_page_menu');
-        $args = wp_parse_args($args, $defaults);
</del><ins>+        $defaults = array( 'id' =&gt; '', 'slug' =&gt; '', 'menu_class' =&gt; 'menu', 'format' =&gt; 'div', 'fallback_cb' =&gt; 'wp_page_menu', 'echo' =&gt; true, 'link_before' =&gt; '', 'link_after' =&gt; '' );
+        $args = wp_parse_args( $args, $defaults );
</ins><span class="cx">         $args = (object) $args;
</span><del>-
</del><ins>+        
+        // Get the menu
</ins><span class="cx">         $menu = null;
</span><span class="cx">         if ( !empty($args-&gt;id) ) {
</span><span class="cx">                 $menu = wp_get_nav_menu( $args-&gt;id );
</span><span class="cx">         } elseif ( !empty($args-&gt;slug) ) {
</span><del>-                $menu = get_term_by('slug', $args-&gt;slug, 'nav_menu');
</del><ins>+                $menu = get_term_by( 'slug', $args-&gt;slug, 'nav_menu' );
</ins><span class="cx">         } else {
</span><span class="cx">                 $menus = wp_get_nav_menus();
</span><span class="cx">                 foreach ( $menus as $menu_maybe ) {
</span><span class="lines">@@ -26,7 +41,8 @@
</span><span class="cx">                         }
</span><span class="cx">                 }
</span><span class="cx">         }
</span><del>-
</del><ins>+        
+        // If the menu doesn't exists, call the fallback_cb
</ins><span class="cx">         if ( !$menu || is_wp_error($menu) )
</span><span class="cx">                 return call_user_func($args-&gt;fallback_cb, $args );
</span><span class="cx"> 
</span><span class="lines">@@ -85,19 +101,18 @@
</span><span class="cx">         }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-function wp_print_nav_menu_item($menu_item, $context, $args = array() ) {
</del><ins>+function wp_print_nav_menu_item( $menu_item, $context, $args = array() ) {
</ins><span class="cx">         switch ( $context ) {
</span><span class="cx">                 case 'backend':
</span><span class="cx">                 case 'menu':
</span><span class="cx"> ?&gt;
</span><span class="cx">                                                 &lt;dl&gt;
</span><span class="cx">                                                         &lt;dt&gt;
</span><del>-                                                                &lt;span class=&quot;title&quot;&gt;&lt;?php echo esc_html($menu_item-&gt;title); ?&gt;&lt;/span&gt;
-                                                                &lt;span class=&quot;controls&quot;&gt;
-                                                                &lt;span class=&quot;type&quot;&gt;&lt;?php echo esc_html($menu_item-&gt;type); ?&gt;&lt;/span&gt;
-                                                                &lt;a id=&quot;edit&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; onclick=&quot;edititem(&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;)&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot;&gt;&lt;img class=&quot;edit&quot; alt=&quot;&lt;?php esc_attr_e('Edit Menu Item'); ?&gt;&quot; title=&quot;&lt;?php esc_attr_e('Edit Menu Item'); ?&gt;&quot; src=&quot;&lt;?php echo admin_url('images/ico-edit.png'); ?&gt;&quot; /&gt;&lt;/a&gt;
-                                                                &lt;a id=&quot;remove&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; onclick=&quot;removeitem(&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;)&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot;&gt;&lt;img class=&quot;remove&quot; alt=&quot;&lt;?php esc_attr_e('Remove from Menu'); ?&gt;&quot; title=&quot;&lt;?php esc_attr_e('Remove from Menu'); ?&gt;&quot; src=&quot;&lt;?php echo admin_url('images/ico-close.png'); ?&gt;&quot; /&gt;&lt;/a&gt;
-                                                                &lt;a id=&quot;view&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; target=&quot;_blank&quot; href=&quot;&lt;?php echo $menu_item-&gt;link; ?&gt;&quot;&gt;&lt;img alt=&quot;&lt;?php esc_attr_e('View Page'); ?&gt;&quot; title=&quot;&lt;?php esc_attr_e('View Page'); ?&gt;&quot; src=&quot;&lt;?php echo admin_url('images/ico-viewpage.png'); ?&gt;&quot; /&gt;&lt;/a&gt;
</del><ins>+                                                                &lt;span class=&quot;item-title&quot;&gt;&lt;?php echo esc_html($menu_item-&gt;title); ?&gt;&lt;/span&gt;
+                                                                &lt;span class=&quot;item-controls&quot;&gt;
+                                                                        &lt;span class=&quot;item-type&quot;&gt;&lt;?php echo esc_html($menu_item-&gt;type); ?&gt;&lt;/span&gt;
+                                                                        &lt;a class=&quot;item-edit thickbox&quot; id=&quot;edit&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; title=&quot;&lt;?php _e('Edit Menu Item'); ?&gt;&quot; href=&quot;#TB_inline?height=380&amp;width=300&amp;inlineId=menu-item-settings&quot;&gt;&lt;?php _e('Edit'); ?&gt;&lt;/a&gt; |
+                                                                        &lt;a class=&quot;item-delete&quot; id=&quot;delete&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot;&gt;&lt;?php _e('Delete'); ?&gt;&lt;/a&gt;
</ins><span class="cx">                                                                 &lt;/span&gt;
</span><span class="cx">                                                         &lt;/dt&gt;
</span><span class="cx">                                                 &lt;/dl&gt;
</span><span class="lines">@@ -109,20 +124,20 @@
</span><span class="cx">                                                 &lt;input type=&quot;hidden&quot; name=&quot;dbid&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;dbid&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;ID ); ?&gt;&quot; /&gt;
</span><span class="cx">                                                 &lt;input type=&quot;hidden&quot; name=&quot;postmenu&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;postmenu&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( get_post_meta( $menu_item-&gt;ID, 'object_id', true ) ); ?&gt;&quot; /&gt;
</span><span class="cx">                                                 &lt;input type=&quot;hidden&quot; name=&quot;parent&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;parent&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;parent_item ); ?&gt;&quot; /&gt;
</span><del>-                                                &lt;input type=&quot;hidden&quot; name=&quot;title&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;title&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;title ); ?&gt;&quot; /&gt;
-                                                &lt;input type=&quot;hidden&quot; name=&quot;linkurl&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;linkurl&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;link ); ?&gt;&quot; /&gt;
-                                                &lt;input type=&quot;hidden&quot; name=&quot;description&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;description&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;description ); ?&gt;&quot; /&gt;
</del><span class="cx">                                                 &lt;input type=&quot;hidden&quot; name=&quot;icon&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;icon&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;0&quot; /&gt;
</span><span class="cx">                                                 &lt;input type=&quot;hidden&quot; name=&quot;position&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;position&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; /&gt;
</span><span class="cx">                                                 &lt;input type=&quot;hidden&quot; name=&quot;linktype&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;linktype&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( get_post_meta( $menu_item-&gt;ID, 'menu_type', true ) ); ?&gt;&quot; /&gt;
</span><del>-                                                &lt;input type=&quot;hidden&quot; name=&quot;anchortitle&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;anchortitle&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;post_excerpt ); ?&gt;&quot; /&gt;
-                                                &lt;input type=&quot;hidden&quot; name=&quot;newwindow&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;newwindow&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo ( get_post_meta( $menu_item-&gt;ID, 'menu_new_window', true ) ? '1' : '0' ); ?&gt;&quot; /&gt;
</del><ins>+                                                &lt;input type=&quot;hidden&quot; name=&quot;item-title&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;item-title&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;title ); ?&gt;&quot; /&gt;
+                                                &lt;input type=&quot;hidden&quot; name=&quot;item-url&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;item-url&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;link ); ?&gt;&quot; /&gt;
+                                                &lt;input type=&quot;hidden&quot; name=&quot;item-description&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;item-description&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;description ); ?&gt;&quot; /&gt;
+                                                &lt;input type=&quot;hidden&quot; name=&quot;item-attr-title&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;item-attr-title&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;post_excerpt ); ?&gt;&quot; /&gt;
+                                                &lt;input type=&quot;hidden&quot; name=&quot;item-target&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; id=&quot;item-target&lt;?php echo esc_attr( $menu_item-&gt;menu_order ); ?&gt;&quot; value=&quot;&lt;?php echo ( get_post_meta( $menu_item-&gt;ID, 'menu_new_window', true ) ? '1' : '0' ); ?&gt;&quot; /&gt;
</ins><span class="cx"> &lt;?php
</span><span class="cx">                 break;
</span><span class="cx"> 
</span><span class="cx">                 case 'frontend':
</span><span class="cx">                         // Override for menu descriptions
</span><del>-                        $advanced_option_descriptions = get_option('wp_settings_custom_nav_advanced_options');
</del><ins>+                        $advanced_option_descriptions = get_option('wp_settings_nav_menu_advanced_options');
</ins><span class="cx">                         if ( $advanced_option_descriptions == 'no' )
</span><span class="cx">                                 $args['desc'] = 2;
</span><span class="cx"> ?&gt;
</span><span class="lines">@@ -148,11 +163,11 @@
</span><span class="cx">                 break;
</span><span class="cx"> 
</span><span class="cx">                 case 'default':
</span><del>-                        $template_dir = get_bloginfo('url');
</del><ins>+                        $menu_id = 'menu-item-' . $menu_item-&gt;ID;
</ins><span class="cx"> ?&gt;
</span><span class="cx">                                         &lt;dl&gt;
</span><span class="cx">                                                 &lt;dt&gt;
</span><del>-                                                        &lt;a class=&quot;title&quot; title=&quot;&lt;?php esc_attr_e('Add to Menu'); ?&gt;&quot; onclick=&quot;appendToList('&lt;?php echo esc_js( esc_url_raw( $template_dir ) ); ?&gt;','&lt;?php echo esc_js( $menu_item-&gt;append ); ?&gt;','&lt;?php echo esc_js( $menu_item-&gt;title ); ?&gt;','&lt;?php echo esc_js( $menu_item-&gt;link ); ?&gt;','&lt;?php echo esc_js( $menu_item-&gt;ID ); ?&gt;','&lt;?php echo esc_js( $menu_item-&gt;parent_item ); ?&gt;','&lt;?php echo esc_js( $menu_item-&gt;description ); ?&gt;')&quot; name=&quot;&lt;?php echo esc_attr( $menu_item-&gt;title ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;link ); ?&gt;&quot;&gt;&lt;?php echo $menu_item-&gt;title; ?&gt;&lt;/a&gt;
</del><ins>+                                                        &lt;label class=&quot;item-title&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;&lt;?php echo esc_attr($menu_id); ?&gt;&quot; onclick=&quot;wp_update_queue('&lt;?php echo esc_js( $menu_item-&gt;append ); ?&gt;','&lt;?php echo esc_js( $menu_item-&gt;title ); ?&gt;','&lt;?php echo esc_js( $menu_item-&gt;link ); ?&gt;','&lt;?php echo esc_js( $menu_item-&gt;ID ); ?&gt;','&lt;?php echo esc_js( $menu_item-&gt;parent_item ); ?&gt;','&lt;?php echo esc_js( $menu_item-&gt;description ); ?&gt;')&quot; name=&quot;&lt;?php echo esc_attr( $menu_item-&gt;title ); ?&gt;&quot; value=&quot;&lt;?php echo esc_attr( $menu_item-&gt;link ); ?&gt;&quot; /&gt;&lt;?php echo $menu_item-&gt;title; ?&gt;&lt;/label&gt;
</ins><span class="cx">                                                 &lt;/dt&gt;
</span><span class="cx">                                         &lt;/dl&gt;
</span><span class="cx"> &lt;?php
</span></span></pre></div>
<a id="trunkwpincludesnavmenuphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/nav-menu.php (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/nav-menu.php        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-includes/nav-menu.php        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -7,6 +7,7 @@
</span><span class="cx">  * @since 3.0.0
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+// Deletes a nav menu
</ins><span class="cx"> function wp_delete_nav_menu( $menu_id ) {
</span><span class="cx">         $menu_id = (int) $menu_id;
</span><span class="cx">         if ( !$menu_id  )
</span><span class="lines">@@ -21,11 +22,12 @@
</span><span class="cx">         wp_delete_term( $menu_id, 'nav_menu' );
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// Creates a new nav menu
</ins><span class="cx"> function wp_create_nav_menu( $menu_name, $args = array() ) {
</span><span class="cx">         $menu_exists = get_term_by( 'name', $menu_name, 'nav_menu' );
</span><span class="cx"> 
</span><span class="cx">         if ( $menu_exists )
</span><del>-                return new WP_Error('menu_exists', sprintf( __('A menu named &amp;#8220;%s&amp;#8221; already exists; please try another name.'), esc_html( $menu_exists-&gt;name ) ) );
</del><ins>+                return new WP_Error( 'menu_exists', sprintf( __('A menu named &amp;#8220;%s&amp;#8221; already exists; please try another name.'), esc_html( $menu_exists-&gt;name ) ) );
</ins><span class="cx"> 
</span><span class="cx">         if ( isset($args['slug']) )
</span><span class="cx">                 $slug = $args['slug'];
</span><span class="lines">@@ -40,8 +42,9 @@
</span><span class="cx">         return get_term( $menu['term_id'], 'nav_menu');
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// Creates a default menu if none exists
</ins><span class="cx"> function wp_create_default_nav_menu() {
</span><del>-        $menu = wp_create_nav_menu(__('Main'), array('slug' =&gt; 'main'));
</del><ins>+        $menu = wp_create_nav_menu( __('Menu 1'), array('slug' =&gt; 'menu-1') );
</ins><span class="cx"> 
</span><span class="cx">         if ( is_wp_error($menu) )
</span><span class="cx">                 return;
</span><span class="lines">@@ -49,7 +52,7 @@
</span><span class="cx">         $pages = get_pages( array('parent' =&gt; 0, 'number' =&gt; 15) );
</span><span class="cx">         $counter = 1;
</span><span class="cx">         foreach ( $pages as $page ) {
</span><del>-                $item = array('post_status' =&gt; 'publish', 'post_type' =&gt; 'nav_menu_item', 'menu_order' =&gt; $counter, 'tax_input' =&gt; array( 'nav_menu' =&gt; $menu-&gt;name), 'post_title' =&gt; addslashes($page-&gt;post_title) );
</del><ins>+                $item = array( 'post_status' =&gt; 'publish', 'post_type' =&gt; 'nav_menu_item', 'menu_order' =&gt; $counter, 'tax_input' =&gt; array( 'nav_menu' =&gt; $menu-&gt;name), 'post_title' =&gt; addslashes($page-&gt;post_title) );
</ins><span class="cx">                 $item_id = wp_insert_post($item, true);
</span><span class="cx">                 update_post_meta( $item_id, 'menu_type', 'page' );
</span><span class="cx">                 update_post_meta( $item_id, 'object_id', $page-&gt;ID );
</span><span class="lines">@@ -58,14 +61,17 @@
</span><span class="cx">         }
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// Get nav menu by id
</ins><span class="cx"> function wp_get_nav_menu( $menu ) {
</span><del>-        return get_term( (int) $menu, 'nav_menu');
</del><ins>+        return get_term( (int) $menu, 'nav_menu' );
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// Get all nav menus
</ins><span class="cx"> function wp_get_nav_menus() {
</span><span class="cx">         return get_terms( 'nav_menu', array( 'hide_empty' =&gt; false, 'orderby' =&gt; 'id' ) );
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// Get the nav menu items
</ins><span class="cx"> function wp_get_nav_menu_items( $menu, $args = array() ) {
</span><span class="cx">         $items = get_objects_in_term( (int) $menu, 'nav_menu' );
</span><span class="cx"> 
</span><span class="lines">@@ -92,6 +98,7 @@
</span><span class="cx">         return $items;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// wp_setup_nav_menu_item()
</ins><span class="cx"> function wp_setup_nav_menu_item($menu_item, $type = 'item', $position = 0) {
</span><span class="cx">         global $parent_menu_order;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkwpincludesscriptloaderphp"></a>
<div class="modfile"><h4>Modified: trunk/wp-includes/script-loader.php (13472 => 13473)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/wp-includes/script-loader.php        2010-02-27 22:54:40 UTC (rev 13472)
+++ trunk/wp-includes/script-loader.php        2010-02-27 23:06:56 UTC (rev 13473)
</span><span class="lines">@@ -398,11 +398,13 @@
</span><span class="cx"> 
</span><span class="cx">                 // Custom Navigation
</span><span class="cx">                 $scripts-&gt;add( 'nav-menu-default-items', &quot;/wp-admin/js/nav-menu-default-items$suffix.js&quot;, false, '20100223' );
</span><del>-                $scripts-&gt;add( 'nav-menu-dynamic-functions', &quot;/wp-admin/js/nav-menu-dynamic-functions$suffix.js&quot;, false, '20100224b' );
</del><ins>+                $scripts-&gt;add( 'nav-menu-dynamic-functions', &quot;/wp-admin/js/nav-menu-dynamic-functions$suffix.js&quot;, false, '20100225b' );
</ins><span class="cx">                 $scripts-&gt;localize( 'nav-menu-dynamic-functions', 'navMenuL10n', array(
</span><span class="cx">                         'custom' =&gt; _x('Custom', 'menu nav item type'),
</span><span class="cx">                         'page' =&gt; _x('Page', 'menu nav item type'),
</span><del>-                        'category' =&gt; _x('Category', 'menu nav item type')
</del><ins>+                        'category' =&gt; _x('Category', 'menu nav item type'),
+                        'thickbox' =&gt; _x('Edit Menu Item', 'Thickbox Title'),
+                        'edit' =&gt; _x('Edit', 'menu item edit text'),
</ins><span class="cx">                 ) );
</span><span class="cx">                 
</span><span class="cx">                 $scripts-&gt;add( 'nav-menu-php-functions', &quot;/wp-admin/js/nav-menu-php-functions$suffix.js&quot;, false, '20100220' );
</span><span class="lines">@@ -474,7 +476,7 @@
</span><span class="cx">         $styles-&gt;add( 'farbtastic', '/wp-admin/css/farbtastic.css', array(), '1.2' );
</span><span class="cx">         $styles-&gt;add( 'jcrop', '/wp-includes/js/jcrop/jquery.Jcrop.css', array(), '0.9.8' );
</span><span class="cx">         $styles-&gt;add( 'imgareaselect', '/wp-includes/js/imgareaselect/imgareaselect.css', array(), '0.9.1' );
</span><del>-        $styles-&gt;add( 'nav-menu', &quot;/wp-admin/css/nav-menu$suffix.css&quot;, array(), '20100225' );
</del><ins>+        $styles-&gt;add( 'nav-menu', &quot;/wp-admin/css/nav-menu$suffix.css&quot;, array(), '20100225b' );
</ins><span class="cx"> 
</span><span class="cx">         foreach ( $rtl_styles as $rtl_style ) {
</span><span class="cx">                 $styles-&gt;add_data( $rtl_style, 'rtl', true );
</span></span></pre>
</div>
</div>

</body>
</html>