Removed old page menu
authorMarcel Werk <burntime@woltlab.com>
Mon, 4 Apr 2016 14:16:46 +0000 (16:16 +0200)
committerMarcel Werk <burntime@woltlab.com>
Mon, 4 Apr 2016 14:16:46 +0000 (16:16 +0200)
34 files changed:
com.woltlab.wcf/package.xml
com.woltlab.wcf/pageMenu.xml [deleted file]
wcfsetup/install/files/acp/templates/pageMenuItemAdd.tpl [deleted file]
wcfsetup/install/files/acp/templates/pageMenuItemList.tpl [deleted file]
wcfsetup/install/files/lib/acp/form/PageMenuItemAddForm.class.php [deleted file]
wcfsetup/install/files/lib/acp/form/PageMenuItemEditForm.class.php [deleted file]
wcfsetup/install/files/lib/acp/page/PageMenuItemListPage.class.php [deleted file]
wcfsetup/install/files/lib/data/page/menu/item/PageMenuItem.class.php [deleted file]
wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemAction.class.php [deleted file]
wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemEditor.class.php [deleted file]
wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemList.class.php [deleted file]
wcfsetup/install/files/lib/data/page/menu/item/ViewablePageMenuItem.class.php [deleted file]
wcfsetup/install/files/lib/form/UserSearchForm.class.php
wcfsetup/install/files/lib/page/AbstractPage.class.php
wcfsetup/install/files/lib/page/DashboardPage.class.php
wcfsetup/install/files/lib/page/EditHistoryPage.class.php
wcfsetup/install/files/lib/page/MembersListPage.class.php
wcfsetup/install/files/lib/page/RecentActivityListPage.class.php
wcfsetup/install/files/lib/page/SearchResultPage.class.php
wcfsetup/install/files/lib/page/TeamPage.class.php
wcfsetup/install/files/lib/page/UserPage.class.php
wcfsetup/install/files/lib/page/UsersOnlineListPage.class.php
wcfsetup/install/files/lib/system/cache/builder/PageMenuCacheBuilder.class.php [deleted file]
wcfsetup/install/files/lib/system/menu/page/DefaultPageMenuItemProvider.class.php [deleted file]
wcfsetup/install/files/lib/system/menu/page/IPageMenuItemProvider.class.php [deleted file]
wcfsetup/install/files/lib/system/menu/page/PageMenu.class.php [deleted file]
wcfsetup/install/files/lib/system/menu/user/UserMenu.class.php
wcfsetup/install/files/lib/system/package/plugin/PageMenuPackageInstallationPlugin.class.php [deleted file]
wcfsetup/install/files/lib/system/request/FlexibleRoute.class.php
wcfsetup/install/files/lib/system/request/LinkHandler.class.php
wcfsetup/install/files/lib/system/request/Route.class.php
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml
wcfsetup/setup/db/install.sql

index 5139271b9a49b63cd017db13e1c97578a1eaf084..f9a970661092ad0839b69b7e869aa552dfae6d55 100644 (file)
@@ -32,7 +32,6 @@
                <instruction type="userOption" />
                <instruction type="bbcode" />
                <instruction type="smiley" />
-               <instruction type="pageMenu" />
                <instruction type="sitemap" />
                <instruction type="dashboardBox" />
                <instruction type="userProfileMenu" />
diff --git a/com.woltlab.wcf/pageMenu.xml b/com.woltlab.wcf/pageMenu.xml
deleted file mode 100644 (file)
index 0c3bffd..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/maelstrom/pageMenu.xsd">
-       <import>
-               <pagemenuitem name="wcf.user.dashboard">
-                       <controller><![CDATA[wcf\page\DashboardPage]]></controller>
-                       <position>header</position>
-                       <options>module_dashboard_page</options>
-               </pagemenuitem>
-               
-               <pagemenuitem name="wcf.user.members">
-                       <controller><![CDATA[wcf\page\MembersListPage]]></controller>
-                       <position>header</position>
-                       <permissions>user.profile.canViewMembersList</permissions>
-                       <options>module_members_list</options>
-               </pagemenuitem>
-               
-               <pagemenuitem name="wcf.user.recentActivity">
-                       <controller><![CDATA[wcf\page\RecentActivityListPage]]></controller>
-                       <position>header</position>
-                       <parent>wcf.user.members</parent>
-               </pagemenuitem>
-               
-               <pagemenuitem name="wcf.user.usersOnline">
-                       <controller><![CDATA[wcf\page\UsersOnlineListPage]]></controller>
-                       <position>header</position>
-                       <parent>wcf.user.members</parent>
-                       <permissions>user.profile.canViewUsersOnlineList</permissions>
-                       <options>module_users_online</options>
-               </pagemenuitem>
-               
-               <pagemenuitem name="wcf.user.team">
-                       <controller><![CDATA[wcf\page\TeamPage]]></controller>
-                       <position>header</position>
-                       <parent>wcf.user.members</parent>
-                       <permissions>user.profile.canViewMembersList</permissions>
-                       <options>module_team_page</options>
-               </pagemenuitem>
-               
-               <pagemenuitem name="wcf.user.search">
-                       <controller><![CDATA[wcf\form\UserSearchForm]]></controller>
-                       <position>header</position>
-                       <parent>wcf.user.members</parent>
-                       <permissions>user.profile.canViewMembersList</permissions>
-                       <options>module_members_list</options>
-               </pagemenuitem>
-               
-               <pagemenuitem name="wcf.page.privacyPolicy">
-                       <controller><![CDATA[wcf\page\PrivacyPolicyPage]]></controller>
-                       <position>footer</position>
-                       <options>module_privacy_policy_page</options>
-               </pagemenuitem>
-       </import>
-</data>
\ No newline at end of file
diff --git a/wcfsetup/install/files/acp/templates/pageMenuItemAdd.tpl b/wcfsetup/install/files/acp/templates/pageMenuItemAdd.tpl
deleted file mode 100644 (file)
index 0b02446..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-{include file='header' pageTitle='wcf.acp.pageMenu.'|concat:$action}
-
-<script data-relocate="true">
-       //<![CDATA[
-       $(function() {
-               var $menuPosition = $('#menuPosition');
-               var $parentMenuItemContainer = $('#parentMenuItemContainer');
-               var $isInternalLink = $('input[name=isInternalLink]').filter('[value=1]');
-               var $menuItemControllerContainer = $('#menuItemControllerContainer');
-               var $menuItemLinkContainer = $('#menuItemLinkContainer');
-               var $menuItemParametersContainer = $('#menuItemParametersContainer');
-               var $menuItemPageContainer = $('#menuItemPageContainer');
-               var $menuItemPage = $('#menuItemPage');
-               
-               function handleMenuPosition() {
-                       if ($menuPosition.val() === 'header') {
-                               $parentMenuItemContainer.show();
-                       }
-                       else {
-                               $parentMenuItemContainer.hide();
-                       }
-               }
-               
-               function handleIsInternalLink() {
-                       if ($isInternalLink.is(':checked')) {
-                               $menuItemPageContainer.show();
-                               $menuItemControllerContainer.show();
-                               $menuItemParametersContainer.show();
-                               $menuItemLinkContainer.hide();
-                       }
-                       else {
-                               $menuItemPageContainer.hide();
-                               $menuItemControllerContainer.hide();
-                               $menuItemParametersContainer.hide();
-                               $menuItemLinkContainer.show();
-                       }
-               }
-               
-               function handleMenuPage() {
-                       if ($menuItemPage.val() != '0') {
-                               $menuItemControllerContainer.addClass('disabled');
-                               $menuItemControllerContainer.find('input').disable();
-                       }
-                       else {
-                               $menuItemControllerContainer.removeClass('disabled');
-                               $menuItemControllerContainer.find('input').enable();
-                       }
-               }
-               
-               $menuPosition.change(handleMenuPosition);
-               $('input[name=isInternalLink]').change(handleIsInternalLink);
-               $menuItemPage.change(handleMenuPage);
-               
-               handleMenuPosition();
-               handleIsInternalLink();
-               handleMenuPage();
-       });
-       //]]>
-</script>
-
-<header class="contentHeader">
-       <h1 class="contentTitle">{lang}wcf.acp.pageMenu.{$action}{/lang}</h1>
-</header>
-
-{include file='formError'}
-
-{if $success|isset}
-       <p class="success">{lang}wcf.global.success.{$action}{/lang}</p>
-{/if}
-
-<div class="contentNavigation">
-       <nav>
-               <ul>
-                       <li><a href="{link controller='PageMenuItemList'}{/link}" class="button"><span class="icon icon16 fa-list"></span> <span>{lang}wcf.acp.pageMenu.list{/lang}</span></a></li>
-                       
-                       {event name='contentNavigationButtons'}
-               </ul>
-       </nav>
-</div>
-
-<form method="post" action="{if $action == 'add'}{link controller='PageMenuItemAdd'}{/link}{else}{link controller='PageMenuItemEdit' id=$menuItem->menuItemID}{/link}{/if}">
-       <div class="section">
-               <dl{if $errorField == 'menuPosition'} class="formError"{/if}>
-                       <dt><label for="menuPosition">{lang}wcf.acp.pageMenu.menuPosition{/lang}</label></dt>
-                       <dd>
-                               <select name="menuPosition" id="menuPosition">
-                                       <option value="header"{if $menuPosition == 'header'} selected="selected"{/if}>{lang}wcf.acp.pageMenu.menuPosition.header{/lang}</option>
-                                       <option value="footer"{if $menuPosition == 'footer'} selected="selected"{/if}>{lang}wcf.acp.pageMenu.menuPosition.footer{/lang}</option>
-                               </select>
-                               {if $errorField == 'menuPosition'}
-                                       <small class="innerError">
-                                               {if $errorType == 'empty'}
-                                                       {lang}wcf.global.form.error.empty{/lang}
-                                               {else}
-                                                       {lang}wcf.acp.pageMenu.menuPosition.error.{$errorType}{/lang}
-                                               {/if}
-                                       </small>
-                               {/if}
-                       </dd>
-               </dl>
-               
-               <dl id="parentMenuItemContainer"{if $errorField == 'parentMenuItem'} class="formError"{/if}>
-                       <dt><label for="parentMenuItem">{lang}wcf.acp.pageMenu.parentMenuItem{/lang}</label></dt>
-                       <dd>
-                               <select name="parentMenuItem" id="parentMenuItem">
-                                       <option value=""{if $parentMenuItem == ''} selected="selected"{/if}>{lang}wcf.global.noSelection{/lang}</option>
-                                       {foreach from=$availableParentMenuItems item=availableParentMenuItem}
-                                               <option value="{$availableParentMenuItem->menuItem}"{if $parentMenuItem == $availableParentMenuItem->menuItem} selected="selected"{/if}>{$availableParentMenuItem}</option>
-                                       {/foreach}
-                               </select>
-                               {if $errorField == 'parentMenuItem'}
-                                       <small class="innerError">
-                                               {if $errorType == 'empty'}
-                                                       {lang}wcf.global.form.error.empty{/lang}
-                                               {else}
-                                                       {lang}wcf.acp.pageMenu.parentMenuItem.error.{$errorType}{/lang}
-                                               {/if}
-                                       </small>
-                               {/if}
-                       </dd>
-               </dl>
-               
-               <dl{if $errorField == 'pageMenuItem'} class="formError"{/if}>
-                       <dt><label for="pageMenuItem">{lang}wcf.acp.pageMenu.pageMenuItem{/lang}</label></dt>
-                       <dd>
-                               <input type="text" name="pageMenuItem" id="pageMenuItem" value="{$i18nPlainValues['pageMenuItem']}" class="long" required="required" />
-                               {if $errorField == 'pageMenuItem'}
-                                       <small class="innerError">
-                                               {if $errorType == 'multilingual'}
-                                                       {lang}wcf.global.form.error.multilingual{/lang}
-                                               {else}
-                                                       {lang}wcf.acp.pageMenu.pageMenuItem.error.{$errorType}{/lang}
-                                               {/if}
-                                       </small>
-                               {/if}
-                               
-                               {include file='multipleLanguageInputJavascript' elementIdentifier='pageMenuItem' forceSelection=true}
-                       </dd>
-               </dl>
-               
-               {event name='dataFields'}
-       </div>
-       
-       <section class="section">
-               <h2 class="sectionTitle">{lang}wcf.acp.pageMenu.link{/lang}</h2>
-               
-               <dl>
-                       <dt></dt>
-                       <dd class="floated">
-                               <label><input type="radio" name="isInternalLink" value="1"{if $isInternalLink} checked="checked"{/if} /> {lang}wcf.acp.pageMenu.link.internal{/lang}</label>
-                               <label><input type="radio" name="isInternalLink" value="0"{if !$isInternalLink} checked="checked"{/if} /> {lang}wcf.acp.pageMenu.link.external{/lang}</label>
-                       </dd>
-               </dl>
-               
-               <dl id="menuItemPageContainer"{if $errorField == 'menuItemPage'} class="formError"{/if}>
-                       <dt><label for="menuItemPage">{lang}wcf.acp.pageMenu.menuItemPage{/lang}</label></dt>
-                       <dd>
-                               <select name="menuItemPage" id="menuItemPage">
-                                       <option value="0">{lang}wcf.global.noSelection{/lang}</option>
-                                       {htmlOptions options=$pages selected=$menuItemPage}
-                               </select>
-                               {if $errorField == 'menuItemPage'}
-                                       <small class="innerError">
-                                               {if $errorType == 'empty'}
-                                                       {lang}wcf.global.form.error.empty{/lang}
-                                               {elseif $errorType == 'noValidSelection'}
-                                                       {lang}wcf.global.form.error.noValidSelection{/lang}
-                                               {else}
-                                                       {lang}wcf.acp.pageMenu.menuItemPage.error.{$errorType}{/lang}
-                                               {/if}
-                                       </small>
-                               {/if}
-                               <small>{lang}wcf.acp.pageMenu.menuItemPage.description{/lang}</small>
-                       </dd>
-               </dl>
-               
-               <dl id="menuItemControllerContainer"{if $errorField == 'menuItemController'} class="formError"{/if}>
-                       <dt><label for="menuItemController">{lang}wcf.acp.pageMenu.menuItemController{/lang}</label></dt>
-                       <dd>
-                               <input type="text" name="menuItemController" id="menuItemController" value="{if !$pages[$menuItemPage]|isset}{$menuItemController}{/if}" class="long" />
-                               {if $errorField == 'menuItemController'}
-                                       <small class="innerError">
-                                               {if $errorType == 'empty'}
-                                                       {lang}wcf.global.form.error.empty{/lang}
-                                               {else}
-                                                       {lang}wcf.acp.pageMenu.menuItemController.error.{$errorType}{/lang}
-                                               {/if}
-                                       </small>
-                               {/if}
-                               <small>{lang}wcf.acp.pageMenu.menuItemController.description{/lang}</small>
-                       </dd>
-               </dl>
-               
-               <dl id="menuItemParametersContainer"{if $errorField == 'menuItemParameters'} class="formError"{/if}>
-                       <dt><label for="menuItemParameters">{lang}wcf.acp.pageMenu.menuItemParameters{/lang}</label></dt>
-                       <dd>
-                               <input type="text" name="menuItemParameters" id="menuItemParameters" value="{$menuItemParameters}" class="long" />
-                               {if $errorField == 'menuItemParameters'}
-                                       <small class="innerError">
-                                               {if $errorType == 'empty'}
-                                                       {lang}wcf.global.form.error.empty{/lang}
-                                               {else}
-                                                       {lang}wcf.acp.pageMenu.menuItemParameters.error.{$errorType}{/lang}
-                                               {/if}
-                                       </small>
-                               {/if}
-                       </dd>
-               </dl>
-               
-               <dl id="menuItemLinkContainer"{if $errorField == 'menuItemLink'} class="formError"{/if}>
-                       <dt><label for="menuItemLink">{lang}wcf.acp.pageMenu.menuItemLink{/lang}</label></dt>
-                       <dd>
-                               <input type="text" name="menuItemLink" id="menuItemLink" value="{$menuItemLink}" class="long" />
-                               {if $errorField == 'menuItemLink'}
-                                       <small class="innerError">
-                                               {if $errorType == 'empty'}
-                                                       {lang}wcf.global.form.error.empty{/lang}
-                                               {else}
-                                                       {lang}wcf.acp.pageMenu.menuItemLink.error.{$errorType}{/lang}
-                                               {/if}
-                                       </small>
-                               {/if}
-                               
-                               {include file='multipleLanguageInputJavascript' elementIdentifier='menuItemLink' forceSelection=false}
-                       </dd>
-               </dl>
-               
-               {event name='linkFields'}
-       </section>
-       
-       <section class="section">
-               <h2 class="sectionTitle">{lang}wcf.acp.pageMenu.advanced{/lang}</h2>
-               
-               <dl>
-                       <dt><label for="showOrder">{lang}wcf.acp.pageMenu.showOrder{/lang}</label></dt>
-                       <dd>
-                               <input type="number" name="showOrder" id="showOrder" value="{@$showOrder}" class="tiny" min="0" />
-                       </dd>
-               </dl>
-               
-               {if $action == 'add' || !$menuItem->isLandingPage}
-                       <dl>
-                               <dt></dt>
-                               <dd>
-                                       <label><input type="checkbox" name="isDisabled" id="isDisabled" value="1"{if $isDisabled} checked="checked"{/if} /> <span>{lang}wcf.acp.pageMenu.isDisabled{/lang}</span></label>
-                               </dd>
-                       </dl>
-               {/if}
-               
-               {event name='advancedFields'}
-       </section>
-       
-       {event name='sections'}
-       
-       <div class="formSubmit">
-               <input type="submit" value="{lang}wcf.global.button.submit{/lang}" />
-               {@SECURITY_TOKEN_INPUT_TAG}
-       </div>
-</form>
-
-{include file='footer'}
diff --git a/wcfsetup/install/files/acp/templates/pageMenuItemList.tpl b/wcfsetup/install/files/acp/templates/pageMenuItemList.tpl
deleted file mode 100644 (file)
index 35016d5..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-{include file='header' pageTitle='wcf.acp.pageMenu.list'}
-
-<script data-relocate="true">
-       //<![CDATA[
-       $(function() {
-               new WCF.Action.Delete('wcf\\data\\page\\menu\\item\\PageMenuItemAction', '.sortableNode', '> .sortableNodeLabel .jsDeleteButton');
-               new WCF.Action.Toggle('wcf\\data\\page\\menu\\item\\PageMenuItemAction', '.sortableNode', '> .sortableNodeLabel .jsToggleButton');
-               
-               {if $headerItems|count}
-                       new WCF.Sortable.List('pageMenuItemHeaderList', 'wcf\\data\\page\\menu\\item\\PageMenuItemAction', undefined, { protectRoot: true }, false, { menuPosition: 'header' });
-               {/if}
-               {if $footerItems|count}
-                       new WCF.Sortable.List('pageMenuItemFooterList', 'wcf\\data\\page\\menu\\item\\PageMenuItemAction', undefined, { }, true, { menuPosition: 'footer' });
-               {/if}
-       });
-       //]]>
-</script>
-
-<header class="contentHeader">
-       <h1 class="contentTitle">{lang}wcf.acp.pageMenu.list{/lang}</h1>
-</header>
-
-<p class="info">{lang}wcf.acp.pageMenu.landingPage.description{/lang}</p>
-
-<div class="contentNavigation">
-       <nav>
-               <ul>
-                       <li><a href="{link controller='PageMenuItemAdd'}{/link}" class="button"><span class="icon icon16 fa-plus"></span> <span>{lang}wcf.acp.pageMenu.add{/lang}</span></a></li>
-                       
-                       {event name='contentNavigationButtonsTop'}
-               </ul>
-       </nav>
-</div>
-
-{hascontent}
-       <section class="section">
-               <h2 class="sectionTitle">{lang}wcf.acp.pageMenu.header{/lang}</h2>
-               
-               <div id="pageMenuItemHeaderList" class="sortableListContainer">
-                       <ol class="sortableList" data-object-id="0">
-                               {content}
-                                       {foreach from=$headerItems item=menuItem}
-                                               <li class="sortableNode" data-object-id="{@$menuItem->menuItemID}">
-                                                       <span class="sortableNodeLabel">
-                                                               <a href="{link controller='PageMenuItemEdit' id=$menuItem->menuItemID}{/link}">{lang}{$menuItem->menuItem}{/lang}</a>
-                                                               <span class="statusDisplay sortableButtonContainer">
-                                                                       {if $menuItem->canDisable()}
-                                                                               <span class="icon icon16 fa-{if !$menuItem->isDisabled}check-{/if}square-o jsToggleButton jsTooltip pointer" title="{lang}wcf.global.button.{if $menuItem->isDisabled}enable{else}disable{/if}{/lang}" data-object-id="{@$menuItem->menuItemID}"></span>
-                                                                       {else}
-                                                                               <span class="icon icon16 fa-{if !$menuItem->isDisabled}check-{/if}square-o disabled" title="{lang}wcf.global.button.{if $menuItem->isDisabled}enable{else}disable{/if}{/lang}"></span>
-                                                                       {/if}
-                                                                       <a href="{link controller='PageMenuItemEdit' id=$menuItem->menuItemID}{/link}" class="jsTooltip" title="{lang}wcf.global.button.edit{/lang}"><span class="icon icon16 fa-pencil"></span></a>
-                                                                       {if $menuItem->canDelete()}
-                                                                               <span class="icon icon16 fa-times jsDeleteButton jsTooltip pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="{@$menuItem->menuItemID}" data-confirm-message="{lang __menuItem=$menuItem}wcf.acp.pageMenu.delete.sure{/lang}"></span>
-                                                                       {else}
-                                                                               <span class="icon icon16 fa-times disabled" title="{lang}wcf.global.button.delete{/lang}"></span>
-                                                                       {/if}
-                                                                       
-                                                                       {event name='headerItemButtons'}
-                                                               </span>
-                                                       </span>
-                                                       {if $menuItem|count}
-                                                               <ol class="sortableList" data-object-id="{@$menuItem->menuItemID}">
-                                                                       {foreach from=$menuItem item=childMenuItem}
-                                                                               <li class="sortableNode sortableNoNesting" data-object-id="{@$childMenuItem->menuItemID}">
-                                                                                       <span class="sortableNodeLabel">
-                                                                                               <a href="{link controller='PageMenuItemEdit' id=$childMenuItem->menuItemID}{/link}">{lang}{$childMenuItem->menuItem}{/lang}</a>
-                                                                                               <span class="statusDisplay sortableButtonContainer">
-                                                                                                       <span class="icon icon16 fa-{if !$childMenuItem->isDisabled}check-{/if}square-o jsToggleButton jsTooltip pointer" title="{lang}wcf.global.button.{if $childMenuItem->isDisabled}enable{else}disable{/if}{/lang}" data-object-id="{@$childMenuItem->menuItemID}"></span>
-                                                                                                       <a href="{link controller='PageMenuItemEdit' id=$childMenuItem->menuItemID}{/link}" class="jsTooltip" title="{lang}wcf.global.button.edit{/lang}"><span class="icon icon16 fa-pencil"></span></a>
-                                                                                                       {if $childMenuItem->canDelete()}
-                                                                                                               <span class="icon icon16 fa-times jsDeleteButton jsTooltip pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="{@$childMenuItem->menuItemID}" data-confirm-message="{lang __menuItem=$childMenuItem}wcf.acp.pageMenu.delete.sure{/lang}"></span>
-                                                                                                       {else}
-                                                                                                               <span class="icon icon16 fa-times disabled" title="{lang}wcf.global.button.delete{/lang}"></span>
-                                                                                                       {/if}
-                                                                                                       
-                                                                                                       {event name='subHeaderItemButtons'}
-                                                                                               </span>
-                                                                                       </span>
-                                                                               </li>
-                                                                       {/foreach}
-                                                               </ol>
-                                                       {/if}
-                                               </li>
-                                       {/foreach}
-                               {/content}
-                       </ol>
-                       
-                       <div class="formSubmit">
-                               <button data-type="submit">{lang}wcf.global.button.saveSorting{/lang}</button>
-                       </div>
-               </div>
-       </section>
-{/hascontent}
-
-{hascontent}
-       <section class="section">
-               <h2 class="sectionTitle">{lang}wcf.acp.pageMenu.footer{/lang}</h2>
-               
-               <div id="pageMenuItemFooterList" class="sortableListContainer">
-                       <ol class="sortableList simpleSortableList" data-object-id="0">
-                               {content}
-                                       {foreach from=$footerItems item=menuItem}
-                                               <li class="sortableNode" data-object-id="{@$menuItem->menuItemID}">
-                                                       <span class="sortableNodeLabel">
-                                                               <a href="{link controller='PageMenuItemEdit' id=$menuItem->menuItemID}{/link}">{lang}{$menuItem->menuItem}{/lang}</a>
-                                                               <span class="statusDisplay sortableButtonContainer">
-                                                                       <span class="icon icon16 fa-{if !$menuItem->isDisabled}check-{/if}square-o jsToggleButton jsTooltip pointer" title="{lang}wcf.global.button.{if $menuItem->isDisabled}enable{else}disable{/if}{/lang}" data-object-id="{@$menuItem->menuItemID}"></span>
-                                                                       <a href="{link controller='PageMenuItemEdit' id=$menuItem->menuItemID}{/link}" class="jsTooltip" title="{lang}wcf.global.button.edit{/lang}"><span class="icon icon16 fa-pencil"></span></a>
-                                                                       {if $menuItem->canDelete()}
-                                                                               <span class="icon icon16 fa-times jsDeleteButton jsTooltip pointer" title="{lang}wcf.global.button.delete{/lang}" data-object-id="{@$menuItem->menuItemID}" data-confirm-message="{lang __menuItem=$menuItem}wcf.acp.pageMenu.delete.sure{/lang}"></span>
-                                                                       {else}
-                                                                               <span class="icon icon16 fa-times disabled" title="{lang}wcf.global.button.delete{/lang}"></span>
-                                                                       {/if}
-                                                                       
-                                                                       {event name='footerItemButtons'}
-                                                               </span>
-                                                       </span>
-                                               </li>
-                                       {/foreach}
-                               {/content}
-                       </ol>
-                       
-                       <div class="formSubmit">
-                               <button data-type="submit">{lang}wcf.global.button.saveSorting{/lang}</button>
-                       </div>
-               </div>
-       </section>
-{/hascontent}
-
-<div class="contentNavigation">
-       <nav>
-               <ul>
-                       <li><a href="{link controller='PageMenuItemAdd'}{/link}" class="button"><span class="icon icon16 fa-plus"></span> <span>{lang}wcf.acp.pageMenu.add{/lang}</span></a></li>
-                       
-                       {event name='contentNavigationButtonsBottom'}
-               </ul>
-       </nav>
-</div>
-
-{include file='footer'}
diff --git a/wcfsetup/install/files/lib/acp/form/PageMenuItemAddForm.class.php b/wcfsetup/install/files/lib/acp/form/PageMenuItemAddForm.class.php
deleted file mode 100644 (file)
index a681e81..0000000
+++ /dev/null
@@ -1,314 +0,0 @@
-<?php
-namespace wcf\acp\form;
-use wcf\data\page\menu\item\PageMenuItemAction;
-use wcf\data\page\menu\item\PageMenuItemEditor;
-use wcf\data\page\menu\item\PageMenuItemList;
-use wcf\form\AbstractForm;
-use wcf\system\exception\UserInputException;
-use wcf\system\language\I18nHandler;
-use wcf\system\page\PageManager;
-use wcf\system\WCF;
-use wcf\util\StringUtil;
-
-/**
- * Shows the page menu item add form.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage acp.form
- * @category   Community Framework
- */
-class PageMenuItemAddForm extends AbstractForm {
-       /**
-        * @see \wcf\page\AbstractPage::$activeMenuItem
-        */
-       public $activeMenuItem = 'wcf.acp.menu.link.pageMenu.add';
-       
-       /**
-        * list of available parent menu items
-        * @var \wcf\data\page\menu\item\PageMenuItemList
-        */
-       public $availableParentMenuItems = null;
-       
-       /**
-        * activation state
-        * @var boolean
-        */
-       public $isDisabled = false;
-       
-       /**
-        * internal link
-        * @var boolean
-        */
-       public $isInternalLink = false;
-       
-       /**
-        * menu item controller
-        * @var string
-        */
-       public $menuItemController = '';
-       
-       /**
-        * menu item parameters
-        * @var string
-        */
-       public $menuItemParameters = '';
-       
-       /**
-        * menu item link
-        * @var string
-        */
-       public $menuItemLink = '';
-       
-       /**
-        * menu item position
-        * @var string
-        */
-       public $menuPosition = 'header';
-       
-       /**
-        * @see \wcf\page\AbstractPage::$neededPermissions
-        */
-       public $neededPermissions = array('admin.content.cms.canManageMenu');
-       
-       /**
-        * page menu item name
-        * @var string
-        */
-       public $pageMenuItem = '';
-       
-       /**
-        * parent menu item
-        * @var string
-        */
-       public $parentMenuItem = '';
-       
-       /**
-        * show order
-        * @var integer
-        */
-       public $showOrder = 0;
-       
-       /**
-        * available page object types
-        * @var array<\wcf\data\object\type\ObjectType>
-        */
-       public $pageObjectTypes = array();
-       
-       /**
-        * id of the page object type that belongs to the menu item's controller
-        * @var integer
-        */
-       public $menuItemPage = 0;
-       
-       /**
-        * @see \wcf\page\IPage::readParameters()
-        */
-       public function readParameters() {
-               parent::readParameters();
-               
-               I18nHandler::getInstance()->register('menuItemLink');
-               I18nHandler::getInstance()->register('pageMenuItem');
-               
-               $this->readAvailableParentMenuItems();
-               
-               $this->pageObjectTypes = PageManager::getInstance()->getObjectTypes();
-       }
-       
-       /**
-        * Prepares list object to read available parent menu items.
-        */
-       protected function initAvailableParentMenuItems() {
-               $this->availableParentMenuItems = new PageMenuItemList();
-               $this->availableParentMenuItems->getConditionBuilder()->add("page_menu_item.parentMenuItem = ''");
-               $this->availableParentMenuItems->getConditionBuilder()->add('page_menu_item.menuPosition = ?', array('header'));
-               $this->availableParentMenuItems->sqlOrderBy = "page_menu_item.showOrder ASC";
-       }
-       
-       /**
-        * Reads a list of available parent menu items.
-        */
-       protected function readAvailableParentMenuItems() {
-               $this->initAvailableParentMenuItems();
-               
-               $this->availableParentMenuItems->readObjects();
-       }
-       
-       /**
-        * @see \wcf\form\IForm::readFormParameters()
-        */
-       public function readFormParameters() {
-               parent::readFormParameters();
-               
-               I18nHandler::getInstance()->readValues();
-               if (I18nHandler::getInstance()->isPlainValue('menuItemLink')) $this->menuItemLink = I18nHandler::getInstance()->getValue('menuItemLink');
-               if (I18nHandler::getInstance()->isPlainValue('pageMenuItem')) $this->pageMenuItem = I18nHandler::getInstance()->getValue('pageMenuItem');
-               
-               if (isset($_POST['isDisabled'])) $this->isDisabled = true;
-               if (isset($_POST['isInternalLink'])) $this->isInternalLink = (bool) $_POST['isInternalLink'];
-               if (isset($_POST['menuItemController'])) $this->menuItemController = StringUtil::trim($_POST['menuItemController']);
-               if (isset($_POST['menuItemPage'])) $this->menuItemPage = intval($_POST['menuItemPage']);
-               if (isset($_POST['menuItemParameters'])) $this->menuItemParameters = StringUtil::trim($_POST['menuItemParameters']);
-               if (isset($_POST['menuPosition'])) $this->menuPosition = StringUtil::trim($_POST['menuPosition']);
-               if (isset($_POST['parentMenuItem'])) $this->parentMenuItem = StringUtil::trim($_POST['parentMenuItem']);
-               if (isset($_POST['showOrder'])) $this->showOrder = intval($_POST['showOrder']);
-       }
-       
-       /**
-        * @see \wcf\form\IForm::validate()
-        */
-       public function validate() {
-               parent::validate();
-               
-               // validate menu position
-               if (empty($this->menuPosition)) {
-                       throw new UserInputException('menuPosition');
-               }
-               else if ($this->menuPosition != 'header' && $this->menuPosition != 'footer') {
-                       throw new UserInputException('menuPosition', 'notValid');
-               }
-               
-               // validate menu item controller
-               if ($this->isInternalLink) {
-                       if ($this->menuItemPage) {
-                               $valid = false;
-                               foreach ($this->pageObjectTypes as $page) {
-                                       if ($page->objectTypeID == $this->menuItemPage) {
-                                               $this->menuItemController = $page->className;
-                                               $valid = true;
-                                               break;
-                                       }
-                               }
-                               
-                               if (!$valid) {
-                                       throw new UserInputException('menuItemPage', 'noValidSelection');
-                               }
-                       }
-                       else if (empty($this->menuItemController)) {
-                               throw new UserInputException('menuItemPage');
-                       }
-                       
-                       if (!class_exists($this->menuItemController)) {
-                               throw new UserInputException('menuItemController', 'notValid');
-                       }
-                       
-                       // validate menu item link
-                       if (!I18nHandler::getInstance()->validateValue('menuItemLink', false, true)) {
-                               throw new UserInputException('menuItemLink');
-                       }
-               }
-               else {
-                       $this->menuItemController = '';
-                       
-                       // validate menu item link
-                       if (!I18nHandler::getInstance()->validateValue('menuItemLink')) {
-                               throw new UserInputException('menuItemLink');
-                       }
-               }
-               
-               // validate page menu item name
-               if (!I18nHandler::getInstance()->validateValue('pageMenuItem', true)) {
-                       throw new UserInputException('pageMenuItem', 'multilingual');
-               }
-               
-               // validate parent menu item
-               if ($this->menuPosition == 'footer') {
-                       $this->parentMenuItem = '';
-               }
-               else if (!empty($this->parentMenuItem)) {
-                       $valid = false;
-                       foreach ($this->availableParentMenuItems as $menuItem) {
-                               if ($menuItem->menuItem == $this->parentMenuItem) {
-                                       $valid = true;
-                                       break;
-                               }
-                       }
-                       
-                       if (!$valid) {
-                               throw new UserInputException('parentMenuItem', 'notValid');
-                       }
-               }
-       }
-       
-       /**
-        * @see \wcf\form\IForm::save()
-        */
-       public function save() {
-               parent::save();
-               
-               $this->objectAction = new PageMenuItemAction(array(), 'create', array('data' => array_merge($this->additionalFields, array(
-                       'isDisabled' => ($this->isDisabled) ? 1 : 0,
-                       'menuItem' => $this->pageMenuItem,
-                       'menuItemController' => $this->menuItemController,
-                       'menuItemLink' => ($this->menuItemController ? $this->menuItemParameters : $this->menuItemLink),
-                       'menuPosition' => $this->menuPosition,
-                       'parentMenuItem' => $this->parentMenuItem,
-                       'showOrder' => $this->showOrder,
-                       'menuItem' => StringUtil::getRandomID()
-               ))));
-               $this->objectAction->executeAction();
-               
-               $returnValues = $this->objectAction->getReturnValues();
-               $menuItem = $returnValues['returnValues'];
-               $data = array();
-               if (!I18nHandler::getInstance()->isPlainValue('menuItemLink')) {
-                       I18nHandler::getInstance()->save('menuItemLink', 'wcf.page.menuItemLink'.$menuItem->menuItemID, 'wcf.page');
-                       $data['menuItemLink'] = 'wcf.page.menuItemLink'.$menuItem->menuItemID;
-               }
-               
-               // save menu item
-               I18nHandler::getInstance()->save('pageMenuItem', 'wcf.page.menuItem'.$menuItem->menuItemID, 'wcf.page');
-               $data['menuItem'] = 'wcf.page.menuItem'.$menuItem->menuItemID;
-               
-               // update i18n values
-               $menuItemEditor = new PageMenuItemEditor($menuItem);
-               $menuItemEditor->update($data);
-               PageMenuItemEditor::resetCache();
-               
-               // call saved event
-               $this->saved();
-               
-               // show success
-               WCF::getTPL()->assign('success', true);
-               
-               // reset variables
-               $this->isDisabled = $this->isInternalLink = false;
-               $this->menuPosition = 'header';
-               $this->menuItemController = $this->menuItemLink = $this->pageMenuItem = $this->parentMenuItem = $this->menuItemParameters = '';
-               $this->showOrder = 0;
-               
-               I18nHandler::getInstance()->reset();
-               
-               // reload parent menu items
-               if ($menuItem->menuPosition == 'header' && $menuItem->parentMenuItem == '') {
-                       $this->readAvailableParentMenuItems();
-               }
-       }
-       
-       /**
-        * @see \wcf\page\IPage::assignVariables()
-        */
-       public function assignVariables() {
-               parent::assignVariables();
-               
-               I18nHandler::getInstance()->assignVariables();
-               
-               WCF::getTPL()->assign(array(
-                       'action' => 'add',
-                       'availableParentMenuItems' => $this->availableParentMenuItems,
-                       'isDisabled' => $this->isDisabled,
-                       'isInternalLink' => $this->isInternalLink,
-                       'menuItemController' => $this->menuItemPage ? '' : $this->menuItemController,
-                       'menuItemParameters' => $this->menuItemParameters,
-                       'menuItemLink' => $this->menuItemLink,
-                       'menuItemPage' => $this->menuItemPage,
-                       'menuPosition' => $this->menuPosition,
-                       'pages' => PageManager::getInstance()->getSelection(),
-                       'pageMenuItem' => $this->pageMenuItem,
-                       'parentMenuItem' => $this->parentMenuItem,
-                       'showOrder' => $this->showOrder
-               ));
-       }
-}
diff --git a/wcfsetup/install/files/lib/acp/form/PageMenuItemEditForm.class.php b/wcfsetup/install/files/lib/acp/form/PageMenuItemEditForm.class.php
deleted file mode 100644 (file)
index 9546d17..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-<?php
-namespace wcf\acp\form;
-use wcf\data\page\menu\item\PageMenuItem;
-use wcf\data\page\menu\item\PageMenuItemAction;
-use wcf\form\AbstractForm;
-use wcf\system\exception\IllegalLinkException;
-use wcf\system\language\I18nHandler;
-use wcf\system\WCF;
-
-/**
- * Shows the page menu item edit form.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage acp.form
- * @category   Community Framework
- */
-class PageMenuItemEditForm extends PageMenuItemAddForm {
-       /**
-        * @see \wcf\page\AbstractPage::$activeMenuItem
-        */
-       public $activeMenuItem = 'wcf.acp.menu.link.pageMenu';
-       
-       /**
-        * page menu item object
-        * @var \wcf\data\page\menu\item\PageMenuItem
-        */
-       public $menuItem = null;
-       
-       /**
-        * menu item id
-        * @var integer
-        */
-       public $menuItemID = 0;
-       
-       /**
-        * @see \wcf\page\IPage::readParameters()
-        */
-       public function readParameters() {
-               if (isset($_REQUEST['id'])) $this->menuItemID = intval($_REQUEST['id']);
-               $this->menuItem = new PageMenuItem($this->menuItemID);
-               if (!$this->menuItem->menuItemID) {
-                       throw new IllegalLinkException();
-               }
-               
-               parent::readParameters();
-       }
-       
-       /**
-        * @see \wcf\acp\form\PageMenuItemAddForm::initAvailableParentMenuItems()
-        */
-       protected function initAvailableParentMenuItems() {
-               parent::initAvailableParentMenuItems();
-               
-               // remove current item as valid parent menu item
-               $this->availableParentMenuItems->getConditionBuilder()->add("page_menu_item.menuItem <> ?", array($this->menuItem->menuItem));
-       }
-       
-       /**
-        * @see \wcf\page\IPage::readData()
-        */
-       public function readData() {
-               parent::readData();
-               
-               I18nHandler::getInstance()->setOptions('menuItemLink', PACKAGE_ID, $this->menuItem->menuItemLink, 'wcf.page.menuItemLink\d+');
-               I18nHandler::getInstance()->setOptions('pageMenuItem', PACKAGE_ID, $this->menuItem->menuItem, 'wcf.page.menuItem\d+');
-               
-               if (empty($_POST)) {
-                       $this->isDisabled = ($this->menuItem->isDisabled) ? true : false;
-                       $this->isInternalLink = ($this->menuItem->menuItemController) ? true : false;
-                       $this->menuItemController = $this->menuItem->menuItemController;
-                       if ($this->isInternalLink) {
-                               $this->menuItemParameters = $this->menuItem->menuItemLink;
-                       }
-                       else {
-                               $this->menuItemLink = $this->menuItem->menuItemLink;
-                       }
-                       $this->menuPosition = $this->menuItem->menuPosition;
-                       $this->pageMenuItem = $this->menuItem->menuItem;
-                       $this->parentMenuItem = $this->menuItem->parentMenuItem;
-                       $this->showOrder = $this->menuItem->showOrder;
-                       
-                       foreach ($this->pageObjectTypes as $page) {
-                               if ($page->className == $this->menuItemController) {
-                                       $this->menuItemPage = $page->objectTypeID;
-                               }
-                       }
-               }
-       }
-       
-       /**
-        * @see \wcf\form\IForm::save()
-        */
-       public function save() {
-               AbstractForm::save();
-               
-               // save menu item
-               I18nHandler::getInstance()->save('pageMenuItem', $this->menuItem->menuItem, 'wcf.page');
-               
-               // save menu item link
-               $this->menuItemLink = 'wcf.page.menuItemLink'.$this->menuItem->menuItemID;
-               if (I18nHandler::getInstance()->isPlainValue('menuItemLink')) {
-                       I18nHandler::getInstance()->remove($this->menuItemLink);
-                       $this->menuItemLink= I18nHandler::getInstance()->getValue('menuItemLink');
-               }
-               else {
-                       I18nHandler::getInstance()->save('menuItemLink', $this->menuItemLink, 'wcf.page');
-               }
-               
-               // save menu item
-               $this->objectAction = new PageMenuItemAction(array($this->menuItem), 'update', array('data' => array_merge($this->additionalFields, array(
-                       'isDisabled' => ($this->isDisabled) ? 1 : 0,
-                       'menuItemController' => $this->menuItemController,
-                       'menuItemLink' => ($this->menuItemController ? $this->menuItemParameters : $this->menuItemLink),
-                       'parentMenuItem' => ($this->menuPosition == 'header' ? $this->parentMenuItem : ''),
-                       'menuPosition' => $this->menuPosition,
-                       'showOrder' => $this->showOrder
-               ))));
-               $this->objectAction->executeAction();
-               
-               // update children
-               if ($this->menuItem->menuPosition == 'header' && $this->menuPosition != 'header') {
-                       $sql = "UPDATE  wcf".WCF_N."_page_menu_item
-                               SET     parentMenuItem = ''
-                               WHERE   parentMenuItem = ?";
-                       $statement = WCF::getDB()->prepareStatement($sql);
-                       $statement->execute(array($this->menuItem->menuItem));
-               }
-               $this->saved();
-               
-               WCF::getTPL()->assign('success', true);
-       }
-       
-       /**
-        * @see \wcf\page\IPage::assignVariables()
-        */
-       public function assignVariables() {
-               parent::assignVariables();
-               
-               I18nHandler::getInstance()->assignVariables(!empty($_POST));
-               
-               WCF::getTPL()->assign(array(
-                       'action' => 'edit',
-                       'menuItem' => $this->menuItem,
-                       'menuItemID' => $this->menuItemID
-               ));
-       }
-}
diff --git a/wcfsetup/install/files/lib/acp/page/PageMenuItemListPage.class.php b/wcfsetup/install/files/lib/acp/page/PageMenuItemListPage.class.php
deleted file mode 100644 (file)
index 2611d37..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-namespace wcf\acp\page;
-use wcf\data\page\menu\item\PageMenuItemList;
-use wcf\data\page\menu\item\ViewablePageMenuItem;
-use wcf\page\AbstractPage;
-use wcf\system\WCF;
-
-/**
- * Shows a list of page menu items.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage acp.page
- * @category   Community Framework
- */
-class PageMenuItemListPage extends AbstractPage {
-       /**
-        * @see \wcf\page\AbstractPage::$activeMenuItem
-        */
-       public $activeMenuItem = 'wcf.acp.menu.link.pageMenu.list';
-       
-       /**
-        * list of footer page menu items
-        * @var array<\wcf\data\page\menu\item\PageMenuItem>
-        */
-       public $footerItems = array();
-       
-       /**
-        * list of header page menu items
-        * @var array<\wcf\data\page\menu\item\PageMenuItem>
-        */
-       public $headerItems = array();
-       
-       /**
-        * @see \wcf\page\AbstractPage::$neededPermissions
-        */
-       public $neededPermissions = array('admin.content.cms.canManageMenu');
-       
-       /**
-        * @see \wcf\page\IPage::readData()
-        */
-       public function readData() {
-               parent::readData();
-               
-               $menuItemList = new PageMenuItemList();
-               $menuItemList->sqlOrderBy = "page_menu_item.parentMenuItem ASC, page_menu_item.showOrder ASC";
-               $menuItemList->readObjects();
-               
-               foreach ($menuItemList as $menuItem) {
-                       if ($menuItem->menuPosition == 'footer') {
-                               if ($menuItem->parentMenuItem) {
-                                       $this->footerItems[$menuItem->parentMenuItem]->addChild($menuItem);
-                               }
-                               else {
-                                       $this->footerItems[$menuItem->menuItem] = $menuItem;
-                               }
-                       }
-                       else {
-                               if ($menuItem->parentMenuItem) {
-                                       if (isset($this->headerItems[$menuItem->parentMenuItem])) {
-                                               $this->headerItems[$menuItem->parentMenuItem]->addChild($menuItem);
-                                       }
-                               }
-                               else {
-                                       $this->headerItems[$menuItem->menuItem] = new ViewablePageMenuItem($menuItem);
-                               }
-                       }
-               }
-       }
-       
-       /**
-        * @see \wcf\page\IPage::assignVariables()
-        */
-       public function assignVariables() {
-               parent::assignVariables();
-               
-               WCF::getTPL()->assign(array(
-                       'footerItems' => $this->footerItems,
-                       'headerItems' => $this->headerItems
-               ));
-       }
-}
diff --git a/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItem.class.php b/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItem.class.php
deleted file mode 100644 (file)
index 2c329d3..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-<?php
-namespace wcf\data\page\menu\item;
-use wcf\data\ProcessibleDatabaseObject;
-use wcf\system\menu\page\DefaultPageMenuItemProvider;
-use wcf\system\menu\ITreeMenuItem;
-use wcf\system\request\LinkHandler;
-use wcf\system\Regex;
-use wcf\system\WCF;
-
-/**
- * Represents a page menu item.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage data.page.menu.item
- * @category   Community Framework
- *
- * @property-read      integer         $menuItemID
- * @property-read      integer         $packageID
- * @property-read      string          $menuItem
- * @property-read      string          $parentMenuItem
- * @property-read      string          $menuItemController
- * @property-read      string          $menuItemLink
- * @property-read      string          $menuPosition
- * @property-read      integer         $showOrder
- * @property-read      string          $permissions
- * @property-read      string          $options
- * @property-read      integer         $isDisabled
- * @property-read      string          $className
- * @property-read      integer         $isLandingPage
- * @property-read      integer         $originIsSystem
- */
-class PageMenuItem extends ProcessibleDatabaseObject implements ITreeMenuItem {
-       /**
-        * @see \wcf\data\DatabaseObject::$databaseTableName
-        */
-       protected static $databaseTableName = 'page_menu_item';
-       
-       /**
-        * @see \wcf\data\DatabaseObject::$databaseTableIndexName
-        */
-       protected static $databaseTableIndexName = 'menuItemID';
-       
-       /**
-        * @see \wcf\data\ProcessibleDatabaseObject::$processorInterface
-        */
-       protected static $processorInterface = 'wcf\system\menu\page\IPageMenuItemProvider';
-       
-       /**
-        * application abbreviation
-        * @var string
-        */
-       protected $application = '';
-       
-       /**
-        * menu item controller
-        * @var string
-        */
-       protected $controller = null;
-       
-       /**
-        * @see \wcf\data\ProcessibleDatabaseObject::getProcessor()
-        */
-       public function getProcessor() {
-               if (parent::getProcessor() === null) {
-                       $this->processor = new DefaultPageMenuItemProvider($this);
-               }
-               
-               return $this->processor;
-       }
-       
-       /**
-        * @see \wcf\system\menu\ITreeMenuItem::getLink()
-        */
-       public function getLink() {
-               // external link
-               if (!$this->menuItemController) {
-                       return WCF::getLanguage()->get($this->menuItemLink);
-               }
-               
-               $this->parseController();
-               return LinkHandler::getInstance()->getLink($this->controller, array('application' => $this->application, 'forceFrontend' => true), WCF::getLanguage()->get($this->menuItemLink));
-       }
-       
-       /**
-        * Returns true if current menu item may be set as landing page.
-        * 
-        * @return      boolean
-        */
-       public function isValidLandingPage() {
-               // item must be a top header menu item without parents
-               if ($this->menuPosition != 'header' || $this->parentMenuItem) {
-                       return false;
-               }
-               
-               // external links are not valid
-               if (!$this->menuItemController) {
-                       return false;
-               }
-               
-               // already is landing page
-               if ($this->isLandingPage) {
-                       return false;
-               }
-               
-               // disabled items cannot be a landing page
-               if ($this->isDisabled) {
-                       return false;
-               }
-               
-               return true;
-       }
-       
-       /**
-        * Returns true if this item can be deleted.
-        * 
-        * @return      boolean
-        */
-       public function canDelete() {
-               if ($this->originIsSystem || $this->isLandingPage) {
-                       return false;
-               }
-               
-               return true;
-       }
-       
-       /**
-        * Returns true if this item can be disabled.
-        * 
-        * @return      boolean
-        */
-       public function canDisable() {
-               return ($this->isLandingPage ? false : true);
-       }
-       
-       /**
-        * Returns application abbreviation.
-        * 
-        * @return      string
-        */
-       public function getApplication() {
-               $this->parseController();
-               
-               return $this->application;
-       }
-       
-       /**
-        * Returns controller name.
-        * 
-        * @return      string
-        */
-       public function getController() {
-               $this->parseController();
-               
-               return $this->controller;
-       }
-       
-       /**
-        * Parses controller name.
-        */
-       protected function parseController() {
-               if ($this->controller === null) {
-                       $this->controller = '';
-                       
-                       // resolve application and controller
-                       if ($this->menuItemController) {
-                               $parts = explode('\\', $this->menuItemController);
-                               $this->application = array_shift($parts);
-                               $menuItemController = array_pop($parts);
-                               
-                               // drop controller suffix
-                               $this->controller = Regex::compile('(Action|Form|Page)$')->replace($menuItemController, '');
-                       }
-               }
-       }
-       
-       /**
-        * Returns the menu item name.
-        * 
-        * @return      string
-        */
-       public function __toString() {
-               return WCF::getLanguage()->getDynamicVariable($this->menuItem);
-       }
-}
diff --git a/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemAction.class.php b/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemAction.class.php
deleted file mode 100644 (file)
index 75641de..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-<?php
-namespace wcf\data\page\menu\item;
-use wcf\data\AbstractDatabaseObjectAction;
-use wcf\data\ISortableAction;
-use wcf\data\IToggleAction;
-use wcf\system\exception\PermissionDeniedException;
-use wcf\system\exception\UserInputException;
-use wcf\system\WCF;
-
-/**
- * Executes page menu item-related actions.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage data.page.menu.item
- * @category   Community Framework
- */
-class PageMenuItemAction extends AbstractDatabaseObjectAction implements ISortableAction, IToggleAction {
-       /**
-        * @see \wcf\data\AbstractDatabaseObjectAction::$className
-        */
-       protected $className = 'wcf\data\page\menu\item\PageMenuItemEditor';
-       
-       /**
-        * page menu item editor
-        * @var \wcf\data\page\menu\item\PageMenuItemEditor
-        */
-       public $menuItemEditor = null;
-       
-       /**
-        * list of menu items
-        * @var array<\wcf\data\page\menu\item\PageMenuItem>
-        */
-       public $menuItems = array();
-       
-       /**
-        * @see \wcf\data\AbstractDatabaseObjectAction::$permissionsDelete
-        */
-       protected $permissionsDelete = array('admin.content.cms.canManageMenu');
-       
-       /**
-        * @see \wcf\data\AbstractDatabaseObjectAction::$permissionsUpdate
-        */
-       protected $permissionsUpdate = array('admin.content.cms.canManageMenu');
-       
-       /**
-        * @see \wcf\data\AbstractDatabaseObjectAction::$requireACP
-        */
-       protected $requireACP = array('delete', 'toggle', 'update', 'updatePosition');
-       
-       /**
-        * @see \wcf\data\IDatabaseObjectAction::create()
-        */
-       public function create() {
-               if (!isset($this->parameters['data']['packageID'])) {
-                       $this->parameters['data']['packageID'] = PACKAGE_ID;
-               }
-               
-               // calculate show order
-               $this->parameters['data']['showOrder'] = PageMenuItemEditor::getShowOrder($this->parameters['data']['showOrder'], $this->parameters['data']['menuPosition'], $this->parameters['data']['parentMenuItem']);
-               
-               $menuItem = parent::create();
-               
-               if ($menuItem->menuPosition == 'header') {
-                       PageMenuItemEditor::updateLandingPage();
-               }
-               
-               return $menuItem;
-       }
-       
-       /**
-        * @see \wcf\data\AbstractDatabaseObjectAction::delete()
-        */
-       public function delete() {
-               $returnValues = parent::delete();
-               
-               PageMenuItemEditor::updateLandingPage();
-               
-               return $returnValues;
-       }
-       
-       /**
-        * @see \wcf\data\AbstractDatabaseObjectAction::update()
-        */
-       public function update() {
-               parent::update();
-               
-               PageMenuItemEditor::updateLandingPage();
-       }
-       
-       /**
-        * @see \wcf\data\ISortableAction::validateUpdatePosition()
-        */
-       public function validateUpdatePosition() {
-               WCF::getSession()->checkPermissions(array('admin.content.cms.canManageMenu'));
-               
-               if (!isset($this->parameters['data']) || !isset($this->parameters['data']['structure']) || !is_array($this->parameters['data']['structure'])) {
-                       throw new UserInputException('structure');
-               }
-               
-               if (!isset($this->parameters['menuPosition']) || !in_array($this->parameters['menuPosition'], array('footer', 'header'))) {
-                       throw new UserInputException('structure');
-               }
-               
-               if ($this->parameters['menuPosition'] == 'footer') {
-                       if (count($this->parameters['data']['structure']) > 1 || !isset($this->parameters['data']['structure'][0])) {
-                               throw new UserInputException('structure');
-                       }
-               }
-               
-               $menuItemIDs = array();
-               foreach ($this->parameters['data']['structure'] as $menuItems) {
-                       $menuItemIDs = array_merge($menuItemIDs, $menuItems);
-               }
-               
-               $menuItemList = new PageMenuItemList();
-               $menuItemList->getConditionBuilder()->add("page_menu_item.menuItemID IN (?)", array($menuItemIDs));
-               $menuItemList->getConditionBuilder()->add("page_menu_item.menuPosition = ?", array($this->parameters['menuPosition']));
-               $menuItemList->readObjects();
-               $this->menuItems = $menuItemList->getObjects();
-               
-               if (count($this->menuItems) != count($menuItemIDs)) {
-                       throw new UserInputException('structure');
-               }
-               
-               foreach ($this->parameters['data']['structure'] as $parentMenuItemID => $menuItems) {
-                       if ($parentMenuItemID && !isset($this->menuItems[$parentMenuItemID])) {
-                               throw new UserInputException('structure');
-                       }
-               }
-       }
-       
-       /**
-        * @see \wcf\data\ISortableAction::updatePosition()
-        */
-       public function updatePosition() {
-               $sql = "UPDATE  wcf".WCF_N."_page_menu_item
-                       SET     parentMenuItem = ?,
-                               showOrder = ?
-                       WHERE   menuItemID = ?";
-               $statement = WCF::getDB()->prepareStatement($sql);
-               
-               WCF::getDB()->beginTransaction();
-               foreach ($this->parameters['data']['structure'] as $parentMenuItemID => $menuItems) {
-                       foreach ($menuItems as $showOrder => $menuItemID) {
-                               $statement->execute(array(
-                                       ($parentMenuItemID ? $this->menuItems[$parentMenuItemID]->menuItem : ''),
-                                       $showOrder + 1,
-                                       $menuItemID
-                               ));
-                       }
-               }
-               WCF::getDB()->commitTransaction();
-               
-               // update landing page
-               if ($this->parameters['menuPosition'] == 'header') {
-                       PageMenuItemEditor::updateLandingPage();
-               }
-       }
-       
-       /**
-        * @see \wcf\data\AbstractDatabaseObjectAction::validateDelete()
-        */
-       public function validateDelete() {
-               parent::validateDelete();
-               
-               foreach ($this->objects as $pageMenuItem) {
-                       if (!$pageMenuItem->canDelete()) {
-                               throw new PermissionDeniedException();
-                       }
-               }
-       }
-       
-       /**
-        * @see \wcf\data\IToggleAction::validateToggle()
-        */
-       public function validateToggle() {
-               $this->menuItemEditor = $this->getSingleObject();
-               if ($this->menuItemEditor->isLandingPage) {
-                       throw new PermissionDeniedException();
-               }
-               
-               WCF::getSession()->checkPermissions($this->permissionsUpdate);
-       }
-       
-       /**
-        * @see \wcf\data\IToggleAction::toggle()
-        */
-       public function toggle() {
-               $this->menuItemEditor->update(array(
-                       'isDisabled' => ($this->menuItemEditor->isDisabled ? 0 : 1)
-               ));
-       }
-}
diff --git a/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemEditor.class.php b/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemEditor.class.php
deleted file mode 100644 (file)
index a9b9884..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-<?php
-namespace wcf\data\page\menu\item;
-use wcf\data\DatabaseObjectEditor;
-use wcf\data\IEditableCachedObject;
-use wcf\system\cache\builder\PageMenuCacheBuilder;
-use wcf\system\WCF;
-
-/**
- * Provides functions to edit page menu items.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage data.page.menu.item
- * @category   Community Framework
- */
-class PageMenuItemEditor extends DatabaseObjectEditor implements IEditableCachedObject {
-       /**
-        * @see \wcf\data\DatabaseObjectDecorator::$baseClass
-        */
-       protected static $baseClass = 'wcf\data\page\menu\item\PageMenuItem';
-       
-       /**
-        * @see \wcf\data\IEditableObject::delete()
-        */
-       public function delete() {
-               // update show order
-               $sql = "UPDATE  wcf".WCF_N."_page_menu_item
-                       SET     showOrder = showOrder - 1
-                       WHERE   showOrder >= ?
-                               AND menuPosition = ?";
-               $statement = WCF::getDB()->prepareStatement($sql);
-               $statement->execute(array(
-                       $this->showOrder,
-                       $this->menuPosition
-               ));
-               
-               parent::delete();
-       }
-       
-       /**
-        * Sets first top header menu item as landing page.
-        */
-       public static function updateLandingPage() {
-               $sql = "UPDATE  wcf".WCF_N."_page_menu_item
-                       SET     isLandingPage = 0";
-               $statement = WCF::getDB()->prepareStatement($sql);
-               $statement->execute();
-               
-               $sql = "UPDATE          wcf".WCF_N."_page_menu_item
-                       SET             isLandingPage = ?,
-                                       isDisabled = ?
-                       WHERE           menuPosition = ?
-                                       AND parentMenuItem = ?
-                                       AND menuItemController <> ?
-                       ORDER BY        showOrder ASC";
-               $statement = WCF::getDB()->prepareStatement($sql, 1);
-               $statement->execute(array(
-                       1,
-                       0,
-                       'header',
-                       '',
-                       ''
-               ));
-               
-               self::resetCache();
-       }
-       
-       /**
-        * Updates the positions of a page menu item directly.
-        * 
-        * @param       integer         $menuItemID
-        * @param       string          $menuPosition
-        * @param       integer         $showOrder
-        */
-       public static function setShowOrder($menuItemID, $menuPosition = 'header', $showOrder = 1) {
-               // Update
-               $sql = "UPDATE  wcf".WCF_N."_page_menu_item
-                       SET     showOrder = ?,
-                               menuPosition = ?
-                       WHERE   menuItemID = ?";
-               $statement = WCF::getDB()->prepareStatement($sql);
-               $statement->execute(array(
-                       $showOrder,
-                       $menuPosition,
-                       $menuItemID
-               ));
-       }
-       
-       /**
-        * Returns show order for a new menu item.
-        * 
-        * @param       integer         $showOrder
-        * @param       string          $menuPosition
-        * @return      integer
-        */
-       public static function getShowOrder($showOrder, $menuPosition, $parentMenuItem = '') {
-               if ($showOrder == 0) {
-                       // get next number in row
-                       $sql = "SELECT  MAX(showOrder) AS showOrder
-                               FROM    wcf".WCF_N."_page_menu_item
-                               WHERE   parentMenuItem = ?
-                                       AND menuPosition = ?";
-                       $statement = WCF::getDB()->prepareStatement($sql);
-                       $statement->execute(array(
-                               $parentMenuItem,
-                               $menuPosition
-                       ));
-                       $row = $statement->fetchArray();
-                       if (!empty($row)) $showOrder = intval($row['showOrder']) + 1;
-                       else $showOrder = 1;
-               }
-               else {
-                       $sql = "UPDATE  wcf".WCF_N."_page_menu_item
-                               SET     showOrder = showOrder + 1
-                               WHERE   parentMenuItem = ?
-                                       AND menuPosition = ?
-                                       AND showOrder >= ?";
-                       $statement = WCF::getDB()->prepareStatement($sql);
-                       $statement->execute(array(
-                               $parentMenuItem,
-                               $menuPosition,
-                               $showOrder
-                       ));
-               }
-               
-               return $showOrder;
-       }
-       
-       /**
-        * @see \wcf\data\IEditableCachedObject::resetCache()
-        */
-       public static function resetCache() {
-               PageMenuCacheBuilder::getInstance()->reset();
-       }
-}
diff --git a/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemList.class.php b/wcfsetup/install/files/lib/data/page/menu/item/PageMenuItemList.class.php
deleted file mode 100644 (file)
index 45797a5..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-namespace wcf\data\page\menu\item;
-use wcf\data\DatabaseObjectList;
-
-/**
- * Represents a list of page menu items.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage data.page.menu.item
- * @category   Community Framework
- */
-class PageMenuItemList extends DatabaseObjectList {
-       /**
-        * @see \wcf\data\DatabaseObjectList::$className
-        */
-       public $className = 'wcf\data\page\menu\item\PageMenuItem';
-}
diff --git a/wcfsetup/install/files/lib/data/page/menu/item/ViewablePageMenuItem.class.php b/wcfsetup/install/files/lib/data/page/menu/item/ViewablePageMenuItem.class.php
deleted file mode 100644 (file)
index 705103d..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-<?php
-namespace wcf\data\page\menu\item;
-use wcf\data\DatabaseObjectDecorator;
-
-/**
- * Provides a viewable page menu item with children support.
- * 
- * @author     Alexander Ebert
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage data.page.menu.item
- * @category   Community Framework
- */
-class ViewablePageMenuItem extends DatabaseObjectDecorator implements \Countable, \Iterator {
-       /**
-        * @see \wcf\data\DatabaseObjectDecorator::$baseClass
-        */
-       protected static $baseClass = 'wcf\data\page\menu\item\PageMenuItem';
-       
-       /**
-        * current iterator index
-        * @var integer
-        */
-       protected $index = 0;
-       
-       /**
-        * list of page menu items
-        * @var array<\wcf\data\page\menu\item\PageMenuItem>
-        */
-       protected $objects = array();
-       
-       /**
-        * Adds a page menu item to collection.
-        * 
-        * @param       \wcf\data\page\menu\item\PageMenuItem   $menuItem
-        */
-       public function addChild(PageMenuItem $menuItem) {
-               if ($menuItem->parentMenuItem == $this->menuItem) {
-                       $this->objects[] = $menuItem;
-               }
-       }
-       
-       /**
-        * @see \Countable::count()
-        */
-       public function count() {
-               return count($this->objects);
-       }
-       
-       /**
-        * @see \Iterator::current()
-        */
-       public function current() {
-               return $this->objects[$this->index];
-       }
-       
-       /**
-        * @see \Iterator::key()
-        */
-       public function key() {
-               return $this->index;
-       }
-       
-       /**
-        * @see \Iterator::next()
-        */
-       public function next() {
-               ++$this->index;
-       }
-       
-       /**
-        * @see \Iterator::rewind()
-        */
-       public function rewind() {
-               $this->index = 0;
-       }
-       
-       /**
-        * @see \Iterator::valid()
-        */
-       public function valid() {
-               return isset($this->objects[$this->index]);
-       }
-}
index 9d758e0b3f61f6f91ec230330d11079a10cfed74..070dc757c3f1c7c6b6169bab24722c52555fa5d3 100644 (file)
@@ -23,11 +23,6 @@ use wcf\util\StringUtil;
  * @category   Community Framework
  */
 class UserSearchForm extends UserOptionListForm {
-       /**
-        * @inheritDoc
-        */
-       public $activeMenuItem = 'wcf.user.search';
-       
        /**
         * @inheritDoc
         */
index d6bf0f6ec781a9855fd20b8d60af49c975b40b63..a682dddd7fb45fd21d1ee53f992731822785db38 100644 (file)
@@ -4,7 +4,6 @@ use wcf\system\event\EventHandler;
 use wcf\system\exception\IllegalLinkException;
 use wcf\system\exception\PermissionDeniedException;
 use wcf\system\menu\acp\ACPMenu;
-use wcf\system\menu\page\PageMenu;
 use wcf\system\request\RequestHandler;
 use wcf\system\WCF;
 use wcf\util\HeaderUtil;
@@ -323,9 +322,6 @@ abstract class AbstractPage implements IPage, ITrackablePage {
                        if (RequestHandler::getInstance()->isACPRequest()) {
                                ACPMenu::getInstance()->setActiveMenuItem($this->activeMenuItem);
                        }
-                       else {
-                               PageMenu::getInstance()->setActiveMenuItem($this->activeMenuItem);
-                       }
                }
        }
        
index 1308a4da9e95bd71813b0f1e9b1e20d0c155c595..ec4172f8b33f20b74ed6369e024f88fdf18e2f08 100644 (file)
@@ -1,7 +1,6 @@
 <?php
 namespace wcf\page;
 use wcf\system\dashboard\DashboardHandler;
-use wcf\system\menu\page\PageMenu;
 use wcf\system\user\collapsible\content\UserCollapsibleContentHandler;
 use wcf\system\WCF;
 
@@ -16,11 +15,6 @@ use wcf\system\WCF;
  * @category   Community Framework
  */
 class DashboardPage extends AbstractPage {
-       /**
-        * @see \wcf\page\AbstractPage::$activeMenuItem
-        */
-       public $activeMenuItem = 'wcf.user.dashboard';
-       
        /**
         * @see \wcf\page\AbstractPage::$neededModules
         */
@@ -31,18 +25,6 @@ class DashboardPage extends AbstractPage {
         */
        public $enableTracking = true;
        
-       /**
-        * @see \wcf\page\IPage::readData()
-        */
-       public function readData() {
-               parent::readData();
-               
-               // remove default breadcrumb entry
-               if (PageMenu::getInstance()->getLandingPage()->menuItem == 'wcf.user.dashboard') {
-                       WCF::getBreadcrumbs()->remove(0);
-               }
-       }
-       
        /**
         * @see \wcf\page\AbstractPage::assignVariables()
         */
index 1630323d1c13c5b104a21ad68b9b73453146512c..db9e807e6e50063e9c12ca57d1c2b5d88508af66 100644 (file)
@@ -121,7 +121,7 @@ class EditHistoryPage extends AbstractPage {
                $this->object = $processor->getObjectByID($this->objectID);
                if (!$this->object->getObjectID()) throw new IllegalLinkException();
                $processor->checkPermissions($this->object);
-               $this->activeMenuItem = $processor->getActivePageMenuItem();
+               //$this->activeMenuItem = $processor->getActivePageMenuItem(); @todo
                $this->object->addBreadcrumbs();
                
                if (isset($_REQUEST['newID']) && !$this->new) {
index 6873bc1a104540e045d9f5fdceb11f038d7e92fa..d20585fedc29076bdea6993f26ab82d6a47acef5 100644 (file)
@@ -20,11 +20,6 @@ use wcf\util\HeaderUtil;
  * @category   Community Framework
  */
 class MembersListPage extends SortablePage {
-       /**
-        * @see \wcf\page\AbstractPage::$activeMenuItem
-        */
-       public $activeMenuItem = 'wcf.user.members';
-       
        /**
         * available letters
         * @var string
index 1b9d0f73e576a885a6607b1bedd542e15243c445..660b6b4710f70ffc2763b6c489e6d67c3a0c0432 100644 (file)
@@ -19,11 +19,6 @@ use wcf\system\WCF;
  * @category   Community Framework
  */
 class RecentActivityListPage extends AbstractPage {
-       /**
-        * @see \wcf\page\AbstractPage::$activeMenuItem
-        */
-       public $activeMenuItem = 'wcf.user.recentActivity';
-       
        /**
         * viewable user activity event list
         * @var \wcf\data\user\activity\event\ViewableUserActivityEventList
index ec26d23534dc7dd32898307791bf1224d6ea4ec9..8ef62db7b46b409f4a987b2d5120b4895bd70f32 100644 (file)
@@ -7,7 +7,6 @@ use wcf\system\breadcrumb\Breadcrumb;
 use wcf\system\event\EventHandler;
 use wcf\system\exception\IllegalLinkException;
 use wcf\system\exception\SystemException;
-use wcf\system\menu\page\PageMenu;
 use wcf\system\request\LinkHandler;
 use wcf\system\search\SearchEngine;
 use wcf\system\WCF;
@@ -105,9 +104,9 @@ class SearchResultPage extends MultipleLinkPage {
                // set active menu item
                if (isset($this->searchData['selectedObjectTypes']) && count($this->searchData['selectedObjectTypes']) == 1) {
                        $objectType = SearchEngine::getInstance()->getObjectType(reset($this->searchData['selectedObjectTypes']));
-                       if (($activeMenuItem = $objectType->getActiveMenuItem())) {
+                       /*if (($activeMenuItem = $objectType->getActiveMenuItem())) { @todo
                                PageMenu::getInstance()->setActiveMenuItem($activeMenuItem);
-                       }
+                       }*/
                }
                
                // add breadcrumbs
index 6f398580ea25619bc37a703f9becd9d0a99b7944..6c9d295927a5d0240ebfa42a1e8e7de569036941 100644 (file)
@@ -17,11 +17,6 @@ use wcf\system\WCF;
  * @category   Community Framework
  */
 class TeamPage extends MultipleLinkPage {
-       /**
-        * @see \wcf\page\AbstractPage::$activeMenuItem
-        */
-       public $activeMenuItem = 'wcf.user.team';
-       
        /**
         * @see \wcf\page\AbstractPage::$neededPermissions
         */
index 5778cd2f0644bcb82389a7244bb63d39cfccc98f..49c7ab034cfd7829bc594f7cfba71ca76e879602 100644 (file)
@@ -28,11 +28,6 @@ use wcf\system\WCF;
  * @category   Community Framework
  */
 class UserPage extends AbstractPage {
-       /**
-        * @see \wcf\page\AbstractPage::$activeMenuItem
-        */
-       public $activeMenuItem = 'wcf.user.members';
-       
        /**
         * @see \wcf\page\AbstractPage::$enableTracking
         */
index 2598b32524f34bff15bbe3abf3062de92334f26d..7c013c47e374a52391466c4e9828ef84f4ca5eb7 100644 (file)
@@ -23,11 +23,6 @@ use wcf\util\HeaderUtil;
  * @category   Community Framework
  */
 class UsersOnlineListPage extends SortablePage {
-       /**
-        * @inheritDoc
-        */
-       public $activeMenuItem = 'wcf.user.usersOnline';
-       
        /**
         * @inheritDoc
         */
diff --git a/wcfsetup/install/files/lib/system/cache/builder/PageMenuCacheBuilder.class.php b/wcfsetup/install/files/lib/system/cache/builder/PageMenuCacheBuilder.class.php
deleted file mode 100644 (file)
index 36c6592..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<?php
-namespace wcf\system\cache\builder;
-use wcf\data\page\menu\item\PageMenuItemList;
-
-/**
- * Caches the page menu items.
- * 
- * @author     Marcel Werk
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.cache.builder
- * @category   Community Framework
- */
-class PageMenuCacheBuilder extends AbstractCacheBuilder {
-       /**
-        * @see \wcf\system\cache\builder\AbstractCacheBuilder::rebuild()
-        */
-       public function rebuild(array $parameters) {
-               $data = array();
-               
-               $menuItemList = new PageMenuItemList();
-               $menuItemList->getConditionBuilder()->add("(page_menu_item.isDisabled = ? OR page_menu_item.isLandingPage = ?)", array(0, 1));
-               $menuItemList->sqlOrderBy = "page_menu_item.showOrder ASC";
-               $menuItemList->readObjects();
-               
-               foreach ($menuItemList as $menuItem) {
-                       $index = ($menuItem->parentMenuItem) ? $menuItem->parentMenuItem : $menuItem->menuPosition;
-                       $data[$index][] = $menuItem;
-               }
-               
-               return $data;
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/menu/page/DefaultPageMenuItemProvider.class.php b/wcfsetup/install/files/lib/system/menu/page/DefaultPageMenuItemProvider.class.php
deleted file mode 100644 (file)
index 9f2c03e..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-namespace wcf\system\menu\page;
-use wcf\data\DatabaseObjectDecorator;
-
-/**
- * Provides default implementations for page menu item providers.
- * 
- * @author     Marcel Werk
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.menu.page
- * @category   Community Framework
- */
-class DefaultPageMenuItemProvider extends DatabaseObjectDecorator implements IPageMenuItemProvider {
-       /**
-        * @see \wcf\data\DatabaseObjectDecorator::$baseClass
-        */
-       protected static $baseClass = 'wcf\data\page\menu\item\PageMenuItem';
-       
-       /**
-        * @see \wcf\system\menu\page\IPageMenuItemProvider::isVisible()
-        */
-       public function isVisible() {
-               return true;
-       }
-       
-       /**
-        * @see \wcf\system\menu\page\IPageMenuItemProvider::getNotifications()
-        */
-       public function getNotifications() {
-               return 0;
-       }
-       
-       /**
-        * @see \wcf\system\menu\page\IPageMenuItemProvider::getLink()
-        */
-       public function getLink() {
-               // explicit call to satisfy our interface
-               return $this->getDecoratedObject()->getLink();
-       }
-}
diff --git a/wcfsetup/install/files/lib/system/menu/page/IPageMenuItemProvider.class.php b/wcfsetup/install/files/lib/system/menu/page/IPageMenuItemProvider.class.php
deleted file mode 100644 (file)
index 9f093f4..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-namespace wcf\system\menu\page;
-use wcf\data\IDatabaseObjectProcessor;
-
-/**
- * Any page menu item provider should implement this interface.
- * 
- * @author     Marcel Werk
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.menu.page
- * @category   Community Framework
- */
-interface IPageMenuItemProvider extends IDatabaseObjectProcessor {
-       /**
-        * Returns true if the associated menu item should be visible for the active user.
-        * 
-        * @return      boolean
-        */
-       public function isVisible();
-       
-       /**
-        * Returns the number of notifications for the associated menu item.
-        * 
-        * @return      integer
-        */
-       public function getNotifications();
-       
-       /**
-        * Returns the href of the associated menu item.
-        * 
-        * @return      string
-        */
-       public function getLink();
-}
diff --git a/wcfsetup/install/files/lib/system/menu/page/PageMenu.class.php b/wcfsetup/install/files/lib/system/menu/page/PageMenu.class.php
deleted file mode 100644 (file)
index a19c065..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<?php
-namespace wcf\system\menu\page;
-use wcf\data\ProcessibleDatabaseObject;
-use wcf\system\cache\builder\PageMenuCacheBuilder;
-use wcf\system\event\EventHandler;
-use wcf\system\exception\SystemException;
-use wcf\system\menu\ITreeMenuItem;
-use wcf\system\menu\TreeMenu;
-
-/**
- * Builds the page menu.
- * 
- * @author     Marcel Werk
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.menu.page
- * @category   Community Framework
- */
-class PageMenu extends TreeMenu {
-       /**
-        * @inheritDoc
-        * @throws      SystemException
-        */
-       protected function init() {
-               // get menu items from cache
-               $this->loadCache();
-               
-               // check menu items
-               $this->checkMenuItems('header');
-               $this->checkMenuItems('footer');
-               
-               // build plain menu item list
-               $this->buildMenuItemList('header');
-               $this->buildMenuItemList('footer');
-               
-               // call init event
-               EventHandler::getInstance()->fireAction($this, 'init');
-       }
-       
-       /**
-        * @inheritDoc
-        */
-       protected function loadCache() {
-               parent::loadCache();
-               
-               // get cache
-               $this->menuItems = PageMenuCacheBuilder::getInstance()->getData();
-       }
-       
-       /**
-        * @inheritDoc
-        */
-       protected function checkMenuItem(ITreeMenuItem $item) {
-               if (!parent::checkMenuItem($item)) return false;
-               
-               if ($item instanceof ProcessibleDatabaseObject && $item->getProcessor() instanceof IPageMenuItemProvider) {
-                       return $item->getProcessor()->isVisible();
-               }
-               
-               return true;
-       }
-       
-       /**
-        * @inheritDoc
-        */
-       public function setActiveMenuItem($menuItem) {
-               if (isset($this->menuItemList[$menuItem]) && $this->menuItemList[$menuItem]->menuPosition == 'footer') {
-                       // ignore footer items
-                       return;
-               }
-               
-               parent::setActiveMenuItem($menuItem);
-       }
-}
index 0fb8d7a9b518fb79845c2b3bdb61eb866d2463d0..8a13b286d7987ab6e40dd2d1a1783c1af93c29ee 100644 (file)
@@ -2,7 +2,6 @@
 namespace wcf\system\menu\user;
 use wcf\data\ProcessibleDatabaseObject;
 use wcf\system\cache\builder\UserMenuCacheBuilder;
-use wcf\system\menu\page\IPageMenuItemProvider;
 use wcf\system\menu\ITreeMenuItem;
 use wcf\system\menu\TreeMenu;
 
@@ -32,9 +31,9 @@ class UserMenu extends TreeMenu {
        protected function checkMenuItem(ITreeMenuItem $item) {
                if (!parent::checkMenuItem($item)) return false;
                
-               if ($item instanceof ProcessibleDatabaseObject && $item->getProcessor() instanceof IPageMenuItemProvider) {
+               /*if ($item instanceof ProcessibleDatabaseObject && $item->getProcessor() instanceof IPageMenuItemProvider) { @todo
                        return $item->getProcessor()->isVisible();
-               }
+               }*/
                
                return true;
        }
diff --git a/wcfsetup/install/files/lib/system/package/plugin/PageMenuPackageInstallationPlugin.class.php b/wcfsetup/install/files/lib/system/package/plugin/PageMenuPackageInstallationPlugin.class.php
deleted file mode 100644 (file)
index ea2f337..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-<?php
-namespace wcf\system\package\plugin;
-use wcf\data\page\menu\item\PageMenuItemEditor;
-use wcf\system\database\util\PreparedStatementConditionBuilder;
-use wcf\system\exception\SystemException;
-use wcf\system\WCF;
-
-/**
- * Installs, updates and deletes page page menu items.
- * 
- * @author     Marcel Werk
- * @copyright  2001-2015 WoltLab GmbH
- * @license    GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package    com.woltlab.wcf
- * @subpackage system.package.plugin
- * @category   Community Framework
- */
-class PageMenuPackageInstallationPlugin extends AbstractMenuPackageInstallationPlugin {
-       /**
-        * @see \wcf\system\package\plugin\AbstractXMLPackageInstallationPlugin::$className
-        */
-       public $className = 'wcf\data\page\menu\item\PageMenuItemEditor';
-       
-       /**
-        * @see \wcf\system\package\plugin\AbstractXMLPackageInstallationPlugin::prepareImport()
-        */
-       protected function prepareImport(array $data) {
-               $result = parent::prepareImport($data);
-               
-               // position
-               $result['menuPosition'] = (!empty($data['elements']['position']) && $data['elements']['position'] == 'footer') ? 'footer' : 'header';
-               
-               // 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");
-               }
-               
-               $result['originIsSystem'] = 1;
-               
-               return $result;
-       }
-       
-       /**
-        * @see \wcf\system\package\plugin\AbstractXMLPackageInstallationPlugin::cleanup()
-        */
-       protected function cleanup() {
-               PageMenuItemEditor::updateLandingPage();
-       }
-       
-       /**
-        * @see \wcf\system\package\plugin\AbstractXMLPackageInstallationPlugin::import()
-        */
-       protected function import(array $row, array $data) {
-               if (!empty($row)) {
-                       // ignore show order if null
-                       if ($data['showOrder'] === null) {
-                               unset($data['showOrder']);
-                       }
-                       else if ($data['showOrder'] != $row['showOrder']) {
-                               $data['showOrder'] = $this->getMenuItemPosition($data);
-                       }
-               }
-               else {
-                       $data['showOrder'] = $this->getMenuItemPosition($data);
-               }
-               
-               parent::import($row, $data);
-       }
-       
-       /**
-        * @see \wcf\system\package\plugin\AbstractXMLPackageInstallationPlugin::getShowOrder()
-        */
-       protected function getShowOrder($showOrder, $parentName = null, $columnName = null, $tableNameExtension = '') {
-               // will be recalculated anyway
-               return $showOrder;
-       }
-       
-       /**
-        * Returns menu item position.
-        * 
-        * @param       array           $data
-        * @return      integer
-        */
-       protected function getMenuItemPosition(array $data) {
-               if ($data['showOrder'] === null) {
-                       // get greatest showOrder value
-                       $conditions = new PreparedStatementConditionBuilder();
-                       $conditions->add("menuPosition = ?", array($data['menuPosition']));
-                       if ($data['parentMenuItem']) $conditions->add("parentMenuItem = ?", array($data['parentMenuItem']));
-                       
-                       $sql = "SELECT  MAX(showOrder) AS showOrder
-                               FROM    wcf".WCF_N."_".$this->tableName."
-                               ".$conditions;
-                       $statement = WCF::getDB()->prepareStatement($sql);
-                       $statement->execute($conditions->getParameters());
-                       $maxShowOrder = $statement->fetchArray();
-                       return (!$maxShowOrder) ? 1 : ($maxShowOrder['showOrder'] + 1);
-               }
-               else {
-                       // increase all showOrder values which are >= $showOrder
-                       $sql = "UPDATE  wcf".WCF_N."_".$this->tableName."
-                               SET     showOrder = showOrder + 1
-                               WHERE   showOrder >= ?
-                                       AND menuPosition = ?
-                                       AND parentMenuItem = ".($data['parentMenuItem'] ? "?" : "''");
-                       $statement = WCF::getDB()->prepareStatement($sql);
-                       
-                       $parameters = array(
-                               $data['showOrder'],
-                               $data['menuPosition']
-                       );
-                       if ($data['parentMenuItem']) $parameters[] = $data['parentMenuItem'];
-                       
-                       $statement->execute($parameters);
-                       
-                       // return the wanted showOrder level
-                       return $data['showOrder'];
-               }
-       }
-}
index ba6f6e224fc3b2118a8819a9462f12d2e8beb6a6..58c6a6defe59ba23ed107dda95109f83a4a878a3 100644 (file)
@@ -1,6 +1,5 @@
 <?php
 namespace wcf\system\request;
-use wcf\system\menu\page\PageMenu;
 
 /**
  * Flexible route implementation to resolve HTTP requests.
@@ -133,7 +132,9 @@ class FlexibleRoute implements IRoute {
                        $ignoreController = false;
                        
                        if (!RequestHandler::getInstance()->isACPRequest()) {
-                               $landingPage = PageMenu::getInstance()->getLandingPage();
+                               // TODO
+                               //$landingPage = PageMenu::getInstance()->getLandingPage();
+                               $landingPage = null;
                                
                                // check if this is the default controller
                                if (strcasecmp(RouteHandler::getInstance()->getDefaultController($application), $components['controller']) === 0) {
index 8e77ba2da9d7914992a371154b65e7c3413543c0..c6bc115f5b4f6dbe998523918d7d735d1779e451 100644 (file)
@@ -3,7 +3,6 @@ namespace wcf\system\request;
 use wcf\data\DatabaseObjectDecorator;
 use wcf\system\application\ApplicationHandler;
 use wcf\system\language\LanguageFactory;
-use wcf\system\menu\page\PageMenu;
 use wcf\system\Regex;
 use wcf\system\SingletonFactory;
 use wcf\system\WCF;
index 883690a14e289dc3721bdb7467c61c3497244c38..3e5eccc35d17a4ff7a9371294688786bb0070ab5 100644 (file)
@@ -2,7 +2,6 @@
 namespace wcf\system\request;
 use wcf\system\application\ApplicationHandler;
 use wcf\system\exception\SystemException;
-use wcf\system\menu\page\PageMenu;
 use wcf\system\WCF;
 
 /**
@@ -276,10 +275,11 @@ class Route implements IRoute {
                                $ignoreController = true;
                        }
                        else if (!RequestHandler::getInstance()->isACPRequest()) {
+                               /* TODO:
                                $landingPage = PageMenu::getInstance()->getLandingPage();
                                if ($landingPage !== null && strcasecmp($landingPage->getController(), $components['controller']) == 0) {
                                        $ignoreController = true;
-                               }
+                               }*/
                                
                                // check if this is the default controller of the requested application
                                /*
index 43a980866c6de09150271d149f7a64c04fbb217c..e4801016b86ab856ee435a3ddd38f590ae95bda0 100644 (file)
                <item name="wcf.acp.menu.link.package.install"><![CDATA[Paket installieren]]></item>
                <item name="wcf.acp.menu.link.package.server.list"><![CDATA[Paket-Server]]></item>
                <item name="wcf.acp.menu.link.package.list"><![CDATA[Pakete]]></item>
-               <item name="wcf.acp.menu.link.pageMenu"><![CDATA[Seitenmenü]]></item>
-               <item name="wcf.acp.menu.link.pageMenu.add"><![CDATA[Menüpunkt hinzufügen]]></item>
-               <item name="wcf.acp.menu.link.pageMenu.list"><![CDATA[Menüpunkte]]></item>
                <item name="wcf.acp.menu.link.style"><![CDATA[Stile]]></item>
                <item name="wcf.acp.menu.link.style.add"><![CDATA[Stil hinzufügen]]></item>
                <item name="wcf.acp.menu.link.style.import"><![CDATA[Stil importieren]]></item>
@@ -1262,35 +1259,6 @@ GmbH=Gesellschaft mit beschränkter Haftung]]></item>
                <item name="wcf.acp.paidSubscription.delete.confirmMessage"><![CDATA[Wollen Sie die bezahlte Mitgliedschaft „{$subscription->title|language}“ wirklich löschen?]]></item>
        </category>
        
-       <category name="wcf.acp.pageMenu">
-               <item name="wcf.acp.pageMenu.add"><![CDATA[Menüpunkt hinzufügen]]></item>
-               <item name="wcf.acp.pageMenu.advanced"><![CDATA[Erweitert]]></item>
-               <item name="wcf.acp.pageMenu.data"><![CDATA[Allgemein]]></item>
-               <item name="wcf.acp.pageMenu.delete.sure"><![CDATA[Wollen Sie den Menüpunkt „{$__menuItem}“ und alle Untermenüpunkte wirklich löschen?]]></item>
-               <item name="wcf.acp.pageMenu.edit"><![CDATA[Menüpunkt bearbeiten]]></item>
-               <item name="wcf.acp.pageMenu.footer"><![CDATA[Fußzeile]]></item>
-               <item name="wcf.acp.pageMenu.header"><![CDATA[Hauptmenü]]></item>
-               <item name="wcf.acp.pageMenu.isDisabled"><![CDATA[Menüpunkt deaktivieren]]></item>
-               <item name="wcf.acp.pageMenu.landingPage.description"><![CDATA[Sie können mittels Sortierung die Startseite Ihrer Website festlegen, es wird immer der erste Eintrag aus dem Hauptmenü verwendet.]]></item>
-               <item name="wcf.acp.pageMenu.link"><![CDATA[Link]]></item>
-               <item name="wcf.acp.pageMenu.link.external"><![CDATA[Externer Link]]></item>
-               <item name="wcf.acp.pageMenu.link.internal"><![CDATA[Interner Link]]></item>
-               <item name="wcf.acp.pageMenu.list"><![CDATA[Menüpunkte auflisten]]></item>
-               <item name="wcf.acp.pageMenu.menuItemController"><![CDATA[Controller]]></item>
-               <item name="wcf.acp.pageMenu.menuItemController.description"><![CDATA[Sollte die gewünschte Seite in der obigen Auswahl nicht vorhanden sein, können Sie manuell den entsprechenden Controller angeben. Bitte geben Sie dabei den vollständigen Klassennamen inklusive Namespace an, zum Beispiel „wcf\page\DashboardPage“.]]></item>
-               <item name="wcf.acp.pageMenu.menuItemController.error.notValid"><![CDATA[Die angegebene Klasse konnte nicht gefunden werden]]></item>
-               <item name="wcf.acp.pageMenu.menuItemLink"><![CDATA[Link]]></item>
-               <item name="wcf.acp.pageMenu.menuPosition"><![CDATA[Position]]></item>
-               <item name="wcf.acp.pageMenu.menuPosition.footer"><![CDATA[Fußzeile]]></item>
-               <item name="wcf.acp.pageMenu.menuPosition.header"><![CDATA[Hauptmenü]]></item>
-               <item name="wcf.acp.pageMenu.pageMenuItem"><![CDATA[Name]]></item>
-               <item name="wcf.acp.pageMenu.parentMenuItem"><![CDATA[Übergeordneter Menüpunkt]]></item>
-               <item name="wcf.acp.pageMenu.showOrder"><![CDATA[Reihenfolge]]></item>
-               <item name="wcf.acp.pageMenu.menuItemParameters"><![CDATA[Parameter]]></item>
-               <item name="wcf.acp.pageMenu.menuItemPage"><![CDATA[Seite]]></item>
-               <item name="wcf.acp.pageMenu.menuItemPage.description"><![CDATA[Wählen Sie die interne Seite aus, die Sie verlinken möchten.]]></item>
-       </category>
-       
        <category name="wcf.acp.pluginStore">
                <item name="wcf.acp.pluginStore.api.error"><![CDATA[Fehler {@$status}: Der Server konnte die Anfrage nicht erfolgreich bearbeiten.]]></item>
                <item name="wcf.acp.pluginStore.api.noSSL"><![CDATA[Die Abfrage der erworbenen Produkte aus dem Plugin-Store kann nur über eine sichere Verbindung erfolgen.<br /><br />Ihre PHP-Version wurde ohne Unterstützung für OpenSSL kompiliert und kann daher keine sicheren Verbindungen aufbauen, bitte wenden Sie sich an Ihren Anbieter oder System-Administrator um diesen Umstand zu korrigieren.]]></item>
index e5730ed2d0dd469602627599ac6bc5c3f5e43157..2ee2c72b4d4808844de4a76c04ceadadf1142b66 100644 (file)
@@ -580,9 +580,6 @@ Examples for medium ID detection:
                <item name="wcf.acp.menu.link.package.install"><![CDATA[Install Package]]></item>
                <item name="wcf.acp.menu.link.package.server.list"><![CDATA[Package Servers]]></item>
                <item name="wcf.acp.menu.link.package.list"><![CDATA[Packages]]></item>
-               <item name="wcf.acp.menu.link.pageMenu"><![CDATA[Page Menu]]></item>
-               <item name="wcf.acp.menu.link.pageMenu.add"><![CDATA[Add Menu Item]]></item>
-               <item name="wcf.acp.menu.link.pageMenu.list"><![CDATA[Menu Items]]></item>
                <item name="wcf.acp.menu.link.style"><![CDATA[Styles]]></item>
                <item name="wcf.acp.menu.link.style.add"><![CDATA[Add Style]]></item>
                <item name="wcf.acp.menu.link.style.import"><![CDATA[Import Style]]></item>
@@ -1260,35 +1257,6 @@ GmbH=Gesellschaft mit beschränkter Haftung]]></item>
                <item name="wcf.acp.paidSubscription.delete.confirmMessage"><![CDATA[Do you really want to delete the paid subscription “{$subscription->title|language}”?]]></item>
        </category>
        
-       <category name="wcf.acp.pageMenu">
-               <item name="wcf.acp.pageMenu.add"><![CDATA[Add Menu Item]]></item>
-               <item name="wcf.acp.pageMenu.advanced"><![CDATA[Advanced]]></item>
-               <item name="wcf.acp.pageMenu.data"><![CDATA[General]]></item>
-               <item name="wcf.acp.pageMenu.delete.sure"><![CDATA[Do you really want to delete the menu item “{$__menuItem}” and all its descendants?]]></item>
-               <item name="wcf.acp.pageMenu.edit"><![CDATA[Edit Menu Item]]></item>
-               <item name="wcf.acp.pageMenu.footer"><![CDATA[Footer]]></item>
-               <item name="wcf.acp.pageMenu.header"><![CDATA[Header]]></item>
-               <item name="wcf.acp.pageMenu.isDisabled"><![CDATA[Disable menu item]]></item>
-               <item name="wcf.acp.pageMenu.landingPage.description"><![CDATA[The first menu item is always the website’s landing page, sort items to change it.]]></item>
-               <item name="wcf.acp.pageMenu.link"><![CDATA[Link]]></item>
-               <item name="wcf.acp.pageMenu.link.external"><![CDATA[External link]]></item>
-               <item name="wcf.acp.pageMenu.link.internal"><![CDATA[Internal link]]></item>
-               <item name="wcf.acp.pageMenu.list"><![CDATA[List Menu Items]]></item>
-               <item name="wcf.acp.pageMenu.menuItemController"><![CDATA[Controller]]></item>
-               <item name="wcf.acp.pageMenu.menuItemController.description"><![CDATA[If a page is not available in the selection above, you can enter the related controller manually. Enter the PHP class name including namespace, e.g. “wcf\page\DashboardPage”.]]></item>
-               <item name="wcf.acp.pageMenu.menuItemController.error.notValid"><![CDATA[Unable to find the provided class name]]></item>
-               <item name="wcf.acp.pageMenu.menuItemLink"><![CDATA[Link]]></item>
-               <item name="wcf.acp.pageMenu.menuPosition"><![CDATA[Position]]></item>
-               <item name="wcf.acp.pageMenu.menuPosition.footer"><![CDATA[Footer]]></item>
-               <item name="wcf.acp.pageMenu.menuPosition.header"><![CDATA[Header]]></item>
-               <item name="wcf.acp.pageMenu.pageMenuItem"><![CDATA[Title]]></item>
-               <item name="wcf.acp.pageMenu.parentMenuItem"><![CDATA[Parent Menu Item]]></item>
-               <item name="wcf.acp.pageMenu.showOrder"><![CDATA[Display Order]]></item>
-               <item name="wcf.acp.pageMenu.menuItemParameters"><![CDATA[Parameters]]></item>
-               <item name="wcf.acp.pageMenu.menuItemPage"><![CDATA[Page]]></item>
-               <item name="wcf.acp.pageMenu.menuItemPage.description"><![CDATA[Choose the internal page you want to link.]]></item>
-       </category>
-       
        <category name="wcf.acp.pluginStore">
                <item name="wcf.acp.pluginStore.api.error"><![CDATA[Error {@$status}: The server was unable to process your request.]]></item>
                <item name="wcf.acp.pluginStore.api.noSSL"><![CDATA[Querying the Plugin-Store to fetch the purchased products requires a secure connection.<br /><br />Your PHP version has been compiled without OpenSSL support required to establish secure connections, please contact your hosting company or system-administrator to resolve this shortcoming.]]></item>
index 6eb26c6b2cb0f2eda719b437586f5c65a9d1753a..fd012e4fb6e3c12de57b938447b9092bce361612 100644 (file)
@@ -935,25 +935,6 @@ CREATE TABLE wcf1_page_content (
        UNIQUE KEY (pageID, languageID)
 );
 
-DROP TABLE IF EXISTS wcf1_page_menu_item;
-CREATE TABLE wcf1_page_menu_item (
-       menuItemID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
-       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,
-       permissions TEXT NULL,
-       options TEXT NULL,
-       isDisabled TINYINT(1) NOT NULL DEFAULT 0,
-       className VARCHAR(255) NOT NULL DEFAULT '',
-       isLandingPage TINYINT(1) NOT NULL DEFAULT 0,
-       originIsSystem TINYINT(1) NOT NULL DEFAULT 0,
-       UNIQUE KEY (packageID, menuItem)
-);
-
 DROP TABLE IF EXISTS wcf1_paid_subscription;
 CREATE TABLE wcf1_paid_subscription (
        subscriptionID INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
@@ -1766,8 +1747,6 @@ ALTER TABLE wcf1_page ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packa
 ALTER TABLE wcf1_page_content ADD FOREIGN KEY (pageID) REFERENCES wcf1_page (pageID) ON DELETE CASCADE;
 ALTER TABLE wcf1_page_content ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE CASCADE;
 
-ALTER TABLE wcf1_page_menu_item ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
-
 ALTER TABLE wcf1_search ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;
 
 ALTER TABLE wcf1_session ADD FOREIGN KEY (userID) REFERENCES wcf1_user (userID) ON DELETE CASCADE;