1) { // Remove all except one if (is_null($entry['what'])) { // Main menu is double sqlQueryEscaped("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_%s_menu` WHERE `action`='%s' AND `what` IS NULL LIMIT %s", array( $menu, $entry['action'], ($entries - 1) ), __FILE__, __LINE__); } else { // Sub menu is double sqlQueryEscaped("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_%s_menu` WHERE `action`='%s' AND `what`='%s' LIMIT %s", array( $menu, $entry['action'], $entry['what'], ($entries - 1) ), __FILE__, __LINE__); } } // END - if } } // END - while // Free result sqlFreeResult($result); // Init sqls initSqls(); // Now insert our unqiue key for action-what combination addSql(sprintf('ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` DROP INDEX `action_what`', $menu)); addSql(sprintf('ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` ADD UNIQUE INDEX `action_what` (`action`, `what`)', $menu)); // Now insert our unqiue key for what addSql(sprintf('ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` DROP INDEX `what`', $menu)); addSql(sprintf('ALTER TABLE `{?_MYSQL_PREFIX?}_%s_menu` ADD UNIQUE INDEX `what` (`what`)', $menu)); // And run all runFilterChain('run_sqls'); } // END - foreach // [EOF] ?>