Changed wcf1_page_menu_item structure
authorAlexander Ebert <ebert@woltlab.com>
Tue, 25 Dec 2012 18:10:24 +0000 (19:10 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Tue, 25 Dec 2012 18:10:24 +0000 (19:10 +0100)
See #998
See #1000

wcfsetup/install/files/lib/system/package/plugin/PageMenuPackageInstallationPlugin.class.php
wcfsetup/setup/db/install.sql

index 903efba3fb8bdd2b8612728b8d864a619fd2091a..a9ee513d85f5c4934981075bcc411b7151c56dff 100644 (file)
@@ -1,5 +1,6 @@
 <?php
 namespace wcf\system\package\plugin;
+use wcf\system\exception\SystemException;
 
 /**
  * Installs, updates and deletes page page menu items.
@@ -25,11 +26,20 @@ class PageMenuPackageInstallationPlugin extends AbstractMenuPackageInstallationP
                
                // position
                $result['menuPosition'] = (!empty($data['elements']['position']) && $data['elements']['position'] == 'footer') ? 'footer' : 'header';
+               
+               // controller
+               $result['menuItemController'] = (isset($data['elements']['controller'])) ? $data['elements']['controller'] : '';
+               
                // class name
                if (!empty($data['elements']['classname'])) {
                        $result['className'] = $data['elements']['classname'];
                }
                
+               // validate controller and link (cannot be empty at the same time)
+               if (empty($result['menuItemLink']) && empty($result['menuItemController'])) {
+                       throw new SystemException("Menu item '".$result['menuItem']."' neither has a link nor a controller given");
+               }
+               
                return $result;
        }
 }
index 6c12e15dba58c38045f701a5b2836dedc14d94fd..928a6263dbb9afb0533d611096dc52832eeae11d 100644 (file)
@@ -470,6 +470,7 @@ CREATE TABLE wcf1_page_menu_item (
        packageID INT(10) NOT NULL,
        menuItem VARCHAR(255) NOT NULL DEFAULT '',
        parentMenuItem VARCHAR(255) NOT NULL DEFAULT '',
+       menuItemController VARCHAR(255) NOT NULL DEFAULT '',
        menuItemLink VARCHAR(255) NOT NULL DEFAULT '',
        menuPosition ENUM('header', 'footer') NOT NULL DEFAULT 'header',
        showOrder INT(10) NOT NULL DEFAULT 0,