<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 9">
<meta name=Originator content="Microsoft Word 9">
<link rel=File-List href="cid:filelist.xml@01C9C752.3EC71550">
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:Zoom>0</w:Zoom>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:EnvelopeVis/>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;
        mso-font-charset:2;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:0 268435456 0 0 -2147483648 0;}
@font-face
        {font-family:"Comic Sans MS";
        panose-1:3 15 7 2 3 3 2 2 2 4;
        mso-font-charset:0;
        mso-generic-font-family:script;
        mso-font-pitch:variable;
        mso-font-signature:647 0 0 0 159 0;}
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
p.MsoMacroText, li.MsoMacroText, div.MsoMacroText
        {mso-style-parent:"";
        margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        tab-stops:24.0pt 48.0pt 1.0in 96.0pt 120.0pt 2.0in 168.0pt 192.0pt 3.0in;
        font-size:10.0pt;
        font-family:"Courier New";
        mso-fareast-font-family:"Times New Roman";
        color:green;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
p.MsoAutoSig, li.MsoAutoSig, div.MsoAutoSig
        {margin:0in;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        mso-ansi-font-size:12.0pt;
        mso-ascii-font-family:Arial;
        mso-hansi-font-family:Arial;
        mso-bidi-font-family:Arial;
        color:black;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;
        mso-header-margin:.5in;
        mso-footer-margin:.5in;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style>
</head>

<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>

<div class=Section1>

<p class=MsoNormal><span class=EmailStyle18><font size=3 color=black
face=Arial><span style='font-size:12.0pt;font-family:Arial'>I am not the menu
expert here, so I am sure that there is something wrong with my little change:<o:p></o:p></span></font></span></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>function
menu_overview_form_submit($form, &amp;$form_state) {<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>// When dealing with saving menu items,
the order in which these items are<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>// saved is critical. If a changed
child item is saved before its parent,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>// the child item could be saved with
an invalid path past its immediate<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>// parent. To prevent this, save items
in the form in the same order they<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>// are sent by $_POST, ensuring parents
are saved first, then their children.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>// See
http://drupal.org/node/181126#comment-632270<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>$order =
array_flip(array_keys($form['#post'])); // Get the $_POST order.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>$form = array_merge($order, $form); //
Update our original form with the new order.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>$updated_items = array();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>$fields = array('expanded', 'weight',
'plid');<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>foreach (element_children($form) as
$mlid) {<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>if
(isset($form[$mlid]['#item'])) {<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>$element =
$form[$mlid];<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>// Update any
fields that have changed in this menu item.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>foreach
($fields as $field) {<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
($element[$field]['#value'] != $element[$field]['#default_value']) {<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>$element['#item'][$field] = $element[$field]['#value'];<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>$updated_items[$mlid] = $element['#item'];<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun:
yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>$updated_items[$mlid]['customized'] = $field == 'plid';<span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>// </span></font><font
size=2 color=green face=Wingdings><span style='font-size:10.0pt;font-family:
Wingdings;mso-ascii-font-family:"Courier New";mso-hansi-font-family:"Courier New";
mso-bidi-font-family:"Courier New";color:green;mso-char-type:symbol;mso-symbol-font-family:
Wingdings'><span style='mso-char-type:symbol;mso-symbol-font-family:Wingdings'></span></span></font><font
size=2 color=green face="Courier New"><span style='font-size:10.0pt;font-family:
"Courier New";color:green'> only &#8220;plid&#8221; is really customized.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>// Hidden is a
special case, the value needs to be reversed.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>if
($element['hidden']['#value'] != $element['hidden']['#default_value']) {<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>$element['#item']['hidden'] = !$element['hidden']['#value'];<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>$updated_items[$mlid] = $element['#item'];<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>}<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>}<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>// Save all our changed items to the
database.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>foreach ($updated_items as $item) {<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>//<span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>$item['customized'] = 1;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </span>menu_link_save($item);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'><span
style="mso-spacerun: yes">&nbsp; </span>}<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=green face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>}</span></font><span
class=EmailStyle18><font color=black face=Arial><span style='font-family:Arial'><o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle18><font size=3 color=black
face=Arial><span style='font-size:12.0pt;font-family:Arial'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle18><font size=3 color=black
face=Arial><span style='font-size:12.0pt;font-family:Arial'>Frankly, I don&#8217;t
think &#8220;expanded&#8221; is really customized either.<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle18><font size=3 color=black
face=Arial><span style='font-size:12.0pt;font-family:Arial'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle18><font size=3 color=black
face=Arial><span style='font-size:12.0pt;font-family:Arial'>I tested this on my
dev site and got the results I want.<span style="mso-spacerun: yes">&nbsp;
</span>So now Karoly or Earl will tell this ditzy blonde why this is not the
solution.<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle18><font size=3 color=black
face=Arial><span style='font-size:12.0pt;font-family:Arial'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=MsoAutoSig><!--[if supportFields]><span class=EmailStyle18><font 
color=black face=Arial><span style='font-family:Arial'><span style='mso-element:
field-begin'></span><span style="mso-spacerun: yes">&nbsp;</span>AUTOTEXTLIST 
\s &quot;E-mail Signature&quot; <span style='mso-element:field-separator'></span></span></font></span><![endif]--><font
color=fuchsia face="Comic Sans MS"><span style='font-family:"Comic Sans MS";
color:fuchsia'>Nancy E. Wichmann, PMP<o:p></o:p></span></font></p>

<p class=MsoAutoSig><font size=2 color=black face="Times New Roman"><span
style='font-size:10.0pt;mso-bidi-font-size:12.0pt;mso-bidi-font-family:Arial;
color:black'>Injustice anywhere is a threat to justice everywhere. - Martin L.
King, Jr.</span></font><font color=black><span style='color:black;mso-color-alt:
windowtext'><o:p></o:p></span></font></p>

<p class=MsoNormal><!--[if supportFields]><span class=EmailStyle18><font 
color=black face=Arial><span style='font-family:Arial'><span style='mso-element:
field-end'></span></span></font></span><![endif]--><font color=black><span
style='color:black'><![if !supportEmptyParas]>&nbsp;<![endif]></span></font><font
color=black><span style='color:black;mso-color-alt:windowtext'><o:p></o:p></span></font></p>

</div>

</body>

</html>