Alex Trofimov 12 лет назад
Родитель
Сommit
36f92adb03
2 измененных файлов с 5 добавлено и 3 удалено
  1. 2 3
      inc/classes/BxDolMenu.php
  2. 3 0
      inc/classes/BxDolMenuQuery.php

+ 2 - 3
inc/classes/BxDolMenu.php

@@ -170,9 +170,8 @@ class BxDolMenu extends BxDol implements iBxDolFactoryObject, iBxDolReplaceable
      * Menu triggers allow to automatically add menu items to modules with no different if dependant module was install before or after the module menu item belongs to.
      * For example module "Notes" adds menu items to all profiles modules (Persons, Organizations, etc)
      * with no difference if persons module was installed before or after "Notes" module was installed.
-     * @param $sSetName set name to ad menu item to
-     * @param $aMenuItem array of menu item descrition, array keys are database fields names, array values are database fields values
-     * @return true on success
+     * @param $sMenuTriggerName trigger name to process, usually specified in module installer class - @see BxBaseModGeneralInstaller
+     * @return always true, always success
      */
     static public function processMenuTrigger ($sMenuTriggerName)
     {

+ 3 - 0
inc/classes/BxDolMenuQuery.php

@@ -54,6 +54,9 @@ class BxDolMenuQuery extends BxDolDb
             $aMenuItem['order'] = $iProfileMenuOrder + 1;
         }
 
+        $sQuery = $oDb->prepare("DELETE FROM `sys_menu_items` WHERE `set_name` = ? AND `name` = ?", $aMenuItem['set_name'], $aMenuItem['name']);
+        $oDb->query($sQuery);
+
         unset($aMenuItem['id']);
         return $oDb->query("INSERT INTO `sys_menu_items` SET " . $oDb->arrayToSQL($aMenuItem));
     }