/** * Process provided command object * * @param Mage_Backend_Model_Menu_Builder_CommandAbstract $command * @return Mage_Backend_Model_Menu_Builder */ public function processCommand(Mage_Backend_Model_Menu_Builder_CommandAbstract $command) { if (!isset($this->_commands[$command->getId()])) { $this->_commands[$command->getId()] = $command; } else { $this->_commands[$command->getId()]->chain($command); } return $this; }
/** * Add command as last in the list of callbacks * * @param Mage_Backend_Model_Menu_Builder_CommandAbstract $command * @return Mage_Backend_Model_Menu_Builder_CommandAbstract * @throws InvalidArgumentException */ public function chain(Mage_Backend_Model_Menu_Builder_CommandAbstract $command) { if ($command instanceof Mage_Backend_Model_Menu_Builder_Command_Add) { throw new InvalidArgumentException("Two 'add' commands cannot have equal id (" . $command->getId() . ")"); } return parent::chain($command); }