Compliance issue? Yes. Functional flaw? No.
nukeNAV isn't a true module in the sense that it should be displayed as a menu selection, even an invalid one (though maybe we should highlight if it's inactive). There is no way to choose which function you want to execute since the nukeNAV functions are only to be executed from the nukeNAV menu.
There is an array that contains the hard-coded modules that are excluded from the modules, invisible and inactive modules menus because they are used elsewhere in the nukeNAV menu. nukeNAV is included in this array, even though it isn't used elsewhere in the nukeNAV menu.
Here's a solution to the compliance issue. In includes/jquery/nukeNAV.php, insert
Code: if (in_array($m_title, $menuModules)) continue; // Module already on menu elsewhere
|
after $m_title2 is set in this loop:
Code:while ($row = $db->sql_fetchrow($result)) {
$m_title = stripslashes($row['title']);
$custom_title = $row['custom_title'];
$view = intval($row['view']);
$groups = $row['groups'];
$active = intval($row['active']);
$inmenu = intval($row['inmenu']);
$m_title2 = ereg_replace('_', ' ', $m_title);
if (in_array($m_title, $menuModules)) continue; // Module already on menu elsewhere
|
That eliminates the need for this line later in that same loop:
Code: if (in_array($m_title, $menuModules)) {} // Module already on menu elsewhere
|
I haven't tested this yet, but will do so. if you test and agree on this solution, I can add to SVN.
_________________